Translate teleport names
This commit is contained in:
parent
973e63c669
commit
42bf108c76
|
@ -676,5 +676,16 @@ namespace ScriptTool
|
||||||
};
|
};
|
||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static FixedStringCollection ReadTeleportNames(byte[] rom)
|
||||||
|
{
|
||||||
|
var table = ReadFixedStringTable(rom, 0xB2AD10, 0x10, 0x14);
|
||||||
|
table.TablePointers = new int[]
|
||||||
|
{
|
||||||
|
0xC5F54,
|
||||||
|
0xC6234
|
||||||
|
};
|
||||||
|
return table;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -326,6 +326,10 @@ namespace ScriptTool
|
||||||
0xB1BA61,
|
0xB1BA61,
|
||||||
0xB1BA6E,
|
0xB1BA6E,
|
||||||
0xB1BA7B);
|
0xB1BA7B);
|
||||||
|
|
||||||
|
// Teleport destinations
|
||||||
|
var teleportNames = M12TextTables.ReadTeleportNames(m12Rom);
|
||||||
|
DecompileFixedStringCollection(m12Decompiler, m12Rom, "m12-teleport-names", teleportNames);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DecompileM12MiscStringCollection(string name, MiscStringCollection miscStringCollection)
|
static void DecompileM12MiscStringCollection(string name, MiscStringCollection miscStringCollection)
|
||||||
|
@ -504,6 +508,9 @@ namespace ScriptTool
|
||||||
|
|
||||||
// Other
|
// Other
|
||||||
CompileM12HardcodedStringCollection("m12-other", ref referenceAddress);
|
CompileM12HardcodedStringCollection("m12-other", ref referenceAddress);
|
||||||
|
|
||||||
|
// Teleport destinations
|
||||||
|
CompileM12FixedStringCollection("m12-teleport-names", ref referenceAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompileM12MiscStringCollection(string name, ref int referenceAddress)
|
static void CompileM12MiscStringCollection(string name, ref int referenceAddress)
|
||||||
|
|
37
m2-hack.asm
37
m2-hack.asm
|
@ -698,6 +698,43 @@ ldrh r3,[r3]
|
||||||
b 0x080C959A
|
b 0x080C959A
|
||||||
.pool
|
.pool
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Teleport window hacks
|
||||||
|
//---------------------------------------------------------
|
||||||
|
|
||||||
|
// Note that the teleport table pointer has 6 instances in the ROM,
|
||||||
|
// but we are only changing two of them in m12-teleport-names.json.
|
||||||
|
// This is because the other four pointers are used for accessing
|
||||||
|
// the teleport flag/coord data in the table instead of the text.
|
||||||
|
// We need a couple hacks to make this work...
|
||||||
|
|
||||||
|
.org 0x80C5E8A :: ldr r7,[pc,0xC8] // This is used for text; load from one of the
|
||||||
|
// pointers that we DID change (previously it
|
||||||
|
// loaded from a pointer that we didn't change)
|
||||||
|
|
||||||
|
.org 0x80C5D8A
|
||||||
|
lsl r1,r0,4 // Text entries are now 16 bytes each, so multiply by 16
|
||||||
|
ldr r7,[pc,0x1C4] // ... to make room for loading r7 with the text pointer
|
||||||
|
add r1,r1,r7
|
||||||
|
ldrb r0,[r1]
|
||||||
|
ldr r7,[pc,0x13C] // The game uses r7 as the data pointer when looping back,
|
||||||
|
// so let's sneak the data pointer in here before it loops
|
||||||
|
|
||||||
|
.org 0x80C5E96
|
||||||
|
lsl r0,r1,4
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
|
||||||
|
.org 0x80C5F2C
|
||||||
|
lsl r0,r1,4
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
|
||||||
|
.org 0x80C620C
|
||||||
|
lsl r0,r1,4
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
// Data files
|
// Data files
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
@ -57,6 +57,7 @@ Hard-coded characters:
|
||||||
0x01: Teleport alpha
|
0x01: Teleport alpha
|
||||||
0x08: Teleport beta
|
0x08: Teleport beta
|
||||||
0x3001FA4: Escargo Express items (36 of them)
|
0x3001FA4: Escargo Express items (36 of them)
|
||||||
|
0x3001FC8: event flags
|
||||||
0x30023D0: current cash balance
|
0x30023D0: current cash balance
|
||||||
0x30023D4: current ATM balance
|
0x30023D4: current ATM balance
|
||||||
0x3002500: buttons being pressed
|
0x3002500: buttons being pressed
|
||||||
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
{
|
||||||
|
"StringsLocation": 11709712,
|
||||||
|
"TablePointers": [
|
||||||
|
810836,
|
||||||
|
811572
|
||||||
|
],
|
||||||
|
"NumEntries": 16,
|
||||||
|
"EntryLength": 16,
|
||||||
|
"StringRefs": [
|
||||||
|
{
|
||||||
|
"Index": 0,
|
||||||
|
"OldPointer": 11709712,
|
||||||
|
"Old": "ぁぁぁぁぁぁぁぁぁぁ[00 FF]",
|
||||||
|
"New": "[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 1,
|
||||||
|
"OldPointer": 11709732,
|
||||||
|
"Old": "オネット[00 FF]",
|
||||||
|
"New": "Onett[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 2,
|
||||||
|
"OldPointer": 11709752,
|
||||||
|
"Old": "ツ-ソン[00 FF]",
|
||||||
|
"New": "Twoson[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 3,
|
||||||
|
"OldPointer": 11709772,
|
||||||
|
"Old": "スリ-ク[00 FF]",
|
||||||
|
"New": "Threed[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 4,
|
||||||
|
"OldPointer": 11709792,
|
||||||
|
"Old": "サタ-ンバレ-[00 FF]",
|
||||||
|
"New": "Saturn Valley[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 5,
|
||||||
|
"OldPointer": 11709812,
|
||||||
|
"Old": "フォ-サイド[00 FF]",
|
||||||
|
"New": "Fourside[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 6,
|
||||||
|
"OldPointer": 11709832,
|
||||||
|
"Old": "ウィンタ-ズ[00 FF]",
|
||||||
|
"New": "Winters[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 7,
|
||||||
|
"OldPointer": 11709852,
|
||||||
|
"Old": "サマ-ズ[00 FF]",
|
||||||
|
"New": "Summers[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 8,
|
||||||
|
"OldPointer": 11709872,
|
||||||
|
"Old": "スカラビ[00 FF]",
|
||||||
|
"New": "Scaraba[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 9,
|
||||||
|
"OldPointer": 11709892,
|
||||||
|
"Old": "ランマ[00 FF]",
|
||||||
|
"New": "Dalaam[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 10,
|
||||||
|
"OldPointer": 11709912,
|
||||||
|
"Old": "まきょう[00 FF]",
|
||||||
|
"New": "Deep Darkness[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 11,
|
||||||
|
"OldPointer": 11709932,
|
||||||
|
"Old": "グミぞくのむら[00 FF]",
|
||||||
|
"New": "Tenda Village[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 12,
|
||||||
|
"OldPointer": 11709952,
|
||||||
|
"Old": "ちていたいりく[00 FF]",
|
||||||
|
"New": "Underworld[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 13,
|
||||||
|
"OldPointer": 11709972,
|
||||||
|
"Old": "ぁぁぁぁぁぁぁぁぁぁ[00 FF]",
|
||||||
|
"New": "[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 14,
|
||||||
|
"OldPointer": 11709992,
|
||||||
|
"Old": "ドコドコさばく[00 FF]",
|
||||||
|
"New": "Dusty Dunes[00 FF]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Index": 15,
|
||||||
|
"OldPointer": 11710012,
|
||||||
|
"Old": "ぁぁぁぁぁぁぁぁぁぁ[00 FF]",
|
||||||
|
"New": "[00 FF]"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue