KingMike wrote:
Looks like I'll have a couple VWF bugs to fix in GS Mikami, but lately I've been working on Kabuki Rocks.
Dumping the script is looking to be a pain. The game seems to have event code embedded in the text, almost RPGMaker-like. I suppose I'll have to worry later about making it look nice and pretty for a translation. But I guess right now it's more important to get all the control codes dumping correctly.
I wonder if I should bother worry about what the non-text codes do (labeling purposes, obviously if it turns out later one needs repointing, then I'll need to worry)? (the code seems to have a "open text window" and "close text window" command, so I guess I should only really worry about what happens between there?
Yes, it seems the Yes/No command does embed pointers to the yes and no scripts, and there is also a "goto" instruction. Not sure yet the best way to handle those when re-inserting. Label each command? I'm guessing I'll probably need to dump each string to a file, even though I'll probably end up with a thousand or so tiny files, or else have one big monster file?
Dude, when it comes to scripting codes, you need to figure them all out! ( See Mystic Ark )
For example, Mystic Ark, Aretha 2, Chaos Seed and Princess Minerva are a few games
I know off hand that are a pain without scripting knowledge. Each game get's handled
in it's own way but they are all similar to an extent. Here are some examples...
( The major issue is decoding this crap is tedious as hell!!!! )
Mystic Ark:
Code:
.POINTER = $00C6AFA2
.POINTER = $00C760BE
.POINTER = $00C771FA
.POINTER = $00C7AA61
.POINTER = $00C7ADAB
.POINTER = $00C7ADB3
.POINTER = $00C7ADF3
.POINTER = $00C7C79A
;------------------------;
; Declared Pointer Label ;
;------------------------;
_Label_CA0002_:
.TEXT
[IF $C302][GOTO _Label_CA0047_]
You see an odd-looking
machine protruding from
the ground.
.ENDT
.POINTER = $00C7ADBB
.POINTER = $00C7C6DA
;------------------------;
; Declared Pointer Label ;
;------------------------;
_Label_CA0022_:
.TEXT
[IF $C302][GOTO _Label_CA0047_]
This device is called a
"machine". Its use is
unknown.
.ENDT
Chaos Seed:
Code:
;#######################;
; Open Dialogue Session ;
;#######################;
.TEXT.OPEN
Do you think that the world[newl]
would've ended if the egg[newl]
hadn't been brought back?
.ENDSCRIPT
;------------------------;
; Declared Pointer Label ;
;------------------------;
_Label_011D:
.TEST[$3A] [$AB] .GOTO.W _Label_0133 // [$0133]
.OPCODE[$33].USE [$AB]
;#######################;
; Open Dialogue Session ;
;#######################;
.TEXT.OPEN
Yaw... *hick* Da bestibal..![newl]
*hick* *hick* Ahm so happy![Keyp]
*Hick* *Hick*
.ENDSCRIPT
;------------------------;
; Declared Pointer Label ;
;------------------------;
_Label_0133:
;#######################;
; Open Dialogue Session ;
;#######################;
.TEXT.OPEN
Yeeeayyyyyyy!
.ENDSCRIPT
Aretha 2:
Code:
;-------------------------;
; Declared Script Pointer ;
;-------------------------;
_Script_103: // [ Offset: $0000020A ]
;***********************;
; Open Dialogue Session ;
;***********************;
.TEXT.OPEN
.STRING _String_0000020C
.RETURN
; Call the "GIVE ITEM" routine
.GIVE-ITEM[$0E]
.ITEM = 5 // [アレサのなみだ]
.COUNT = 1
.SHOW-MSG = 1
.SCRIPT = _Script_106 // If full inventory
.END.ITEM
.JUMP _Script_107
.ENDSCRIPT
And the latest, Princess Minerva:
Code:
;%%%%%%%%%%%%%%%%%%%%%%%%;
; ;
;%%%%%%%%%%%%%%%%%%%%%%%%;
_Label_2730_:
.TEST[$B8] .ARG[$03] .GOTO _Label_27C0_
.FACE[$00]
; ‚±‚ñ‚È‚Æ‚±‚ë‚É“´‚‚‚ªH
; “ü‚Á‚Ă݂悤‚©‚µ‚çH[keywin]
.FACE[$0A]
; •P—l
; ‚킯‚à‚È‚s“®‚·‚é‚Ì‚Í
; ‚¨‚â‚ß‚‚¾‚³‚¢[keywin]
.FACE[$00]
; ‚Ó‚ñ@ƒuƒ‹[ƒ‚ƒŠƒX‚Ì‚¯‚¿[keywin]
.TEXT.CLOSE
.CODE[$A1] .ARG[$00] .USE(0B01)
.CODE[$A2] .ARG[$FF]
.CODE[$A8] .ARG[$00]
.CODE[$A2] .ARG[$FF]
.EXIT[$FF00]
;%%%%%%%%%%%%%%%%%%%%%%%%;
; ;
;%%%%%%%%%%%%%%%%%%%%%%%%;
_Label_27C0_:
.CODE[$9A] .ARG[$00] .USE(3400170C0100)
.EXIT[$FF00]