From aeeaf91054da4b6fc2914f25eedf19ff35f34980 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Tue, 15 Jul 2025 11:28:47 +0300 Subject: [PATCH] d_a_ppolamp OK (#2535) * d_a_ppolamp OK * Remove include * d_a_tag_Lv6Gate OK --- config/GZ2E01/rels/d_a_ppolamp/symbols.txt | 16 +- config/GZ2J01/rels/d_a_ppolamp/symbols.txt | 16 +- config/GZ2P01/rels/d_a_ppolamp/symbols.txt | 16 +- config/RZDE01_00/rels/d_a_ppolamp/symbols.txt | 14 +- config/ShieldD/rels/d_a_ppolampD/symbols.txt | 14 +- configure.py | 4 +- include/d/actor/d_a_ppolamp.h | 24 +- include/d/actor/d_a_tag_Lv6Gate.h | 12 +- src/d/actor/d_a_ppolamp.cpp | 710 +++++------------- src/d/actor/d_a_tag_Lv6Gate.cpp | 384 +++++----- 10 files changed, 433 insertions(+), 777 deletions(-) diff --git a/config/GZ2E01/rels/d_a_ppolamp/symbols.txt b/config/GZ2E01/rels/d_a_ppolamp/symbols.txt index 7404212bc3..65e95cbb01 100644 --- a/config/GZ2E01/rels/d_a_ppolamp/symbols.txt +++ b/config/GZ2E01/rels/d_a_ppolamp/symbols.txt @@ -1,7 +1,7 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global _epilog = .text:0x0000002C; // type:function size:0x2C scope:global _unresolved = .text:0x00000058; // type:function size:0x20 scope:global -daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:global +daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:local __dt__11daPPolamp_cFv = .text:0x00000098; // type:function size:0xA4 scope:global create__11daPPolamp_cFv = .text:0x0000013C; // type:function size:0x128 scope:global execute__11daPPolamp_cFv = .text:0x00000264; // type:function size:0x60 scope:global @@ -12,11 +12,11 @@ setPclModelMtx__11daPPolamp_cFv = .text:0x000004E8; // type:function size:0xF4 s createHeap__11daPPolamp_cFv = .text:0x000005DC; // type:function size:0x114 scope:global moveSwing__11daPPolamp_cFv = .text:0x000006F0; // type:function size:0x15C scope:global initParam__11daPPolamp_cFv = .text:0x0000084C; // type:function size:0x34 scope:global -daPPolamp_create__FP11daPPolamp_c = .text:0x00000880; // type:function size:0x8C scope:global +daPPolamp_create__FP11daPPolamp_c = .text:0x00000880; // type:function size:0x8C scope:local __dt__12J3DFrameCtrlFv = .text:0x0000090C; // type:function size:0x48 scope:global -daPPolamp_Delete__FP11daPPolamp_c = .text:0x00000954; // type:function size:0x20 scope:global -daPPolamp_execute__FP11daPPolamp_c = .text:0x00000974; // type:function size:0x20 scope:global -daPPolamp_draw__FP11daPPolamp_c = .text:0x00000994; // type:function size:0x20 scope:global +daPPolamp_Delete__FP11daPPolamp_c = .text:0x00000954; // type:function size:0x20 scope:local +daPPolamp_execute__FP11daPPolamp_c = .text:0x00000974; // type:function size:0x20 scope:local +daPPolamp_draw__FP11daPPolamp_c = .text:0x00000994; // type:function size:0x20 scope:local _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global ...rodata.0 = .rodata:0x00000000; // type:label scope:local @@ -33,8 +33,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global @3928 = .rodata:0x00000040; // type:object size:0x8 scope:local @3936 = .rodata:0x00000048; // type:object size:0x4 scope:local align:4 data:float @stringBase0 = .rodata:0x0000004C; // type:object size:0x8 scope:local data:string_table -l_arcName = .data:0x00000000; // type:object size:0x4 scope:global -daPPolamp_METHODS = .data:0x00000004; // type:object size:0x20 scope:global +l_arcName = .data:0x00000000; // type:object size:0x4 scope:local +daPPolamp_METHODS = .data:0x00000004; // type:object size:0x20 scope:local g_profile_PPolamp = .data:0x00000024; // type:object size:0x30 scope:global __vt__12J3DFrameCtrl = .data:0x00000054; // type:object size:0xC scope:global __vt__11daPPolamp_c = .data:0x00000060; // type:object size:0xC scope:global @@ -55,7 +55,9 @@ __vt__11daPPolamp_c = .data:0x00000060; // type:object size:0xC scope:global @1012 = .bss:0x00000034; // type:object size:0x1 scope:local @1010 = .bss:0x00000038; // type:object size:0x1 scope:local @1009 = .bss:0x0000003C; // type:object size:0x1 scope:local +init$1515 = .bss:0x0000003D; // type:object size:0x1 scope:local TEV_COLOR_1$3795 = .bss:0x00000040; // type:object size:0x8 scope:local +init$1520 = .bss:0x00000049; // type:object size:0x1 scope:local TEV_COLOR_2$3800 = .bss:0x0000004C; // type:object size:0x8 scope:local sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000054; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000058; // type:object size:0x4 scope:global diff --git a/config/GZ2J01/rels/d_a_ppolamp/symbols.txt b/config/GZ2J01/rels/d_a_ppolamp/symbols.txt index 7404212bc3..65e95cbb01 100644 --- a/config/GZ2J01/rels/d_a_ppolamp/symbols.txt +++ b/config/GZ2J01/rels/d_a_ppolamp/symbols.txt @@ -1,7 +1,7 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global _epilog = .text:0x0000002C; // type:function size:0x2C scope:global _unresolved = .text:0x00000058; // type:function size:0x20 scope:global -daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:global +daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:local __dt__11daPPolamp_cFv = .text:0x00000098; // type:function size:0xA4 scope:global create__11daPPolamp_cFv = .text:0x0000013C; // type:function size:0x128 scope:global execute__11daPPolamp_cFv = .text:0x00000264; // type:function size:0x60 scope:global @@ -12,11 +12,11 @@ setPclModelMtx__11daPPolamp_cFv = .text:0x000004E8; // type:function size:0xF4 s createHeap__11daPPolamp_cFv = .text:0x000005DC; // type:function size:0x114 scope:global moveSwing__11daPPolamp_cFv = .text:0x000006F0; // type:function size:0x15C scope:global initParam__11daPPolamp_cFv = .text:0x0000084C; // type:function size:0x34 scope:global -daPPolamp_create__FP11daPPolamp_c = .text:0x00000880; // type:function size:0x8C scope:global +daPPolamp_create__FP11daPPolamp_c = .text:0x00000880; // type:function size:0x8C scope:local __dt__12J3DFrameCtrlFv = .text:0x0000090C; // type:function size:0x48 scope:global -daPPolamp_Delete__FP11daPPolamp_c = .text:0x00000954; // type:function size:0x20 scope:global -daPPolamp_execute__FP11daPPolamp_c = .text:0x00000974; // type:function size:0x20 scope:global -daPPolamp_draw__FP11daPPolamp_c = .text:0x00000994; // type:function size:0x20 scope:global +daPPolamp_Delete__FP11daPPolamp_c = .text:0x00000954; // type:function size:0x20 scope:local +daPPolamp_execute__FP11daPPolamp_c = .text:0x00000974; // type:function size:0x20 scope:local +daPPolamp_draw__FP11daPPolamp_c = .text:0x00000994; // type:function size:0x20 scope:local _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global ...rodata.0 = .rodata:0x00000000; // type:label scope:local @@ -33,8 +33,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global @3928 = .rodata:0x00000040; // type:object size:0x8 scope:local @3936 = .rodata:0x00000048; // type:object size:0x4 scope:local align:4 data:float @stringBase0 = .rodata:0x0000004C; // type:object size:0x8 scope:local data:string_table -l_arcName = .data:0x00000000; // type:object size:0x4 scope:global -daPPolamp_METHODS = .data:0x00000004; // type:object size:0x20 scope:global +l_arcName = .data:0x00000000; // type:object size:0x4 scope:local +daPPolamp_METHODS = .data:0x00000004; // type:object size:0x20 scope:local g_profile_PPolamp = .data:0x00000024; // type:object size:0x30 scope:global __vt__12J3DFrameCtrl = .data:0x00000054; // type:object size:0xC scope:global __vt__11daPPolamp_c = .data:0x00000060; // type:object size:0xC scope:global @@ -55,7 +55,9 @@ __vt__11daPPolamp_c = .data:0x00000060; // type:object size:0xC scope:global @1012 = .bss:0x00000034; // type:object size:0x1 scope:local @1010 = .bss:0x00000038; // type:object size:0x1 scope:local @1009 = .bss:0x0000003C; // type:object size:0x1 scope:local +init$1515 = .bss:0x0000003D; // type:object size:0x1 scope:local TEV_COLOR_1$3795 = .bss:0x00000040; // type:object size:0x8 scope:local +init$1520 = .bss:0x00000049; // type:object size:0x1 scope:local TEV_COLOR_2$3800 = .bss:0x0000004C; // type:object size:0x8 scope:local sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000054; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000058; // type:object size:0x4 scope:global diff --git a/config/GZ2P01/rels/d_a_ppolamp/symbols.txt b/config/GZ2P01/rels/d_a_ppolamp/symbols.txt index 7404212bc3..65e95cbb01 100644 --- a/config/GZ2P01/rels/d_a_ppolamp/symbols.txt +++ b/config/GZ2P01/rels/d_a_ppolamp/symbols.txt @@ -1,7 +1,7 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global _epilog = .text:0x0000002C; // type:function size:0x2C scope:global _unresolved = .text:0x00000058; // type:function size:0x20 scope:global -daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:global +daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:local __dt__11daPPolamp_cFv = .text:0x00000098; // type:function size:0xA4 scope:global create__11daPPolamp_cFv = .text:0x0000013C; // type:function size:0x128 scope:global execute__11daPPolamp_cFv = .text:0x00000264; // type:function size:0x60 scope:global @@ -12,11 +12,11 @@ setPclModelMtx__11daPPolamp_cFv = .text:0x000004E8; // type:function size:0xF4 s createHeap__11daPPolamp_cFv = .text:0x000005DC; // type:function size:0x114 scope:global moveSwing__11daPPolamp_cFv = .text:0x000006F0; // type:function size:0x15C scope:global initParam__11daPPolamp_cFv = .text:0x0000084C; // type:function size:0x34 scope:global -daPPolamp_create__FP11daPPolamp_c = .text:0x00000880; // type:function size:0x8C scope:global +daPPolamp_create__FP11daPPolamp_c = .text:0x00000880; // type:function size:0x8C scope:local __dt__12J3DFrameCtrlFv = .text:0x0000090C; // type:function size:0x48 scope:global -daPPolamp_Delete__FP11daPPolamp_c = .text:0x00000954; // type:function size:0x20 scope:global -daPPolamp_execute__FP11daPPolamp_c = .text:0x00000974; // type:function size:0x20 scope:global -daPPolamp_draw__FP11daPPolamp_c = .text:0x00000994; // type:function size:0x20 scope:global +daPPolamp_Delete__FP11daPPolamp_c = .text:0x00000954; // type:function size:0x20 scope:local +daPPolamp_execute__FP11daPPolamp_c = .text:0x00000974; // type:function size:0x20 scope:local +daPPolamp_draw__FP11daPPolamp_c = .text:0x00000994; // type:function size:0x20 scope:local _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global ...rodata.0 = .rodata:0x00000000; // type:label scope:local @@ -33,8 +33,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global @3928 = .rodata:0x00000040; // type:object size:0x8 scope:local @3936 = .rodata:0x00000048; // type:object size:0x4 scope:local align:4 data:float @stringBase0 = .rodata:0x0000004C; // type:object size:0x8 scope:local data:string_table -l_arcName = .data:0x00000000; // type:object size:0x4 scope:global -daPPolamp_METHODS = .data:0x00000004; // type:object size:0x20 scope:global +l_arcName = .data:0x00000000; // type:object size:0x4 scope:local +daPPolamp_METHODS = .data:0x00000004; // type:object size:0x20 scope:local g_profile_PPolamp = .data:0x00000024; // type:object size:0x30 scope:global __vt__12J3DFrameCtrl = .data:0x00000054; // type:object size:0xC scope:global __vt__11daPPolamp_c = .data:0x00000060; // type:object size:0xC scope:global @@ -55,7 +55,9 @@ __vt__11daPPolamp_c = .data:0x00000060; // type:object size:0xC scope:global @1012 = .bss:0x00000034; // type:object size:0x1 scope:local @1010 = .bss:0x00000038; // type:object size:0x1 scope:local @1009 = .bss:0x0000003C; // type:object size:0x1 scope:local +init$1515 = .bss:0x0000003D; // type:object size:0x1 scope:local TEV_COLOR_1$3795 = .bss:0x00000040; // type:object size:0x8 scope:local +init$1520 = .bss:0x00000049; // type:object size:0x1 scope:local TEV_COLOR_2$3800 = .bss:0x0000004C; // type:object size:0x8 scope:local sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000054; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000058; // type:object size:0x4 scope:global diff --git a/config/RZDE01_00/rels/d_a_ppolamp/symbols.txt b/config/RZDE01_00/rels/d_a_ppolamp/symbols.txt index 0d6927db6c..71b72293c7 100644 --- a/config/RZDE01_00/rels/d_a_ppolamp/symbols.txt +++ b/config/RZDE01_00/rels/d_a_ppolamp/symbols.txt @@ -1,7 +1,7 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global _epilog = .text:0x0000002C; // type:function size:0x2C scope:global _unresolved = .text:0x00000058; // type:function size:0x4 scope:global -daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x0000005C; // type:function size:0x4 scope:global +daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x0000005C; // type:function size:0x4 scope:local __dt__11daPPolamp_cFv = .text:0x00000060; // type:function size:0x90 scope:global create__11daPPolamp_cFv = .text:0x000000F0; // type:function size:0x118 scope:global execute__11daPPolamp_cFv = .text:0x00000208; // type:function size:0x60 scope:global @@ -11,10 +11,10 @@ setPclModelMtx__11daPPolamp_cFv = .text:0x00000464; // type:function size:0xDC s createHeap__11daPPolamp_cFv = .text:0x00000540; // type:function size:0xF8 scope:global moveSwing__11daPPolamp_cFv = .text:0x00000638; // type:function size:0x154 scope:global initParam__11daPPolamp_cFv = .text:0x0000078C; // type:function size:0x34 scope:global -daPPolamp_create__FP11daPPolamp_c = .text:0x000007C0; // type:function size:0x8C scope:global -daPPolamp_Delete__FP11daPPolamp_c = .text:0x0000084C; // type:function size:0x34 scope:global -daPPolamp_execute__FP11daPPolamp_c = .text:0x00000880; // type:function size:0x4 scope:global -daPPolamp_draw__FP11daPPolamp_c = .text:0x00000884; // type:function size:0x4 scope:global +daPPolamp_create__FP11daPPolamp_c = .text:0x000007C0; // type:function size:0x8C scope:local +daPPolamp_Delete__FP11daPPolamp_c = .text:0x0000084C; // type:function size:0x34 scope:local +daPPolamp_execute__FP11daPPolamp_c = .text:0x00000880; // type:function size:0x4 scope:local +daPPolamp_draw__FP11daPPolamp_c = .text:0x00000884; // type:function size:0x4 scope:local _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global ...rodata.0 = .rodata:0x00000000; // type:label scope:local @@ -33,8 +33,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global UP_VAL$90564 = .rodata:0x0000004C; // type:object size:0x4 scope:local MAX_ADD$90565 = .rodata:0x00000050; // type:object size:0x4 scope:local lbl_705_data_0 = .data:0x00000000; // type:object size:0x8 data:string -l_arcName = .data:0x00000008; // type:object size:0x4 scope:global data:4byte -daPPolamp_METHODS = .data:0x0000000C; // type:object size:0x20 scope:global +l_arcName = .data:0x00000008; // type:object size:0x4 scope:local data:4byte +daPPolamp_METHODS = .data:0x0000000C; // type:object size:0x20 scope:local g_profile_PPolamp = .data:0x0000002C; // type:object size:0x30 scope:global __vt__11daPPolamp_c = .data:0x0000005C; // type:object size:0xC scope:global lbl_705_data_68 = .data:0x00000068; // type:object size:0xC data:string diff --git a/config/ShieldD/rels/d_a_ppolampD/symbols.txt b/config/ShieldD/rels/d_a_ppolampD/symbols.txt index 8e338b9276..0f85e8332e 100644 --- a/config/ShieldD/rels/d_a_ppolampD/symbols.txt +++ b/config/ShieldD/rels/d_a_ppolampD/symbols.txt @@ -1,7 +1,7 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global _epilog = .text:0x00000030; // type:function size:0x2C scope:global _unresolved = .text:0x00000060; // type:function size:0x20 scope:global -daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x00000080; // type:function size:0x28 scope:global +daPPolamp_c_createHeap__FP10fopAc_ac_c = .text:0x00000080; // type:function size:0x28 scope:local __dt__11daPPolamp_cFv = .text:0x000000B0; // type:function size:0xA0 scope:global create__11daPPolamp_cFv = .text:0x00000150; // type:function size:0x130 scope:global execute__11daPPolamp_cFv = .text:0x00000280; // type:function size:0x68 scope:global @@ -12,11 +12,11 @@ setPclModelMtx__11daPPolamp_cFv = .text:0x00000530; // type:function size:0xDC s createHeap__11daPPolamp_cFv = .text:0x00000610; // type:function size:0x1A4 scope:global moveSwing__11daPPolamp_cFv = .text:0x000007C0; // type:function size:0x180 scope:global initParam__11daPPolamp_cFv = .text:0x00000940; // type:function size:0x3C scope:global -daPPolamp_create__FP11daPPolamp_c = .text:0x00000980; // type:function size:0x7C scope:global +daPPolamp_create__FP11daPPolamp_c = .text:0x00000980; // type:function size:0x7C scope:local __ct__11daPPolamp_cFv = .text:0x00000A00; // type:function size:0x48 scope:global -daPPolamp_Delete__FP11daPPolamp_c = .text:0x00000A50; // type:function size:0x28 scope:global -daPPolamp_execute__FP11daPPolamp_c = .text:0x00000A80; // type:function size:0x28 scope:global -daPPolamp_draw__FP11daPPolamp_c = .text:0x00000AB0; // type:function size:0x28 scope:global +daPPolamp_Delete__FP11daPPolamp_c = .text:0x00000A50; // type:function size:0x28 scope:local +daPPolamp_execute__FP11daPPolamp_c = .text:0x00000A80; // type:function size:0x28 scope:local +daPPolamp_draw__FP11daPPolamp_c = .text:0x00000AB0; // type:function size:0x28 scope:local _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global ...rodata.0 = .rodata:0x00000000; // type:label scope:local @@ -38,12 +38,12 @@ cNullVec__6Z2Calc = .rodata:0x0000005C; // type:object size:0xC scope:global @46916 = .rodata:0x00000068; // type:object size:0x4 scope:local lbl_696_rodata_6C = .rodata:0x0000006C; // type:object size:0x18 @115603 = .data:0x00000000; // type:object size:0x8 scope:local data:string -l_arcName = .data:0x00000008; // type:object size:0x4 scope:global data:4byte +l_arcName = .data:0x00000008; // type:object size:0x4 scope:local data:4byte @115767 = .data:0x00000010; // type:object size:0x10 scope:local data:string @115768 = .data:0x00000020; // type:object size:0x14 scope:local data:string @115769 = .data:0x00000034; // type:object size:0x5 scope:local data:string @115770 = .data:0x0000003C; // type:object size:0xD scope:local data:string -daPPolamp_METHODS = .data:0x00000050; // type:object size:0x20 scope:global +daPPolamp_METHODS = .data:0x00000050; // type:object size:0x20 scope:local g_profile_PPolamp = .data:0x00000070; // type:object size:0x30 scope:global __vt__11daPPolamp_c = .data:0x000000A0; // type:object size:0xC scope:global @115842 = .data:0x000000AC; // type:object size:0xC scope:local data:string diff --git a/configure.py b/configure.py index 87d5acdc34..63d7eff0e7 100755 --- a/configure.py +++ b/configure.py @@ -2181,13 +2181,13 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_zra_rock"), ActorRel(NonMatching, "d_a_passer_mng"), ActorRel(Equivalent, "d_a_peru"), - ActorRel(NonMatching, "d_a_ppolamp"), + ActorRel(MatchingFor("GZ2E01"), "d_a_ppolamp"), ActorRel(MatchingFor("GZ2E01"), "d_a_skip_2D"), ActorRel(MatchingFor("GZ2E01"), "d_a_startAndGoal", extra_cflags=['-pragma "nosyminline off"']), ActorRel(MatchingFor("GZ2E01"), "d_a_swBall"), ActorRel(MatchingFor("GZ2E01"), "d_a_swLBall"), ActorRel(MatchingFor("GZ2E01"), "d_a_swTime"), - ActorRel(NonMatching, "d_a_tag_Lv6Gate"), + ActorRel(MatchingFor("GZ2E01"), "d_a_tag_Lv6Gate"), ActorRel(MatchingFor("GZ2E01"), "d_a_tag_Lv7Gate"), ActorRel(MatchingFor("GZ2E01"), "d_a_tag_Lv8Gate"), ActorRel(MatchingFor("GZ2E01"), "d_a_tag_TWgate"), diff --git a/include/d/actor/d_a_ppolamp.h b/include/d/actor/d_a_ppolamp.h index e1faf7b777..7897532df1 100644 --- a/include/d/actor/d_a_ppolamp.h +++ b/include/d/actor/d_a_ppolamp.h @@ -12,21 +12,29 @@ * @details * */ -class daPPolamp_c : public fopAc_ac_c { +class daPPolamp_c : public fopAc_ac_c, public request_of_phase_process_class { public: - /* 80D4C958 */ ~daPPolamp_c(); - /* 80D4C9FC */ void create(); - /* 80D4CB24 */ void execute(); - /* 80D4CB84 */ void draw(); - /* 80D4CCF0 */ void Delete(); + /* 80D4C958 */ virtual ~daPPolamp_c(); + /* 80D4C9FC */ int create(); + /* 80D4CB24 */ int execute(); + /* 80D4CB84 */ int draw(); + /* 80D4CCF0 */ int Delete(); /* 80D4CD24 */ void setModelMtx(); /* 80D4CDA8 */ void setPclModelMtx(); - /* 80D4CE9C */ void createHeap(); + /* 80D4CE9C */ int createHeap(); /* 80D4CFB0 */ void moveSwing(); /* 80D4D10C */ void initParam(); private: - /* 0x568 */ u8 field_0x568[0x5ac - 0x568]; + /* 0x574 */ J3DModel* mModel1; + /* 0x578 */ J3DModel* mModel2; + /* 0x57C */ mDoExt_bckAnm mBck; + /* 0x598 */ int field_0x598; + /* 0x59C */ s8 field_0x59c; + /* 0x59E */ s16 field_0x59e; + /* 0x5A0 */ u8 mSwingTimer; + /* 0x5A4 */ f32 field_0x5a4; + /* 0x5A8 */ f32 field_0x5a8; }; STATIC_ASSERT(sizeof(daPPolamp_c) == 0x5ac); diff --git a/include/d/actor/d_a_tag_Lv6Gate.h b/include/d/actor/d_a_tag_Lv6Gate.h index 9379a1b76e..b72f83de5c 100644 --- a/include/d/actor/d_a_tag_Lv6Gate.h +++ b/include/d/actor/d_a_tag_Lv6Gate.h @@ -8,23 +8,17 @@ class daTagLv6Gate_c : public fopAc_ac_c { public: /* 80D4F8B8 */ int createHeap(); /* 80D4FBD8 */ int create(); - /* 80D4FEDC */ int execute(); + /* 80D4FEDC */ inline int execute(); /* 80D506AC */ int draw(); inline ~daTagLv6Gate_c(); - inline void seStair(); - inline void seGlassOff(); - inline void seGlassOn(); inline void initBaseMtx(); inline void setBaseMtx(); inline void create_init(); inline bool checkOpenArea(); - inline void cut1(); - inline void cut2(); - inline void cut4(); - void stabMasterSword() { field_0x76a = 1; } + void stabMasterSword() { mIsMasterSwordStabbed = 1; } u8 getSwitchNo1() { return fopAcM_GetParam(this) & 0xFF; } u8 getSwitchNo2() { return fopAcM_GetParam(this) >> 0x8 & 0xFF; } @@ -35,7 +29,7 @@ public: /* 0x758 */ request_of_phase_process_class mPhase; /* 0x760 */ f32 field_0x760[2]; /* 0x768 */ s16 mEvtId; - /* 0x76A */ u8 field_0x76a; + /* 0x76A */ bool mIsMasterSwordStabbed; }; // Size: 0x76C #endif /* D_A_TAG_LV6GATE_H */ diff --git a/src/d/actor/d_a_ppolamp.cpp b/src/d/actor/d_a_ppolamp.cpp index 3541e0266a..5ece0ad036 100644 --- a/src/d/actor/d_a_ppolamp.cpp +++ b/src/d/actor/d_a_ppolamp.cpp @@ -4,90 +4,196 @@ */ #include "d/actor/d_a_ppolamp.h" -#include "dol2asm.h" - - -// -// Forward References: -// - -extern "C" static void daPPolamp_c_createHeap__FP10fopAc_ac_c(); -extern "C" void __dt__11daPPolamp_cFv(); -extern "C" void create__11daPPolamp_cFv(); -extern "C" void execute__11daPPolamp_cFv(); -extern "C" void draw__11daPPolamp_cFv(); -extern "C" void Delete__11daPPolamp_cFv(); -extern "C" void setModelMtx__11daPPolamp_cFv(); -extern "C" void setPclModelMtx__11daPPolamp_cFv(); -extern "C" void createHeap__11daPPolamp_cFv(); -extern "C" void moveSwing__11daPPolamp_cFv(); -extern "C" void initParam__11daPPolamp_cFv(); -extern "C" static void daPPolamp_create__FP11daPPolamp_c(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void daPPolamp_Delete__FP11daPPolamp_c(); -extern "C" static void daPPolamp_execute__FP11daPPolamp_c(); -extern "C" static void daPPolamp_draw__FP11daPPolamp_c(); -extern "C" extern char const* const d_a_ppolamp__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void atan2sX_Z__4cXyzCFv(); -extern "C" void atan2sY_XZ__4cXyzCFv(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void _savegpr_27(); -extern "C" void _restgpr_27(); -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// +#include "Z2AudioLib/Z2Instances.h" +#include "d/d_com_inf_game.h" /* 80D4C938-80D4C958 000078 0020+00 1/1 0/0 0/0 .text daPPolamp_c_createHeap__FP10fopAc_ac_c */ -static void daPPolamp_c_createHeap(fopAc_ac_c* param_0) { - // NONMATCHING +static int daPPolamp_c_createHeap(fopAc_ac_c* i_this) { + return ((daPPolamp_c*)i_this)->createHeap(); } -/* ############################################################################################## */ -/* 80D4D2C8-80D4D2C8 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80D4D2C8 = "PPolamp"; -#pragma pop - /* 80D4D2D0-80D4D2D4 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_ppolamp__stringBase0; +static char* l_arcName = "PPolamp"; + +/* 80D4C958-80D4C9FC 000098 00A4+00 1/0 0/0 0/0 .text __dt__11daPPolamp_cFv */ +daPPolamp_c::~daPPolamp_c() { + dComIfG_resDelete(this, l_arcName); +} + +/* 80D4C9FC-80D4CB24 00013C 0128+00 1/1 0/0 0/0 .text create__11daPPolamp_cFv */ +int daPPolamp_c::create() { + int rv = dComIfG_resLoad(this, l_arcName); + if (rv == cPhs_COMPLEATE_e) { + if (fopAcM_entrySolidHeap(this, daPPolamp_c_createHeap, 0x1010) == 0) { + return cPhs_ERROR_e; + } + initParam(); + setModelMtx(); + fopAcM_SetMtx(this, mModel1->getBaseTRMtx()); + Vec local_1c; + Vec local_28 = {0.0f, -45.0f, 0.0f}; + cMtx_multVec(mModel1->getBaseTRMtx(), &local_28, &local_1c); + mDoMtx_stack_c::transS(local_1c.x, local_1c.y, local_1c.z); + mDoMtx_stack_c::YrotM(shape_angle.y); + mDoMtx_stack_c::XrotM(shape_angle.x); + mDoMtx_stack_c::ZrotM(shape_angle.z); + mModel2->setBaseTRMtx(mDoMtx_stack_c::get()); + } + return rv; +} + +/* 80D4CB24-80D4CB84 000264 0060+00 1/1 0/0 0/0 .text execute__11daPPolamp_cFv */ +int daPPolamp_c::execute() { + if (mSwingTimer != 0) { + mSwingTimer--; + } else { + moveSwing(); + } + setModelMtx(); + setPclModelMtx(); + mBck.play(); + return 1; +} + +UNK_REL_BSS + +/* 80D4CB84-80D4CCF0 0002C4 016C+00 1/1 0/0 0/0 .text draw__11daPPolamp_cFv */ +int daPPolamp_c::draw() { + g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mModel1, &tevStr); + mDoExt_modelUpdateDL(mModel1); + g_env_light.setLightTevColorType_MAJI(mModel2, &tevStr); + static J3DGXColorS10 TEV_COLOR_1 = (GXColorS10){0x48, 0x85, 0xff, 0xff}; + static J3DGXColorS10 TEV_COLOR_2 = (GXColorS10){0, 0, 0xff, 0xff}; + J3DModelData* modelData = mModel2->getModelData(); + for (u16 i = 0; i < modelData->getMaterialNum(); i++) + { + J3DMaterial* material = modelData->getMaterialNodePointer(i); + if (material != NULL) { + material->setTevColor(1, &TEV_COLOR_1); + material->setTevColor(2, &TEV_COLOR_2); + } + } + mBck.entry(modelData); + mDoExt_modelUpdateDL(mModel2); + return 1; +} + +/* 80D4CCF0-80D4CD24 000430 0034+00 1/1 0/0 0/0 .text Delete__11daPPolamp_cFv */ +int daPPolamp_c::Delete() { + this->~daPPolamp_c(); + return 1; +} + +/* 80D4CD24-80D4CDA8 000464 0084+00 2/2 0/0 0/0 .text setModelMtx__11daPPolamp_cFv */ +void daPPolamp_c::setModelMtx() { + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::YrotM(shape_angle.y); + mDoMtx_stack_c::XrotM(shape_angle.x); + mDoMtx_stack_c::ZrotM(shape_angle.z); + mModel1->setBaseTRMtx(mDoMtx_stack_c::get()); +} + +/* 80D4CDA8-80D4CE9C 0004E8 00F4+00 1/1 0/0 0/0 .text setPclModelMtx__11daPPolamp_cFv */ +void daPPolamp_c::setPclModelMtx() { + Vec local_20; + Vec local_2c = {0.0f, -45.0f, 0.0f}; + cMtx_multVec(mModel1->getBaseTRMtx(), &local_2c, &local_20); + mDoMtx_stack_c::transS(local_20.x, local_20.y, local_20.z); + camera_class* camera = dComIfGp_getCamera(0); + if (camera != NULL) { + cXyz cStack_38 = camera->lookat.eye - current.pos; + mDoMtx_stack_c::YrotM(cStack_38.atan2sX_Z()); + mDoMtx_stack_c::XrotM(cStack_38.atan2sY_XZ()); + } + mModel2->setBaseTRMtx(mDoMtx_stack_c::get()); +} + +/* 80D4CE9C-80D4CFB0 0005DC 0114+00 1/1 0/0 0/0 .text createHeap__11daPPolamp_cFv */ +int daPPolamp_c::createHeap() { + J3DModelData* a_model_data_p = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 8); + JUT_ASSERT(347, a_model_data_p != 0); + mModel1 = mDoExt_J3DModel__create(a_model_data_p, 0x80000, 0x11000084); + if (mModel1 == NULL) { + return 0; + } + + a_model_data_p = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 7); + JUT_ASSERT(360, a_model_data_p != 0); + mModel2 = mDoExt_J3DModel__create(a_model_data_p, 0x80000, 0x11000084); + if (mModel2 == NULL) { + return 0; + } + + J3DAnmTransform* a_bck_p = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4); + JUT_ASSERT(372, a_bck_p != 0); + if (mBck.init(a_bck_p, 1, 2, 1.0f, 0, -1, false) == 0) { + return 0; + } + + return 1; +} + +/* 80D4CFB0-80D4D10C 0006F0 015C+00 1/1 0/0 0/0 .text moveSwing__11daPPolamp_cFv */ +void daPPolamp_c::moveSwing() { + s16 sVar1 = field_0x598 * 65 - 500; + shape_angle.z += (s16)(field_0x5a4 * (field_0x59c * sVar1)); + shape_angle.y += (s16)(field_0x59e * field_0x5a4); + if (sVar1 > 500) { + field_0x598 = 0; + field_0x59c *= -1; + field_0x59e = cM_rndFX(450.0f); + if (cLib_chaseF(&field_0x5a4, field_0x5a8, cM_rndF(0.1f)) != 0) { + field_0x5a8 = cM_rndF(1.1f); + if (field_0x5a4 < 0.12f) { + mSwingTimer = cM_rndF(80.0f); + } + } + } + field_0x598++; +} + +/* 80D4D10C-80D4D140 00084C 0034+00 1/1 0/0 0/0 .text initParam__11daPPolamp_cFv */ +void daPPolamp_c::initParam() { + field_0x598 = 0; + field_0x59c = 1; + field_0x59e = 0; + mSwingTimer = 0; + field_0x5a4 = 0.2f; + field_0x5a8 = 1.0f; +} + +/* 80D4D140-80D4D1CC 000880 008C+00 1/0 0/0 0/0 .text daPPolamp_create__FP11daPPolamp_c + */ +static int daPPolamp_create(daPPolamp_c* i_this) { + fopAcM_SetupActor(i_this, daPPolamp_c); + return i_this->create(); +} + +/* 80D4D214-80D4D234 000954 0020+00 1/0 0/0 0/0 .text daPPolamp_Delete__FP11daPPolamp_c + */ +static int daPPolamp_Delete(daPPolamp_c* i_this) { + return i_this->Delete(); +} + +/* 80D4D234-80D4D254 000974 0020+00 1/0 0/0 0/0 .text daPPolamp_execute__FP11daPPolamp_c + */ +static int daPPolamp_execute(daPPolamp_c* i_this) { + return i_this->execute(); +} + +/* 80D4D254-80D4D274 000994 0020+00 1/0 0/0 0/0 .text daPPolamp_draw__FP11daPPolamp_c */ +static int daPPolamp_draw(daPPolamp_c* i_this) { + return i_this->draw(); +} /* 80D4D2D4-80D4D2F4 -00001 0020+00 1/0 0/0 0/0 .data daPPolamp_METHODS */ static actor_method_class daPPolamp_METHODS = { - (process_method_func)daPPolamp_create__FP11daPPolamp_c, - (process_method_func)daPPolamp_Delete__FP11daPPolamp_c, - (process_method_func)daPPolamp_execute__FP11daPPolamp_c, - 0, - (process_method_func)daPPolamp_draw__FP11daPPolamp_c, + (process_method_func)daPPolamp_create, + (process_method_func)daPPolamp_Delete, + (process_method_func)daPPolamp_execute, + NULL, + (process_method_func)daPPolamp_draw, }; /* 80D4D2F4-80D4D324 -00001 0030+00 0/0 0/0 1/0 .data g_profile_PPolamp */ @@ -108,456 +214,6 @@ extern actor_process_profile_definition g_profile_PPolamp = { fopAc_CULLBOX_12_e, // cullType }; -/* 80D4D324-80D4D330 000054 000C+00 3/3 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 80D4D330-80D4D33C 000060 000C+00 2/2 0/0 0/0 .data __vt__11daPPolamp_c */ -SECTION_DATA extern void* __vt__11daPPolamp_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11daPPolamp_cFv, -}; - -/* 80D4C958-80D4C9FC 000098 00A4+00 1/0 0/0 0/0 .text __dt__11daPPolamp_cFv */ -daPPolamp_c::~daPPolamp_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D4D27C-80D4D288 000000 000C+00 2/2 0/0 0/0 .rodata @3757 */ -SECTION_RODATA static u8 const lit_3757[12] = { - 0x00, 0x00, 0x00, 0x00, 0xC2, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D4D27C, &lit_3757); - -/* 80D4C9FC-80D4CB24 00013C 0128+00 1/1 0/0 0/0 .text create__11daPPolamp_cFv */ -void daPPolamp_c::create() { - // NONMATCHING -} - -/* 80D4CB24-80D4CB84 000264 0060+00 1/1 0/0 0/0 .text execute__11daPPolamp_cFv */ -void daPPolamp_c::execute() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D4D288-80D4D290 00000C 0008+00 1/1 0/0 0/0 .rodata @3797 */ -SECTION_RODATA static u8 const lit_3797[8] = { - 0x00, 0x48, 0x00, 0x85, 0x00, 0xFF, 0x00, 0xFF, -}; -COMPILER_STRIP_GATE(0x80D4D288, &lit_3797); - -/* 80D4D290-80D4D298 000014 0008+00 1/1 0/0 0/0 .rodata @3802 */ -SECTION_RODATA static u8 const lit_3802[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, -}; -COMPILER_STRIP_GATE(0x80D4D290, &lit_3802); - -/* 80D4D340-80D4D344 000000 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 80D4D344-80D4D348 000004 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D348-80D4D34C 000008 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D34C-80D4D350 00000C 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D350-80D4D354 000010 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D354-80D4D358 000014 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D358-80D4D35C 000018 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D35C-80D4D360 00001C 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D360-80D4D364 000020 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D364-80D4D368 000024 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D368-80D4D36C 000028 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D36C-80D4D370 00002C 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D370-80D4D374 000030 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D374-80D4D378 000034 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D378-80D4D37C 000038 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D37C-80D4D380 00003C 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop - -/* 80D4D380-80D4D38C 000040 0008+04 0/1 0/0 0/0 .bss TEV_COLOR_1$3795 */ -#pragma push -#pragma force_active on -static u8 TEV_COLOR_1[8 + 4 /* padding */]; -#pragma pop - -/* 80D4D38C-80D4D394 00004C 0008+00 0/1 0/0 0/0 .bss TEV_COLOR_2$3800 */ -#pragma push -#pragma force_active on -static u8 TEV_COLOR_2[8]; -#pragma pop - -/* 80D4CB84-80D4CCF0 0002C4 016C+00 1/1 0/0 0/0 .text draw__11daPPolamp_cFv */ -void daPPolamp_c::draw() { - // NONMATCHING -} - -/* 80D4CCF0-80D4CD24 000430 0034+00 1/1 0/0 0/0 .text Delete__11daPPolamp_cFv */ -void daPPolamp_c::Delete() { - // NONMATCHING -} - -/* 80D4CD24-80D4CDA8 000464 0084+00 2/2 0/0 0/0 .text setModelMtx__11daPPolamp_cFv */ -void daPPolamp_c::setModelMtx() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D4D298-80D4D2A4 00001C 000C+00 1/1 0/0 0/0 .rodata @3859 */ -SECTION_RODATA static u8 const lit_3859[12] = { - 0x00, 0x00, 0x00, 0x00, 0xC2, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D4D298, &lit_3859); - -/* 80D4CDA8-80D4CE9C 0004E8 00F4+00 1/1 0/0 0/0 .text setPclModelMtx__11daPPolamp_cFv */ -void daPPolamp_c::setPclModelMtx() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D4D2A4-80D4D2A8 000028 0004+00 2/2 0/0 0/0 .rodata @3909 */ -SECTION_RODATA static f32 const lit_3909 = 1.0f; -COMPILER_STRIP_GATE(0x80D4D2A4, &lit_3909); - -/* 80D4CE9C-80D4CFB0 0005DC 0114+00 1/1 0/0 0/0 .text createHeap__11daPPolamp_cFv */ -void daPPolamp_c::createHeap() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D4D2A8-80D4D2AC 00002C 0004+00 0/1 0/0 0/0 .rodata @3922 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3922 = 450.0f; -COMPILER_STRIP_GATE(0x80D4D2A8, &lit_3922); -#pragma pop - -/* 80D4D2AC-80D4D2B0 000030 0004+00 0/1 0/0 0/0 .rodata @3923 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3923 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80D4D2AC, &lit_3923); -#pragma pop - -/* 80D4D2B0-80D4D2B4 000034 0004+00 0/1 0/0 0/0 .rodata @3924 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3924 = 11.0f / 10.0f; -COMPILER_STRIP_GATE(0x80D4D2B0, &lit_3924); -#pragma pop - -/* 80D4D2B4-80D4D2B8 000038 0004+00 0/1 0/0 0/0 .rodata @3925 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3925 = 3.0f / 25.0f; -COMPILER_STRIP_GATE(0x80D4D2B4, &lit_3925); -#pragma pop - -/* 80D4D2B8-80D4D2BC 00003C 0004+00 0/1 0/0 0/0 .rodata @3926 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3926 = 80.0f; -COMPILER_STRIP_GATE(0x80D4D2B8, &lit_3926); -#pragma pop - -/* 80D4D2BC-80D4D2C4 000040 0008+00 0/1 0/0 0/0 .rodata @3928 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3928[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D4D2BC, &lit_3928); -#pragma pop - -/* 80D4CFB0-80D4D10C 0006F0 015C+00 1/1 0/0 0/0 .text moveSwing__11daPPolamp_cFv */ -void daPPolamp_c::moveSwing() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D4D2C4-80D4D2C8 000048 0004+00 1/1 0/0 0/0 .rodata @3936 */ -SECTION_RODATA static f32 const lit_3936 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80D4D2C4, &lit_3936); - -/* 80D4D10C-80D4D140 00084C 0034+00 1/1 0/0 0/0 .text initParam__11daPPolamp_cFv */ -void daPPolamp_c::initParam() { - // NONMATCHING -} - -/* 80D4D140-80D4D1CC 000880 008C+00 1/0 0/0 0/0 .text daPPolamp_create__FP11daPPolamp_c - */ -static void daPPolamp_create(daPPolamp_c* param_0) { - // NONMATCHING -} - -/* 80D4D1CC-80D4D214 00090C 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80D4D214-80D4D234 000954 0020+00 1/0 0/0 0/0 .text daPPolamp_Delete__FP11daPPolamp_c - */ -static void daPPolamp_Delete(daPPolamp_c* param_0) { - // NONMATCHING -} - -/* 80D4D234-80D4D254 000974 0020+00 1/0 0/0 0/0 .text daPPolamp_execute__FP11daPPolamp_c - */ -static void daPPolamp_execute(daPPolamp_c* param_0) { - // NONMATCHING -} - -/* 80D4D254-80D4D274 000994 0020+00 1/0 0/0 0/0 .text daPPolamp_draw__FP11daPPolamp_c */ -static void daPPolamp_draw(daPPolamp_c* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D4D394-80D4D398 000054 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_80D4D394[4]; -#pragma pop - -/* 80D4D398-80D4D39C 000058 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_80D4D398[4]; -#pragma pop - -/* 80D4D39C-80D4D3A0 00005C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80D4D39C[4]; -#pragma pop - -/* 80D4D3A0-80D4D3A4 000060 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3A0[4]; -#pragma pop - -/* 80D4D3A4-80D4D3A8 000064 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3A4[4]; -#pragma pop - -/* 80D4D3A8-80D4D3AC 000068 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3A8[4]; -#pragma pop - -/* 80D4D3AC-80D4D3B0 00006C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3AC[4]; -#pragma pop - -/* 80D4D3B0-80D4D3B4 000070 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3B0[4]; -#pragma pop - -/* 80D4D3B4-80D4D3B8 000074 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3B4[4]; -#pragma pop - -/* 80D4D3B8-80D4D3BC 000078 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3B8[4]; -#pragma pop - -/* 80D4D3BC-80D4D3C0 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3BC[4]; -#pragma pop - -/* 80D4D3C0-80D4D3C4 000080 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3C0[4]; -#pragma pop - -/* 80D4D3C4-80D4D3C8 000084 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3C4[4]; -#pragma pop - -/* 80D4D3C8-80D4D3CC 000088 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3C8[4]; -#pragma pop - -/* 80D4D3CC-80D4D3D0 00008C 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3CC[4]; -#pragma pop - -/* 80D4D3D0-80D4D3D4 000090 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3D0[4]; -#pragma pop - -/* 80D4D3D4-80D4D3D8 000094 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3D4[4]; -#pragma pop - -/* 80D4D3D8-80D4D3DC 000098 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3D8[4]; -#pragma pop - -/* 80D4D3DC-80D4D3E0 00009C 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3DC[4]; -#pragma pop - -/* 80D4D3E0-80D4D3E4 0000A0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3E0[4]; -#pragma pop - -/* 80D4D3E4-80D4D3E8 0000A4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3E4[4]; -#pragma pop - -/* 80D4D3E8-80D4D3EC 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3E8[4]; -#pragma pop - -/* 80D4D3EC-80D4D3F0 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3EC[4]; -#pragma pop - -/* 80D4D3F0-80D4D3F4 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80D4D3F0[4]; -#pragma pop - -/* 80D4D3F4-80D4D3F8 0000B4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_80D4D3F4[4]; -#pragma pop +AUDIO_INSTANCES; /* 80D4D2C8-80D4D2C8 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_tag_Lv6Gate.cpp b/src/d/actor/d_a_tag_Lv6Gate.cpp index 721148599a..19c6c8f3a6 100644 --- a/src/d/actor/d_a_tag_Lv6Gate.cpp +++ b/src/d/actor/d_a_tag_Lv6Gate.cpp @@ -7,7 +7,6 @@ #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "d/actor/d_a_player.h" #include "d/d_procname.h" -#include "dol2asm.h" /* 80D4F898-80D4F8B8 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */ static int createSolidHeap(fopAc_ac_c* i_this) { @@ -75,21 +74,6 @@ static int daTagLv6Gate_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } -void daTagLv6Gate_c::seStair() { - Vec se_pos = {0.0f, 1800.0f, -6800.0f}; - mDoAud_seStart(Z2SE_OBJ_LV6_GATE_STAIR, &se_pos, 0, 0); -} - -void daTagLv6Gate_c::seGlassOff() { - Vec se_pos = {0.0f, 2887.0f, -8330.0f}; - mDoAud_seStart(Z2SE_OBJ_LV6_GATE_GLASS_OFF, &se_pos, 0, 0); -} - -void daTagLv6Gate_c::seGlassOn() { - Vec se_pos = {0.0f, 2887.0f, -8330.0f}; - mDoAud_seStart(Z2SE_OBJ_LV6_GATE_GLASS_ON, &se_pos, 0, 0); -} - void daTagLv6Gate_c::initBaseMtx() { fopAcM_SetMtx(this, mpModel[0]->getBaseTRMtx()); @@ -106,13 +90,200 @@ void daTagLv6Gate_c::initBaseMtx() { mBgW[1].Move(); } +inline bool daTagLv6Gate_c::checkOpenArea() { + if (!fopAcM_isSwitch(this, getSwitchNo2())) { + return false; + } + fopAc_ac_c* actor = NULL; + cXyz pos; + + mDoMtx_stack_c::copy(mpModel[1]->getBaseTRMtx()); + mDoMtx_stack_c::inverse(); + + for (int i = 0; i < 2; i++) { + actor = + (i == 0) ? daPy_getPlayerActorClass() : fopAcM_SearchByName(PROC_NPC_TKS); + if (actor != NULL) { + mDoMtx_stack_c::push(); + mDoMtx_stack_c::multVec(fopAcM_GetPosition_p(actor), &pos); + mDoMtx_stack_c::pop(); + if (pos.x >= l_minRelative[0] && pos.x <= l_maxRelative[0] && + pos.z >= l_minRelative[2] && pos.z <= l_maxRelative[2]) + { + return true; + } + } + } + + return false; +} + +/* 80D4FEDC-80D5068C 0006BC 07B0+00 1/1 0/0 0/0 .text execute__14daTagLv6Gate_cFv */ +inline int daTagLv6Gate_c::execute() { + dComIfG_inf_c& game_info = g_dComIfG_gameInfo; // Fake match? + + if (game_info.getPlay().getEvent().runCheck() && !eventInfo.checkCommandTalk()) { + dEvent_manager_c& eventManager = dComIfGp_getEventManager(); + s32 cut_index = eventManager.getMyStaffId(l_arcName, NULL, 0); + if (cut_index != -1) { + int* cut_name = (int*)eventManager.getMyNowCutName(cut_index); + + daPy_getPlayerActorClass()->onShieldBackBone(); + + if (eventManager.getIsAddvance(cut_index)) { + switch (*cut_name) { + case '0001': { + dComIfGp_getEvent().setSkipZev(this, "LV6_GATE_APPEAR_SKIP"); + + cXyz pos(0.0f, 0.0f, 78.0f); + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(shape_angle.y); + mDoMtx_stack_c::multVec(&pos, &pos); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&pos, shape_angle.y + 0x10000 - 0x8000, 0); + break; + } + case '0002': { + cXyz pos(0.0f, 0.0f, 0.0f); + csXyz angle(0, 0, 0); + dComIfGp_particle_set(0x8B89, &pos, &angle, NULL); + break; + } + case '0003': + fopAcM_onSwitch(this, getSwitchNo2()); + Vec se_pos = {0.0f, 1800.0f, -6800.0f}; + Z2GetAudioMgr()->seStart(Z2SE_OBJ_LV6_GATE_STAIR, &se_pos, 0, 0, 1.0f, 1.0f, + -1.0f, -1.0f, 0); + break; + case '0004': { + cXyz pos(117.8473f, 1677.0f, -5110.8394f); + + fopAc_ac_c* actor1; + fopAc_ac_c* actor2; + + actor1 = NULL; + fopAcM_SearchByID(parentActorID, &actor1); + + if (actor1 == NULL) { + break; + } + + fopAcM_GetOldPosition_p(actor1)->set(pos); + fopAcM_GetPosition_p(actor1)->set(pos); + + #if VERSION != VERSION_SHIELD_DEBUG + + actor2 = NULL; + fopAcM_SearchByName(PROC_NPC_TKC, &actor2); + + if (actor2 == NULL) { + break; + } + + *fopAcM_GetOldPosition_p(actor2) = pos; + *fopAcM_GetPosition_p(actor2) = pos; + #endif + break; + } + case '0006': + fopAcM_onSwitch(this, getSwitchNo2()); + mpBtk[0]->setFrame(mpBtk[0]->getEndFrame()); + if (!mBgW[0].ChkUsed()) { + dComIfG_Bgsp().Regist(&mBgW[0], this); + } + fopAcM_delete(parentActorID); + break; + default: + JUT_PANIC(332, "0"); + } + } + + switch (*cut_name) { + case '0001': + case '0002': + case '0003': + case '0004': + case '0005': + case '0006': + eventManager.cutEnd(cut_index); + break; + default: + JUT_PANIC(345, "0"); + } + + if (eventInfo.checkCommandDemoAccrpt() && mEvtId != -1 && + eventManager.endCheck(mEvtId)) + { + dComIfGp_event_reset(); + mEvtId = -1; + } + } + } else if (mIsMasterSwordStabbed && !fopAcM_isSwitch(this, getSwitchNo1())) { + eventInfo.setArchiveName(l_arcName); + dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); + mEvtId = dComIfGp_getEventManager().getEventIdx(this, "LV6_GATE_APPEAR", -1); + fopAcM_orderOtherEventId(this, mEvtId, -1, -1, 0, 1); + fopAcM_onSwitch(this, getSwitchNo1()); + attention_info.flags = 0; + } + + if (fopAcM_isSwitch(this, getSwitchNo2())) { + if (!mBgW[0].ChkUsed()) { + dComIfG_Bgsp().Regist(&mBgW[0], this); + } + + mpBtk[0]->play(); + mpBtk[1]->play(); + } + + if (checkOpenArea()) { + if (mBgW[1].ChkUsed()) { + dComIfG_Bgsp().Release(&mBgW[1]); + Vec se_pos = {0.0f, 2887.0f, -8330.0f}; + Z2GetAudioMgr()->seStart(Z2SE_OBJ_LV6_GATE_GLASS_OFF, &se_pos, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + } + + field_0x760[0] -= 12.75f; + field_0x760[1] -= 5.75f; + + if (field_0x760[0] < 0.0f) { + field_0x760[0] = 0.0f; + } + + if (field_0x760[1] < 0.0f) { + field_0x760[1] = 0.0f; + } + } else { + if (!mBgW[1].ChkUsed()) { + dComIfG_Bgsp().Regist(&mBgW[1], this); + Vec se_pos = {0.0f, 2887.0f, -8330.0f}; + Z2GetAudioMgr()->seStart(Z2SE_OBJ_LV6_GATE_GLASS_ON, &se_pos, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + } + + field_0x760[0] += 12.75f; + field_0x760[1] += 5.75f; + + if (field_0x760[0] > 255.0f) { + field_0x760[0] = 255.0f; + } + + if (field_0x760[1] > 115.0f) { + field_0x760[1] = 115.0f; + } + } + + return 1; +} + void daTagLv6Gate_c::create_init() { fopAcM_setCullSizeBox(this, -50.0f, 0.0f, -50.0f, 50.0f, 100.0f, 50.0f); attention_info.position = current.pos; attention_info.flags = (fopAcM_isSwitch(this, getSwitchNo1()) != 0) ? 0 : 0x80; attention_info.distances[fopAc_attn_ETC_e] = 89; mEvtId = -1; - field_0x76a = 0; + mIsMasterSwordStabbed = 0; field_0x760[0] = 255.0f; field_0x760[1] = 115.0f; @@ -147,185 +318,6 @@ static int daTagLv6Gate_Execute(daTagLv6Gate_c* i_this) { return i_this->execute(); } -bool daTagLv6Gate_c::checkOpenArea() { - if (!fopAcM_isSwitch(this, getSwitchNo2())) { - return false; - } - - mDoMtx_stack_c::copy(mpModel[1]->getBaseTRMtx()); - mDoMtx_stack_c::inverse(); - - for (int i = 0; i < 2; i++) { - fopAc_ac_c* actor = - (i == 0) ? daPy_getPlayerActorClass() : fopAcM_SearchByName(PROC_NPC_TKS); - if (actor != NULL) { - cXyz pos; - mDoMtx_stack_c::push(); - mDoMtx_stack_c::multVec(fopAcM_GetPosition_p(actor), &pos); - mDoMtx_stack_c::pop(); - if (pos.x >= l_minRelative[0] && pos.x <= l_maxRelative[0] && - pos.z >= l_minRelative[2] && pos.z <= l_maxRelative[2]) - { - return true; - } - } - } - - return false; -} - -void daTagLv6Gate_c::cut1() { - dComIfGp_getEvent().setSkipZev(this, "LV6_GATE_APPEAR_SKIP"); - - cXyz pos(0.0f, 0.0f, 78.0f); - - mDoMtx_stack_c::transS(current.pos); - mDoMtx_stack_c::YrotM(shape_angle.y); - mDoMtx_stack_c::multVec(&pos, &pos); - daPy_getPlayerActorClass()->setPlayerPosAndAngle(&pos, shape_angle.y + 0x10000 - 0x8000, 0); -} - -void daTagLv6Gate_c::cut2() { - cXyz pos(0.0f, 0.0f, 0.0f); - dComIfGp_particle_set(0x8B89, &pos, &csXyz(0, 0, 0), NULL); -} - -void daTagLv6Gate_c::cut4() { - cXyz pos(117.8473f, 1677.0f, -5110.8394f); - - fopAc_ac_c* actor2; - fopAc_ac_c* actor1; - - actor1 = NULL; - fopAcM_SearchByID(parentActorID, &actor1); - - if (actor1 == NULL) { - return; - } - - *fopAcM_GetOldPosition_p(actor1) = pos; - *fopAcM_GetPosition_p(actor1) = pos; - - actor2 = NULL; - fopAcM_SearchByName(PROC_NPC_TKC, &actor2); - - if (actor2 == NULL) { - return; - } - - *fopAcM_GetOldPosition_p(actor2) = pos; - *fopAcM_GetPosition_p(actor2) = pos; -} - -/* 80D4FEDC-80D5068C 0006BC 07B0+00 1/1 0/0 0/0 .text execute__14daTagLv6Gate_cFv */ -// NONMATCHING -int daTagLv6Gate_c::execute() { - dComIfG_inf_c& game_info = g_dComIfG_gameInfo; // Fake match? - - if (game_info.getPlay().getEvent().runCheck() && !eventInfo.checkCommandTalk()) { - s32 cut_index = dComIfGp_getEventManager().getMyStaffId(l_arcName, NULL, 0); - if (cut_index != -1) { - int* cut_name = (int*)dComIfGp_getEventManager().getMyNowCutName(cut_index); - - daPy_getPlayerActorClass()->onShieldBackBone(); - - if (dComIfGp_evmng_getIsAddvance(cut_index)) { - switch (*cut_name) { - case '0001': - cut1(); - break; - case '0002': - cut2(); - break; - case '0003': - fopAcM_onSwitch(this, getSwitchNo2()); - seStair(); - break; - case '0004': - cut4(); - break; - case '0006': - fopAcM_onSwitch(this, getSwitchNo2()); - mpBtk[0]->setFrame(mpBtk[0]->getEndFrame()); - if (!mBgW[0].ChkUsed()) { - dComIfG_Bgsp().Regist(&mBgW[0], this); - } - fopAcM_delete(parentActorID); - } - } - - switch (*cut_name) { - case '0001': - case '0002': - case '0003': - case '0004': - case '0005': - case '0006': - dComIfGp_evmng_cutEnd(cut_index); - } - - if (eventInfo.checkCommandDemoAccrpt() && mEvtId != -1 && - dComIfGp_evmng_endCheck(mEvtId)) - { - dComIfGp_event_reset(); - mEvtId = -1; - } - } - } else if (field_0x76a && !fopAcM_isSwitch(this, getSwitchNo1())) { - eventInfo.setArchiveName(l_arcName); - dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); - mEvtId = dComIfGp_getEventManager().getEventIdx(this, "LV6_GATE_APPEAR", -1); - fopAcM_orderOtherEventId(this, mEvtId, -1, -1, 0, 1); - fopAcM_onSwitch(this, getSwitchNo1()); - attention_info.flags = 0; - } - - if (fopAcM_isSwitch(this, getSwitchNo2())) { - if (!mBgW[0].ChkUsed()) { - dComIfG_Bgsp().Regist(&mBgW[0], this); - } - - mpBtk[0]->play(); - mpBtk[1]->play(); - } - - if (checkOpenArea()) { - if (mBgW[1].ChkUsed()) { - dComIfG_Bgsp().Release(&mBgW[1]); - seGlassOff(); - } - - field_0x760[0] -= 12.75f; - field_0x760[1] -= 5.75f; - - if (field_0x760[0] < 0.0f) { - field_0x760[0] = 0.0f; - } - - if (field_0x760[1] < 0.0f) { - field_0x760[1] = 0.0f; - } - } else { - if (!mBgW[1].ChkUsed()) { - dComIfG_Bgsp().Regist(&mBgW[1], this); - seGlassOn(); - } - - field_0x760[0] += 12.75f; - field_0x760[1] += 5.75f; - - if (field_0x760[0] > 255.0f) { - field_0x760[0] = 255.0f; - } - - if (field_0x760[1] > 115.0f) { - field_0x760[1] = 115.0f; - } - } - - return 1; -} - /* 80D5068C-80D506AC 000E6C 0020+00 1/0 0/0 0/0 .text daTagLv6Gate_Draw__FP14daTagLv6Gate_c */ static int daTagLv6Gate_Draw(daTagLv6Gate_c* i_this) { return i_this->draw();