diff --git a/asm/castleMaid.s b/asm/castleMaid.s index 51f71954..f8f6d720 100644 --- a/asm/castleMaid.s +++ b/asm/castleMaid.s @@ -343,10 +343,10 @@ _08064776: lsls r0, r0, #0x10 cmp r0, #0 beq _08064788 - ldr r1, _0806478C @ =gUnk_02033280 + ldr r1, _0806478C @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _08064788: pop {r4, r5, r6, pc} .align 2, 0 -_0806478C: .4byte gUnk_02033280 +_0806478C: .4byte gActiveScriptInfo diff --git a/asm/castorWildsStatue.s b/asm/castorWildsStatue.s index b08602c1..957ac56c 100644 --- a/asm/castorWildsStatue.s +++ b/asm/castorWildsStatue.s @@ -503,13 +503,13 @@ _08067734: cmp r0, #0 beq _08067748 _08067742: - ldr r1, _0806774C @ =gUnk_02033280 + ldr r1, _0806774C @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _08067748: pop {pc} .align 2, 0 -_0806774C: .4byte gUnk_02033280 +_0806774C: .4byte gActiveScriptInfo thumb_func_start CastorWildsStatue_Fusion CastorWildsStatue_Fusion: @ 0x08067750 diff --git a/asm/code_0805436C.s b/asm/code_0805436C.s index 8b559fc7..4ab2c097 100644 --- a/asm/code_0805436C.s +++ b/asm/code_0805436C.s @@ -875,7 +875,7 @@ _08054F60: .4byte 0x00004074 sub_08054F64: @ 0x08054F64 push {lr} ldrb r0, [r0, #0xb] - ldr r3, _08054F7C @ =gUnk_02033280 + ldr r3, _08054F7C @ =gActiveScriptInfo ldr r2, [r3] adds r1, r2, #0 ands r1, r0 @@ -885,7 +885,7 @@ sub_08054F64: @ 0x08054F64 strb r0, [r3, #6] b _08054F8C .align 2, 0 -_08054F7C: .4byte gUnk_02033280 +_08054F7C: .4byte gActiveScriptInfo _08054F80: bics r2, r1 str r2, [r3] diff --git a/asm/code_080732D0.s b/asm/code_080732D0.s index 9ce6bf12..0717d0c5 100644 --- a/asm/code_080732D0.s +++ b/asm/code_080732D0.s @@ -3874,7 +3874,7 @@ sub_08074F8C: @ 0x08074F8C bne _08074FAC movs r0, #0 strb r0, [r3] - ldr r2, _08074FDC @ =gUnk_02033280 + ldr r2, _08074FDC @ =gActiveScriptInfo ldr r0, [r2] movs r1, #4 orrs r0, r1 @@ -3904,7 +3904,7 @@ _08074FAC: lsls r0, r0, #3 b _08074FE8 .align 2, 0 -_08074FDC: .4byte gUnk_02033280 +_08074FDC: .4byte gActiveScriptInfo _08074FE0: .4byte gPlayerState _08074FE4: movs r0, #0x80 @@ -4310,13 +4310,13 @@ _080752D0: cmp r0, #0 beq _080752E2 _080752DC: - ldr r1, _080752E4 @ =gUnk_02033280 + ldr r1, _080752E4 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _080752E2: pop {r4, r5, pc} .align 2, 0 -_080752E4: .4byte gUnk_02033280 +_080752E4: .4byte gActiveScriptInfo thumb_func_start sub_080752E8 sub_080752E8: @ 0x080752E8 diff --git a/asm/code_0807F0D8.s b/asm/code_0807F0D8.s index 11f24fbc..265f7010 100644 --- a/asm/code_0807F0D8.s +++ b/asm/code_0807F0D8.s @@ -125,7 +125,7 @@ sub_0807F1A0: @ 0x0807F1A0 movs r4, #0x32 ldrsh r3, [r3, r4] bl sub_0807DEDC - ldr r2, _0807F1C0 @ =gUnk_02033280 + ldr r2, _0807F1C0 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -133,7 +133,7 @@ sub_0807F1A0: @ 0x0807F1A0 pop {r4, pc} .align 2, 0 _0807F1BC: .4byte gPlayerEntity -_0807F1C0: .4byte gUnk_02033280 +_0807F1C0: .4byte gActiveScriptInfo thumb_func_start sub_0807F1C4 sub_0807F1C4: @ 0x0807F1C4 @@ -271,7 +271,7 @@ sub_0807F2A8: @ 0x0807F2A8 ldr r0, [r0] cmp r0, #0 bne _0807F2C8 - ldr r2, _0807F2C4 @ =gUnk_02033280 + ldr r2, _0807F2C4 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -279,15 +279,15 @@ sub_0807F2A8: @ 0x0807F2A8 b _0807F2CE .align 2, 0 _0807F2C0: .4byte gPlayerState -_0807F2C4: .4byte gUnk_02033280 +_0807F2C4: .4byte gActiveScriptInfo _0807F2C8: - ldr r1, _0807F2D0 @ =gUnk_02033280 + ldr r1, _0807F2D0 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0807F2CE: pop {pc} .align 2, 0 -_0807F2D0: .4byte gUnk_02033280 +_0807F2D0: .4byte gActiveScriptInfo thumb_func_start sub_0807F2D4 sub_0807F2D4: @ 0x0807F2D4 @@ -300,21 +300,21 @@ sub_0807F2D4: @ 0x0807F2D4 lsrs r1, r0, #0x18 cmp r1, #0 beq _0807F2F8 - ldr r2, _0807F2F4 @ =gUnk_02033280 + ldr r2, _0807F2F4 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 strb r0, [r2, #7] b _0807F2FC .align 2, 0 -_0807F2F4: .4byte gUnk_02033280 +_0807F2F4: .4byte gActiveScriptInfo _0807F2F8: - ldr r0, _0807F300 @ =gUnk_02033280 + ldr r0, _0807F300 @ =gActiveScriptInfo strb r1, [r0, #6] _0807F2FC: pop {pc} .align 2, 0 -_0807F300: .4byte gUnk_02033280 +_0807F300: .4byte gActiveScriptInfo thumb_func_start sub_0807F304 sub_0807F304: @ 0x0807F304 @@ -328,7 +328,7 @@ sub_0807F304: @ 0x0807F304 lsrs r1, r0, #0x18 cmp r1, #0 beq _0807F32C - ldr r2, _0807F328 @ =gUnk_02033280 + ldr r2, _0807F328 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -336,14 +336,14 @@ sub_0807F304: @ 0x0807F304 b _0807F330 .align 2, 0 _0807F324: .4byte gPlayerEntity -_0807F328: .4byte gUnk_02033280 +_0807F328: .4byte gActiveScriptInfo _0807F32C: - ldr r0, _0807F334 @ =gUnk_02033280 + ldr r0, _0807F334 @ =gActiveScriptInfo strb r1, [r0, #6] _0807F330: pop {pc} .align 2, 0 -_0807F334: .4byte gUnk_02033280 +_0807F334: .4byte gActiveScriptInfo thumb_func_start sub_0807F338 sub_0807F338: @ 0x0807F338 @@ -509,14 +509,14 @@ _0807F44C: strb r0, [r3] str r2, [r1, #4] _0807F452: - ldr r2, _0807F460 @ =gUnk_02033280 + ldr r2, _0807F460 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 strb r0, [r2, #7] pop {pc} .align 2, 0 -_0807F460: .4byte gUnk_02033280 +_0807F460: .4byte gActiveScriptInfo thumb_func_start sub_0807F464 sub_0807F464: @ 0x0807F464 @@ -589,13 +589,13 @@ _0807F4BC: strh r0, [r4, #0x2e] b _0807F4F0 _0807F4EA: - ldr r1, _0807F4F4 @ =gUnk_02033280 + ldr r1, _0807F4F4 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0807F4F0: pop {r4, r5, r6, pc} .align 2, 0 -_0807F4F4: .4byte gUnk_02033280 +_0807F4F4: .4byte gActiveScriptInfo thumb_func_start sub_0807F4F8 sub_0807F4F8: @ 0x0807F4F8 @@ -665,13 +665,13 @@ _0807F548: strh r0, [r4, #0x32] b _0807F57C _0807F576: - ldr r1, _0807F580 @ =gUnk_02033280 + ldr r1, _0807F580 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0807F57C: pop {r4, r5, pc} .align 2, 0 -_0807F580: .4byte gUnk_02033280 +_0807F580: .4byte gActiveScriptInfo thumb_func_start sub_0807F584 sub_0807F584: @ 0x0807F584 @@ -691,14 +691,14 @@ sub_0807F594: @ 0x0807F594 ldrb r0, [r0] cmp r0, #0 beq _0807F5A6 - ldr r1, _0807F5AC @ =gUnk_02033280 + ldr r1, _0807F5AC @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0807F5A6: pop {pc} .align 2, 0 _0807F5A8: .4byte gPlayerState -_0807F5AC: .4byte gUnk_02033280 +_0807F5AC: .4byte gActiveScriptInfo thumb_func_start sub_0807F5B0 sub_0807F5B0: @ 0x0807F5B0 @@ -757,7 +757,7 @@ _0807F602: ldrsh r0, [r4, r2] cmp r3, r0 bne _0807F628 - ldr r2, _0807F624 @ =gUnk_02033280 + ldr r2, _0807F624 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -765,15 +765,15 @@ _0807F602: b _0807F62E .align 2, 0 _0807F620: .4byte gRoomControls -_0807F624: .4byte gUnk_02033280 +_0807F624: .4byte gActiveScriptInfo _0807F628: - ldr r1, _0807F630 @ =gUnk_02033280 + ldr r1, _0807F630 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0807F62E: pop {r4, pc} .align 2, 0 -_0807F630: .4byte gUnk_02033280 +_0807F630: .4byte gActiveScriptInfo thumb_func_start sub_0807F634 sub_0807F634: @ 0x0807F634 @@ -831,7 +831,7 @@ sub_0807F680: @ 0x0807F680 movs r3, #1 _0807F69A: str r3, [r2, #0x14] - ldr r2, _0807F6B0 @ =gUnk_02033280 + ldr r2, _0807F6B0 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -840,7 +840,7 @@ _0807F69A: .align 2, 0 _0807F6A8: .4byte gPlayerEntity _0807F6AC: .4byte gRoomControls -_0807F6B0: .4byte gUnk_02033280 +_0807F6B0: .4byte gActiveScriptInfo thumb_func_start sub_0807F6B4 sub_0807F6B4: @ 0x0807F6B4 @@ -859,7 +859,7 @@ sub_0807F6B4: @ 0x0807F6B4 movs r3, #1 _0807F6CE: str r3, [r2, #0x14] - ldr r2, _0807F6E4 @ =gUnk_02033280 + ldr r2, _0807F6E4 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -868,7 +868,7 @@ _0807F6CE: .align 2, 0 _0807F6DC: .4byte gPlayerEntity _0807F6E0: .4byte gRoomControls -_0807F6E4: .4byte gUnk_02033280 +_0807F6E4: .4byte gActiveScriptInfo thumb_func_start sub_0807F6E8 sub_0807F6E8: @ 0x0807F6E8 @@ -1018,7 +1018,7 @@ _0807F7D2: movs r2, #1 _0807F7E4: str r2, [r4, #0x14] - ldr r2, _0807F7FC @ =gUnk_02033280 + ldr r2, _0807F7FC @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -1027,7 +1027,7 @@ _0807F7E4: .align 2, 0 _0807F7F4: .4byte gRoomVars _0807F7F8: .4byte gSave -_0807F7FC: .4byte gUnk_02033280 +_0807F7FC: .4byte gActiveScriptInfo thumb_func_start sub_0807F800 sub_0807F800: @ 0x0807F800 @@ -1049,7 +1049,7 @@ _0807F80C: ldr r1, _0807F834 @ =gRoomVars movs r0, #0 strb r0, [r1, #6] - ldr r2, _0807F838 @ =gUnk_02033280 + ldr r2, _0807F838 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -1057,7 +1057,7 @@ _0807F80C: pop {r4, pc} .align 2, 0 _0807F834: .4byte gRoomVars -_0807F838: .4byte gUnk_02033280 +_0807F838: .4byte gActiveScriptInfo thumb_func_start sub_0807F83C sub_0807F83C: @ 0x0807F83C @@ -1144,14 +1144,14 @@ sub_0807F8D0: @ 0x0807F8D0 push {lr} ldr r1, [r1, #4] bl sub_08003FC4 - ldr r2, _0807F8E4 @ =gUnk_02033280 + ldr r2, _0807F8E4 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 strb r0, [r2, #7] pop {pc} .align 2, 0 -_0807F8E4: .4byte gUnk_02033280 +_0807F8E4: .4byte gActiveScriptInfo thumb_func_start sub_0807F8E8 sub_0807F8E8: @ 0x0807F8E8 @@ -1314,14 +1314,14 @@ _0807F9C4: @ jump table .4byte _0807FA24 @ case 22 .4byte _0807FA24 @ case 23 _0807FA24: - ldr r1, _0807FA2C @ =gUnk_02033280 + ldr r1, _0807FA2C @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] b _0807FA3A .align 2, 0 -_0807FA2C: .4byte gUnk_02033280 +_0807FA2C: .4byte gActiveScriptInfo _0807FA30: - ldr r2, _0807FA3C @ =gUnk_02033280 + ldr r2, _0807FA3C @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -1329,7 +1329,7 @@ _0807FA30: _0807FA3A: pop {pc} .align 2, 0 -_0807FA3C: .4byte gUnk_02033280 +_0807FA3C: .4byte gActiveScriptInfo thumb_func_start sub_0807FA40 sub_0807FA40: @ 0x0807FA40 @@ -1374,14 +1374,14 @@ _0807FA60: @ jump table .4byte _0807FAC0 @ case 22 .4byte _0807FAC0 @ case 23 _0807FAC0: - ldr r1, _0807FAC8 @ =gUnk_02033280 + ldr r1, _0807FAC8 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] b _0807FAD6 .align 2, 0 -_0807FAC8: .4byte gUnk_02033280 +_0807FAC8: .4byte gActiveScriptInfo _0807FACC: - ldr r2, _0807FAD8 @ =gUnk_02033280 + ldr r2, _0807FAD8 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -1389,7 +1389,7 @@ _0807FACC: _0807FAD6: pop {pc} .align 2, 0 -_0807FAD8: .4byte gUnk_02033280 +_0807FAD8: .4byte gActiveScriptInfo thumb_func_start sub_0807FADC sub_0807FADC: @ 0x0807FADC @@ -1427,13 +1427,13 @@ _0807FB16: bl sub_0808C688 b _0807FB22 _0807FB1C: - ldr r1, _0807FB24 @ =gUnk_02033280 + ldr r1, _0807FB24 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0807FB22: pop {r4, pc} .align 2, 0 -_0807FB24: .4byte gUnk_02033280 +_0807FB24: .4byte gActiveScriptInfo thumb_func_start sub_0807FB28 sub_0807FB28: @ 0x0807FB28 @@ -1460,13 +1460,13 @@ _0807FB3A: .align 2, 0 _0807FB54: .4byte 0x00007FFF _0807FB58: - ldr r1, _0807FB60 @ =gUnk_02033280 + ldr r1, _0807FB60 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0807FB5E: pop {r4, pc} .align 2, 0 -_0807FB60: .4byte gUnk_02033280 +_0807FB60: .4byte gActiveScriptInfo thumb_func_start sub_0807FB64 sub_0807FB64: @ 0x0807FB64 @@ -1552,13 +1552,13 @@ sub_0807FBD4: @ 0x0807FBD4 bl sub_080040A8 cmp r0, #0 beq _0807FBF4 - ldr r1, _0807FBF8 @ =gUnk_02033280 + ldr r1, _0807FBF8 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0807FBF4: pop {r4, pc} .align 2, 0 -_0807FBF8: .4byte gUnk_02033280 +_0807FBF8: .4byte gActiveScriptInfo thumb_func_start sub_0807FBFC sub_0807FBFC: @ 0x0807FBFC diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index cbe07816..1bd8ec85 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -3709,7 +3709,7 @@ sub_080A7250: @ 0x080A7250 movs r2, #0x80 lsls r2, r2, #1 bl MemCopy - ldr r0, _080A7310 @ =gUnk_02033280 + ldr r0, _080A7310 @ =gActiveScriptInfo movs r2, #0xd5 lsls r2, r2, #2 adds r1, r4, r2 @@ -3750,7 +3750,7 @@ _080A7300: .4byte gUnk_02032F14 _080A7304: .4byte gUnk_02001A00 _080A7308: .4byte gRoomControls _080A730C: .4byte gUnk_03000420 -_080A7310: .4byte gUnk_02033280 +_080A7310: .4byte gActiveScriptInfo _080A7314: .4byte gScreenTransition _080A7318: .4byte gPlayerState _080A731C: .4byte gUnk_02017654 @@ -3775,7 +3775,7 @@ sub_080A7328: @ 0x080A7328 movs r1, #0x80 lsls r1, r1, #1 bl MemClear32 - ldr r4, _080A7398 @ =gUnk_02033280 + ldr r4, _080A7398 @ =gActiveScriptInfo adds r0, r4, #0 movs r1, #0xc bl MemClear32 @@ -3803,7 +3803,7 @@ _080A7388: .4byte gFadeControl _080A738C: .4byte gMenu _080A7390: .4byte gRoomControls _080A7394: .4byte gUnk_03000420 -_080A7398: .4byte gUnk_02033280 +_080A7398: .4byte gActiveScriptInfo _080A739C: .4byte gUnk_02024490 _080A73A0: .4byte gUnk_02032EC0 _080A73A4: .4byte gScreenTransition @@ -3836,7 +3836,7 @@ _080A73B4: movs r1, #0xea lsls r1, r1, #2 adds r0, r5, r1 - ldr r1, _080A7480 @ =gUnk_02033280 + ldr r1, _080A7480 @ =gActiveScriptInfo movs r2, #0xc bl MemCopy movs r1, #0xaa @@ -3899,7 +3899,7 @@ _080A7470: .4byte gUnk_02032EC0 _080A7474: .4byte gPlayerState _080A7478: .4byte gUnk_02025EB0 _080A747C: .4byte gUnk_0200B650 -_080A7480: .4byte gUnk_02033280 +_080A7480: .4byte gActiveScriptInfo _080A7484: .4byte gUnk_03000420 _080A7488: .4byte gUnk_02001A00 _080A748C: .4byte gUnk_02024490 diff --git a/asm/figurineDevice.s b/asm/figurineDevice.s index bf0213bb..9d02534e 100644 --- a/asm/figurineDevice.s +++ b/asm/figurineDevice.s @@ -1386,7 +1386,7 @@ _0808863E: movs r0, #0 str r0, [r4, #0x14] _08088642: - ldr r2, _08088654 @ =gUnk_02033280 + ldr r2, _08088654 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -1394,7 +1394,7 @@ _08088642: pop {r4, pc} .align 2, 0 _08088650: .4byte gPlayerEntity -_08088654: .4byte gUnk_02033280 +_08088654: .4byte gActiveScriptInfo thumb_func_start sub_08088658 sub_08088658: @ 0x08088658 @@ -1414,7 +1414,7 @@ sub_08088658: @ 0x08088658 movs r0, #0 str r0, [r4, #0x14] _08088678: - ldr r2, _08088688 @ =gUnk_02033280 + ldr r2, _08088688 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -1422,4 +1422,4 @@ _08088678: pop {r4, pc} .align 2, 0 _08088684: .4byte gPlayerEntity -_08088688: .4byte gUnk_02033280 +_08088688: .4byte gActiveScriptInfo diff --git a/asm/fourElements.s b/asm/fourElements.s index 63271cb5..e69d1373 100644 --- a/asm/fourElements.s +++ b/asm/fourElements.s @@ -114,7 +114,7 @@ _080A028C: .4byte gUnk_0800A0B4 sub_080A0290: @ 0x080A0290 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _080A02BC @ =gUnk_02033280 + ldr r5, _080A02BC @ =gActiveScriptInfo ldr r0, [r5] movs r1, #4 ands r0, r1 @@ -133,7 +133,7 @@ sub_080A0290: @ 0x080A0290 strh r0, [r4, #0x36] b _080A02CA .align 2, 0 -_080A02BC: .4byte gUnk_02033280 +_080A02BC: .4byte gActiveScriptInfo _080A02C0: movs r1, #2 strb r1, [r4, #0xc] diff --git a/asm/gorman.s b/asm/gorman.s index 753e767c..9760e2f9 100644 --- a/asm/gorman.s +++ b/asm/gorman.s @@ -272,7 +272,7 @@ sub_0806991C: @ 0x0806991C ldrb r0, [r0] orrs r1, r0 strb r1, [r5, #0x14] - ldr r2, _080699A8 @ =gUnk_02033280 + ldr r2, _080699A8 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -282,7 +282,7 @@ sub_0806991C: @ 0x0806991C _0806999C: .4byte gUnk_08111C5C _080699A0: .4byte gRoomControls _080699A4: .4byte gUnk_08111C74 -_080699A8: .4byte gUnk_02033280 +_080699A8: .4byte gActiveScriptInfo thumb_func_start sub_080699AC sub_080699AC: @ 0x080699AC @@ -342,7 +342,7 @@ sub_080699AC: @ 0x080699AC ldrb r0, [r0] orrs r1, r0 strb r1, [r5, #0x14] - ldr r2, _08069A38 @ =gUnk_02033280 + ldr r2, _08069A38 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -352,7 +352,7 @@ sub_080699AC: @ 0x080699AC _08069A2C: .4byte gUnk_08111C84 _08069A30: .4byte gRoomControls _08069A34: .4byte gUnk_08111C8C -_08069A38: .4byte gUnk_02033280 +_08069A38: .4byte gActiveScriptInfo thumb_func_start sub_08069A3C sub_08069A3C: @ 0x08069A3C diff --git a/asm/goronMerchant.s b/asm/goronMerchant.s index 80e01bd6..6f9d3259 100644 --- a/asm/goronMerchant.s +++ b/asm/goronMerchant.s @@ -50,7 +50,7 @@ _08069766: movs r0, #0 _0806976E: str r0, [r7, #0x14] - ldr r2, _08069780 @ =gUnk_02033280 + ldr r2, _08069780 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -58,4 +58,4 @@ _0806976E: pop {r4, r5, r6, r7, pc} .align 2, 0 _0806977C: .4byte 0x00002C1E -_08069780: .4byte gUnk_02033280 +_08069780: .4byte gActiveScriptInfo diff --git a/asm/guardWithSpear.s b/asm/guardWithSpear.s index 18957b2c..14da7633 100644 --- a/asm/guardWithSpear.s +++ b/asm/guardWithSpear.s @@ -139,13 +139,13 @@ _08064168: lsls r0, r0, #0x10 cmp r0, #0 beq _0806417A - ldr r1, _0806417C @ =gUnk_02033280 + ldr r1, _0806417C @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0806417A: pop {r4, r5, r6, pc} .align 2, 0 -_0806417C: .4byte gUnk_02033280 +_0806417C: .4byte gActiveScriptInfo thumb_func_start sub_08064180 sub_08064180: @ 0x08064180 diff --git a/asm/kid.s b/asm/kid.s index 88f596e0..ccc90dd2 100644 --- a/asm/kid.s +++ b/asm/kid.s @@ -897,13 +897,13 @@ _0806274A: .align 2, 0 _08062778: .4byte gRoomControls _0806277C: - ldr r1, _08062784 @ =gUnk_02033280 + ldr r1, _08062784 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _08062782: pop {r4, r5, pc} .align 2, 0 -_08062784: .4byte gUnk_02033280 +_08062784: .4byte gActiveScriptInfo thumb_func_start sub_08062788 sub_08062788: @ 0x08062788 @@ -1228,13 +1228,13 @@ _08062A30: lsls r0, r0, #0x10 cmp r0, #0 beq _08062A42 - ldr r1, _08062A44 @ =gUnk_02033280 + ldr r1, _08062A44 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _08062A42: pop {r4, r5, r6, pc} .align 2, 0 -_08062A44: .4byte gUnk_02033280 +_08062A44: .4byte gActiveScriptInfo thumb_func_start sub_08062A48 sub_08062A48: @ 0x08062A48 diff --git a/asm/minishEzlo.s b/asm/minishEzlo.s index 39185631..438e9ae2 100644 --- a/asm/minishEzlo.s +++ b/asm/minishEzlo.s @@ -300,7 +300,7 @@ _08063186: adds r1, #0x80 movs r0, #0x11 strh r0, [r1] - ldr r2, _080631B8 @ =gUnk_02033280 + ldr r2, _080631B8 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -308,7 +308,7 @@ _08063186: b _080631DC .align 2, 0 _080631B4: .4byte 0x0000033F -_080631B8: .4byte gUnk_02033280 +_080631B8: .4byte gActiveScriptInfo _080631BC: lsls r0, r3, #1 adds r0, r2, r0 @@ -324,11 +324,11 @@ _080631CA: adds r0, r4, #0 movs r3, #0 bl sub_0805EC9C - ldr r1, _080631E4 @ =gUnk_02033280 + ldr r1, _080631E4 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _080631DC: pop {r4, r5, r6, pc} .align 2, 0 _080631E0: .4byte 0xFFFE0000 -_080631E4: .4byte gUnk_02033280 +_080631E4: .4byte gActiveScriptInfo diff --git a/asm/object6.s b/asm/object6.s index 2f89320b..038c3924 100644 --- a/asm/object6.s +++ b/asm/object6.s @@ -730,7 +730,7 @@ _08082E44: rsbs r0, r0, #0 cmp r1, r0 ble _08082E5E - ldr r0, _08082E68 @ =gUnk_02033280 + ldr r0, _08082E68 @ =gActiveScriptInfo ldr r1, [r0] movs r2, #2 orrs r1, r2 @@ -741,7 +741,7 @@ _08082E5E: bl UpdateAnimationSingleFrame pop {r4, pc} .align 2, 0 -_08082E68: .4byte gUnk_02033280 +_08082E68: .4byte gActiveScriptInfo thumb_func_start sub_08082E6C sub_08082E6C: @ 0x08082E6C diff --git a/asm/object6A.s b/asm/object6A.s index f6cde33d..ec4f6933 100644 --- a/asm/object6A.s +++ b/asm/object6A.s @@ -127,12 +127,12 @@ sub_08094B0C: @ 0x08094B0C .align 2, 0 _08094B2C: .4byte 0x0000FFE0 _08094B30: - ldr r0, _08094B38 @ =gUnk_02033280 + ldr r0, _08094B38 @ =gActiveScriptInfo strb r3, [r0, #6] _08094B34: pop {pc} .align 2, 0 -_08094B38: .4byte gUnk_02033280 +_08094B38: .4byte gActiveScriptInfo thumb_func_start sub_08094B3C sub_08094B3C: @ 0x08094B3C @@ -155,13 +155,13 @@ sub_08094B3C: @ 0x08094B3C .align 2, 0 _08094B5C: .4byte 0x0000FFF3 _08094B60: - ldr r1, _08094B68 @ =gUnk_02033280 + ldr r1, _08094B68 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _08094B66: pop {pc} .align 2, 0 -_08094B68: .4byte gUnk_02033280 +_08094B68: .4byte gActiveScriptInfo thumb_func_start sub_08094B6C sub_08094B6C: @ 0x08094B6C @@ -2005,7 +2005,7 @@ _080959AC: .4byte gUnk_08122AF8 _080959B0: .4byte 0x0000FFFD _080959B4: .4byte gUnk_08012C48 _080959B8: - ldr r0, _080959C8 @ =gUnk_02033280 + ldr r0, _080959C8 @ =gActiveScriptInfo ldr r1, [r0] movs r2, #0x80 lsls r2, r2, #1 @@ -2014,7 +2014,7 @@ _080959B8: _080959C4: pop {r4, r5, pc} .align 2, 0 -_080959C8: .4byte gUnk_02033280 +_080959C8: .4byte gActiveScriptInfo thumb_func_start sub_080959CC sub_080959CC: @ 0x080959CC @@ -2550,7 +2550,7 @@ _08095DB8: sub_08095DBC: @ 0x08095DBC push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08095DF0 @ =gUnk_02033280 + ldr r5, _08095DF0 @ =gActiveScriptInfo ldr r0, [r5] movs r1, #0x10 ands r0, r1 @@ -2574,7 +2574,7 @@ _08095DE6: bl sub_0807DDAC b _08095E74 .align 2, 0 -_08095DF0: .4byte gUnk_02033280 +_08095DF0: .4byte gActiveScriptInfo _08095DF4: ldrb r0, [r4, #0xc] cmp r0, #0 diff --git a/asm/object97.s b/asm/object97.s index c597b8ea..f237a9d2 100644 --- a/asm/object97.s +++ b/asm/object97.s @@ -950,11 +950,11 @@ sub_0809E0D4: @ 0x0809E0D4 ldrb r0, [r1, #0xc] cmp r0, #1 bhi _0809E0FE - ldr r0, _0809E0F8 @ =gUnk_02033280 + ldr r0, _0809E0F8 @ =gActiveScriptInfo strb r2, [r0, #6] b _0809E1BC .align 2, 0 -_0809E0F8: .4byte gUnk_02033280 +_0809E0F8: .4byte gActiveScriptInfo _0809E0FC: ldr r1, _0809E124 @ =gPlayerEntity _0809E0FE: @@ -971,13 +971,13 @@ _0809E0FE: bl sub_0807DEDC ldr r0, _0809E128 @ =0x00000123 bl SoundReq - ldr r0, _0809E12C @ =gUnk_02033280 + ldr r0, _0809E12C @ =gActiveScriptInfo strb r4, [r0, #6] b _0809E1BC .align 2, 0 _0809E124: .4byte gPlayerEntity _0809E128: .4byte 0x00000123 -_0809E12C: .4byte gUnk_02033280 +_0809E12C: .4byte gActiveScriptInfo _0809E130: ldr r1, [r5, #0x54] cmp r1, #0 @@ -1047,7 +1047,7 @@ _0809E170: bl SoundReq b _0809E1BC _0809E1B6: - ldr r1, _0809E1C4 @ =gUnk_02033280 + ldr r1, _0809E1C4 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0809E1BC: @@ -1055,7 +1055,7 @@ _0809E1BC: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_0809E1C4: .4byte gUnk_02033280 +_0809E1C4: .4byte gActiveScriptInfo thumb_func_start sub_0809E1C8 sub_0809E1C8: @ 0x0809E1C8 diff --git a/asm/objectB9.s b/asm/objectB9.s index bf5cd9ec..fcebb4f0 100644 --- a/asm/objectB9.s +++ b/asm/objectB9.s @@ -193,7 +193,7 @@ _080A132E: .align 2, 0 _080A136C: .4byte gPlayerState _080A1370: - ldr r1, _080A1384 @ =gUnk_02033280 + ldr r1, _080A1384 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _080A1376: @@ -204,7 +204,7 @@ _080A1376: mov sl, r5 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A1384: .4byte gUnk_02033280 +_080A1384: .4byte gActiveScriptInfo thumb_func_start sub_080A1388 sub_080A1388: @ 0x080A1388 diff --git a/asm/percy.s b/asm/percy.s index 08ec140c..d00ceec6 100644 --- a/asm/percy.s +++ b/asm/percy.s @@ -100,13 +100,13 @@ _0806B5EE: .align 2, 0 _0806B5FC: .4byte gPlayerEntity _0806B600: - ldr r1, _0806B608 @ =gUnk_02033280 + ldr r1, _0806B608 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0806B606: pop {r4, pc} .align 2, 0 -_0806B608: .4byte gUnk_02033280 +_0806B608: .4byte gActiveScriptInfo thumb_func_start sub_0806B60C sub_0806B60C: @ 0x0806B60C diff --git a/asm/phonograph.s b/asm/phonograph.s index 962139ae..c296947d 100644 --- a/asm/phonograph.s +++ b/asm/phonograph.s @@ -214,7 +214,7 @@ _0806EA86: strh r1, [r0] strh r1, [r6] _0806EAA4: - ldr r1, _0806EAB8 @ =gUnk_02033280 + ldr r1, _0806EAB8 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0806EAAA: @@ -224,7 +224,7 @@ _0806EAAA: pop {r4, r5, r6, r7, pc} .align 2, 0 _0806EAB4: .4byte 0x80010000 -_0806EAB8: .4byte gUnk_02033280 +_0806EAB8: .4byte gActiveScriptInfo thumb_func_start sub_0806EABC sub_0806EABC: @ 0x0806EABC diff --git a/asm/picolyteBottles.s b/asm/picolyteBottles.s index 158b7a27..0930627e 100644 --- a/asm/picolyteBottles.s +++ b/asm/picolyteBottles.s @@ -392,7 +392,7 @@ _0806E1C0: ldr r1, _0806E1D8 @ =gScreenTransition ldrh r0, [r4] strh r0, [r1, #6] - ldr r2, _0806E1DC @ =gUnk_02033280 + ldr r2, _0806E1DC @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -401,7 +401,7 @@ _0806E1C0: .align 2, 0 _0806E1D4: .4byte 0x0000421C _0806E1D8: .4byte gScreenTransition -_0806E1DC: .4byte gUnk_02033280 +_0806E1DC: .4byte gActiveScriptInfo thumb_func_start sub_0806E1E0 sub_0806E1E0: @ 0x0806E1E0 @@ -476,11 +476,11 @@ sub_0806E250: @ 0x0806E250 movs r0, #1 str r0, [r4, #0x14] _0806E266: - ldr r2, _0806E274 @ =gUnk_02033280 + ldr r2, _0806E274 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 strb r0, [r2, #7] pop {r4, pc} .align 2, 0 -_0806E274: .4byte gUnk_02033280 +_0806E274: .4byte gActiveScriptInfo diff --git a/asm/postman.s b/asm/postman.s index 86ce9e54..98732474 100644 --- a/asm/postman.s +++ b/asm/postman.s @@ -19,12 +19,12 @@ sub_0806076C: @ 0x0806076C ldr r0, [r7, #0x34] cmp r0, #0 bge _08060790 - ldr r1, _0806078C @ =gUnk_02033280 + ldr r1, _0806078C @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] b _080608D8 .align 2, 0 -_0806078C: .4byte gUnk_02033280 +_0806078C: .4byte gActiveScriptInfo _08060790: adds r4, r7, #0 adds r4, #0x69 diff --git a/asm/rem.s b/asm/rem.s index 1389ec91..a4906475 100644 --- a/asm/rem.s +++ b/asm/rem.s @@ -201,7 +201,7 @@ _0806A568: movs r0, #8 movs r1, #2 bl sub_08080964 - ldr r2, _0806A5B4 @ =gUnk_02033280 + ldr r2, _0806A5B4 @ =gActiveScriptInfo ldr r0, [r2] movs r1, #0x80 lsls r1, r1, #1 @@ -227,7 +227,7 @@ _0806A590: _0806A5B0: pop {r4, r5, pc} .align 2, 0 -_0806A5B4: .4byte gUnk_02033280 +_0806A5B4: .4byte gActiveScriptInfo _0806A5B8: .4byte 0x0000011B thumb_func_start nullsub_503 @@ -305,7 +305,7 @@ sub_0806A630: @ 0x0806A630 movs r1, #0x12 bl InitializeAnimation _0806A646: - ldr r0, _0806A670 @ =gUnk_02033280 + ldr r0, _0806A670 @ =gActiveScriptInfo ldr r0, [r0] movs r1, #0x80 lsls r1, r1, #1 @@ -327,7 +327,7 @@ _0806A65A: _0806A66E: pop {r4, pc} .align 2, 0 -_0806A670: .4byte gUnk_02033280 +_0806A670: .4byte gActiveScriptInfo thumb_func_start sub_0806A674 sub_0806A674: @ 0x0806A674 @@ -370,7 +370,7 @@ _0806A6A0: bl InitializeAnimation b _0806A82A _0806A6BE: - ldr r0, _0806A6E0 @ =gUnk_02033280 + ldr r0, _0806A6E0 @ =gActiveScriptInfo ldr r0, [r0] movs r1, #0x80 lsls r1, r1, #1 @@ -387,7 +387,7 @@ _0806A6BE: strb r0, [r1] b _0806A82A .align 2, 0 -_0806A6E0: .4byte gUnk_02033280 +_0806A6E0: .4byte gActiveScriptInfo _0806A6E4: ldr r0, [r4, #0x50] adds r0, #0x58 @@ -581,7 +581,7 @@ sub_0806A830: @ 0x0806A830 movs r1, #2 bl sub_0805E3A0 _0806A84E: - ldr r0, _0806A88C @ =gUnk_02033280 + ldr r0, _0806A88C @ =gActiveScriptInfo ldr r0, [r0] movs r1, #0x80 lsls r1, r1, #2 @@ -611,7 +611,7 @@ _0806A860: _0806A88A: pop {r4, pc} .align 2, 0 -_0806A88C: .4byte gUnk_02033280 +_0806A88C: .4byte gActiveScriptInfo thumb_func_start sub_0806A890 sub_0806A890: @ 0x0806A890 @@ -721,13 +721,13 @@ sub_0806A958: @ 0x0806A958 ldrb r0, [r0, #0xc] cmp r0, #5 beq _0806A966 - ldr r1, _0806A968 @ =gUnk_02033280 + ldr r1, _0806A968 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0806A966: pop {pc} .align 2, 0 -_0806A968: .4byte gUnk_02033280 +_0806A968: .4byte gActiveScriptInfo thumb_func_start sub_0806A96C sub_0806A96C: @ 0x0806A96C @@ -758,14 +758,14 @@ _0806A992: strb r3, [r4] movs r0, #1 str r0, [r1, #0x14] - ldr r2, _0806A9AC @ =gUnk_02033280 + ldr r2, _0806A9AC @ =gActiveScriptInfo ldrb r1, [r2, #7] orrs r0, r1 strb r0, [r2, #7] _0806A9A8: pop {r4, pc} .align 2, 0 -_0806A9AC: .4byte gUnk_02033280 +_0806A9AC: .4byte gActiveScriptInfo thumb_func_start sub_0806A9B0 sub_0806A9B0: @ 0x0806A9B0 @@ -996,7 +996,7 @@ _0806AB5C: cmp r0, #0 bge _0806AB6A _0806AB64: - ldr r1, _0806AB70 @ =gUnk_02033280 + ldr r1, _0806AB70 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0806AB6A: @@ -1004,7 +1004,7 @@ _0806AB6A: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_0806AB70: .4byte gUnk_02033280 +_0806AB70: .4byte gActiveScriptInfo thumb_func_start sub_0806AB74 sub_0806AB74: @ 0x0806AB74 diff --git a/asm/stockwell.s b/asm/stockwell.s index 074ada57..343f4cbf 100644 --- a/asm/stockwell.s +++ b/asm/stockwell.s @@ -635,14 +635,14 @@ sub_080654FC: @ 0x080654FC ands r0, r1 cmp r0, #0 beq _08065518 - ldr r1, _08065514 @ =gUnk_02033280 + ldr r1, _08065514 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] b _08065522 .align 2, 0 -_08065514: .4byte gUnk_02033280 +_08065514: .4byte gActiveScriptInfo _08065518: - ldr r2, _08065524 @ =gUnk_02033280 + ldr r2, _08065524 @ =gActiveScriptInfo ldrb r1, [r2, #7] movs r0, #1 orrs r0, r1 @@ -650,7 +650,7 @@ _08065518: _08065522: pop {pc} .align 2, 0 -_08065524: .4byte gUnk_02033280 +_08065524: .4byte gActiveScriptInfo thumb_func_start sub_08065528 sub_08065528: @ 0x08065528 diff --git a/asm/windTribespeople.s b/asm/windTribespeople.s index 97aab657..0c4770e5 100644 --- a/asm/windTribespeople.s +++ b/asm/windTribespeople.s @@ -152,14 +152,14 @@ _0806CA7E: ldrh r0, [r4, #0x10] cmp r0, #0 beq _0806CA8A - ldr r1, _0806CA90 @ =gUnk_02033280 + ldr r1, _0806CA90 @ =gActiveScriptInfo movs r0, #0 strb r0, [r1, #6] _0806CA8A: pop {r4, pc} .align 2, 0 _0806CA8C: .4byte gUnk_08113B38 -_0806CA90: .4byte gUnk_02033280 +_0806CA90: .4byte gActiveScriptInfo thumb_func_start WindTribespeople_Fusion WindTribespeople_Fusion: @ 0x0806CA94 diff --git a/include/greatFairy.h b/include/greatFairy.h index 31a37c99..ae78ffda 100644 --- a/include/greatFairy.h +++ b/include/greatFairy.h @@ -41,7 +41,7 @@ extern const s16 GreatFairy_RippleOffsets[10]; extern u32 gUnk_02034350; extern RoomVars gRoomVars; extern Screen gScreen; -extern struct_02033280 gUnk_02033280; +extern struct_02033280 gActiveScriptInfo; extern u8 gUnk_0812079C[8]; extern s16 gSineTable[]; extern s8 gUnk_081207AC[]; diff --git a/include/script.h b/include/script.h index 9abc5291..201d0f71 100644 --- a/include/script.h +++ b/include/script.h @@ -3,12 +3,12 @@ #include "global.h" -typedef struct { - u16* unk_00; +typedef struct ScriptExecutionContext { + u16* scriptInstructionPointer; u32 unk_04; u32 unk_08; u8 unk_0C[0x4]; // unused - u16 unk_10; + u16 wait; u16 unk_12; u32 unk_14; u8 unk_18; diff --git a/include/structures.h b/include/structures.h index 59811d6f..42e9d3ab 100644 --- a/include/structures.h +++ b/include/structures.h @@ -121,13 +121,13 @@ extern struct_02024490 gUnk_02024490; typedef struct { u32 unk_00; - u16 unk_04; - u8 unk_06; - u8 unk_07; + u16 commandIndex; + u8 commandSize; + u8 flags; u8 unk_08; } struct_02033280; -extern struct_02033280 gUnk_02033280; +extern struct_02033280 gActiveScriptInfo; typedef struct { u16 unk_00; diff --git a/linker.ld b/linker.ld index c8fbcd84..507f1cc7 100644 --- a/linker.ld +++ b/linker.ld @@ -112,7 +112,7 @@ SECTIONS { . = 0x00032EC0; gUnk_02032EC0 = .; . = 0x00032EDC; gUnk_02032EDC = .; . = 0x00032F14; gUnk_02032F14 = .; - . = 0x00033280; gUnk_02033280 = .; + . = 0x00033280; gActiveScriptInfo = .; . = 0x00033290; gUnk_02033290 = .; . = 0x00033A90; gArea = .; . = 0x00033AB8; gUnk_02033AB8 = .; diff --git a/src/npc/ezloCap.c b/src/npc/ezloCap.c index 13ecd8f9..532be89c 100644 --- a/src/npc/ezloCap.c +++ b/src/npc/ezloCap.c @@ -172,7 +172,7 @@ void sub_0806DAAC(Entity* this, u32* param_2) { u32 uVar1; uVar1 = CheckKinstoneFused(sub_0806DA3C(this)); param_2[5] = uVar1; - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; } // maybe actually execute the kinstone fusion? diff --git a/src/npc/goron.c b/src/npc/goron.c index 0203969c..b0b60222 100644 --- a/src/npc/goron.c +++ b/src/npc/goron.c @@ -99,7 +99,7 @@ u32 sub_08069480(Entity* this) { void sub_0806948C(Entity* this, u32* param_1) { param_1[5] = CheckKinstoneFused((sub_08069480(this) << 24) >> 24); - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; } void sub_080694B0(Entity* this) { diff --git a/src/npc/postman.c b/src/npc/postman.c index 532f129f..3aa6dd86 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -207,7 +207,7 @@ void sub_08060700(Entity* entity, ScriptExecutionContext* context) { u32 x = coords->x + gRoomControls.roomOriginX; u32 y = coords->y + gRoomControls.roomOriginY; sub_0807DEDC(entity, context, x, y); - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; } void sub_0806075C(Entity* this) { diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index dbc50909..26e063a2 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -241,7 +241,7 @@ void sub_08061E90(Entity* this, Entity* arg1) { arg1->spriteIndex = 1; } if (--arg1->spriteIndex != 0) { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } } diff --git a/src/npc/zelda.c b/src/npc/zelda.c index 90a40fc0..fad1be75 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -164,12 +164,12 @@ void sub_08066E80(Entity* ent, u8* param_2) { case 4: UpdateAnimationSingleFrame(ent); if (ent->frames.b.f3) { - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; return; } } ent->field_0x80.HWORD = ent->animIndex; - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } void sub_08066F94(void) { diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index e71ddfc6..b4c07923 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -170,7 +170,7 @@ void GreatFairy_WingsUpdate(Entity* this) { this->action = 2; sub_0805EC60(this); gRoomVars.greatFairyState |= 32; - gUnk_02033280.unk_00 |= 4; + gActiveScriptInfo.unk_00 |= 4; } else { sub_0805EC9C(this, this->nonPlanarMovement, 256, 0); } diff --git a/src/script.c b/src/script.c index 494e0ae5..eed9dae0 100644 --- a/src/script.c +++ b/src/script.c @@ -12,172 +12,187 @@ void sub_0807DAF0(Entity*, ScriptExecutionContext*, u16*); void sub_0807DB88(ScriptExecutionContext*, u16*); void sub_0807DE80(Entity*); void sub_0807DF38(void); -void nullsub_507(Entity*, ScriptExecutionContext*); -void sub_0807E004(Entity*, ScriptExecutionContext*); -void sub_0807E014(Entity*, ScriptExecutionContext*); -void sub_0807E024(Entity*, ScriptExecutionContext*); -void sub_0807E050(Entity*, ScriptExecutionContext*); -void sub_0807E064(Entity*, ScriptExecutionContext*); -void sub_0807E078(Entity*, ScriptExecutionContext*); -void sub_0807E0A0(Entity*, ScriptExecutionContext*); -void sub_0807E0B8(Entity*, ScriptExecutionContext*); -void sub_0807E0CC(Entity*, ScriptExecutionContext*); -void sub_0807E0E0(Entity*, ScriptExecutionContext*); -void sub_0807E10C(Entity*, ScriptExecutionContext*); -void sub_0807E124(Entity*, ScriptExecutionContext*); -void sub_0807E148(Entity*, ScriptExecutionContext*); -void sub_0807E158(Entity*, ScriptExecutionContext*); -void sub_0807E188(Entity*, ScriptExecutionContext*); -void sub_0807E1D8(Entity*, ScriptExecutionContext*); -void sub_0807E200(Entity*, ScriptExecutionContext*); -void sub_0807E220(Entity*, ScriptExecutionContext*); -void sub_0807E240(Entity*, ScriptExecutionContext*); -void sub_0807E260(Entity*, ScriptExecutionContext*); -void sub_0807E280(Entity*, ScriptExecutionContext*); -void sub_0807E2A8(Entity*, ScriptExecutionContext*); -void sub_0807E2E4(Entity*, ScriptExecutionContext*); -void sub_0807E30C(Entity*, ScriptExecutionContext*); -void sub_0807E390(Entity*, ScriptExecutionContext*); -void sub_0807E3BC(Entity*, ScriptExecutionContext*); -void sub_0807E3E8(Entity*, ScriptExecutionContext*); -void sub_0807E40C(Entity*, ScriptExecutionContext*); -void sub_0807E42C(Entity*, ScriptExecutionContext*); -void sub_0807E48C(Entity*, ScriptExecutionContext*); -void sub_0807E4AC(Entity*, ScriptExecutionContext*); -void sub_0807E4CC(Entity*, ScriptExecutionContext*); -void sub_0807E4EC(Entity*, ScriptExecutionContext*); -void sub_0807E514(Entity*, ScriptExecutionContext*); -void sub_0807E538(Entity*, ScriptExecutionContext*); -void sub_0807E564(Entity*, ScriptExecutionContext*); -void sub_0807E584(Entity*, ScriptExecutionContext*); -void sub_0807E5A0(Entity*, ScriptExecutionContext*); -void sub_0807E5CC(Entity*, ScriptExecutionContext*); -void sub_0807E5F8(Entity*, ScriptExecutionContext*); -void sub_0807E610(Entity*, ScriptExecutionContext*); -void sub_0807E628(Entity*, ScriptExecutionContext*); -void sub_0807E634(Entity*, ScriptExecutionContext*); -void sub_0807E644(Entity*, ScriptExecutionContext*); -void sub_0807E650(Entity*, ScriptExecutionContext*); -void sub_0807E65C(Entity*, ScriptExecutionContext*); -void sub_0807E668(Entity*, ScriptExecutionContext*); -void sub_0807E674(Entity*, ScriptExecutionContext*); -void sub_0807E680(Entity*, ScriptExecutionContext*); -void sub_0807E690(Entity*, ScriptExecutionContext*); -void sub_0807E6AC(Entity*, ScriptExecutionContext*); -void sub_0807E6DC(Entity*, ScriptExecutionContext*); -void sub_0807E700(Entity*, ScriptExecutionContext*); -void sub_0807E72C(Entity*, ScriptExecutionContext*); -void sub_0807E75C(Entity*, ScriptExecutionContext*); -void sub_0807E778(Entity*, ScriptExecutionContext*); -void sub_0807E788(Entity*, ScriptExecutionContext*); -void sub_0807E79C(Entity*, ScriptExecutionContext*); -void nullsub_508(Entity*, ScriptExecutionContext*); -void sub_0807E7B0(Entity*, ScriptExecutionContext*); -void sub_0807E7C4(Entity*, ScriptExecutionContext*); -void sub_0807E7D8(Entity*, ScriptExecutionContext*); -void sub_0807E7EC(Entity*, ScriptExecutionContext*); -void sub_0807E800(Entity*, ScriptExecutionContext*); -void sub_0807E80C(Entity*, ScriptExecutionContext*); +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_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_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_0807E30C(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E390(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_0807E48C(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E4AC(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_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_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_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_0807E800(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E80C(Entity* entity, ScriptExecutionContext* context); void sub_0807E818(u32); -void sub_0807E858(Entity*, ScriptExecutionContext*); -void sub_0807E864(Entity*, ScriptExecutionContext*); -void sub_0807E878(Entity*, ScriptExecutionContext*); -void sub_0807E888(Entity*, ScriptExecutionContext*); -void sub_0807E898(Entity*, ScriptExecutionContext*); -void sub_0807E8C4(Entity*, ScriptExecutionContext*); -void sub_0807E8D4(Entity*, ScriptExecutionContext*); -void sub_0807E8E4(Entity*, ScriptExecutionContext*); -void sub_0807E908(Entity*, ScriptExecutionContext*); -void sub_0807E914(Entity*, ScriptExecutionContext*); -void sub_0807E924(Entity*, ScriptExecutionContext*); -void sub_0807E930(Entity*, ScriptExecutionContext*); -void sub_0807E944(Entity*, ScriptExecutionContext*); -void sub_0807E974(Entity*, ScriptExecutionContext*); -void sub_0807E9D4(Entity*, ScriptExecutionContext*); -void sub_0807E9DC(Entity*, ScriptExecutionContext*); -void sub_0807E9E4(Entity*, ScriptExecutionContext*); -void sub_0807E9F0(Entity*, ScriptExecutionContext*); -void sub_0807EA4C(Entity*, ScriptExecutionContext*); -void sub_0807EA88(Entity*, ScriptExecutionContext*); -void sub_0807EA94(Entity*, ScriptExecutionContext*); -void sub_0807EAB4(Entity*, ScriptExecutionContext*); -void sub_0807EAC0(Entity*, ScriptExecutionContext*); -void sub_0807EAD0(Entity*, ScriptExecutionContext*); -void sub_0807EAF0(Entity*, ScriptExecutionContext*); -void sub_0807EB18(Entity*, ScriptExecutionContext*); -void sub_0807EB28(Entity*, ScriptExecutionContext*); -void sub_0807EB38(Entity*, ScriptExecutionContext*); -void sub_0807EB44(Entity*, ScriptExecutionContext*); -void sub_0807EB4C(Entity*, ScriptExecutionContext*); -void sub_0807EB74(Entity*, ScriptExecutionContext*); -void sub_0807EB8C(Entity*, ScriptExecutionContext*); -void sub_0807EBA8(Entity*, ScriptExecutionContext*); -void sub_0807EBB0(Entity*, ScriptExecutionContext*); -void sub_0807EBC0(Entity*, ScriptExecutionContext*); -void sub_0807EBC8(Entity*, ScriptExecutionContext*); -void sub_0807EBD8(Entity*, ScriptExecutionContext*); -void sub_0807EBF4(Entity*, ScriptExecutionContext*); -void sub_0807EC08(Entity*, ScriptExecutionContext*); -void nullsub_509(Entity*, ScriptExecutionContext*); -void sub_0807EC1C(Entity*, ScriptExecutionContext*); +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_0807E8D4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E8E4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E908(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E914(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E924(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E930(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E944(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E974(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E9D4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E9DC(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807E9E4(Entity* entity, ScriptExecutionContext* context); +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_0807EAF0(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807EB18(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 ScriptCommandNop3(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807EC1C(Entity* entity, ScriptExecutionContext* context); void sub_0807EC44(Entity*, ScriptExecutionContext*); -void sub_0807EC64(Entity*, ScriptExecutionContext*); -void sub_0807EC94(Entity*, ScriptExecutionContext*); -void sub_0807ECC4(Entity*, ScriptExecutionContext*); -void sub_0807ECF4(Entity*, ScriptExecutionContext*); -void sub_0807ED24(Entity*, ScriptExecutionContext*); -void sub_0807EDD4(Entity*, ScriptExecutionContext*); -void sub_0807EE04(Entity*, ScriptExecutionContext*); -void sub_0807EE30(Entity*, ScriptExecutionContext*); -void sub_0807EEB4(Entity*, ScriptExecutionContext*); -void sub_0807EEF4(Entity*, ScriptExecutionContext*); -void sub_0807EF3C(Entity*, ScriptExecutionContext*); -void sub_0807EF80(Entity*, ScriptExecutionContext*); -void sub_0807EF90(Entity*, ScriptExecutionContext*); -void sub_0807EFA0(Entity*, ScriptExecutionContext*); -void sub_0807EFAC(Entity*, ScriptExecutionContext*); -void sub_0807EFD4(Entity*, ScriptExecutionContext*); -void sub_0807EFE4(Entity*, ScriptExecutionContext*); -void sub_0807EFF4(Entity*, ScriptExecutionContext*); -void sub_0807F004(Entity*, ScriptExecutionContext*); -void sub_0807F010(Entity*, ScriptExecutionContext*); -void sub_0807F034(Entity*, ScriptExecutionContext*); -void sub_0807F050(Entity*, ScriptExecutionContext*); -void sub_0807F060(Entity*, ScriptExecutionContext*); -void sub_0807F078(Entity*, ScriptExecutionContext*); -void sub_0807F088(Entity*, ScriptExecutionContext*); -void sub_0807F098(Entity*, ScriptExecutionContext*); -void sub_0807F0A4(Entity*, ScriptExecutionContext*); -void sub_0807F0B4(Entity*, ScriptExecutionContext*); -void sub_0807F0C8(Entity*, ScriptExecutionContext*); +void ScriptCommand_0807EC64(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807EC94(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807ECC4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807ECF4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807ED24(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807EDD4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807EE04(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807EE30(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807EEB4(Entity* entity, ScriptExecutionContext* context); +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_0807F034(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807F050(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807F060(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_0807F0B4(Entity* entity, ScriptExecutionContext* context); +void ScriptCommand_0807F0C8(Entity* entity, ScriptExecutionContext* context); extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); extern void sub_0801C4A0(u32); -void (*const gUnk_0811E524[])() = { - nullsub_507, sub_0807E004, sub_0807E014, sub_0807E024, sub_0807E050, sub_0807E064, sub_0807E078, sub_0807E0A0, - sub_0807E0B8, sub_0807E0CC, sub_0807E0E0, sub_0807E10C, sub_0807E124, sub_0807E148, sub_0807E158, sub_0807E188, - sub_0807E1D8, - sub_0807E4AC, // defined out of order - sub_0807E200, sub_0807E220, sub_0807E240, sub_0807E260, sub_0807E280, sub_0807E2A8, sub_0807E2E4, sub_0807E30C, - sub_0807E390, sub_0807E3BC, sub_0807E3E8, sub_0807E40C, sub_0807E42C, sub_0807E48C, sub_0807E4CC, sub_0807E4EC, - sub_0807E514, sub_0807E538, sub_0807E564, sub_0807E584, sub_0807E5A0, sub_0807E5CC, sub_0807E5F8, sub_0807E610, - sub_0807E628, sub_0807E634, sub_0807E644, sub_0807E650, sub_0807E65C, sub_0807E668, sub_0807E674, sub_0807E680, - sub_0807E690, sub_0807E6AC, sub_0807E6DC, sub_0807E700, sub_0807E72C, sub_0807E75C, sub_0807E778, sub_0807E788, - sub_0807E79C, nullsub_508, sub_0807E7B0, sub_0807E7C4, sub_0807E7D8, sub_0807E7EC, sub_0807E800, sub_0807E80C, - sub_0807E858, sub_0807E864, sub_0807E878, sub_0807E888, sub_0807E898, sub_0807E8C4, sub_0807E8D4, sub_0807E8E4, - sub_0807E8E4, // duplicate - sub_0807E8E4, // duplicate - sub_0807E8E4, // duplicate - sub_0807E908, sub_0807E914, sub_0807E924, sub_0807E930, sub_0807E944, sub_0807E974, sub_0807E9D4, sub_0807E9DC, - sub_0807E9E4, sub_0807E9F0, sub_0807EA4C, sub_0807EA88, sub_0807EA94, sub_0807EAB4, sub_0807EAC0, sub_0807EAD0, - sub_0807EAF0, sub_0807EB18, sub_0807EB28, sub_0807EB38, sub_0807EB44, sub_0807EB4C, sub_0807EB74, sub_0807EB8C, - sub_0807EBA8, sub_0807EBB0, sub_0807EBC0, sub_0807EBC8, sub_0807EBD8, sub_0807EBF4, sub_0807EC08, nullsub_509, - sub_0807EC1C, sub_0807EC64, sub_0807EC94, sub_0807ECC4, sub_0807ECF4, sub_0807ED24, sub_0807EDD4, sub_0807EE04, - sub_0807EE30, sub_0807EEB4, sub_0807EEF4, sub_0807EF3C, sub_0807EF80, sub_0807EF90, sub_0807EFA0, sub_0807EFAC, - sub_0807EFD4, sub_0807EFE4, sub_0807EFF4, sub_0807F004, sub_0807F010, sub_0807F034, sub_0807F050, sub_0807F060, - sub_0807F078, sub_0807F088, sub_0807F098, sub_0807F0A4, sub_0807F0B4, sub_0807F0C8 +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 }; extern const u16 gUnk_08016984; @@ -187,10 +202,10 @@ extern ScriptExecutionContext gPlayerScriptExecutionContext; extern ScriptExecutionContext gScriptExecutionContextArray[0x20]; void sub_0807DA70(void) { - MemClear32(&gUnk_02033280, sizeof(gUnk_02033280)); + MemClear32(&gActiveScriptInfo, sizeof(gActiveScriptInfo)); MemClear32(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray)); MemClear32(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); - gUnk_02033280.unk_08 = 8; + gActiveScriptInfo.unk_08 = 8; } ScriptExecutionContext* CreateScriptExecutionContext(void) { @@ -198,7 +213,7 @@ ScriptExecutionContext* CreateScriptExecutionContext(void) { context = gScriptExecutionContextArray; do { - if (context->unk_00 == 0) { + if (context->scriptInstructionPointer == 0) { return context; } context++; @@ -238,7 +253,7 @@ void StartPlayerScript(u16* unk1) { Entity* player; MemClear32(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); - gPlayerScriptExecutionContext.unk_00 = unk1; + gPlayerScriptExecutionContext.scriptInstructionPointer = unk1; player = &gPlayerEntity; *(ScriptExecutionContext**)&player->cutsceneBeh = &gPlayerScriptExecutionContext; gPlayerState.playerAction = 0x1c; @@ -254,14 +269,14 @@ ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) { if (context) { entity->flags |= 2; *(ScriptExecutionContext**)&entity->field_0x3c = context; - context->unk_00 = unk1; + context->scriptInstructionPointer = unk1; } return context; } void sub_0807DB88(ScriptExecutionContext* context, u16* unk1) { MemClear32(context, sizeof(ScriptExecutionContext)); - context->unk_00 = unk1; + context->scriptInstructionPointer = unk1; } void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) { @@ -482,123 +497,125 @@ void sub_0807DF50(void) { } void ExecuteScriptCommandSet(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_00) + if (!unk2->scriptInstructionPointer) return; - if (unk2->unk_10) { - unk2->unk_10--; + if (unk2->wait) { + unk2->wait--; } else { - struct_02033280* tmp2 = &gUnk_02033280; - tmp2->unk_07 = 0; + struct_02033280* tmp2 = &gActiveScriptInfo; + tmp2->flags = 0; do { - u32 cmd = GetNextScriptCommandHalfword(unk2->unk_00); + u32 cmd = GetNextScriptCommandHalfword(unk2->scriptInstructionPointer); u16* tmp; if (cmd == 0xFFFF) return; - tmp2->unk_06 = cmd >> 0xA; - tmp2->unk_04 = cmd & 0x3FF; - tmp = unk2->unk_00; - tmp2->unk_07 &= ~1; - gUnk_0811E524[tmp2->unk_04](unk1, unk2); - unk2->unk_00 += tmp2->unk_06; - if (tmp != unk2->unk_00) { + tmp2->commandSize = cmd >> 0xA; + tmp2->commandIndex = cmd & 0x3FF; + tmp = unk2->scriptInstructionPointer; + tmp2->flags &= ~1; + gScriptCommands[tmp2->commandIndex](unk1, unk2); + unk2->scriptInstructionPointer += tmp2->commandSize; + if (tmp != unk2->scriptInstructionPointer) { unk2->unk_18 = 0; } - } while (tmp2->unk_07 & 3); + } while (tmp2->flags & 3); } } -void nullsub_507(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommandNop(Entity* entity, ScriptExecutionContext* context) { } -void sub_0807E004(Entity* unk1, ScriptExecutionContext* unk2) { - gUnk_02033280.unk_07 |= 2; +void ScriptCommand_0807E004(Entity* entity, ScriptExecutionContext* context) { + gActiveScriptInfo.flags |= 2; } -void sub_0807E014(Entity* unk1, ScriptExecutionContext* unk2) { - gUnk_02033280.unk_07 &= ~2; +void ScriptCommand_0807E014(Entity* entity, ScriptExecutionContext* context) { + gActiveScriptInfo.flags &= ~2; } -void sub_0807E024(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E024(Entity* entity, ScriptExecutionContext* context) { s16 tmp; - unk2->unk_00++; - tmp = GetNextScriptCommandHalfword(unk2->unk_00); - unk2->unk_00 += (tmp / 2); - gUnk_02033280.unk_06 = 0; + context->scriptInstructionPointer++; + tmp = GetNextScriptCommandHalfword(context->scriptInstructionPointer); + context->scriptInstructionPointer += (tmp / 2); + gActiveScriptInfo.commandSize = 0; } -void sub_0807E050(Entity* unk1, ScriptExecutionContext* unk2) { - if (unk2->unk_14) { - sub_0807E024(unk1, unk2); +void ScriptCommand_0807E050(Entity* entity, ScriptExecutionContext* context) { + if (context->unk_14) { + ScriptCommand_0807E024(entity, context); } } -void sub_0807E064(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_14) { - sub_0807E024(unk1, unk2); +void ScriptCommand_0807E064(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_14) { + ScriptCommand_0807E024(entity, context); } } -void sub_0807E078(Entity* unk1, ScriptExecutionContext* unk2) { - if (gUnk_02033280.unk_06 > unk2->unk_04) { - unk2->unk_00 += unk2->unk_04; - sub_0807E024(unk1, unk2); +void ScriptCommand_0807E078(Entity* entity, ScriptExecutionContext* context) { + if (gActiveScriptInfo.commandSize > context->unk_04) { + context->scriptInstructionPointer += context->unk_04; + ScriptCommand_0807E024(entity, context); } } -void sub_0807E0A0(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_00 = (u16*)GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); - gUnk_02033280.unk_06 = 0; +void ScriptCommand_0807E0A0(Entity* entity, ScriptExecutionContext* context) { + context->scriptInstructionPointer = + (u16*)GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); + gActiveScriptInfo.commandSize = 0; } -void sub_0807E0B8(Entity* unk1, ScriptExecutionContext* unk2) { - if (unk2->unk_14) { - sub_0807E0A0(unk1, unk2); +void ScriptCommand_0807E0B8(Entity* entity, ScriptExecutionContext* context) { + if (context->unk_14) { + ScriptCommand_0807E0A0(entity, context); } } -void sub_0807E0CC(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_14) { - sub_0807E0A0(unk1, unk2); +void ScriptCommand_0807E0CC(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_14) { + ScriptCommand_0807E0A0(entity, context); } } -void sub_0807E0E0(Entity* unk1, ScriptExecutionContext* unk2) { - if (gUnk_02033280.unk_06 > (unk2->unk_04 << 1) + 1) { - unk2->unk_00 += unk2->unk_04 << 1; - sub_0807E0A0(unk1, unk2); +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); } } -void sub_0807E10C(Entity* unk1, ScriptExecutionContext* unk2) { - ((void (*)(Entity*, ScriptExecutionContext*))GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00))(unk1, - unk2); +void ScriptCommand_0807E10C(Entity* entity, ScriptExecutionContext* context) { + ((void (*)(Entity*, ScriptExecutionContext*))GetNextScriptCommandWordAfterCommandMetadata( + context->scriptInstructionPointer))(entity, context); } -void sub_0807E124(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E124(Entity* entity, ScriptExecutionContext* context) { void (*tmp)(Entity*, ScriptExecutionContext*) = - (void (*)(Entity*, ScriptExecutionContext*))GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); - unk2->unk_04 = GetNextScriptCommandWord(unk2->unk_00 + 3); - tmp(unk1, unk2); + (void (*)(Entity*, ScriptExecutionContext*))GetNextScriptCommandWordAfterCommandMetadata( + context->scriptInstructionPointer); + context->unk_04 = GetNextScriptCommandWord(context->scriptInstructionPointer + 3); + tmp(entity, context); } -void sub_0807E148(Entity* unk1, ScriptExecutionContext* unk2) { - LoadRoomEntityList(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); +void ScriptCommand_0807E148(Entity* entity, ScriptExecutionContext* context) { + LoadRoomEntityList(GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer)); } -void sub_0807E158(Entity* unk1, ScriptExecutionContext* unk2) { - u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +void ScriptCommand_0807E158(Entity* entity, ScriptExecutionContext* context) { + u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); u32 tmp2 = 0; - u32 tmp3 = gUnk_02033280.unk_00; + u32 tmp3 = gActiveScriptInfo.unk_00; if ((tmp3 & tmp) == tmp) tmp2 = 1; - unk2->unk_14 = tmp2; - gUnk_02033280.unk_00 = tmp3 & ~tmp; - gUnk_02033280.unk_07 |= 1; + context->unk_14 = tmp2; + gActiveScriptInfo.unk_00 = tmp3 & ~tmp; + gActiveScriptInfo.flags |= 1; } -void sub_0807E188(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E188(Entity* entity, ScriptExecutionContext* context) { u32 tmp; - u32 tmp2 = GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00); + u32 tmp2 = GetNextScriptCommandHalfwordAfterCommandMetadata(context->scriptInstructionPointer); switch (tmp2) { case 0x53: tmp = sub_08052734(); @@ -615,297 +632,300 @@ void sub_0807E188(Entity* unk1, ScriptExecutionContext* unk2) { default: tmp = GetInventoryValue(tmp2); } - unk2->unk_14 = tmp; - gUnk_02033280.unk_07 |= 1; + context->unk_14 = tmp; + gActiveScriptInfo.flags |= 1; } -void sub_0807E1D8(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = GetInventoryValue(unk2->unk_00[1]) == 2; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E1D8(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = GetInventoryValue(context->scriptInstructionPointer[1]) == 2; + gActiveScriptInfo.flags |= 1; } -void sub_0807E200(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = CheckLocalFlag(unk2->unk_00[1]); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E200(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = CheckLocalFlag(context->scriptInstructionPointer[1]); + gActiveScriptInfo.flags |= 1; } -void sub_0807E220(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = CheckLocalFlagByOffset(unk2->unk_00[1], unk2->unk_00[2]); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E220(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = + CheckLocalFlagByOffset(context->scriptInstructionPointer[1], context->scriptInstructionPointer[2]); + gActiveScriptInfo.flags |= 1; } -void sub_0807E240(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = CheckGlobalFlag(GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00)); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E240(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = + CheckGlobalFlag(GetNextScriptCommandHalfwordAfterCommandMetadata(context->scriptInstructionPointer)); + gActiveScriptInfo.flags |= 1; } -void sub_0807E260(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = CheckRoomFlag(unk2->unk_00[1]); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E260(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = CheckRoomFlag(context->scriptInstructionPointer[1]); + gActiveScriptInfo.flags |= 1; } -void sub_0807E280(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E280(Entity* entity, ScriptExecutionContext* context) { u32 x, y, width, height; - width = unk2->unk_00[3]; + width = context->scriptInstructionPointer[3]; height = width >> 8; width &= 0xFF; - x = unk2->unk_00[1]; - y = unk2->unk_00[2]; - unk2->unk_14 = CheckPlayerInRegion(x, y, width, height); - gUnk_02033280.unk_07 |= 1; + x = context->scriptInstructionPointer[1]; + y = context->scriptInstructionPointer[2]; + context->unk_14 = CheckPlayerInRegion(x, y, width, height); + gActiveScriptInfo.flags |= 1; } -void sub_0807E2A8(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E2A8(Entity* entity, ScriptExecutionContext* context) { u32 x, y, width, height; - width = unk2->unk_00[1] & 0xFF; - height = unk2->unk_00[1] >> 8; - x = unk1->x.HALF.HI - gRoomControls.roomOriginX; - y = unk1->y.HALF.HI - gRoomControls.roomOriginY; - unk2->unk_14 = CheckPlayerInRegion(x, y, width, height); - gUnk_02033280.unk_07 |= 1; + 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); + gActiveScriptInfo.flags |= 1; } -void sub_0807E2E4(Entity* unk1, ScriptExecutionContext* unk2) { - if (unk1->interactType) { - unk1->interactType = 0; - unk2->unk_14 = 1; +void ScriptCommand_0807E2E4(Entity* entity, ScriptExecutionContext* context) { + if (entity->interactType) { + entity->interactType = 0; + context->unk_14 = 1; } else { - unk2->unk_14 = 0; + context->unk_14 = 0; } - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; } -void sub_0807E30C(Entity* unk1, ScriptExecutionContext* unk2) { - if ((unk2->unk_1A & 0xF) == 0 && (gPlayerState.flags.all & 0x80) == 0 && - sub_080041A0(unk1, &gPlayerEntity, 0x28, 0x28)) { - unk1->animationState = sub_0806F5B0(GetFacingDirection(unk1, &gPlayerEntity)); +void ScriptCommand_0807E30C(Entity* entity, ScriptExecutionContext* context) { + if ((context->unk_1A & 0xF) == 0 && (gPlayerState.flags.all & 0x80) == 0 && + sub_080041A0(entity, &gPlayerEntity, 0x28, 0x28)) { + entity->animationState = sub_0806F5B0(GetFacingDirection(entity, &gPlayerEntity)); } - unk2->unk_1A++; - if (unk1->interactType) { - unk1->interactType = 0; - unk2->unk_14 = 1; - unk1->animationState = sub_0806F5B0(GetFacingDirection(unk1, &gPlayerEntity)); + context->unk_1A++; + if (entity->interactType) { + entity->interactType = 0; + context->unk_14 = 1; + entity->animationState = sub_0806F5B0(GetFacingDirection(entity, &gPlayerEntity)); } else { - unk2->unk_14 = 0; + context->unk_14 = 0; } - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; } -void sub_0807E390(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = (unk2->unk_00[1] <= gSave.stats.rupees); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E390(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = (context->scriptInstructionPointer[1] <= gSave.stats.rupees); + gActiveScriptInfo.flags |= 1; } -void sub_0807E3BC(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = (unk2->unk_00[1] <= gSave.stats.field_0x1a); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E3BC(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = (context->scriptInstructionPointer[1] <= gSave.stats.field_0x1a); + gActiveScriptInfo.flags |= 1; } -void sub_0807E3E8(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = !gUnk_02000040.unk_01; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E3E8(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = !gUnk_02000040.unk_01; + gActiveScriptInfo.flags |= 1; } -void sub_0807E40C(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = CheckKinstoneFused(unk2->unk_00[1]); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E40C(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = CheckKinstoneFused(context->scriptInstructionPointer[1]); + gActiveScriptInfo.flags |= 1; } -void sub_0807E42C(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E42C(Entity* entity, ScriptExecutionContext* context) { u32 tmp, tmp2; s32 tmp3; - tmp = unk2->unk_00[1]; - tmp2 = unk2->unk_00[2]; + tmp = context->scriptInstructionPointer[1]; + tmp2 = context->scriptInstructionPointer[2]; if (!tmp) { tmp = gRoomVars.itemForSaleIndex; tmp2 = gRoomVars.field_0x7; } tmp3 = sub_08053FE0(tmp); - unk2->unk_14 = (tmp3 <= gSave.stats.rupees); - if (unk2->unk_14) { + context->unk_14 = (tmp3 <= gSave.stats.rupees); + if (context->unk_14) { ModRupees(-tmp3); sub_080A7C18(tmp, tmp2, 0); gRoomVars.itemForSaleIndex = 0; gRoomVars.field_0x7 = 0; } - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; } -void sub_0807E48C(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = sub_080544DC(unk2->unk_00[1]); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E48C(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = sub_080544DC(context->scriptInstructionPointer[1]); + gActiveScriptInfo.flags |= 1; } -void sub_0807E4AC(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = !!gRoomVars.itemForSaleIndex; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E4AC(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = !!gRoomVars.itemForSaleIndex; + gActiveScriptInfo.flags |= 1; } -void sub_0807E4CC(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = !!(unk2->unk_04 & unk2->unk_00[1]); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E4CC(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = !!(context->unk_04 & context->scriptInstructionPointer[1]); + gActiveScriptInfo.flags |= 1; } -void sub_0807E4EC(Entity* unk1, ScriptExecutionContext* unk2) { - u32 tmp = unk2->unk_00[1]; - unk2->unk_14 = tmp == (tmp & unk2->unk_04); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E4EC(Entity* entity, ScriptExecutionContext* context) { + u32 tmp = context->scriptInstructionPointer[1]; + context->unk_14 = tmp == (tmp & context->unk_04); + gActiveScriptInfo.flags |= 1; } -void sub_0807E514(Entity* unk1, ScriptExecutionContext* unk2) { - u32 tmp = unk2->unk_00[1]; - unk2->unk_14 = tmp == unk2->unk_04; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E514(Entity* entity, ScriptExecutionContext* context) { + u32 tmp = context->scriptInstructionPointer[1]; + context->unk_14 = tmp == context->unk_04; + gActiveScriptInfo.flags |= 1; } -void sub_0807E538(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = !!(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00) & gPlayerState.flags.all); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E538(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = + !!(GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer) & gPlayerState.flags.all); + gActiveScriptInfo.flags |= 1; } -void sub_0807E564(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = (gPlayerState.flags.all >> 7) & 1; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E564(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = (gPlayerState.flags.all >> 7) & 1; + gActiveScriptInfo.flags |= 1; } -void sub_0807E584(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = unk1->height.WORD != 0; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E584(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = entity->height.WORD != 0; + gActiveScriptInfo.flags |= 1; } -void sub_0807E5A0(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = unk2->unk_00[1] == gPlayerEntity.action; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E5A0(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = context->scriptInstructionPointer[1] == gPlayerEntity.action; + gActiveScriptInfo.flags |= 1; } -void sub_0807E5CC(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = unk2->unk_00[1] == gPlayerEntity.animationState; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E5CC(Entity* entity, ScriptExecutionContext* context) { + context->unk_14 = context->scriptInstructionPointer[1] == gPlayerEntity.animationState; + gActiveScriptInfo.flags |= 1; } -void sub_0807E5F8(Entity* unk1, ScriptExecutionContext* unk2) { - gUnk_02033280.unk_00 |= GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +void ScriptCommand_0807E5F8(Entity* entity, ScriptExecutionContext* context) { + gActiveScriptInfo.unk_00 |= GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); } -void sub_0807E610(Entity* unk1, ScriptExecutionContext* unk2) { - gUnk_02033280.unk_00 &= ~GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +void ScriptCommand_0807E610(Entity* entity, ScriptExecutionContext* context) { + gActiveScriptInfo.unk_00 &= ~GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); } -void sub_0807E628(Entity* unk1, ScriptExecutionContext* unk2) { - SetLocalFlag(unk2->unk_00[1]); +void ScriptCommand_0807E628(Entity* entity, ScriptExecutionContext* context) { + SetLocalFlag(context->scriptInstructionPointer[1]); } -void sub_0807E634(Entity* unk1, ScriptExecutionContext* unk2) { - SetLocalFlagByOffset(unk2->unk_00[1], unk2->unk_00[2]); +void ScriptCommand_0807E634(Entity* entity, ScriptExecutionContext* context) { + SetLocalFlagByOffset(context->scriptInstructionPointer[1], context->scriptInstructionPointer[2]); } -void sub_0807E644(Entity* unk1, ScriptExecutionContext* unk2) { - ClearLocalFlag(unk2->unk_00[1]); +void ScriptCommand_0807E644(Entity* entity, ScriptExecutionContext* context) { + ClearLocalFlag(context->scriptInstructionPointer[1]); } -void sub_0807E650(Entity* unk1, ScriptExecutionContext* unk2) { - SetGlobalFlag(unk2->unk_00[1]); +void ScriptCommand_0807E650(Entity* entity, ScriptExecutionContext* context) { + SetGlobalFlag(context->scriptInstructionPointer[1]); } -void sub_0807E65C(Entity* unk1, ScriptExecutionContext* unk2) { - ClearGlobalFlag(unk2->unk_00[1]); +void ScriptCommand_0807E65C(Entity* entity, ScriptExecutionContext* context) { + ClearGlobalFlag(context->scriptInstructionPointer[1]); } -void sub_0807E668(Entity* unk1, ScriptExecutionContext* unk2) { - SetRoomFlag(unk2->unk_00[1]); +void ScriptCommand_0807E668(Entity* entity, ScriptExecutionContext* context) { + SetRoomFlag(context->scriptInstructionPointer[1]); } -void sub_0807E674(Entity* unk1, ScriptExecutionContext* unk2) { - ClearRoomFlag(unk2->unk_00[1]); +void ScriptCommand_0807E674(Entity* entity, ScriptExecutionContext* context) { + ClearRoomFlag(context->scriptInstructionPointer[1]); } -void sub_0807E680(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_10 = GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00); +void ScriptCommand_0807E680(Entity* entity, ScriptExecutionContext* context) { + context->wait = GetNextScriptCommandHalfwordAfterCommandMetadata(context->scriptInstructionPointer); } -void sub_0807E690(Entity* unk1, ScriptExecutionContext* unk2) { - u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); - if ((gUnk_02033280.unk_00 & tmp) != tmp) { - gUnk_02033280.unk_06 = 0; +void ScriptCommand_0807E690(Entity* entity, ScriptExecutionContext* context) { + u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); + if ((gActiveScriptInfo.unk_00 & tmp) != tmp) { + gActiveScriptInfo.commandSize = 0; } } -void sub_0807E6AC(Entity* unk1, ScriptExecutionContext* unk2) { - u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); - if ((gUnk_02033280.unk_00 & tmp) != tmp) { - gUnk_02033280.unk_06 = 0; +void ScriptCommand_0807E6AC(Entity* entity, ScriptExecutionContext* context) { + u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); + if ((gActiveScriptInfo.unk_00 & tmp) != tmp) { + gActiveScriptInfo.commandSize = 0; } else { - gUnk_02033280.unk_00 &= ~tmp; - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.unk_00 &= ~tmp; + gActiveScriptInfo.flags |= 1; } } -void sub_0807E6DC(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E6DC(Entity* entity, ScriptExecutionContext* context) { if (gPlayerEntity.action == 8) { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } else { - unk2->unk_10 = 0x2D; + context->wait = 0x2D; } } -void sub_0807E700(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E700(Entity* entity, ScriptExecutionContext* context) { if (gPlayerEntity.action != 0x17) { - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; } else { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } } -void sub_0807E72C(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E72C(Entity* entity, ScriptExecutionContext* context) { if (gRoomControls.unk6 & 4) { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } else { - gUnk_02033280.unk_07 |= 1; + gActiveScriptInfo.flags |= 1; } } -void sub_0807E75C(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E75C(Entity* entity, ScriptExecutionContext* context) { if (gFadeControl.active) { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } } -void sub_0807E778(Entity* unk1, ScriptExecutionContext* unk2) { - gUnk_02033280.unk_08 = unk2->unk_00[1]; +void ScriptCommand_0807E778(Entity* entity, ScriptExecutionContext* context) { + gActiveScriptInfo.unk_08 = context->scriptInstructionPointer[1]; } -void sub_0807E788(Entity* unk1, ScriptExecutionContext* unk2) { - gFadeControl.field_0x4 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +void ScriptCommand_0807E788(Entity* entity, ScriptExecutionContext* context) { + gFadeControl.field_0x4 = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); } -void sub_0807E79C(Entity* unk1, ScriptExecutionContext* unk2) { - sub_080500F4(gUnk_02033280.unk_08); +void ScriptCommand_0807E79C(Entity* entity, ScriptExecutionContext* context) { + sub_080500F4(gActiveScriptInfo.unk_08); } -void nullsub_508(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommandNop2(Entity* entity, ScriptExecutionContext* context) { } -void sub_0807E7B0(Entity* unk1, ScriptExecutionContext* unk2) { - DoFade(4, gUnk_02033280.unk_08); +void ScriptCommand_0807E7B0(Entity* entity, ScriptExecutionContext* context) { + DoFade(4, gActiveScriptInfo.unk_08); } -void sub_0807E7C4(Entity* unk1, ScriptExecutionContext* unk2) { - DoFade(5, gUnk_02033280.unk_08); +void ScriptCommand_0807E7C4(Entity* entity, ScriptExecutionContext* context) { + DoFade(5, gActiveScriptInfo.unk_08); } -void sub_0807E7D8(Entity* unk1, ScriptExecutionContext* unk2) { - DoFade(6, gUnk_02033280.unk_08); +void ScriptCommand_0807E7D8(Entity* entity, ScriptExecutionContext* context) { + DoFade(6, gActiveScriptInfo.unk_08); } -void sub_0807E7EC(Entity* unk1, ScriptExecutionContext* unk2) { - DoFade(7, gUnk_02033280.unk_08); +void ScriptCommand_0807E7EC(Entity* entity, ScriptExecutionContext* context) { + DoFade(7, gActiveScriptInfo.unk_08); } -void sub_0807E800(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E800(Entity* entity, ScriptExecutionContext* context) { sub_0807E818(0x10); } -void sub_0807E80C(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E80C(Entity* entity, ScriptExecutionContext* context) { sub_0807E818(0x11); } @@ -919,112 +939,112 @@ void sub_0807E818(u32 unk1) { tmp2 = 0x78; tmp3 = 0x50; } - sub_08050110(tmp2, tmp3, unk1, gUnk_02033280.unk_08); + sub_08050110(tmp2, tmp3, unk1, gActiveScriptInfo.unk_08); } -void sub_0807E858(Entity* unk1, ScriptExecutionContext* unk2) { - sub_08050038(unk2->unk_00[1]); +void ScriptCommand_0807E858(Entity* entity, ScriptExecutionContext* context) { + sub_08050038(context->scriptInstructionPointer[1]); } -void sub_0807E864(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E864(Entity* entity, ScriptExecutionContext* context) { gPlayerState.field_0x8b = 3; sub_08078B48(); } -void sub_0807E878(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E878(Entity* entity, ScriptExecutionContext* context) { gPlayerState.field_0x8b = 1; } -void sub_0807E888(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E888(Entity* entity, ScriptExecutionContext* context) { gPlayerState.field_0x8b = 3; } -void sub_0807E898(Entity* unk1, ScriptExecutionContext* unk2) { - u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +void ScriptCommand_0807E898(Entity* entity, ScriptExecutionContext* context) { + u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); gPlayerState.playerAction = tmp; gPlayerState.field_0x38 = tmp >> 8; gPlayerState.field_0x39 = tmp >> 0x10; gPlayerState.field_0x3a = tmp >> 0x18; } -void sub_0807E8C4(Entity* unk1, ScriptExecutionContext* unk2) { - StartPlayerScript((u16*)GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); +void ScriptCommand_0807E8C4(Entity* entity, ScriptExecutionContext* context) { + StartPlayerScript((u16*)GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer)); } -void sub_0807E8D4(Entity* unk1, ScriptExecutionContext* unk2) { - gPlayerState.field_0x8 = unk2->unk_00[1]; +void ScriptCommand_0807E8D4(Entity* entity, ScriptExecutionContext* context) { + gPlayerState.field_0x8 = context->scriptInstructionPointer[1]; } -void sub_0807E8E4(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E8E4(Entity* entity, ScriptExecutionContext* context) { u32 tmp = (gUnk_08016984 & 0x3FF); u32 tmp2; - gPlayerEntity.animationState = tmp2 = (unk2->unk_00[0] - tmp) << 1; + gPlayerEntity.animationState = tmp2 = (context->scriptInstructionPointer[0] - tmp) << 1; } -void sub_0807E908(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->action = unk2->unk_00[1]; - unk1->previousActionFlag = 0; +void ScriptCommand_0807E908(Entity* entity, ScriptExecutionContext* context) { + entity->action = context->scriptInstructionPointer[1]; + entity->previousActionFlag = 0; } -void sub_0807E914(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_04 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +void ScriptCommand_0807E914(Entity* entity, ScriptExecutionContext* context) { + context->unk_04 = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); } -void sub_0807E924(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_04 = unk1->frames.all; - unk1->frames.all = 0; +void ScriptCommand_0807E924(Entity* entity, ScriptExecutionContext* context) { + context->unk_04 = entity->frames.all; + entity->frames.all = 0; } -void sub_0807E930(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->field_0x80.HWORD = unk2->unk_00[1]; - InitAnimationForceUpdate(unk1, unk2->unk_00[1]); +void ScriptCommand_0807E930(Entity* entity, ScriptExecutionContext* context) { + entity->field_0x80.HWORD = context->scriptInstructionPointer[1]; + InitAnimationForceUpdate(entity, context->scriptInstructionPointer[1]); } -void sub_0807E944(Entity* unk1, ScriptExecutionContext* unk2) { - if (unk1->interactType) { - unk1->interactType = 0; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807E944(Entity* entity, ScriptExecutionContext* context) { + if (entity->interactType) { + entity->interactType = 0; + gActiveScriptInfo.flags |= 1; } else { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } } -void sub_0807E974(Entity* unk1, ScriptExecutionContext* unk2) { - switch (unk2->unk_18) { +void ScriptCommand_0807E974(Entity* entity, ScriptExecutionContext* context) { + switch (context->unk_18) { default: - if (!--unk2->unk_19) + if (!--context->unk_19) return; break; case 0: - if (!unk1->interactType) + if (!entity->interactType) break; - unk1->interactType = 0; - unk2->unk_18++; - TextboxNoOverlapFollow(unk2->unk_00[1]); + entity->interactType = 0; + context->unk_18++; + TextboxNoOverlapFollow(context->scriptInstructionPointer[1]); break; case 1: if (gTextBox.doTextBox & 0x7F) break; - unk2->unk_18 = 2; - unk2->unk_19 = 0xF; + context->unk_18 = 2; + context->unk_19 = 0xF; break; } - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } -void sub_0807E9D4(Entity* unk1, ScriptExecutionContext* unk2) { - sub_08078778(unk1); +void ScriptCommand_0807E9D4(Entity* entity, ScriptExecutionContext* context) { + sub_08078778(entity); } -void sub_0807E9DC(Entity* unk1, ScriptExecutionContext* unk2) { - sub_080788E0(unk1); +void ScriptCommand_0807E9DC(Entity* entity, ScriptExecutionContext* context) { + sub_080788E0(entity); } -void sub_0807E9E4(Entity* unk1, ScriptExecutionContext* unk2) { - sub_08078784(unk1, unk2->unk_00[1]); +void ScriptCommand_0807E9E4(Entity* entity, ScriptExecutionContext* context) { + sub_08078784(entity, context->scriptInstructionPointer[1]); } -void sub_0807E9F0(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807E9F0(Entity* entity, ScriptExecutionContext* context) { u32 tmp; sub_0801E00C(); tmp = 1; @@ -1032,10 +1052,10 @@ void sub_0807E9F0(Entity* unk1, ScriptExecutionContext* unk2) { case 2: gPlayerState.field_0x8b = 3; gUnk_02034490[0] = tmp; - unk2->unk_14 = tmp; + context->unk_14 = tmp; break; case 1: - unk2->unk_14 = 0; + context->unk_14 = 0; break; default: goto lbl; @@ -1045,351 +1065,356 @@ void sub_0807E9F0(Entity* unk1, ScriptExecutionContext* unk2) { gPlayerState.field_0x8b = 1; } else { lbl: - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } } -void sub_0807EA4C(Entity* unk1, ScriptExecutionContext* unk2) { - if (unk1->interactType == 2) { - sub_0801DFB4(unk1, 0, 0, 0); - unk1->interactType = 0; - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807EA4C(Entity* entity, ScriptExecutionContext* context) { + if (entity->interactType == 2) { + sub_0801DFB4(entity, 0, 0, 0); + entity->interactType = 0; + gActiveScriptInfo.flags |= 1; } else { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } } -void sub_0807EA88(Entity* unk1, ScriptExecutionContext* unk2) { - sub_08078790(unk1, unk2->unk_00[1]); +void ScriptCommand_0807EA88(Entity* entity, ScriptExecutionContext* context) { + sub_08078790(entity, context->scriptInstructionPointer[1]); } -void sub_0807EA94(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807EA94(Entity* entity, ScriptExecutionContext* context) { if (gTextBox.doTextBox & 0x7F) { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } } -void sub_0807EAB4(Entity* unk1, ScriptExecutionContext* unk2) { - TextboxNoOverlapFollow(unk2->unk_00[1]); +void ScriptCommand_0807EAB4(Entity* entity, ScriptExecutionContext* context) { + TextboxNoOverlapFollow(context->scriptInstructionPointer[1]); } -void sub_0807EAC0(Entity* unk1, ScriptExecutionContext* unk2) { - TextboxNoOverlap(unk2->unk_00[1], unk1); +void ScriptCommand_0807EAC0(Entity* entity, ScriptExecutionContext* context) { + TextboxNoOverlap(context->scriptInstructionPointer[1], entity); } -void sub_0807EAD0(Entity* unk1, ScriptExecutionContext* unk2) { - TextboxNoOverlapFollow(unk2->unk_00[1]); +void ScriptCommand_0807EAD0(Entity* entity, ScriptExecutionContext* context) { + TextboxNoOverlapFollow(context->scriptInstructionPointer[1]); gTextBox.textWindowPosX = 1; - gTextBox.textWindowPosY = unk2->unk_00[2]; + gTextBox.textWindowPosY = context->scriptInstructionPointer[2]; } -void sub_0807EAF0(Entity* unk1, ScriptExecutionContext* unk2) { - if (gUnk_02033280.unk_06 > unk2->unk_04) { - u16* tmp = unk2->unk_00 + unk2->unk_04; +void ScriptCommand_0807EAF0(Entity* entity, ScriptExecutionContext* context) { + if (gActiveScriptInfo.commandSize > context->unk_04) { + u16* tmp = context->scriptInstructionPointer + context->unk_04; TextboxNoOverlapFollow(tmp[1]); } else { TextboxNoOverlapFollow(0); } } -void sub_0807EB18(Entity* unk1, ScriptExecutionContext* unk2) { - TextboxNoOverlap(unk2->unk_04, unk1); +void ScriptCommand_0807EB18(Entity* entity, ScriptExecutionContext* context) { + TextboxNoOverlap(context->unk_04, entity); } -void sub_0807EB28(Entity* unk1, ScriptExecutionContext* unk2) { - sub_08078AA8(unk2->unk_00[1], 0); +void ScriptCommand_0807EB28(Entity* entity, ScriptExecutionContext* context) { + sub_08078AA8(context->scriptInstructionPointer[1], 0); } -void sub_0807EB38(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_04 = gUnk_02000040.unk_01; +void ScriptCommand_0807EB38(Entity* entity, ScriptExecutionContext* context) { + context->unk_04 = gUnk_02000040.unk_01; } -void sub_0807EB44(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->animationState = unk2->unk_00[1]; +void ScriptCommand_0807EB44(Entity* entity, ScriptExecutionContext* context) { + entity->animationState = context->scriptInstructionPointer[1]; } -void sub_0807EB4C(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->animationState = sub_0806F5B0( - sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY)); +void ScriptCommand_0807EB4C(Entity* entity, ScriptExecutionContext* context) { + entity->animationState = + sub_0806F5B0(sub_080045B4(entity, context->scriptInstructionPointer[1] + gRoomControls.roomOriginX, + context->scriptInstructionPointer[2] + gRoomControls.roomOriginY)); } -void sub_0807EB74(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->animationState = sub_0806F5B0(GetFacingDirection(unk1, &gPlayerEntity)); +void ScriptCommand_0807EB74(Entity* entity, ScriptExecutionContext* context) { + entity->animationState = sub_0806F5B0(GetFacingDirection(entity, &gPlayerEntity)); } -void sub_0807EB8C(Entity* unk1, ScriptExecutionContext* unk2) { - gPlayerEntity.animationState = sub_0806F5B0(GetFacingDirection(&gPlayerEntity, unk1)) & ~1; +void ScriptCommand_0807EB8C(Entity* entity, ScriptExecutionContext* context) { + gPlayerEntity.animationState = sub_0806F5B0(GetFacingDirection(&gPlayerEntity, entity)) & ~1; } -void sub_0807EBA8(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->direction = unk2->unk_00[1]; +void ScriptCommand_0807EBA8(Entity* entity, ScriptExecutionContext* context) { + entity->direction = context->scriptInstructionPointer[1]; } -void sub_0807EBB0(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->direction = unk2->unk_00[1]; - unk1->animationState = unk1->direction / 4; +void ScriptCommand_0807EBB0(Entity* entity, ScriptExecutionContext* context) { + entity->direction = context->scriptInstructionPointer[1]; + entity->animationState = entity->direction / 4; } -void sub_0807EBC0(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->nonPlanarMovement = unk2->unk_00[1]; +void ScriptCommand_0807EBC0(Entity* entity, ScriptExecutionContext* context) { + entity->nonPlanarMovement = context->scriptInstructionPointer[1]; } -void sub_0807EBC8(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->field_0x20 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +void ScriptCommand_0807EBC8(Entity* entity, ScriptExecutionContext* context) { + entity->field_0x20 = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer); } -void sub_0807EBD8(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->x.HALF.HI = gRoomControls.roomOriginX + unk2->unk_00[1]; - unk1->y.HALF.HI = gRoomControls.roomOriginY + unk2->unk_00[2]; +void ScriptCommand_0807EBD8(Entity* entity, ScriptExecutionContext* context) { + entity->x.HALF.HI = gRoomControls.roomOriginX + context->scriptInstructionPointer[1]; + entity->y.HALF.HI = gRoomControls.roomOriginY + context->scriptInstructionPointer[2]; } -void sub_0807EBF4(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->x.HALF.HI += unk2->unk_00[1]; - unk1->y.HALF.HI += unk2->unk_00[2]; +void ScriptCommand_0807EBF4(Entity* entity, ScriptExecutionContext* context) { + entity->x.HALF.HI += context->scriptInstructionPointer[1]; + entity->y.HALF.HI += context->scriptInstructionPointer[2]; } -void sub_0807EC08(Entity* unk1, ScriptExecutionContext* unk2) { - CopyPosition(&gPlayerEntity, unk1); +void ScriptCommand_0807EC08(Entity* entity, ScriptExecutionContext* context) { + CopyPosition(&gPlayerEntity, entity); } -void nullsub_509(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommandNop3(Entity* entity, ScriptExecutionContext* context) { } -void sub_0807EC1C(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - unk2->unk_12 = unk2->unk_00[1]; - unk2->unk_08 |= 2; +void ScriptCommand_0807EC1C(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + context->unk_12 = context->scriptInstructionPointer[1]; + context->unk_08 |= 2; } - sub_0807EC44(unk1, unk2); + sub_0807EC44(entity, context); } void sub_0807EC44(Entity* unk1, ScriptExecutionContext* unk2) { sub_0806F69C(unk1); if (--unk2->unk_12) { - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } } -void sub_0807EC64(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - unk2->unk_12 = unk2->unk_00[1]; - unk1->animationState = 0; - unk1->direction = 0; - unk2->unk_08 |= 2; +void ScriptCommand_0807EC64(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + context->unk_12 = context->scriptInstructionPointer[1]; + entity->animationState = 0; + entity->direction = 0; + context->unk_08 |= 2; } - sub_0807EC44(unk1, unk2); + sub_0807EC44(entity, context); } -void sub_0807EC94(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - unk2->unk_12 = unk2->unk_00[1]; - unk1->animationState = 2; - unk1->direction = 8; - unk2->unk_08 |= 2; +void ScriptCommand_0807EC94(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + context->unk_12 = context->scriptInstructionPointer[1]; + entity->animationState = 2; + entity->direction = 8; + context->unk_08 |= 2; } - sub_0807EC44(unk1, unk2); + sub_0807EC44(entity, context); } -void sub_0807ECC4(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - unk2->unk_12 = unk2->unk_00[1]; - unk1->animationState = 4; - unk1->direction = 0x10; - unk2->unk_08 |= 2; +void ScriptCommand_0807ECC4(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + context->unk_12 = context->scriptInstructionPointer[1]; + entity->animationState = 4; + entity->direction = 0x10; + context->unk_08 |= 2; } - sub_0807EC44(unk1, unk2); + sub_0807EC44(entity, context); } -void sub_0807ECF4(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - unk2->unk_12 = unk2->unk_00[1]; - unk1->animationState = 6; - unk1->direction = 0x18; - unk2->unk_08 |= 2; +void ScriptCommand_0807ECF4(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + context->unk_12 = context->scriptInstructionPointer[1]; + entity->animationState = 6; + entity->direction = 0x18; + context->unk_08 |= 2; } - sub_0807EC44(unk1, unk2); + sub_0807EC44(entity, context); } -void sub_0807ED24(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { +void ScriptCommand_0807ED24(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { s32 tmp, tmp2, tmp3; - unk2->unk_18 = 1; - unk2->unk_12 = unk2->unk_00[3]; - tmp = unk2->unk_00[1]; - tmp2 = unk1->x.HALF.HI - gRoomControls.roomOriginX; - unk2->unk_1C.WORD = ((tmp - tmp2) << 0x10) / unk2->unk_12; - tmp = unk2->unk_00[2]; - tmp3 = unk1->y.HALF.HI - gRoomControls.roomOriginY; - unk2->unk_20.WORD = ((tmp - tmp3) << 0x10) / unk2->unk_12; - unk1->animationState = sub_0806F5B0(sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, - unk2->unk_00[2] + gRoomControls.roomOriginY)); - unk2->unk_08 |= 2; + context->unk_18 = 1; + context->unk_12 = context->scriptInstructionPointer[3]; + tmp = context->scriptInstructionPointer[1]; + tmp2 = entity->x.HALF.HI - gRoomControls.roomOriginX; + context->unk_1C.WORD = ((tmp - tmp2) << 0x10) / context->unk_12; + tmp = context->scriptInstructionPointer[2]; + tmp3 = entity->y.HALF.HI - gRoomControls.roomOriginY; + context->unk_20.WORD = ((tmp - tmp3) << 0x10) / context->unk_12; + entity->animationState = + sub_0806F5B0(sub_080045B4(entity, context->scriptInstructionPointer[1] + gRoomControls.roomOriginX, + context->scriptInstructionPointer[2] + gRoomControls.roomOriginY)); + context->unk_08 |= 2; } else { - if (!--unk2->unk_12) { - unk1->x.HALF.HI = unk2->unk_00[1] + gRoomControls.roomOriginX; - unk1->y.HALF.HI = unk2->unk_00[2] + gRoomControls.roomOriginY; + if (!--context->unk_12) { + entity->x.HALF.HI = context->scriptInstructionPointer[1] + gRoomControls.roomOriginX; + entity->y.HALF.HI = context->scriptInstructionPointer[2] + gRoomControls.roomOriginY; return; } - unk1->x.WORD += unk2->unk_1C.WORD; - unk1->y.WORD += unk2->unk_20.WORD; + entity->x.WORD += context->unk_1C.WORD; + entity->y.WORD += context->unk_20.WORD; } - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } -void sub_0807EDD4(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - sub_0807EE04(unk1, unk2); +void ScriptCommand_0807EDD4(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + ScriptCommand_0807EE04(entity, context); } - sub_0807EE30(unk1, unk2); - if (!unk2->unk_14) { - gUnk_02033280.unk_06 = 0; + ScriptCommand_0807EE30(entity, context); + if (!context->unk_14) { + gActiveScriptInfo.commandSize = 0; } } -void sub_0807EE04(Entity* unk1, ScriptExecutionContext* unk2) { - sub_0807DEDC(unk1, unk2, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY); - gUnk_02033280.unk_07 |= 1; +void ScriptCommand_0807EE04(Entity* entity, ScriptExecutionContext* context) { + sub_0807DEDC(entity, context, context->scriptInstructionPointer[1] + gRoomControls.roomOriginX, + context->scriptInstructionPointer[2] + gRoomControls.roomOriginY); + gActiveScriptInfo.flags |= 1; } -void sub_0807EE30(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807EE30(Entity* entity, ScriptExecutionContext* context) { s32 tmp, tmp2; - if (!--unk2->unk_19) { - unk2->unk_19 = 8; - unk1->direction = sub_080045DA(unk2->unk_1C.HALF.HI - unk1->x.HALF.HI, unk2->unk_20.HALF.HI - unk1->y.HALF.HI); + if (!--context->unk_19) { + context->unk_19 = 8; + entity->direction = + sub_080045DA(context->unk_1C.HALF.HI - entity->x.HALF.HI, context->unk_20.HALF.HI - entity->y.HALF.HI); } - tmp = unk1->x.HALF.HI - unk2->unk_1C.HALF.HI; - tmp2 = unk1->y.HALF.HI - unk2->unk_20.HALF.HI; - sub_0806F62C(unk1, unk1->nonPlanarMovement, unk1->direction); - tmp *= unk1->x.HALF.HI - unk2->unk_1C.HALF.HI; - tmp2 *= unk1->y.HALF.HI - unk2->unk_20.HALF.HI; + tmp = entity->x.HALF.HI - context->unk_1C.HALF.HI; + tmp2 = entity->y.HALF.HI - context->unk_20.HALF.HI; + sub_0806F62C(entity, entity->nonPlanarMovement, entity->direction); + tmp *= entity->x.HALF.HI - context->unk_1C.HALF.HI; + tmp2 *= entity->y.HALF.HI - context->unk_20.HALF.HI; if (tmp <= 0 && tmp2 <= 0) { - unk1->x.HALF.HI = unk2->unk_1C.HALF.HI; - unk1->y.HALF.HI = unk2->unk_20.HALF.HI; - unk2->unk_14 = 1; + entity->x.HALF.HI = context->unk_1C.HALF.HI; + entity->y.HALF.HI = context->unk_20.HALF.HI; + context->unk_14 = 1; } else { - unk2->unk_14 = 0; + context->unk_14 = 0; } } -void sub_0807EEB4(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - sub_0807DEDC(unk1, unk2, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI); +void ScriptCommand_0807EEB4(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + sub_0807DEDC(entity, context, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI); } - sub_0807EE30(unk1, unk2); - if (!unk2->unk_14) { - gUnk_02033280.unk_06 = 0; + ScriptCommand_0807EE30(entity, context); + if (!context->unk_14) { + gActiveScriptInfo.commandSize = 0; } } -void sub_0807EEF4(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - sub_0807DEDC(unk1, unk2, unk1->x.HALF.HI + ((s16)unk2->unk_00[1]), unk1->y.HALF.HI + ((s16)unk2->unk_00[2])); +void ScriptCommand_0807EEF4(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + sub_0807DEDC(entity, context, entity->x.HALF.HI + ((s16)context->scriptInstructionPointer[1]), + entity->y.HALF.HI + ((s16)context->scriptInstructionPointer[2])); } - sub_0807EE30(unk1, unk2); - if (!unk2->unk_14) { - gUnk_02033280.unk_06 = 0; + ScriptCommand_0807EE30(entity, context); + if (!context->unk_14) { + gActiveScriptInfo.commandSize = 0; } } -void sub_0807EF3C(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_18) { - unk2->unk_18 = 1; - unk1->field_0x20 = ((s16)unk2->unk_00[1]) << 8; - unk2->unk_1C.HALF.LO = unk2->unk_00[2] << 8; - sub_08003FC4(unk1, (u16)unk2->unk_1C.HALF.LO); +void ScriptCommand_0807EF3C(Entity* entity, ScriptExecutionContext* context) { + if (!context->unk_18) { + context->unk_18 = 1; + entity->field_0x20 = ((s16)context->scriptInstructionPointer[1]) << 8; + context->unk_1C.HALF.LO = context->scriptInstructionPointer[2] << 8; + sub_08003FC4(entity, (u16)context->unk_1C.HALF.LO); } else { - if (!sub_08003FC4(unk1, (u16)unk2->unk_1C.HALF.LO)) + if (!sub_08003FC4(entity, (u16)context->unk_1C.HALF.LO)) return; } - gUnk_02033280.unk_06 = 0; + gActiveScriptInfo.commandSize = 0; } -void sub_0807EF80(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_08 |= 1 << unk2->unk_00[1]; +void ScriptCommand_0807EF80(Entity* entity, ScriptExecutionContext* context) { + context->unk_08 |= 1 << context->scriptInstructionPointer[1]; } -void sub_0807EF90(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_08 |= 1 << unk2->unk_00[1]; +void ScriptCommand_0807EF90(Entity* entity, ScriptExecutionContext* context) { + context->unk_08 |= 1 << context->scriptInstructionPointer[1]; } -void sub_0807EFA0(Entity* unk1, ScriptExecutionContext* unk2) { - SoundReq(unk2->unk_00[1]); +void ScriptCommand_0807EFA0(Entity* entity, ScriptExecutionContext* context) { + SoundReq(context->scriptInstructionPointer[1]); } -void sub_0807EFAC(Entity* unk1, ScriptExecutionContext* unk2) { - if (unk2->unk_00[1] >= 100) { +void ScriptCommand_0807EFAC(Entity* entity, ScriptExecutionContext* context) { + if (context->scriptInstructionPointer[1] >= 100) { SoundReq(gArea.musicIndex); } else { - SoundReq(unk2->unk_00[1]); + SoundReq(context->scriptInstructionPointer[1]); } } -void sub_0807EFD4(Entity* unk1, ScriptExecutionContext* unk2) { - SoundReq(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); +void ScriptCommand_0807EFD4(Entity* entity, ScriptExecutionContext* context) { + SoundReq(GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer)); } -void sub_0807EFE4(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807EFE4(Entity* entity, ScriptExecutionContext* context) { SoundReq(0x80100000); } -void sub_0807EFF4(Entity* unk1, ScriptExecutionContext* unk2) { - ModRupees((s16)unk2->unk_00[1]); +void ScriptCommand_0807EFF4(Entity* entity, ScriptExecutionContext* context) { + ModRupees((s16)context->scriptInstructionPointer[1]); } -void sub_0807F004(Entity* unk1, ScriptExecutionContext* unk2) { - ModHealth(unk2->unk_00[1]); +void ScriptCommand_0807F004(Entity* entity, ScriptExecutionContext* context) { + ModHealth(context->scriptInstructionPointer[1]); } -void sub_0807F010(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807F010(Entity* entity, ScriptExecutionContext* context) { gSave.stats.maxHealth = min(gSave.stats.maxHealth + 8, 0xA0); gSave.stats.health = gSave.stats.maxHealth; } -void sub_0807F034(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807F034(Entity* entity, ScriptExecutionContext* context) { u32 tmp = 0; - if (unk2->unk_00[1] == 0x3F) { - tmp = unk2->unk_04; + if (context->scriptInstructionPointer[1] == 0x3F) { + tmp = context->unk_04; } - sub_080A7C18(unk2->unk_00[1], tmp, 0); + sub_080A7C18(context->scriptInstructionPointer[1], tmp, 0); } -void sub_0807F050(Entity* unk1, ScriptExecutionContext* unk2) { - sub_080A7C18(0x5C, unk2->unk_00[1], 0); +void ScriptCommand_0807F050(Entity* entity, ScriptExecutionContext* context) { + sub_080A7C18(0x5C, context->scriptInstructionPointer[1], 0); } -void sub_0807F060(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_04 = GetInventoryValue(unk2->unk_00[1]); - unk2->unk_14 = unk2->unk_04 != 0; +void ScriptCommand_0807F060(Entity* entity, ScriptExecutionContext* context) { + context->unk_04 = GetInventoryValue(context->scriptInstructionPointer[1]); + context->unk_14 = context->unk_04 != 0; } -void sub_0807F078(Entity* unk1, ScriptExecutionContext* unk2) { - sub_0807CAA0(unk2->unk_00[1], unk2->unk_00[2]); +void ScriptCommand_0807F078(Entity* entity, ScriptExecutionContext* context) { + sub_0807CAA0(context->scriptInstructionPointer[1], context->scriptInstructionPointer[2]); } -void sub_0807F088(Entity* unk1, ScriptExecutionContext* unk2) { - sub_080A7C18(unk2->unk_00[1], 0, 3); +void ScriptCommand_0807F088(Entity* entity, ScriptExecutionContext* context) { + sub_080A7C18(context->scriptInstructionPointer[1], 0, 3); } -void sub_0807F098(Entity* unk1, ScriptExecutionContext* unk2) { - gRoomControls.cameraTarget = unk1; +void ScriptCommand_0807F098(Entity* entity, ScriptExecutionContext* context) { + gRoomControls.cameraTarget = entity; } -void sub_0807F0A4(Entity* unk1, ScriptExecutionContext* unk2) { +void ScriptCommand_0807F0A4(Entity* entity, ScriptExecutionContext* context) { gRoomControls.cameraTarget = &gPlayerEntity; } -void sub_0807F0B4(Entity* unk1, ScriptExecutionContext* unk2) { - gRoomControls.unk5 = unk2->unk_00[1] & 7; +void ScriptCommand_0807F0B4(Entity* entity, ScriptExecutionContext* context) { + gRoomControls.unk5 = context->scriptInstructionPointer[1] & 7; } -void sub_0807F0C8(Entity* unk1, ScriptExecutionContext* unk2) { - sub_08080964(unk2->unk_00[1], unk2->unk_00[2]); +void ScriptCommand_0807F0C8(Entity* entity, ScriptExecutionContext* context) { + sub_08080964(context->scriptInstructionPointer[1], context->scriptInstructionPointer[2]); }