Skip to content

Option to Always Highlight?

I'm likely very wrong, and I'm not finding it in the other EE games now that I've looked, but I would have sworn there was an option to always highlight (like always pressing down Tab) interactive objects and NPCs. Anyhow, if it exists even, I'm not finding it now and would greatly appreciate it if anyone could point me to the option. If the option doesn't exist (for any EE game), this is something that I'd love to see added. I'm also not seeing the option to remap the key from Tab anywhere. Thank you in advance for any suggestions.

Comments

  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,753
    There is a button available if you use the "Tablet UI" option to have creatures / objects always highlighted.
  • JidokwonJidokwon Member Posts: 395
    @JuliusBorisov: Thank you for this! I never considered checking this on my EE PC games, as I thought it would blow up my computer or worse. It's a godsend just for the option to always highlight. At a quick glance, I'm not seeing any downsides to using it on PC. Other than the very small arrow UI (when minimized) are there any cons that I'm missing to using checking "Tablet UI" in a PC game?
  • Wulf2kWulf2k Member Posts: 27
    I'm not sure what else tablet mode will do, but if you enable debug mode you can hit ctrl-4 to highlight all interactive objects.

    Instructions here for the GOG-version, not sure if it lines up with the Steam version yet - https://www.gog.com/forum/planescape_torment/potentially_interesting_exe_edits
  • JidokwonJidokwon Member Posts: 395
    @Wulf2k: Thank you for that. Do you know if that CTRL+4 option highlights *all* interactive objects, including unknown traps and triggers, or just the objects/NPC names normally seen by holding Tab down? I'm using the "Tablet UI" checked and not seeing any real downside to it. I might edit the .exe at some point, as I haven't found the .ini file yet, but probably only if I get desperate. If I do end up editing the .exe file, I'm hoping that it *won't* highlight the unknown objects that pressing Tab wouldn't show.
  • Wulf2kWulf2k Member Posts: 27
    edited April 2017
    That's an excellent question. I haven't had much of a chance to play yet, was just poking at the EXE over lunch while at work.

    Can you think of any areas with an example of what you're worried about, and I can check it out for you?

    Edit: For what it's worth, in the starting area I only noticed it highlighting the stuff that tab would show, but I wasn't keeping a close eye for unexpected highlights.

    Edit 2: I suppose it should also be a fairly easy thing to hold tab, see what it toggles, and then modify the EXE to always just assume that's toggled.... Probably a waste of time if ctrl-4 does what you need though.
  • argent77argent77 Member Posts: 3,474
    First of all, DON'T hack the game executable. It might work now (on Windows), but most likely not anymore after the next game patch.

    Instead, add the following line to the baldur.lua:
    SetPrivateProfileString('Program Options','Debug Mode','1')
    You can find the file in "Documents/Planescape Torment - Enhanced Edition".

    This option allows you to enable the debug console (via Ctrl+Space) as well as many other shortcuts (such as Ctrl+4 to highlight interactive regions, or Ctrl+J to teleport selected party members across the map). You can find a more complete list here.
  • JidokwonJidokwon Member Posts: 395
    @JuliusBorisov: Is it intended that the Reveal Details option toggles off every time I open the inventory, map, spell books, etc?

    @Wulf2k: As I haven't found a way to *always* highlight interactive objects and NPCs yet, I'm going to try editing the exe. earlier rather than later.
    The first place that I can think of a hidden object being, perhaps, is the portal out in the Mortuary, but that would likely only remain hidden if the party didn't have the location and finger bone. The portal to the Mausoleum might be another. And certainly traps within the Mausoleum. I forget what the Cheat Key is in other EE games to highlight *everything*, but I'm hoping to just highlight what pressing Tab would show. Thanks again.
  • Wulf2kWulf2k Member Posts: 27
    edited April 2017
    argent77 said:

    First of all, DON'T hack the game executable. It might work now (on Windows), but most likely not anymore after the next game patch.

    Instead, add the following line to the baldur.lua:
    SetPrivateProfileString('Program Options','Debug Mode','1')
    You can find the file in "Documents/Planescape Torment - Enhanced Edition".

    Sure, I guess... If you want to ask the game nicely for permission to use the console. ;)

    Handy reference at that link. Any idea if there's something similar explaining what developer mode does?


    Edit: Also... I'm really curious what 'Program Options', 'Cucumber', '1' enables....
  • AncientCowboyAncientCowboy Member Posts: 199
    @jidokwon - Check in the directory that contains your save (game save) directory (Documents\Planescape Torment - Enhanced Edition on my Win 10 machine). You should find a file named Baldur.lua. This serves the same purpose as the old .ini files that became artifacts as of Extended Edition 2.x of IE from Beamdog. Same function, different format.
  • JidokwonJidokwon Member Posts: 395
    @argent77 and @AncientCowboy: Shamefully, it had been long enough that I had forgotten where the .lua. file was. Thanks to both of you.

    Triple bonus points for any developer that adds an *always on* option for revealing details.
  • argent77argent77 Member Posts: 3,474
    Wulf2k said:

    Edit: Also... I'm really curious what 'Program Options', 'Cucumber', '1' enables....

    I don't really want to know.
  • JidokwonJidokwon Member Posts: 395
    CTRL+4 did as I feared...it reveals all scripted objects, such as hidden traps and the ? that you'd click to examine an object, but it doesn't highlight interactive objects like containers and NPCs at all. If I select the Tablet UI option, then select Reveal Details, it acts like holding Tab down normally does, but it toggles off every time I open the inventory, map, spell books, options, etc.
  • Wulf2kWulf2k Member Posts: 27
    Jidokwon, if you're interested and slightly patient, later tonight I'll try a more advanced EXE edit to fake tab being held. Should be a simple reversal of a "cmp 01" instruction, assuming I can track it down.

    I also realize that EXE editing is far from the best way to modify a game that touts modability, so anybody with a better solution feel free to jump in before I waste my time.
  • JidokwonJidokwon Member Posts: 395
    @Wulf2k: I appreciate it, but don't spend too much time with it, please. I just put a request in for the idea at the Feature Requests page. My hope is that the powers that be might add an .LUA. file line for it, if not add the option to the in game menu or UI. Thanks again.
  • Wulf2kWulf2k Member Posts: 27
    Yeah, I'm not gonna burn myself out on it by any means, but it seems like a simple enough goal to set myself while figuring out the game's internals.

    If I get bored/sidetracked/assaulted by ninjas and don't finish, I guarantee you a full refund for my services.
  • Wulf2kWulf2k Member Posts: 27
    edited April 2017
    Hex editor, back up torment.exe, then edit.

    Force item highlighting
    Offset 0x002CE750
    Original ASM = 8B 81 10 0B 00 00 = mov eax,[ecx+0B10]
    Modified ASM = B8 01 00 00 00 90 = mov eax, 01

    This is the same highlight that one would achieve by holding tab. Instead of returning the proper value of "Should I highlight" it returns "yes".
  • IllydthIllydth Member, Developer Posts: 1,641
    Jidokwon said:

    @Wulf2k: Thank you for that. Do you know if that CTRL+4 option highlights *all* interactive objects, including unknown traps and triggers, or just the objects/NPC names normally seen by holding Tab down? I'm using the "Tablet UI" checked and not seeing any real downside to it. I might edit the .exe at some point, as I haven't found the .ini file yet, but probably only if I get desperate. If I do end up editing the .exe file, I'm hoping that it *won't* highlight the unknown objects that pressing Tab wouldn't show.

    Ctrl-4 highlights everything including floor triggers, traps, etc. I would not recommend playing using Ctrl-4, it's intended as debug functionality and will ABSOLTUELY spoil the game for you...at best.
  • IllydthIllydth Member, Developer Posts: 1,641
    Wulf2k said:

    argent77 said:

    First of all, DON'T hack the game executable. It might work now (on Windows), but most likely not anymore after the next game patch.

    Instead, add the following line to the baldur.lua:
    SetPrivateProfileString('Program Options','Debug Mode','1')
    You can find the file in "Documents/Planescape Torment - Enhanced Edition".

    Sure, I guess... If you want to ask the game nicely for permission to use the console. ;)

    Handy reference at that link. Any idea if there's something similar explaining what developer mode does?


    Edit: Also... I'm really curious what 'Program Options', 'Cucumber', '1' enables....
    Cucumber is a test suite application that likely runs cucumber tests in our continuous build farm.

    https://cucumber.io/

    In other words, it wouldn't do anything for you.

    There was also a mention of "developer mode" which I am making the ASSUMPTION is not it's own string in the LUA file but means "debug mode"?

    Debug mode is a standard Infinity Engine thing that's in pretty much every IE game in existence (somewhat surprisingly enough NOT PST the original, but the EE does indeed implement it which makes the EE a LOT easier to fix something if it goes wrong).

    I also STRONGLY recommend against hacking the executable.

    * Every patch that gets pushed in the future for PST:EE will invalidate/overwrite the modified exec.
    * Any time you use a "file check" you're going to get this file returned as corrupted and will want to be re-downloaded.
    * Obviously we cannot support any issues happening to a game running a hacked executable. While this looks innocent enough, there get to be way to many "one off" issues we experience not to point a finger at anything that's not 100% pure. This is why the first question we ask is 'do you have any mods installed'.
    * Not that anyone's going to take you to court over it but I'm pretty sure hacking the exec is against Beamdog TOS. :)

    You should be able to turn on the tablet UI and press the "hints" button and just leave that toggled down the entire time.

    Are you suggesting that there are events that automatically "toggle up" the hints button?
  • Wulf2kWulf2k Member Posts: 27
    Illydth said:


    Cucumber is a test suite application that likely runs cucumber tests in our continuous build farm.

    https://cucumber.io/

    In other words, it wouldn't do anything for you.

    Neat.
    Illydth said:

    There was also a mention of "developer mode" which I am making the ASSUMPTION is not it's own string in the LUA file but means "debug mode"?

    Nope, completely separate from debug mode.

    String for it is at 0x515734 in the EXE, tucked between Debug Mode and UI Edit Mode.

    Enabled by changing 0x1012BD from a 0 to a 1 to have the game push true on the stack when setting it at startup.
    Illydth said:

    I also STRONGLY recommend against hacking the executable.

    * Every patch that gets pushed in the future for PST:EE will invalidate/overwrite the modified exec.
    * Any time you use a "file check" you're going to get this file returned as corrupted and will want to be re-downloaded.
    * Obviously we cannot support any issues happening to a game running a hacked executable. While this looks innocent enough, there get to be way to many "one off" issues we experience not to point a finger at anything that's not 100% pure. This is why the first question we ask is 'do you have any mods installed'.

    All quite true. Editing the EXE is not for the faint of heart. I give no disclaimer because I assume anybody that's capable of editing the EXE when given an offset and a value understands these things. Anybody that acts confused would get the lecture and steered away from it.

    That being said, in a game that's touted for it's modability, I'm not about to tiptoe around original developer intentions. I will definitely do my best not to make their lives more difficult, but they don't get to put up a big "hack our game" sign and then say certain parts are off-limits.

    ...Well, I guess they can say it, but it would be a little bit weird.
    Illydth said:

    * Not that anyone's going to take you to court over it but I'm pretty sure hacking the exec is against Beamdog TOS. :)

    Beamdog provides me with no service that can have terms attached. They can easily kick me off their forums, but that holds no legal bearing on whether or not I can edit the EXE.

    I apologize if any of the above came off as hostile. That wasn't my intention.

    I'm a tinkerer. I open things up, see how they work, and then poke at them until they do what I want.

    I'm passionate about this.

    Thus far, I've spent 0 hours playing the game and several hours hacking away at it. If Beamdog wants to tell me that this is unacceptable behaviour, then I suppose that's just as much their right to say so as it is my right to continue doing it.
    Illydth said:

    You should be able to turn on the tablet UI and press the "hints" button and just leave that toggled down the entire time.

    Are you suggesting that there are events that automatically "toggle up" the hints button?

    Yup. I haven't actually tested it myself, but he's not the first to report it.
  • taclanetaclane Member, Mobile Tester Posts: 364
    Wulf2k said:

    I apologize if any of the above came off as hostile. That wasn't my intention.

    I'm a tinkerer. I open things up, see how they work, and then poke at them until they do what I want.

    I'm passionate about this.

    I don't think you came off as hostile or anything, but normally people start off with a Greetings! post in the "New Members" forum before going strong on the technical stuff. :tongue:

    Anyhow, welcome to the forums! Developers may make the games, but fans make them special.

    [ Also, your first post on Beamdog's forums explaining how to swap their logo for the old BIS intro may not have been received too kindly around here... Enthusiasm is awesome, but, uh, know your audience ;) ]
  • JidokwonJidokwon Member Posts: 395
    @Illydth: If the "Hints" that your talking about is the Reveal Details feature that is only included with the Tablet Interface, I don't think that it is working as intended currently. Right now, it toggles off every time I open the inventory, spell books, options, map, and such. I'm not 100% certain that it's a bug, though, so I put in a feature request ticket.

    @Wulf2k: I'm really hesitant to edit the EXE, but thank you for providing the option for this fix.
  • Wulf2kWulf2k Member Posts: 27
    taclane said:

    I don't think you came off as hostile or anything, but normally people start off with a Greetings! post in the "New Members" forum before going strong on the technical stuff. :tongue:

    But then they'd be expecting me.... :o
    taclane said:

    Anyhow, welcome to the forums! Developers may make the games, but fans make them special.

    Thankee, glad to be here.
    taclane said:

    [ Also, your first post on Beamdog's forums explaining how to swap their logo for the old BIS intro may not have been received too kindly around here... Enthusiasm is awesome, but, uh, know your audience ;) ]

    Heh. It would be fair to say that was me testing the waters a bit.

    I'd expected it to prompt at least a small discussion, but since it was both an EXE edit and a controversial one at that, the fact that my account wasn't immediately nuked boded well.
  • elminsterelminster Member, Developer Posts: 16,317
    edited April 2017
    Jidokwon said:

    @Illydth: If the "Hints" that your talking about is the Reveal Details feature that is only included with the Tablet Interface, I don't think that it is working as intended currently. Right now, it toggles off every time I open the inventory, spell books, options, map, and such. I'm not 100% certain that it's a bug, though, so I put in a feature request ticket.

    Noticed that early this morning myself. So there is a bug ticket now for it.
  • Wulf2kWulf2k Member Posts: 27
    Jidokwon said:

    @Wulf2k: I'm really hesitant to edit the EXE, but thank you for providing the option for this fix.

    I can walk you through it if you'd like.

    After the discussion in this thread I'll assume you're aware of people's concerns, but as long as you back up the EXE you really can't mess much up. Just be aware that it'll undo itself at the next patch, which is really ideal anyway.
  • ZuTheSkunkZuTheSkunk Member Posts: 19
    Wulf2k said:

    Hex editor, back up torment.exe, then edit.

    Force item highlighting
    Offset 0x002CE750
    Original ASM = 8B 81 10 0B 00 00 = mov eax,[ecx+0B10]
    Modified ASM = B8 01 00 00 00 90 = mov eax, 01

    This is the same highlight that one would achieve by holding tab. Instead of returning the proper value of "Should I highlight" it returns "yes".

    Thanks, this seems to work just fine. :)

    One question, how do I do the same thing in Baldur's Gate 1 EE?
  • Wulf2kWulf2k Member Posts: 27

    One question, how do I do the same thing in Baldur's Gate 1 EE?

    The following assumes the engine for this game is similar enough to BGEE for the same method to work.

    Download and install Cheat Engine. Set up some hotkeys to next scan exact and next scan changed.

    Get in-game and do a single-byte search on non-executable memory for the number 0. There'll be millions.

    Type "1" into the search box but don't search. Alt-tab to the game, hold tab so everything is highlight, then scan exact. Release tab, scan changed. Tab, scan exact. Repeat that a bunch of times until you're left with 30ish values that all change from 0 to 1 when you're holding tab.

    Picking out which is the real value is more of an art than a science, but if you manually change each of those values from 0 to 1 while not holding tab, eventually everything will highlight on your screen like you were holding tab.

    Right click that entry, browse to the memory location, then set a "break on access" breakpoint on it.

    CE will most likely break on the instruction 'after' it is read, so scroll one instruction up. Write down the address of this instruction so you can get back to it quickly if you fuck it up and your computer explodes.

    This instruction will be something like my previous post says, "mov eax, [ecx + some number]". We don't want it to load the real number from that address, we want it to always think tab is held. So click on that instruction and hit 'g', erase anything in the box that appears, then type the following asm into the box: mov eax, 01

    Confirm that does what you want it to do. Voila, you've now done it... In memory. It'll be lost when you quit the game.

    If you get that far let me know and we can edit the EXE itself. Feel free to ask for more help if my gibberish above doesn't help.
Sign In or Register to comment.