Menu

#2014 fat_frog.rpg fails with numerous script errors

OHRRPGCE
open
nobody
None
Uncategorized
Windows (please specify version)
Bug Report
Nightly WIP (Callipygous)
2020-03-15
2015-09-08
No

matski reports that when running fat_frog.rpg in recent versions of the ohrrpgce, it fails frequently with script error messages. http://www.slimesalad.com/forum/viewtopic.php?t=6703

"Script error! Script data may be corrupt or unsupported: script id 30069 does not exist"
"Funny... no scripts running!"

g_debug.txt logs many instances of:

Scripterr(6): script 30069 [id 30069] does not exist
Scripterr(6): Failed to load eachstep script 30069 [id 30069]

Discussion

  • Bob the Hamster

    Bob the Hamster - 2015-09-08

    The error seems to be occuring on Map 8 "Gib Farm"

    Looking that that map in the editor, there does indeed seem to be script id 30069 in all of the script triggers. The number 30069 is also present in "Foot offset" and both "Harm tile flash" and "Harm tile damage"

    When the edit general game data menu is opened on map 8, the following is logged to the c_debug.txt

    Error: Map 8's general data corrupt (or unsupported); clamping gmap(18) = 30069 -> 0
    Error: Map 8's general data corrupt (or unsupported); clamping gmap(17) = 30192 -> 0
    Error: Map 8's general data corrupt (or unsupported); clamping gmap(11) = 30069 -> 0
    Error: Map 8's general data corrupt (or unsupported); clamping gmap(16) = 30069 -> 0
    Error: Map 8's general data corrupt (or unsupported); clamping gmap(10) = 30069 -> 0

     
  • Bob the Hamster

    Bob the Hamster - 2015-09-08

    It appears that this same thing happens on maps 5,6,7,8,9

    Maps 0-4 seem fine, and maps 10-22 seem fine.

    I also notice that All the maps from 23 to 41 except for 30 and 33 have corrupted map names.

    I think this might be a genuine case of file corruption, not a version compatability issue.

     
  • Bob the Hamster

    Bob the Hamster - 2015-09-08

    It is worth mentioning that the copy of fat_frog.rpg from the CastleParadox gamelist (which appears to be an earlier unfinished version) also exhibits similar map corruption:

    http://www.castleparadox.com/gamelist-display.php?game=865

    So I can't yet be sure what is happening here.

     
  • Bob the Hamster

    Bob the Hamster - 2015-09-08

    I found another copy of fat_frog.rpg here: http://www.froggyville.com/games/fatfrog.zip

    This seems to be the same file as the one on castleparadox, but it includes a copy of game.exe and other readme files, which makes it appear original, as best as I can tell.

    It still has the same issue with the map data, so for now I am going to say that this is probably not actual file corruption, just apparent corruption caused by an old version compatability bug.

     
  • Bob the Hamster

    Bob the Hamster - 2015-09-08

    The raw data from the .map lump in fat_frog.rpg looks like this:

    0 [0, 0, 28, 0, 1, 0, 1, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    1 [1, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2 [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    3 [2, 0, 3, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    4 [4, 0, 56, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    5 [5, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117]
    6 [6, 0, 25, 0, 0, 0, 0, 0, 30, 0, 0, 0, 255, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 240, 117, 117, 117, 117]
    7 [6, 0, 37, 0, 0, 0, 0, 0, 30, 0, 0, 0, 255, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117]
    8 [7, 0, 19, 0, 0, 0, 0, 0, 30, 0, 0, 0, 255, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 240, 117, 117, 117, 117]
    9 [8, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117]
    10 [3, 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    11 [5, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

    I know that the oldest fat_frog.rpg file I have is dated April 3 1999. My guess is that maps 5 thru 9 were added using a lost-to-time version of custom.exe that failed to correctly initialize .map records for newly added maps.

    Plotscripting did not even exist until the November 9th 1999 release, and it looks like map wrapping was first added in the same version, which means that no more than the first 10 bytes of a .map record could have been used in Fat Frog's version. The rest would have been unused padding.

     
  • Bob the Hamster

    Bob the Hamster - 2015-09-08

    Okay. so I have two copies of fat_frog.rpg

    I have the "demo" version, which has gen(genVersion) = 2
    I have the "full" version that matski sent me, which has gen(genVersion) = 3

    gen(genVersion) = 2 is "June 18 1999 format"
    gen(genVersion) = 3 is "July 8 1999 format"

    The next version after that is:

    gen(genVersion) = 4 is "Sept 15 2000 format"

    That means that we don't have any simple way to detect the changes that happened in the ELEVEN versions that went in-between July 8 1999 and Sept 15 2000, including the Nov 9 1999 version which added plotscripting (and therefore also added a script trigger to the .map record)

    Now I can very easily add some code that zeroes out the unused .map records when upgrading from "June 18 1999 format". I feel that would be safe, and it would solve the bug for the Fat Frog demo (andy any other games older than July 8 1999)

    But it does not solve the problem for the Fat Frog full-version, nor does it solve the problem for any other games released in that unfortunate 14-month span.

    I can't simply zero out the .map records for games in that range, because I have no idea whether or not they have added script triggers to their maps.

    Even an IF gamename = "fat_frog" THEN fix would be problematic, because the full version of fat_frog actually does have a fat_frog.hsp lump, indicating that there are actually some plotscripts in it.

    Not giving up hope yet, but good lord! what am mess I made! (in my defense I had 15 years less experience)

     
  • TeeEmCee

    TeeEmCee - 2015-09-09

    I had the same problem when trying to clear garbage in the attack data. Which I never finished even though I did figure out a better way to determine whether a game is old enough to wipe the relevant data, thanks to svn history going back far enough in that case. (I wrote that up in the SoJ thread on CP, and I also used rpgbatch to find that only a couple games aside from SoJ were affected, which is why I lost interest).
    The RPG format is not very useful, but there might be other things which can indicate whether a game is older than a certain version. whatsnew.txt is of course the place to look.

    How is it possible for Fat Frog to be post-plotscripting but have garbage in the map autorun data? Were autorun scripts added later? I can't find anything in whatsnew.

     
  • Bob the Hamster

    Bob the Hamster - 2015-09-09

    How is it possible for Fat Frog to be post-plotscripting but have garbage in the map
    autorun data? Were autorun scripts added later? I can't find anything in whatsnew.

    My best guess is that the early versions with plotscripting did not show any error message when trying to load a plotscript that did not exist. It probably just failed silently.

     
  • TeeEmCee

    TeeEmCee - 2020-03-15

    This bug has been migrated to our new issue tracker on Github: https://github.com/ohrrpgce/ohrrpgce/issues/1073

     

Log in to post a comment.

MongoDB Logo MongoDB