Jump to content

Home

Is there a tool to read/edit Scumm-Script ?


Damien.fa

Recommended Posts

Now I found a real bug in scummbler. SetPalColor always adds a stopObjectCode() after it, which of course is not acceptable.

Fortunately, I was able to locate the problem:

In scummbler_compiler.py line 2840:

index, auxop = resolve_parameter(toks.index, auxop, 0x80, RP_WORD)

This needs to be byte instead of word.

Link to comment
Share on other sites

drawBox does not compile correctly. Example: 000_LECF\089_LFLF_cu-works\001_SCRP_130.dmp

 

restoreVerbs does not compile correctly. Example: 000_LECF\010_LFLF_logo\016_SCRP_017.dmp

 

And btw., the latest descumm.exe writes a lot more semicolons now which seems to confuse scummbler. It compiles fine if I just remove them all.

 

All examples are unmodified Monkey CD.

Link to comment
Share on other sites

New version of Scummbler (v2 r12).

  • Fix drawBox modifying main opcode instead of auxilliary opcode.
  • Fix drawObject using wrong sub-opcode.
  • Fix saveVerbs/restoreVerbs outputting the wrong opcode.
  • Fix SetPalColor outputting a word instead of a byte for last parameter.
  • Fix the auxilliary opcode values for SetPalColor, drawBox, setRGBRoomIntensity.
  • Supports new descumm formatting, also with support for legacy descumm. Some workarounds in place since descumm's output is still a bit buggy.

 

(EDIT: removed, see below for latest version)

 

 

I tried testing the CursorCommand instructions, but I couldn't see any problems in the output or parsing.

 

Funny thing is, I submitted the patch to descumm to add all the semicolons and tidy up the code, but forgot to upload the updated Scummbler that supported it. I didn't get the descumm patch quite right, there's now semicolons in odd places, but Scummbler will support them. I'll try to get around to submitting another descumm patch.

 

Let me know if you find any more problems.

Link to comment
Share on other sites

Thanks a lot for that update. Unfortunately, this gives me some new problems.

 

I have a bunch of old scripts I'm still editing, thus downward compatibility would be good.

I'm getting strange errors like "Error parsing input file: Duplicate label declaration on line 1: 0000 (at char 0), (line:1, col:1)" when "startScript(189,[170,5]);" doesn't have the semicolon at the end, but compiles fine with it. In my current example, this particular instruction is located in line 76, not 1.

The old version worked fine just without any semicolons at all. Couldn't you just ignore them, if present?

 

Similar problems occur with additional ')' characters, which the old descumm put in on some instructions. It weren't too much a hassle for me to fix in my script files, if it weren't for those cryptic error message which take me forever to figure out what's wrong.

 

And I noticed, the string handling changed in descumm too. Instead of those decimal '^###', there is now '\##x'. Can I still use my old scripts, or do I have to change them too?

 

I can't reproduce any CursorCommand problems too. I don't remember what I did. I'll post, if it occurs again.

Link to comment
Share on other sites

There's a new command line parameter, "-l" (lowercase L) or "--legacy-descumm", which should handle scripts decompiled with old versions of descumm. It has lots of workarounds for missing parentheses, and uses karats ("^") instead of backslashes for escape characters.

 

If this doesn't solve your problem, let me know and I'll investigate further.

Link to comment
Share on other sites

Could you add "GMD " (general MIDI music) support to scummpacker? Eventhough, no official SCUMM V5 game has them, it works just fine when using GMIDI.IMS from the Sam & Max WIP demo, thus supporting them makes sense.

I'm using scummpacker for the talkie patch in order to replace some sounds with higher quality samples from the SE.

Unfortunately, scummpacker stops working as soon as the first GMD resource is reached.

 

I can add "GMD " to the source file and it works just fine, but I don't know how to compile it into an EXE file, which I'd like to include with my patch.

Link to comment
Share on other sites

Here you go. I've also added "setup.py" and "setup.bat" to the source files; if you want to make your own build, just install the py2exe package for Python, and either run "setup.bat" (you'll need to edit it as appropriate), or just run "python setup.py install" from the command line.

 

I haven't actually tested this, so no guarantees it will work.

 

ScummPacker v2 r2

  • Added support for GMD sound blocks

 

Source:

http://www.jestarjokin.net/sw/scummpacker_src_20100810.zip

 

Win32 Binaries:

http://www.jestarjokin.net/sw/scummpacker_bin_20100810.zip

Link to comment
Share on other sites

  • 2 weeks later...

I got sick of the unhelpful error messages you get in Scummbler, so here's a small update.

 

Scummbler v2 r13

 

* Much more accurate error reporting.

* Pyparsing library now included in the source (I’ve had to modify it in order to support better error reporting).

* Fix example script in the manual (escape codes were “\x033″ instead of “\x03″).

 

Source/Python Script

 

http://www.jestarjokin.net/sw/scummbler_src_20100820.zip

 

Win32 Binaries

 

http://www.jestarjokin.net/sw/scummbler_bin_20100820.zip

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...