mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-02 16:23:57 +03: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:
parent
9c2707adc1
commit
410a5b017b
39
.vscode/launch.json
vendored
39
.vscode/launch.json
vendored
@ -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/"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@ -10,8 +10,6 @@
|
||||
"build/**": true,
|
||||
"expected/**": true,
|
||||
"tools/**": true,
|
||||
"tools/aspatch/**": false,
|
||||
"tools/gfxsotn/**": false,
|
||||
},
|
||||
"defines": [
|
||||
"_LANGUAGE_C", // For gbi.h
|
||||
|
58
first_diff.py
Executable file
58
first_diff.py
Executable file
@ -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()
|
64
include/fox_map.h
Normal file
64
include/fox_map.h
Normal file
@ -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*);
|
||||
|
@ -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
|
||||
|
44
include/prevent_bss_reordering2.h
Normal file
44
include/prevent_bss_reordering2.h
Normal file
@ -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
|
@ -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,
|
||||
|
@ -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;
|
||||
|
2015
src/main/fox_versus.c
Normal file
2015
src/main/fox_versus.c
Normal file
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;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,23 +0,0 @@
|
||||
#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;
|
||||
|
||||
#endif
|
@ -1,3 +1,9 @@
|
||||
/*
|
||||
* File: fox_option.c
|
||||
* System: Option
|
||||
* Description: Starfox Option Menu Handler
|
||||
*/
|
||||
|
||||
#include "global.h"
|
||||
#include "fox_option.h"
|
||||
|
||||
@ -21,14 +27,11 @@ static f32 D_EBFBE0_801AE588[] = { 124.0f, 118.0f, 145.0f, 125.0f, 133.0f, 118.0
|
||||
static f32 D_EBFBE0_801AE5A0[] = { 54.0f, 78.0f, 103.0f, 126.0f, 151.0f, 175.0f };
|
||||
static f32 D_EBFBE0_801AE5B8[] = { 124.0f, 118.0f, 145.0f, 125.0f, 133.0f, 118.0f };
|
||||
static f32 D_EBFBE0_801AE5D0[] = { 54.0f, 78.0f, 103.0f, 126.0f, 151.0f, 175.0f };
|
||||
|
||||
static f32 D_EBFBE0_801AE5E8[] = { 124.0f, 125.0f };
|
||||
static f32 D_EBFBE0_801AE5F0[] = { 54.0f, 55.0f };
|
||||
static f32 D_EBFBE0_801AE5F8[] = { 133.0f, 125.0f };
|
||||
static f32 D_EBFBE0_801AE600[] = { 151.0f, 151.0f };
|
||||
|
||||
static f32 D_EBFBE0_801AE608[] = { 8.0f, 8.0f, 8.0f, 8.0f, 8.0f, 8.0f };
|
||||
|
||||
static f32 D_EBFBE0_801AE620[] = { 1.9f, 2.4f, 0.9f, 1.9f, 1.8f, 2.4f };
|
||||
|
||||
static MenuContext D_EBFBE0_801AE638[6] = {
|
||||
@ -3210,10 +3213,17 @@ void func_EBFBE0_8019AB30(void) {
|
||||
// extern f32 D_EBFBE0_801B9338; // in-function
|
||||
// needs in function static
|
||||
#if defined(IMPORT_BSS) || defined(NON_MATCHING)
|
||||
#ifndef IMPORT_BSS
|
||||
extern f32 D_EBFBE0_801B9324;
|
||||
extern f32 D_EBFBE0_801B9328;
|
||||
extern f32 D_EBFBE0_801B9338;
|
||||
#endif
|
||||
void func_EBFBE0_8019AD84(void) {
|
||||
#ifdef IMPORT_BSS
|
||||
static f32 D_EBFBE0_801B9324;
|
||||
static f32 D_EBFBE0_801B9328;
|
||||
static f32 D_EBFBE0_801B9338;
|
||||
#endif
|
||||
s32 pad[2];
|
||||
s32 colorGB;
|
||||
s32 var_v0;
|
||||
@ -3277,12 +3287,19 @@ static u8* D_EBFBE0_801AF28C[] = {
|
||||
|
||||
// needs in-function static data & bss
|
||||
#if defined(IMPORT_BSS) || defined(NON_MATCHING)
|
||||
#ifndef IMPORT_BSS
|
||||
extern f32 D_EBFBE0_801B93C0;
|
||||
extern f32 D_EBFBE0_801B93C8;
|
||||
extern f32 D_EBFBE0_801B93CC;
|
||||
#endif
|
||||
void func_EBFBE0_8019AFFC(void) {
|
||||
static f32 D_EBFBE0_801AF2A0 = 101.0f;
|
||||
static f32 D_EBFBE0_801AF2A4 = 86.0f;
|
||||
#ifdef IMPORT_BSS
|
||||
static f32 D_EBFBE0_801B93C0;
|
||||
static f32 D_EBFBE0_801B93C8;
|
||||
static f32 D_EBFBE0_801B93CC;
|
||||
#endif
|
||||
s32 var_v0;
|
||||
s32 colorGB;
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
/*
|
||||
* File: fox_title.c
|
||||
* System: Title
|
||||
* Description: Starfox Title Handler
|
||||
*/
|
||||
|
||||
#include "global.h"
|
||||
#include "fox_title.h"
|
||||
|
||||
|
@ -73,8 +73,6 @@ typedef struct {
|
||||
/* 0x10 */ f32 scale;
|
||||
} UnkStruct_D_EBFBE0_801B8688; // size = 0x14
|
||||
|
||||
extern char D_EBFBE0_801ADA44[];
|
||||
extern s32 D_EBFBE0_801ADA84[];
|
||||
extern UnkStruct_D_EBFBE0_801B8294 D_EBFBE0_801B6B40[];
|
||||
extern UnkStruct_D_EBFBE0_801B8294 D_EBFBE0_801B6C60[];
|
||||
extern f32 D_EBFBE0_801B7BB0;
|
||||
|
0
tools/global_bss_check.py
Normal file → Executable file
0
tools/global_bss_check.py
Normal file → Executable file
@ -195,7 +195,7 @@
|
||||
- [0xB99D0, c, fox_rcp]
|
||||
- [0xBB360, c, fox_radio]
|
||||
- [0xBD0B0, c, fox_reset]
|
||||
- [0xBD360, c, sf_versus]
|
||||
- [0xBD360, c, fox_versus]
|
||||
- [0xC3430, c, fox_message]
|
||||
- [0xC3BB0, c, fox_save]
|
||||
|
||||
@ -284,7 +284,7 @@
|
||||
- [0xD3DB0, .data, fox_rcp]
|
||||
- [0xD5670, .data, fox_radio]
|
||||
- [0xD5680, .data, fox_reset]
|
||||
- [0xD5690, data, sf_versus]
|
||||
- [0xD5690, .data, fox_versus]
|
||||
- [0xD5910, .data, fox_save]
|
||||
|
||||
# RODATA - game engine
|
||||
@ -309,7 +309,7 @@
|
||||
- [0xD8EE0, .rodata, fox_A48A0]
|
||||
- [0xD8EF0, .rodata, fox_play]
|
||||
- [0xD97F0, .rodata, fox_radio]
|
||||
- [0xD9E50, .rodata, sf_versus]
|
||||
- [0xD9E50, .rodata, fox_versus]
|
||||
- [0xD9F60, .rodata, fox_message]
|
||||
- [0xDA030, .rodata, fox_save]
|
||||
|
||||
@ -371,7 +371,7 @@
|
||||
- { start: 0xDE480, type: bss, vram: 0x80161A50, name: fox_play }
|
||||
- { start: 0xDE480, type: .bss, vram: 0x80178580, name: fox_rcp }
|
||||
- { start: 0xDE480, type: .bss, vram: 0x80178720, name: fox_radio }
|
||||
- { start: 0xDE480, type: bss, vram: 0x80178750, name: sf_versus }
|
||||
- { start: 0xDE480, type: .bss, vram: 0x80178750, name: fox_versus }
|
||||
- { start: 0xDE480, type: .bss, vram: 0x80178870, name: fox_save }
|
||||
|
||||
- name: dma_table
|
||||
|
Loading…
Reference in New Issue
Block a user