Thread: [WIP] FX Update
View Single Post
Old 03-11-14, 10:23 AM   #1172
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by vdr1981 View Post
Hi TDW,
I've discovered one more SHcolision.act CTD scenario with probable cause and even rough solution. I hope that you could shade more light on this issue...

So, the game will CTD (fault module SHcolision.act)when AI unit is engaged with deck gun and then declared dead by the game, but without catastrophic explosion.
Few minutes later , when the same unit "burn off" and catastrophic explosion occurs , at the same moment the game will CTD, not every time but most of the time...

Ineresting thing is that, if I remove manually TDW_FXU_Debris_Materials.DAT from library folder, I wont be able to reproduce this CTD anymore. But of course, floating debris wont be rendered in the game.

Looking forward for some info on this issue...
Since you are able to reproduce this I assume then if you really want to figure out why you'll need to run the game inside of OllyDebug 2.01.

It's really easy to do and then you'll be able to tell me exactly where the problem is in SHCollisions.act.

You can get OllyDebug v2.01 from here: http://www.ollydbg.de/version2.html

Right after September 27, 2013 - version 2.01 click on OllyDbg to download v2.01.

To use:

Start SH5. Go into career game or single mission. Once in the career game or single mission start OllyDbg by double clicking it's icon on your desktop. Now select File-->Attach and select SH5. This will 'attach' OllyDebug to SH5. Once attached then any errors, exceptions, etc. will have OllyDebug 'break' to the actual offending assembly instruction. VERY HELPFUL in figuring out why CTDs happen!

Now if you right click on the far left side where all the address numbers are you change how the addressing is shown. First, scroll the window to the very top. Now double click the far left side to get into relative addressing. The first entry will be 0. Now click any assembly instruction to highlight it. Right click and select goto origin.

Now all I need to know is the module (SHCollisions.act, SHSim.act) that is currently active in the window and what the relative address is.

Actually the best thing you can do is take a full screenshot when an error/exception occurs and OllyDebug breaks to the offending assembly instruction and send it to me (following what I said above first for relative addressing - without the relative address of the offending instruction I have nothing to go by because the OS loader will load modules at different addresses everytime you run the game).
TheDarkWraith is offline   Reply With Quote