mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 00:42:34 +01:00
Decomp funcs in code_182B30.c, add some structs to common_structs.h (#216)
* decomp funcs in code_182B30.c * decomp funcs in code_10400_len_d30.c * decomp funcs in code_13870_len_6980.c and code_fee30_len_2d60.c * resolves issues on pr
This commit is contained in:
parent
e4480c0f59
commit
042cb625b6
@ -91,7 +91,7 @@ typedef struct HeapNode {
|
||||
} HeapNode; // size = 0x10
|
||||
|
||||
typedef struct NpcBlurData {
|
||||
/* 0x00 */ char unk_00;
|
||||
/* 0x00 */ s8 unk_00;
|
||||
/* 0x01 */ s8 unk_01;
|
||||
/* 0x02 */ char unk_02[2];
|
||||
/* 0x04 */ f32 xpos[20];
|
||||
@ -109,7 +109,7 @@ typedef struct Npc {
|
||||
/* 0x018 */ f32 moveSpeed;
|
||||
/* 0x01C */ f32 jumpVelocity;
|
||||
/* 0x020 */ struct NpcBlurData* blurData; /* related to movement somehow... */
|
||||
/* 0x024 */ char unk_24[4];
|
||||
/* 0x024 */ s32 unk_24;
|
||||
/* 0x028 */ u32 currentAnim;
|
||||
/* 0x02C */ char unk_2C[4];
|
||||
/* 0x030 */ f32 animationSpeed;
|
||||
@ -138,7 +138,9 @@ typedef struct Npc {
|
||||
/* 0x0AA */ u8 renderMode;
|
||||
/* 0x0AB */ u8 unk_AB;
|
||||
/* 0x0AC */ u8 unk_AC;
|
||||
/* 0x0AD */ char unk_AD[659];
|
||||
/* 0x0AD */ char unk_AD[3];
|
||||
/* 0x0B0 */ s32 unk_B0;
|
||||
/* 0x0B4 */ char unk_B4[652];
|
||||
} Npc; // size = 0x340
|
||||
|
||||
typedef Npc* NpcList[MAX_NPCS];
|
||||
@ -1202,7 +1204,11 @@ typedef struct CollisionStatus {
|
||||
typedef struct DecorationTable {
|
||||
/* 0x000 */ char unk_00[1729];
|
||||
/* 0x6C1 */ s8 unk_6C1;
|
||||
/* 0x6C2 */ char unk_6C2[142];
|
||||
/* 0x6C2 */ char unk_6C2[11];
|
||||
/* 0x6CD */ s8 unk_6CD;
|
||||
/* 0x6CE */ char unk_6CE[6];
|
||||
/* 0x6D4 */ s32* unk_6D4;
|
||||
/* 0x6D8 */ char unk_6D8[120];
|
||||
/* 0x750 */ s8 unk_750;
|
||||
/* 0x751 */ s8 unk_751;
|
||||
/* 0x752 */ s8 unk_752;
|
||||
@ -1212,7 +1218,12 @@ typedef struct DecorationTable {
|
||||
/* 0x766 */ s8 unk_766;
|
||||
/* 0x767 */ s8 unk_767;
|
||||
/* 0x768 */ s8 unk_768;
|
||||
/* 0x769 */ char unk_769[114];
|
||||
/* 0x769 */ char unk_769[3];
|
||||
/* 0x76C */ s16 unk_76C[16];
|
||||
/* 0x78C */ char unk_78C[76];
|
||||
/* 0x7D8 */ s8 unk_7D8;
|
||||
/* 0x7D9 */ s8 unk_7D9;
|
||||
/* 0x7DA */ char unk_7DA;
|
||||
/* 0x7DB */ s8 unk_7DB;
|
||||
/* 0x7DC */ s16 scale[16];
|
||||
/* 0x7FC */ s16 posX[16];
|
||||
@ -1225,11 +1236,12 @@ typedef struct DecorationTable {
|
||||
/* 0x89C */ u8 rotZ[16];
|
||||
/* 0x8AC */ u8 effectType; /* 0 = blur, 14 = none? */
|
||||
/* 0x8AD */ char unk_8AD[3];
|
||||
/* 0x8B0 */ s32* unk_8B0[2];
|
||||
/* 0x8B0 */ struct Temp8025D160* unk_8B0[2];
|
||||
/* 0x8B8 */ u8 decorationType[2];
|
||||
/* 0x8BA */ u8 unk_8BA[2];
|
||||
/* 0x8BC */ u8 unk_8BC[2];
|
||||
/* 0x8BD */ char unk_8BD[42];
|
||||
/* 0x8C0 */ s16 unk_8C0[6];
|
||||
/* 0x8BE */ char unk_8BE[30];
|
||||
} DecorationTable; // size = 0x8E8
|
||||
|
||||
typedef struct Shop {
|
||||
@ -1346,7 +1358,7 @@ typedef struct Actor {
|
||||
/* 0x197 */ s8 unk_197;
|
||||
/* 0x198 */ Vec2b unk_198;
|
||||
/* 0x19A */ s8 unk_19A;
|
||||
/* 0x019B */ char unk_19B[1];
|
||||
/* 0x19B */ char unk_19B[1];
|
||||
/* 0x19C */ s32 actorTypeData1[6]; /* 4 = jump sound */
|
||||
/* 0x1B4 */ s16 actorTypeData1b[2];
|
||||
/* 0x1B8 */ s8 currentHP;
|
||||
@ -1779,4 +1791,22 @@ typedef struct Temp8010EBB0 {
|
||||
/* 0x35C */ char unk_35C[0x4];
|
||||
} Temp8010EBB0; // size = 0x360
|
||||
|
||||
typedef struct Temp8025D160 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ char unk_04[8];
|
||||
/* 0x0C */ struct Temp8025D160_2* unk_0C;
|
||||
} Temp8025D160; // size = 0x10 (?)
|
||||
|
||||
typedef struct Temp8025D160_2 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ char unk_10[12];
|
||||
/* 0x1C */ s32 unk_1C;
|
||||
/* 0x20 */ s32 unk_20;
|
||||
/* 0x24 */ char unk_24[8];
|
||||
/* 0x2C */ s32 unk_2C;
|
||||
} Temp8025D160_2; // size = 0x30 (?)
|
||||
|
||||
#endif
|
||||
|
@ -127,6 +127,9 @@ extern TriggerList* gCurrentTriggerListPtr;
|
||||
|
||||
// Map transition data. Should probably be a struct
|
||||
extern u16 gMapTransitionAlpha;
|
||||
extern s8 D_800A0930;
|
||||
extern s8 D_800A0931;
|
||||
extern s16 D_800A0932[1];
|
||||
extern s16 D_800A0942;
|
||||
extern s16 D_800A0944;
|
||||
extern s16 D_800A0946;
|
||||
@ -142,8 +145,10 @@ extern s16 D_800A095E;
|
||||
extern u8 D_800A095F;
|
||||
extern s32 D_800A0960;
|
||||
extern s32 D_800A0964;
|
||||
extern s8 D_800A0B94;
|
||||
extern s16 D_800A0BB8;
|
||||
|
||||
|
||||
extern UIPanel gUIPanels[64];
|
||||
|
||||
extern s32 D_802A3838;
|
||||
@ -205,6 +210,7 @@ extern s32 gStatsMenuIconIDs[12];
|
||||
|
||||
|
||||
extern s32 gGameState;
|
||||
extern s16 D_8009A604;
|
||||
extern s32 D_8009A64C;
|
||||
extern s32 gOverrideFlags;
|
||||
extern u16 D_8009A6A0;
|
||||
|
@ -1,8 +1,50 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(s32, "code_10400_len_d30", state_init_language_select);
|
||||
void state_init_language_select(void) {
|
||||
D_800A0931 = 0;
|
||||
D_800A0932[0] = 0;
|
||||
disable_player_input();
|
||||
func_80027088(2);
|
||||
set_transition_stencil_zoom_0(0, D_800A0932[0]);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_10400_len_d30", state_init_file_select);
|
||||
void state_init_file_select(void) {
|
||||
Camera* cameras = gCameras;
|
||||
|
||||
D_800A0931 = 0;
|
||||
D_800A0932[0] = 0;
|
||||
disable_player_input();
|
||||
func_80027088(2);
|
||||
general_heap_create();
|
||||
func_801452E8(0, 0);
|
||||
func_80141100();
|
||||
load_model_textures(0, 0, 0);
|
||||
cameras[0].mode = 6;
|
||||
cameras[0].unk_06 = 1;
|
||||
cameras[0].nearClip = 16;
|
||||
cameras[0].farClip = 4096;
|
||||
cameras[0].flags |= 2;
|
||||
gCurrentCameraID = 0;
|
||||
cameras[1].flags |= 2;
|
||||
cameras[2].flags |= 2;
|
||||
cameras[3].flags |= 2;
|
||||
cameras[0].vfov = 25.0f;
|
||||
set_cam_viewport(0, 12, 28, 296, 184);
|
||||
cameras[0].unk_1E = 40;
|
||||
cameras[0].lookAt_eye[0] = 500.0f;
|
||||
cameras[0].lookAt_eye[1] = 1000.0f;
|
||||
cameras[0].lookAt_eye[2] = 1500.0f;
|
||||
cameras[0].unk_5C = 150.0f;
|
||||
cameras[0].backgroundColor[0] = 0;
|
||||
cameras[0].backgroundColor[1] = 0;
|
||||
cameras[0].backgroundColor[2] = 0;
|
||||
cameras[0].unk_54 = 25.0f;
|
||||
cameras[0].unk_58 = 25.0f;
|
||||
cameras[0].unk_1C = 0;
|
||||
cameras[0].unk_20 = 100;
|
||||
cameras[0].unk_22 = 0;
|
||||
OVERRIDE_FLAG_SET(0x10000);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_10400_len_d30", state_step_language_select);
|
||||
|
||||
@ -14,9 +56,32 @@ void state_drawUI_language_select(void) {
|
||||
void state_drawUI_file_select(void) {
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_10400_len_d30", func_800355D4);
|
||||
void func_800355D4(void) {
|
||||
if (D_800A0932[0] > 0) {
|
||||
D_800A0931 = 0;
|
||||
set_transition_stencil_zoom_0(0, D_800A0932[0]);
|
||||
} else {
|
||||
D_800A0931 = 1;
|
||||
set_transition_stencil_zoom_0(0, D_800A0932[0]);
|
||||
}
|
||||
D_800A0930 = 1;
|
||||
OVERRIDE_FLAG_UNSET(0x40);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_10400_len_d30", func_80035660);
|
||||
void func_80035660(void) {
|
||||
D_800A0931 = 0;
|
||||
D_800A0932[0] = 0;
|
||||
D_800A0930 = 0;
|
||||
|
||||
if (func_80244BC4() == 0) {
|
||||
set_map_transition_effect(7);
|
||||
} else {
|
||||
set_map_transition_effect(8);
|
||||
OVERRIDE_FLAG_UNSET(0x0010000);
|
||||
set_music_track(0, -1, 0, 1000, 8);
|
||||
}
|
||||
OVERRIDE_FLAG_UNSET(0x40);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_10400_len_d30", func_80035704);
|
||||
|
||||
|
@ -14,15 +14,36 @@ void mtx_ident_mirror_y(Matrix4f* mtx) {
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", clear_npcs);
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", init_npc_list);
|
||||
void init_npc_list(void) {
|
||||
if (!(gGameStatusPtr[0]->isBattle)) {
|
||||
gCurrentNpcListPtr = &gWorldNpcList;
|
||||
} else {
|
||||
gCurrentNpcListPtr = &gBattleNpcList;
|
||||
}
|
||||
D_8009A604 = 0;
|
||||
D_800A0B94 = 1;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", func_8003857C);
|
||||
//pointless function called by step_game_loop
|
||||
void func_8003857C(void) {
|
||||
s32 phi_v1 = 0;
|
||||
s32 temp_v0 = phi_v1 < 0x40;
|
||||
|
||||
while (temp_v0) {
|
||||
phi_v1++;
|
||||
temp_v0 = phi_v1 < 0x40;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", _create_npc, NpcBlueprint* blueprint, s32 animList[], s32 skipLoadingAnims);
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", create_basic_npc);
|
||||
void create_basic_npc(s32* arg0) {
|
||||
_create_npc(arg0, 0, 0);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", create_standard_npc);
|
||||
void create_standard_npc(s32* arg0, s32 arg1) {
|
||||
_create_npc(arg0, arg1, 0);
|
||||
}
|
||||
|
||||
void create_partner_npc(NpcBlueprint* blueprint) {
|
||||
_create_npc(blueprint, NULL, TRUE);
|
||||
@ -67,13 +88,66 @@ INCLUDE_ASM(Npc*, "code_13870_len_6980", get_npc_unsafe, NpcId npcId);
|
||||
|
||||
INCLUDE_ASM(Npc*, "code_13870_len_6980", get_npc_safe, NpcId npcId);
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", enable_npc_shadow);
|
||||
void enable_npc_shadow(Npc* npc) {
|
||||
Shadow* shadow;
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", disable_npc_shadow);
|
||||
if (!(npc->flags & 0x10)) {
|
||||
shadow = get_shadow_by_index(npc->shadowIndex);
|
||||
shadow->flags &= ~1;
|
||||
npc->flags = npc->flags | 0x10010;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", set_npc_sprite);
|
||||
void disable_npc_shadow(Npc* npc) {
|
||||
Shadow* shadow;
|
||||
|
||||
INCLUDE_ASM(s32, "code_13870_len_6980", enable_npc_blur);
|
||||
if (npc->flags & 0x10) {
|
||||
shadow = get_shadow_by_index(npc->shadowIndex);
|
||||
shadow->flags |= 1;
|
||||
npc->flags &= ~0x10;
|
||||
npc->flags &= ~0x10000;
|
||||
}
|
||||
}
|
||||
|
||||
func_802DE2AC(s32 arg0, s32 arg1, f32 arg2);
|
||||
|
||||
void set_npc_sprite(Npc *npc, s32 arg1, s32 arg2) {
|
||||
s32 flagsTemp;
|
||||
|
||||
ASSERT(((npc->flags & 0x1000000)) || (func_802DE5E8(npc->unk_24) == 0));
|
||||
npc->unk_B0 = arg2;
|
||||
if (!(npc->flags & 0x1000000)) {
|
||||
npc->unk_24 = func_802DE0EC(arg1, arg2);
|
||||
ASSERT(!(npc->unk_24 < 0));
|
||||
}
|
||||
flagsTemp = npc->flags;
|
||||
npc->currentAnim = arg1;
|
||||
if (!(flagsTemp & 0x40000000)) {
|
||||
if (!(flagsTemp & 0x1000000)) {
|
||||
func_802DE2AC(npc->unk_24, arg1, npc->animationSpeed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void enable_npc_blur(Npc *npc) {
|
||||
NpcBlurData* blurData;
|
||||
s32 i;
|
||||
|
||||
if (!(npc->flags & 0x100000)) {
|
||||
npc->flags |= 0x100000;
|
||||
blurData = heap_malloc(sizeof(NpcBlurData));
|
||||
npc->blurData = blurData;
|
||||
ASSERT(blurData != NULL);
|
||||
blurData->unk_00 = 0;
|
||||
blurData->unk_01 = 0;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(blurData->xpos); i++) {
|
||||
blurData->xpos[i] = npc->pos.x;
|
||||
blurData->ypos[i] = npc->pos.y;
|
||||
blurData->zpos[i] = npc->pos.z;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void disable_npc_blur(Npc* npc) {
|
||||
if (npc->flags & 0x100000) {
|
||||
|
@ -42,17 +42,52 @@ void func_80254610(Actor* actor) {
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_182B30", enable_partner_blur);
|
||||
void enable_partner_blur(void) {
|
||||
enable_actor_blur(gBattleStatus.partnerActor);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_182B30", disable_partner_blur);
|
||||
void disable_partner_blur(void) {
|
||||
disable_actor_blur(gBattleStatus.partnerActor);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_182B30", reset_partner_blur);
|
||||
void reset_partner_blur(void) {
|
||||
reset_actor_blur(gBattleStatus.partnerActor);
|
||||
}
|
||||
|
||||
void func_802546B0(void) {
|
||||
func_80254610(gBattleStatus.partnerActor);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void enable_player_blur(void) {
|
||||
Actor* playerActor = gBattleStatus.playerActor;
|
||||
ActorPart* partsTable = playerActor->partsTable;
|
||||
DecorationTable* decorationTable = partsTable->decorationTable;
|
||||
s32 i;
|
||||
u8* new_var;
|
||||
|
||||
decorationTable->effectType = 0;
|
||||
decorationTable->unk_7DB++;
|
||||
playerActor->flags |= 0x10000000;
|
||||
decorationTable->unk_7D8 = 0;
|
||||
decorationTable->unk_7D9 = 0;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(decorationTable->posX); i++) {
|
||||
decorationTable->posX[i] = partsTable->currentPos.x;
|
||||
decorationTable->posY[i] = partsTable->currentPos.y;
|
||||
decorationTable->posZ[i] = partsTable->currentPos.z;
|
||||
decorationTable->scale[i] = playerActor->yaw;
|
||||
decorationTable->rotationPivotOffsetX[i] = (s32)(playerActor->rotationPivotOffset.x * playerActor->scalingFactor);
|
||||
decorationTable->rotationPivotOffsetY[i] = (s32)(playerActor->rotationPivotOffset.y * playerActor->scalingFactor);
|
||||
|
||||
decorationTable->rotX[i] = clamp_angle(playerActor->rotation.x) * 0.5f;
|
||||
decorationTable->rotY[i] = clamp_angle(playerActor->rotation.y) * 0.5f;
|
||||
decorationTable->rotZ[i] = clamp_angle(playerActor->rotation.z) * 0.5f;
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_182B30", enable_player_blur);
|
||||
#endif
|
||||
|
||||
void disable_player_blur(void) {
|
||||
DecorationTable* decorationTable = gBattleStatus.playerActor->partsTable->decorationTable;
|
||||
@ -318,8 +353,13 @@ void func_8025DBC8(void) {
|
||||
|
||||
INCLUDE_ASM(s32, "code_182B30", func_8025DBD0);
|
||||
|
||||
INCLUDE_ASM(s32, "code_182B30", func_8025DD40);
|
||||
void func_8025DD40(ActorPart* actorPart, s32 arg1) {
|
||||
actorPart->decorationTable->unk_8B0[arg1]->unk_0C->unk_2C = 5;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_182B30", func_8025DD60);
|
||||
|
||||
INCLUDE_ASM(s32, "code_182B30", func_8025DE88);
|
||||
void func_8025DE88(ActorPart* actorPart, s32 arg1) {
|
||||
actorPart->decorationTable->unk_8B0[arg1]->unk_00 |= 0x10;
|
||||
}
|
||||
|
||||
|
@ -174,7 +174,7 @@ INCLUDE_ASM(s32, "code_fee30_len_2d60", func_802DE0C0);
|
||||
|
||||
INCLUDE_ASM(s32, "code_fee30_len_2d60", func_802DE0EC);
|
||||
|
||||
INCLUDE_ASM(s32, "code_fee30_len_2d60", func_802DE2AC);
|
||||
INCLUDE_ASM(s32, "code_fee30_len_2d60", func_802DE2AC, s32 arg0, s32 arg1, f32 arg2);
|
||||
|
||||
INCLUDE_ASM(s32, "code_fee30_len_2d60", func_802DE3D8);
|
||||
|
||||
|
@ -1,41 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_800355D4
|
||||
/* 109D4 800355D4 3C05800A */ lui $a1, %hi(D_800A0932)
|
||||
/* 109D8 800355D8 84A50932 */ lh $a1, %lo(D_800A0932)($a1)
|
||||
/* 109DC 800355DC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 109E0 800355E0 18A00009 */ blez $a1, .L80035608
|
||||
/* 109E4 800355E4 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 109E8 800355E8 44850000 */ mtc1 $a1, $f0
|
||||
/* 109EC 800355EC 00000000 */ nop
|
||||
/* 109F0 800355F0 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 109F4 800355F4 44050000 */ mfc1 $a1, $f0
|
||||
/* 109F8 800355F8 3C01800A */ lui $at, %hi(D_800A0931)
|
||||
/* 109FC 800355FC A0200931 */ sb $zero, %lo(D_800A0931)($at)
|
||||
/* 10A00 80035600 0800D58A */ j .L80035628
|
||||
/* 10A04 80035604 0000202D */ daddu $a0, $zero, $zero
|
||||
.L80035608:
|
||||
/* 10A08 80035608 24020001 */ addiu $v0, $zero, 1
|
||||
/* 10A0C 8003560C 44850000 */ mtc1 $a1, $f0
|
||||
/* 10A10 80035610 00000000 */ nop
|
||||
/* 10A14 80035614 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 10A18 80035618 44050000 */ mfc1 $a1, $f0
|
||||
/* 10A1C 8003561C 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 10A20 80035620 3C01800A */ lui $at, %hi(D_800A0931)
|
||||
/* 10A24 80035624 A0220931 */ sb $v0, %lo(D_800A0931)($at)
|
||||
.L80035628:
|
||||
/* 10A28 80035628 0C04DF62 */ jal set_transition_stencil_zoom_0
|
||||
/* 10A2C 8003562C 00000000 */ nop
|
||||
/* 10A30 80035630 24020001 */ addiu $v0, $zero, 1
|
||||
/* 10A34 80035634 3C04800A */ lui $a0, %hi(gOverrideFlags)
|
||||
/* 10A38 80035638 2484A650 */ addiu $a0, $a0, %lo(gOverrideFlags)
|
||||
/* 10A3C 8003563C 3C01800A */ lui $at, %hi(D_800A0930)
|
||||
/* 10A40 80035640 A0220930 */ sb $v0, %lo(D_800A0930)($at)
|
||||
/* 10A44 80035644 8C820000 */ lw $v0, ($a0)
|
||||
/* 10A48 80035648 2403FFBF */ addiu $v1, $zero, -0x41
|
||||
/* 10A4C 8003564C 00431024 */ and $v0, $v0, $v1
|
||||
/* 10A50 80035650 AC820000 */ sw $v0, ($a0)
|
||||
/* 10A54 80035654 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 10A58 80035658 03E00008 */ jr $ra
|
||||
/* 10A5C 8003565C 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,47 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_80035660
|
||||
/* 10A60 80035660 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 10A64 80035664 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* 10A68 80035668 3C01800A */ lui $at, %hi(D_800A0931)
|
||||
/* 10A6C 8003566C A0200931 */ sb $zero, %lo(D_800A0931)($at)
|
||||
/* 10A70 80035670 3C01800A */ lui $at, %hi(D_800A0932)
|
||||
/* 10A74 80035674 A4200932 */ sh $zero, %lo(D_800A0932)($at)
|
||||
/* 10A78 80035678 3C01800A */ lui $at, %hi(D_800A0930)
|
||||
/* 10A7C 8003567C A0200930 */ sb $zero, %lo(D_800A0930)($at)
|
||||
/* 10A80 80035680 0C0912F1 */ jal func_80244BC4
|
||||
/* 10A84 80035684 00000000 */ nop
|
||||
/* 10A88 80035688 14400005 */ bnez $v0, .L800356A0
|
||||
/* 10A8C 8003568C 00000000 */ nop
|
||||
/* 10A90 80035690 0C04E0A8 */ jal set_map_transition_effect
|
||||
/* 10A94 80035694 24040007 */ addiu $a0, $zero, 7
|
||||
/* 10A98 80035698 0800D5B8 */ j .L800356E0
|
||||
/* 10A9C 8003569C 00000000 */ nop
|
||||
.L800356A0:
|
||||
/* 10AA0 800356A0 0C04E0A8 */ jal set_map_transition_effect
|
||||
/* 10AA4 800356A4 24040008 */ addiu $a0, $zero, 8
|
||||
/* 10AA8 800356A8 3C06FFFE */ lui $a2, 0xfffe
|
||||
/* 10AAC 800356AC 34C6FFFF */ ori $a2, $a2, 0xffff
|
||||
/* 10AB0 800356B0 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 10AB4 800356B4 3C05800A */ lui $a1, %hi(gOverrideFlags)
|
||||
/* 10AB8 800356B8 24A5A650 */ addiu $a1, $a1, %lo(gOverrideFlags)
|
||||
/* 10ABC 800356BC 24030008 */ addiu $v1, $zero, 8
|
||||
/* 10AC0 800356C0 8CA20000 */ lw $v0, ($a1)
|
||||
/* 10AC4 800356C4 240703E8 */ addiu $a3, $zero, 0x3e8
|
||||
/* 10AC8 800356C8 AFA30010 */ sw $v1, 0x10($sp)
|
||||
/* 10ACC 800356CC 00461024 */ and $v0, $v0, $a2
|
||||
/* 10AD0 800356D0 ACA20000 */ sw $v0, ($a1)
|
||||
/* 10AD4 800356D4 2405FFFF */ addiu $a1, $zero, -1
|
||||
/* 10AD8 800356D8 0C052A46 */ jal set_music_track
|
||||
/* 10ADC 800356DC 0080302D */ daddu $a2, $a0, $zero
|
||||
.L800356E0:
|
||||
/* 10AE0 800356E0 3C02800A */ lui $v0, %hi(gOverrideFlags)
|
||||
/* 10AE4 800356E4 2442A650 */ addiu $v0, $v0, %lo(gOverrideFlags)
|
||||
/* 10AE8 800356E8 8C430000 */ lw $v1, ($v0)
|
||||
/* 10AEC 800356EC 2404FFBF */ addiu $a0, $zero, -0x41
|
||||
/* 10AF0 800356F0 00641824 */ and $v1, $v1, $a0
|
||||
/* 10AF4 800356F4 AC430000 */ sw $v1, ($v0)
|
||||
/* 10AF8 800356F8 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* 10AFC 800356FC 03E00008 */ jr $ra
|
||||
/* 10B00 80035700 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,96 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel state_init_file_select
|
||||
/* 10458 80035058 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 1045C 8003505C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 10460 80035060 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 10464 80035064 F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* 10468 80035068 3C01800A */ lui $at, %hi(D_800A0931)
|
||||
/* 1046C 8003506C A0200931 */ sb $zero, %lo(D_800A0931)($at)
|
||||
/* 10470 80035070 3C01800A */ lui $at, %hi(D_800A0932)
|
||||
/* 10474 80035074 A4200932 */ sh $zero, %lo(D_800A0932)($at)
|
||||
/* 10478 80035078 0C03805E */ jal disable_player_input
|
||||
/* 1047C 8003507C 00000000 */ nop
|
||||
/* 10480 80035080 0C009C22 */ jal func_80027088
|
||||
/* 10484 80035084 24040002 */ addiu $a0, $zero, 2
|
||||
/* 10488 80035088 0C00AB00 */ jal general_heap_create
|
||||
/* 1048C 8003508C 00000000 */ nop
|
||||
/* 10490 80035090 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 10494 80035094 0C0514BA */ jal func_801452E8
|
||||
/* 10498 80035098 0080282D */ daddu $a1, $a0, $zero
|
||||
/* 1049C 8003509C 0C050440 */ jal func_80141100
|
||||
/* 104A0 800350A0 00000000 */ nop
|
||||
/* 104A4 800350A4 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 104A8 800350A8 0080282D */ daddu $a1, $a0, $zero
|
||||
/* 104AC 800350AC 0C045709 */ jal load_model_textures
|
||||
/* 104B0 800350B0 0080302D */ daddu $a2, $a0, $zero
|
||||
/* 104B4 800350B4 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 104B8 800350B8 2405000C */ addiu $a1, $zero, 0xc
|
||||
/* 104BC 800350BC 2406001C */ addiu $a2, $zero, 0x1c
|
||||
/* 104C0 800350C0 3C10800B */ lui $s0, %hi(gCameras)
|
||||
/* 104C4 800350C4 26101D80 */ addiu $s0, $s0, %lo(gCameras)
|
||||
/* 104C8 800350C8 24020006 */ addiu $v0, $zero, 6
|
||||
/* 104CC 800350CC A6020004 */ sh $v0, 4($s0)
|
||||
/* 104D0 800350D0 24020001 */ addiu $v0, $zero, 1
|
||||
/* 104D4 800350D4 A6020006 */ sh $v0, 6($s0)
|
||||
/* 104D8 800350D8 24020010 */ addiu $v0, $zero, 0x10
|
||||
/* 104DC 800350DC A6020012 */ sh $v0, 0x12($s0)
|
||||
/* 104E0 800350E0 24021000 */ addiu $v0, $zero, 0x1000
|
||||
/* 104E4 800350E4 A6020014 */ sh $v0, 0x14($s0)
|
||||
/* 104E8 800350E8 96020000 */ lhu $v0, ($s0)
|
||||
/* 104EC 800350EC 240300B8 */ addiu $v1, $zero, 0xb8
|
||||
/* 104F0 800350F0 AFA30010 */ sw $v1, 0x10($sp)
|
||||
/* 104F4 800350F4 96030AB0 */ lhu $v1, 0xab0($s0)
|
||||
/* 104F8 800350F8 3C0141C8 */ lui $at, 0x41c8
|
||||
/* 104FC 800350FC 4481A000 */ mtc1 $at, $f20
|
||||
/* 10500 80035100 34420002 */ ori $v0, $v0, 2
|
||||
/* 10504 80035104 A6020000 */ sh $v0, ($s0)
|
||||
/* 10508 80035108 96020558 */ lhu $v0, 0x558($s0)
|
||||
/* 1050C 8003510C 24070128 */ addiu $a3, $zero, 0x128
|
||||
/* 10510 80035110 3C018007 */ lui $at, %hi(gCurrentCameraID)
|
||||
/* 10514 80035114 AC207410 */ sw $zero, %lo(gCurrentCameraID)($at)
|
||||
/* 10518 80035118 34420002 */ ori $v0, $v0, 2
|
||||
/* 1051C 8003511C A6020558 */ sh $v0, 0x558($s0)
|
||||
/* 10520 80035120 96021008 */ lhu $v0, 0x1008($s0)
|
||||
/* 10524 80035124 34630002 */ ori $v1, $v1, 2
|
||||
/* 10528 80035128 A6030AB0 */ sh $v1, 0xab0($s0)
|
||||
/* 1052C 8003512C E6140018 */ swc1 $f20, 0x18($s0)
|
||||
/* 10530 80035130 34420002 */ ori $v0, $v0, 2
|
||||
/* 10534 80035134 0C00B8C5 */ jal set_cam_viewport
|
||||
/* 10538 80035138 A6021008 */ sh $v0, 0x1008($s0)
|
||||
/* 1053C 8003513C 24020028 */ addiu $v0, $zero, 0x28
|
||||
/* 10540 80035140 A602001E */ sh $v0, 0x1e($s0)
|
||||
/* 10544 80035144 24020064 */ addiu $v0, $zero, 0x64
|
||||
/* 10548 80035148 3C0143FA */ lui $at, 0x43fa
|
||||
/* 1054C 8003514C 44810000 */ mtc1 $at, $f0
|
||||
/* 10550 80035150 3C01447A */ lui $at, 0x447a
|
||||
/* 10554 80035154 44811000 */ mtc1 $at, $f2
|
||||
/* 10558 80035158 3C0144BB */ lui $at, 0x44bb
|
||||
/* 1055C 8003515C 34218000 */ ori $at, $at, 0x8000
|
||||
/* 10560 80035160 44812000 */ mtc1 $at, $f4
|
||||
/* 10564 80035164 3C014316 */ lui $at, 0x4316
|
||||
/* 10568 80035168 44813000 */ mtc1 $at, $f6
|
||||
/* 1056C 8003516C 3C04800A */ lui $a0, %hi(gOverrideFlags)
|
||||
/* 10570 80035170 2484A650 */ addiu $a0, $a0, %lo(gOverrideFlags)
|
||||
/* 10574 80035174 A600002C */ sh $zero, 0x2c($s0)
|
||||
/* 10578 80035178 A600002E */ sh $zero, 0x2e($s0)
|
||||
/* 1057C 8003517C A6000030 */ sh $zero, 0x30($s0)
|
||||
/* 10580 80035180 E6140054 */ swc1 $f20, 0x54($s0)
|
||||
/* 10584 80035184 E6140058 */ swc1 $f20, 0x58($s0)
|
||||
/* 10588 80035188 A600001C */ sh $zero, 0x1c($s0)
|
||||
/* 1058C 8003518C A6020020 */ sh $v0, 0x20($s0)
|
||||
/* 10590 80035190 A6000022 */ sh $zero, 0x22($s0)
|
||||
/* 10594 80035194 E600003C */ swc1 $f0, 0x3c($s0)
|
||||
/* 10598 80035198 E6020040 */ swc1 $f2, 0x40($s0)
|
||||
/* 1059C 8003519C E6040044 */ swc1 $f4, 0x44($s0)
|
||||
/* 105A0 800351A0 E606005C */ swc1 $f6, 0x5c($s0)
|
||||
/* 105A4 800351A4 8C820000 */ lw $v0, ($a0)
|
||||
/* 105A8 800351A8 3C030001 */ lui $v1, 1
|
||||
/* 105AC 800351AC 00431025 */ or $v0, $v0, $v1
|
||||
/* 105B0 800351B0 AC820000 */ sw $v0, ($a0)
|
||||
/* 105B4 800351B4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 105B8 800351B8 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 105BC 800351BC D7B40020 */ ldc1 $f20, 0x20($sp)
|
||||
/* 105C0 800351C0 03E00008 */ jr $ra
|
||||
/* 105C4 800351C4 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,26 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel state_init_language_select
|
||||
/* 10400 80035000 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 10404 80035004 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 10408 80035008 3C10800A */ lui $s0, %hi(D_800A0932)
|
||||
/* 1040C 8003500C 26100932 */ addiu $s0, $s0, %lo(D_800A0932)
|
||||
/* 10410 80035010 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 10414 80035014 3C01800A */ lui $at, %hi(D_800A0931)
|
||||
/* 10418 80035018 A0200931 */ sb $zero, %lo(D_800A0931)($at)
|
||||
/* 1041C 8003501C 0C03805E */ jal disable_player_input
|
||||
/* 10420 80035020 A6000000 */ sh $zero, ($s0)
|
||||
/* 10424 80035024 0C009C22 */ jal func_80027088
|
||||
/* 10428 80035028 24040002 */ addiu $a0, $zero, 2
|
||||
/* 1042C 8003502C 86020000 */ lh $v0, ($s0)
|
||||
/* 10430 80035030 44820000 */ mtc1 $v0, $f0
|
||||
/* 10434 80035034 00000000 */ nop
|
||||
/* 10438 80035038 46800020 */ cvt.s.w $f0, $f0
|
||||
/* 1043C 8003503C 44050000 */ mfc1 $a1, $f0
|
||||
/* 10440 80035040 0C04DF62 */ jal set_transition_stencil_zoom_0
|
||||
/* 10444 80035044 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 10448 80035048 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 1044C 8003504C 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 10450 80035050 03E00008 */ jr $ra
|
||||
/* 10454 80035054 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,12 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel create_basic_npc
|
||||
/* 13C44 80038844 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 13C48 80038848 0000282D */ daddu $a1, $zero, $zero
|
||||
/* 13C4C 8003884C AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 13C50 80038850 0C00E166 */ jal _create_npc
|
||||
/* 13C54 80038854 00A0302D */ daddu $a2, $a1, $zero
|
||||
/* 13C58 80038858 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 13C5C 8003885C 03E00008 */ jr $ra
|
||||
/* 13C60 80038860 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,11 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel create_standard_npc
|
||||
/* 13C64 80038864 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 13C68 80038868 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 13C6C 8003886C 0C00E166 */ jal _create_npc
|
||||
/* 13C70 80038870 0000302D */ daddu $a2, $zero, $zero
|
||||
/* 13C74 80038874 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 13C78 80038878 03E00008 */ jr $ra
|
||||
/* 13C7C 8003887C 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,29 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel disable_npc_shadow
|
||||
/* 15FFC 8003ABFC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 16000 8003AC00 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 16004 8003AC04 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 16008 8003AC08 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 1600C 8003AC0C 8E020000 */ lw $v0, ($s0)
|
||||
/* 16010 8003AC10 30420010 */ andi $v0, $v0, 0x10
|
||||
/* 16014 8003AC14 1040000D */ beqz $v0, .L8003AC4C
|
||||
/* 16018 8003AC18 00000000 */ nop
|
||||
/* 1601C 8003AC1C 0C044181 */ jal get_shadow_by_index
|
||||
/* 16020 8003AC20 8E040078 */ lw $a0, 0x78($s0)
|
||||
/* 16024 8003AC24 3C04FFFE */ lui $a0, 0xfffe
|
||||
/* 16028 8003AC28 8C430000 */ lw $v1, ($v0)
|
||||
/* 1602C 8003AC2C 3484FFFF */ ori $a0, $a0, 0xffff
|
||||
/* 16030 8003AC30 34630001 */ ori $v1, $v1, 1
|
||||
/* 16034 8003AC34 AC430000 */ sw $v1, ($v0)
|
||||
/* 16038 8003AC38 8E020000 */ lw $v0, ($s0)
|
||||
/* 1603C 8003AC3C 2403FFEF */ addiu $v1, $zero, -0x11
|
||||
/* 16040 8003AC40 00431024 */ and $v0, $v0, $v1
|
||||
/* 16044 8003AC44 00441024 */ and $v0, $v0, $a0
|
||||
/* 16048 8003AC48 AE020000 */ sw $v0, ($s0)
|
||||
.L8003AC4C:
|
||||
/* 1604C 8003AC4C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 16050 8003AC50 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 16054 8003AC54 03E00008 */ jr $ra
|
||||
/* 16058 8003AC58 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,42 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel enable_npc_blur
|
||||
/* 16124 8003AD24 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 16128 8003AD28 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 1612C 8003AD2C 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 16130 8003AD30 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 16134 8003AD34 8E030000 */ lw $v1, ($s0)
|
||||
/* 16138 8003AD38 3C040010 */ lui $a0, 0x10
|
||||
/* 1613C 8003AD3C 00641024 */ and $v0, $v1, $a0
|
||||
/* 16140 8003AD40 14400016 */ bnez $v0, .L8003AD9C
|
||||
/* 16144 8003AD44 00641025 */ or $v0, $v1, $a0
|
||||
/* 16148 8003AD48 240400F4 */ addiu $a0, $zero, 0xf4
|
||||
/* 1614C 8003AD4C 0C00AB39 */ jal heap_malloc
|
||||
/* 16150 8003AD50 AE020000 */ sw $v0, ($s0)
|
||||
/* 16154 8003AD54 14400003 */ bnez $v0, .L8003AD64
|
||||
/* 16158 8003AD58 AE020020 */ sw $v0, 0x20($s0)
|
||||
.L8003AD5C:
|
||||
/* 1615C 8003AD5C 0800EB57 */ j .L8003AD5C
|
||||
/* 16160 8003AD60 00000000 */ nop
|
||||
.L8003AD64:
|
||||
/* 16164 8003AD64 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 16168 8003AD68 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 1616C 8003AD6C A0600000 */ sb $zero, ($v1)
|
||||
/* 16170 8003AD70 A0600001 */ sb $zero, 1($v1)
|
||||
.L8003AD74:
|
||||
/* 16174 8003AD74 C6000038 */ lwc1 $f0, 0x38($s0)
|
||||
/* 16178 8003AD78 E4600004 */ swc1 $f0, 4($v1)
|
||||
/* 1617C 8003AD7C C600003C */ lwc1 $f0, 0x3c($s0)
|
||||
/* 16180 8003AD80 24840001 */ addiu $a0, $a0, 1
|
||||
/* 16184 8003AD84 E4600054 */ swc1 $f0, 0x54($v1)
|
||||
/* 16188 8003AD88 C6000040 */ lwc1 $f0, 0x40($s0)
|
||||
/* 1618C 8003AD8C 28820014 */ slti $v0, $a0, 0x14
|
||||
/* 16190 8003AD90 E46000A4 */ swc1 $f0, 0xa4($v1)
|
||||
/* 16194 8003AD94 1440FFF7 */ bnez $v0, .L8003AD74
|
||||
/* 16198 8003AD98 24630004 */ addiu $v1, $v1, 4
|
||||
.L8003AD9C:
|
||||
/* 1619C 8003AD9C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 161A0 8003ADA0 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 161A4 8003ADA4 03E00008 */ jr $ra
|
||||
/* 161A8 8003ADA8 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,28 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel enable_npc_shadow
|
||||
/* 15FA0 8003ABA0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 15FA4 8003ABA4 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 15FA8 8003ABA8 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 15FAC 8003ABAC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 15FB0 8003ABB0 8E020000 */ lw $v0, ($s0)
|
||||
/* 15FB4 8003ABB4 30420010 */ andi $v0, $v0, 0x10
|
||||
/* 15FB8 8003ABB8 1440000C */ bnez $v0, .L8003ABEC
|
||||
/* 15FBC 8003ABBC 00000000 */ nop
|
||||
/* 15FC0 8003ABC0 0C044181 */ jal get_shadow_by_index
|
||||
/* 15FC4 8003ABC4 8E040078 */ lw $a0, 0x78($s0)
|
||||
/* 15FC8 8003ABC8 3C050001 */ lui $a1, 1
|
||||
/* 15FCC 8003ABCC 8C430000 */ lw $v1, ($v0)
|
||||
/* 15FD0 8003ABD0 2404FFFE */ addiu $a0, $zero, -2
|
||||
/* 15FD4 8003ABD4 00641824 */ and $v1, $v1, $a0
|
||||
/* 15FD8 8003ABD8 AC430000 */ sw $v1, ($v0)
|
||||
/* 15FDC 8003ABDC 8E020000 */ lw $v0, ($s0)
|
||||
/* 15FE0 8003ABE0 34A50010 */ ori $a1, $a1, 0x10
|
||||
/* 15FE4 8003ABE4 00451025 */ or $v0, $v0, $a1
|
||||
/* 15FE8 8003ABE8 AE020000 */ sw $v0, ($s0)
|
||||
.L8003ABEC:
|
||||
/* 15FEC 8003ABEC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 15FF0 8003ABF0 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 15FF4 8003ABF4 03E00008 */ jr $ra
|
||||
/* 15FF8 8003ABF8 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,12 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_8003857C
|
||||
/* 1397C 8003857C 0000182D */ daddu $v1, $zero, $zero
|
||||
/* 13980 80038580 24630001 */ addiu $v1, $v1, 1
|
||||
.L80038584:
|
||||
/* 13984 80038584 28620040 */ slti $v0, $v1, 0x40
|
||||
/* 13988 80038588 1440FFFE */ bnez $v0, .L80038584
|
||||
/* 1398C 8003858C 24630001 */ addiu $v1, $v1, 1
|
||||
/* 13990 80038590 03E00008 */ jr $ra
|
||||
/* 13994 80038594 00000000 */ nop
|
@ -1,26 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel init_npc_list
|
||||
/* 1392C 8003852C 3C028007 */ lui $v0, %hi(gGameStatusPtr)
|
||||
/* 13930 80038530 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
|
||||
/* 13934 80038534 80420070 */ lb $v0, 0x70($v0)
|
||||
/* 13938 80038538 14400005 */ bnez $v0, .L80038550
|
||||
/* 1393C 8003853C 00000000 */ nop
|
||||
/* 13940 80038540 3C02800A */ lui $v0, %hi(gWorldNpcList)
|
||||
/* 13944 80038544 24420990 */ addiu $v0, $v0, %lo(gWorldNpcList)
|
||||
/* 13948 80038548 0800E156 */ j .L80038558
|
||||
/* 1394C 8003854C 00000000 */ nop
|
||||
.L80038550:
|
||||
/* 13950 80038550 3C02800A */ lui $v0, %hi(gBattleNpcList)
|
||||
/* 13954 80038554 24420A90 */ addiu $v0, $v0, %lo(gBattleNpcList)
|
||||
.L80038558:
|
||||
/* 13958 80038558 3C01800A */ lui $at, %hi(gCurrentNpcListPtr)
|
||||
/* 1395C 8003855C AC220B90 */ sw $v0, %lo(gCurrentNpcListPtr)($at)
|
||||
/* 13960 80038560 24020001 */ addiu $v0, $zero, 1
|
||||
/* 13964 80038564 3C01800A */ lui $at, %hi(D_8009A604)
|
||||
/* 13968 80038568 A420A604 */ sh $zero, %lo(D_8009A604)($at)
|
||||
/* 1396C 8003856C 3C01800A */ lui $at, %hi(D_800A0B94)
|
||||
/* 13970 80038570 A0220B94 */ sb $v0, %lo(D_800A0B94)($at)
|
||||
/* 13974 80038574 03E00008 */ jr $ra
|
||||
/* 13978 80038578 00000000 */ nop
|
@ -1,59 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel set_npc_sprite
|
||||
/* 1605C 8003AC5C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 16060 8003AC60 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 16064 8003AC64 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 16068 8003AC68 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* 1606C 8003AC6C 00A0882D */ daddu $s1, $a1, $zero
|
||||
/* 16070 8003AC70 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* 16074 8003AC74 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 16078 8003AC78 8E020000 */ lw $v0, ($s0)
|
||||
/* 1607C 8003AC7C 3C030100 */ lui $v1, 0x100
|
||||
/* 16080 8003AC80 00431024 */ and $v0, $v0, $v1
|
||||
/* 16084 8003AC84 14400008 */ bnez $v0, .L8003ACA8
|
||||
/* 16088 8003AC88 00C0902D */ daddu $s2, $a2, $zero
|
||||
/* 1608C 8003AC8C 8E040024 */ lw $a0, 0x24($s0)
|
||||
/* 16090 8003AC90 0C0B797A */ jal func_802DE5E8
|
||||
/* 16094 8003AC94 00000000 */ nop
|
||||
/* 16098 8003AC98 10400003 */ beqz $v0, .L8003ACA8
|
||||
/* 1609C 8003AC9C 00000000 */ nop
|
||||
.L8003ACA0:
|
||||
/* 160A0 8003ACA0 0800EB28 */ j .L8003ACA0
|
||||
/* 160A4 8003ACA4 00000000 */ nop
|
||||
.L8003ACA8:
|
||||
/* 160A8 8003ACA8 8E020000 */ lw $v0, ($s0)
|
||||
/* 160AC 8003ACAC 3C030100 */ lui $v1, 0x100
|
||||
/* 160B0 8003ACB0 00431024 */ and $v0, $v0, $v1
|
||||
/* 160B4 8003ACB4 14400008 */ bnez $v0, .L8003ACD8
|
||||
/* 160B8 8003ACB8 AE1200B0 */ sw $s2, 0xb0($s0)
|
||||
/* 160BC 8003ACBC 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 160C0 8003ACC0 0C0B783B */ jal func_802DE0EC
|
||||
/* 160C4 8003ACC4 0240282D */ daddu $a1, $s2, $zero
|
||||
/* 160C8 8003ACC8 04410003 */ bgez $v0, .L8003ACD8
|
||||
/* 160CC 8003ACCC AE020024 */ sw $v0, 0x24($s0)
|
||||
.L8003ACD0:
|
||||
/* 160D0 8003ACD0 0800EB34 */ j .L8003ACD0
|
||||
/* 160D4 8003ACD4 00000000 */ nop
|
||||
.L8003ACD8:
|
||||
/* 160D8 8003ACD8 8E030000 */ lw $v1, ($s0)
|
||||
/* 160DC 8003ACDC 3C024000 */ lui $v0, 0x4000
|
||||
/* 160E0 8003ACE0 00621024 */ and $v0, $v1, $v0
|
||||
/* 160E4 8003ACE4 14400009 */ bnez $v0, .L8003AD0C
|
||||
/* 160E8 8003ACE8 AE110028 */ sw $s1, 0x28($s0)
|
||||
/* 160EC 8003ACEC 3C020100 */ lui $v0, 0x100
|
||||
/* 160F0 8003ACF0 00621024 */ and $v0, $v1, $v0
|
||||
/* 160F4 8003ACF4 14400005 */ bnez $v0, .L8003AD0C
|
||||
/* 160F8 8003ACF8 00000000 */ nop
|
||||
/* 160FC 8003ACFC 8E040024 */ lw $a0, 0x24($s0)
|
||||
/* 16100 8003AD00 8E060030 */ lw $a2, 0x30($s0)
|
||||
/* 16104 8003AD04 0C0B78AB */ jal func_802DE2AC
|
||||
/* 16108 8003AD08 0220282D */ daddu $a1, $s1, $zero
|
||||
.L8003AD0C:
|
||||
/* 1610C 8003AD0C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 16110 8003AD10 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* 16114 8003AD14 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* 16118 8003AD18 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 1611C 8003AD1C 03E00008 */ jr $ra
|
||||
/* 16120 8003AD20 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,13 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel disable_partner_blur
|
||||
/* 182F48 80254668 3C04800E */ lui $a0, %hi(gBattleStatus+0xDC)
|
||||
/* 182F4C 8025466C 8C84C14C */ lw $a0, %lo(gBattleStatus+0xDC)($a0)
|
||||
/* 182F50 80254670 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 182F54 80254674 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 182F58 80254678 0C095157 */ jal disable_actor_blur
|
||||
/* 182F5C 8025467C 00000000 */ nop
|
||||
/* 182F60 80254680 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 182F64 80254684 03E00008 */ jr $ra
|
||||
/* 182F68 80254688 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,13 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel enable_partner_blur
|
||||
/* 182F24 80254644 3C04800E */ lui $a0, %hi(gBattleStatus+0xDC)
|
||||
/* 182F28 80254648 8C84C14C */ lw $a0, %lo(gBattleStatus+0xDC)($a0)
|
||||
/* 182F2C 8025464C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 182F30 80254650 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 182F34 80254654 0C0950B3 */ jal enable_actor_blur
|
||||
/* 182F38 80254658 00000000 */ nop
|
||||
/* 182F3C 8025465C 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 182F40 80254660 03E00008 */ jr $ra
|
||||
/* 182F44 80254664 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,12 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_8025DD40
|
||||
/* 18C620 8025DD40 8C8200C0 */ lw $v0, 0xc0($a0)
|
||||
/* 18C624 8025DD44 00052880 */ sll $a1, $a1, 2
|
||||
/* 18C628 8025DD48 00451021 */ addu $v0, $v0, $a1
|
||||
/* 18C62C 8025DD4C 8C4208B0 */ lw $v0, 0x8b0($v0)
|
||||
/* 18C630 8025DD50 8C43000C */ lw $v1, 0xc($v0)
|
||||
/* 18C634 8025DD54 24020005 */ addiu $v0, $zero, 5
|
||||
/* 18C638 8025DD58 03E00008 */ jr $ra
|
||||
/* 18C63C 8025DD5C AC62002C */ sw $v0, 0x2c($v1)
|
@ -1,14 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_8025DE88
|
||||
/* 18C768 8025DE88 8C8200C0 */ lw $v0, 0xc0($a0)
|
||||
/* 18C76C 8025DE8C 00052880 */ sll $a1, $a1, 2
|
||||
/* 18C770 8025DE90 00451021 */ addu $v0, $v0, $a1
|
||||
/* 18C774 8025DE94 8C4308B0 */ lw $v1, 0x8b0($v0)
|
||||
/* 18C778 8025DE98 8C620000 */ lw $v0, ($v1)
|
||||
/* 18C77C 8025DE9C 34420010 */ ori $v0, $v0, 0x10
|
||||
/* 18C780 8025DEA0 03E00008 */ jr $ra
|
||||
/* 18C784 8025DEA4 AC620000 */ sw $v0, ($v1)
|
||||
/* 18C788 8025DEA8 00000000 */ nop
|
||||
/* 18C78C 8025DEAC 00000000 */ nop
|
@ -1,13 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel reset_partner_blur
|
||||
/* 182F6C 8025468C 3C04800E */ lui $a0, %hi(gBattleStatus+0xDC)
|
||||
/* 182F70 80254690 8C84C14C */ lw $a0, %lo(gBattleStatus+0xDC)($a0)
|
||||
/* 182F74 80254694 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 182F78 80254698 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 182F7C 8025469C 0C09516B */ jal reset_actor_blur
|
||||
/* 182F80 802546A0 00000000 */ nop
|
||||
/* 182F84 802546A4 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 182F88 802546A8 03E00008 */ jr $ra
|
||||
/* 182F8C 802546AC 27BD0018 */ addiu $sp, $sp, 0x18
|
Loading…
Reference in New Issue
Block a user