Final Fantasy 8 > FF8 Tools

[PSX/PC] DelingScript

<< < (2/3) > >>

Coincidentally, I'm working on something similar for FF7. It's progressing fairly well; it'll turn this:

--- Code: --- UC Disabled=1 //0x0
MENU2 Disabled=1 //0x2
PTURA PartyID=0, Speed=15, Direction=2 //0x4
IFSW BankValue1=2, BankValue2=0, Value1=0, Value2=999, Comparison=2, Offset=16 //0x8 --> 1f
WINDOW WindowID=1, X=67, Y=137, Width=233, Height=73 //0x10
MESSAGE WindowID=1, DialogueID=121 //0x1a
JMPF Offset=14 //0x1d --> 2c
WINDOW WindowID=1, X=39, Y=153, Width=261, Height=57 //0x1f
MESSAGE WindowID=1, DialogueID=120 //0x29
UC Disabled=0 //0x2c
MENU2 Disabled=0 //0x2e
TURNGEN BankRotation=0, Rotation=164, Direction=2, Steps=15, Calculation=2 //0x30

--- End code ---

Into this:

--- Code: --- string sMyoldmanwas = "“My old man was a miner, but\n he couldn't go to work after monsters \n started appearing in the Mythril Mines.”{New Scr}“Now all he does is sit around\n getting drunk in the bar…”";
string sMydadstill = "“My dad still just sits at the\n bar drinking, even though\n he knows Meteor's coming!”{New Scr}“It's sad. Even though he's an adult,\n he just doesn't want to see\n the world as it really is.\n I dunno what to do.”";

TurnToPartyMember(0, 15);
if (PPV > 999) {
ShowMessage(67, 137, 233, 73, sMydadstill);
} else {
ShowMessage(39, 153, 261, 57, sMyoldmanwas);
TurnSmooth(164, Closest, 15);

--- End code ---

It'll extract nested if's and while loops from the instructions; I just really need to finish processing all the various opcodes. Shouldn't take too long, since the code structure is the tricky part, and that's mostly done.

Ok, I've "finished" the assembly -> script translation part. Anyone who's curious is free to take a look at it and give suggestions. Especially feature suggestions. This is a very, very early version so it's going to be kinda rubbush :P

DelingScript v0.1

Run the jar file, put the Deling assembly code on the right, click the left arrow.

Oh, and the lines with _ before them mean I haven't converted those yet. Eventually every opcode will be supported. That's just temporary.

V0.3 is out. It will convert both ways, and comments in the script are supported. ("//" style)

Not all functions get converted nicely yet. They still work but they look ugly.

I'm mainly looking for bugs at this point. If you convert something back and forth, it should be functionally identical to how it started. If you find a piece of assembly that doesn't convert to how it functionally started, please post the assembly.

@Shard can you upload again? The link is off

the link for the version 0.3 is dead , please reupload it


[0] Message Index

[#] Next page

[*] Previous page

Go to full version