I cannot believe this completely unsupported fan-made utility from 1997 is failing to work on modern windows
-
so the current thing I'm trying to fix is how it either crashes or explodes the palette when you switch away from it.
-
if I tell DxWnd to not notify about task deactivation, it stops crashing/corrupting, but it also locks up at the main menu and you can click anything
-
ugh. I was thinking they probably are doing something odd in their wndproc.
this program is MFC. that makes this more complicated
-
this would be easier to figure out if my debugger worked, because then I could use my debugger to find out why I can't use a debugger
-
I was fucking up the stack! my patch was in the wrong place. Lets see if things Suddenly Start Working now
-
well it doesn't crash. I'm back to the palette corrupting and the game freezing
-
the game doesn't crash if you tab out if it WHILE IN A LEVEL, only in the menu.
so I guess I can go into the game, attach debugger, then exit to the menus and see what crashes?
-
fuck. it's a breakpoint on WM_ACTIVATE.
which gets generated every time I switch to the debugger! I'm in an infinite loop!
-
bah. I'm not making any progress. I can't get this to work and be debuggable, other than a one-shot after I come back from 3D view.
I'll have to do more static reversing and come back to this.
-
@foone I don't know of any RWB documentation
But RWX: https://wiki.activeworlds.com/index.php?title=Renderware -
-
@jernej__s wow, that really fucked up my font sizes! but thanks
-
eww they use CFile.
there's MFC grime all over this game -
oh hey they re-seed the random number generator every time they call random()
that's... not how you're supposed to do it
-
@foone It's the same string, so why would the compiler store it twice?
-
@kawa I have seen so many duplicated strings. some compilers don't like merging string literals
-
@foone Pokémon Project Studio Red/Blue did that shit too.
-
@kawa 3D Movie Maker actually does it too, and it's got a bug! it sets your key repeat speed at a couple times, and just restores it right after. It does it almost immediately so there's little risk of a crash breaking it... except they implemented it wrong. if your key repeat is set too fast, it thinks it's out of range, and resets it to slow
-
@foone lol how are they seeding it?
-
@gzt system ticks