All map data + rodata disasm (#218)

* Misc early code decomp

* Make expected script

* fix m2ctx

* gOverrideFlags & set/unset macros

* update symbol addrs

* Cleanup and PR comments

* oops

* UnkNpcAIFunc16

* UnkNpcAIFunc17

* UnkNpcAIFunc18

* symbol_addrs

* area_mac data/rodata disassembly

* 16C8E0 segment rodata migration

* delete_actor

* 16F740 funcs

* symbol_addrs

* depend on s files: optional

* UnkNpcAIFunc19

* UnkNpcAIFunc20

* UnkNpcAIFunc21

* UnkNpcAIFunc22

* .

* removing unnecessary lines from splat yaml

* all map rodata disassembled

* all map data disasm

* 2 undefined syms

* fix stuff

* Update splat extensions

* .

* git subrepo pull (merge) tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "d93689f269"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "d93689f269"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull (merge) tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "a1db6e1200"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "a1db6e1200"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "45f167b5fd"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "45f167b5fd"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "8d3af099e7"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "8d3af099e7"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "e904556c0c"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "e904556c0c"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "795df1f226"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "795df1f226"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "90787f49bd"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "90787f49bd"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "8f4395956b"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "8f4395956b"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Updated splat, fixed alignment stuff, woo

* File split
This commit is contained in:
Ethan Roseman 2021-03-23 11:29:47 +09:00 committed by GitHub
parent 9e06bed2b2
commit eac31e27ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2046 changed files with 18078 additions and 5079 deletions

View File

@ -27,16 +27,17 @@ def read_splat(splat_config: str, version: str):
import argparse
import yaml
from segtypes.n64.code import N64SegCode
from util import options
# Load config
with open(splat_config) as f:
config = yaml.safe_load(f.read())
options = config.get("options")
options.initialize(config)
assert options.get("ld_o_replace_extension", True) == False
# Initialize segments
all_segments = split.initialize_segments(options, splat_config, config["segments"])
all_segments = split.initialize_segments(splat_config, config["segments"])
objects = set()
segments = {}
@ -153,6 +154,7 @@ async def main():
parser.add_argument("--cflags", default="", help="Extra cc/cpp flags")
parser.add_argument("--no-splat", action="store_true", help="Don't split assets from the baserom(s)")
parser.add_argument("--clean", action="store_true", help="Delete assets and previously-built files")
parser.add_argument("--depend-on-s", action="store_true", help="Configure dependencies on .s files for c files that include them")
args = parser.parse_args()
versions = args.version
@ -563,7 +565,7 @@ async def main():
obj(c_file),
"cc_dsl" if status == 0 else "cc",
c_file,
implicit=glob(s_glob),
implicit = None if not args.depend_on_s else glob(s_glob),
order_only="generated_headers_" + version,
variables={ "version": version }
)

View File

@ -675,13 +675,22 @@ typedef struct BattleStatus {
/* 0x438 */ FGModelData* foregroundModelData;
/* 0x43C */ BattleStatusUnk* unk_43C;
/* 0x440 */ u8 tattleFlags[27];
/* 0x45B */ char unk_45B[17];
/* 0x45B */ char unk_45B[5];
/* 0x460 */ s32 unk_460;
/* 0x464 */ s32 unk_464;
/* 0x468 */ char unk_468[4];
/* 0x46C */ s32 battleState; /* 0 = load assets, 1 = create actors, 4 = start scripts, 7 & 8 = unk */
/* 0x470 */ s32 unk_470;
/* 0x474 */ char unk_474[6];
/* 0x474 */ s32 unk_474;
/* 0x478 */ s8 unk_478;
/* 0x479 */ char unk_479;
/* 0x47A */ u8 currentBattleSection;
/* 0x47B */ u8 unk_47B;
/* 0x47C */ char unk_47C[20];
/* 0x47C */ s32 unk_47C;
/* 0x480 */ s32 unk_480;
/* 0x484 */ s32 unk_484;
/* 0x488 */ s32 unk_488;
/* 0x48C */ struct BattleList* unk_48C;
} BattleStatus; // size = 0x490
typedef struct TextureHeader {

View File

@ -326,11 +326,9 @@ extern s32 D_802920C0[];
extern s32 D_802920E8[];
extern s32 D_802920E8[];
extern s32 D_80292110[];
extern s32 D_8028358C[];
extern UNK_PTR D_800F7BE8;
extern UNK_PTR D_800F7BBC;
extern UNK_PTR D_800F7B94;
extern s32 D_802C05CC;

View File

@ -2,22 +2,6 @@
#include "ld_addrs.h"
#include "battle.h"
typedef struct BattleArea {
/* 0x00 */ char* name; ///< JP debug name.
/* 0x04 */ s32 dmaStart;
/* 0x08 */ s32 dmaEnd;
/* 0x0C */ void* dmaDest;
/* 0x10 */ BattleList* battles;
/* 0x14 */ StageList* stages;
/* 0x18 */ s32 unused_18;
/* 0x1C */ void* dmaTable;
} BattleArea; // size = 0x20
#define AREA(id) \
.dmaStart = &code_##id##_ROM_START, \
.dmaEnd = &code_##id##_ROM_END, \
.dmaDest = &code_##id##_VRAM
const s32 D_80099E40[] = {
/* 0x75240 */ 0x00010202, 0x03030303, 0x04040404, 0x04040404,
/* 0x75250 */ 0x05050505, 0x05050505, 0x05050505, 0x05050505,

View File

@ -197,6 +197,24 @@
#define ACTOR_TYPE_slot_machine_start_dup3 0xD3
#define ACTOR_TYPE_COUNT 0xD4
#define AREA(id) \
.dmaStart = &code_##id##_ROM_START, \
.dmaEnd = &code_##id##_ROM_END, \
.dmaDest = &code_##id##_VRAM
typedef struct ActorPartDesc {
/* 0x00 */ s32 flags;
/* 0x04 */ s8 index;
/* 0x05 */ Vec3b posOffset;
/* 0x08 */ Vec2b targetOffset;
/* 0x0A */ s16 opacity;
/* 0x0C */ s32* idleAnimations;
/* 0x10 */ s32* defenseTable;
/* 0x14 */ s32 eventFlags;
/* 0x18 */ s32 elementImmunityFlags;
/* 0x1C */ char unk_1C[8];
} ActorPartDesc; // size = 0x24
typedef struct ActorDesc {
/* 0x00 */ s32 flags;
/* 0x04 */ char unk_04;
@ -222,6 +240,16 @@ typedef struct ActorDesc {
/* 0x26 */ Vec2b statusMessageOffset;
} ActorDesc; // size = 0x28
typedef struct FormationRow {
/* 0x00 */ ActorDesc* actor;
/* 0x04 */ s32 position; ///< Home position. May also be a `Vector3*`.
/* 0x08 */ s32 priority; ///< Actors with higher priority values take their turn first.
/* 0x0C */ s32 var0;
/* 0x10 */ s32 var1;
/* 0x14 */ s32 var2;
/* 0x18 */ s32 var3;
} Formation[]; // size = 0x1C * n
typedef struct Stage {
/* 0x00 */ const char* texture;
/* 0x04 */ const char* shape;
@ -235,22 +263,6 @@ typedef struct Stage {
/* 0x24 */ s32 unk_24;
} Stage; // size = 0x28
/// Zero-terminated.
typedef struct StageListRow {
/* 0x00 */ const char* id; ///< Map ID.
/* 0x04 */ Stage* stage;
} StageList[]; // size = 0x08 * n
typedef struct FormationRow {
/* 0x00 */ ActorDesc* actor;
/* 0x04 */ s32 position; ///< Home position. May also be a `Vector3*`.
/* 0x08 */ s32 priority; ///< Actors with higher priority values take their turn first.
/* 0x0C */ s32 var0;
/* 0x10 */ s32 var1;
/* 0x14 */ s32 var2;
/* 0x18 */ s32 var3;
} Formation[]; // size = 0x1C * n
/// Zero-terminated.
typedef struct Battle {
/* 0x00 */ const char* name; ///< Debug SJIS name.
@ -260,6 +272,25 @@ typedef struct Battle {
/* 0x10 */ s32 unk_10;
} BattleList[]; // size = 0x14 * n
/// Zero-terminated.
typedef struct StageListRow {
/* 0x00 */ const char* id; ///< Map ID.
/* 0x04 */ Stage* stage;
} StageList[]; // size = 0x08 * n
typedef struct BattleArea {
/* 0x00 */ char* name; ///< JP debug name.
/* 0x04 */ s32 dmaStart;
/* 0x08 */ s32 dmaEnd;
/* 0x0C */ void* dmaDest;
/* 0x10 */ BattleList* battles;
/* 0x14 */ StageList* stages;
/* 0x18 */ s32 unused_18;
/* 0x1C */ void* dmaTable;
} BattleArea; // size = 0x20
extern BattleArea gBattleAreas[0x30];
#define BATTLE(name, formation, stage) { name, ARRAY_COUNT(formation), formation, stage }
// TODO: enum for home position (0..3 are floor, 4..7 are air, etc.)
@ -271,19 +302,6 @@ typedef struct {
typedef DefenseTableEntry DefenseTable[];
typedef struct ActorPartDesc {
/* 0x00 */ s32 flags;
/* 0x04 */ s8 index;
/* 0x05 */ Vec3b posOffset;
/* 0x08 */ Vec2b targetOffset;
/* 0x0A */ s16 opacity;
/* 0x0C */ s32* idleAnimations;
/* 0x10 */ s32* defenseTable;
/* 0x14 */ s32 eventFlags;
/* 0x18 */ s32 elementImmunityFlags;
/* 0x1C */ char unk_1C[8];
} ActorPartDesc; // size = 0x24
typedef struct ActorSounds {
/* 0x00 */ SoundID walk[2];
/* 0x08 */ SoundID fly[2];

View File

@ -137,7 +137,7 @@ ApiStatus func_80238358_6FB068(ScriptInstance* script, s32 isInitialCall) {
script->varTable[15] = var1;
return 2;
return ApiStatus_DONE2;
}
ApiStatus func_8023849C_6FB1AC(ScriptInstance* script, s32 isInitialCall) {
@ -184,7 +184,7 @@ ApiStatus func_8023849C_6FB1AC(ScriptInstance* script, s32 isInitialCall) {
script->varTable[15] = var1;
return 2;
return ApiStatus_DONE2;
}
ApiStatus func_80238590_6FB2A0(ScriptInstance* script, s32 isInitialCall) {
@ -223,5 +223,5 @@ ApiStatus func_80238590_6FB2A0(ScriptInstance* script, s32 isInitialCall) {
script->varTable[15] = var1;
return 2;
return ApiStatus_DONE2;
}

View File

@ -21,9 +21,9 @@ ApiStatus func_802A1518_7905E8(ScriptInstance* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
s32 func_802A1528_7905F8(ActorPart* actorPart) {
actorPart->unk_84 = D_802A2CC0;
return 2;
ApiStatus func_802A1528_7905F8(ScriptInstance* script, s32 isInitialCall) {
script->varTable[0] = D_802A2CC0;
return ApiStatus_DONE2;
}
ApiStatus func_802A153C_79060C(ScriptInstance* script, s32 isInitialCall) {

View File

@ -1004,7 +1004,14 @@ ActorPartDesc bMarioParts[] = {
};
s32 D_80283524[] = {
0x00050000, 0xFFEC002D, 0x0000FFFB, 0x00550000, 0x000A007D, 0x00000019, 0x000A0032, 0xFFEC0032, 0x002DFFFB, 0x005A0032, 0x000A0082, 0x00370019, 0x000F0055, 0xFFEC0037, 0x0050FFFB, 0x005F0055, 0x000A0087, 0x005A0019, 0x000F007D, 0xFFEC0037, 0x0078FFFB, 0x005F007D, 0x000A0087, 0x00820019, 0x00690000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, D_8028358C, D_8028358C, D_8028358C, D_8028358C, D_8028358C, D_8028358C, D_8028358C, D_8028358C, 0x00000000,
0x00050000, 0xFFEC002D, 0x0000FFFB, 0x00550000, 0x000A007D, 0x00000019, 0x000A0032, 0xFFEC0032, 0x002DFFFB,
0x005A0032, 0x000A0082, 0x00370019, 0x000F0055, 0xFFEC0037, 0x0050FFFB, 0x005F0055, 0x000A0087, 0x005A0019,
0x000F007D, 0xFFEC0037, 0x0078FFFB, 0x005F007D, 0x000A0087, 0x00820019, 0x00690000, 0x00000000
};
s32 D_8028358C[] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
&D_8028358C, &D_8028358C, &D_8028358C, &D_8028358C, &D_8028358C, &D_8028358C, &D_8028358C, &D_8028358C,
0x00000000,
};
s16 D_802835D0[] = { 0x1C, 0x28 };

60
src/code_4DF30.c Normal file
View File

@ -0,0 +1,60 @@
#include "common.h"
#include "battle/battle.h"
extern s32 D_800DC060;
extern Stage* D_800DC064;
INCLUDE_ASM(s32, "code_4DF30", func_80072B30);
void func_80072BB0(void) {
func_80072B30();
}
void func_80072BCC(s32 arg0) {
gBattleStatus.unk_488 = arg0;
}
//weird stuff with loading gBattleStatus
#ifdef NON_MATCHING
void load_battle_section(void) {
BattleArea* battleArea;
s32 temp_a0;
battleArea = &gBattleAreas[gBattleStatus.currentBattleSection];
dma_copy(battleArea->dmaStart, battleArea->dmaEnd, battleArea->dmaDest);
gBattleStatus.unk_48C = &(*battleArea->battles)[gBattleStatus.unk_47B];
if (gBattleStatus.unk_47C >= 0) {
D_800DC064 = NULL;
} else {
D_800DC064 = &(*battleArea->stages)[gBattleStatus.unk_47C];
}
func_80241190(1);
gBattleStatus.unk_460 = 0;
}
#else
INCLUDE_ASM(s32, "code_4DF30", load_battle_section);
#endif
INCLUDE_ASM(s32, "code_4DF30", load_battle);
void set_battle_stage(s32 arg0) {
gBattleStatus.unk_47C = arg0;
}
void func_80072CDC(s32 arg0) {
gBattleStatus.unk_484 = arg0;
}
void func_80072CEC(f32 arg0, f32 arg1, f32 arg2){
}
void func_80072CF4(void) {
func_80072CEC(1.0f, 1.1f, 1.2f);
}
INCLUDE_ASM(s32, "code_4DF30", setup_demo_player);
INCLUDE_ASM(s32, "code_4DF30", load_demo_battle);

View File

@ -276,27 +276,3 @@ INCLUDE_ASM(s32, "code_4ac90_len_3910", func_80072A10);
INCLUDE_ASM(s32, "code_4ac90_len_3910", func_80072A70);
INCLUDE_ASM(s32, "code_4ac90_len_3910", func_80072AD0);
// FILE SPLIT
INCLUDE_ASM(s32, "code_4ac90_len_3910", func_80072B30);
INCLUDE_ASM(s32, "code_4ac90_len_3910", func_80072BB0);
INCLUDE_ASM(s32, "code_4ac90_len_3910", func_80072BCC);
INCLUDE_ASM(s32, "code_4ac90_len_3910", load_battle_section);
INCLUDE_ASM(s32, "code_4ac90_len_3910", load_battle);
INCLUDE_ASM(s32, "code_4ac90_len_3910", set_battle_stage);
INCLUDE_ASM(s32, "code_4ac90_len_3910", func_80072CDC);
void func_80072CEC(){
}
INCLUDE_ASM(s32, "code_4ac90_len_3910", func_80072CF4);
INCLUDE_ASM(s32, "code_4ac90_len_3910", setup_demo_player);
INCLUDE_ASM(s32, "code_4ac90_len_3910", load_demo_battle);

View File

@ -447,7 +447,7 @@ ApiStatus PlaySoundAtPlayer(ScriptInstance* script, s32 isInitialCall) {
s32 var2 = get_variable(script, *args++);
play_sound_at_player(var, var2);
return 2;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "code_F5750", func_802D2D30);

View File

@ -29,7 +29,8 @@ f32 D_800F7B60[] = { 0.154342994094f, -0.350080013275f, -0.182262003422f, 0.0115
f32 D_800F7B70[] = { 2.0, 4.0, 32.0, -32.0 };
s16 D_800F7B80 = 0;
s32 D_800F7B84[] = { 0, 0, 0};
s32 D_800F7B90[] = { 0x00000000, 0x00390000, 0x00390002, 0x00390003, 0x00390004, 0x00390005, 0x00390008, 0x00390007, 0x00390013, 0x00390014, 0xFFFFFFFF, 0x005A0000, 0x005A0002, 0x005A0003, 0x005A0004, 0x005A0006, 0x005A0007, 0x005A0009, 0x005A000A, 0x005A000B, 0x005A001A, 0xFFFFFFFF, 0x00580000, 0x00580001, 0x00580002, 0x00580004, 0x00580005, 0x00580006, 0x00580007, 0x00580008, 0x00580009, 0x00580012, 0x00580014, 0x0058001B, 0xFFFFFFFF };
s32 D_800F7B90 = 0;
s32 D_800F7B94[] = { 0x00390000, 0x00390002, 0x00390003, 0x00390004, 0x00390005, 0x00390008, 0x00390007, 0x00390013, 0x00390014, 0xFFFFFFFF, 0x005A0000, 0x005A0002, 0x005A0003, 0x005A0004, 0x005A0006, 0x005A0007, 0x005A0009, 0x005A000A, 0x005A000B, 0x005A001A, 0xFFFFFFFF, 0x00580000, 0x00580001, 0x00580002, 0x00580004, 0x00580005, 0x00580006, 0x00580007, 0x00580008, 0x00580009, 0x00580012, 0x00580014, 0x0058001B, 0xFFFFFFFF };
s32 D_800F7C1C[] = { 0x00580001, 0x00580004, 0x00580006, 0x00580008, 0x00580000 };
s32 D_800F7C30[] = { 0x0058001B, 0x00580001, 0x00580004, 0x00580006, 0x00580008, 0x00580000, 0x0058001B, 0x005A0003, 0x005A0006, 0x005A0009, 0x005A000B, 0x005A0000, 0x005A001A, 0x00390002, 0x00390003, 0x00390004, 0x00390005, 0x00390000, 0x00390014 };
void* D_800F7C7C[] = { &D_800F7BE8, &D_800F7BE8, &D_800F7BBC, &D_800F7B94 };

View File

@ -6,11 +6,11 @@ INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_80240000_BDD1B0);
INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_802401D4_BDD384);
INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_80240304_BDD4B4);
#include "world/common/UnkNpcAIFunc21.inc.c"
INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_802403A0_BDD550);
#include "world/common/UnkNpcAIFunc20.inc.c"
INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_80240428_BDD5D8);
#include "world/common/UnkNpcAIFunc22.inc.c"
INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_802404D0_BDD680);
@ -24,7 +24,7 @@ INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_80240984_BDDB34);
INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_80240A30_BDDBE0);
INCLUDE_ASM(s32, "world/area_arn/arn_02/BDD1B0", func_80240B68_BDDD18);
#include "world/common/UnkNpcAIFunc19.inc.c"
#include "world/common/UnkNpcAIFunc17.inc.c"

View File

@ -54,11 +54,11 @@ INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_80242388_BE5B38);
INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_8024255C_BE5D0C);
INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_8024268C_BE5E3C);
#include "world/common/UnkNpcAIFunc21.inc.c"
INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_80242728_BE5ED8);
#include "world/common/UnkNpcAIFunc20.inc.c"
INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_802427B0_BE5F60);
#include "world/common/UnkNpcAIFunc22.inc.c"
INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_80242858_BE6008);
@ -72,7 +72,7 @@ INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_80242D0C_BE64BC);
INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_80242DB8_BE6568);
INCLUDE_ASM(s32, "world/area_arn/arn_04/BE37B0", func_80242EF0_BE66A0);
#include "world/common/UnkNpcAIFunc19.inc.c"
#include "world/common/UnkNpcAIFunc17.inc.c"

View File

@ -46,11 +46,11 @@ INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_802422C4_911974);
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_80242498_911B48);
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_802425C8_911C78);
#include "world/common/UnkNpcAIFunc21.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_80242664_911D14);
#include "world/common/UnkNpcAIFunc20.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_802426EC_911D9C);
#include "world/common/UnkNpcAIFunc22.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_80242794_911E44);
@ -64,7 +64,7 @@ INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_80242C48_9122F8);
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_80242CF4_9123A4);
INCLUDE_ASM(s32, "world/area_iwa/iwa_01/90FBD0", func_80242E2C_9124DC);
#include "world/common/UnkNpcAIFunc19.inc.c"
#include "world/common/UnkNpcAIFunc17.inc.c"

View File

@ -6,11 +6,11 @@ INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_80240000_915D70);
INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_802401D4_915F44);
INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_80240304_916074);
#include "world/common/UnkNpcAIFunc21.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_802403A0_916110);
#include "world/common/UnkNpcAIFunc20.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_80240428_916198);
#include "world/common/UnkNpcAIFunc22.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_802404D0_916240);
@ -24,7 +24,7 @@ INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_80240984_9166F4);
INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_80240A30_9167A0);
INCLUDE_ASM(s32, "world/area_iwa/iwa_02/915D70", func_80240B68_9168D8);
#include "world/common/UnkNpcAIFunc19.inc.c"
#include "world/common/UnkNpcAIFunc17.inc.c"

View File

@ -6,11 +6,11 @@ INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_80240340_918EF0);
INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_80240514_9190C4);
INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_80240644_9191F4);
#include "world/common/UnkNpcAIFunc21.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_802406E0_919290);
#include "world/common/UnkNpcAIFunc20.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_80240768_919318);
#include "world/common/UnkNpcAIFunc22.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_80240810_9193C0);
@ -24,7 +24,7 @@ INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_80240CC4_919874);
INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_80240D70_919920);
INCLUDE_ASM(s32, "world/area_iwa/iwa_03/918EF0", func_80240EA8_919A58);
#include "world/common/UnkNpcAIFunc19.inc.c"
#include "world/common/UnkNpcAIFunc17.inc.c"

View File

@ -8,11 +8,11 @@ INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_80240080_91B960);
INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_80240254_91BB34);
INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_80240384_91BC64);
#include "world/common/UnkNpcAIFunc21.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_80240420_91BD00);
#include "world/common/UnkNpcAIFunc20.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_802404A8_91BD88);
#include "world/common/UnkNpcAIFunc22.inc.c"
INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_80240550_91BE30);
@ -26,7 +26,7 @@ INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_80240A04_91C2E4);
INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_80240AB0_91C390);
INCLUDE_ASM(s32, "world/area_iwa/iwa_04/91B8E0", func_80240BE8_91C4C8);
#include "world/common/UnkNpcAIFunc19.inc.c"
#include "world/common/UnkNpcAIFunc17.inc.c"

View File

@ -0,0 +1,17 @@
#include "common.h"
#include "map.h"
void N(UnkNpcAIFunc19)(ScriptInstance* script, NpcAISettings* aiSettings, s32 arg2) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
if (npc->duration > 0) {
npc->duration--;
}
if (npc->unk_8C == 0 && npc->duration <= 0) {
npc->duration = 8;
npc->currentAnim = enemy->animList[11];
script->functionTemp[0].s = 51;
}
}

View File

@ -0,0 +1,14 @@
#include "common.h"
#include "map.h"
void N(UnkNpcAIFunc20)(ScriptInstance* script, NpcAISettings* aiSettings, s32 arg2) {
Npc* npc = get_npc_unsafe(script->owner1.enemy->npcID);
npc->duration--;
if (npc->duration <= 0) {
npc->yaw = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z);
npc->collisionHeight = 26;
npc->collisionRadius = 24;
script->functionTemp[0].s = 4;
}
}

View File

@ -0,0 +1,16 @@
#include "common.h"
#include "map.h"
void N(UnkNpcAIFunc21)(ScriptInstance* script, NpcAISettings* aiSettings, s32 arg2) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
npc->duration--;
if (npc->duration <= 0) {
npc->yaw = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z);
enable_npc_shadow(npc);
npc->currentAnim = enemy->animList[10];
npc->duration = 8;
script->functionTemp[0].s = 3;
}
}

View File

@ -0,0 +1,12 @@
#include "common.h"
#include "map.h"
void N(UnkNpcAIFunc22)(ScriptInstance* script, NpcAISettings* aiSettings, s32 arg2) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
npc->yaw = clamp_angle(npc->yaw + rand_int(180) - 90.0f);
npc->currentAnim = enemy->animList[0];
script->functionTemp[1].s = rand_int(1000) % 2 + 2;
script->functionTemp[0].s = 5;
}

View File

@ -6,7 +6,7 @@
[subrepo]
remote = https://github.com/ethteck/splat.git
branch = master
commit = 3a68ae30a79639e2163dda9740c27098577e0faf
parent = f4d3ed342967e19607bf9c9ef70c280c474e2f6e
commit = 8f4395956b436d5137b950202abd53dc3a9fbbae
parent = eff0155585ddb319c0b1b17aeb8882e4d113a2c6
method = merge
cmdver = 0.4.3

View File

@ -44,3 +44,12 @@ I am also working on adding bss support as well. It should almost be all set, as
The `out_dir` option specifies a directory relative to the config file. If your config file is in a subdirectory of the main repo, you can set `out_dir: ../`, for example.
The `target_path` option spcifies a path to the binary file to split, relative to the `out_dir`. If your `baserom.z64` is in the top-level of the repo, you can set `target_path: baserom.z64`, for example.
### 0.6.5: Bugfixes, rodata migration, and made options static
If you wrote a custom extension, options should be imported and statically referenced
`from util import options`
see options.py for more info on how to now get and set options
BREAKING: vram can only be specified on a segment if the segment is defined as a dict in the config

View File

@ -3,6 +3,7 @@
import argparse
import yaml
from pathlib import PurePath
from util import options
from split import initialize_segments
@ -14,7 +15,7 @@ def main(config_path):
with open(config_path) as f:
config = yaml.safe_load(f.read())
options = config.get("options")
options.initialize(config)
replace_ext = options.get("ld_o_replace_extension", True)
# Initialize segments

View File

@ -1,10 +1,11 @@
import os
from segtypes.n64.segment import N64Segment
from util.n64 import Yay0decompress
from util import options
class N64SegYay0(N64Segment):
def split(self, rom_bytes, base_path):
out_dir = self.create_parent_dir(os.path.join(base_path, self.options.get("assets_dir", "bin")), self.name)
out_dir = self.create_parent_dir(os.path.join(base_path, options.get("assets_dir", "bin")), self.name)
path = os.path.join(out_dir, os.path.basename(self.name) + ".bin")
with open(path, "wb") as f:
@ -16,7 +17,7 @@ class N64SegYay0(N64Segment):
def get_ld_files(self):
return [(self.options.get("assets_dir", "bin"), f"{self.name}.Yay0", ".data", self.rom_start)]
return [(options.get("assets_dir", "bin"), f"{self.name}.Yay0", ".data", self.rom_start)]
@staticmethod

View File

@ -2,10 +2,11 @@ import os
from segtypes.n64.segment import N64Segment
from pathlib import Path
from segtypes.segment import Segment
from util import options
class N64SegBin(N64Segment):
def split(self, rom_bytes, base_path):
out_dir = Segment.create_split_dir(base_path, self.options.get("assets_dir", "bin"))
out_dir = Segment.create_split_dir(base_path, options.get("assets_dir", "bin"))
bin_path = os.path.join(out_dir, self.name + ".bin")
Path(bin_path).parent.mkdir(parents=True, exist_ok=True)
@ -14,7 +15,7 @@ class N64SegBin(N64Segment):
self.log(f"Wrote {self.name} to {bin_path}")
def get_ld_files(self):
return [(self.options.get("assets_dir", "bin"), f"{self.name}.bin", ".data", self.rom_start)]
return [(options.get("assets_dir", "bin"), f"{self.name}.bin", ".data", self.rom_start)]
@staticmethod
def get_default_name(addr):

View File

@ -1,17 +1,17 @@
from segtypes.n64.rgba16 import N64SegRgba16
import png
import os
from util.n64 import Yay0decompress
from util import options
class N64SegCi8(N64SegRgba16):
def __init__(self, segment, next_segment, options):
super().__init__(segment, next_segment, options)
def __init__(self, segment, next_segment):
super().__init__(segment, next_segment)
self.path = None
def split(self, rom_bytes, base_path):
out_dir = self.create_parent_dir(base_path + "/" + self.options.get("assets_dir", "img"), self.name)
out_dir = self.create_parent_dir(base_path + "/" + options.get("assets_dir", "img"), self.name)
self.path = os.path.join(out_dir, os.path.basename(self.name) + ".png")
data = rom_bytes[self.rom_start: self.rom_end]

View File

@ -1,6 +1,5 @@
import os
import re
import subprocess
import sys
from collections import OrderedDict
from pathlib import Path, PurePath
@ -13,6 +12,7 @@ from segtypes.n64.palette import N64SegPalette
from segtypes.n64.segment import N64Segment
from segtypes.segment import Segment
from util import floats
from util import options
from util.symbol import Symbol
double_mnemonics = ["ldc1", "sdc1"]
@ -36,10 +36,10 @@ class Subsegment():
def contains_vram(self, addr):
return self.vram_start <= addr < self.vram_end
def get_out_subdir(self, options):
def get_out_subdir(self):
if self.type.startswith("."):
if self.parent:
return self.parent.get_out_subdir(options)
return self.parent.get_out_subdir()
else:
return options.get("src_path", "src")
elif self.type in ["c"]:
@ -81,20 +81,20 @@ class Subsegment():
return "pal.png"
return self.type
def get_ld_file(self, options):
subdir = self.get_out_subdir(options)
def get_ld_file(self):
subdir = self.get_out_subdir()
obj_type = self.get_ld_obj_type(".text")
ext = self.get_ext()
return subdir, f"{self.name}.{ext}", obj_type, self.rom_start
def should_run(self, options):
return self.type in options["modes"] or "all" in options["modes"]
def should_run(self):
return options.mode_active(self.type)
def get_generic_out_path(self, base_path, options):
def get_generic_out_path(self, base_path):
return os.path.join(
base_path,
self.get_out_subdir(options),
self.get_out_subdir(),
self.name + "." + self.get_ext()
)
@ -102,15 +102,15 @@ class Subsegment():
pass
def scan(self, segment, rom_bytes, base_path):
if self.should_run(segment.options) and not self.name.startswith("."):
self.scan_inner(segment, rom_bytes, base_path, self.get_generic_out_path(base_path, segment.options))
if self.should_run() and not self.name.startswith("."):
self.scan_inner(segment, rom_bytes, base_path, self.get_generic_out_path(base_path))
def split_inner(self, segment, rom_bytes, base_path, generic_out_path):
pass
def split(self, segment, rom_bytes, base_path):
if "skip" not in self.args and self.should_run(segment.options) and not self.name.startswith("."):
self.split_inner(segment, rom_bytes, base_path, self.get_generic_out_path(base_path, segment.options))
if "skip" not in self.args and self.should_run() and not self.name.startswith("."):
self.split_inner(segment, rom_bytes, base_path, self.get_generic_out_path(base_path))
@staticmethod
def get_subclass(typ):
@ -186,7 +186,7 @@ class CodeSubsegment(Subsegment):
def scan_inner(self, segment, rom_bytes, base_path, generic_out_path):
if not self.rom_start == self.rom_end:
if self.type == "c":
if segment.options.get("do_c_func_detection", True) and os.path.exists(generic_out_path):
if options.get("do_c_func_detection", True) and os.path.exists(generic_out_path):
# TODO run cpp?
self.defined_funcs = CodeSubsegment.get_funcs_defined_in_c(generic_out_path)
segment.mark_c_funcs_as_defined(self.defined_funcs)
@ -214,7 +214,7 @@ class CodeSubsegment(Subsegment):
if func_name not in self.defined_funcs:
segment.create_c_asm_file(self.funcs_text, func, asm_out_dir, self, func_name)
if not os.path.exists(generic_out_path) and segment.options.get("create_new_c_files", True):
if not os.path.exists(generic_out_path) and options.get("create_new_c_files", True):
segment.create_c_file(self.funcs_text, self, asm_out_dir, base_path, generic_out_path)
else:
asm_out_dir = Segment.create_split_dir(base_path, "asm")
@ -226,8 +226,9 @@ class CodeSubsegment(Subsegment):
outpath = Path(os.path.join(asm_out_dir, self.name + ".s"))
outpath.parent.mkdir(parents=True, exist_ok=True)
with open(outpath, "w", newline="\n") as f:
f.write("\n".join(out_lines))
if self.type == "asm" or not os.path.exists(outpath):
with open(outpath, "w", newline="\n") as f:
f.write("\n".join(out_lines))
class DataSubsegment(Subsegment):
def scan_inner(self, segment, rom_bytes, base_path, generic_out_path):
@ -260,12 +261,12 @@ class BinSubsegment(Subsegment):
f.write(rom_bytes[self.rom_start : self.rom_end])
class LinkerSubsegment(Subsegment):
def get_ld_file(self, options):
def get_ld_file(self):
return "", self.name, self.type, self.rom_start
class PaletteSubsegment(Subsegment):
def should_run(self, options):
return super().should_run(options) or "img" in options["modes"]
def should_run(self):
return super().should_run() or options.mode_active("img")
def split_inner(self, segment, rom_bytes, base_path, generic_out_path):
img_bytes = rom_bytes[self.rom_start : self.rom_end]
@ -279,8 +280,8 @@ class PaletteSubsegment(Subsegment):
segment.palettes[self.image_name].append(self)
class RGBA32Subsegment(Subsegment):
def should_run(self, options):
return super().should_run(options) or "img" in options["modes"]
def should_run(self):
return super().should_run() or options.mode_active("img")
def split_inner(self, segment, rom_bytes, base_path, generic_out_path):
img_bytes = rom_bytes[self.rom_start : self.rom_end]
@ -356,8 +357,8 @@ class N64SegCode(N64Segment):
return ret
def __init__(self, segment, next_segment, options):
super().__init__(segment, next_segment, options)
def __init__(self, segment, next_segment):
super().__init__(segment, next_segment)
# TODO Note: These start/end vram options don't really do anything yet
self.data_vram_start = segment.get("data_vram_start", -1)
@ -387,7 +388,7 @@ class N64SegCode(N64Segment):
return f"code_{addr:X}"
def get_ld_files(self):
return [sub.get_ld_file(self.options) for sub in self.subsegments]
return [sub.get_ld_file() for sub in self.subsegments]
def get_ld_section_name(self):
path = PurePath(self.name)
@ -580,7 +581,7 @@ class N64SegCode(N64Segment):
return ret
def get_file_for_addr(self, addr):
def get_subsection_for_ram(self, addr):
for sub in self.subsegments:
if sub.contains_vram(addr):
return sub
@ -604,7 +605,7 @@ class N64SegCode(N64Segment):
# Determine symbols
def determine_symbols(self, funcs):
hi_lo_max_distance = self.options.get("hi_lo_max_distance", 6)
hi_lo_max_distance = options.get("hi_lo_max_distance", 6)
ret = {}
for func_addr in funcs:
@ -709,8 +710,8 @@ class N64SegCode(N64Segment):
indent_next = False
mnemonic_ljust = self.options.get("mnemonic_ljust", 11)
rom_addr_padding = self.options.get("rom_address_padding", None)
mnemonic_ljust = options.get("mnemonic_ljust", 11)
rom_addr_padding = options.get("rom_address_padding", None)
for insn in funcs[func]:
insn_addr = insn[0].address
@ -753,7 +754,7 @@ class N64SegCode(N64Segment):
ret[func] = (func_text, rom_addr)
if self.options.get("find_file_boundaries"):
if options.get("find_file_boundaries"):
# If this is not the last function in the file
if func != list(funcs.keys())[-1]:
@ -945,7 +946,7 @@ class N64SegCode(N64Segment):
def get_c_preamble(self):
ret = []
preamble = self.options.get("generated_c_preamble", "#include \"common.h\"")
preamble = options.get("generated_c_preamble", "#include \"common.h\"")
ret.append(preamble)
ret.append("")
@ -984,7 +985,7 @@ class N64SegCode(N64Segment):
break
def create_c_asm_file(self, funcs_text, func, out_dir, sub, func_name):
if self.options.get("compiler", "IDO") == "GCC":
if options.get("compiler", "IDO") == "GCC":
out_lines = self.get_gcc_inc_header()
else:
out_lines = []
@ -993,16 +994,18 @@ class N64SegCode(N64Segment):
func_rodata = list({s for s in self.rodata_syms[func] if s.disasm_str})
func_rodata.sort(key=lambda s:s.vram_start)
if self.get_file_for_addr(func_rodata[0].vram_start).type != "rodata":
out_lines.append(".section .rodata")
if len(func_rodata) > 0:
sub = self.get_subsection_for_ram(func_rodata[0].vram_start)
if sub and sub.type != "rodata":
out_lines.append(".section .rodata")
for sym in func_rodata:
if sym.disasm_str:
out_lines.extend(sym.disasm_str.replace("\n\n", "\n").split("\n"))
for sym in func_rodata:
if sym.disasm_str:
out_lines.extend(sym.disasm_str.replace("\n\n", "\n").split("\n"))
out_lines.append("")
out_lines.append(".section .text")
out_lines.append("")
out_lines.append("")
out_lines.append(".section .text")
out_lines.append("")
out_lines.extend(funcs_text[func][0])
out_lines.append("")
@ -1019,7 +1022,7 @@ class N64SegCode(N64Segment):
for func in funcs_text:
func_name = self.get_symbol(func, type="func", local_only=True).name
if self.options.get("compiler", "IDO") == "GCC":
if options.get("compiler", "IDO") == "GCC":
c_lines.append("INCLUDE_ASM(s32, \"{}\", {});".format(sub.name, func_name))
else:
asm_outpath = Path(os.path.join(asm_out_dir, sub.name, func_name + ".s"))
@ -1041,7 +1044,7 @@ class N64SegCode(N64Segment):
for image_name in self.palettes:
for sub in self.subsegments:
if sub.type in ["ci4", "ci8"] and (sub.should_run(self.options) or "img" in self.options["modes"]) and sub.name == image_name:
if sub.type in ["ci4", "ci8"] and (sub.should_run() or options.mode_active("img")) and sub.name == image_name:
img_bytes = rom_bytes[sub.rom_start : sub.rom_end]
width, height = sub.args
@ -1050,7 +1053,7 @@ class N64SegCode(N64Segment):
w = png.Writer(width, height, palette=palette.palette)
generic_out_path = re.sub(r"\.pal\.png", ".png", palette.get_generic_out_path(base_path, self.options))
generic_out_path = re.sub(r"\.pal\.png", ".png", palette.get_generic_out_path(base_path))
Path(generic_out_path).parent.mkdir(parents=True, exist_ok=True)
with open(generic_out_path, "wb") as f:
w.write_array(f, image)

View File

@ -2,10 +2,11 @@ import os
from segtypes.n64.segment import N64Segment
from pathlib import Path
from segtypes.segment import Segment
from util import options
class N64SegHeader(N64Segment):
def should_run(self):
return N64Segment.should_run(self) or "asm" in self.options["modes"]
return N64Segment.should_run(self) or options.mode_active("asm")
@staticmethod
def get_line(typ, data, comment):
@ -21,10 +22,10 @@ class N64SegHeader(N64Segment):
def split(self, rom_bytes, base_path):
out_dir = Segment.create_split_dir(base_path, "asm")
encoding = self.options.get("header_encoding", "ASCII")
encoding = options.get("header_encoding", "ASCII")
header_lines = []
header_lines.append(f".section .{self.name}, \"a\"\n")
header_lines.append(f".section .data, \"a\"\n")
header_lines.append(self.get_line("word", rom_bytes[0x00:0x04], "PI BSB Domain 1 register"))
header_lines.append(self.get_line("word", rom_bytes[0x04:0x08], "Clockrate setting"))
header_lines.append(self.get_line("word", rom_bytes[0x08:0x0C], "Entrypoint address"))
@ -55,7 +56,6 @@ class N64SegHeader(N64Segment):
def get_ld_files(self):
return [("asm", f"{self.name}.s", ".data", self.rom_start)]
@staticmethod
def get_default_name(addr):
return "header"

View File

@ -1,15 +1,15 @@
import os
from segtypes.n64.segment import N64Segment
from util.color import unpack_color
from util.n64 import Yay0decompress
from util.iter import iter_in_groups
from util import options
import sys
class N64SegPalette(N64Segment):
require_unique_name = False
def __init__(self, segment, next_segment, options):
super().__init__(segment, next_segment, options)
def __init__(self, segment, next_segment):
super().__init__(segment, next_segment)
# palette segments must be named as one of the following:
# 1) same as the relevant ci4/ci8 segment name (max. 1 palette)
@ -21,24 +21,24 @@ class N64SegPalette(N64Segment):
if self.max_length():
expected_len = int(self.max_length())
actual_len = self.rom_end - self.rom_start
if actual_len > expected_len:
if actual_len > expected_len and actual_len - expected_len > self.subalign:
print(f"Error: {self.name} should end at 0x{self.rom_start + expected_len:X}, but it ends at 0x{self.rom_end:X}\n(hint: add a 'bin' segment after it)")
sys.exit(1)
def should_run(self):
return super().should_run() or (
"img" in self.options["modes"] or
"ci4" in self.options["modes"] or
"ci8" in self.options["modes"] or
"i4" in self.options["modes"] or
"i8" in self.options["modes"] or
"ia4" in self.options["modes"] or
"ia8" in self.options["modes"] or
"ia16" in self.options["modes"]
options.mode_active("img") or
options.mode_active("ci4") or
options.mode_active("ci8") or
options.mode_active("i4") or
options.mode_active("i8") or
options.mode_active("ia4") or
options.mode_active("ia8") or
options.mode_active("ia16")
)
def split(self, rom_bytes, base_path):
out_dir = self.create_parent_dir(base_path + "/" + self.options.get("assets_dir", "img"), self.name)
out_dir = self.create_parent_dir(base_path + "/" + options.get("assets_dir", "img"), self.name)
self.path = os.path.join(
out_dir, os.path.basename(self.name) + ".png")
@ -61,4 +61,4 @@ class N64SegPalette(N64Segment):
def get_ld_files(self):
ext = f".{self.type}.png"
return [(self.options.get("assets_dir", "img"), f"{self.name}{ext}", ".data", self.rom_start)]
return [(options.get("assets_dir", "img"), f"{self.name}{ext}", ".data", self.rom_start)]

View File

@ -1,14 +1,15 @@
import os
from segtypes.n64.segment import N64Segment
from util.n64 import Yay0decompress
import png
from math import ceil
from util import options
from util.color import unpack_color
import sys
class N64SegRgba16(N64Segment):
def __init__(self, segment, next_segment, options):
super().__init__(segment, next_segment, options)
def __init__(self, segment, next_segment):
super().__init__(segment, next_segment)
if type(segment) is dict:
self.width = segment["width"]
@ -24,7 +25,7 @@ class N64SegRgba16(N64Segment):
if self.max_length():
expected_len = int(self.max_length())
actual_len = self.rom_end - self.rom_start
if actual_len > expected_len:
if actual_len > expected_len and actual_len - expected_len > self.subalign:
print(f"Error: {self.name} should end at 0x{self.rom_start + expected_len:X}, but it ends at 0x{self.rom_end:X}\n(hint: add a 'bin' segment after it)")
sys.exit(1)
@ -50,10 +51,10 @@ class N64SegRgba16(N64Segment):
yield x, y, (y * w) + x
def should_run(self):
return super().should_run() or "img" in self.options["modes"]
return super().should_run() or options.mode_active("img")
def split(self, rom_bytes, base_path):
out_dir = self.create_parent_dir(base_path + "/" + self.options.get("assets_dir", "img"), self.name)
out_dir = self.create_parent_dir(base_path + "/" + options.get("assets_dir", "img"), self.name)
path = os.path.join(out_dir, os.path.basename(self.name) + ".png")
data = rom_bytes[self.rom_start: self.rom_end]
@ -81,4 +82,4 @@ class N64SegRgba16(N64Segment):
def get_ld_files(self):
ext = f".{self.type}.png"
return [(self.options.get("assets_dir", "img"), f"{self.name}{ext}", ".data", self.rom_start)]
return [(options.get("assets_dir", "img"), f"{self.name}{ext}", ".data", self.rom_start)]

View File

@ -1,5 +1,6 @@
from pathlib import Path, PurePath
from util import log
from util import options
import re
import sys
@ -30,29 +31,26 @@ def parse_segment_vram(segment):
if type(segment) is dict:
return segment.get("vram", 0)
else:
if len(segment) >= 3 and type(segment[-1]) is int:
return segment[-1]
else:
return 0
return 0
def parse_segment_subalign(segment):
default = options.get("subalign", default_subalign)
if type(segment) is dict:
return segment.get("subalign", default_subalign)
return default_subalign
return segment.get("subalign", default)
return default
class Segment:
require_unique_name = True
def __init__(self, segment, next_segment, options):
def __init__(self, segment, next_segment):
self.rom_start = parse_segment_start(segment)
self.rom_end = parse_segment_start(next_segment)
self.type = parse_segment_type(segment)
self.name = parse_segment_name(segment, self.__class__)
self.vram_start = parse_segment_vram(segment)
self.ld_name_override = segment.get("ld_name", None) if type(segment) is dict else None
self.options = options
self.config = segment
self.subalign = parse_segment_subalign(segment)
@ -103,7 +101,7 @@ class Segment:
return out_dir
def should_run(self):
return self.type in self.options["modes"] or "all" in self.options["modes"]
return options.mode_active(self.type)
def split(self, rom_bytes, base_path):
pass
@ -115,10 +113,10 @@ class Segment:
return (self.config, self.rom_end)
def get_ld_section(self):
replace_ext = self.options.get("ld_o_replace_extension", True)
replace_ext = options.get("ld_o_replace_extension", True)
sect_name = self.ld_name_override if self.ld_name_override else self.get_ld_section_name()
vram_or_rom = self.rom_start if self.vram_start == 0 else self.vram_start
subalign_str = "" if self.subalign == default_subalign else f"SUBALIGN({self.subalign})"
subalign_str = f"SUBALIGN({self.subalign})"
s = (
f"SPLAT_BEGIN_SEG({sect_name}, 0x{self.rom_start:X}, 0x{vram_or_rom:X}, {subalign_str})\n"
@ -150,7 +148,7 @@ class Segment:
path_cname = re.sub(r"[^0-9a-zA-Z_]", "_", path)
s += f" {path_cname} = .;\n"
if subdir == self.options.get("assets_dir"):
if subdir == options.get("assets_dir"):
path = PurePath(path)
else:
path = PurePath(subdir) / PurePath(path)
@ -179,7 +177,7 @@ class Segment:
return []
def log(self, msg):
if self.options.get("verbose", False):
if options.get("verbose", False):
log.write(f"{self.type} {self.name}: {msg}")
def warn(self, msg):

View File

@ -11,6 +11,7 @@ from colorama import Style, Fore
from segtypes.segment import parse_segment_type
from segtypes.n64.code import N64SegCode
from util import log
from util import options
from util.symbol import Symbol
import sys
@ -27,7 +28,7 @@ parser.add_argument("--new", action="store_true",
sym_isolated_map = {}
def write_ldscript(rom_name, repo_path, sections, options):
def write_ldscript(rom_name, repo_path, sections):
with open(os.path.join(repo_path, rom_name + ".ld"), "w", newline="\n") as f:
f.write(
"#ifndef SPLAT_BEGIN_SEG\n"
@ -70,6 +71,11 @@ def write_ldscript(rom_name, repo_path, sections, options):
)
f.write("\n ".join(s.replace("\n", "\n ") for s in sections)[:-4])
f.write(
" /DISCARD/ :\n"
" {\n"
" *(*);\n"
" }\n"
"}\n"
)
@ -78,23 +84,23 @@ def parse_file_start(split_file):
return split_file[0] if "start" not in split_file else split_file["start"]
def get_symbol_addrs_path(repo_path, options):
def get_symbol_addrs_path(repo_path):
return os.path.join(repo_path, options.get("symbol_addrs_path", "symbol_addrs.txt"))
def get_undefined_syms_path(repo_path, options):
def get_undefined_syms_path(repo_path):
return os.path.join(repo_path, options.get("undefined_syms_path", "undefined_syms.txt"))
def get_undefined_syms_auto_path(repo_path, options):
def get_undefined_syms_auto_path(repo_path):
return os.path.join(repo_path, options.get("undefined_syms_auto_path", "undefined_syms_auto.txt"))
def get_undefined_funcs_auto_path(repo_path, options):
def get_undefined_funcs_auto_path(repo_path):
return os.path.join(repo_path, options.get("undefined_funcs_auto_path", "undefined_funcs_auto.txt"))
def get_cache_path(repo_path, options):
def get_cache_path(repo_path):
return os.path.join(repo_path, options.get("cache_path", ".splat_cache"))
@ -146,14 +152,14 @@ def get_base_segment_class(seg_type, platform):
return getattr(segmodule, f"{platform.upper()}Seg{seg_type[0].upper()}{seg_type[1:]}")
def get_extension_dir(options, config_path):
if "extensions" not in options:
def get_extension_dir(config_path):
if not options.is_defined("extensions"):
return None
return os.path.join(Path(config_path).parent, options["extensions"])
return os.path.join(Path(config_path).parent, options.get("extensions"))
def get_extension_class(options, config_path, seg_type, platform):
ext_dir = get_extension_dir(options, config_path)
def get_extension_class(config_path, seg_type, platform):
ext_dir = get_extension_dir(config_path)
if ext_dir == None:
return None
@ -167,7 +173,7 @@ def get_extension_class(options, config_path, seg_type, platform):
return getattr(ext_mod, f"{platform.upper()}Seg{seg_type[0].upper()}{seg_type[1:]}")
def get_platform(options):
def get_platform():
return options.get("platform", "n64")
def fmt_size(size):
@ -179,25 +185,25 @@ def fmt_size(size):
return str(size) + " B"
def initialize_segments(options, config_path, config_segments):
def initialize_segments(config_path, config_segments):
seen_segment_names = set()
ret = []
for i, segment in enumerate(config_segments[:-1]):
seg_type = parse_segment_type(segment)
platform = get_platform(options)
platform = get_platform()
segment_class = get_base_segment_class(seg_type, platform)
if segment_class == None:
# Look in extensions
segment_class = get_extension_class(options, config_path, seg_type, platform)
segment_class = get_extension_class(config_path, seg_type, platform)
if segment_class == None:
log.write(f"fatal error: could not load segment type '{seg_type}'\n(hint: confirm your extension directory is configured correctly)", status="error")
return 2
sys.exit(2)
segment = segment_class(segment, config_segments[i + 1], options)
segment = segment_class(segment, config_segments[i + 1])
if segment_class.require_unique_name:
if segment.name in seen_segment_names:
@ -254,12 +260,12 @@ def main(config_path, out_dir, target_path, modes, verbose, ignore_cache=False):
with open(config_path) as f:
config = yaml.safe_load(f.read())
options = config.get("options")
options["modes"] = modes
options["verbose"] = verbose
options.initialize(config)
options.set("modes", modes)
options.set("verbose", verbose)
if not out_dir:
out_dir = options.get("out_dir", None)
out_dir = options.get("out_dir")
if not out_dir:
print("Error: Output dir not specified as a command line arg or via the config yaml (out_dir)")
sys.exit(2)
@ -267,7 +273,7 @@ def main(config_path, out_dir, target_path, modes, verbose, ignore_cache=False):
out_dir = os.path.join(Path(config_path).parent, out_dir)
if not target_path:
target_path = options.get("target_path", None)
target_path = options.get("target_path")
if not target_path:
print("Error: Target binary path not specified as a command line arg or via the config yaml (target_path)")
sys.exit(2)
@ -280,11 +286,11 @@ def main(config_path, out_dir, target_path, modes, verbose, ignore_cache=False):
# Create main output dir
Path(out_dir).mkdir(parents=True, exist_ok=True)
symbol_addrs_path = get_symbol_addrs_path(out_dir, options)
undefined_syms_path = get_undefined_syms_path(out_dir, options)
symbol_addrs_path = get_symbol_addrs_path(out_dir)
undefined_syms_path = get_undefined_syms_path(out_dir)
all_symbols = gather_symbols(symbol_addrs_path, undefined_syms_path)
symbol_ranges = [s for s in all_symbols if s.size > 4]
platform = get_platform(options)
platform = get_platform()
processed_segments = []
ld_sections = []
@ -294,7 +300,7 @@ def main(config_path, out_dir, target_path, modes, verbose, ignore_cache=False):
seg_cached = {}
# Load cache
cache_path = get_cache_path(out_dir, options)
cache_path = get_cache_path(out_dir)
try:
with open(cache_path, "rb") as f:
cache = pickle.load(f)
@ -302,7 +308,7 @@ def main(config_path, out_dir, target_path, modes, verbose, ignore_cache=False):
cache = {}
# Initialize segments
all_segments = initialize_segments(options, config_path, config["segments"])
all_segments = initialize_segments(config_path, config["segments"])
for segment in all_segments:
if platform == "n64" and type(segment) == N64SegCode: # remove special-case sometime
@ -349,16 +355,16 @@ def main(config_path, out_dir, target_path, modes, verbose, ignore_cache=False):
log.dot(status=segment.status())
# Write ldscript
if "ld" in options["modes"] or "all" in options["modes"]:
if options.mode_active("ld"):
if verbose:
log.write(f"saving {config['basename']}.ld")
write_ldscript(config['basename'], out_dir, ld_sections, options)
write_ldscript(config['basename'], out_dir, ld_sections)
undefined_syms_to_write = [s for s in all_symbols if s.referenced and not s.defined and not s.type == "func"]
undefined_funcs_to_write = [s for s in all_symbols if s.referenced and not s.defined and s.type == "func"]
# Write undefined_funcs_auto.txt
undefined_funcs_auto_path = get_undefined_funcs_auto_path(out_dir, options)
undefined_funcs_auto_path = get_undefined_funcs_auto_path(out_dir)
to_write = undefined_funcs_to_write
if len(to_write) > 0:
@ -367,7 +373,7 @@ def main(config_path, out_dir, target_path, modes, verbose, ignore_cache=False):
f.write(f"{symbol.name} = 0x{symbol.vram_start:X};\n")
# write undefined_syms_auto.txt
undefined_syms_auto_path = get_undefined_syms_auto_path(out_dir, options)
undefined_syms_auto_path = get_undefined_syms_auto_path(out_dir)
to_write = undefined_syms_to_write
if len(to_write) > 0:

View File

@ -0,0 +1,18 @@
opts = {}
def initialize(config):
global opts
opts = config.get("options")
dog = 5
def set(opt, val):
opts[opt] = val
def get(opt, default=None):
return opts.get(opt, default)
def is_defined(opt):
return opt in opts
def mode_active(mode):
return mode in opts["modes"] or "all" in opts["modes"]

View File

@ -4,6 +4,7 @@ from pathlib import Path
from util.n64 import Yay0decompress
from util.color import unpack_color
from util.iter import iter_in_groups
from util import options
import png
@ -27,12 +28,12 @@ def parse_palette(data):
class N64SegPaperMarioMapFS(N64Segment):
def __init__(self, segment, next_segment, options):
super().__init__(segment, next_segment, options)
def __init__(self, segment, next_segment):
super().__init__(segment, next_segment)
def split(self, rom_bytes, base_path):
bin_dir = self.create_split_dir(base_path, self.options.get("assets_dir", "bin"))
img_party_dir = self.create_split_dir(base_path, self.options.get("assets_dir", "img") + "/party")
bin_dir = self.create_split_dir(base_path, options.get("assets_dir", "bin"))
img_party_dir = self.create_split_dir(base_path, options.get("assets_dir", "img") + "/party")
data = rom_bytes[self.rom_start: self.rom_end]
@ -53,13 +54,13 @@ class N64SegPaperMarioMapFS(N64Segment):
elif name.startswith("party_"):
path = os.path.join(img_party_dir, "{}.png".format(name))
elif name.endswith("_hit") or name.endswith("_shape"):
map_dir = self.create_split_dir(base_path, self.options.get("assets_dir", "bin") + f"/map")
map_dir = self.create_split_dir(base_path, options.get("assets_dir", "bin") + f"/map")
path = os.path.join(map_dir, "{}.bin".format(name))
elif name.endswith("_tex"):
map_dir = self.create_split_dir(base_path, self.options.get("assets_dir", "bin") + f"/map")
map_dir = self.create_split_dir(base_path, options.get("assets_dir", "bin") + f"/map")
path = os.path.join(map_dir, "{}.bin".format(name))
elif name.endswith("_bg"):
map_dir = self.create_split_dir(base_path, self.options.get("assets_dir", "bin") + f"/map")
map_dir = self.create_split_dir(base_path, options.get("assets_dir", "bin") + f"/map")
path = os.path.join(map_dir, "{}.png".format(name))
else:
path = os.path.join(bin_dir, "{}.bin".format(name))
@ -111,7 +112,7 @@ class N64SegPaperMarioMapFS(N64Segment):
def get_ld_files(self):
return [(self.options.get("assets_dir", "bin"), self.name, ".data", self.rom_start)]
return [(options.get("assets_dir", "bin"), self.name, ".data", self.rom_start)]
@staticmethod

View File

@ -1,5 +1,6 @@
from segtypes.n64.segment import N64Segment
from pathlib import Path
from util import options
import re
CHARSET = {
@ -353,8 +354,8 @@ CHARSET_CREDITS = {
}
class N64SegPaperMarioMessages(N64Segment):
def __init__(self, segment, next_segment, options):
super().__init__(segment, next_segment, options)
def __init__(self, segment, next_segment):
super().__init__(segment, next_segment)
self.files = segment.get("files", []) if type(segment) is dict else []
self.ids = segment["ids"]
@ -372,7 +373,7 @@ class N64SegPaperMarioMessages(N64Segment):
section_offsets.append(offset)
pos += 4
msg_dir = Path(base_path, self.options["assets_dir"], self.name)
msg_dir = Path(base_path, options.get("assets_dir"), self.name)
msg_dir.mkdir(parents=True, exist_ok=True)
# delete existing files
@ -433,7 +434,7 @@ class N64SegPaperMarioMessages(N64Segment):
f.unlink()
def get_ld_files(self):
return [(self.options["assets_dir"], self.name, ".data", self.rom_start)]
return [(options.get("assets_dir"), self.name, ".data", self.rom_start)]
@staticmethod
def get_default_name(addr):

View File

@ -3,6 +3,7 @@ from pathlib import Path
from util.n64 import Yay0decompress
from util.iter import iter_in_groups
from util.color import unpack_color
from util import options
import png
import xml.etree.ElementTree as ET
@ -250,8 +251,8 @@ class Component:
class N64SegPaperMarioNpcSprites(N64Segment):
DEFAULT_SPRITE_NAMES = [f"{i:02X}" for i in range(0xEA)]
def __init__(self, segment, next_segment, options):
super().__init__(segment, next_segment, options)
def __init__(self, segment, next_segment):
super().__init__(segment, next_segment)
if type(segment) is dict and "files" in segment:
self.files = segment["files"]
@ -259,7 +260,7 @@ class N64SegPaperMarioNpcSprites(N64Segment):
self.files = DEFAULT_SPRITE_NAMES
def split(self, rom_bytes, base_path):
out_dir = self.create_split_dir(base_path, self.options["assets_dir"] + "/sprite/" + self.name)
out_dir = self.create_split_dir(base_path, options.get("assets_dir") + "/sprite/" + self.name)
data = rom_bytes[self.rom_start:self.rom_end]
pos = 0
@ -294,7 +295,7 @@ class N64SegPaperMarioNpcSprites(N64Segment):
sprite.write_to_dir(sprite_dir)
def get_ld_files(self):
return [(self.options["assets_dir"], "sprite/" + self.name, ".data", self.rom_start)]
return [(options.get("assets_dir"), "sprite/" + self.name, ".data", self.rom_start)]
@staticmethod
def get_default_name(addr):

View File

@ -1,4 +1,4 @@
.section .header, "a"
.section .data, "a"
.word 0x80371240 /* PI BSB Domain 1 register */
.word 0x0000000F /* Clockrate setting */

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_80220000_4E25E0
.word 0x73626B5F, 0x62670000, 0x73626B5F, 0x62743032, 0x5F686974, 0x00000000, 0x73626B5F, 0x62743032, 0x5F736861, 0x70650000, 0x73626B5F, 0x74657800, 0x837B838D, 0x8368815B, 0x2C835483, 0x93837B2C, 0x837B838D, 0x8368815B, 0x00000000, 0x837B838D, 0x8368815B, 0x78322C83, 0x54839383, 0x7B783200, 0x837B838D, 0x8368815B, 0x78322C83, 0x54839383, 0x7B000000, 0x837B838D, 0x8368815B, 0x2C835483, 0x93837B00, 0x837B838D, 0x8368815B, 0x78340000, 0x837B838D, 0x8368815B, 0x78330000, 0x837B838D, 0x8368815B, 0x78320000, 0x837B838D, 0x8368815B, 0x00000000, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B2C8354, 0x8393837B, 0x00000000, 0x83548393, 0x837B2C83, 0x7B838D83, 0x68815B2C, 0x83548393, 0x837B0000, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B783200, 0x83548393, 0x837B7832, 0x2C837B83, 0x8D836881, 0x5B000000, 0x83548393, 0x837B2C83, 0x7B838D83, 0x68815B00, 0x82AB82A2, 0x82EB8354, 0x8393837B, 0x78340000, 0x83548393, 0x837B7833, 0x00000000, 0x83548393, 0x837B7832, 0x00000000, 0x83548393, 0x837B0000, 0x73626B5F, 0x30310000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240FE0_BDE190
.word 0xC4124000, 0x42700000, 0x43160000, 0x42B40000, 0x445C0000, 0x43A00000, 0x43160000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802411F0, D_80240FE0_BDE190, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900BE, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFE3, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000043, 0x00000002, PlayAmbientSounds, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_802410F0_BDE2A0
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80241AD0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80241AD8, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802410F0_BDE2A0, 0x00080000, 0x00000001, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x8024114C, 0x00080000, 0x00000006, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000022, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80241A9C, 0x00000046, 0x00000001, 0x802412D0, 0x00000044, 0x00000001, 0x80241040, 0x00000024, 0x00000002, 0xFE363C80, 0x802411A8, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,24 @@
.include "macro.inc"
.section .rodata
glabel D_80241AD0_BDEC80
.word 0x61726E5F, 0x30350000, 0x61726E5F, 0x30340000
glabel D_80241AE0_BDEC90
.double 180.0
glabel D_80241AE8_BDEC98
.double 75.0
glabel D_80241AF0_BDECA0
.double 0.85
glabel D_80241AF8_BDECA8
.double 0.9
glabel D_80241B00_BDECB0
.double 32767.0
glabel jtbl_80241B08_BDECB8
.word L80240E04_BDDFB4, L80240E14_BDDFC4, L80240E34_BDDFE4, L80240E54_BDE004, L80240E74_BDE024, L80240E84_BDE034, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240E9C_BDE04C, L80240EBC_BDE06C, L80240EDC_BDE08C, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240F00_BDE0B0, L80240F10_BDE0C0, L80240F28_BDE0D8, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240F40_BDE0F0, L80240F60_BDE110, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240FB8_BDE168, L80240F78_BDE128, L80240F88_BDE138, L80240FA8_BDE158, 0

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80241720_BE04B0
.word 0xC2980000, 0x43250000, 0x43160000, 0x42B40000, 0x44100000, 0x43610000, 0x43160000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80241A58, D_80241720_BE04B0, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900BC, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFE3, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000043, 0x00000002, PlayAmbientSounds, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80241830_BE05C0
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80244850, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80244858, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80241830_BE05C0, 0x00080000, 0x00000001, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x8024188C, 0x00080000, 0x00000005, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetLoadType, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000044, 0x00000001, EnterSavePoint, 0x00000044, 0x00000001, 0x802418E8, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFDE, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFF51, 0x000000A5, 0x000000A0, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFFFFFF51, 0x000000A5, 0x000000A0, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0x0000005A, 0x00000000, 0x00000043, 0x00000002, SetPlayerSpeed, 0x00000004, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFFC9, 0x000000A0, 0x00000000, 0x00000044, 0x00000001, 0x802418E8, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x802418E8, 0x00000044, 0x00000001, EnterWalk, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000022, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000024, 0x00000002, 0xF9718883, 0x00000000, 0x00000024, 0x00000002, 0xF9718884, 0x00000000, 0x00000024, 0x00000002, 0xF9718885, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80244740, 0x00000012, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80244788, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF8405F7C, 0x00000001, 0x00000024, 0x00000002, 0xFD050F80, 0x000001C2, 0x00000024, 0x00000002, 0xFD050F81, 0x000001C2, 0x00000013, 0x00000000, 0x00000046, 0x00000001, 0x802447E0, 0x00000044, 0x00000001, 0x80241780, 0x00000044, 0x00000001, 0x80241930, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_802447E0_BE3570
.word 0x00000043, 0x00000008, MakeEntity, 0x802EA564, 0x0000012C, 0x000000ED, 0x0000003C, 0x00000000, 0x00000157, D_80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405F6F, 0x00000043, 0x00000007, MakeEntity, D_802E9A18, 0x000000FA, 0x000000ED, 0x0000007D, 0x00000000, D_80000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -0,0 +1,18 @@
.include "macro.inc"
.section .rodata
glabel D_80244850_BE35E0
.word 0x61726E5F, 0x30370000, 0x61726E5F, 0x30350000
glabel D_80244860_BE35F0
.double 32767.0
glabel D_80244868_BE35F8
.double 32767.0
glabel jtbl_80244870_BE3600
.word L80240D78_BDFB08, L80240D88_BDFB18, L80240DA0_BDFB30, L80240DB0_BDFB40, L80240DC8_BDFB58, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240DE0_BDFB70, L80240DF0_BDFB80, L80240E08_BDFB98, L80240E18_BDFBA8, L80240E30_BDFBC0, L80240E48_BDFBD8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E68_BDFBF8, L80240E60_BDFBF0
glabel jtbl_80244A00_BE3790
.word L8024121C_BDFFAC, L8024122C_BDFFBC, L80241244_BDFFD4, L80241254_BDFFE4, L8024126C_BDFFFC, 0, 0, 0

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80243370_BE6B20
.word 0xC4124000, 0x42700000, 0x43160000, 0x42B40000, 0x444D0000, 0x438E8000, 0x43160000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80243580, D_80243370_BE6B20, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900BF, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFE3, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000043, 0x00000002, PlayAmbientSounds, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80243480_BE6C30
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80244120, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80244128, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80243480_BE6C30, 0x00080000, 0x00000001, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x802434DC, 0x00080000, 0x00000006, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000022, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80244000, 0x00000046, 0x00000001, 0x80244040, 0x00000044, 0x00000001, 0x802433D0, 0x00000024, 0x00000002, 0xFE363C80, 0x80243538, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80244040_BE77F0
.word 0x00000043, 0x00000008, MakeEntity, 0x802EA564, 0x000001C2, 0x0000011D, 0x00000078, 0x00000000, 0x0000008C, D_80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405F70, 0x00000043, 0x00000008, MakeEntity, 0x802EA564, 0x000002D0, 0x0000014D, 0x0000004B, 0x00000000, 0x00000157, D_80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405F71, 0x00000043, 0x00000007, MakeEntity, 0x802EA0E8, 0x00000258, 0x00000122, 0x000000C8, 0x00000000, D_80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405F72, 0x00000043, 0x00000007, MakeItemEntity, 0x0000015C, 0x0000021C, 0x000000E6, 0x0000000D, 0x00000011, 0xF8405F7B, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,27 @@
.include "macro.inc"
.section .rodata
glabel D_80244120_BE78D0
.word 0x61726E5F, 0x30320000, 0x6467625F, 0x30300000
glabel D_80244130_BE78E0
.double 32767.0
glabel D_80244138_BE78E8
.double 32767.0
glabel jtbl_80244140_BE78F0
.word L80240D78_BE4528, L80240D88_BE4538, L80240DA0_BE4550, L80240DB0_BE4560, L80240DC8_BE4578, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240DE0_BE4590, L80240DF0_BE45A0, L80240E08_BE45B8, L80240E18_BE45C8, L80240E30_BE45E0, L80240E48_BE45F8, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E68_BE4618, L80240E60_BE4610
glabel D_802442D0_BE7A80
.double 32767.0
glabel D_802442D8_BE7A88
.double 0.09
glabel D_802442E0_BE7A90
.double 0.09
glabel jtbl_802442E8_BE7A98
.word L802422A8_BE5A58, L802422B8_BE5A68, L802422D0_BE5A80, L802422E0_BE5A90, L80242360_BE5B10, L80242360_BE5B10, L80242360_BE5B10, L80242360_BE5B10, L80242360_BE5B10, L80242360_BE5B10, L802422F8_BE5AA8, L80242308_BE5AB8, L80242320_BE5AD0, L80242338_BE5AE8, L80242350_BE5B00, 0

View File

@ -0,0 +1,21 @@
.include "macro.inc"
.section .rodata
glabel D_80244328_BE7AD8
.double 180.0
glabel D_80244330_BE7AE0
.double 75.0
glabel D_80244338_BE7AE8
.double 0.85
glabel D_80244340_BE7AF0
.double 0.9
glabel D_80244348_BE7AF8
.double 32767.0
glabel jtbl_80244350_BE7B00
.word L8024318C_BE693C, L8024319C_BE694C, L802431BC_BE696C, L802431DC_BE698C, L802431FC_BE69AC, L8024320C_BE69BC, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243224_BE69D4, L80243244_BE69F4, L80243264_BE6A14, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243288_BE6A38, L80243298_BE6A48, L802432B0_BE6A60, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L802432C8_BE6A78, L802432E8_BE6A98, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243340_BE6AF0, L80243300_BE6AB0, L80243310_BE6AC0, L80243330_BE6AE0, 0, 0, 0

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80241300_BE8EE0
.word 0xC29A0000, 0x43070000, 0x43160000, 0x42B40000, 0x44104000, 0x43480000, 0x43160000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802415B0, D_80241300_BE8EE0, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900BD, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFDF, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFE3, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000043, 0x00000002, PlayAmbientSounds, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80245040, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80245048, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x80241430, 0x00080000, 0x00000001, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x8024148C, 0x00080000, 0x00000005, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetLoadType, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000044, 0x00000001, EnterSavePoint, 0x00000044, 0x00000001, 0x802414E8, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x802414E8, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000022, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80244FA4, 0x00000012, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80244FC8, 0x00000013, 0x00000000, 0x00000046, 0x00000001, 0x80245000, 0x00000044, 0x00000001, 0x802441FC, 0x00000044, 0x00000001, 0x80241360, 0x00000044, 0x00000001, 0x80241530, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80245000_BECBE0
.word 0x00000043, 0x00000007, MakeEntity, 0x802EA7E0, 0x00000011, 0x000000EE, 0x00000050, 0x00000000, D_80000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,18 @@
.include "macro.inc"
.section .rodata
glabel D_80245040_BECC20
.word 0x61726E5F, 0x30330000, 0x61726E5F, 0x30320000
glabel D_80245050_BECC30
.double 32767.0
glabel D_80245058_BECC38
.double 32767.0
glabel jtbl_80245060_BECC40
.word L80240D78_BE8958, L80240D88_BE8968, L80240DA0_BE8980, L80240DB0_BE8990, L80240DC8_BE89A8, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240DE0_BE89C0, L80240DF0_BE89D0, L80240E08_BE89E8, L80240E18_BE89F8, L80240E30_BE8A10, L80240E48_BE8A28, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E68_BE8A48, L80240E60_BE8A40
glabel jtbl_802451F0_BECDD0
.word L8024121C_BE8DFC, L8024122C_BE8E0C, L80241244_BE8E24, L80241254_BE8E34, L8024126C_BE8E4C, 0, 0, 0

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80241E90_BEEC80
.word 0x00000000, 0x41A00000, 0xC3130000, 0x43340000, 0x43F28000, 0x00000000, 0x00000000, 0x43870000, 0xC3F40000, 0x00000000, 0x00000000, 0x42B40000, 0x43420000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802435A8, D_80241E90_BEEC80, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900BB, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFE3, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000043, 0x00000002, PlayAmbientSounds, 0x00000001, 0x00000018, 0x00000001, 0xFFFFFFEF, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x00000043, 0x00000002, PlayAmbientSounds, 0x00000001, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000055, 0x00000000, 0x00000008, 0x00000043, 0x00000002, PlayAmbientSounds, 0x00000001, 0x00000016, 0x00000001, 0xFFFFFFF2, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000078, 0x00000001, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000043, 0x00000002, PlayAmbientSounds, 0x00000001, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel jtbl_80247900_BF46F0
.word L802401EC_BECFDC, L802402AC_BED09C, L802402F4_BED0E4, L80240394_BED184, L802403FC_BED1EC, 0x6B6D725F, 0x32330000, 0x61726E5F, 0x30380000, 0x61726E5F, 0x30330000, 0x6D696D5F, 0x31320000, 0, 0, 0

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_80247940_BF4730
.double 360.0, 0.0

View File

@ -0,0 +1,15 @@
.include "macro.inc"
.section .rodata
glabel D_80247950_BF4740
.double 32767.0
glabel D_80247958_BF4748
.double 0.09
glabel D_80247960_BF4750
.double 0.09
glabel jtbl_80247968_BF4758
.word L80241D68_BEEB58, L80241D78_BEEB68, L80241D90_BEEB80, L80241DA0_BEEB90, L80241E20_BEEC10, L80241E20_BEEC10, L80241E20_BEEC10, L80241E20_BEEC10, L80241E20_BEEC10, L80241E20_BEEC10, L80241DB8_BEEBA8, L80241DC8_BEEBB8, L80241DE0_BEEBD0, L80241DF8_BEEBE8, L80241E10_BEEC00, 0, 0, 0

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240290_BF4A30
.word 0xC2A00000, 0x00000000, 0x42D80000, 0x42340000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC2AA0000, 0x00000000, 0x425C0000, 0x42340000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802408F4, D_80240290_BF4A30, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900D3, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFEA, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000055, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240A70_BF5210
.word 0x00000005, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xF5DE0180, 0xFFFFFFEE, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, func_8024008C_BF482C, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000001, func_80240000_BF47A0, 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFE9, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFE9, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x802418A8, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24BE280, 0x00000000, 0x00000000, 0x00000000, 0xF251D280, 0xF24ABE80, 0xF24A5E80, 0x00000044, 0x00000001, D_80240A70_BF5210, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240BA0_BF5340
.word 0x00000043, 0x00000002, PlaySound, 0x8000004B, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, RotateModel, 0x00000009, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x0000000F, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x0000000B, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x0000000D, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000006, RotateModel, 0x00000011, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,9 @@
.include "macro.inc"
.section .data
glabel D_80240CC0_BF5460
.word 0x00000043, 0x00000001, func_802400C0_BF4860, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000002, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000000C, 0x00000004, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000001C, 0x0000000B, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000002F, 0x00000016, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000044, 0x00000026, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000043, 0x00000030, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000040, 0x0000003B, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000040, 0x0000003E, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000040, 0x0000003A, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000046, 0x00000022, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000004D, 0xFFFFFFFE, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000004A, 0xFFFFFFE9, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000047, 0xFFFFFFDC, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000045, 0xFFFFFFD4, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000043, 0xFFFFFFCF, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000001E, 0xFFFFFFE2, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0xFFFFFFFF, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0xFFFFFFFE, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0xFFFFFFFF, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0x00000000, 0x00000043, 0x00000001, func_802400D4_BF4874, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x0000000C, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x0000000A, 0x00000002, 0xF8405B89, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405B89, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x802418B0, 0x00000002, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetDemoState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x0000000A, 0x00000002, 0xF8405B89, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405B89, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x802418B0, 0x00000002, 0x00000003, 0x00000008, 0x00000001, 0x00000023, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802400F4_BF4894, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80241188_BF5928
.word 0x00000000, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24BE280, 0x00000000, 0x00000000, 0x00000000, 0xF251D280, 0xF24ABE80, 0xF24A5E80, 0x00000043, 0x00000001, func_8024019C_BF493C, 0x00000024, 0x00000002, 0xF8405B89, 0x00000000, 0x00000044, 0x00000001, 0x802410AC, 0x00000044, 0x00000001, D_80240CC0_BF5460, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80241200_BF59A0
.word 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00180018, D_80241200_BF59A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80241210, 0x00000000, 0x00000000, 0x000D0000, 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000D0000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xF5DE0180, 0xFFFFFFEE, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, 0x80241278, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000008, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00C00002, 0x00C00001, 0x00000000, 0x000E00BA, 0x00000018, 0x00000001, 0x0000002A, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00C00002, 0x00C00001, 0x00000000, 0x000E00BB, 0x00000018, 0x00000001, 0x0000003D, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00C00002, 0x00C00001, 0x00000000, 0x000E00BC, 0x00000018, 0x00000001, 0x0000005A, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00C00002, 0x00C00001, 0x00000000, 0x000E00BD, 0x0000001B, 0x00000001, 0x0000005A, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00C00002, 0x00C00001, 0x00000000, 0x000E00BE, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF4, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, 0x802412E8, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x80241220, 0xC1B80000, 0x42960000, 0x41F80000, 0x00000D05, 0x80241288, 0x00000000, 0x00000000, 0x0000010E, D_80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x8024124C, 0x42180000, 0x00000000, 0x42C20000, 0x00000801, 0x802413E8, 0x00000000, 0x00000000, 0x0000010E, D_80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00C00001, 0x00000000, 0x00000000, 0x00000000, 0x001A00B4, 0x00000001, 0x80241448, 0x00000000, 0x00000001, 0x80241638, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80241850_BF5FF0
.word 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFE9, 0x00000043, 0x00000007, MakeEntity, 0x802BCE84, 0x00000000, 0x0000001E, 0x00000000, 0x00000000, D_80000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_802418A0_BF6040
.word 0x61726E5F, 0x30370000, 0x61726E5F, 0x30390000, 0x61726E5F, 0x30380000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240040_BF60A0
.word 0x42FA0000, 0x00000000, 0x00000000, 0x43870000, 0x00000000, 0x43480000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802402C0, D_80240040_BF60A0, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900D4, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFEA, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000055, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240140_BF61A0
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000001, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, 0x80285DFC, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80240990, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80240140_BF61A0, 0x00000100, 0x00000005, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000001, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, 0x80285E24, 0x00000044, 0x00000001, 0x802401F4, 0x00000016, 0x00000001, 0x00000001, 0x00000044, 0x00000001, 0x802401F4, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000023, 0x00000043, 0x00000002, SetSpriteShading, 0x00080000, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80240974, 0x00000046, 0x00000001, 0x80240488, 0x00000044, 0x00000001, 0x80240220, 0x00000044, 0x00000001, 0x802404D0, 0x00000044, 0x00000001, 0x802400A0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_802403A0_BF6400
.word 0x0000000A, 0x00000002, 0xF9718881, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000006, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7E80, 0x00000043, 0x00000005, PlayerJump, 0x00000000, 0x000000C8, 0x00000000, 0x0000001E, 0x00000043, 0x00000003, GotoMap, 0x80240998, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000007, MakeEntity, 0x802EAA30, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80000000, 0x00000043, 0x00000002, AssignScript, D_802403A0_BF6400, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_802404D0_BF6530
.word 0x0000000A, 0x00000002, 0xF9718881, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000008, 0x00000043, 0x00000001, func_802D2484, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000006, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A8080, 0x00000043, 0x00000005, PlayerJump, 0x00000032, 0x00000000, 0x00000000, 0x00000010, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000024, 0x00000002, 0xF9718881, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_802405B0_BF6610
.word 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00180018, D_802405B0_BF6610, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802405C0, 0x00000000, 0x00000000, 0x000D0000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x006C0013, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0xF24A8480, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x000020C8, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0x00000000, 0x00000019, 0xFFFFFFF6, 0x00000006, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00002086, 0x00000000, 0x00000043, 0x00000001, func_80240000_BF6060, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x006C0013, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0xF24A8480, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x000020C8, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0x00000000, 0x000000C8, 0x00000000, 0x0000000F, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFEE, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xF5DE0180, 0xFFFFFFED, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000012, 0x00000000, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, 0x802405FC, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x802405D0, 0x00000000, 0x41C80000, 0x00000000, 0x00000D05, 0x80240730, 0x00000000, 0x00000000, 0x0000010E, D_80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x006C0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x80240784, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_80240990_BF69F0
.word 0x61726E5F, 0x31300000, 0x61726E5F, 0x30380000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240000_BF6A00
.word 0xC3610000, 0x00000000, 0x00000000, 0x42B40000, 0x43610000, 0x00000000, 0x00000000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8024034C, D_80240000_BF6A00, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900D5, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFEA, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000055, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240100_BF6B00
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000006, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80240C70, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x0000000B, 0x00000024, 0x00000002, 0xFE363C82, 0x00000002, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80240C78, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80240100_BF6B00, 0x00000100, 0x00000006, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x802401A4, 0x00000100, 0x0000000B, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000044, 0x00000001, 0x80240248, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000002, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000044, 0x00000001, 0x80240248, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000023, 0x00000043, 0x00000002, SetSpriteShading, 0x00080001, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80240BB8, 0x00000046, 0x00000001, 0x80240C28, 0x00000044, 0x00000001, 0x80240060, 0x00000044, 0x00000001, 0x80240290, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240BE0_BF75E0
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0182, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000007, MakeEntity, D_802EAFDC, 0x000000C8, 0x00000000, 0xFFFFFFD8, 0x00000000, D_80000000, 0x00000043, 0x00000002, AssignScript, D_80240BE0_BF75E0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_80240C70_BF7670
.word 0x61726E5F, 0x30390000, 0x61726E5F, 0x31320000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240000_BF7680
.word 0xC3250000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802405A8, D_80240000_BF7680, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900D8, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFE9, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000055, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_802400F0_BF7770
.word 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000006, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x0000003C, 0x0000001E, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x0000003C, 0x0000001E, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24ACA80, 0xF24A4680, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000113, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8680, 0x00000043, 0x00000004, PlayerMoveTo, 0x00000006, 0x00000000, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x006C000B, 0x006C0001, 0x00000000, 0x000E00BF, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080007, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x006C000B, 0x006C0001, 0x00000000, 0x000E00C0, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00090000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x006C000B, 0x006C0001, 0x00000000, 0x000E00C1, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00090000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A8480, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x000020C8, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x000020C8, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x006C000B, 0x006C0001, 0x00000000, 0x000E00C2, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00090000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetNpcVar, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80241100, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x80240428, 0x00000100, 0x00000002, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000044, 0x00000001, 0x802404CC, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFEA, 0x00000008, 0x00000001, 0x0000000A, 0x00000044, 0x00000001, D_802400F0_BF7770, 0x00000044, 0x00000001, 0x802401BC, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000023, 0x00000043, 0x00000002, SetSpriteShading, 0x00080002, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802410DC, 0x00000044, 0x00000001, 0x80240050, 0x00000044, 0x00000001, 0x802404F8, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_80241100_BF8780
.word 0x61726E5F, 0x31330000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240000_BF8790
.word 0xC3670000, 0x00000000, 0x40A00000, 0x42B40000, 0x43670000, 0x00000000, 0x40A00000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8024034C, D_80240000_BF8790, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900D6, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFEA, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000055, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240100_BF8890
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80240C70, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000007, 0x00000024, 0x00000002, 0xFE363C82, 0x00000002, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80240C78, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80240100_BF8890, 0x00000100, 0x00000002, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x802401A4, 0x00000100, 0x00000007, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000044, 0x00000001, 0x80240248, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000002, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000044, 0x00000001, 0x80240248, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000023, 0x00000043, 0x00000002, SetSpriteShading, 0x00080003, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80240BBC, 0x00000046, 0x00000001, 0x80240C28, 0x00000044, 0x00000001, 0x80240290, 0x00000044, 0x00000001, 0x80240060, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_80240C70_BF9400
.word 0x61726E5F, 0x31300000, 0x61726E5F, 0x31330000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240000_BF9410
.word 0xC3670000, 0x00000000, 0x40A00000, 0x42B40000, 0x43670000, 0x00000000, 0x40A00000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8024034C, D_80240000_BF9410, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900D7, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFEA, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000055, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80240100_BF9510
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80240C80, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000007, 0x00000024, 0x00000002, 0xFE363C82, 0x00000002, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80240C88, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80240100_BF9510, 0x00000100, 0x00000002, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x802401A4, 0x00000100, 0x00000007, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000044, 0x00000001, 0x80240248, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000002, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000044, 0x00000001, 0x80240248, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000023, 0x00000043, 0x00000002, SetSpriteShading, 0x00080004, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80240BCC, 0x00000046, 0x00000001, 0x80240C38, 0x00000044, 0x00000001, 0x80240060, 0x00000044, 0x00000001, 0x80240290, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_80240C80_BFA090
.word 0x61726E5F, 0x31320000, 0x61726E5F, 0x31310000

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_802400B0_BFA150
.word 0xC4374000, 0x00000000, 0xC1000000, 0x42B40000, 0x437A0000, 0x41200000, 0xC2C80000, 0x43610000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80240520, D_802400B0_BFA150, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900C0, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFE3, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001F, 0x00000000, 0x00000008, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001D, 0x00000000, 0x00000008, 0x00000023, 0x00000000, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .data
glabel D_80243760_BFD800
.word 0x00000043, 0x00000007, MakeEntity, D_802E9A18, 0xFFFFFFBF, 0x0000003C, 0xFFFFFF10, 0x00000000, D_80000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -0,0 +1,12 @@
.include "macro.inc"
.section .rodata
glabel D_802437A0_BFD840
.word 0x61726E5F, 0x32305F73, 0x68617065, 0x00000000
glabel D_802437B0_BFD850
.ascii "arn_20_hit\0\0"
glabel D_802437BC_BFD85C
.word 0x61726E5F, 0x74657800, 0x61726E5F, 0x30340000, 0x6467625F, 0x30310000, 0x00000000, 0x00000000, 0x00000000

Some files were not shown because too many files have changed in this diff Show More