Question:
C or C++ data crash solution?
n
2012-09-05 06:15:42 UTC
i ran a pc game (that utilizes the now defunct velocity engine from reflexive studios) that always crashes at a particular point - when i re-enter a previously explored area. the support for the game being dead, i am trying to "reverse engineer" it with what little programming experience i have. i tried running it both in winXP and win7 and resulted in a similar crash but with different error messages

winXP:
DataCrash Explanation" - Fatal Error
Found unexpected '{' while parsing class "CPointList" in file "C:\WINDOWS\TEMP\LIO80C1.TMP:Active Paths:Point".
ReadCustomProperties was likely overridden without calling through to the base class for unhandled properties
---OR---
"DataCrash Explanation" - Fatal Error
Found unexpected '{' while parsing class "CSpawnableCannedEntity" in file
"C:\WINDOWS\TEMP\Lio1AC.tmp:Activity:Group:Thing to Generate".
ReadCustomProperties was likely overridden without calling through to the base class for unhandled properties
=====
win7:
"DataCrash Explanation" - Invalid class type
Tried to use an unknown class "Array" for a "Activity" (CAIBase). Last file opened = "C:\Users\Admin\AppData\Local\Temp\Lio53BF.tmp"
---OR---
"DataCrash Explanation" - Invalid class type
Tried to use an unknown class "COvalGenltID=0x0A15c" for a "Area" (CGeneratorArea). Last opened file = "C:\Users\Admin\AppData\Local\Temp\Lio1F67.tmp:Activity"

i managed to extract what seems to be the "script file" (Temple District.zax) and it has over 2000 lines of code, a snippet of which is listed below:

CLayerSaveData
{
Dynamic Properties=1
{
Point of interest affiliation=Interface/World Map/Barcelona
}
Custom Map Properties=
Music Mix=CMusicMixerData
{
Num Seconds To Switch=5
Full Mix Song=Wilderness/MX_WEST_WILD_MED.ogg
Med Mix Song=Main Menu/Main Menu.ogg
Ambiant Song=1 Barcelona/AMB_templeDis.ogg
}
Width=4608
Height=3840
Action Queue=CActionQueue
{
Items=Array
{
Item Count=0
}
}
Suggested Num Players=4
Max Players=No Limit
Default Game Type=QuestMode
Allowable Games=
Has Begin Been Called=0
Map Description=Barcelona Temple District
First Fire Action=
First Load Action=
View Position=1873.000000,455.000000
Int View Position=1873,455
Partial File Name=1 Barcelona/Temple District
Team Info=Array
{
Item Count=1
Team Info=CTeamInfo
{
Spawn Point Name=start here
Re-Spawn Point Name=
Model Type=!Unknown Model
}
}
Ambient Sounds=Array
{
Item Count=0
}
Shake Time=0
Max Shake Time=0
Pixels To Shake=CLengthEnvelope
{
Start Value=0
End Value=0
Speed=0
Ending Behavior=Stop at end
Current Value=0
Using Start=1
Direction=1
}
Last Shake Delta=0.000000,0.000000
Active Paths=
Path Data=CWayPointMap
{
MinDistBetweenWayPoints=20
MaxDistToConnect=39
}
Monitor=CUpdateMonitorList
{
Monitor List=Array
{
Item Count=0
}
}
Disable AutoMap=0
Left AutoMap Clipping=Left UnClipped
Top AutoMap Clipping=Top UnClipped
Right AutoMap Clipping=Right UnClipped
Bottom AutoMap Clipping=Bottom UnClipped
AutoMap X Offset=0
AutoMap X Scale=0
AutoMap Y Offset=0
AutoMap Y Scale=0
Max Allowed To Roam Anywhere=1
Allowed To Roam Anywhere=0
Tree List=CSortList2D
{
Level Part=CEntityBase
{
Name=
Child List=
Visible=1
Collideable=1
Half Height=0
Full Height=1
Tries To Collide=0
Has Hit Points=0
Stationary=1
Active=1
Is Temporarily Excluded=0
Is Marked For Deletion=0
Activity=Array
{
Item Count=0
}
Category=
Team Number=Nutral
Used In=QuestMode
Current Target=
Publisher=
Model=Environments/Rethgorad/Town/Cathedral
Position X=-35
Position Y=878
Rendering Height=0
Rendering Height Float=0
Cur Sequence=Idle
}
Level Part=CEntityBase
{
Name=
Child List=
Visible=1
Collideable=1
Half Height=0
Full Height=1
Tries To Collide=0
Has Hit Points=0
Stationary=1
Active=1
Is Temporarily Excluded=0
Is Marked For Deletion=0
Activity=Array
{
Item Count=0
}
Category=
Team Number=Nutral
Used In=QuestMode
Current Target=
Publisher=
Model=Environments/Rethgorad/Town/WallHighLong/WallHighLong E
Position X=179.595
Position Y=56.5889
Rendering Height=0
Rendering Height Float=0
Cur Sequence=Idle
}

i haven't dabbled in C or C++ ever and i am familiar with java. can anyone recognize this? and how can i edit it to prevent similar crashes in the future?

thanks!
Three answers:
2012-09-05 11:10:39 UTC
What is the name of the game? I find it strange that the game won't even run under XP. Have you tried running the game using XP's Win9x compatibility mode, or tried running the game with administrator access?



Unfortunately, the only real way to see what's going on is to run the program with a debugger, but you need to know assembly language and Windows API programming.



Changing the script probably wouldn't help. Obviously, the game engine was compatible with XP, so there's something about your computer system which is causing the script to fail.

The errors are probably due to code that runs just before the actual points where the game reports the errors. The game mentions which classes are producing the errors, so you should search in the script file for any references to those classes and check the script code above the points where the classes are called or declared. You might be able to see a pattern which will help you figure out what is really causing the errors.



The "Found unexpected '{' " error indicates that script code executed prior to the error point is causing the rest of the script to go out of whack. It is the same kind of compiler error that you get if you forget to put a ";" character on a line of C/C++ code. Either something is causing the script code above the error points to fail, or the game is having trouble with parsing the script text. Does this script file contain non-English text characters (e.g. Japanese) or are you running XP in a non-English language? If so, then try running the game with AppLocale.



I noticed that the game uses .ogg files for the music. Have you tried turning off the music and sound? Maybe you have a codec problem...
?
2012-09-05 06:42:50 UTC
As you can easily see it yourself the above aren't C++ classes. There is no i.e. semicolon terminating lines, Some of the items from the i.e. last paragraph have not right hand identifier.

So, what you see there is a snapshot of a status of a player. Whether or not this particular snippet you presented is okay or not depends on the engine parsing this.
2016-02-22 00:25:09 UTC
Check cpu fans are working or not May be hard drive is old Back up your valuabale data in the computer , computer look unreliable Back up registry entries and run comodo registry cleaner , ccleaner , glary utilities , wise regstry cleaner free version Note don't remove unsafe entries in comodo.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...