Yeah ill try.. I still dont get the "set bytes@locations" thing. Its hard for me because i can't look these spawn points because dissasembling thing is not working for me. Btw how about the darkling in summoners not included scenario. He is also hidden ghost there.. Maybe with this teleporter we can somehow unvanish him?
True, there's not much you can do without a disassembler. Maybe try another one: wikipedia link
Tested BORG just now. It works, but it's much worse than W32Dasm. You can try it if you're desperate, but I'd recommend looking for a better one.
As for Darkling... (in Summoners Not Included) His spot in portrait panel lights up when you touch a murder fetter. That means we may be able to activate him somehow, but again, I doubt that changing the spawn point will do the trick. I guess I will add it to the "to do" list.
edit: I disassembled the .exe for you: mediafire link - open it with a text editor. I recommend downloading Notepad++, because the file is HUGE, and most programs will lag like crazy.
In attachments you can find String references (interesting things to look for)
Managed to explore the inaccessible areas by using Cheat Engine, here's an album: link Turns out you can cheat the game into thinking it's on another floor, thus allowing you to go up or down anywhere you like. Changing the floor like this also allows you to zoom in further, so you can zoom, change floor and zoom again, to explore areas freely.
First you need to find the 2/3 values for the current floor with Cheat Engine. Go to the lowest floor, and search for 0 among integers (4 bytes). Then go to a higher floor, search for 1. Now you can go higher again and search for 2, if there is a higher floor, or go back down and search for 0. Repeat until you have 2/3 values left.
Whenever you change the value manually to a floor lower than the real one you enable the "go up" button. If you set it to a higher floor you enable "go down". Also, every time you change it the zoom limit is reset, allowing you to zoom in further.
You may also need to change 1 instruction in the game from jnl to jl at address 00492A76. (which prevents camera from going below lowest floor)
You may notice that I manged to spawn Scarecrow in Spooky Hollow's basement and activate him, making his powers usable. All that needed to be done is changing one value from 0 to 1. Sadly that value is in dynamic memory, I'm working on a way to find that address more easily, and use it from the level of MiniEditor.
I found that function, but it writes to an address that is [register+offset], and the register isn't static. So far I wasn't able to find a way of getting the exact address, contained in the register at the time of function execution. I know it's possible by creating a pointer map, but it's a rather time consuming process, so I'd like to try other options first.
I know, but unfortunately readability is not a strong point of assembly.
Instead of finding that address I'd rather just initialize the value with 1 at startup and be done with it, but so far I wasn't able to find the right place. I don't know assembly very well, but I'm assuming that uninitialized integers aren't set to 0 by default, so they must be initialized somewhere.