View Single Post
Old 07-16-2010, 07:41 PM   #24
LogicDeLuxe
Rookie
 
Join Date: Oct 2004
Posts: 215
I've found a bug with 000_LECF_original\061_LFLF_sword-mas\001_SCRP_058.dmp

Here is the problematic excerpt of the original:
Code:
[027D] (48) } else if (Var[284] == 2) {
[0287] (80)   breakHere()
[0288] (94)   print(VAR_EGO,[Text("OK, I think I got it this time.")]);
[02AC] (AE)   WaitForMessage()
[02AE] (18)   goto 0693;
[02B1] (48) } else if (Var[284] == 3) {
[02BB] (80)   breakHere()
[02BC] (94)   print(VAR_EGO,[Text("I return, fresh from a kill!")]);
[02DD] (AE)   WaitForMessage()
[02DF] (18)   goto 0693;
[02E2] (18) } else {
[02E5] (80)   breakHere()
And this is the same section decompiled from what scummbler produces:
Code:
[027D] (48) } else if (Var[284] == 2) {
[0287] (80)   breakHere()
[0288] (94)   print(VAR_EGO,[Text("OK, I think I got it this time.")]);
[02AC] (AE)   WaitForMessage()
[02AE] (18)   goto 0693;
[02B1] (18) } else {
[02B4] (48)   if (Var[284] == 3) {
[02BB] (80)     breakHere()
[02BC] (94)     print(VAR_EGO,[Text("I return, fresh from a kill!")]);
[02DD] (AE)     WaitForMessage()
[02DF] (18)     goto 0693;
[02E2] (18)   } else {
[02E5] (80)     breakHere()
The result is, that the dialog options appear on screen, and then it goes right to "Let's get this over with.", and the fight starts. With the additional { in there, an entire block between those is erroneously skipped.
LogicDeLuxe is offline   you may: quote & reply,