diff --git a/include/script.h b/include/script.h index 201d0f71..aebc64dd 100644 --- a/include/script.h +++ b/include/script.h @@ -10,7 +10,7 @@ typedef struct ScriptExecutionContext { u8 unk_0C[0x4]; // unused u16 wait; u16 unk_12; - u32 unk_14; + u32 condition; u8 unk_18; u8 unk_19; u8 unk_1A; diff --git a/src/script.c b/src/script.c index eed9dae0..9ee2d8ca 100644 --- a/src/script.c +++ b/src/script.c @@ -13,69 +13,69 @@ void sub_0807DB88(ScriptExecutionContext*, u16*); void sub_0807DE80(Entity*); void sub_0807DF38(void); void ScriptCommandNop(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E004(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E014(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E024(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E050(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E064(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_StartScript(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_StopScript(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_Jump(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_JumpIf(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_JumpIfNot(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E078(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E0A0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E0B8(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E0CC(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_JumpAbsolute(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_JumpAbsoluteIf(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_JumpAbsoluteIfNot(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E0E0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E10C(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E124(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E148(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E158(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E188(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E1D8(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E200(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E220(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E240(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E260(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E280(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E2A8(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E2E4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_Call(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CallWithArg(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_LoadRoomEntityList(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_TestBit(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckInventory1(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckInventory2(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckLocalFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckLocalFlagByOffset(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckGlobalFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckRoomFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckPlayerInRegion(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckPlayerInRegion2(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckEntityInteractType(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E30C(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E390(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_HasRupees(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E3BC(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E3E8(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E40C(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E42C(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckKinstoneFused(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_BuyItem(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E48C(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E4AC(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_HasRoomItemForSale(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E4CC(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E4EC(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E514(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E538(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CheckPlayerFlags(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E564(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E584(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E5A0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E5CC(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_EntityHasHeight(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_ComparePlayerAction(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_ComparePlayerAnimationState(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E5F8(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E610(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E628(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E634(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E644(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E650(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E65C(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E668(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E674(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E680(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E690(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E6AC(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E6DC(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E700(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E72C(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E75C(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetLocalFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetLocalFlagByOffset(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_ClearLocalFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetGlobalFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_ClearGlobalFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetRoomFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_ClearRoomFlag(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_Wait(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_WaitForSomething(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_WaitForSomething2(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_WaitPlayerAction8(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_WaitForPlayerAction0x17(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_WaitFor_1(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_WaitFor_2(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E778(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E788(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E79C(Entity* entity, ScriptExecutionContext* context); void ScriptCommandNop2(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E7B0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E7C4(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E7D8(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E7EC(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_DoFade4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_DoFade5(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_DoFade6(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_DoFade7(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E800(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E80C(Entity* entity, ScriptExecutionContext* context); void sub_0807E818(u32); @@ -83,8 +83,8 @@ void ScriptCommand_0807E858(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E864(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E878(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E888(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E898(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807E8C4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetPlayerAction(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_StartPlayerScript(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E8D4(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E8E4(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807E908(Entity* entity, ScriptExecutionContext* context); @@ -100,24 +100,24 @@ void ScriptCommand_0807E9F0(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EA4C(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EA88(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EA94(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EAB4(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EAC0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EAD0(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_TextboxNoOverlapFollow(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_TextboxNoOverlap(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_TextboxNoOverlapFollowPos(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EAF0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EB18(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_TextboxNoOverlapVar(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EB28(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EB38(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EB44(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EB4C(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EB74(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EB8C(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EBA8(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EBB0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EBC0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EBC8(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EBD8(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EBF4(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EC08(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetEntityDirection(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetEntityDirectionWithAnimationState(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetEntityNonPlanarMovement(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetEntity0x20(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetEntityPositionRelative(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SetEntityPosition(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_MoveEntityToPlayer(Entity* entity, ScriptExecutionContext* context); void ScriptCommandNop3(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EC1C(Entity* entity, ScriptExecutionContext* context); void sub_0807EC44(Entity*, ScriptExecutionContext*); @@ -134,20 +134,20 @@ void ScriptCommand_0807EEF4(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EF3C(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EF80(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807EF90(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EFA0(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EFAC(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EFD4(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EFE4(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807EFF4(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807F004(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807F010(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SoundReq(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SoundReq2(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SoundReq3(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_SoundReq0x80100000(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_ModRupees(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_ModHealth(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_IncreaseMaxHealth(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807F034(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807F050(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807F060(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_GetInventoryValue(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807F078(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807F088(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807F098(Entity* entity, ScriptExecutionContext* context); -void ScriptCommand_0807F0A4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CameraTargetEntity(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_CameraTargetPlayer(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807F0B4(Entity* entity, ScriptExecutionContext* context); void ScriptCommand_0807F0C8(Entity* entity, ScriptExecutionContext* context); @@ -157,43 +157,145 @@ extern void sub_0801C4A0(u32); typedef void (*ScriptCommand)(Entity*, ScriptExecutionContext*); -const ScriptCommand gScriptCommands[] = { - ScriptCommandNop, ScriptCommand_0807E004, ScriptCommand_0807E014, ScriptCommand_0807E024, - ScriptCommand_0807E050, ScriptCommand_0807E064, ScriptCommand_0807E078, ScriptCommand_0807E0A0, - ScriptCommand_0807E0B8, ScriptCommand_0807E0CC, ScriptCommand_0807E0E0, ScriptCommand_0807E10C, - ScriptCommand_0807E124, ScriptCommand_0807E148, ScriptCommand_0807E158, ScriptCommand_0807E188, - ScriptCommand_0807E1D8, ScriptCommand_0807E4AC, ScriptCommand_0807E200, ScriptCommand_0807E220, - ScriptCommand_0807E240, ScriptCommand_0807E260, ScriptCommand_0807E280, ScriptCommand_0807E2A8, - ScriptCommand_0807E2E4, ScriptCommand_0807E30C, ScriptCommand_0807E390, ScriptCommand_0807E3BC, - ScriptCommand_0807E3E8, ScriptCommand_0807E40C, ScriptCommand_0807E42C, ScriptCommand_0807E48C, - ScriptCommand_0807E4CC, ScriptCommand_0807E4EC, ScriptCommand_0807E514, ScriptCommand_0807E538, - ScriptCommand_0807E564, ScriptCommand_0807E584, ScriptCommand_0807E5A0, ScriptCommand_0807E5CC, - ScriptCommand_0807E5F8, ScriptCommand_0807E610, ScriptCommand_0807E628, ScriptCommand_0807E634, - ScriptCommand_0807E644, ScriptCommand_0807E650, ScriptCommand_0807E65C, ScriptCommand_0807E668, - ScriptCommand_0807E674, ScriptCommand_0807E680, ScriptCommand_0807E690, ScriptCommand_0807E6AC, - ScriptCommand_0807E6DC, ScriptCommand_0807E700, ScriptCommand_0807E72C, ScriptCommand_0807E75C, - ScriptCommand_0807E778, ScriptCommand_0807E788, ScriptCommand_0807E79C, ScriptCommandNop2, - ScriptCommand_0807E7B0, ScriptCommand_0807E7C4, ScriptCommand_0807E7D8, ScriptCommand_0807E7EC, - ScriptCommand_0807E800, ScriptCommand_0807E80C, ScriptCommand_0807E858, ScriptCommand_0807E864, - ScriptCommand_0807E878, ScriptCommand_0807E888, ScriptCommand_0807E898, ScriptCommand_0807E8C4, - ScriptCommand_0807E8D4, ScriptCommand_0807E8E4, ScriptCommand_0807E8E4, ScriptCommand_0807E8E4, - ScriptCommand_0807E8E4, ScriptCommand_0807E908, ScriptCommand_0807E914, ScriptCommand_0807E924, - ScriptCommand_0807E930, ScriptCommand_0807E944, ScriptCommand_0807E974, ScriptCommand_0807E9D4, - ScriptCommand_0807E9DC, ScriptCommand_0807E9E4, ScriptCommand_0807E9F0, ScriptCommand_0807EA4C, - ScriptCommand_0807EA88, ScriptCommand_0807EA94, ScriptCommand_0807EAB4, ScriptCommand_0807EAC0, - ScriptCommand_0807EAD0, ScriptCommand_0807EAF0, ScriptCommand_0807EB18, ScriptCommand_0807EB28, - ScriptCommand_0807EB38, ScriptCommand_0807EB44, ScriptCommand_0807EB4C, ScriptCommand_0807EB74, - ScriptCommand_0807EB8C, ScriptCommand_0807EBA8, ScriptCommand_0807EBB0, ScriptCommand_0807EBC0, - ScriptCommand_0807EBC8, ScriptCommand_0807EBD8, ScriptCommand_0807EBF4, ScriptCommand_0807EC08, - ScriptCommandNop3, ScriptCommand_0807EC1C, ScriptCommand_0807EC64, ScriptCommand_0807EC94, - ScriptCommand_0807ECC4, ScriptCommand_0807ECF4, ScriptCommand_0807ED24, ScriptCommand_0807EDD4, - ScriptCommand_0807EE04, ScriptCommand_0807EE30, ScriptCommand_0807EEB4, ScriptCommand_0807EEF4, - ScriptCommand_0807EF3C, ScriptCommand_0807EF80, ScriptCommand_0807EF90, ScriptCommand_0807EFA0, - ScriptCommand_0807EFAC, ScriptCommand_0807EFD4, ScriptCommand_0807EFE4, ScriptCommand_0807EFF4, - ScriptCommand_0807F004, ScriptCommand_0807F010, ScriptCommand_0807F034, ScriptCommand_0807F050, - ScriptCommand_0807F060, ScriptCommand_0807F078, ScriptCommand_0807F088, ScriptCommand_0807F098, - ScriptCommand_0807F0A4, ScriptCommand_0807F0B4, ScriptCommand_0807F0C8 -}; +const ScriptCommand gScriptCommands[] = { ScriptCommandNop, + ScriptCommand_StartScript, + ScriptCommand_StopScript, + ScriptCommand_Jump, + ScriptCommand_JumpIf, + ScriptCommand_JumpIfNot, + ScriptCommand_0807E078, + ScriptCommand_JumpAbsolute, + ScriptCommand_JumpAbsoluteIf, + ScriptCommand_JumpAbsoluteIfNot, + ScriptCommand_0807E0E0, + ScriptCommand_Call, + ScriptCommand_CallWithArg, + ScriptCommand_LoadRoomEntityList, + ScriptCommand_TestBit, + ScriptCommand_CheckInventory1, + ScriptCommand_CheckInventory2, + ScriptCommand_HasRoomItemForSale, + ScriptCommand_CheckLocalFlag, + ScriptCommand_CheckLocalFlagByOffset, + ScriptCommand_CheckGlobalFlag, + ScriptCommand_CheckRoomFlag, + ScriptCommand_CheckPlayerInRegion, + ScriptCommand_CheckPlayerInRegion2, + ScriptCommand_CheckEntityInteractType, + ScriptCommand_0807E30C, + ScriptCommand_HasRupees, + ScriptCommand_0807E3BC, + ScriptCommand_0807E3E8, + ScriptCommand_CheckKinstoneFused, + ScriptCommand_BuyItem, + ScriptCommand_0807E48C, + ScriptCommand_0807E4CC, + ScriptCommand_0807E4EC, + ScriptCommand_0807E514, + ScriptCommand_CheckPlayerFlags, + ScriptCommand_0807E564, + ScriptCommand_EntityHasHeight, + ScriptCommand_ComparePlayerAction, + ScriptCommand_ComparePlayerAnimationState, + ScriptCommand_0807E5F8, + ScriptCommand_0807E610, + ScriptCommand_SetLocalFlag, + ScriptCommand_SetLocalFlagByOffset, + ScriptCommand_ClearLocalFlag, + ScriptCommand_SetGlobalFlag, + ScriptCommand_ClearGlobalFlag, + ScriptCommand_SetRoomFlag, + ScriptCommand_ClearRoomFlag, + ScriptCommand_Wait, + ScriptCommand_WaitForSomething, + ScriptCommand_WaitForSomething2, + ScriptCommand_WaitPlayerAction8, + ScriptCommand_WaitForPlayerAction0x17, + ScriptCommand_WaitFor_1, + ScriptCommand_WaitFor_2, + ScriptCommand_0807E778, + ScriptCommand_0807E788, + ScriptCommand_0807E79C, + ScriptCommandNop2, + ScriptCommand_DoFade4, + ScriptCommand_DoFade5, + ScriptCommand_DoFade6, + ScriptCommand_DoFade7, + ScriptCommand_0807E800, + ScriptCommand_0807E80C, + ScriptCommand_0807E858, + ScriptCommand_0807E864, + ScriptCommand_0807E878, + ScriptCommand_0807E888, + ScriptCommand_SetPlayerAction, + ScriptCommand_StartPlayerScript, + ScriptCommand_0807E8D4, + ScriptCommand_0807E8E4, + ScriptCommand_0807E8E4, + ScriptCommand_0807E8E4, + ScriptCommand_0807E8E4, + ScriptCommand_0807E908, + ScriptCommand_0807E914, + ScriptCommand_0807E924, + ScriptCommand_0807E930, + ScriptCommand_0807E944, + ScriptCommand_0807E974, + ScriptCommand_0807E9D4, + ScriptCommand_0807E9DC, + ScriptCommand_0807E9E4, + ScriptCommand_0807E9F0, + ScriptCommand_0807EA4C, + ScriptCommand_0807EA88, + ScriptCommand_0807EA94, + ScriptCommand_TextboxNoOverlapFollow, + ScriptCommand_TextboxNoOverlap, + ScriptCommand_TextboxNoOverlapFollowPos, + ScriptCommand_0807EAF0, + ScriptCommand_TextboxNoOverlapVar, + ScriptCommand_0807EB28, + ScriptCommand_0807EB38, + ScriptCommand_0807EB44, + ScriptCommand_0807EB4C, + ScriptCommand_0807EB74, + ScriptCommand_0807EB8C, + ScriptCommand_SetEntityDirection, + ScriptCommand_SetEntityDirectionWithAnimationState, + ScriptCommand_SetEntityNonPlanarMovement, + ScriptCommand_SetEntity0x20, + ScriptCommand_SetEntityPositionRelative, + ScriptCommand_SetEntityPosition, + ScriptCommand_MoveEntityToPlayer, + ScriptCommandNop3, + ScriptCommand_0807EC1C, + ScriptCommand_0807EC64, + ScriptCommand_0807EC94, + ScriptCommand_0807ECC4, + ScriptCommand_0807ECF4, + ScriptCommand_0807ED24, + ScriptCommand_0807EDD4, + ScriptCommand_0807EE04, + ScriptCommand_0807EE30, + ScriptCommand_0807EEB4, + ScriptCommand_0807EEF4, + ScriptCommand_0807EF3C, + ScriptCommand_0807EF80, + ScriptCommand_0807EF90, + ScriptCommand_SoundReq, + ScriptCommand_SoundReq2, + ScriptCommand_SoundReq3, + ScriptCommand_SoundReq0x80100000, + ScriptCommand_ModRupees, + ScriptCommand_ModHealth, + ScriptCommand_IncreaseMaxHealth, + ScriptCommand_0807F034, + ScriptCommand_0807F050, + ScriptCommand_GetInventoryValue, + ScriptCommand_0807F078, + ScriptCommand_0807F088, + ScriptCommand_CameraTargetEntity, + ScriptCommand_CameraTargetPlayer, + ScriptCommand_0807F0B4, + ScriptCommand_0807F0C8 }; extern const u16 gUnk_08016984; extern u8 gUnk_0811E514[]; @@ -467,7 +569,7 @@ void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 arg2, u32 context->unk_19 = 8; context->unk_08 |= 2; - context->unk_14 = 0; + context->condition = 0; context->unk_1C.HALF.HI = arg2; context->unk_20.HALF.HI = arg3; t0 = context->unk_1C.HALF.HI - entity->x.HALF.HI; @@ -525,15 +627,17 @@ void ExecuteScriptCommandSet(Entity* unk1, ScriptExecutionContext* unk2) { void ScriptCommandNop(Entity* entity, ScriptExecutionContext* context) { } -void ScriptCommand_0807E004(Entity* entity, ScriptExecutionContext* context) { +// not entirely sure this name is acurate +void ScriptCommand_StartScript(Entity* entity, ScriptExecutionContext* context) { gActiveScriptInfo.flags |= 2; } -void ScriptCommand_0807E014(Entity* entity, ScriptExecutionContext* context) { +// not entirely sure this name is acurate +void ScriptCommand_StopScript(Entity* entity, ScriptExecutionContext* context) { gActiveScriptInfo.flags &= ~2; } -void ScriptCommand_0807E024(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_Jump(Entity* entity, ScriptExecutionContext* context) { s16 tmp; context->scriptInstructionPointer++; tmp = GetNextScriptCommandHalfword(context->scriptInstructionPointer); @@ -541,79 +645,77 @@ void ScriptCommand_0807E024(Entity* entity, ScriptExecutionContext* context) { gActiveScriptInfo.commandSize = 0; } -void ScriptCommand_0807E050(Entity* entity, ScriptExecutionContext* context) { - if (context->unk_14) { - ScriptCommand_0807E024(entity, context); +void ScriptCommand_JumpIf(Entity* entity, ScriptExecutionContext* context) { + if (context->condition) { + ScriptCommand_Jump(entity, context); } } -void ScriptCommand_0807E064(Entity* entity, ScriptExecutionContext* context) { - if (!context->unk_14) { - ScriptCommand_0807E024(entity, context); +void ScriptCommand_JumpIfNot(Entity* entity, ScriptExecutionContext* context) { + if (!context->condition) { + ScriptCommand_Jump(entity, context); } } void ScriptCommand_0807E078(Entity* entity, ScriptExecutionContext* context) { if (gActiveScriptInfo.commandSize > context->unk_04) { context->scriptInstructionPointer += context->unk_04; - ScriptCommand_0807E024(entity, context); + ScriptCommand_Jump(entity, context); } } -void ScriptCommand_0807E0A0(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_JumpAbsolute(Entity* entity, ScriptExecutionContext* context) { context->scriptInstructionPointer = (u16*)GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); gActiveScriptInfo.commandSize = 0; } -void ScriptCommand_0807E0B8(Entity* entity, ScriptExecutionContext* context) { - if (context->unk_14) { - ScriptCommand_0807E0A0(entity, context); +void ScriptCommand_JumpAbsoluteIf(Entity* entity, ScriptExecutionContext* context) { + if (context->condition) { + ScriptCommand_JumpAbsolute(entity, context); } } -void ScriptCommand_0807E0CC(Entity* entity, ScriptExecutionContext* context) { - if (!context->unk_14) { - ScriptCommand_0807E0A0(entity, context); +void ScriptCommand_JumpAbsoluteIfNot(Entity* entity, ScriptExecutionContext* context) { + if (!context->condition) { + ScriptCommand_JumpAbsolute(entity, context); } } void ScriptCommand_0807E0E0(Entity* entity, ScriptExecutionContext* context) { if (gActiveScriptInfo.commandSize > (context->unk_04 << 1) + 1) { context->scriptInstructionPointer += context->unk_04 << 1; - ScriptCommand_0807E0A0(entity, context); + ScriptCommand_JumpAbsolute(entity, context); } } -void ScriptCommand_0807E10C(Entity* entity, ScriptExecutionContext* context) { - ((void (*)(Entity*, ScriptExecutionContext*))GetNextScriptCommandWordAfterCommandMetadata( - context->scriptInstructionPointer))(entity, context); +void ScriptCommand_Call(Entity* entity, ScriptExecutionContext* context) { + ((ScriptCommand)GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer))(entity, context); } -void ScriptCommand_0807E124(Entity* entity, ScriptExecutionContext* context) { - void (*tmp)(Entity*, ScriptExecutionContext*) = - (void (*)(Entity*, ScriptExecutionContext*))GetNextScriptCommandWordAfterCommandMetadata( - context->scriptInstructionPointer); +// the called function can read an argument from context->unk_04 +void ScriptCommand_CallWithArg(Entity* entity, ScriptExecutionContext* context) { + ScriptCommand tmp = (ScriptCommand)GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); context->unk_04 = GetNextScriptCommandWord(context->scriptInstructionPointer + 3); tmp(entity, context); } -void ScriptCommand_0807E148(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_LoadRoomEntityList(Entity* entity, ScriptExecutionContext* context) { LoadRoomEntityList(GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer)); } -void ScriptCommand_0807E158(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_TestBit(Entity* entity, ScriptExecutionContext* context) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); u32 tmp2 = 0; u32 tmp3 = gActiveScriptInfo.unk_00; if ((tmp3 & tmp) == tmp) tmp2 = 1; - context->unk_14 = tmp2; + context->condition = tmp2; gActiveScriptInfo.unk_00 = tmp3 & ~tmp; gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E188(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_CheckInventory1(Entity* entity, ScriptExecutionContext* context) { u32 tmp; u32 tmp2 = GetNextScriptCommandHalfwordAfterCommandMetadata(context->scriptInstructionPointer); switch (tmp2) { @@ -632,64 +734,64 @@ void ScriptCommand_0807E188(Entity* entity, ScriptExecutionContext* context) { default: tmp = GetInventoryValue(tmp2); } - context->unk_14 = tmp; + context->condition = tmp; gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E1D8(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = GetInventoryValue(context->scriptInstructionPointer[1]) == 2; +void ScriptCommand_CheckInventory2(Entity* entity, ScriptExecutionContext* context) { + context->condition = GetInventoryValue(context->scriptInstructionPointer[1]) == 2; gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E200(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = CheckLocalFlag(context->scriptInstructionPointer[1]); +void ScriptCommand_CheckLocalFlag(Entity* entity, ScriptExecutionContext* context) { + context->condition = CheckLocalFlag(context->scriptInstructionPointer[1]); gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E220(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = +void ScriptCommand_CheckLocalFlagByOffset(Entity* entity, ScriptExecutionContext* context) { + context->condition = CheckLocalFlagByOffset(context->scriptInstructionPointer[1], context->scriptInstructionPointer[2]); gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E240(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = +void ScriptCommand_CheckGlobalFlag(Entity* entity, ScriptExecutionContext* context) { + context->condition = CheckGlobalFlag(GetNextScriptCommandHalfwordAfterCommandMetadata(context->scriptInstructionPointer)); gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E260(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = CheckRoomFlag(context->scriptInstructionPointer[1]); +void ScriptCommand_CheckRoomFlag(Entity* entity, ScriptExecutionContext* context) { + context->condition = CheckRoomFlag(context->scriptInstructionPointer[1]); gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E280(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_CheckPlayerInRegion(Entity* entity, ScriptExecutionContext* context) { u32 x, y, width, height; width = context->scriptInstructionPointer[3]; height = width >> 8; width &= 0xFF; x = context->scriptInstructionPointer[1]; y = context->scriptInstructionPointer[2]; - context->unk_14 = CheckPlayerInRegion(x, y, width, height); + context->condition = CheckPlayerInRegion(x, y, width, height); gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E2A8(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_CheckPlayerInRegion2(Entity* entity, ScriptExecutionContext* context) { u32 x, y, width, height; width = context->scriptInstructionPointer[1] & 0xFF; height = context->scriptInstructionPointer[1] >> 8; x = entity->x.HALF.HI - gRoomControls.roomOriginX; y = entity->y.HALF.HI - gRoomControls.roomOriginY; - context->unk_14 = CheckPlayerInRegion(x, y, width, height); + context->condition = CheckPlayerInRegion(x, y, width, height); gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E2E4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_CheckEntityInteractType(Entity* entity, ScriptExecutionContext* context) { if (entity->interactType) { entity->interactType = 0; - context->unk_14 = 1; + context->condition = 1; } else { - context->unk_14 = 0; + context->condition = 0; } gActiveScriptInfo.flags |= 1; } @@ -702,35 +804,35 @@ void ScriptCommand_0807E30C(Entity* entity, ScriptExecutionContext* context) { context->unk_1A++; if (entity->interactType) { entity->interactType = 0; - context->unk_14 = 1; + context->condition = 1; entity->animationState = sub_0806F5B0(GetFacingDirection(entity, &gPlayerEntity)); } else { - context->unk_14 = 0; + context->condition = 0; } gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E390(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = (context->scriptInstructionPointer[1] <= gSave.stats.rupees); +void ScriptCommand_HasRupees(Entity* entity, ScriptExecutionContext* context) { + context->condition = (context->scriptInstructionPointer[1] <= gSave.stats.rupees); gActiveScriptInfo.flags |= 1; } void ScriptCommand_0807E3BC(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = (context->scriptInstructionPointer[1] <= gSave.stats.field_0x1a); + context->condition = (context->scriptInstructionPointer[1] <= gSave.stats.field_0x1a); gActiveScriptInfo.flags |= 1; } void ScriptCommand_0807E3E8(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = !gUnk_02000040.unk_01; + context->condition = !gUnk_02000040.unk_01; gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E40C(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = CheckKinstoneFused(context->scriptInstructionPointer[1]); +void ScriptCommand_CheckKinstoneFused(Entity* entity, ScriptExecutionContext* context) { + context->condition = CheckKinstoneFused(context->scriptInstructionPointer[1]); gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E42C(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_BuyItem(Entity* entity, ScriptExecutionContext* context) { u32 tmp, tmp2; s32 tmp3; tmp = context->scriptInstructionPointer[1]; @@ -740,8 +842,8 @@ void ScriptCommand_0807E42C(Entity* entity, ScriptExecutionContext* context) { tmp2 = gRoomVars.field_0x7; } tmp3 = sub_08053FE0(tmp); - context->unk_14 = (tmp3 <= gSave.stats.rupees); - if (context->unk_14) { + context->condition = (tmp3 <= gSave.stats.rupees); + if (context->condition) { ModRupees(-tmp3); sub_080A7C18(tmp, tmp2, 0); gRoomVars.itemForSaleIndex = 0; @@ -751,55 +853,55 @@ void ScriptCommand_0807E42C(Entity* entity, ScriptExecutionContext* context) { } void ScriptCommand_0807E48C(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = sub_080544DC(context->scriptInstructionPointer[1]); + context->condition = sub_080544DC(context->scriptInstructionPointer[1]); gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E4AC(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = !!gRoomVars.itemForSaleIndex; +void ScriptCommand_HasRoomItemForSale(Entity* entity, ScriptExecutionContext* context) { + context->condition = !!gRoomVars.itemForSaleIndex; gActiveScriptInfo.flags |= 1; } void ScriptCommand_0807E4CC(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = !!(context->unk_04 & context->scriptInstructionPointer[1]); + context->condition = !!(context->unk_04 & context->scriptInstructionPointer[1]); gActiveScriptInfo.flags |= 1; } void ScriptCommand_0807E4EC(Entity* entity, ScriptExecutionContext* context) { u32 tmp = context->scriptInstructionPointer[1]; - context->unk_14 = tmp == (tmp & context->unk_04); + context->condition = tmp == (tmp & context->unk_04); gActiveScriptInfo.flags |= 1; } void ScriptCommand_0807E514(Entity* entity, ScriptExecutionContext* context) { u32 tmp = context->scriptInstructionPointer[1]; - context->unk_14 = tmp == context->unk_04; + context->condition = tmp == context->unk_04; gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E538(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = +void ScriptCommand_CheckPlayerFlags(Entity* entity, ScriptExecutionContext* context) { + context->condition = !!(GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer) & gPlayerState.flags.all); gActiveScriptInfo.flags |= 1; } void ScriptCommand_0807E564(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = (gPlayerState.flags.all >> 7) & 1; + context->condition = (gPlayerState.flags.all >> 7) & 1; gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E584(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = entity->height.WORD != 0; +void ScriptCommand_EntityHasHeight(Entity* entity, ScriptExecutionContext* context) { + context->condition = entity->height.WORD != 0; gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E5A0(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = context->scriptInstructionPointer[1] == gPlayerEntity.action; +void ScriptCommand_ComparePlayerAction(Entity* entity, ScriptExecutionContext* context) { + context->condition = context->scriptInstructionPointer[1] == gPlayerEntity.action; gActiveScriptInfo.flags |= 1; } -void ScriptCommand_0807E5CC(Entity* entity, ScriptExecutionContext* context) { - context->unk_14 = context->scriptInstructionPointer[1] == gPlayerEntity.animationState; +void ScriptCommand_ComparePlayerAnimationState(Entity* entity, ScriptExecutionContext* context) { + context->condition = context->scriptInstructionPointer[1] == gPlayerEntity.animationState; gActiveScriptInfo.flags |= 1; } @@ -811,46 +913,46 @@ void ScriptCommand_0807E610(Entity* entity, ScriptExecutionContext* context) { gActiveScriptInfo.unk_00 &= ~GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); } -void ScriptCommand_0807E628(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetLocalFlag(Entity* entity, ScriptExecutionContext* context) { SetLocalFlag(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807E634(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetLocalFlagByOffset(Entity* entity, ScriptExecutionContext* context) { SetLocalFlagByOffset(context->scriptInstructionPointer[1], context->scriptInstructionPointer[2]); } -void ScriptCommand_0807E644(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_ClearLocalFlag(Entity* entity, ScriptExecutionContext* context) { ClearLocalFlag(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807E650(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetGlobalFlag(Entity* entity, ScriptExecutionContext* context) { SetGlobalFlag(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807E65C(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_ClearGlobalFlag(Entity* entity, ScriptExecutionContext* context) { ClearGlobalFlag(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807E668(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetRoomFlag(Entity* entity, ScriptExecutionContext* context) { SetRoomFlag(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807E674(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_ClearRoomFlag(Entity* entity, ScriptExecutionContext* context) { ClearRoomFlag(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807E680(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_Wait(Entity* entity, ScriptExecutionContext* context) { context->wait = GetNextScriptCommandHalfwordAfterCommandMetadata(context->scriptInstructionPointer); } -void ScriptCommand_0807E690(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_WaitForSomething(Entity* entity, ScriptExecutionContext* context) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); if ((gActiveScriptInfo.unk_00 & tmp) != tmp) { gActiveScriptInfo.commandSize = 0; } } -void ScriptCommand_0807E6AC(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_WaitForSomething2(Entity* entity, ScriptExecutionContext* context) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); if ((gActiveScriptInfo.unk_00 & tmp) != tmp) { gActiveScriptInfo.commandSize = 0; @@ -860,7 +962,7 @@ void ScriptCommand_0807E6AC(Entity* entity, ScriptExecutionContext* context) { } } -void ScriptCommand_0807E6DC(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_WaitPlayerAction8(Entity* entity, ScriptExecutionContext* context) { if (gPlayerEntity.action == 8) { gActiveScriptInfo.commandSize = 0; } else { @@ -868,7 +970,7 @@ void ScriptCommand_0807E6DC(Entity* entity, ScriptExecutionContext* context) { } } -void ScriptCommand_0807E700(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_WaitForPlayerAction0x17(Entity* entity, ScriptExecutionContext* context) { if (gPlayerEntity.action != 0x17) { gActiveScriptInfo.flags |= 1; } else { @@ -876,7 +978,7 @@ void ScriptCommand_0807E700(Entity* entity, ScriptExecutionContext* context) { } } -void ScriptCommand_0807E72C(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_WaitFor_1(Entity* entity, ScriptExecutionContext* context) { if (gRoomControls.unk6 & 4) { gActiveScriptInfo.commandSize = 0; } else { @@ -884,7 +986,7 @@ void ScriptCommand_0807E72C(Entity* entity, ScriptExecutionContext* context) { } } -void ScriptCommand_0807E75C(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_WaitFor_2(Entity* entity, ScriptExecutionContext* context) { if (gFadeControl.active) { gActiveScriptInfo.commandSize = 0; } @@ -905,19 +1007,19 @@ void ScriptCommand_0807E79C(Entity* entity, ScriptExecutionContext* context) { void ScriptCommandNop2(Entity* entity, ScriptExecutionContext* context) { } -void ScriptCommand_0807E7B0(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_DoFade4(Entity* entity, ScriptExecutionContext* context) { DoFade(4, gActiveScriptInfo.unk_08); } -void ScriptCommand_0807E7C4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_DoFade5(Entity* entity, ScriptExecutionContext* context) { DoFade(5, gActiveScriptInfo.unk_08); } -void ScriptCommand_0807E7D8(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_DoFade6(Entity* entity, ScriptExecutionContext* context) { DoFade(6, gActiveScriptInfo.unk_08); } -void ScriptCommand_0807E7EC(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_DoFade7(Entity* entity, ScriptExecutionContext* context) { DoFade(7, gActiveScriptInfo.unk_08); } @@ -959,7 +1061,7 @@ void ScriptCommand_0807E888(Entity* entity, ScriptExecutionContext* context) { gPlayerState.field_0x8b = 3; } -void ScriptCommand_0807E898(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetPlayerAction(Entity* entity, ScriptExecutionContext* context) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); gPlayerState.playerAction = tmp; gPlayerState.field_0x38 = tmp >> 8; @@ -967,7 +1069,7 @@ void ScriptCommand_0807E898(Entity* entity, ScriptExecutionContext* context) { gPlayerState.field_0x3a = tmp >> 0x18; } -void ScriptCommand_0807E8C4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_StartPlayerScript(Entity* entity, ScriptExecutionContext* context) { StartPlayerScript((u16*)GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer)); } @@ -1052,10 +1154,10 @@ void ScriptCommand_0807E9F0(Entity* entity, ScriptExecutionContext* context) { case 2: gPlayerState.field_0x8b = 3; gUnk_02034490[0] = tmp; - context->unk_14 = tmp; + context->condition = tmp; break; case 1: - context->unk_14 = 0; + context->condition = 0; break; default: goto lbl; @@ -1089,15 +1191,15 @@ void ScriptCommand_0807EA94(Entity* entity, ScriptExecutionContext* context) { } } -void ScriptCommand_0807EAB4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_TextboxNoOverlapFollow(Entity* entity, ScriptExecutionContext* context) { TextboxNoOverlapFollow(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807EAC0(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_TextboxNoOverlap(Entity* entity, ScriptExecutionContext* context) { TextboxNoOverlap(context->scriptInstructionPointer[1], entity); } -void ScriptCommand_0807EAD0(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_TextboxNoOverlapFollowPos(Entity* entity, ScriptExecutionContext* context) { TextboxNoOverlapFollow(context->scriptInstructionPointer[1]); gTextBox.textWindowPosX = 1; gTextBox.textWindowPosY = context->scriptInstructionPointer[2]; @@ -1112,7 +1214,7 @@ void ScriptCommand_0807EAF0(Entity* entity, ScriptExecutionContext* context) { } } -void ScriptCommand_0807EB18(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_TextboxNoOverlapVar(Entity* entity, ScriptExecutionContext* context) { TextboxNoOverlap(context->unk_04, entity); } @@ -1142,34 +1244,34 @@ void ScriptCommand_0807EB8C(Entity* entity, ScriptExecutionContext* context) { gPlayerEntity.animationState = sub_0806F5B0(GetFacingDirection(&gPlayerEntity, entity)) & ~1; } -void ScriptCommand_0807EBA8(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetEntityDirection(Entity* entity, ScriptExecutionContext* context) { entity->direction = context->scriptInstructionPointer[1]; } -void ScriptCommand_0807EBB0(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetEntityDirectionWithAnimationState(Entity* entity, ScriptExecutionContext* context) { entity->direction = context->scriptInstructionPointer[1]; entity->animationState = entity->direction / 4; } -void ScriptCommand_0807EBC0(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetEntityNonPlanarMovement(Entity* entity, ScriptExecutionContext* context) { entity->nonPlanarMovement = context->scriptInstructionPointer[1]; } -void ScriptCommand_0807EBC8(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetEntity0x20(Entity* entity, ScriptExecutionContext* context) { entity->field_0x20 = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); } -void ScriptCommand_0807EBD8(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetEntityPositionRelative(Entity* entity, ScriptExecutionContext* context) { entity->x.HALF.HI = gRoomControls.roomOriginX + context->scriptInstructionPointer[1]; entity->y.HALF.HI = gRoomControls.roomOriginY + context->scriptInstructionPointer[2]; } -void ScriptCommand_0807EBF4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SetEntityPosition(Entity* entity, ScriptExecutionContext* context) { entity->x.HALF.HI += context->scriptInstructionPointer[1]; entity->y.HALF.HI += context->scriptInstructionPointer[2]; } -void ScriptCommand_0807EC08(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_MoveEntityToPlayer(Entity* entity, ScriptExecutionContext* context) { CopyPosition(&gPlayerEntity, entity); } @@ -1269,7 +1371,7 @@ void ScriptCommand_0807EDD4(Entity* entity, ScriptExecutionContext* context) { ScriptCommand_0807EE04(entity, context); } ScriptCommand_0807EE30(entity, context); - if (!context->unk_14) { + if (!context->condition) { gActiveScriptInfo.commandSize = 0; } } @@ -1295,9 +1397,9 @@ void ScriptCommand_0807EE30(Entity* entity, ScriptExecutionContext* context) { if (tmp <= 0 && tmp2 <= 0) { entity->x.HALF.HI = context->unk_1C.HALF.HI; entity->y.HALF.HI = context->unk_20.HALF.HI; - context->unk_14 = 1; + context->condition = 1; } else { - context->unk_14 = 0; + context->condition = 0; } } @@ -1307,7 +1409,7 @@ void ScriptCommand_0807EEB4(Entity* entity, ScriptExecutionContext* context) { sub_0807DEDC(entity, context, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI); } ScriptCommand_0807EE30(entity, context); - if (!context->unk_14) { + if (!context->condition) { gActiveScriptInfo.commandSize = 0; } } @@ -1319,7 +1421,7 @@ void ScriptCommand_0807EEF4(Entity* entity, ScriptExecutionContext* context) { entity->y.HALF.HI + ((s16)context->scriptInstructionPointer[2])); } ScriptCommand_0807EE30(entity, context); - if (!context->unk_14) { + if (!context->condition) { gActiveScriptInfo.commandSize = 0; } } @@ -1345,11 +1447,11 @@ void ScriptCommand_0807EF90(Entity* entity, ScriptExecutionContext* context) { context->unk_08 |= 1 << context->scriptInstructionPointer[1]; } -void ScriptCommand_0807EFA0(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SoundReq(Entity* entity, ScriptExecutionContext* context) { SoundReq(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807EFAC(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SoundReq2(Entity* entity, ScriptExecutionContext* context) { if (context->scriptInstructionPointer[1] >= 100) { SoundReq(gArea.musicIndex); } else { @@ -1357,23 +1459,23 @@ void ScriptCommand_0807EFAC(Entity* entity, ScriptExecutionContext* context) { } } -void ScriptCommand_0807EFD4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SoundReq3(Entity* entity, ScriptExecutionContext* context) { SoundReq(GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer)); } -void ScriptCommand_0807EFE4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_SoundReq0x80100000(Entity* entity, ScriptExecutionContext* context) { SoundReq(0x80100000); } -void ScriptCommand_0807EFF4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_ModRupees(Entity* entity, ScriptExecutionContext* context) { ModRupees((s16)context->scriptInstructionPointer[1]); } -void ScriptCommand_0807F004(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_ModHealth(Entity* entity, ScriptExecutionContext* context) { ModHealth(context->scriptInstructionPointer[1]); } -void ScriptCommand_0807F010(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_IncreaseMaxHealth(Entity* entity, ScriptExecutionContext* context) { gSave.stats.maxHealth = min(gSave.stats.maxHealth + 8, 0xA0); gSave.stats.health = gSave.stats.maxHealth; } @@ -1390,9 +1492,9 @@ void ScriptCommand_0807F050(Entity* entity, ScriptExecutionContext* context) { sub_080A7C18(0x5C, context->scriptInstructionPointer[1], 0); } -void ScriptCommand_0807F060(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_GetInventoryValue(Entity* entity, ScriptExecutionContext* context) { context->unk_04 = GetInventoryValue(context->scriptInstructionPointer[1]); - context->unk_14 = context->unk_04 != 0; + context->condition = context->unk_04 != 0; } void ScriptCommand_0807F078(Entity* entity, ScriptExecutionContext* context) { @@ -1403,11 +1505,11 @@ void ScriptCommand_0807F088(Entity* entity, ScriptExecutionContext* context) { sub_080A7C18(context->scriptInstructionPointer[1], 0, 3); } -void ScriptCommand_0807F098(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_CameraTargetEntity(Entity* entity, ScriptExecutionContext* context) { gRoomControls.cameraTarget = entity; } -void ScriptCommand_0807F0A4(Entity* entity, ScriptExecutionContext* context) { +void ScriptCommand_CameraTargetPlayer(Entity* entity, ScriptExecutionContext* context) { gRoomControls.cameraTarget = &gPlayerEntity; }