This commit is contained in:
Ethan Roseman 2021-02-03 22:31:15 +09:00
parent 3b6ce91685
commit 251cc995c5
8 changed files with 76 additions and 77 deletions

View File

@ -29,7 +29,7 @@ glabel func_802C39F8
/* E8400 802C3A50 24040168 */ addiu $a0, $zero, 0x168
.L802C3A54:
/* E8404 802C3A54 080B0E95 */ j .L802C3A54
/* E8408 802C3A58 00000000 */ nop
/* E8408 802C3A58 00000000 */ nop
.L802C3A5C:
/* E840C 802C3A5C 0C00AB39 */ jal heap_malloc
/* E8410 802C3A60 0060A02D */ daddu $s4, $v1, $zero
@ -47,7 +47,7 @@ glabel func_802C39F8
/* E8440 802C3A90 ACA30000 */ sw $v1, ($a1)
.L802C3A94:
/* E8444 802C3A94 080B0EA5 */ j .L802C3A94
/* E8448 802C3A98 00000000 */ nop
/* E8448 802C3A98 00000000 */ nop
.L802C3A9C:
/* E844C 802C3A9C 36620001 */ ori $v0, $s3, 1
/* E8450 802C3AA0 A2020000 */ sb $v0, ($s0)
@ -110,10 +110,10 @@ glabel func_802C39F8
/* E852C 802C3B7C 24A50004 */ addiu $a1, $a1, 4
/* E8530 802C3B80 0C0B0C52 */ jal find_script_labels
/* E8534 802C3B84 0200202D */ daddu $a0, $s0, $zero
/* E8538 802C3B88 3C02802E */ lui $v0, %hi(D_802D9CA4)
/* E853C 802C3B8C 8C429CA4 */ lw $v0, %lo(D_802D9CA4)($v0)
/* E8538 802C3B88 3C02802E */ lui $v0, %hi(gIsUpdatingScripts)
/* E853C 802C3B8C 8C429CA4 */ lw $v0, %lo(gIsUpdatingScripts)($v0)
/* E8540 802C3B90 1040000E */ beqz $v0, .L802C3BCC
/* E8544 802C3B94 00000000 */ nop
/* E8544 802C3B94 00000000 */ nop
/* E8548 802C3B98 3C05802E */ lui $a1, %hi(gScriptListCount)
/* E854C 802C3B9C 24A5AC98 */ addiu $a1, $a1, %lo(gScriptListCount)
/* E8550 802C3BA0 8CA20000 */ lw $v0, ($a1)

View File

@ -115,8 +115,8 @@ glabel start_child_script
/* E8310 802C3960 24A50004 */ addiu $a1, $a1, 4
/* E8314 802C3964 0C0B0C52 */ jal find_script_labels
/* E8318 802C3968 0200202D */ daddu $a0, $s0, $zero
/* E831C 802C396C 3C02802E */ lui $v0, %hi(D_802D9CA4)
/* E8320 802C3970 8C429CA4 */ lw $v0, %lo(D_802D9CA4)($v0)
/* E831C 802C396C 3C02802E */ lui $v0, %hi(gIsUpdatingScripts)
/* E8320 802C3970 8C429CA4 */ lw $v0, %lo(gIsUpdatingScripts)($v0)
/* E8324 802C3974 1040000E */ beqz $v0, .L802C39B0
/* E8328 802C3978 00000000 */ nop
/* E832C 802C397C 3C05802E */ lui $a1, %hi(gScriptListCount)

View File

@ -29,7 +29,7 @@ glabel start_script
/* E7DE8 802C3438 24040168 */ addiu $a0, $zero, 0x168
.L802C343C:
/* E7DEC 802C343C 080B0D0F */ j .L802C343C
/* E7DF0 802C3440 00000000 */ nop
/* E7DF0 802C3440 00000000 */ nop
.L802C3444:
/* E7DF4 802C3444 0C00AB39 */ jal heap_malloc
/* E7DF8 802C3448 00A0902D */ daddu $s2, $a1, $zero
@ -47,7 +47,7 @@ glabel start_script
/* E7E28 802C3478 ACA30000 */ sw $v1, ($a1)
.L802C347C:
/* E7E2C 802C347C 080B0D1F */ j .L802C347C
/* E7E30 802C3480 00000000 */ nop
/* E7E30 802C3480 00000000 */ nop
.L802C3484:
/* E7E34 802C3484 36620001 */ ori $v0, $s3, 1
/* E7E38 802C3488 3C03802E */ lui $v1, %hi(gStaticScriptCounter)
@ -95,14 +95,14 @@ glabel start_script
/* E7ED8 802C3528 2442FFFC */ addiu $v0, $v0, -4
/* E7EDC 802C352C 0C0B0C52 */ jal find_script_labels
/* E7EE0 802C3530 0200202D */ daddu $a0, $s0, $zero
/* E7EE4 802C3534 3C02802E */ lui $v0, %hi(D_802D9CA4)
/* E7EE8 802C3538 8C429CA4 */ lw $v0, %lo(D_802D9CA4)($v0)
/* E7EE4 802C3534 3C02802E */ lui $v0, %hi(gIsUpdatingScripts)
/* E7EE8 802C3538 8C429CA4 */ lw $v0, %lo(gIsUpdatingScripts)($v0)
/* E7EEC 802C353C 10400012 */ beqz $v0, .L802C3588
/* E7EF0 802C3540 00000000 */ nop
/* E7EF0 802C3540 00000000 */ nop
/* E7EF4 802C3544 92020000 */ lbu $v0, ($s0)
/* E7EF8 802C3548 30420020 */ andi $v0, $v0, 0x20
/* E7EFC 802C354C 1040000E */ beqz $v0, .L802C3588
/* E7F00 802C3550 00000000 */ nop
/* E7F00 802C3550 00000000 */ nop
/* E7F04 802C3554 3C05802E */ lui $a1, %hi(gScriptListCount)
/* E7F08 802C3558 24A5AC98 */ addiu $a1, $a1, %lo(gScriptListCount)
/* E7F0C 802C355C 8CA20000 */ lw $v0, ($a1)

View File

@ -18,8 +18,8 @@ glabel update_scripts
/* E8758 802C3DA8 24030001 */ addiu $v1, $zero, 1
/* E875C 802C3DAC 10430042 */ beq $v0, $v1, .L802C3EB8
/* E8760 802C3DB0 00000000 */ nop
/* E8764 802C3DB4 3C01802E */ lui $at, %hi(D_802D9CA4)
/* E8768 802C3DB8 AC239CA4 */ sw $v1, %lo(D_802D9CA4)($at)
/* E8764 802C3DB4 3C01802E */ lui $at, %hi(gIsUpdatingScripts)
/* E8768 802C3DB8 AC239CA4 */ sw $v1, %lo(gIsUpdatingScripts)($at)
/* E876C 802C3DBC 0C0B0C00 */ jal sort_scripts
/* E8770 802C3DC0 0000902D */ daddu $s2, $zero, $zero
/* E8774 802C3DC4 3C02802E */ lui $v0, %hi(gScriptListCount)
@ -87,8 +87,8 @@ glabel update_scripts
/* E8858 802C3EA8 1440FFD2 */ bnez $v0, .L802C3DF4
/* E885C 802C3EAC 26730004 */ addiu $s3, $s3, 4
.L802C3EB0:
/* E8860 802C3EB0 3C01802E */ lui $at, %hi(D_802D9CA4)
/* E8864 802C3EB4 AC209CA4 */ sw $zero, %lo(D_802D9CA4)($at)
/* E8860 802C3EB0 3C01802E */ lui $at, %hi(gIsUpdatingScripts)
/* E8864 802C3EB4 AC209CA4 */ sw $zero, %lo(gIsUpdatingScripts)($at)
.L802C3EB8:
/* E8868 802C3EB8 8FBF002C */ lw $ra, 0x2c($sp)
/* E886C 802C3EBC 8FB60028 */ lw $s6, 0x28($sp)

View File

@ -235,7 +235,6 @@ extern OSPiHandle* carthandle;
extern SaveData gCurrentSaveFile;
extern s32 D_802D9CA4;
extern u32* gMapFlags;
extern u32* gMapVars;

View File

@ -1,7 +1,7 @@
#include "common.h"
s32 gStaticScriptCounter = 1;
s32 D_802D9CA4 = 0;
s32 gIsUpdatingScripts = 0;
f32 gGlobalTimeSpace = 1.0f;
#ifdef NON_MATCHING
@ -105,7 +105,7 @@ void clear_script_list(void) {
gNumScripts = 0;
gScriptListCount = 0;
D_802D9CA4 = 0;
gIsUpdatingScripts = 0;
for (i = 0; i < MAX_MAPVARS; i++) {
gMapVars[i] = 0;
@ -132,7 +132,7 @@ void init_script_list(void) {
}
gNumScripts = 0;
D_802D9CA4 = 0;
gIsUpdatingScripts = 0;
func_802D4560();
func_802CD57C();
@ -208,7 +208,7 @@ ScriptInstance* start_script(Bytecode* initialLine, s32 priority, s32 initialSta
find_script_labels(newScript);
if ((D_802D9CA4 != 0) && ((newScript->state & 0x20) != 0)) {
if (gIsUpdatingScripts && (newScript->state & 0x20)) {
scriptListCount = gScriptListCount++;
gScriptIndexList[scriptListCount] = curScriptIndex;
gScriptIdList[scriptListCount] = newScript->id;
@ -282,7 +282,7 @@ ScriptInstance* start_script_in_group(Bytecode* initialLine, u8 priority, u8 ini
find_script_labels(newScript);
if ((D_802D9CA4 != 0) && (newScript->state & 0x20)) {
if (gIsUpdatingScripts && (newScript->state & 0x20)) {
scriptListCount = gScriptListCount++;
gScriptIndexList[scriptListCount] = curScriptIndex;
gScriptIdList[scriptListCount] = newScript->id;
@ -354,7 +354,7 @@ ScriptInstance* func_802C39F8(ScriptInstance* parentScript, Bytecode* nextLine,
}
find_script_labels(child);
if (D_802D9CA4 != 0) {
if (gIsUpdatingScripts) {
scriptListCount = gScriptListCount++;
gScriptIndexList[scriptListCount] = curScriptIndex;
gScriptIdList[scriptListCount] = child->id;

View File

@ -499,8 +499,8 @@ osEnqueueThread = 0x8006B174; // ! rom:0x46574
osPopThread = 0x8006B1BC; // ! rom:0x465BC
osDispatchThread = 0x8006B1D4; // ! rom:0x465D4
osDispatchThreadSave = 0x8006B1F4;
__osDisableInt = 0x8006B360; // rom:0x46760
__osRestoreInt = 0x8006B3D0; // rom:0x467D0
__osDisableInt = 0x8006B360; // rom:0x46760
__osRestoreInt = 0x8006B3D0; // rom:0x467D0
osSetGlobalIntMask = 0x8006B3F0; // type:func rom:0x467F0
osResetGlobalIntMask = 0x8006B430; // type:func rom:0x46830
osPiRawStartDma = 0x8006B480; // type:func rom:0x46880
@ -569,11 +569,11 @@ gCurrentDisplayContextIndex = 0x800741F4;
gCurrentCameraID = 0x80077410;
EnemyNpcHit = 0x80077F70;
EnemyNpcDefeat = 0x8007809C;
nuAuPreNMIFunc = 0x80078174; // rom:0x53574
nuAuDmaNext = 0x80078178; // rom:0x53578
nuAuFrameCounter = 0x8007817C; // rom:0x5357C
D_80078DB0 = 0x80078DB0; // rom:0x541B0
D_80078DB4 = 0x80078DB4; // rom:0x541B4
nuAuPreNMIFunc = 0x80078174; // rom:0x53574
nuAuDmaNext = 0x80078178; // rom:0x53578
nuAuFrameCounter = 0x8007817C; // rom:0x5357C
D_80078DB0 = 0x80078DB0; // rom:0x541B0
D_80078DB4 = 0x80078DB4; // rom:0x541B4
gEffectTable = 0x8007F214;
gItemTable = 0x800878E0; // size:0x2D80
gAreas = 0x800934F0;
@ -917,8 +917,8 @@ get_default_variation_for_song = 0x8014A430;
_set_music_track = 0x8014A7E0; // type:func rom:0xE0EE0
set_music_track = 0x8014A918; // type:func rom:0xE1018
transition_music_volume_to = 0x8014AC84; // type:func rom:0xE1384
gSongsUsingVariationFlag = 0x8014F720; // rom:0xE5E20
D_8014F738 = 0x8014F738; // rom:0xE5E38
gSongsUsingVariationFlag = 0x8014F720; // rom:0xE5E20
D_8014F738 = 0x8014F738; // rom:0xE5E38
gCurrentAnimMeshListPtr = 0x80153A40;
gWorldEntityModelList = 0x80153B70;
gBattleEntityModelList = 0x80153F70;
@ -1402,8 +1402,8 @@ DeletePartner = 0x802807A8; // type:func rom:0x1AF088
GetDamageIntensity = 0x80280840; // type:func rom:0x1AF120
ActorAddMovePos = 0x80280880; // type:func rom:0x1AF160
LoadStarPowerScript = 0x80280950; // type:func rom:0x1AF230
BtlPutPartnerAway = 0x80280A34; // rom:0x1AF314
BtlBringPartnerOut = 0x80280B6C; // rom:0x1AF44C
BtlPutPartnerAway = 0x80280A34; // rom:0x1AF314
BtlBringPartnerOut = 0x80280B6C; // rom:0x1AF44C
draw_shop_items = 0x80281524; // type:func rom:0x7E23A4
MakeShop = 0x80281860; // type:func rom:0x7E26E0
MakeShopOwner = 0x80281BD8; // type:func rom:0x7E2A58
@ -1415,16 +1415,16 @@ GetPushBlock = 0x802835C0; // type:func rom:0x7E4440
GetGridIndexFromPos = 0x802836B8; // type:func rom:0x7E4538
SetPushBlockFallEffect = 0x802837AC; // type:func rom:0x7E462C
TeleportPartnerToPlayer = 0x8028387C; // type:func rom:0x7E46FC
gBattleDmaDest = 0x80284000; // rom:0x1B28E0
MarioEnterStage = 0x80284A40; // rom:0x1B3320
PeachEnterStage = 0x80284D04; // rom:0x1B35E4
PlayerScriptDispatcher = 0x80284EBC; // rom:0x1B379C
PeachScriptDispatcher = 0x80285010; // rom:0x1B38F0
gBattleDmaDest = 0x80284000; // rom:0x1B28E0
MarioEnterStage = 0x80284A40; // rom:0x1B3320
PeachEnterStage = 0x80284D04; // rom:0x1B35E4
PlayerScriptDispatcher = 0x80284EBC; // rom:0x1B379C
PeachScriptDispatcher = 0x80285010; // rom:0x1B38F0
ExecutePlayerAction = 0x8028505C;
ExecutePeachAction = 0x80285174;
PlayerFirstStrike = 0x802851FC;
StartDefend = 0x802852B8;
HandleEvent_Player = 0x802852D4; // rom:0x1B3BB4
HandleEvent_Player = 0x802852D4; // rom:0x1B3BB4
EnterWalk = 0x80285960;
EnterWalkShort = 0x80285A60;
EnterSavePoint = 0x80285CB0;
@ -1444,17 +1444,17 @@ MerleeAttackBonus = 0x80288400;
MerleeDefenseBonus = 0x8028870C;
MerleeExpBonus = 0x80288A58;
PlayerHappy = 0x80288D64;
DoDizzyAttack = 0x8028907C; // rom:0x1B795C
RegainAbility = 0x80289110; // rom:0x1B79F0
DoDizzyAttack = 0x8028907C; // rom:0x1B795C
RegainAbility = 0x80289110; // rom:0x1B79F0
UseMystery = 0x80293E40;
gMoveScriptTable = 0x80293E80; // rom:0x1C2760
DoSleepHit = 0x802945E0; // rom:0x1C2EC0
DoDizzyHit = 0x802945FC; // rom:0x1C2EDC
DoParalyzeHit = 0x80294618; // rom:0x1C2EF8
DoPoisonHit = 0x80294634; // rom:0x1C2F14
DoStopHit = 0x80294650; // rom:0x1C2F30
DoFreezeHit = 0x8029466C; // rom:0x1C2F4C
DoShinkHit = 0x802946B8; // rom:0x1C2F98
gMoveScriptTable = 0x80293E80; // rom:0x1C2760
DoSleepHit = 0x802945E0; // rom:0x1C2EC0
DoDizzyHit = 0x802945FC; // rom:0x1C2EDC
DoParalyzeHit = 0x80294618; // rom:0x1C2EF8
DoPoisonHit = 0x80294634; // rom:0x1C2F14
DoStopHit = 0x80294650; // rom:0x1C2F30
DoFreezeHit = 0x8029466C; // rom:0x1C2F4C
DoShinkHit = 0x802946B8; // rom:0x1C2F98
ForceNextTarget = 0x80298BF0;
DoNormalHit = 0x80299044;
DoBurnHit = 0x8029A0D0;
@ -1918,12 +1918,12 @@ DemoReleaseButton = 0x802D9AF8; // type:func rom:0xFE4A8
DemoSetButtons = 0x802D9B34; // type:func rom:0xFE4E4
DemoJoystickRadial = 0x802D9B64; // type:func rom:0xFE514
DemoJoystickXY = 0x802D9C10; // type:func rom:0xFE5C0
gStaticScriptCounter = 0x802D9CA0; // rom:0xFE650
D_802D9CA4 = 0x802D9CA4; // rom:0xFE654
gGlobalTimeSpace = 0x802D9CA8; // rom:0xFE658
ShakeCam1 = 0x802D9CB0; // rom:0xFE660
ShakeCamX = 0x802D9CE8; // rom:0xFE698
D_802D9D50 = 0x802D9D50; // rom:0xFE700
gStaticScriptCounter = 0x802D9CA0; // rom:0xFE650
gIsUpdatingScripts = 0x802D9CA4; // type:data rom:0xFE654
gGlobalTimeSpace = 0x802D9CA8; // rom:0xFE658
ShakeCam1 = 0x802D9CB0; // rom:0xFE660
ShakeCamX = 0x802D9CE8; // rom:0xFE698
D_802D9D50 = 0x802D9D50; // rom:0xFE700
gBattleMeshAnimationList = 0x802DADB0; // size:0x40
gWorldMeshAnimationList = 0x802DADF0; // size:0x40
gCurrentMeshAnimationListPtr = 0x802DAE30;
@ -1950,15 +1950,15 @@ entity_init_HammerBlock_small = 0x802E3E30; // type:func rom:0x1056B0
entity_init_Chest = 0x802E7D84; // type:func rom:0x109604
player_enter_blue_pipe = 0x802E8CCC; // type:func rom:0x10A54C
push_entity_matrix = 0x802E8E4C; // type:func rom:0x10A6CC
FrameBuf = 0x80093BA8; // rom:0x6EFA8
nuContPakCompanyCode = 0x80093CA0; // rom:0x6F0A0
nuContPakGameCode = 0x80093CA4; // rom:0x6F0A4
nuContCallBack = 0x80093CD0; // rom:0x6F0D0
nuContRmbSearchTime = 0x80093CE0; // rom:0x6F0E0
nuContRmbCallBack = 0x80093D00; // rom:0x6F100
nuGfxFunc = 0x80093D10; // rom:0x6F110
nuGfxPreNMIFunc = 0x80093D14; // rom:0x6F114
osViModeTable = 0x800946A0; // rom:0x6FAA0
FrameBuf = 0x80093BA8; // rom:0x6EFA8
nuContPakCompanyCode = 0x80093CA0; // rom:0x6F0A0
nuContPakGameCode = 0x80093CA4; // rom:0x6F0A4
nuContCallBack = 0x80093CD0; // rom:0x6F0D0
nuContRmbSearchTime = 0x80093CE0; // rom:0x6F0E0
nuContRmbCallBack = 0x80093D00; // rom:0x6F100
nuGfxFunc = 0x80093D10; // rom:0x6F110
nuGfxPreNMIFunc = 0x80093D14; // rom:0x6F114
osViModeTable = 0x800946A0; // rom:0x6FAA0
nuGfxZBuffer = 0x8009A5DC;
nuGfxDisplay = 0x8009A5F8;
gGameState = 0x8009A600;
@ -2017,14 +2017,14 @@ gUIPanels = 0x80159D50;
gBackgroundImage = 0x80200000;
gPauseMenuIconScripts = 0x8024EF60;
gPauseMenuTabs = 0x8024EF80;
gPauseMenuCursorPosX = 0x8024EF9C; // rom:0x1422DC
gPauseMenuCursorPosX = 0x8024EF9C; // rom:0x1422DC
gPauseMenuCursorPosY = 0x8024EFA0;
gPauseMenuCursorOpacity = 0x8024EFA4; // rom:0x1422E4
gPauseMenuTargetPosX = 0x8024EFA8; // rom:0x1422E8
gPauseMenuTargetPosY = 0x8024EFAC; // rom:0x1422EC
gPauseMenuCursorTargetOpacity = 0x8024EFB0; // rom:0x1422F0
gPauseMenuTextScrollInterpEasingLUT = 0x8024F0AC; // rom:0x1423EC
gPauseMenuPageScrollInterpEasingLUT = 0x8024F0BC; // rom:0x1423FC
gPauseMenuCursorOpacity = 0x8024EFA4; // rom:0x1422E4
gPauseMenuTargetPosX = 0x8024EFA8; // rom:0x1422E8
gPauseMenuTargetPosY = 0x8024EFAC; // rom:0x1422EC
gPauseMenuCursorTargetOpacity = 0x8024EFB0; // rom:0x1422F0
gPauseMenuTextScrollInterpEasingLUT = 0x8024F0AC; // rom:0x1423EC
gPauseMenuPageScrollInterpEasingLUT = 0x8024F0BC; // rom:0x1423FC
gPauseMenuHeldButtons = 0x802700C0; // type:data
gPauseMenuPressedButtons = 0x802700C4; // type:data
gPauseMenuCurrentDescString = 0x802700C8; // type:data
@ -2064,9 +2064,9 @@ gScriptIndexList = 0x802DA898;
gScriptIdList = 0x802DAA98;
gScriptListCount = 0x802DAC98;
gCurrentPrintContext = 0x802DB260;
SCRIPT_NpcDefeat = 0x80077E38; // rom:0x53238
gPlayerNpcPtr = 0x802D9D20; // rom:0xFE6D0
gRandSeed = 0x80074410; // rom:0x4F810
SCRIPT_NpcDefeat = 0x80077E38; // rom:0x53238
gPlayerNpcPtr = 0x802D9D20; // rom:0xFE6D0
gRandSeed = 0x80074410; // rom:0x4F810
osCleanupThread = 0x8006B350; // type:func rom:0x46750
func_80243494_803D14 = 0x80243494; // type:func rom:0x803D14
func_80241300_9A96F0 = 0x80241300; // type:func rom:0x9A96F0
@ -8850,3 +8850,4 @@ mac_01_UnkYawFunc = 0x80243EEC; // type:func rom:0x80476C
mac_01_UnkPositionFunc = 0x802446E0; // type:func rom:0x804F60
mac_01_UnkNpcAIFunc1 = 0x80245950; // type:func rom:0x8061D0
jan_03_UnkRotatePlayer = 0x802429B8; // type:func rom:0xB37588
gSpriteHeapPtr = 0x8034F800; // type:data

View File

@ -94,7 +94,6 @@ func_802AA0D8 = 0x802AA0D8;
func_802B71E8 = 0x802B71E8;
func_802BE070 = 0x802BE070;
gStaticScriptCounter = 0x802D9CA0;
D_802D9CA4 = 0x802D9CA4;
gGlobalTimeSpace = 0x802D9CA8;
gBattleMeshAnimationList = 0x802DADB0;
gWorldMeshAnimationList = 0x802DADF0;