Option to Always Highlight?
Jidokwon
Member Posts: 405
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.
0
Comments
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
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.
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.
@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.
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....
Triple bonus points for any developer that adds an *always on* option for revealing details.
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.
If I get bored/sidetracked/assaulted by ninjas and don't finish, I guarantee you a full refund for my services.
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".
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?
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. 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. 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. Yup. I haven't actually tested it myself, but he's not the first to report it.
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 ]
@Wulf2k: I'm really hesitant to edit the EXE, but thank you for providing the option for this fix.
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.
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.
One question, how do I do the same thing in Baldur's Gate 1 EE?
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.