mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
fox_versus decompiled, introduce first_diff.py to the project, fixed fox_option NON_MATCHING build (#71)
* fox_versus functions * more functions * more input! * functions so far * fix bss reordering * all functions matching * fix caller addresses * import data cleanup * introduce first_diff to the project * fix wrong type * second version of bss reordering prevention header * move versus symbols to variables.h * BSS importing attempt (failed) terrain is prepared for another contributor to try * fix fox_option NON_MATCHING build * format * remove static keyword from fox_map data symbols * IMPORT BSS * rename fox_versus * FIX ADDRESSES & SYMBOLS y fox map * fix more addresses * more address fixes for fox_map * all fox_map addresses done * fix bss build in fox_map, migration pending * bss reorder failed attempt * remove unused externs * remove unnecessary config file * remove unnecessary entries in settings.json * comments * move structs to fox_map header * put static back in fox_option data * PR review
This commit is contained in:
Vendored
-39
@@ -1,39 +0,0 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Debug SOTN (PCSX Redux)",
|
||||
"type": "gdb",
|
||||
"request": "attach",
|
||||
"target": "localhost:3333",
|
||||
"remote": true,
|
||||
"stopAtConnect": true,
|
||||
"executable": "build/sotn-debugmodule.elf",
|
||||
"linux": {
|
||||
"gdbpath": "/usr/bin/gdb-multiarch"
|
||||
},
|
||||
"cwd": "${workspaceRoot}",
|
||||
"autorun": [
|
||||
"set substitute-path /project .",
|
||||
"file build/sotn-debugmodule.elf",
|
||||
"continue",
|
||||
],
|
||||
"valuesFormatting": "parseText"
|
||||
},
|
||||
{
|
||||
"name": "Debug sotn-disk (extract)",
|
||||
"type": "go",
|
||||
"request": "launch",
|
||||
"mode": "auto",
|
||||
"program": "tools/sotn-disk",
|
||||
"args": [
|
||||
"extract",
|
||||
"../../disks/sotn.us.cue",
|
||||
"../../disks/"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
-2
@@ -10,8 +10,6 @@
|
||||
"build/**": true,
|
||||
"expected/**": true,
|
||||
"tools/**": true,
|
||||
"tools/aspatch/**": false,
|
||||
"tools/gfxsotn/**": false,
|
||||
},
|
||||
"defines": [
|
||||
"_LANGUAGE_C", // For gbi.h
|
||||
|
||||
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
|
||||
try:
|
||||
import rabbitizer
|
||||
except ImportError:
|
||||
print("Missing dependency rabbitizer, install it with `python3 -m pip install 'rabbitizer>=1.0.0,<2.0.0'`")
|
||||
exit(1)
|
||||
|
||||
try:
|
||||
import mapfile_parser
|
||||
except ImportError:
|
||||
print("Missing dependency mapfile_parser, install it with `python3 -m pip install 'mapfile-parser>=1.2.1,<2.0.0'`")
|
||||
exit(1)
|
||||
|
||||
|
||||
def decodeInstruction(bytesDiff: bytes, mapFile: mapfile_parser.MapFile) -> str:
|
||||
word = (bytesDiff[0] << 24) | (bytesDiff[1] << 16) | (bytesDiff[2] << 8) | (bytesDiff[3] << 0)
|
||||
instr = rabbitizer.Instruction(word)
|
||||
immOverride = None
|
||||
|
||||
if instr.isJumpWithAddress():
|
||||
# Instruction is a function call (jal)
|
||||
|
||||
# Get the embedded address of the function call
|
||||
symAddress = instr.getInstrIndexAsVram()
|
||||
|
||||
# Search for the address in the mapfile
|
||||
symInfo = mapFile.findSymbolByVramOrVrom(symAddress)
|
||||
if symInfo is not None:
|
||||
# Use the symbol from the mapfile instead of a raw value
|
||||
immOverride = symInfo.symbol.name
|
||||
|
||||
return instr.disassemble(immOverride=immOverride, extraLJust=-20)
|
||||
|
||||
def firstDiffMain():
|
||||
parser = argparse.ArgumentParser(description="Find the first difference(s) between the built ROM and the base ROM.")
|
||||
|
||||
parser.add_argument("-c", "--count", type=int, default=5, help="find up to this many instruction difference(s)")
|
||||
parser.add_argument("-v", "--version", help="Which version should be processed", default="us.rev1")
|
||||
parser.add_argument("-a", "--add-colons", action='store_true', help="Add colon between bytes" )
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
buildFolder = Path("build")
|
||||
|
||||
BUILTROM = Path(buildFolder / f"starfox64.us.uncompressed.z64")
|
||||
BUILTMAP = buildFolder / f"starfox64.us.map"
|
||||
|
||||
EXPECTEDROM = Path("baserom.us.uncompressed.z64")
|
||||
EXPECTEDMAP = "expected" / BUILTMAP
|
||||
|
||||
mapfile_parser.frontends.first_diff.doFirstDiff(BUILTMAP, EXPECTEDMAP, BUILTROM, EXPECTEDROM, args.count, mismatchSize=True, addColons=args.add_colons, bytesConverterCallback=decodeInstruction)
|
||||
|
||||
if __name__ == "__main__":
|
||||
firstDiffMain()
|
||||
@@ -0,0 +1,64 @@
|
||||
#ifndef FOX_MAP_H
|
||||
#define FOX_MAP_H
|
||||
|
||||
typedef enum PlanetId {
|
||||
/* 0 */ PLANET_METEO,
|
||||
/* 1 */ PLANET_AREA_6,
|
||||
/* 2 */ PLANET_BOLSE,
|
||||
/* 3 */ PLANET_SECTOR_Z,
|
||||
/* 4 */ PLANET_SECTOR_X,
|
||||
/* 5 */ PLANET_SECTOR_Y,
|
||||
/* 6 */ PLANET_KATINA,
|
||||
/* 7 */ PLANET_MACBETH,
|
||||
/* 8 */ PLANET_ZONESS,
|
||||
/* 9 */ PLANET_CORNERIA,
|
||||
/* 10 */ PLANET_TITANIA,
|
||||
/* 11 */ PLANET_AQUAS,
|
||||
/* 12 */ PLANET_FORTUNA,
|
||||
/* 13 */ PLANET_VENOM,
|
||||
/* 14 */ PLANET_SOLAR,
|
||||
/* 15 */ PLANET_MAX,
|
||||
} PlanetId;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ f32 angle;
|
||||
/* 0x4 */ f32 x;
|
||||
/* 0x8 */ f32 y;
|
||||
/* 0xC */ f32 scale;
|
||||
} ObjPosition;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ s32 unk_08;
|
||||
/* 0x0C */ s32 unk_0C;
|
||||
/* 0x10 */ char pad10[0x4];
|
||||
/* 0x14 */ s32 unk_14;
|
||||
/* 0x18 */ s32 unk_18;
|
||||
} UnkStruct_D_EBFBE0_801AFD18; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 id;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ f32 zAngle;
|
||||
/* 0x10 */ f32 posX;
|
||||
/* 0x14 */ f32 posY;
|
||||
/* 0x18 */ f32 posZ;
|
||||
/* 0x1C */ f32 unk_1C;
|
||||
/* 0x20 */ f32 scale;
|
||||
/* 0x24 */ s32 alpha;
|
||||
/* 0x28 */ s32 unk_28;
|
||||
/* 0x2C */ s32 unk_2C;
|
||||
/* 0x30 */ s32 unk_30;
|
||||
/* 0x34 */ s32 unk_34;
|
||||
} Planet; // size = 0x38
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8* addr;
|
||||
/* 0x4 */ s32 width;
|
||||
/* 0x8 */ s32 height;
|
||||
/* 0xC */ f32 posX;
|
||||
} Texture; // size = 0x10
|
||||
|
||||
#endif
|
||||
@@ -172,7 +172,7 @@ extern UnkStruct_D_EBFBE0_801B9250 D_EBFBE0_801B9400;
|
||||
extern UnkStruct_D_EBFBE0_801B9250 D_EBFBE0_801B9408;
|
||||
|
||||
extern void* D_EBFBE0_801B68B0[];
|
||||
extern char* D_EBFBE0_801B68D4[];
|
||||
extern u8* D_EBFBE0_801B68D4[];
|
||||
|
||||
extern s32 D_EBFBE0_801B81A8[][3];
|
||||
|
||||
|
||||
@@ -110,6 +110,7 @@ void func_8002E700(Player *);
|
||||
void func_8002EE64(Object_2F4 * obj2F4);
|
||||
void func_8002F180(void);
|
||||
void func_8002F5F4(u16* msg, s32 character);
|
||||
void func_8003088C(Object_2F4*);
|
||||
void func_800319AC(Object_2F4* this);
|
||||
void func_80035448(Object_2F4* obj2F4);
|
||||
|
||||
@@ -522,6 +523,7 @@ void func_800ACDC0(Player *, PlayerShot *, PlayerShotId );
|
||||
void func_800B0F50(Player *);
|
||||
void func_800B44C4(Player *);
|
||||
void func_800AB334(void);
|
||||
void func_800ABA08(void);
|
||||
void func_800AE278(Player*);
|
||||
void func_800B2130(Player*);
|
||||
void func_800B2574(Player*);
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ extern s32 D_1013700[];
|
||||
extern Gfx D_20031B0[];
|
||||
extern Gfx D_2010A30[];
|
||||
extern u16 D_3000B20[];
|
||||
extern u16 D_30013E0[];
|
||||
extern u8 D_30013E0[];
|
||||
|
||||
extern s32 D_80161690;
|
||||
extern s32 D_80161718;
|
||||
|
||||
@@ -16,4 +16,7 @@
|
||||
#define USEC_TO_CYCLES(n) (((u64)(n)*(osClockRate/15625LL))/(1000000LL/15625LL))
|
||||
#define MSEC_TO_CYCLES(n) (USEC_TO_CYCLES((n) * 1000LL))
|
||||
|
||||
#define CYCLES_TO_USEC(c) (((u64)(c)*(1000000LL/15625LL))/(osClockRate/15625LL))
|
||||
#define CYCLES_TO_MSEC(c) ((s32)CYCLES_TO_USEC(c)/1000)
|
||||
|
||||
#endif // MACROS_H
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#ifndef PREVENT_BSS_REORDERING2_H
|
||||
#define PREVENT_BSS_REORDERING2_H
|
||||
|
||||
/**
|
||||
* See the explanation at prevent_bss_reordering.h
|
||||
*
|
||||
* Instead of producing 64 dummy declarations, this header only produces 32
|
||||
* dummy declarations
|
||||
*/
|
||||
|
||||
struct Dummy100 { int x; };
|
||||
struct Dummy101 { int x; };
|
||||
struct Dummy102 { int x; };
|
||||
struct Dummy103 { int x; };
|
||||
struct Dummy104 { int x; };
|
||||
struct Dummy105 { int x; };
|
||||
struct Dummy106 { int x; };
|
||||
struct Dummy107 { int x; };
|
||||
struct Dummy108 { int x; };
|
||||
struct Dummy109 { int x; };
|
||||
struct Dummy110 { int x; };
|
||||
struct Dummy111 { int x; };
|
||||
struct Dummy112 { int x; };
|
||||
struct Dummy113 { int x; };
|
||||
struct Dummy114 { int x; };
|
||||
struct Dummy115 { int x; };
|
||||
struct Dummy116 { int x; };
|
||||
struct Dummy117 { int x; };
|
||||
struct Dummy118 { int x; };
|
||||
struct Dummy119 { int x; };
|
||||
struct Dummy120 { int x; };
|
||||
struct Dummy121 { int x; };
|
||||
struct Dummy122 { int x; };
|
||||
struct Dummy123 { int x; };
|
||||
struct Dummy124 { int x; };
|
||||
struct Dummy125 { int x; };
|
||||
struct Dummy126 { int x; };
|
||||
struct Dummy127 { int x; };
|
||||
struct Dummy128 { int x; };
|
||||
struct Dummy129 { int x; };
|
||||
struct Dummy130 { int x; };
|
||||
struct Dummy131 { int x; };
|
||||
|
||||
#endif
|
||||
+1
-1
@@ -88,7 +88,7 @@ typedef enum LevelId {
|
||||
/* 77 */ LEVEL_WARP_ZONE = 77,
|
||||
} LevelId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum VsStage {
|
||||
/* 0 */ VS_STAGE_CORNERIA,
|
||||
/* 1 */ VS_STAGE_KATINA,
|
||||
/* 2 */ VS_STAGE_SECTOR_Z,
|
||||
|
||||
+151
-1
@@ -778,7 +778,40 @@ extern s32 D_8017874C;
|
||||
extern s32 D_80178750;
|
||||
extern s32 D_80178754;
|
||||
extern s32 D_80178758;
|
||||
extern s32 sUnlockLandmaster; // sUnlockLandmaster
|
||||
extern s32 sUnlockOnFoot; // sUnlockOnFoot
|
||||
extern s32 D_80178768[];
|
||||
extern s32 D_80178768[];
|
||||
extern s32 D_80178778;
|
||||
extern s32 D_80178780[4];
|
||||
extern s32 D_80178790;
|
||||
extern s32 D_80178794;
|
||||
extern s32 D_80178798;
|
||||
extern s32 D_8017879C;
|
||||
extern s32 D_801787A0;
|
||||
extern s32 D_801787A4;
|
||||
extern s32 D_801787A8;
|
||||
extern f32 D_801787AC;
|
||||
extern f32 D_801787B0;
|
||||
extern s32 D_801787B4;
|
||||
extern s32 D_801787B8;
|
||||
extern s32 D_801787BC;
|
||||
extern f32 D_801787C0;
|
||||
extern f32 D_801787C4;
|
||||
extern f32 D_801787C8;
|
||||
extern f32 D_801787CC;
|
||||
extern f32 D_801787D0;
|
||||
extern f32 D_801787D8[4];
|
||||
extern f32 D_801787E8[4];
|
||||
extern s32 D_801787F8[4];
|
||||
extern u16 D_80178808[4];
|
||||
extern s32 D_80178810[4];
|
||||
extern s32 D_80178820[4];
|
||||
extern s32 D_80178830;
|
||||
extern s32 D_80178838[5];
|
||||
extern s32 D_80178850[4];
|
||||
extern OSTime D_80178860;
|
||||
extern OSTime D_80178868;
|
||||
|
||||
// fox_save
|
||||
extern SaveFile gSaveFile;
|
||||
@@ -810,6 +843,11 @@ extern u16 gHaasEffectDelaySizes[64];
|
||||
// extern EnvelopePoint gDefaultEnvelope[];
|
||||
// extern NoteUnkStruct gZeroNoteSub;
|
||||
// extern NoteUnkStruct gDefaultNoteSub;
|
||||
extern s32 D_800D4A90;
|
||||
extern s32 D_800D4A94;
|
||||
extern s32 D_800D4A98; // versus frame counter?
|
||||
extern s32 D_800D4A9C;
|
||||
extern s32 D_800D4AA0;
|
||||
extern s16 D_800DD200[];
|
||||
extern f32 gHeadsetPanVolume[];
|
||||
extern f32 gStereoPanVolume[];
|
||||
@@ -980,8 +1018,28 @@ extern Gfx D_302D120[];
|
||||
extern u8 D_3000000[];
|
||||
extern u16 D_3000080[];
|
||||
extern Gfx D_3000090[];
|
||||
extern u8 D_30001E0[];
|
||||
extern u16 D_3000380[];
|
||||
extern u8 D_30003A0[];
|
||||
extern u16 D_30004E0[];
|
||||
extern u8 D_3000510[];
|
||||
extern Gfx D_3000660[];
|
||||
extern u16 D_30006A0[];
|
||||
extern u8 D_30006D0[];
|
||||
extern u16 D_3000810[];
|
||||
extern u16 D_3000BC0[];
|
||||
extern u8 D_30013E0[];
|
||||
extern u8 D_3001420[];
|
||||
extern u16 D_3003E20[];
|
||||
extern u8 D_3004010[];
|
||||
extern u16 D_3004D58[];
|
||||
extern u8 D_3006C60[];
|
||||
extern u16 D_3007500[];
|
||||
extern u8 D_300A470[];
|
||||
extern u16 D_300B218[];
|
||||
|
||||
extern u8 D_5007F60[];
|
||||
|
||||
extern Gfx D_3001C90[];
|
||||
extern u16 D_3002E80[];
|
||||
extern Gfx D_3003CE0[];
|
||||
@@ -1207,6 +1265,7 @@ extern Vtx D_6004500[];
|
||||
extern Gfx D_6004570[];
|
||||
extern Gfx D_60046F0[];
|
||||
extern u16 D_60047E0[];
|
||||
extern u8 D_6004AC0[];
|
||||
extern Gfx D_6004FE0[];
|
||||
extern Gfx D_6005360[];
|
||||
extern u16 D_6005700[];
|
||||
@@ -1265,6 +1324,7 @@ extern Gfx D_6007410[];
|
||||
extern Gfx D_60075D0[];
|
||||
extern Gfx D_6007650[];
|
||||
extern Gfx D_60079B0[];
|
||||
extern u8 D_6007B90[];
|
||||
extern Gfx D_6007CF0[];
|
||||
extern Gfx D_6007D80[];
|
||||
extern Gfx D_6007D90[];
|
||||
@@ -1278,6 +1338,7 @@ extern Gfx D_6009250[];
|
||||
extern f32 D_60092E8[];
|
||||
extern f32 D_6009388[];
|
||||
extern Gfx D_60097E0[];
|
||||
extern u8 D_6009AD0[];
|
||||
extern u16* D_6009B34[];
|
||||
extern u16 D_6009BB8[];
|
||||
extern f32 D_6009CC4[];
|
||||
@@ -1357,6 +1418,7 @@ extern Gfx D_6010E00[];
|
||||
extern u8 D_6010FA0[];
|
||||
extern f32 D_6011058[];
|
||||
extern f32 D_601115C[];
|
||||
extern u8 D_6011660[];
|
||||
extern u8 D_6011890[];
|
||||
extern Gfx D_60119A0[];
|
||||
extern f32 D_6011B24[];
|
||||
@@ -1393,6 +1455,7 @@ extern Gfx D_6014B50[];
|
||||
extern Gfx D_60153B0[];
|
||||
extern u16 D_6015430[];
|
||||
extern Gfx D_6015730[];
|
||||
extern u8 D_6015CE0[];
|
||||
extern Gfx D_6015F00[];
|
||||
extern Gfx D_6016270[];
|
||||
extern Gfx D_60164F0[];
|
||||
@@ -1489,13 +1552,16 @@ extern Gfx D_6024010[];
|
||||
extern Gfx D_6024220[];
|
||||
extern Gfx D_60244A0[];
|
||||
extern u16 D_60245E0[];
|
||||
extern u16 D_60247E0[];
|
||||
extern Gfx D_6024AC0[];
|
||||
extern Gfx D_6024B60[];
|
||||
extern u16 D_6025500[];
|
||||
extern Gfx D_6025B50[];
|
||||
extern u16 D_6026420[];
|
||||
extern u16 D_6026C90[];
|
||||
extern Gfx D_60270E0[];
|
||||
extern Gfx D_6027180[];
|
||||
extern u16 D_6022340[];
|
||||
extern AnimationHeader D_6027320;
|
||||
extern u16 D_6027340[];
|
||||
extern Limb* D_602742C[];
|
||||
@@ -1505,6 +1571,8 @@ extern u16 D_6028260[];
|
||||
extern f32 D_6028454[];
|
||||
extern u16* D_60289FC[];
|
||||
extern u16 D_6028A60[];
|
||||
extern u16 D_6029170[];
|
||||
extern u8 D_6029220[];
|
||||
extern AnimationHeader D_6029528;
|
||||
extern Limb* D_6029674[];
|
||||
extern Gfx D_6029890[];
|
||||
@@ -1515,6 +1583,7 @@ extern u16 D_602AC50[];
|
||||
extern u16 D_602ACC0[];
|
||||
extern ObjectInit* D_602B148[];
|
||||
extern Gfx D_602B4C0[];
|
||||
extern u16 D_602B620[];
|
||||
extern f32 D_602B9EC[];
|
||||
extern f32 D_602BA20[];
|
||||
extern f32 D_602BAE4[];
|
||||
@@ -1536,6 +1605,7 @@ extern f32 D_602C2B0[];
|
||||
extern u16 D_602C2CC[];
|
||||
extern Gfx D_602D5F0[];
|
||||
extern Gfx D_602DA20[];
|
||||
extern u16 D_602DAD0[];
|
||||
extern Gfx D_602DAE0[];
|
||||
extern Gfx D_602DB80[];
|
||||
extern Gfx D_602DC20[];
|
||||
@@ -1559,6 +1629,7 @@ extern f32 D_602F740[];
|
||||
extern f32 D_602F75C[];
|
||||
extern Gfx D_602F7C0[];
|
||||
extern f32 D_602FA50[];
|
||||
extern u16 D_602FF60[];
|
||||
extern Gfx D_6030500[];
|
||||
extern Gfx D_6030630[];
|
||||
extern Gfx D_60306D0[];
|
||||
@@ -1594,6 +1665,7 @@ extern u16 D_603158C[];
|
||||
extern u16* D_60320D0[];
|
||||
extern Gfx D_60320E0[];
|
||||
extern f32 D_6032328[];
|
||||
extern u16 D_60323D0[];
|
||||
extern f32 D_6032408[];
|
||||
extern f32 D_6032488[];
|
||||
extern f32 D_60324EC[];
|
||||
@@ -1705,7 +1777,11 @@ extern u16 D_603EB38[];
|
||||
extern Gfx D_6041070[];
|
||||
extern u16 D_60447A0[];
|
||||
extern u16 D_6047550[];
|
||||
extern Gfx D_6049F80[];
|
||||
extern Gfx D_604A190[];
|
||||
extern Gfx D_604A710[];
|
||||
extern Gfx D_604A9F0[];
|
||||
extern Gfx D_604A400[];
|
||||
extern Gfx D_605C230[];
|
||||
extern f32 D_6028578[];
|
||||
extern Gfx D_600F1F0[];
|
||||
@@ -1724,7 +1800,19 @@ extern Gfx D_7001540[];
|
||||
extern u8 D_7001DF0[];
|
||||
extern u8 D_7002110[];
|
||||
extern u8 D_7003650[];
|
||||
extern Gfx D_7003830[];
|
||||
extern u8 D_7003C70[];
|
||||
extern u8 D_7003E10[];
|
||||
extern u8 D_7003F10[];
|
||||
extern u8 D_7004010[];
|
||||
extern u8 D_7004050[];
|
||||
extern u16 D_7004150[];
|
||||
extern u8 D_70041F0[];
|
||||
extern u16 D_70042F0[];
|
||||
extern u8 D_7004360[];
|
||||
extern u16 D_7004460[];
|
||||
extern u8 D_70044D0[];
|
||||
extern u16 D_7004990[];
|
||||
extern Gfx D_7007350[];
|
||||
extern Gfx D_700AB70[];
|
||||
extern Gfx D_700BB10[];
|
||||
@@ -1734,6 +1822,7 @@ extern Limb* D_700CB60[];
|
||||
extern u16 D_700E9A0[];
|
||||
extern u8 D_70118E0[];
|
||||
extern u16 D_70123F8[];
|
||||
extern u16 D_70123F8[];
|
||||
|
||||
// ast_9EB5E0, ast_CA9DE0, ast_D43400, ast_D68480, ast_D91F10
|
||||
extern u8 D_8000000[];
|
||||
@@ -1872,5 +1961,66 @@ extern Gfx D_F0103D0[];
|
||||
extern Gfx D_F014180[];
|
||||
extern Gfx D_F014310[];
|
||||
|
||||
#endif // VARIABLES_H
|
||||
// fox_map, to be ordered later
|
||||
|
||||
extern u8 D_60030D0[];
|
||||
extern u8 D_600B9B0[];
|
||||
extern u8 D_6010010[];
|
||||
extern u8 D_600E210[];
|
||||
extern u8 D_6006320[];
|
||||
extern u8 D_60131A0[];
|
||||
extern u8 D_6001C80[];
|
||||
extern u8 D_6017640[];
|
||||
extern u8 D_6014360[];
|
||||
extern u8 D_6008990[];
|
||||
extern u8 D_600AD30[];
|
||||
extern u8 D_6011EA0[];
|
||||
extern u8 D_6016760[];
|
||||
extern u8 D_6005740[];
|
||||
extern u8 D_6003B50[];
|
||||
extern u8 D_600CC10[];
|
||||
extern u8 D_60105C0[];
|
||||
extern u8 D_600F390[];
|
||||
extern u8 D_6006E80[];
|
||||
extern u8 D_60139E0[];
|
||||
extern u8 D_6002160[];
|
||||
extern u8 D_6018280[];
|
||||
extern u8 D_6014BA0[];
|
||||
extern Gfx D_6055F20[];
|
||||
extern Gfx D_6051D20[];
|
||||
extern u8 D_601FF40[];
|
||||
extern u8 D_602B6D0[];
|
||||
extern u8 D_6026D70[];
|
||||
extern u8 D_602FFD0[];
|
||||
extern u8 D_60223E0[];
|
||||
extern u8 D_6024890[];
|
||||
extern u8 D_60190B0[];
|
||||
extern u8 D_602DB60[];
|
||||
extern Gfx D_6060610[];
|
||||
extern Gfx D_601C0D0[];
|
||||
extern Gfx D_601DE80[];
|
||||
extern Gfx D_601C960[];
|
||||
extern Gfx D_604B750[];
|
||||
extern Gfx D_604DB10[];
|
||||
extern Gfx D_601F6B0[];
|
||||
extern u16 D_6041A80[];
|
||||
extern u16 D_603F380[];
|
||||
extern u16 D_6035780[];
|
||||
extern u16 D_6037E80[];
|
||||
extern u16 D_6033080[];
|
||||
extern u16 D_603CC80[];
|
||||
extern u16 D_603A580[];
|
||||
extern u16 D_603A580[];
|
||||
extern u16 D_6032A60[];
|
||||
extern u16 D_6044180[];
|
||||
extern u16 D_6032440[];
|
||||
|
||||
extern Gfx D_9006AE0[];
|
||||
extern Gfx D_9000570[];
|
||||
extern Gfx D_90086F0[];
|
||||
extern Gfx D_9002EA0[];
|
||||
extern Gfx D_9005380[];
|
||||
extern Gfx D_90075A0[];
|
||||
extern Gfx D_9004230[];
|
||||
|
||||
#endif // VARIABLES_H
|
||||
|
||||
@@ -120,6 +120,11 @@ D_8017873C = 0x8017873C;
|
||||
D_80178740 = 0x80178740;
|
||||
D_80178744 = 0x80178744;
|
||||
D_80178748 = 0x80178748;
|
||||
|
||||
// fox_versus
|
||||
sUnlockLandmaster = 0x8017875C;
|
||||
sUnlockOnFoot = 0x80178760;
|
||||
|
||||
gCurrentMsgPri = 0x800D4A70;
|
||||
|
||||
func_800BA760 = 0x800BA760;
|
||||
|
||||
@@ -351,6 +351,7 @@ D_60034D0 = 0x060034D0;
|
||||
D_6003610 = 0x06003610;
|
||||
D_60036A0 = 0x060036A0;
|
||||
D_6004170 = 0x06004170;
|
||||
D_6004AC0 = 0x06004AC0;
|
||||
D_6005360 = 0x06005360;
|
||||
D_6005780 = 0x06005780;
|
||||
D_6006140 = 0x06006140;
|
||||
@@ -385,6 +386,7 @@ D_6007410 = 0x06007410;
|
||||
D_6007558 = 0x06007558;
|
||||
D_60075D0 = 0x060075D0;
|
||||
D_60079B0 = 0x060079B0;
|
||||
D_6007B90 = 0x06007B90;
|
||||
D_6007D80 = 0x06007D80;
|
||||
D_6008370 = 0x06008370;
|
||||
D_6008E08 = 0x06008E08;
|
||||
@@ -392,6 +394,7 @@ D_600924C = 0x0600924C;
|
||||
D_60092E8 = 0x060092E8;
|
||||
D_6009388 = 0x06009388;
|
||||
D_60097E0 = 0x060097E0;
|
||||
D_6009AD0 = 0x06009AD0;
|
||||
D_6009CC4 = 0x06009CC4;
|
||||
D_6009CFC = 0x06009CFC;
|
||||
D_600A420 = 0x0600A420;
|
||||
@@ -427,6 +430,7 @@ D_6010E00 = 0x06010E00;
|
||||
D_6011058 = 0x06011058;
|
||||
D_601115C = 0x0601115C;
|
||||
D_601115C = 0x0601115C;
|
||||
D_6011660 = 0x06011660;
|
||||
D_601170C = 0x0601170C;
|
||||
D_6011B24 = 0x06011B24;
|
||||
D_6011BF4 = 0x06011BF4;
|
||||
@@ -447,6 +451,7 @@ D_6014B50 = 0x06014B50;
|
||||
D_6014FEC = 0x06014FEC;
|
||||
D_60153B0 = 0x060153B0;
|
||||
D_6015730 = 0x06015730;
|
||||
D_6015CE0 = 0x06015CE0;
|
||||
D_6015F00 = 0x06015F00;
|
||||
D_6016270 = 0x06016270;
|
||||
D_6016374 = 0x06016374;
|
||||
@@ -488,16 +493,22 @@ D_601F1D0 = 0x0601F1D0;
|
||||
D_601F500 = 0x0601F500;
|
||||
D_601F5A0 = 0x0601F5A0;
|
||||
D_601FCB0 = 0x0601FCB0;
|
||||
D_6022340 = 0x06022340;
|
||||
D_60231C0 = 0x060231C0;
|
||||
D_60238F0 = 0x060238F0;
|
||||
D_6024010 = 0x06024010;
|
||||
D_60244A0 = 0x060244A0;
|
||||
D_60247E0 = 0x060247E0;
|
||||
D_6024AC0 = 0x06024AC0;
|
||||
D_6026C90 = 0x06026C90;
|
||||
D_60270E0 = 0x060270E0;
|
||||
D_6027180 = 0x06027180;
|
||||
D_6027900 = 0x06027900;
|
||||
D_6028454 = 0x06028454;
|
||||
D_6029170 = 0x06029170;
|
||||
D_6029220 = 0x06029220;
|
||||
D_602B4C0 = 0x0602B4C0;
|
||||
D_602B620 = 0x0602B620;
|
||||
D_602B9EC = 0x0602B9EC;
|
||||
D_602BA20 = 0x0602BA20;
|
||||
D_602BAE4 = 0x0602BAE4;
|
||||
@@ -517,6 +528,7 @@ D_602C2B0 = 0x0602C2B0;
|
||||
D_602CACC = 0x0602CACC;
|
||||
D_602CB80 = 0x0602CB80;
|
||||
D_602D5F0 = 0x0602D5F0;
|
||||
D_602DAD0 = 0x0602DAD0;
|
||||
D_602DAE0 = 0x0602DAE0;
|
||||
D_602DB80 = 0x0602DB80;
|
||||
D_602DC20 = 0x0602DC20;
|
||||
@@ -535,6 +547,7 @@ D_602F75C = 0x0602F75C;
|
||||
D_602F7C0 = 0x0602F7C0;
|
||||
D_602FA50 = 0x0602FA50;
|
||||
D_602FA9C = 0x0602FA9C;
|
||||
D_602FF60 = 0x0602FF60;
|
||||
D_60300C8 = 0x060300C8;
|
||||
D_6030208 = 0x06030208;
|
||||
D_6030500 = 0x06030500;
|
||||
@@ -586,6 +599,7 @@ D_603204C = 0x0603204C;
|
||||
D_60320B8 = 0x060320B8;
|
||||
D_603216C = 0x0603216C;
|
||||
D_6032388 = 0x06032388;
|
||||
D_60323D0 = 0x060323D0;
|
||||
D_6032430 = 0x06032430;
|
||||
D_6032488 = 0x06032488;
|
||||
D_60324EC = 0x060324EC;
|
||||
@@ -686,6 +700,10 @@ D_603F338 = 0x0603F338;
|
||||
D_603F388 = 0x0603F388;
|
||||
D_603F40C = 0x0603F40C;
|
||||
D_603F4E4 = 0x0603F4E4;
|
||||
D_604A190 = 0x0604A190;
|
||||
D_604A400 = 0x0604A400;
|
||||
D_604A710 = 0x0604A710;
|
||||
D_6049F80 = 0x06049F80;
|
||||
|
||||
D_700AB70 = 0x0700AB70;
|
||||
D_700BE00 = 0x0700BE00;
|
||||
@@ -708,3 +726,65 @@ D_C038F24 = 0x0C038F24;
|
||||
D_D000000 = 0x0D000000;
|
||||
D_D00B5C0 = 0x0D00B5C0;
|
||||
D_D00B720 = 0x0D00B720;
|
||||
|
||||
// fox_map, to be ordered later
|
||||
D_60030D0 = 0x060030D0;
|
||||
D_600B9B0 = 0x0600B9B0;
|
||||
D_6010010 = 0x06010010;
|
||||
D_600E210 = 0x0600E210;
|
||||
D_6006320 = 0x06006320;
|
||||
D_60131A0 = 0x060131A0;
|
||||
D_6001C80 = 0x06001C80;
|
||||
D_6017640 = 0x06017640;
|
||||
D_6014360 = 0x06014360;
|
||||
|
||||
D_6008990 = 0x06008990;
|
||||
D_600AD30 = 0x0600AD30;
|
||||
D_6011EA0 = 0x06011EA0;
|
||||
D_6016760 = 0x06016760;
|
||||
D_6005740 = 0x06005740;
|
||||
|
||||
D_6003B50 = 0x06003B50;
|
||||
D_600CC10 = 0x0600CC10;
|
||||
D_60105C0 = 0x060105C0;
|
||||
D_600F390 = 0x0600F390;
|
||||
D_6006E80 = 0x06006E80;
|
||||
D_60139E0 = 0x060139E0;
|
||||
D_6002160 = 0x06002160;
|
||||
D_6018280 = 0x06018280;
|
||||
D_6014BA0 = 0x06014BA0;
|
||||
|
||||
D_6055F20 = 0x06055F20;
|
||||
D_6051D20 = 0x06051D20;
|
||||
D_601FF40 = 0x0601FF40;
|
||||
D_602B6D0 = 0x0602B6D0;
|
||||
D_6026D70 = 0x06026D70;
|
||||
D_602FFD0 = 0x0602FFD0;
|
||||
D_60223E0 = 0x060223E0;
|
||||
D_6024890 = 0x06024890;
|
||||
D_60190B0 = 0x060190B0;
|
||||
D_602DB60 = 0x0602DB60;
|
||||
D_6060610 = 0x06060610;
|
||||
D_601C0D0 = 0x0601C0D0;
|
||||
D_601DE80 = 0x0601DE80;
|
||||
D_601C960 = 0x0601C960;
|
||||
D_604B750 = 0x0604B750;
|
||||
D_604DB10 = 0x0604DB10;
|
||||
D_601F6B0 = 0x0601F6B0;
|
||||
D_6041A80 = 0x06041A80;
|
||||
D_603F380 = 0x0603F380;
|
||||
D_6035780 = 0x06035780;
|
||||
D_6037E80 = 0x06037E80;
|
||||
D_6033080 = 0x06033080;
|
||||
D_603CC80 = 0x0603CC80;
|
||||
D_603A580 = 0x0603A580;
|
||||
D_6032A60 = 0x06032A60;
|
||||
D_6044180 = 0x06044180;
|
||||
D_6032440 = 0x06032440;
|
||||
D_9006AE0 = 0x09006AE0;
|
||||
D_9000570 = 0x09000570;
|
||||
D_90086F0 = 0x090086F0;
|
||||
D_9002EA0 = 0x09002EA0;
|
||||
D_9005380 = 0x09005380;
|
||||
D_90075A0 = 0x090075A0;
|
||||
D_9004230 = 0x09004230;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "prevent_bss_reordering.h"
|
||||
|
||||
f32 __dx1;
|
||||
f32 __dx2;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "prevent_bss_reordering.h"
|
||||
|
||||
extern f32 D_E16C50_801C4188;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "prevent_bss_reordering.h"
|
||||
|
||||
Vec3f D_801615D0;
|
||||
Vec3f D_801615E0;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,151 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BC760.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BC88C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BC8D8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BC9DC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BCB44.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BCC48.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BCE24.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BCEF8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BCFFC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD05C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD0B4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD10C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD164.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD1B0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD1FC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD248.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD2A0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD2F8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD350.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD3A8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD4D4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD720.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD76C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD7C4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BD9FC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BDA54.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BDAA0.s")
|
||||
|
||||
void func_800BDE3C(void) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BDE44.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BE078.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BE300.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BE564.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BE924.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BECA8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BED78.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BEDDC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BEF00.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BEFE4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BF17C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BF59C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BF750.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800BF9AC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C024C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C0294.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C04DC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C075C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C07C4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C08D0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C0970.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C0A04.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C0B0C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C0C84.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C0D10.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C0E78.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C107C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C1138.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C1368.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C15D8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C1690.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C16A0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C16D0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C1700.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C176C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C1E9C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C1ED4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C20B0.s")
|
||||
|
||||
void func_800C2190(void) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C2198.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C2244.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/func_800C26C8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/D_800D9260.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/D_800D9264.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/D_800D926C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_versus/D_800D9274.s")
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "prevent_bss_reordering.h"
|
||||
|
||||
s32 sSeededRandSeed3;
|
||||
s32 sRandSeed1;
|
||||
|
||||
+826
-962
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user