diff --git a/CMakeLists.txt b/CMakeLists.txt index 791b083ed3..e39e73f18a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.13) if (APPLE) - project(dusk LANGUAGES C CXX OBJC) + project(dusk LANGUAGES C CXX OBJC OBJCXX) else () project(dusk LANGUAGES C CXX) endif () @@ -9,8 +9,8 @@ set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 20) if (CMAKE_SYSTEM_NAME STREQUAL Linux) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unknown-pragmas -Wno-unused-variable -Wno-unused-parameter -fPIC -Wno-error -Wno-c++11-narrowing") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++ -Wno-register -fPIC -Wno-error -Wno-c++11-narrowing") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unknown-pragmas -Wno-unused-variable -Wno-unused-parameter") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++ -Wno-register -fPIC") set(CMAKE_PREFIX_PATH /usr) set(CMAKE_LIBRARY_ARCHITECTURE x86_64-linux-gnu) set(CMAKE_LIBRARY_PATH "/usr/lib64" "/usr/lib/x86_64-linux-gnu" CACHE PATH "") @@ -25,6 +25,8 @@ elseif (MSVC) add_compile_options(/bigobj) add_compile_options(/Zc:strictStrings-) endif () +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error -Wno-c++11-narrowing") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -Wno-c++11-narrowing") add_subdirectory(extern/aurora EXCLUDE_FROM_ALL) @@ -33,7 +35,7 @@ set(DOLZEL_FILES src/m_Do/m_Do_printf.cpp src/m_Do/m_Do_audio.cpp src/m_Do/m_Do_controller_pad.cpp - src/m_Do/m_Re_controller_pad.cpp + #src/m_Do/m_Re_controller_pad.cpp src/m_Do/m_Do_graphic.cpp src/m_Do/m_Do_machine.cpp src/m_Do/m_Do_mtx.cpp @@ -575,6 +577,11 @@ set(JSYSTEM_FILES src/JSystem/JMath/JMath.cpp src/JSystem/JMath/random.cpp src/JSystem/JMath/JMATrigonometric.cpp + src/JSystem/JHostIO/JORHostInfo.cpp + src/JSystem/JHostIO/JORServer.cpp + src/JSystem/JHostIO/JHIhioASync.cpp + src/JSystem/JHostIO/JHIRMcc.cpp + src/JSystem/JHostIO/JHIMccBuf.cpp ) set(REL_FILES @@ -1338,7 +1345,7 @@ set(REL_FILES ) set(DUSK_FILES - #src/dusk/imgui.cpp + src/dusk/imgui.cpp src/dusk/stubs.cpp src/dusk/extras.c src/dusk/extras.cpp diff --git a/config/RZDE01_00/rels/d_a_e_tk/symbols.txt b/config/RZDE01_00/rels/d_a_e_tk/symbols.txt index 5f28fc6b9a..5e84f1046d 100644 --- a/config/RZDE01_00/rels/d_a_e_tk/symbols.txt +++ b/config/RZDE01_00/rels/d_a_e_tk/symbols.txt @@ -63,6 +63,6 @@ lbl_238_data_104 = .data:0x00000104; // type:object size:0xD data:string @93851 = .data:0x00000114; // type:object size:0xC scope:local __RTTI__12daE_TK_HIO_c = .data:0x00000120; // type:object size:0x8 scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global -lbl_238_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +hio_set = .bss:0x00000008; // type:object size:0x1 data:byte @93233 = .bss:0x0000000C; // type:object size:0xC scope:local l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global data:byte diff --git a/config/RZDE01_00/rels/d_a_e_tk2/symbols.txt b/config/RZDE01_00/rels/d_a_e_tk2/symbols.txt index 8bcd97d9ce..b845cbd451 100644 --- a/config/RZDE01_00/rels/d_a_e_tk2/symbols.txt +++ b/config/RZDE01_00/rels/d_a_e_tk2/symbols.txt @@ -58,6 +58,6 @@ lbl_239_data_D8 = .data:0x000000D8; // type:object size:0xE data:string @93703 = .data:0x000000E8; // type:object size:0xC scope:local __RTTI__13daE_TK2_HIO_c = .data:0x000000F4; // type:object size:0x8 scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global -lbl_239_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +hio_set = .bss:0x00000008; // type:object size:0x1 data:byte @93233 = .bss:0x0000000C; // type:object size:0xC scope:local l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global data:byte diff --git a/config/RZDE01_00/splits.txt b/config/RZDE01_00/splits.txt index aab000dae6..f5b4ace0fc 100644 --- a/config/RZDE01_00/splits.txt +++ b/config/RZDE01_00/splits.txt @@ -22,7 +22,7 @@ d/d_home_button.cpp: d/d_cursor_mng.cpp: .text start:0x800073D4 end:0x8000820C .data start:0x803F5618 end:0x803F5740 - .sdata start:0x80537528 end:0x80537564 + .sdata start:0x80537528 end:0x80537560 .sbss start:0x8053A728 end:0x8053A740 .sdata2 start:0x8053B9F8 end:0x8053BA10 @@ -30,15 +30,15 @@ m_Do/m_Do_main.cpp: .text start:0x8000820C end:0x80008EE8 .data start:0x803F5740 end:0x803F5B28 .bss start:0x80449B80 end:0x80449EA0 - .sdata start:0x80537564 end:0x805375C0 - .sbss start:0x8053A740 end:0x8053A768 + .sdata start:0x80537560 end:0x805375C0 + .sbss start:0x8053A740 end:0x8053A760 .sdata2 start:0x8053BA10 end:0x8053BA28 m_Do/m_Do_printf.cpp: .text start:0x80008EE8 end:0x800095CC .data start:0x803F5B28 end:0x803F5BE0 .bss start:0x80449EA0 end:0x8044A6A0 - .sbss start:0x8053A768 end:0x8053A784 + .sbss start:0x8053A760 end:0x8053A780 m_Do/m_Do_audio.cpp: .text start:0x800095CC end:0x80009F54 @@ -46,7 +46,7 @@ m_Do/m_Do_audio.cpp: .data start:0x803F5BE0 end:0x803F5E58 .bss start:0x8044A6A0 end:0x8044BA50 .sdata start:0x805375C0 end:0x8053762C - .sbss start:0x8053A784 end:0x8053A7D4 + .sbss start:0x8053A780 end:0x8053A7D4 m_Do/m_Do_controller_pad.cpp: .text start:0x80009F54 end:0x8000A364 @@ -73,7 +73,7 @@ m_Do/m_Do_machine.cpp: .text start:0x80011A34 end:0x800127A4 .data start:0x803F5E70 end:0x803F61D8 .sdata start:0x80537670 end:0x805376A0 - .sbss start:0x8053A844 end:0x8053A878 + .sbss start:0x8053A844 end:0x8053A870 .sdata2 start:0x8053BBC0 end:0x8053BBC8 m_Do/m_Do_mtx.cpp: @@ -82,6 +82,7 @@ m_Do/m_Do_mtx.cpp: .data start:0x803F61D8 end:0x803F6280 .bss start:0x80453500 end:0x80453968 .sdata start:0x805376A0 end:0x805376B0 + .sbss start:0x8053A870 end:0x8053A878 .sdata2 start:0x8053BBC8 end:0x8053BBD8 m_Do/m_Do_ext.cpp: @@ -102,7 +103,7 @@ m_Do/m_Do_lib.cpp: m_Do/m_Do_Reset.cpp: .text start:0x8001A9F8 end:0x8001ABCC - .sbss start:0x8053A8C8 end:0x8053A8E0 + .sbss start:0x8053A8C8 end:0x8053A8D0 m_Do/m_Do_dvd_thread.cpp: .text start:0x8001ABCC end:0x8001B8E8 @@ -110,10 +111,12 @@ m_Do/m_Do_dvd_thread.cpp: .data start:0x803F6A80 end:0x803F6DC8 .bss start:0x804539E0 end:0x80455D60 .sdata start:0x80537770 end:0x805377B0 + .sbss start:0x8053A8D0 end:0x8053A8D8 m_Do/m_Do_DVDError.cpp: .text start:0x8001B8E8 end:0x8001BA54 .bss start:0x80455D60 end:0x804580C0 + .sbss start:0x8053A8D8 end:0x8053A8E0 m_Do/m_Do_MemCard.cpp: .text start:0x8001BA54 end:0x8001CDAC @@ -338,7 +341,7 @@ f_pc/f_pc_node_req.cpp: f_pc/f_pc_priority.cpp: .text start:0x80027DFC end:0x80028140 .bss start:0x804813F0 end:0x80481400 - .sdata start:0x805378D0 end:0x80537908 + .sdata start:0x805378D0 end:0x805378D8 f_pc/f_pc_profile.cpp: .text start:0x80028140 end:0x80028150 @@ -378,7 +381,7 @@ d/d_stage.cpp: .ctors start:0x803CE268 end:0x803CE26C .data start:0x803FA5A8 end:0x803FDE58 .bss start:0x80481400 end:0x804928C8 - .sdata start:0x80537908 end:0x8053793C + .sdata start:0x805378D8 end:0x80537920 .sbss start:0x8053A988 end:0x8053A9B0 .sdata2 start:0x8053BD28 end:0x8053BD38 @@ -386,7 +389,7 @@ d/d_map.cpp: .text start:0x8002CC88 end:0x8002F3F4 .rodata start:0x803CFC30 end:0x803CFD10 .data start:0x803FDE58 end:0x803FE258 - .sdata start:0x8053793C end:0x80537ACC + .sdata start:0x80537920 end:0x80537ACC .sbss start:0x8053A9B0 end:0x8053A9B8 .sdata2 start:0x8053BD38 end:0x8053BD98 @@ -2552,21 +2555,22 @@ revolution/homebuttonLib/nw4hbm/ut/ut_TagProcessorBase.cpp: revolution/homebuttonLib/nw4hbm/ut/ut_TextWriterBase.cpp: .text start:0x802D92D0 end:0x802E1FB4 .ctors start:0x803CE398 end:0x803CE39C - .data start:0x8042B058 end:0x8042B680 + .data start:0x8042B058 end:0x8042B650 .bss start:0x804C2CE0 end:0x804C2CF8 - .sdata start:0x8053A158 end:0x8053A168 + .sdata start:0x8053A158 end:0x8053A160 .sbss start:0x8053B118 end:0x8053B128 .sdata2 start:0x8053FE60 end:0x8053FE78 JSystem/JKernel/JKRHeap.cpp: .text start:0x802E1FB4 end:0x802E2BEC - .data start:0x8042B680 end:0x8042B6E0 - .sdata start:0x8053A168 end:0x8053A198 + .data start:0x8042B650 end:0x8042B6E0 + .sdata start:0x8053A160 end:0x8053A170 .sbss start:0x8053B128 end:0x8053B158 JSystem/JKernel/JKRExpHeap.cpp: .text start:0x802E2BEC end:0x802E47B4 .data start:0x8042B6E0 end:0x8042BA88 + .sdata start:0x8053A170 end:0x8053A190 .sbss start:0x8053B158 end:0x8053B170 .sdata2 start:0x8053FE78 end:0x8053FE88 @@ -2586,17 +2590,18 @@ JSystem/JKernel/JKRDisposer.cpp: JSystem/JKernel/JKRThread.cpp: .text start:0x802E5294 end:0x802E5F9C .ctors start:0x803CE39C end:0x803CE3A0 - .data start:0x8042BCB0 end:0x8042BDEC + .data start:0x8042BCB0 end:0x8042BDC0 .bss start:0x804C2CF8 end:0x804C2D48 + .sdata start:0x8053A190 end:0x8053A198 .sbss start:0x8053B170 end:0x8053B190 .sdata2 start:0x8053FEA0 end:0x8053FEB0 JSystem/JKernel/JKRAram.cpp: .text start:0x802E5F9C end:0x802E6DBC .ctors start:0x803CE3A0 end:0x803CE3A4 - .data start:0x8042BDEC end:0x8042BE00 + .data start:0x8042BDC0 end:0x8042BE00 .bss start:0x804C2D48 end:0x804C2DA8 - .sdata start:0x8053A198 end:0x8053A1B4 + .sdata start:0x8053A198 end:0x8053A1A0 .sbss start:0x8053B190 end:0x8053B1D0 JSystem/JKernel/JKRAramHeap.cpp: @@ -2612,12 +2617,12 @@ JSystem/JKernel/JKRAramBlock.cpp: JSystem/JKernel/JKRAramPiece.cpp: .text start:0x802E7558 end:0x802E7AD4 .ctors start:0x803CE3A8 end:0x803CE3AC - .data start:0x8042BE20 end:0x8042BEB4 + .data start:0x8042BE20 end:0x8042BE88 .bss start:0x804C2DC0 end:0x804C2DF0 JSystem/JKernel/JKRAramStream.cpp: .text start:0x802E7AD4 end:0x802E804C - .data start:0x8042BEB4 end:0x8042BEC8 + .data start:0x8042BE88 end:0x8042BEC8 .bss start:0x804C2DF0 end:0x804C2E20 .sbss start:0x8053B1D0 end:0x8053B1E0 @@ -2626,6 +2631,7 @@ JSystem/JKernel/JKRFileLoader.cpp: .ctors start:0x803CE3AC end:0x803CE3B0 .data start:0x8042BEC8 end:0x8042BF08 .bss start:0x804C2E20 end:0x804C2E38 + .sdata start:0x8053A1A0 end:0x8053A1A8 .sbss start:0x8053B1E0 end:0x8053B1E8 JSystem/JKernel/JKRFileFinder.cpp: @@ -2635,10 +2641,11 @@ JSystem/JKernel/JKRFileFinder.cpp: JSystem/JKernel/JKRFileCache.cpp: .text start:0x802E8950 end:0x802E96E8 .data start:0x8042BF38 end:0x8042BF88 + .sdata start:0x8053A1A8 end:0x8053A1B0 JSystem/JKernel/JKRArchivePub.cpp: .text start:0x802E96E8 end:0x802EA1D8 - .data start:0x8042BF88 end:0x8042BFFC + .data start:0x8042BF88 end:0x8042BFD8 JSystem/JKernel/JKRArchivePri.cpp: .text start:0x802EA1D8 end:0x802EA928 @@ -2646,19 +2653,19 @@ JSystem/JKernel/JKRArchivePri.cpp: JSystem/JKernel/JKRMemArchive.cpp: .text start:0x802EA928 end:0x802EAFD8 - .data start:0x8042BFFC end:0x8042C078 + .data start:0x8042BFD8 end:0x8042C050 JSystem/JKernel/JKRAramArchive.cpp: .text start:0x802EAFD8 end:0x802EBC00 - .data start:0x8042C078 end:0x8042C0C8 + .data start:0x8042C050 end:0x8042C0C8 JSystem/JKernel/JKRDvdArchive.cpp: .text start:0x802EBC00 end:0x802EC74C - .data start:0x8042C0C8 end:0x8042C1C0 + .data start:0x8042C0C8 end:0x8042C188 JSystem/JKernel/JKRCompArchive.cpp: .text start:0x802EC74C end:0x802ED414 - .data start:0x8042C1C0 end:0x8042C238 + .data start:0x8042C188 end:0x8042C210 JSystem/JKernel/JKRFile.cpp: .text start:0x802ED414 end:0x802ED480 @@ -2666,7 +2673,7 @@ JSystem/JKernel/JKRFile.cpp: JSystem/JKernel/JKRDvdFile.cpp: .text start:0x802ED480 end:0x802EDAAC .ctors start:0x803CE3B0 end:0x803CE3B4 - .data start:0x8042C238 end:0x8042C280 + .data start:0x8042C210 end:0x8042C280 .bss start:0x804C2E38 end:0x804C2E50 JSystem/JKernel/JKRDvdRipper.cpp: @@ -2674,7 +2681,7 @@ JSystem/JKernel/JKRDvdRipper.cpp: .ctors start:0x803CE3B4 end:0x803CE3B8 .data start:0x8042C280 end:0x8042C2D8 .bss start:0x804C2E50 end:0x804C2E80 - .sdata start:0x8053A1B4 end:0x8053A1BC + .sdata start:0x8053A1B0 end:0x8053A1BC .sbss start:0x8053B1F0 end:0x8053B230 JSystem/JKernel/JKRDvdAramRipper.cpp: @@ -2688,7 +2695,7 @@ JSystem/JKernel/JKRDecomp.cpp: .text start:0x802EF438 end:0x802EFB1C .data start:0x8042C2D8 end:0x8042C2E8 .bss start:0x804C2EB0 end:0x804C2EF0 - .sbss start:0x8053B278 end:0x8053B284 + .sbss start:0x8053B278 end:0x8053B280 JSystem/JSupport/JSUList.cpp: .text start:0x802EFB1C end:0x802EFF5C @@ -2716,7 +2723,7 @@ JSystem/JGadget/std-vector.cpp: JSystem/JUtility/JUTCacheFont.cpp: .text start:0x802F0DF4 end:0x802F1CB4 - .data start:0x8042C350 end:0x8042C440 + .data start:0x8042C350 end:0x8042C410 .sdata2 start:0x8053FEB0 end:0x8053FEB8 JSystem/JUtility/JUTResource.cpp: @@ -2728,6 +2735,7 @@ JSystem/JUtility/JUTTexture.cpp: JSystem/JUtility/JUTPalette.cpp: .text start:0x802F2448 end:0x802F2534 + .data start:0x8042C410 end:0x8042C440 JSystem/JUtility/JUTNameTab.cpp: .text start:0x802F2534 end:0x802F2724 @@ -2736,16 +2744,16 @@ JSystem/JUtility/JUTNameTab.cpp: JSystem/JUtility/JUTGraphFifo.cpp: .text start:0x802F2724 end:0x802F28B4 .data start:0x8042C450 end:0x8042C460 - .sbss start:0x8053B284 end:0x8053B290 + .sbss start:0x8053B280 end:0x8053B290 JSystem/JUtility/JUTFont.cpp: .text start:0x802F28B4 end:0x802F2B2C - .data start:0x8042C460 end:0x8042C4DC + .data start:0x8042C460 end:0x8042C4A8 JSystem/JUtility/JUTResFont.cpp: .text start:0x802F2B2C end:0x802F3C3C .rodata start:0x803EF730 end:0x803EF800 - .data start:0x8042C4DC end:0x8042C528 + .data start:0x8042C4A8 end:0x8042C528 .sdata2 start:0x8053FED0 end:0x8053FEE8 JSystem/JUtility/JUTFontData_Ascfont_fix12.cpp: @@ -2753,7 +2761,7 @@ JSystem/JUtility/JUTFontData_Ascfont_fix12.cpp: JSystem/JUtility/JUTDbPrint.cpp: .text start:0x802F3C3C end:0x802F4198 - .sbss start:0x8053B290 end:0x8053B2A0 + .sbss start:0x8053B290 end:0x8053B298 .sdata2 start:0x8053FEE8 end:0x8053FEF8 JSystem/JUtility/JUTGamePad.cpp: @@ -2761,8 +2769,8 @@ JSystem/JUtility/JUTGamePad.cpp: .ctors start:0x803CE3BC end:0x803CE3C0 .data start:0x8042C528 end:0x8042C558 .bss start:0x804C2EF0 end:0x804C3090 - .sdata start:0x8053A1C0 end:0x8053A218 - .sbss start:0x8053B2A0 end:0x8053B2D0 + .sdata start:0x8053A1C0 end:0x8053A1D8 + .sbss start:0x8053B298 end:0x8053B2D0 .sdata2 start:0x8053FEF8 end:0x8053FF18 JSystem/JUtility/JUTException.cpp: @@ -2770,17 +2778,20 @@ JSystem/JUtility/JUTException.cpp: .ctors start:0x803CE3C0 end:0x803CE3C4 .data start:0x8042C558 end:0x8042CA90 .bss start:0x804C3090 end:0x804C3508 + .sdata start:0x8053A1D8 end:0x8053A208 .sbss start:0x8053B2D0 end:0x8053B2F8 .sdata2 start:0x8053FF18 end:0x8053FF28 JSystem/JUtility/JUTDirectPrint.cpp: .text start:0x802F7810 end:0x802F7EF0 .data start:0x8042CA90 end:0x8042CD58 + .sdata start:0x8053A208 end:0x8053A210 .sbss start:0x8053B2F8 end:0x8053B300 .sdata2 start:0x8053FF28 end:0x8053FF80 JSystem/JUtility/JUTAssert.cpp: .text start:0x802F7EF0 end:0x802F81CC + .sdata start:0x8053A210 end:0x8053A218 .sbss start:0x8053B300 end:0x8053B308 .sdata2 start:0x8053FF80 end:0x8053FF98 @@ -2795,18 +2806,19 @@ JSystem/JUtility/JUTXfb.cpp: JSystem/JUtility/JUTFader.cpp: .text start:0x802F89DC end:0x802F8CF0 - .data start:0x8042CD68 end:0x8042CD8C + .data start:0x8042CD68 end:0x8042CD80 .sdata2 start:0x8053FF98 end:0x8053FFA0 JSystem/JUtility/JUTProcBar.cpp: .text start:0x802F8CF0 end:0x802FA4A0 - .sdata start:0x8053A218 end:0x8053A288 + .sdata start:0x8053A218 end:0x8053A220 .sbss start:0x8053B328 end:0x8053B338 .sdata2 start:0x8053FFA0 end:0x8053FFE0 JSystem/JUtility/JUTConsole.cpp: .text start:0x802FA4A0 end:0x802FB7BC - .data start:0x8042CD8C end:0x8042CD98 + .data start:0x8042CD80 end:0x8042CD98 + .sdata start:0x8053A220 end:0x8053A228 .sbss start:0x8053B338 end:0x8053B348 .sdata2 start:0x8053FFE0 end:0x80540010 @@ -2873,6 +2885,7 @@ JSystem/J2DGraph/J2DPicture.cpp: JSystem/J2DGraph/J2DTextBox.cpp: .text start:0x80311CF4 end:0x803131E4 .data start:0x8042D610 end:0x8042D6D0 + .sdata start:0x8053A228 end:0x8053A230 .sdata2 start:0x80540148 end:0x80540168 JSystem/J2DGraph/J2DWindowEx.cpp: @@ -2891,6 +2904,7 @@ JSystem/J2DGraph/J2DTextBoxEx.cpp: .text start:0x80319144 end:0x8031A988 .rodata start:0x803F3AA8 end:0x803F3AE0 .data start:0x8042D8F0 end:0x8042D9B0 + .sdata start:0x8053A230 end:0x8053A238 .sdata2 start:0x805401A0 end:0x805401C0 JSystem/J2DGraph/J2DAnmLoader.cpp: @@ -2909,6 +2923,7 @@ JSystem/J2DGraph/J2DManage.cpp: JSystem/J3DGraphBase/J3DGD.cpp: .text start:0x8031EBB0 end:0x80320478 .data start:0x8042DAE0 end:0x8042DB88 + .sdata start:0x8053A238 end:0x8053A288 .sdata2 start:0x805401F8 end:0x80540238 JSystem/J3DGraphBase/J3DSys.cpp: diff --git a/config/RZDE01_00/symbols.txt b/config/RZDE01_00/symbols.txt index 5306defd1c..a6b7ac287f 100644 --- a/config/RZDE01_00/symbols.txt +++ b/config/RZDE01_00/symbols.txt @@ -23608,8 +23608,33 @@ lbl_8042B650 = .data:0x8042B650; // type:object size:0x24 data:string lbl_8042B674 = .data:0x8042B674; // type:object size:0xC data:string __vt__7JKRHeap = .data:0x8042B680; // type:object size:0x60 scope:global align:4 ...data.0 = .data:0x8042B6E0; // type:label scope:local align:4 -lbl_8042B705 = .data:0x8042B705; // type:object size:0x14 data:string -lbl_8042B719 = .data:0x8042B719; // type:object size:0x30B +lbl_8042B6E0 = .data:0x8042B6E0; // type:object size:0x25 scope:local data:string +lbl_8042B705 = .data:0x8042B705; // type:object size:0x14 scope:local data:string +lbl_8042B719 = .data:0x8042B719; // type:object size:0xF scope:local data:string +lbl_8042B728 = .data:0x8042B728; // type:object size:0x24 scope:local data:string +lbl_8042B74C = .data:0x8042B74C; // type:object size:0xB scope:local data:string +lbl_8042B757 = .data:0x8042B757; // type:object size:0x2A scope:local data:string +lbl_8042B781 = .data:0x8042B781; // type:object size:0x2D scope:local data:string +lbl_8042B7AE = .data:0x8042B7AE; // type:object size:0x2B scope:local data:string +lbl_8042B7D9 = .data:0x8042B7D9; // type:object size:0x29 scope:local data:string +lbl_8042B802 = .data:0x8042B802; // type:object size:0x25 scope:local data:string +lbl_8042B827 = .data:0x8042B827; // type:object size:0x2D scope:local data:string +lbl_8042B854 = .data:0x8042B854; // type:object size:0x26 scope:local data:string +lbl_8042B87A = .data:0x8042B87A; // type:object size:0x37 scope:local data:string +lbl_8042B8B1 = .data:0x8042B8B1; // type:object size:0xF scope:local data:string +lbl_8042B8C0 = .data:0x8042B8C0; // type:object size:0x3A scope:local data:string +lbl_8042B8FA = .data:0x8042B8FA; // type:object size:0x25 scope:local data:string +lbl_8042B91F = .data:0x8042B91F; // type:object size:0xF scope:local data:string +lbl_8042B92E = .data:0x8042B92E; // type:object size:0x2A scope:local data:string +lbl_8042B958 = .data:0x8042B958; // type:object size:0x1C scope:local data:string +lbl_8042B974 = .data:0x8042B974; // type:object size:0x30 scope:local data:string +lbl_8042B9A4 = .data:0x8042B9A4; // type:object size:0x12 scope:local data:string +lbl_8042B9B6 = .data:0x8042B9B6; // type:object size:0x9 scope:local data:string +lbl_8042B9BF = .data:0x8042B9BF; // type:object size:0x1C scope:local data:string +lbl_8042B9DB = .data:0x8042B9DB; // type:object size:0x11 scope:local data:string +lbl_8042B9EC = .data:0x8042B9EC; // type:object size:0x12 scope:local data:string +lbl_8042B9FE = .data:0x8042B9FE; // type:object size:0x11 scope:local data:string +lbl_8042BA0F = .data:0x8042BA0F; // type:object size:0x15 scope:local data:string __vt__10JKRExpHeap = .data:0x8042BA24; // type:object size:0x60 scope:global align:4 ...data.0 = .data:0x8042BA88; // type:label scope:local align:4 lbl_8042BAB9 = .data:0x8042BAB9; // type:object size:0x31 data:string @@ -25222,7 +25247,7 @@ l_RoomKeepDoorInfo = .bss:0x80481D1C; // type:object size:0x904 scope:global ali mStatus__20dStage_roomControl_c = .bss:0x8048262C; // type:object size:0x10100 scope:global align:4 data:4byte mMemoryBlock__20dStage_roomControl_c = .bss:0x8049272C; // type:object size:0x4C scope:global align:4 mDemoArcName__20dStage_roomControl_c = .bss:0x80492778; // type:object size:0xA data:byte -lbl_80492782 = .bss:0x80492782; // type:object size:0x146 +mArcBank__20dStage_roomControl_c = .bss:0x80492782; // type:object size:0x146 ...bss.0 = .bss:0x804928C8; // type:label scope:local align:4 dComIfG_mTimerInfo = .bss:0x804928C8; // type:object size:0x14 scope:global align:4 @109519 = .bss:0x804928DC; // type:object size:0xC scope:local align:4 @@ -25800,8 +25825,8 @@ exCallbackObject = .bss:0x804C30B0; // type:object size:0x14 scope:global align: sMapFileList__12JUTException = .bss:0x804C30D0; // type:object size:0xC scope:global align:4 data:4byte c3bcnt = .bss:0x804C30E0; // type:object size:0x20 scope:global align:4 data:4byte context$45953 = .bss:0x804C3100; // type:object size:0x2C8 scope:local align:4 -lbl_804C33C8 = .bss:0x804C33C8; // type:object size:0x40 -lbl_804C3408 = .bss:0x804C3408; // type:object size:0x100 +sMessageFileLine__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .bss:0x804C33C8; // type:object size:0x40 +sMessageString__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .bss:0x804C3408; // type:object size:0x100 static_mBounds__7J2DPane = .bss:0x804C3508; // type:object size:0x10 scope:global align:4 lbl_804C3518 = .bss:0x804C3518; // type:object size:0x108 data:byte j3dSys = .bss:0x804C3620; // type:object size:0x11C scope:global align:4 @@ -25994,7 +26019,7 @@ __RTTI__Q310dCsr_mng_c8bloObj_c9paneObj_c = .sdata:0x80537540; // type:object si __RTTI__Q210dCsr_mng_c5obj_c = .sdata:0x80537548; // type:object size:0x8 scope:global align:4 __RTTI__Q210dCsr_mng_c6list_c = .sdata:0x80537550; // type:object size:0x8 scope:global align:4 __RTTI__Q210dCsr_mng_c6node_c = .sdata:0x80537558; // type:object size:0x8 scope:global align:4 -lbl_80537560 = .sdata:0x80537560; // type:object size:0x1 data:byte +developmentMode__7mDoMain = .sdata:0x80537560; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x80537564; // type:object size:0x4 scope:global align:4 data:4byte lbl_80537568 = .sdata:0x80537568; // type:object size:0x1 data:byte lbl_80537569 = .sdata:0x80537569; // type:object size:0x5 data:string @@ -26026,7 +26051,7 @@ __RTTI__28JASGlobalInstance<8Z2SeqMgr> = .sdata:0x80537608; // type:object size: lbl_80537610 = .sdata:0x80537610; // type:object size:0x8 data:string __RTTI__7Z2SeMgr = .sdata:0x80537618; // type:object size:0x8 scope:global align:4 __RTTI__27JASGlobalInstance<7Z2SeMgr> = .sdata:0x80537620; // type:object size:0x8 scope:global align:4 -lbl_80537628 = .sdata:0x80537628; // type:object size:0x1 data:byte +mWide__13mDoGph_gInf_c = .sdata:0x80537628; // type:object size:0x1 data:byte m_aspect__13mDoGph_gInf_c = .sdata:0x8053762C; // type:object size:0x4 scope:global align:4 data:float m_scale__13mDoGph_gInf_c = .sdata:0x80537630; // type:object size:0x4 scope:global align:4 data:float m_invScale__13mDoGph_gInf_c = .sdata:0x80537634; // type:object size:0x4 scope:global align:4 data:float @@ -26130,7 +26155,7 @@ lbl_805378E8 = .sdata:0x805378E8; // type:object size:0x8 data:string lbl_805378F0 = .sdata:0x805378F0; // type:object size:0x7 data:string lbl_805378F7 = .sdata:0x805378F7; // type:object size:0x7 data:string lbl_805378FE = .sdata:0x805378FE; // type:object size:0x6 data:string -lbl_80537904 = .sdata:0x80537904; // type:object size:0x1 data:byte +mRoomReadId__20dStage_roomControl_c = .sdata:0x80537904; // type:object size:0x1 data:byte __RTTI__16dStage_stageDt_c = .sdata:0x80537908; // type:object size:0x8 scope:global align:4 __RTTI__15dStage_roomDt_c = .sdata:0x80537910; // type:object size:0x8 scope:global align:4 __RTTI__11dStage_dt_c = .sdata:0x80537918; // type:object size:0x8 scope:global align:4 @@ -26185,7 +26210,7 @@ lbl_80537A93 = .sdata:0x80537A93; // type:object size:0x8 data:string lbl_80537A9B = .sdata:0x80537A9B; // type:object size:0x7 data:string lbl_80537AA2 = .sdata:0x80537AA2; // type:object size:0x5 data:string lbl_80537AA7 = .sdata:0x80537AA7; // type:object size:0x8 data:string -lbl_80537AAF = .sdata:0x80537AAF; // type:object size:0x1 data:byte +g_blackColor = .sdata:0x80537AAF; // type:object size:0x1 data:byte lbl_80537AB0 = .sdata:0x80537AB0; // type:object size:0x1 data:byte lbl_80537AB1 = .sdata:0x80537AB1; // type:object size:0x1 data:byte lbl_80537AB2 = .sdata:0x80537AB2; // type:object size:0x1 data:byte @@ -27755,10 +27780,10 @@ sMapBufOffset__Q26nw4hbm2db = .sdata:0x8053A130; // type:object size:0x4 scope:g @9920 = .sdata:0x8053A148; // type:object size:0x4 scope:local align:4 data:wstring @STRING@GetCharStrmReader__Q36nw4hbm2ut4FontCFv = .sdata:0x8053A14C; // type:object size:0x7 scope:local align:4 data:string mFormatBufferSize__Q36nw4hbm2ut17TextWriterBase = .sdata:0x8053A158; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8053A160 = .sdata:0x8053A160; // type:object size:0x1 data:byte +sDefaultFillFlag__7JKRHeap = .sdata:0x8053A160; // type:object size:0x1 data:byte lbl_8053A161 = .sdata:0x8053A161; // type:object size:0x7 data:string ARALT_AramStartAdr = .sdata:0x8053A168; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8053A16C = .sdata:0x8053A16C; // type:object size:0x3 data:string +@STRING@panic__12JUTExceptionFPCciPCc = .sdata:0x8053A16C; // type:object size:0x3 data:string lbl_8053A170 = .sdata:0x8053A170; // type:object size:0x7 data:string lbl_8053A177 = .sdata:0x8053A177; // type:object size:0x6 data:string lbl_8053A17D = .sdata:0x8053A17D; // type:object size:0x6 data:string @@ -27769,7 +27794,7 @@ lbl_8053A1A0 = .sdata:0x8053A1A0; // type:object size:0x2 data:string lbl_8053A1A2 = .sdata:0x8053A1A2; // type:object size:0x2 data:string lbl_8053A1A8 = .sdata:0x8053A1A8; // type:object size:0x2 data:string lbl_8053A1AA = .sdata:0x8053A1AA; // type:object size:0x4 data:string -lbl_8053A1B0 = .sdata:0x8053A1B0; // type:object size:0x1 data:byte +errorRetry__12JKRDvdRipper = .sdata:0x8053A1B0; // type:object size:0x1 data:byte sSZSBufferSize__12JKRDvdRipper = .sdata:0x8053A1B4; // type:object size:0x4 scope:global align:4 data:4byte lbl_8053A1B8 = .sdata:0x8053A1B8; // type:object size:0x1 data:byte sSZSBufferSize__16JKRDvdAramRipper = .sdata:0x8053A1BC; // type:object size:0x4 scope:global align:4 data:4byte @@ -27790,7 +27815,7 @@ lbl_8053A1F9 = .sdata:0x8053A1F9; // type:object size:0x8 data:string lbl_8053A201 = .sdata:0x8053A201; // type:object size:0x1 lbl_8053A202 = .sdata:0x8053A202; // type:object size:0x5 data:string lbl_8053A208 = .sdata:0x8053A208; // type:object size:0x3 data:string -lbl_8053A210 = .sdata:0x8053A210; // type:object size:0x1 data:byte +mVisible__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .sdata:0x8053A210; // type:object size:0x1 data:byte oneFrameRate = .sdata:0x8053A218; // type:object size:0x4 scope:global align:4 data:float oneFrameRateUser = .sdata:0x8053A21C; // type:object size:0x4 scope:global align:4 data:float lbl_8053A220 = .sdata:0x8053A220; // type:object size:0x4 data:string @@ -28022,21 +28047,21 @@ lbl_8053A751 = .sbss:0x8053A751; // type:object size:0x1 data:byte lbl_8053A752 = .sbss:0x8053A752; // type:object size:0x1 data:byte console_scroll$90837 = .sbss:0x8053A754; // type:object size:0x4 scope:local align:4 data:float frame$90973 = .sbss:0x8053A758; // type:object size:0x4 scope:local align:4 data:4byte -lbl_8053A760 = .sbss:0x8053A760; // type:object size:0x1 data:byte -lbl_8053A761 = .sbss:0x8053A761; // type:object size:0x1 data:byte -lbl_8053A762 = .sbss:0x8053A762; // type:object size:0x1 data:byte -lbl_8053A763 = .sbss:0x8053A763; // type:object size:0x1 data:byte -lbl_8053A764 = .sbss:0x8053A764; // type:object size:0x1 data:byte +__OSReport_disable = .sbss:0x8053A760; // type:object size:0x1 data:byte +__OSReport_Error_disable = .sbss:0x8053A761; // type:object size:0x1 data:byte +__OSReport_Warning_disable = .sbss:0x8053A762; // type:object size:0x1 data:byte +__OSReport_System_disable = .sbss:0x8053A763; // type:object size:0x1 data:byte +__OSReport_enable = .sbss:0x8053A764; // type:object size:0x1 data:byte __OSReport_MonopolyThread = .sbss:0x8053A768; // type:object size:0x4 scope:global align:4 data:4byte print_counts = .sbss:0x8053A76C; // type:object size:0x4 scope:global align:4 data:4byte print_errors = .sbss:0x8053A770; // type:object size:0x4 scope:global align:4 data:4byte print_warings = .sbss:0x8053A774; // type:object size:0x4 scope:global align:4 data:4byte print_systems = .sbss:0x8053A778; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8053A77C = .sbss:0x8053A77C; // type:object size:0x1 data:byte +print_initialized = .sbss:0x8053A77C; // type:object size:0x1 data:byte lbl_8053A77D = .sbss:0x8053A77D; // type:object size:0x1 data:byte -lbl_8053A780 = .sbss:0x8053A780; // type:object size:0x1 data:byte -lbl_8053A781 = .sbss:0x8053A781; // type:object size:0x1 data:byte -lbl_8053A782 = .sbss:0x8053A782; // type:object size:0x1 data:byte +mInitFlag__17mDoAud_zelAudio_c = .sbss:0x8053A780; // type:object size:0x1 data:byte +mResetFlag__17mDoAud_zelAudio_c = .sbss:0x8053A781; // type:object size:0x1 data:byte +mBgmSet__17mDoAud_zelAudio_c = .sbss:0x8053A782; // type:object size:0x1 data:byte g_mDoAud_audioHeap = .sbss:0x8053A784; // type:object size:0x4 scope:global align:4 data:4byte l_affCommand = .sbss:0x8053A788; // type:object size:0x4 scope:global align:4 data:4byte l_arcCommand = .sbss:0x8053A78C; // type:object size:0x4 scope:global align:4 data:4byte @@ -28067,21 +28092,15 @@ mZbufferTimg__13mDoGph_gInf_c = .sbss:0x8053A7F4; // type:object size:0x4 scope: mZbufferTex__13mDoGph_gInf_c = .sbss:0x8053A7F8; // type:object size:0x4 scope:global align:4 data:4byte mFadeRate__13mDoGph_gInf_c = .sbss:0x8053A7FC; // type:object size:0x4 scope:global align:4 data:float mFadeSpeed__13mDoGph_gInf_c = .sbss:0x8053A800; // type:object size:0x4 scope:global align:4 data:float -lbl_8053A804 = .sbss:0x8053A804; // type:object size:0x1 data:byte -lbl_8053A805 = .sbss:0x8053A805; // type:object size:0x1 data:byte -lbl_8053A806 = .sbss:0x8053A806; // type:object size:0x1 data:byte -lbl_8053A807 = .sbss:0x8053A807; // type:object size:0x1 data:byte -lbl_8053A808 = .sbss:0x8053A808; // type:object size:0x1 data:byte -lbl_8053A809 = .sbss:0x8053A809; // type:object size:0x1 data:byte -lbl_8053A80A = .sbss:0x8053A80A; // type:object size:0x1 data:byte -lbl_8053A80B = .sbss:0x8053A80B; // type:object size:0x1 data:byte -lbl_8053A80C = .sbss:0x8053A80C; // type:object size:0x1 data:byte -lbl_8053A80D = .sbss:0x8053A80D; // type:object size:0x1 data:byte -lbl_8053A80E = .sbss:0x8053A80E; // type:object size:0x1 data:byte -lbl_8053A80F = .sbss:0x8053A80F; // type:object size:0x1 data:byte +mBackColor__13mDoGph_gInf_c = .sbss:0x8053A804; // type:object size:0x4 data:byte +mFadeColor__13mDoGph_gInf_c = .sbss:0x8053A808; // type:object size:0x4 data:byte +mBlureFlag__13mDoGph_gInf_c = .sbss:0x8053A80C; // type:object size:0x1 data:byte +mBlureRate__13mDoGph_gInf_c = .sbss:0x8053A80D; // type:object size:0x1 data:byte +mFade__13mDoGph_gInf_c = .sbss:0x8053A80E; // type:object size:0x1 data:byte +mAutoForcus__13mDoGph_gInf_c = .sbss:0x8053A80F; // type:object size:0x1 data:byte lbl_8053A810 = .sbss:0x8053A810; // type:object size:0x1 data:byte m_blurID__Q213mDoGph_gInf_c5csr_c = .sbss:0x8053A814; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8053A818 = .sbss:0x8053A818; // type:object size:0x1 data:byte +mWideZoom__13mDoGph_gInf_c = .sbss:0x8053A818; // type:object size:0x1 data:byte m_minX__13mDoGph_gInf_c = .sbss:0x8053A81C; // type:object size:0x4 scope:global align:4 data:4byte m_minY__13mDoGph_gInf_c = .sbss:0x8053A820; // type:object size:0x4 scope:global align:4 data:4byte m_minXF__13mDoGph_gInf_c = .sbss:0x8053A824; // type:object size:0x4 scope:global align:4 data:float @@ -28103,7 +28122,7 @@ lbl_8053A865 = .sbss:0x8053A865; // type:object size:0x1 data:byte lbl_8053A866 = .sbss:0x8053A866; // type:object size:0x1 data:byte lbl_8053A867 = .sbss:0x8053A867; // type:object size:0x1 data:byte l_oldButton$90458 = .sbss:0x8053A868; // type:object size:0x4 scope:local align:4 data:4byte -lbl_8053A870 = .sbss:0x8053A870; // type:object size:0x8 +mDoMtx_stack = .sbss:0x8053A870; // type:object size:0x1 AssertHeap = .sbss:0x8053A878; // type:object size:0x4 scope:global align:4 data:4byte DbPrintHeap = .sbss:0x8053A87C; // type:object size:0x4 scope:global align:4 data:4byte gameHeap = .sbss:0x8053A880; // type:object size:0x4 scope:global align:4 data:4byte @@ -28125,9 +28144,9 @@ aram_cache_size = .sbss:0x8053A8BC; // type:object size:0x4 scope:global align:4 mSystemFar__14mDoLib_clipper = .sbss:0x8053A8C0; // type:object size:0x4 scope:global align:4 data:float mFovyRate__14mDoLib_clipper = .sbss:0x8053A8C4; // type:object size:0x4 scope:global align:4 data:float mResetData__6mDoRst = .sbss:0x8053A8C8; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8053A8D0 = .sbss:0x8053A8D0; // type:object size:0x1 data:byte -lbl_8053A8D1 = .sbss:0x8053A8D1; // type:object size:0x7 data:byte -lbl_8053A8D8 = .sbss:0x8053A8D8; // type:object size:0x1 data:byte +SyncWidthSound__9mDoDvdThd = .sbss:0x8053A8D0; // type:object size:0x1 data:byte +sDefaultDirection = .sbss:0x8053A8D1; // type:object size:0x1 data:byte +mDoDvdErr_initialized = .sbss:0x8053A8D8; // type:object size:0x1 data:byte sConsole = .sbss:0x8053A8E0; // type:object size:0x4 scope:global align:4 data:4byte cDmr_SkipInfo = .sbss:0x8053A8E8; // type:object size:0x1 data_80450C99 = .sbss:0x8053A8E9; // type:object size:0x1 @@ -28168,10 +28187,10 @@ g_fpcPf_ProfileList_p = .sbss:0x8053A980; // type:object size:0x4 scope:global a tmp_name$50691 = .sbss:0x8053A988; // type:object size:0x8 scope:local align:1 data:byte mProcID__20dStage_roomControl_c = .sbss:0x8053A990; // type:object size:0x4 scope:global align:4 data:4byte mStayNo__20dStage_roomControl_c = .sbss:0x8053A994; // type:object size:0x1 data:byte -lbl_8053A995 = .sbss:0x8053A995; // type:object size:0x1 data:byte -lbl_8053A996 = .sbss:0x8053A996; // type:object size:0x1 data:byte -lbl_8053A997 = .sbss:0x8053A997; // type:object size:0x1 data:byte -lbl_8053A998 = .sbss:0x8053A998; // type:object size:0x1 data:byte +mOldStayNo__20dStage_roomControl_c = .sbss:0x8053A995; // type:object size:0x1 data:byte +mNextStayNo__20dStage_roomControl_c = .sbss:0x8053A996; // type:object size:0x1 data:byte +m_time_pass__20dStage_roomControl_c = .sbss:0x8053A997; // type:object size:0x1 data:byte +mNoChangeRoom__20dStage_roomControl_c = .sbss:0x8053A998; // type:object size:0x1 data:byte mArcBankName__20dStage_roomControl_c = .sbss:0x8053A99C; // type:object size:0x4 scope:global align:4 data:4byte mArcBankData__20dStage_roomControl_c = .sbss:0x8053A9A0; // type:object size:0x4 scope:global align:4 data:4byte m_roomDzs__20dStage_roomControl_c = .sbss:0x8053A9A4; // type:object size:0x8 scope:global align:4 @@ -28179,10 +28198,7 @@ m_res__22dMap_HIO_prm_res_dst_s = .sbss:0x8053A9B0; // type:object size:0x4 scop m_baseCsr__13dComIfG_inf_c = .sbss:0x8053A9B8; // type:object size:0x4 scope:global align:4 data:4byte m_navi__Q213dComIfG_inf_c9baseCsr_c = .sbss:0x8053A9BC; // type:object size:0x4 scope:global align:4 data:4byte lbl_8053A9C0 = .sbss:0x8053A9C0; // type:object size:0x1 data:byte -lbl_8053A9C1 = .sbss:0x8053A9C1; // type:object size:0x1 data:byte -lbl_8053A9C2 = .sbss:0x8053A9C2; // type:object size:0x1 data:byte -lbl_8053A9C3 = .sbss:0x8053A9C3; // type:object size:0x1 data:byte -lbl_8053A9C4 = .sbss:0x8053A9C4; // type:object size:0x1 data:byte +g_clearColor = .sbss:0x8053A9C1; // type:object size:0x4 data:byte g_dComIfAc_gameInfo = .sbss:0x8053A9C8; // type:object size:0x8 scope:global align:4 g_dComIfGoat_gameInfo = .sbss:0x8053A9D0; // type:object size:0x4 scope:global align:4 data:4byte m_count__9daArrow_c = .sbss:0x8053A9D8; // type:object size:0x2 scope:global align:2 @@ -28235,9 +28251,9 @@ lbl_8053AA90 = .sbss:0x8053AA90; // type:object size:0x1 data:byte lbl_8053AA91 = .sbss:0x8053AA91; // type:object size:0x1 data:byte it$98928 = .sbss:0x8053AA94; // type:object size:0x4 scope:local align:4 data:4byte lbl_8053AA98 = .sbss:0x8053AA98; // type:object size:0x8 data:byte -lbl_8053AAA0 = .sbss:0x8053AAA0; // type:object size:0x1 data:byte +mNowStayFloorNo__10dMapInfo_c = .sbss:0x8053AAA0; // type:object size:0x1 data:byte mNowStayRoomNo__10dMapInfo_c = .sbss:0x8053AAA4; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8053AAA8 = .sbss:0x8053AAA8; // type:object size:0x1 data:byte +mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x8053AAA8; // type:object size:0x1 data:byte mLayerList__8dMpath_c = .sbss:0x8053AAAC; // type:object size:0x4 scope:global align:4 data:4byte mAllCenterX__8dMpath_c = .sbss:0x8053AAB0; // type:object size:0x4 scope:global align:4 data:float mAllCenterZ__8dMpath_c = .sbss:0x8053AAB4; // type:object size:0x4 scope:global align:4 data:float @@ -28690,18 +28706,18 @@ lbl_8053B280 = .sbss:0x8053B280; // type:object size:0x1 data:byte sCurrentFifo__12JUTGraphFifo = .sbss:0x8053B284; // type:object size:0x4 scope:global align:4 data:4byte lbl_8053B288 = .sbss:0x8053B288; // type:object size:0x8 sDebugPrint__10JUTDbPrint = .sbss:0x8053B290; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8053B298 = .sbss:0x8053B298; // type:object size:0x1 data:byte -lbl_8053B299 = .sbss:0x8053B299; // type:object size:0x1 data:byte +mListInitialized__10JUTGamePad = .sbss:0x8053B298; // type:object size:0x1 data:byte +mPadAssign__10JUTGamePad = .sbss:0x8053B299; // type:object size:0x4 data:byte sSuppressPadReset__10JUTGamePad = .sbss:0x8053B2A0; // type:object size:0x4 scope:global align:4 data:4byte sAnalogMode__10JUTGamePad = .sbss:0x8053B2A4; // type:object size:0x4 scope:global align:4 data:4byte sRumbleSupported__10JUTGamePad = .sbss:0x8053B2A8; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8053B2AC = .sbss:0x8053B2AC; // type:object size:0x1 data:byte +mStatus__Q210JUTGamePad7CRumble = .sbss:0x8053B2AC; // type:object size:0x4 data:byte mEnabled__Q210JUTGamePad7CRumble = .sbss:0x8053B2B0; // type:object size:0x4 scope:global align:4 data:4byte sCallback__Q210JUTGamePad13C3ButtonReset = .sbss:0x8053B2B4; // type:object size:0x4 scope:global align:4 data:4byte sCallbackArg__Q210JUTGamePad13C3ButtonReset = .sbss:0x8053B2B8; // type:object size:0x4 scope:global align:4 data:4byte sThreshold__Q210JUTGamePad13C3ButtonReset = .sbss:0x8053B2C0; // type:object size:0x8 scope:global align:4 data:4byte -lbl_8053B2C8 = .sbss:0x8053B2C8; // type:object size:0x1 data:byte -lbl_8053B2C9 = .sbss:0x8053B2C9; // type:object size:0x1 data:byte +sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset = .sbss:0x8053B2C8; // type:object size:0x1 data:byte +sResetOccurred__Q210JUTGamePad13C3ButtonReset = .sbss:0x8053B2C9; // type:object size:0x1 data:byte sResetOccurredPort__Q210JUTGamePad13C3ButtonReset = .sbss:0x8053B2CC; // type:object size:0x4 scope:global align:4 data:4byte sErrorManager__12JUTException = .sbss:0x8053B2D0; // type:object size:0x4 scope:global align:4 data:4byte sPreUserCallback__12JUTException = .sbss:0x8053B2D4; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/RZDE01_02/rels/d_a_e_tk/symbols.txt b/config/RZDE01_02/rels/d_a_e_tk/symbols.txt index 37c5e956bf..18a0fc9edc 100644 --- a/config/RZDE01_02/rels/d_a_e_tk/symbols.txt +++ b/config/RZDE01_02/rels/d_a_e_tk/symbols.txt @@ -63,6 +63,6 @@ lbl_238_data_104 = .data:0x00000104; // type:object size:0xD data:string @93851 = .data:0x00000114; // type:object size:0xC scope:local align:4 __RTTI__12daE_TK_HIO_c = .data:0x00000120; // type:object size:0x8 scope:global align:4 __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global align:4 -lbl_238_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +hio_set = .bss:0x00000008; // type:object size:0x1 data:byte @93233 = .bss:0x0000000C; // type:object size:0xC scope:local align:4 l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global align:4 data:byte diff --git a/config/RZDE01_02/rels/d_a_e_tk2/symbols.txt b/config/RZDE01_02/rels/d_a_e_tk2/symbols.txt index f68be15cb1..f01fa8d4a2 100644 --- a/config/RZDE01_02/rels/d_a_e_tk2/symbols.txt +++ b/config/RZDE01_02/rels/d_a_e_tk2/symbols.txt @@ -58,6 +58,6 @@ lbl_239_data_D8 = .data:0x000000D8; // type:object size:0xE data:string @93703 = .data:0x000000E8; // type:object size:0xC scope:local align:4 __RTTI__13daE_TK2_HIO_c = .data:0x000000F4; // type:object size:0x8 scope:global align:4 __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global align:4 -lbl_239_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +hio_set = .bss:0x00000008; // type:object size:0x1 data:byte @93233 = .bss:0x0000000C; // type:object size:0xC scope:local align:4 l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global align:4 data:byte diff --git a/config/RZDE01_02/splits.txt b/config/RZDE01_02/splits.txt index b21e4f3b18..87abd0a5b2 100644 --- a/config/RZDE01_02/splits.txt +++ b/config/RZDE01_02/splits.txt @@ -22,7 +22,7 @@ d/d_home_button.cpp: d/d_cursor_mng.cpp: .text start:0x800073D4 end:0x8000820C .data start:0x803E0978 end:0x803E0AA0 - .sdata start:0x8051D5A8 end:0x8051D5E4 + .sdata start:0x8051D5A8 end:0x8051D5E0 .sbss start:0x80520728 end:0x80520740 .sdata2 start:0x805219F8 end:0x80521A10 @@ -31,15 +31,15 @@ m_Do/m_Do_main.cpp: .ctors start:0x803B8C84 end:0x803B8C88 .data start:0x803E0AA0 end:0x803E0DB8 .bss start:0x80431040 end:0x804314A0 - .sdata start:0x8051D5E4 end:0x8051D660 - .sbss start:0x80520740 end:0x80520768 + .sdata start:0x8051D5E0 end:0x8051D660 + .sbss start:0x80520740 end:0x80520760 .sdata2 start:0x80521A10 end:0x80521A28 m_Do/m_Do_printf.cpp: .text start:0x80009024 end:0x8000973C .data start:0x803E0DB8 end:0x803E0E70 .bss start:0x804314A0 end:0x80431CA0 - .sbss start:0x80520768 end:0x80520784 + .sbss start:0x80520760 end:0x80520780 m_Do/m_Do_audio.cpp: .text start:0x8000973C end:0x8000A0E0 @@ -47,7 +47,7 @@ m_Do/m_Do_audio.cpp: .data start:0x803E0E70 end:0x803E10E8 .bss start:0x80431CA0 end:0x80433058 .sdata start:0x8051D660 end:0x8051D6CC - .sbss start:0x80520784 end:0x805207D4 + .sbss start:0x80520780 end:0x805207D4 m_Do/m_Do_controller_pad.cpp: .text start:0x8000A0E0 end:0x8000A4F0 @@ -74,7 +74,7 @@ m_Do/m_Do_machine.cpp: .text start:0x80011B60 end:0x80012854 .data start:0x803E1100 end:0x803E1468 .sdata start:0x8051D710 end:0x8051D740 - .sbss start:0x80520844 end:0x80520878 + .sbss start:0x80520844 end:0x80520870 .sdata2 start:0x80521BC0 end:0x80521BC8 m_Do/m_Do_mtx.cpp: @@ -83,6 +83,7 @@ m_Do/m_Do_mtx.cpp: .data start:0x803E1468 end:0x803E1500 .bss start:0x8043AB08 end:0x8043AF70 .sdata start:0x8051D740 end:0x8051D750 + .sbss start:0x80520870 end:0x80520878 .sdata2 start:0x80521BC8 end:0x80521BD8 m_Do/m_Do_ext.cpp: @@ -103,7 +104,7 @@ m_Do/m_Do_lib.cpp: m_Do/m_Do_Reset.cpp: .text start:0x8001AAB0 end:0x8001ACE0 - .sbss start:0x805208D0 end:0x805208E8 + .sbss start:0x805208D0 end:0x805208D8 m_Do/m_Do_dvd_thread.cpp: .text start:0x8001ACE0 end:0x8001B9FC @@ -111,10 +112,12 @@ m_Do/m_Do_dvd_thread.cpp: .data start:0x803E1D10 end:0x803E2058 .bss start:0x8043AFE0 end:0x8043D360 .sdata start:0x8051D810 end:0x8051D858 + .sbss start:0x805208D8 end:0x805208E0 m_Do/m_Do_DVDError.cpp: .text start:0x8001B9FC end:0x8001BB68 .bss start:0x8043D360 end:0x8043F6C0 + .sbss start:0x805208E0 end:0x805208E8 m_Do/m_Do_MemCard.cpp: .text start:0x8001BB68 end:0x8001CEC0 @@ -338,7 +341,7 @@ f_pc/f_pc_node_req.cpp: f_pc/f_pc_priority.cpp: .text start:0x80027F0C end:0x80028250 .bss start:0x804689F8 end:0x80468A08 - .sdata start:0x8051D970 end:0x8051D9A8 + .sdata start:0x8051D970 end:0x8051D978 f_pc/f_pc_profile.cpp: .text start:0x80028250 end:0x80028260 @@ -378,7 +381,7 @@ d/d_stage.cpp: .ctors start:0x803B8CAC end:0x803B8CB0 .data start:0x803E5848 end:0x803E90F8 .bss start:0x80468A08 end:0x80479ED0 - .sdata start:0x8051D9A8 end:0x8051D9DC + .sdata start:0x8051D978 end:0x8051D9C0 .sbss start:0x80520990 end:0x805209B8 .sdata2 start:0x80521D28 end:0x80521D38 @@ -386,7 +389,7 @@ d/d_map.cpp: .text start:0x8002CD10 end:0x8002F47C .rodata start:0x803BA670 end:0x803BA750 .data start:0x803E90F8 end:0x803E94F8 - .sdata start:0x8051D9DC end:0x8051DB6C + .sdata start:0x8051D9C0 end:0x8051DB6C .sbss start:0x805209B8 end:0x805209C0 .sdata2 start:0x80521D38 end:0x80521D98 @@ -2450,7 +2453,7 @@ revolution/homebuttonLib/nw4hbm/lyt/lyt_textBox.cpp: .text start:0x802C4164 end:0x802C5794 .ctors start:0x803B8DD4 end:0x803B8DD8 .data start:0x80411760 end:0x804117D8 - .sdata start:0x80520168 end:0x80520178 + .sdata start:0x80520168 end:0x80520170 .sbss start:0x805210F8 end:0x80521100 .sdata2 start:0x80525E68 end:0x80525E80 @@ -2510,7 +2513,7 @@ revolution/homebuttonLib/nw4hbm/ut/ut_ResFontBase.cpp: revolution/homebuttonLib/nw4hbm/ut/ut_TagProcessorBase.cpp: .text start:0x802CA798 end:0x802CAF58 - .data start:0x80412AF0 end:0x80412B48 + .data start:0x80412AF0 end:0x80412B18 .sdata2 start:0x80525ED8 end:0x80525EE0 revolution/homebuttonLib/nw4hbm/ut/ut_TextWriterBase.cpp: @@ -2522,13 +2525,14 @@ revolution/homebuttonLib/nw4hbm/ut/ut_TextWriterBase.cpp: JSystem/JKernel/JKRHeap.cpp: .text start:0x802CC984 end:0x802CD5BC - .data start:0x80412B48 end:0x80412BA8 - .sdata start:0x80520178 end:0x805201A8 + .data start:0x80412B18 end:0x80412BA8 + .sdata start:0x80520170 end:0x80520180 .sbss start:0x80521120 end:0x80521150 JSystem/JKernel/JKRExpHeap.cpp: .text start:0x802CD5BC end:0x802CF184 .data start:0x80412BA8 end:0x80412F50 + .sdata start:0x80520180 end:0x805201A0 .sbss start:0x80521150 end:0x80521168 .sdata2 start:0x80525EF8 end:0x80525F08 @@ -2548,17 +2552,18 @@ JSystem/JKernel/JKRDisposer.cpp: JSystem/JKernel/JKRThread.cpp: .text start:0x802CFC64 end:0x802D096C .ctors start:0x803B8DE0 end:0x803B8DE4 - .data start:0x80413178 end:0x804132B4 + .data start:0x80413178 end:0x80413288 .bss start:0x804A8D60 end:0x804A8DB0 + .sdata start:0x805201A0 end:0x805201A8 .sbss start:0x80521168 end:0x80521188 .sdata2 start:0x80525F20 end:0x80525F30 JSystem/JKernel/JKRAram.cpp: .text start:0x802D096C end:0x802D178C .ctors start:0x803B8DE4 end:0x803B8DE8 - .data start:0x804132B4 end:0x804132C8 + .data start:0x80413288 end:0x804132C8 .bss start:0x804A8DB0 end:0x804A8E10 - .sdata start:0x805201A8 end:0x805201C4 + .sdata start:0x805201A8 end:0x805201B0 .sbss start:0x80521188 end:0x805211C8 JSystem/JKernel/JKRAramHeap.cpp: @@ -2574,12 +2579,12 @@ JSystem/JKernel/JKRAramBlock.cpp: JSystem/JKernel/JKRAramPiece.cpp: .text start:0x802D1F28 end:0x802D24A4 .ctors start:0x803B8DEC end:0x803B8DF0 - .data start:0x804132E8 end:0x8041337C + .data start:0x804132E8 end:0x80413350 .bss start:0x804A8E28 end:0x804A8E58 JSystem/JKernel/JKRAramStream.cpp: .text start:0x802D24A4 end:0x802D2A1C - .data start:0x8041337C end:0x80413390 + .data start:0x80413350 end:0x80413390 .bss start:0x804A8E58 end:0x804A8E88 .sbss start:0x805211C8 end:0x805211D8 @@ -2588,6 +2593,7 @@ JSystem/JKernel/JKRFileLoader.cpp: .ctors start:0x803B8DF0 end:0x803B8DF4 .data start:0x80413390 end:0x804133D0 .bss start:0x804A8E88 end:0x804A8EA0 + .sdata start:0x805201B0 end:0x805201B8 .sbss start:0x805211D8 end:0x805211E0 JSystem/JKernel/JKRFileFinder.cpp: @@ -2597,10 +2603,11 @@ JSystem/JKernel/JKRFileFinder.cpp: JSystem/JKernel/JKRFileCache.cpp: .text start:0x802D3320 end:0x802D40B8 .data start:0x80413400 end:0x80413450 + .sdata start:0x805201B8 end:0x805201C0 JSystem/JKernel/JKRArchivePub.cpp: .text start:0x802D40B8 end:0x802D4BA8 - .data start:0x80413450 end:0x804134C4 + .data start:0x80413450 end:0x804134A0 JSystem/JKernel/JKRArchivePri.cpp: .text start:0x802D4BA8 end:0x802D52F8 @@ -2608,19 +2615,19 @@ JSystem/JKernel/JKRArchivePri.cpp: JSystem/JKernel/JKRMemArchive.cpp: .text start:0x802D52F8 end:0x802D59A8 - .data start:0x804134C4 end:0x80413540 + .data start:0x804134A0 end:0x80413518 JSystem/JKernel/JKRAramArchive.cpp: .text start:0x802D59A8 end:0x802D65D0 - .data start:0x80413540 end:0x80413590 + .data start:0x80413518 end:0x80413590 JSystem/JKernel/JKRDvdArchive.cpp: .text start:0x802D65D0 end:0x802D711C - .data start:0x80413590 end:0x80413688 + .data start:0x80413590 end:0x80413650 JSystem/JKernel/JKRCompArchive.cpp: .text start:0x802D711C end:0x802D7DE4 - .data start:0x80413688 end:0x80413700 + .data start:0x80413650 end:0x804136D8 JSystem/JKernel/JKRFile.cpp: .text start:0x802D7DE4 end:0x802D7E50 @@ -2628,7 +2635,7 @@ JSystem/JKernel/JKRFile.cpp: JSystem/JKernel/JKRDvdFile.cpp: .text start:0x802D7E50 end:0x802D847C .ctors start:0x803B8DF4 end:0x803B8DF8 - .data start:0x80413700 end:0x80413748 + .data start:0x804136D8 end:0x80413748 .bss start:0x804A8EA0 end:0x804A8EB8 JSystem/JKernel/JKRDvdRipper.cpp: @@ -2636,7 +2643,7 @@ JSystem/JKernel/JKRDvdRipper.cpp: .ctors start:0x803B8DF8 end:0x803B8DFC .data start:0x80413748 end:0x804137A0 .bss start:0x804A8EB8 end:0x804A8EE8 - .sdata start:0x805201C4 end:0x805201CC + .sdata start:0x805201C0 end:0x805201CC .sbss start:0x805211E8 end:0x80521228 JSystem/JKernel/JKRDvdAramRipper.cpp: @@ -2650,7 +2657,7 @@ JSystem/JKernel/JKRDecomp.cpp: .text start:0x802D9E08 end:0x802DA4EC .data start:0x804137A0 end:0x804137B0 .bss start:0x804A8F18 end:0x804A8F58 - .sbss start:0x80521270 end:0x8052127C + .sbss start:0x80521270 end:0x80521278 JSystem/JSupport/JSUList.cpp: .text start:0x802DA4EC end:0x802DA92C @@ -2678,7 +2685,7 @@ JSystem/JGadget/std-vector.cpp: JSystem/JUtility/JUTCacheFont.cpp: .text start:0x802DB7C4 end:0x802DC684 - .data start:0x80413818 end:0x80413908 + .data start:0x80413818 end:0x804138D8 .sdata2 start:0x80525F30 end:0x80525F38 JSystem/JUtility/JUTResource.cpp: @@ -2690,6 +2697,7 @@ JSystem/JUtility/JUTTexture.cpp: JSystem/JUtility/JUTPalette.cpp: .text start:0x802DCE18 end:0x802DCF04 + .data start:0x804138D8 end:0x80413908 JSystem/JUtility/JUTNameTab.cpp: .text start:0x802DCF04 end:0x802DD0F4 @@ -2698,16 +2706,16 @@ JSystem/JUtility/JUTNameTab.cpp: JSystem/JUtility/JUTGraphFifo.cpp: .text start:0x802DD0F4 end:0x802DD284 .data start:0x80413918 end:0x80413928 - .sbss start:0x8052127C end:0x80521288 + .sbss start:0x80521278 end:0x80521288 JSystem/JUtility/JUTFont.cpp: .text start:0x802DD284 end:0x802DD4FC - .data start:0x80413928 end:0x804139A4 + .data start:0x80413928 end:0x80413970 JSystem/JUtility/JUTResFont.cpp: .text start:0x802DD4FC end:0x802DE60C .rodata start:0x803DAA78 end:0x803DAB60 - .data start:0x804139A4 end:0x804139F0 + .data start:0x80413970 end:0x804139F0 .sdata2 start:0x80525F50 end:0x80525F68 JSystem/JUtility/JUTFontData_Ascfont_fix12.cpp: @@ -2715,7 +2723,7 @@ JSystem/JUtility/JUTFontData_Ascfont_fix12.cpp: JSystem/JUtility/JUTDbPrint.cpp: .text start:0x802DE60C end:0x802DEB68 - .sbss start:0x80521288 end:0x80521298 + .sbss start:0x80521288 end:0x80521290 .sdata2 start:0x80525F68 end:0x80525F78 JSystem/JUtility/JUTGamePad.cpp: @@ -2723,8 +2731,8 @@ JSystem/JUtility/JUTGamePad.cpp: .ctors start:0x803B8E00 end:0x803B8E04 .data start:0x804139F0 end:0x80413A20 .bss start:0x804A8F58 end:0x804A90F8 - .sdata start:0x805201D0 end:0x80520228 - .sbss start:0x80521298 end:0x805212C8 + .sdata start:0x805201D0 end:0x805201E8 + .sbss start:0x80521290 end:0x805212C8 .sdata2 start:0x80525F78 end:0x80525F98 JSystem/JUtility/JUTException.cpp: @@ -2732,17 +2740,20 @@ JSystem/JUtility/JUTException.cpp: .ctors start:0x803B8E04 end:0x803B8E08 .data start:0x80413A20 end:0x80413F58 .bss start:0x804A90F8 end:0x804A9570 + .sdata start:0x805201E8 end:0x80520218 .sbss start:0x805212C8 end:0x805212F0 .sdata2 start:0x80525F98 end:0x80525FA8 JSystem/JUtility/JUTDirectPrint.cpp: .text start:0x802E21E0 end:0x802E28C0 .data start:0x80413F58 end:0x80414220 + .sdata start:0x80520218 end:0x80520220 .sbss start:0x805212F0 end:0x805212F8 .sdata2 start:0x80525FA8 end:0x80526000 JSystem/JUtility/JUTAssert.cpp: .text start:0x802E28C0 end:0x802E2B9C + .sdata start:0x80520220 end:0x80520228 .sbss start:0x805212F8 end:0x80521300 .sdata2 start:0x80526000 end:0x80526018 @@ -2757,18 +2768,19 @@ JSystem/JUtility/JUTXfb.cpp: JSystem/JUtility/JUTFader.cpp: .text start:0x802E33AC end:0x802E36C0 - .data start:0x80414230 end:0x80414254 + .data start:0x80414230 end:0x80414248 .sdata2 start:0x80526018 end:0x80526020 JSystem/JUtility/JUTProcBar.cpp: .text start:0x802E36C0 end:0x802E4E70 - .sdata start:0x80520228 end:0x80520298 + .sdata start:0x80520228 end:0x80520230 .sbss start:0x80521320 end:0x80521330 .sdata2 start:0x80526020 end:0x80526060 JSystem/JUtility/JUTConsole.cpp: .text start:0x802E4E70 end:0x802E618C - .data start:0x80414254 end:0x80414260 + .data start:0x80414248 end:0x80414260 + .sdata start:0x80520230 end:0x80520238 .sbss start:0x80521330 end:0x80521340 .sdata2 start:0x80526060 end:0x80526090 @@ -2835,6 +2847,7 @@ JSystem/J2DGraph/J2DPicture.cpp: JSystem/J2DGraph/J2DTextBox.cpp: .text start:0x802FC6C4 end:0x802FDBB4 .data start:0x80414AD8 end:0x80414B98 + .sdata start:0x80520238 end:0x80520240 .sdata2 start:0x805261C8 end:0x805261E8 JSystem/J2DGraph/J2DWindowEx.cpp: @@ -2853,6 +2866,7 @@ JSystem/J2DGraph/J2DTextBoxEx.cpp: .text start:0x80303B14 end:0x80305358 .rodata start:0x803DEE08 end:0x803DEE40 .data start:0x80414DB8 end:0x80414E78 + .sdata start:0x80520240 end:0x80520248 .sdata2 start:0x80526220 end:0x80526240 JSystem/J2DGraph/J2DAnmLoader.cpp: @@ -2871,6 +2885,7 @@ JSystem/J2DGraph/J2DManage.cpp: JSystem/J3DGraphBase/J3DGD.cpp: .text start:0x80309580 end:0x8030AE48 .data start:0x80414FA8 end:0x80415050 + .sdata start:0x80520248 end:0x80520298 .sdata2 start:0x80526278 end:0x805262B8 JSystem/J3DGraphBase/J3DSys.cpp: diff --git a/config/RZDE01_02/symbols.txt b/config/RZDE01_02/symbols.txt index 52d2eff088..eadd9d0d4d 100644 --- a/config/RZDE01_02/symbols.txt +++ b/config/RZDE01_02/symbols.txt @@ -24800,8 +24800,8 @@ l_RoomKeepDoorInfo = .bss:0x80469324; // type:object size:0x904 scope:global ali @97897 = .bss:0x80469C28; // type:object size:0xC scope:local align:4 mStatus__20dStage_roomControl_c = .bss:0x80469C34; // type:object size:0x10100 scope:global align:4 data:4byte mMemoryBlock__20dStage_roomControl_c = .bss:0x80479D34; // type:object size:0x4C scope:global align:4 -lbl_80479D80 = .bss:0x80479D80; // type:object size:0xA data:byte -lbl_80479D8A = .bss:0x80479D8A; // type:object size:0x146 +mDemoArcName__20dStage_roomControl_c = .bss:0x80479D80; // type:object size:0xA data:byte +mArcBank__20dStage_roomControl_c = .bss:0x80479D8A; // type:object size:0x146 ...bss.0 = .bss:0x80479ED0; // type:label scope:local align:4 dComIfG_mTimerInfo = .bss:0x80479ED0; // type:object size:0x14 scope:global align:4 @109549 = .bss:0x80479EE4; // type:object size:0xC scope:local align:4 @@ -25371,8 +25371,8 @@ exCallbackObject = .bss:0x804A9118; // type:object size:0x14 scope:global align: sMapFileList__12JUTException = .bss:0x804A9138; // type:object size:0xC scope:global align:4 data:4byte c3bcnt = .bss:0x804A9148; // type:object size:0x20 scope:global align:4 data:4byte context$45953 = .bss:0x804A9168; // type:object size:0x2C8 scope:global align:4 -lbl_804A9430 = .bss:0x804A9430; // type:object size:0x40 -lbl_804A9470 = .bss:0x804A9470; // type:object size:0x100 +sMessageFileLine__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .bss:0x804A9430; // type:object size:0x40 +sMessageString__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .bss:0x804A9470; // type:object size:0x100 static_mBounds__7J2DPane = .bss:0x804A9570; // type:object size:0x10 scope:global align:4 lbl_804A9580 = .bss:0x804A9580; // type:object size:0x120 data:byte j3dSys = .bss:0x804A96A0; // type:object size:0x11C scope:global align:4 @@ -25565,7 +25565,7 @@ __RTTI__Q310dCsr_mng_c8bloObj_c9paneObj_c = .sdata:0x8051D5C0; // type:object si __RTTI__Q210dCsr_mng_c5obj_c = .sdata:0x8051D5C8; // type:object size:0x8 scope:global align:4 __RTTI__Q210dCsr_mng_c6list_c = .sdata:0x8051D5D0; // type:object size:0x8 scope:global align:4 __RTTI__Q210dCsr_mng_c6node_c = .sdata:0x8051D5D8; // type:object size:0x8 scope:global align:4 -lbl_8051D5E0 = .sdata:0x8051D5E0; // type:object size:0x1 data:byte +developmentMode__7mDoMain = .sdata:0x8051D5E0; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x8051D5E4; // type:object size:0x4 scope:global align:4 data:4byte lbl_8051D5E8 = .sdata:0x8051D5E8; // type:object size:0x1 data:byte lbl_8051D5E9 = .sdata:0x8051D5E9; // type:object size:0x3 @@ -25602,7 +25602,7 @@ __RTTI__28JASGlobalInstance<8Z2SeqMgr> = .sdata:0x8051D6A8; // type:object size: lbl_8051D6B0 = .sdata:0x8051D6B0; // type:object size:0x8 data:string __RTTI__7Z2SeMgr = .sdata:0x8051D6B8; // type:object size:0x8 scope:global align:4 __RTTI__27JASGlobalInstance<7Z2SeMgr> = .sdata:0x8051D6C0; // type:object size:0x8 scope:global align:4 -lbl_8051D6C8 = .sdata:0x8051D6C8; // type:object size:0x1 data:byte +mWide__13mDoGph_gInf_c = .sdata:0x8051D6C8; // type:object size:0x1 data:byte m_aspect__13mDoGph_gInf_c = .sdata:0x8051D6CC; // type:object size:0x4 scope:global align:4 data:float m_scale__13mDoGph_gInf_c = .sdata:0x8051D6D0; // type:object size:0x4 scope:global align:4 data:float m_invScale__13mDoGph_gInf_c = .sdata:0x8051D6D4; // type:object size:0x4 scope:global align:4 data:float @@ -25706,7 +25706,7 @@ lbl_8051D988 = .sdata:0x8051D988; // type:object size:0x8 data:string lbl_8051D990 = .sdata:0x8051D990; // type:object size:0x7 data:string lbl_8051D997 = .sdata:0x8051D997; // type:object size:0x7 data:string lbl_8051D99E = .sdata:0x8051D99E; // type:object size:0x6 data:string -lbl_8051D9A4 = .sdata:0x8051D9A4; // type:object size:0x1 data:byte +mRoomReadId__20dStage_roomControl_c = .sdata:0x8051D9A4; // type:object size:0x1 data:byte __RTTI__16dStage_stageDt_c = .sdata:0x8051D9A8; // type:object size:0x8 scope:global align:4 __RTTI__15dStage_roomDt_c = .sdata:0x8051D9B0; // type:object size:0x8 scope:global align:4 __RTTI__11dStage_dt_c = .sdata:0x8051D9B8; // type:object size:0x8 scope:global align:4 @@ -25761,7 +25761,7 @@ lbl_8051DB33 = .sdata:0x8051DB33; // type:object size:0x8 data:string lbl_8051DB3B = .sdata:0x8051DB3B; // type:object size:0x7 data:string lbl_8051DB42 = .sdata:0x8051DB42; // type:object size:0x5 data:string lbl_8051DB47 = .sdata:0x8051DB47; // type:object size:0x8 data:string -lbl_8051DB4F = .sdata:0x8051DB4F; // type:object size:0x1 data:byte +g_blackColor = .sdata:0x8051DB4F; // type:object size:0x1 data:byte lbl_8051DB50 = .sdata:0x8051DB50; // type:object size:0x1 data:byte lbl_8051DB51 = .sdata:0x8051DB51; // type:object size:0x1 data:byte lbl_8051DB52 = .sdata:0x8051DB52; // type:object size:0x1 data:byte @@ -27304,10 +27304,10 @@ scCursorSRotPaneName__Q210homebutton10HomeButton = .sdata:0x805200C0; // type:ob @3379 = .sdata:0x80520160; // type:object size:0x2 scope:local align:4 data:string @3380 = .sdata:0x80520164; // type:object size:0x3 scope:local align:4 data:string @9572 = .sdata:0x80520168; // type:object size:0x4 scope:local align:4 data:wstring -lbl_80520170 = .sdata:0x80520170; // type:object size:0x1 data:byte +sDefaultFillFlag__7JKRHeap = .sdata:0x80520170; // type:object size:0x1 data:byte lbl_80520171 = .sdata:0x80520171; // type:object size:0x7 data:string ARALT_AramStartAdr = .sdata:0x80520178; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8052017C = .sdata:0x8052017C; // type:object size:0x3 data:string +@STRING@panic__12JUTExceptionFPCciPCc = .sdata:0x8052017C; // type:object size:0x3 data:string lbl_80520180 = .sdata:0x80520180; // type:object size:0x7 data:string lbl_80520187 = .sdata:0x80520187; // type:object size:0x6 data:string lbl_8052018D = .sdata:0x8052018D; // type:object size:0x6 data:string @@ -27318,7 +27318,7 @@ lbl_805201B0 = .sdata:0x805201B0; // type:object size:0x2 data:string lbl_805201B2 = .sdata:0x805201B2; // type:object size:0x2 data:string lbl_805201B8 = .sdata:0x805201B8; // type:object size:0x2 data:string lbl_805201BA = .sdata:0x805201BA; // type:object size:0x4 data:string -lbl_805201C0 = .sdata:0x805201C0; // type:object size:0x1 data:byte +errorRetry__12JKRDvdRipper = .sdata:0x805201C0; // type:object size:0x1 data:byte sSZSBufferSize__12JKRDvdRipper = .sdata:0x805201C4; // type:object size:0x4 scope:global align:4 data:4byte lbl_805201C8 = .sdata:0x805201C8; // type:object size:0x1 data:byte sSZSBufferSize__16JKRDvdAramRipper = .sdata:0x805201CC; // type:object size:0x4 scope:global align:4 data:4byte @@ -27339,7 +27339,7 @@ lbl_80520209 = .sdata:0x80520209; // type:object size:0x8 data:string lbl_80520211 = .sdata:0x80520211; // type:object size:0x1 lbl_80520212 = .sdata:0x80520212; // type:object size:0x5 data:string lbl_80520218 = .sdata:0x80520218; // type:object size:0x3 data:string -lbl_80520220 = .sdata:0x80520220; // type:object size:0x1 data:byte +mVisible__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .sdata:0x80520220; // type:object size:0x1 data:byte oneFrameRate = .sdata:0x80520228; // type:object size:0x4 scope:global align:4 data:float oneFrameRateUser = .sdata:0x8052022C; // type:object size:0x4 scope:global align:4 data:float lbl_80520230 = .sdata:0x80520230; // type:object size:0x4 data:string @@ -27571,21 +27571,21 @@ lbl_80520751 = .sbss:0x80520751; // type:object size:0x1 data:byte lbl_80520752 = .sbss:0x80520752; // type:object size:0x1 data:byte console_scroll$90874 = .sbss:0x80520754; // type:object size:0x4 scope:global align:4 data:float frame$91010 = .sbss:0x80520758; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80520760 = .sbss:0x80520760; // type:object size:0x1 data:byte -lbl_80520761 = .sbss:0x80520761; // type:object size:0x1 data:byte -lbl_80520762 = .sbss:0x80520762; // type:object size:0x1 data:byte -lbl_80520763 = .sbss:0x80520763; // type:object size:0x1 data:byte -lbl_80520764 = .sbss:0x80520764; // type:object size:0x1 data:byte +__OSReport_disable = .sbss:0x80520760; // type:object size:0x1 data:byte +__OSReport_Error_disable = .sbss:0x80520761; // type:object size:0x1 data:byte +__OSReport_Warning_disable = .sbss:0x80520762; // type:object size:0x1 data:byte +__OSReport_System_disable = .sbss:0x80520763; // type:object size:0x1 data:byte +__OSReport_enable = .sbss:0x80520764; // type:object size:0x1 data:byte __OSReport_MonopolyThread = .sbss:0x80520768; // type:object size:0x4 scope:global align:4 data:4byte print_counts = .sbss:0x8052076C; // type:object size:0x4 scope:global align:4 data:4byte print_errors = .sbss:0x80520770; // type:object size:0x4 scope:global align:4 data:4byte print_warings = .sbss:0x80520774; // type:object size:0x4 scope:global align:4 data:4byte print_systems = .sbss:0x80520778; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8052077C = .sbss:0x8052077C; // type:object size:0x1 data:byte +print_initialized = .sbss:0x8052077C; // type:object size:0x1 data:byte lbl_8052077D = .sbss:0x8052077D; // type:object size:0x1 data:byte -lbl_80520780 = .sbss:0x80520780; // type:object size:0x1 data:byte -lbl_80520781 = .sbss:0x80520781; // type:object size:0x1 data:byte -lbl_80520782 = .sbss:0x80520782; // type:object size:0x1 data:byte +mInitFlag__17mDoAud_zelAudio_c = .sbss:0x80520780; // type:object size:0x1 data:byte +mResetFlag__17mDoAud_zelAudio_c = .sbss:0x80520781; // type:object size:0x1 data:byte +mBgmSet__17mDoAud_zelAudio_c = .sbss:0x80520782; // type:object size:0x1 data:byte g_mDoAud_audioHeap = .sbss:0x80520784; // type:object size:0x4 scope:global align:4 data:4byte l_affCommand = .sbss:0x80520788; // type:object size:0x4 scope:global align:4 data:4byte l_arcCommand = .sbss:0x8052078C; // type:object size:0x4 scope:global align:4 data:4byte @@ -27616,21 +27616,15 @@ mZbufferTimg__13mDoGph_gInf_c = .sbss:0x805207F4; // type:object size:0x4 scope: mZbufferTex__13mDoGph_gInf_c = .sbss:0x805207F8; // type:object size:0x4 scope:global align:4 data:4byte mFadeRate__13mDoGph_gInf_c = .sbss:0x805207FC; // type:object size:0x4 scope:global align:4 data:float mFadeSpeed__13mDoGph_gInf_c = .sbss:0x80520800; // type:object size:0x4 scope:global align:4 data:float -lbl_80520804 = .sbss:0x80520804; // type:object size:0x1 data:byte -lbl_80520805 = .sbss:0x80520805; // type:object size:0x1 data:byte -lbl_80520806 = .sbss:0x80520806; // type:object size:0x1 data:byte -lbl_80520807 = .sbss:0x80520807; // type:object size:0x1 data:byte -lbl_80520808 = .sbss:0x80520808; // type:object size:0x1 data:byte -lbl_80520809 = .sbss:0x80520809; // type:object size:0x1 data:byte -lbl_8052080A = .sbss:0x8052080A; // type:object size:0x1 data:byte -lbl_8052080B = .sbss:0x8052080B; // type:object size:0x1 data:byte -lbl_8052080C = .sbss:0x8052080C; // type:object size:0x1 data:byte -lbl_8052080D = .sbss:0x8052080D; // type:object size:0x1 data:byte -lbl_8052080E = .sbss:0x8052080E; // type:object size:0x1 data:byte -lbl_8052080F = .sbss:0x8052080F; // type:object size:0x1 data:byte +mBackColor__13mDoGph_gInf_c = .sbss:0x80520804; // type:object size:0x4 data:byte +mFadeColor__13mDoGph_gInf_c = .sbss:0x80520808; // type:object size:0x4 data:byte +mBlureFlag__13mDoGph_gInf_c = .sbss:0x8052080C; // type:object size:0x1 data:byte +mBlureRate__13mDoGph_gInf_c = .sbss:0x8052080D; // type:object size:0x1 data:byte +mFade__13mDoGph_gInf_c = .sbss:0x8052080E; // type:object size:0x1 data:byte +mAutoForcus__13mDoGph_gInf_c = .sbss:0x8052080F; // type:object size:0x1 data:byte lbl_80520810 = .sbss:0x80520810; // type:object size:0x1 data:byte m_blurID__Q213mDoGph_gInf_c5csr_c = .sbss:0x80520814; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80520818 = .sbss:0x80520818; // type:object size:0x1 data:byte +mWideZoom__13mDoGph_gInf_c = .sbss:0x80520818; // type:object size:0x1 data:byte m_minX__13mDoGph_gInf_c = .sbss:0x8052081C; // type:object size:0x4 scope:global align:4 data:4byte m_minY__13mDoGph_gInf_c = .sbss:0x80520820; // type:object size:0x4 scope:global align:4 data:4byte m_minXF__13mDoGph_gInf_c = .sbss:0x80520824; // type:object size:0x4 scope:global align:4 data:float @@ -27652,7 +27646,7 @@ lbl_80520865 = .sbss:0x80520865; // type:object size:0x1 data:byte lbl_80520866 = .sbss:0x80520866; // type:object size:0x1 data:byte lbl_80520867 = .sbss:0x80520867; // type:object size:0x1 data:byte l_oldButton$90464 = .sbss:0x80520868; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80520870 = .sbss:0x80520870; // type:object size:0x8 +mDoMtx_stack = .sbss:0x80520870; // type:object size:0x1 AssertHeap = .sbss:0x80520878; // type:object size:0x4 scope:global align:4 data:4byte DbPrintHeap = .sbss:0x8052087C; // type:object size:0x4 scope:global align:4 data:4byte gameHeap = .sbss:0x80520880; // type:object size:0x4 scope:global align:4 data:4byte @@ -27675,9 +27669,9 @@ aram_cache_size = .sbss:0x805208C0; // type:object size:0x4 scope:global align:4 mSystemFar__14mDoLib_clipper = .sbss:0x805208C8; // type:object size:0x4 scope:global align:4 data:float mFovyRate__14mDoLib_clipper = .sbss:0x805208CC; // type:object size:0x4 scope:global align:4 data:float mResetData__6mDoRst = .sbss:0x805208D0; // type:object size:0x4 scope:global align:4 data:4byte -lbl_805208D8 = .sbss:0x805208D8; // type:object size:0x1 data:byte -lbl_805208D9 = .sbss:0x805208D9; // type:object size:0x7 data:byte -lbl_805208E0 = .sbss:0x805208E0; // type:object size:0x1 data:byte +SyncWidthSound__9mDoDvdThd = .sbss:0x805208D8; // type:object size:0x1 data:byte +sDefaultDirection = .sbss:0x805208D9; // type:object size:0x1 data:byte +mDoDvdErr_initialized = .sbss:0x805208E0; // type:object size:0x1 data:byte sConsole = .sbss:0x805208E8; // type:object size:0x4 scope:global align:4 data:4byte cDmr_SkipInfo = .sbss:0x805208F0; // type:object size:0x1 data_80450C99 = .sbss:0x805208F1; // type:object size:0x1 @@ -27729,10 +27723,7 @@ m_res__22dMap_HIO_prm_res_dst_s = .sbss:0x805209B8; // type:object size:0x4 scop m_baseCsr__13dComIfG_inf_c = .sbss:0x805209C0; // type:object size:0x4 scope:global align:4 data:4byte m_navi__Q213dComIfG_inf_c9baseCsr_c = .sbss:0x805209C4; // type:object size:0x4 scope:global align:4 data:4byte lbl_805209C8 = .sbss:0x805209C8; // type:object size:0x1 data:byte -lbl_805209C9 = .sbss:0x805209C9; // type:object size:0x1 data:byte -lbl_805209CA = .sbss:0x805209CA; // type:object size:0x1 data:byte -lbl_805209CB = .sbss:0x805209CB; // type:object size:0x1 data:byte -lbl_805209CC = .sbss:0x805209CC; // type:object size:0x1 data:byte +g_clearColor = .sbss:0x805209C9; // type:object size:0x4 data:byte g_dComIfAc_gameInfo = .sbss:0x805209D0; // type:object size:0x8 scope:global align:4 g_dComIfGoat_gameInfo = .sbss:0x805209D8; // type:object size:0x4 scope:global align:4 data:4byte m_count__9daArrow_c = .sbss:0x805209E0; // type:object size:0x2 scope:global align:4 @@ -27785,9 +27776,9 @@ lbl_80520A98 = .sbss:0x80520A98; // type:object size:0x1 data:byte lbl_80520A99 = .sbss:0x80520A99; // type:object size:0x1 data:byte it$98965 = .sbss:0x80520A9C; // type:object size:0x4 scope:global align:4 data:4byte lbl_80520AA0 = .sbss:0x80520AA0; // type:object size:0x8 data:byte -lbl_80520AA8 = .sbss:0x80520AA8; // type:object size:0x1 data:byte +mNowStayFloorNo__10dMapInfo_c = .sbss:0x80520AA8; // type:object size:0x1 data:byte mNowStayRoomNo__10dMapInfo_c = .sbss:0x80520AAC; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80520AB0 = .sbss:0x80520AB0; // type:object size:0x1 data:byte +mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x80520AB0; // type:object size:0x1 data:byte mLayerList__8dMpath_c = .sbss:0x80520AB4; // type:object size:0x4 scope:global align:4 data:4byte mAllCenterX__8dMpath_c = .sbss:0x80520AB8; // type:object size:0x4 scope:global align:4 data:float mAllCenterZ__8dMpath_c = .sbss:0x80520ABC; // type:object size:0x4 scope:global align:4 data:float @@ -28235,18 +28226,18 @@ lbl_80521278 = .sbss:0x80521278; // type:object size:0x1 data:byte sCurrentFifo__12JUTGraphFifo = .sbss:0x8052127C; // type:object size:0x4 scope:global align:4 data:4byte lbl_80521280 = .sbss:0x80521280; // type:object size:0x8 sDebugPrint__10JUTDbPrint = .sbss:0x80521288; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80521290 = .sbss:0x80521290; // type:object size:0x1 data:byte -lbl_80521291 = .sbss:0x80521291; // type:object size:0x1 data:byte +mListInitialized__10JUTGamePad = .sbss:0x80521290; // type:object size:0x1 data:byte +mPadAssign__10JUTGamePad = .sbss:0x80521291; // type:object size:0x4 data:byte sSuppressPadReset__10JUTGamePad = .sbss:0x80521298; // type:object size:0x4 scope:global align:4 data:4byte sAnalogMode__10JUTGamePad = .sbss:0x8052129C; // type:object size:0x4 scope:global align:4 data:4byte sRumbleSupported__10JUTGamePad = .sbss:0x805212A0; // type:object size:0x4 scope:global align:4 data:4byte -lbl_805212A4 = .sbss:0x805212A4; // type:object size:0x1 data:byte +mStatus__Q210JUTGamePad7CRumble = .sbss:0x805212A4; // type:object size:0x4 data:byte mEnabled__Q210JUTGamePad7CRumble = .sbss:0x805212A8; // type:object size:0x4 scope:global align:4 data:4byte sCallback__Q210JUTGamePad13C3ButtonReset = .sbss:0x805212AC; // type:object size:0x4 scope:global align:4 data:4byte sCallbackArg__Q210JUTGamePad13C3ButtonReset = .sbss:0x805212B0; // type:object size:0x4 scope:global align:4 data:4byte sThreshold__Q210JUTGamePad13C3ButtonReset = .sbss:0x805212B8; // type:object size:0x8 scope:global align:4 data:4byte -lbl_805212C0 = .sbss:0x805212C0; // type:object size:0x1 data:byte -lbl_805212C1 = .sbss:0x805212C1; // type:object size:0x1 data:byte +sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset = .sbss:0x805212C0; // type:object size:0x1 data:byte +sResetOccurred__Q210JUTGamePad13C3ButtonReset = .sbss:0x805212C1; // type:object size:0x1 data:byte sResetOccurredPort__Q210JUTGamePad13C3ButtonReset = .sbss:0x805212C4; // type:object size:0x4 scope:global align:4 data:4byte sErrorManager__12JUTException = .sbss:0x805212C8; // type:object size:0x4 scope:global align:4 data:4byte sPreUserCallback__12JUTException = .sbss:0x805212CC; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/RZDJ01/rels/d_a_e_tk/symbols.txt b/config/RZDJ01/rels/d_a_e_tk/symbols.txt index afe487bc4c..a9515fa1bd 100644 --- a/config/RZDJ01/rels/d_a_e_tk/symbols.txt +++ b/config/RZDJ01/rels/d_a_e_tk/symbols.txt @@ -63,6 +63,6 @@ lbl_238_data_104 = .data:0x00000104; // type:object size:0xD data:string @93851 = .data:0x00000114; // type:object size:0xC scope:local align:4 __RTTI__12daE_TK_HIO_c = .data:0x00000120; // type:object size:0x8 scope:global align:4 __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global align:4 -lbl_238_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +hio_set = .bss:0x00000008; // type:object size:0x1 data:byte @93233 = .bss:0x0000000C; // type:object size:0xC scope:local align:4 l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global align:4 data:byte diff --git a/config/RZDJ01/rels/d_a_e_tk2/symbols.txt b/config/RZDJ01/rels/d_a_e_tk2/symbols.txt index cd18a5c806..4ee3221cf2 100644 --- a/config/RZDJ01/rels/d_a_e_tk2/symbols.txt +++ b/config/RZDJ01/rels/d_a_e_tk2/symbols.txt @@ -58,6 +58,6 @@ lbl_239_data_D8 = .data:0x000000D8; // type:object size:0xE data:string @93703 = .data:0x000000E8; // type:object size:0xC scope:local align:4 __RTTI__13daE_TK2_HIO_c = .data:0x000000F4; // type:object size:0x8 scope:global align:4 __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global align:4 -lbl_239_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +hio_set = .bss:0x00000008; // type:object size:0x1 data:byte @93233 = .bss:0x0000000C; // type:object size:0xC scope:local align:4 l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global align:4 data:byte diff --git a/config/RZDJ01/splits.txt b/config/RZDJ01/splits.txt index 369d7443b3..7c478a5d25 100644 --- a/config/RZDJ01/splits.txt +++ b/config/RZDJ01/splits.txt @@ -22,7 +22,7 @@ d/d_home_button.cpp: d/d_cursor_mng.cpp: .text start:0x800073D4 end:0x8000820C .data start:0x803DE938 end:0x803DEA60 - .sdata start:0x8051B428 end:0x8051B464 + .sdata start:0x8051B428 end:0x8051B460 .sbss start:0x8051E5A8 end:0x8051E5C0 .sdata2 start:0x8051F878 end:0x8051F890 @@ -31,15 +31,15 @@ m_Do/m_Do_main.cpp: .ctors start:0x803BA744 end:0x803BA748 .data start:0x803DEA60 end:0x803DED78 .bss start:0x8042EEC0 end:0x8042F320 - .sdata start:0x8051B464 end:0x8051B4E0 - .sbss start:0x8051E5C0 end:0x8051E5E8 + .sdata start:0x8051B460 end:0x8051B4E0 + .sbss start:0x8051E5C0 end:0x8051E5E0 .sdata2 start:0x8051F890 end:0x8051F8A8 m_Do/m_Do_printf.cpp: .text start:0x80009024 end:0x8000973C .data start:0x803DED78 end:0x803DEE30 .bss start:0x8042F320 end:0x8042FB20 - .sbss start:0x8051E5E8 end:0x8051E604 + .sbss start:0x8051E5E0 end:0x8051E600 m_Do/m_Do_audio.cpp: .text start:0x8000973C end:0x8000A0E0 @@ -47,7 +47,7 @@ m_Do/m_Do_audio.cpp: .data start:0x803DEE30 end:0x803DF0A8 .bss start:0x8042FB20 end:0x80430ED8 .sdata start:0x8051B4E0 end:0x8051B54C - .sbss start:0x8051E604 end:0x8051E654 + .sbss start:0x8051E600 end:0x8051E654 m_Do/m_Do_controller_pad.cpp: .text start:0x8000A0E0 end:0x8000A4F0 @@ -74,7 +74,7 @@ m_Do/m_Do_machine.cpp: .text start:0x80011B60 end:0x800128D0 .data start:0x803DF0C0 end:0x803DF428 .sdata start:0x8051B590 end:0x8051B5C0 - .sbss start:0x8051E6C4 end:0x8051E6F8 + .sbss start:0x8051E6C4 end:0x8051E6F0 .sdata2 start:0x8051FA40 end:0x8051FA48 m_Do/m_Do_mtx.cpp: @@ -83,6 +83,7 @@ m_Do/m_Do_mtx.cpp: .data start:0x803DF428 end:0x803DF4C0 .bss start:0x80438988 end:0x80438DF0 .sdata start:0x8051B5C0 end:0x8051B5D0 + .sbss start:0x8051E6F0 end:0x8051E6F8 .sdata2 start:0x8051FA48 end:0x8051FA58 m_Do/m_Do_ext.cpp: @@ -103,7 +104,7 @@ m_Do/m_Do_lib.cpp: m_Do/m_Do_Reset.cpp: .text start:0x8001AB2C end:0x8001AD5C - .sbss start:0x8051E750 end:0x8051E768 + .sbss start:0x8051E750 end:0x8051E758 m_Do/m_Do_dvd_thread.cpp: .text start:0x8001AD5C end:0x8001BA78 @@ -111,10 +112,12 @@ m_Do/m_Do_dvd_thread.cpp: .data start:0x803DFCD0 end:0x803E0018 .bss start:0x80438E60 end:0x8043B1E0 .sdata start:0x8051B690 end:0x8051B6D8 + .sbss start:0x8051E758 end:0x8051E760 m_Do/m_Do_DVDError.cpp: .text start:0x8001BA78 end:0x8001BBE4 .bss start:0x8043B1E0 end:0x8043D540 + .sbss start:0x8051E760 end:0x8051E768 m_Do/m_Do_MemCard.cpp: .text start:0x8001BBE4 end:0x8001CF3C @@ -338,7 +341,7 @@ f_pc/f_pc_node_req.cpp: f_pc/f_pc_priority.cpp: .text start:0x80027F1C end:0x80028260 .bss start:0x80466878 end:0x80466888 - .sdata start:0x8051B7E8 end:0x8051B820 + .sdata start:0x8051B7E8 end:0x8051B7F0 f_pc/f_pc_profile.cpp: .text start:0x80028260 end:0x80028270 @@ -378,7 +381,7 @@ d/d_stage.cpp: .ctors start:0x803BA76C end:0x803BA770 .data start:0x803E37D0 end:0x803E7080 .bss start:0x80466888 end:0x80477D50 - .sdata start:0x8051B820 end:0x8051B854 + .sdata start:0x8051B7F0 end:0x8051B838 .sbss start:0x8051E810 end:0x8051E838 .sdata2 start:0x8051FBA8 end:0x8051FBB8 @@ -386,7 +389,7 @@ d/d_map.cpp: .text start:0x8002CD20 end:0x8002F48C .rodata start:0x803BC130 end:0x803BC210 .data start:0x803E7080 end:0x803E7480 - .sdata start:0x8051B854 end:0x8051B9E4 + .sdata start:0x8051B838 end:0x8051B9E4 .sbss start:0x8051E838 end:0x8051E840 .sdata2 start:0x8051FBB8 end:0x8051FC18 @@ -2450,7 +2453,7 @@ revolution/homebuttonLib/nw4hbm/lyt/lyt_textBox.cpp: .text start:0x802C5C84 end:0x802C72B4 .ctors start:0x803BA894 end:0x803BA898 .data start:0x8040F5E0 end:0x8040F658 - .sdata start:0x8051DFD8 end:0x8051DFE8 + .sdata start:0x8051DFD8 end:0x8051DFE0 .sbss start:0x8051EF68 end:0x8051EF70 .sdata2 start:0x80523CC0 end:0x80523CD8 @@ -2510,7 +2513,7 @@ revolution/homebuttonLib/nw4hbm/ut/ut_ResFontBase.cpp: revolution/homebuttonLib/nw4hbm/ut/ut_TagProcessorBase.cpp: .text start:0x802CC2B8 end:0x802CCA78 - .data start:0x80410970 end:0x804109C8 + .data start:0x80410970 end:0x80410998 .sdata2 start:0x80523D30 end:0x80523D38 revolution/homebuttonLib/nw4hbm/ut/ut_TextWriterBase.cpp: @@ -2522,13 +2525,14 @@ revolution/homebuttonLib/nw4hbm/ut/ut_TextWriterBase.cpp: JSystem/JKernel/JKRHeap.cpp: .text start:0x802CE4A4 end:0x802CF0DC - .data start:0x804109C8 end:0x80410A28 - .sdata start:0x8051DFE8 end:0x8051E018 + .data start:0x80410998 end:0x80410A28 + .sdata start:0x8051DFE0 end:0x8051DFF0 .sbss start:0x8051EF90 end:0x8051EFC0 JSystem/JKernel/JKRExpHeap.cpp: .text start:0x802CF0DC end:0x802D0CA4 .data start:0x80410A28 end:0x80410DD0 + .sdata start:0x8051DFF0 end:0x8051E010 .sbss start:0x8051EFC0 end:0x8051EFD8 .sdata2 start:0x80523D50 end:0x80523D60 @@ -2548,17 +2552,18 @@ JSystem/JKernel/JKRDisposer.cpp: JSystem/JKernel/JKRThread.cpp: .text start:0x802D1784 end:0x802D248C .ctors start:0x803BA8A0 end:0x803BA8A4 - .data start:0x80410FF8 end:0x80411134 + .data start:0x80410FF8 end:0x80411108 .bss start:0x804A6BE0 end:0x804A6C30 + .sdata start:0x8051E010 end:0x8051E018 .sbss start:0x8051EFD8 end:0x8051EFF8 .sdata2 start:0x80523D78 end:0x80523D88 JSystem/JKernel/JKRAram.cpp: .text start:0x802D248C end:0x802D32AC .ctors start:0x803BA8A4 end:0x803BA8A8 - .data start:0x80411134 end:0x80411148 + .data start:0x80411108 end:0x80411148 .bss start:0x804A6C30 end:0x804A6C90 - .sdata start:0x8051E018 end:0x8051E034 + .sdata start:0x8051E018 end:0x8051E020 .sbss start:0x8051EFF8 end:0x8051F038 JSystem/JKernel/JKRAramHeap.cpp: @@ -2574,12 +2579,12 @@ JSystem/JKernel/JKRAramBlock.cpp: JSystem/JKernel/JKRAramPiece.cpp: .text start:0x802D3A48 end:0x802D3FC4 .ctors start:0x803BA8AC end:0x803BA8B0 - .data start:0x80411168 end:0x804111FC + .data start:0x80411168 end:0x804111D0 .bss start:0x804A6CA8 end:0x804A6CD8 JSystem/JKernel/JKRAramStream.cpp: .text start:0x802D3FC4 end:0x802D453C - .data start:0x804111FC end:0x80411210 + .data start:0x804111D0 end:0x80411210 .bss start:0x804A6CD8 end:0x804A6D08 .sbss start:0x8051F038 end:0x8051F048 @@ -2588,6 +2593,7 @@ JSystem/JKernel/JKRFileLoader.cpp: .ctors start:0x803BA8B0 end:0x803BA8B4 .data start:0x80411210 end:0x80411250 .bss start:0x804A6D08 end:0x804A6D20 + .sdata start:0x8051E020 end:0x8051E028 .sbss start:0x8051F048 end:0x8051F050 JSystem/JKernel/JKRFileFinder.cpp: @@ -2597,10 +2603,11 @@ JSystem/JKernel/JKRFileFinder.cpp: JSystem/JKernel/JKRFileCache.cpp: .text start:0x802D4E40 end:0x802D5BD8 .data start:0x80411280 end:0x804112D0 + .sdata start:0x8051E028 end:0x8051E030 JSystem/JKernel/JKRArchivePub.cpp: .text start:0x802D5BD8 end:0x802D66C8 - .data start:0x804112D0 end:0x80411344 + .data start:0x804112D0 end:0x80411320 JSystem/JKernel/JKRArchivePri.cpp: .text start:0x802D66C8 end:0x802D6E18 @@ -2608,19 +2615,19 @@ JSystem/JKernel/JKRArchivePri.cpp: JSystem/JKernel/JKRMemArchive.cpp: .text start:0x802D6E18 end:0x802D74C8 - .data start:0x80411344 end:0x804113C0 + .data start:0x80411320 end:0x80411398 JSystem/JKernel/JKRAramArchive.cpp: .text start:0x802D74C8 end:0x802D80F0 - .data start:0x804113C0 end:0x80411410 + .data start:0x80411398 end:0x80411410 JSystem/JKernel/JKRDvdArchive.cpp: .text start:0x802D80F0 end:0x802D8C3C - .data start:0x80411410 end:0x80411508 + .data start:0x80411410 end:0x804114D0 JSystem/JKernel/JKRCompArchive.cpp: .text start:0x802D8C3C end:0x802D9904 - .data start:0x80411508 end:0x80411580 + .data start:0x804114D0 end:0x80411558 JSystem/JKernel/JKRFile.cpp: .text start:0x802D9904 end:0x802D9970 @@ -2628,7 +2635,7 @@ JSystem/JKernel/JKRFile.cpp: JSystem/JKernel/JKRDvdFile.cpp: .text start:0x802D9970 end:0x802D9F9C .ctors start:0x803BA8B4 end:0x803BA8B8 - .data start:0x80411580 end:0x804115C8 + .data start:0x80411558 end:0x804115C8 .bss start:0x804A6D20 end:0x804A6D38 JSystem/JKernel/JKRDvdRipper.cpp: @@ -2636,7 +2643,7 @@ JSystem/JKernel/JKRDvdRipper.cpp: .ctors start:0x803BA8B8 end:0x803BA8BC .data start:0x804115C8 end:0x80411620 .bss start:0x804A6D38 end:0x804A6D68 - .sdata start:0x8051E034 end:0x8051E03C + .sdata start:0x8051E030 end:0x8051E03C .sbss start:0x8051F058 end:0x8051F098 JSystem/JKernel/JKRDvdAramRipper.cpp: @@ -2650,7 +2657,7 @@ JSystem/JKernel/JKRDecomp.cpp: .text start:0x802DB928 end:0x802DC00C .data start:0x80411620 end:0x80411630 .bss start:0x804A6D98 end:0x804A6DD8 - .sbss start:0x8051F0E0 end:0x8051F0EC + .sbss start:0x8051F0E0 end:0x8051F0E8 JSystem/JSupport/JSUList.cpp: .text start:0x802DC00C end:0x802DC44C @@ -2678,7 +2685,7 @@ JSystem/JGadget/std-vector.cpp: JSystem/JUtility/JUTCacheFont.cpp: .text start:0x802DD2E4 end:0x802DE1A4 - .data start:0x80411698 end:0x80411788 + .data start:0x80411698 end:0x80411758 .sdata2 start:0x80523D88 end:0x80523D90 JSystem/JUtility/JUTResource.cpp: @@ -2690,6 +2697,7 @@ JSystem/JUtility/JUTTexture.cpp: JSystem/JUtility/JUTPalette.cpp: .text start:0x802DE938 end:0x802DEA24 + .data start:0x80411758 end:0x80411788 JSystem/JUtility/JUTNameTab.cpp: .text start:0x802DEA24 end:0x802DEC14 @@ -2698,21 +2706,21 @@ JSystem/JUtility/JUTNameTab.cpp: JSystem/JUtility/JUTGraphFifo.cpp: .text start:0x802DEC14 end:0x802DEDA4 .data start:0x80411798 end:0x804117A8 - .sbss start:0x8051F0EC end:0x8051F0F8 + .sbss start:0x8051F0E8 end:0x8051F0F8 JSystem/JUtility/JUTFont.cpp: .text start:0x802DEDA4 end:0x802DF01C - .data start:0x804117A8 end:0x80411824 + .data start:0x804117A8 end:0x804117F0 JSystem/JUtility/JUTResFont.cpp: .text start:0x802DF01C end:0x802E012C .rodata start:0x803D8A38 end:0x803D8B20 - .data start:0x80411824 end:0x80411870 + .data start:0x804117F0 end:0x80411870 .sdata2 start:0x80523DA8 end:0x80523DC0 JSystem/JUtility/JUTDbPrint.cpp: .text start:0x802E012C end:0x802E0688 - .sbss start:0x8051F0F8 end:0x8051F108 + .sbss start:0x8051F0F8 end:0x8051F100 .sdata2 start:0x80523DC0 end:0x80523DD0 JSystem/JUtility/JUTGamePad.cpp: @@ -2720,8 +2728,8 @@ JSystem/JUtility/JUTGamePad.cpp: .ctors start:0x803BA8C0 end:0x803BA8C4 .data start:0x80411870 end:0x804118A0 .bss start:0x804A6DD8 end:0x804A6F78 - .sdata start:0x8051E040 end:0x8051E098 - .sbss start:0x8051F108 end:0x8051F138 + .sdata start:0x8051E040 end:0x8051E058 + .sbss start:0x8051F100 end:0x8051F138 .sdata2 start:0x80523DD0 end:0x80523DF0 JSystem/JUtility/JUTException.cpp: @@ -2729,17 +2737,20 @@ JSystem/JUtility/JUTException.cpp: .ctors start:0x803BA8C4 end:0x803BA8C8 .data start:0x804118A0 end:0x80411DD8 .bss start:0x804A6F78 end:0x804A73F0 + .sdata start:0x8051E058 end:0x8051E088 .sbss start:0x8051F138 end:0x8051F160 .sdata2 start:0x80523DF0 end:0x80523E00 JSystem/JUtility/JUTDirectPrint.cpp: .text start:0x802E3D00 end:0x802E43E0 .data start:0x80411DD8 end:0x804120A0 + .sdata start:0x8051E088 end:0x8051E090 .sbss start:0x8051F160 end:0x8051F168 .sdata2 start:0x80523E00 end:0x80523E58 JSystem/JUtility/JUTAssert.cpp: .text start:0x802E43E0 end:0x802E46BC + .sdata start:0x8051E090 end:0x8051E098 .sbss start:0x8051F168 end:0x8051F170 .sdata2 start:0x80523E58 end:0x80523E70 @@ -2754,18 +2765,19 @@ JSystem/JUtility/JUTXfb.cpp: JSystem/JUtility/JUTFader.cpp: .text start:0x802E4ECC end:0x802E51E0 - .data start:0x804120B0 end:0x804120D4 + .data start:0x804120B0 end:0x804120C8 .sdata2 start:0x80523E70 end:0x80523E78 JSystem/JUtility/JUTProcBar.cpp: .text start:0x802E51E0 end:0x802E6990 - .sdata start:0x8051E098 end:0x8051E108 + .sdata start:0x8051E098 end:0x8051E0A0 .sbss start:0x8051F190 end:0x8051F1A0 .sdata2 start:0x80523E78 end:0x80523EB8 JSystem/JUtility/JUTConsole.cpp: .text start:0x802E6990 end:0x802E7CAC - .data start:0x804120D4 end:0x804120E0 + .data start:0x804120C8 end:0x804120E0 + .sdata start:0x8051E0A0 end:0x8051E0A8 .sbss start:0x8051F1A0 end:0x8051F1B0 .sdata2 start:0x80523EB8 end:0x80523EE8 @@ -2832,6 +2844,7 @@ JSystem/J2DGraph/J2DPicture.cpp: JSystem/J2DGraph/J2DTextBox.cpp: .text start:0x802FE1E4 end:0x802FF6D4 .data start:0x80412958 end:0x80412A18 + .sdata start:0x8051E0A8 end:0x8051E0B0 .sdata2 start:0x80524020 end:0x80524040 JSystem/J2DGraph/J2DWindowEx.cpp: @@ -2849,6 +2862,7 @@ JSystem/J2DGraph/J2DTextBoxEx.cpp: .text start:0x80305634 end:0x80306E78 .rodata start:0x803DCDC8 end:0x803DCE00 .data start:0x80412C38 end:0x80412CF8 + .sdata start:0x8051E0B0 end:0x8051E0B8 .sdata2 start:0x80524078 end:0x80524098 JSystem/J2DGraph/J2DAnmLoader.cpp: @@ -2867,6 +2881,7 @@ JSystem/J2DGraph/J2DManage.cpp: JSystem/J3DGraphBase/J3DGD.cpp: .text start:0x8030B0A0 end:0x8030C968 .data start:0x80412E28 end:0x80412ED0 + .sdata start:0x8051E0B8 end:0x8051E108 .sdata2 start:0x805240D0 end:0x80524110 JSystem/J3DGraphBase/J3DSys.cpp: diff --git a/config/RZDJ01/symbols.txt b/config/RZDJ01/symbols.txt index 10abb5cd2f..c4fe2be4bc 100644 --- a/config/RZDJ01/symbols.txt +++ b/config/RZDJ01/symbols.txt @@ -24802,8 +24802,8 @@ l_RoomKeepDoorInfo = .bss:0x804671A4; // type:object size:0x904 scope:global ali @97897 = .bss:0x80467AA8; // type:object size:0xC scope:local align:4 mStatus__20dStage_roomControl_c = .bss:0x80467AB4; // type:object size:0x10100 scope:global align:4 data:4byte mMemoryBlock__20dStage_roomControl_c = .bss:0x80477BB4; // type:object size:0x4C scope:global align:4 -lbl_80477C00 = .bss:0x80477C00; // type:object size:0xA data:byte -lbl_80477C0A = .bss:0x80477C0A; // type:object size:0x146 +mDemoArcName__20dStage_roomControl_c = .bss:0x80477C00; // type:object size:0xA data:byte +mArcBank__20dStage_roomControl_c = .bss:0x80477C0A; // type:object size:0x146 ...bss.0 = .bss:0x80477D50; // type:label scope:local align:4 dComIfG_mTimerInfo = .bss:0x80477D50; // type:object size:0x14 scope:global align:4 @109549 = .bss:0x80477D64; // type:object size:0xC scope:local align:4 @@ -25373,8 +25373,8 @@ exCallbackObject = .bss:0x804A6F98; // type:object size:0x14 scope:global align: sMapFileList__12JUTException = .bss:0x804A6FB8; // type:object size:0xC scope:global align:4 data:4byte c3bcnt = .bss:0x804A6FC8; // type:object size:0x20 scope:global align:4 data:4byte context$45953 = .bss:0x804A6FE8; // type:object size:0x2C8 scope:local align:4 -lbl_804A72B0 = .bss:0x804A72B0; // type:object size:0x40 -lbl_804A72F0 = .bss:0x804A72F0; // type:object size:0x100 +sMessageFileLine__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .bss:0x804A72B0; // type:object size:0x40 +sMessageString__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .bss:0x804A72F0; // type:object size:0x100 static_mBounds__7J2DPane = .bss:0x804A73F0; // type:object size:0x10 scope:global align:4 lbl_804A7400 = .bss:0x804A7400; // type:object size:0x120 data:byte j3dSys = .bss:0x804A7520; // type:object size:0x11C scope:global align:4 @@ -25567,7 +25567,7 @@ __RTTI__Q310dCsr_mng_c8bloObj_c9paneObj_c = .sdata:0x8051B440; // type:object si __RTTI__Q210dCsr_mng_c5obj_c = .sdata:0x8051B448; // type:object size:0x8 scope:global align:4 __RTTI__Q210dCsr_mng_c6list_c = .sdata:0x8051B450; // type:object size:0x8 scope:global align:4 __RTTI__Q210dCsr_mng_c6node_c = .sdata:0x8051B458; // type:object size:0x8 scope:global align:4 -lbl_8051B460 = .sdata:0x8051B460; // type:object size:0x1 data:byte +developmentMode__7mDoMain = .sdata:0x8051B460; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x8051B464; // type:object size:0x4 scope:global align:4 data:4byte lbl_8051B468 = .sdata:0x8051B468; // type:object size:0x1 data:byte lbl_8051B469 = .sdata:0x8051B469; // type:object size:0x3 @@ -25604,7 +25604,7 @@ __RTTI__28JASGlobalInstance<8Z2SeqMgr> = .sdata:0x8051B528; // type:object size: lbl_8051B530 = .sdata:0x8051B530; // type:object size:0x8 data:string __RTTI__7Z2SeMgr = .sdata:0x8051B538; // type:object size:0x8 scope:global align:4 __RTTI__27JASGlobalInstance<7Z2SeMgr> = .sdata:0x8051B540; // type:object size:0x8 scope:global align:4 -lbl_8051B548 = .sdata:0x8051B548; // type:object size:0x1 data:byte +mWide__13mDoGph_gInf_c = .sdata:0x8051B548; // type:object size:0x1 data:byte m_aspect__13mDoGph_gInf_c = .sdata:0x8051B54C; // type:object size:0x4 scope:global align:4 data:float m_scale__13mDoGph_gInf_c = .sdata:0x8051B550; // type:object size:0x4 scope:global align:4 data:float m_invScale__13mDoGph_gInf_c = .sdata:0x8051B554; // type:object size:0x4 scope:global align:4 data:float @@ -25707,7 +25707,7 @@ lbl_8051B800 = .sdata:0x8051B800; // type:object size:0x8 data:string lbl_8051B808 = .sdata:0x8051B808; // type:object size:0x7 data:string lbl_8051B80F = .sdata:0x8051B80F; // type:object size:0x7 data:string lbl_8051B816 = .sdata:0x8051B816; // type:object size:0x6 data:string -lbl_8051B81C = .sdata:0x8051B81C; // type:object size:0x1 data:byte +mRoomReadId__20dStage_roomControl_c = .sdata:0x8051B81C; // type:object size:0x1 data:byte __RTTI__16dStage_stageDt_c = .sdata:0x8051B820; // type:object size:0x8 scope:global align:4 __RTTI__15dStage_roomDt_c = .sdata:0x8051B828; // type:object size:0x8 scope:global align:4 __RTTI__11dStage_dt_c = .sdata:0x8051B830; // type:object size:0x8 scope:global align:4 @@ -25762,7 +25762,7 @@ lbl_8051B9AB = .sdata:0x8051B9AB; // type:object size:0x8 data:string lbl_8051B9B3 = .sdata:0x8051B9B3; // type:object size:0x7 data:string lbl_8051B9BA = .sdata:0x8051B9BA; // type:object size:0x5 data:string lbl_8051B9BF = .sdata:0x8051B9BF; // type:object size:0x8 data:string -lbl_8051B9C7 = .sdata:0x8051B9C7; // type:object size:0x1 data:byte +g_blackColor = .sdata:0x8051B9C7; // type:object size:0x1 data:byte lbl_8051B9C8 = .sdata:0x8051B9C8; // type:object size:0x1 data:byte lbl_8051B9C9 = .sdata:0x8051B9C9; // type:object size:0x1 data:byte lbl_8051B9CA = .sdata:0x8051B9CA; // type:object size:0x1 data:byte @@ -27310,10 +27310,10 @@ scCursorSRotPaneName__Q210homebutton10HomeButton = .sdata:0x8051DF30; // type:ob @3379 = .sdata:0x8051DFD0; // type:object size:0x2 scope:local align:4 data:string @3380 = .sdata:0x8051DFD4; // type:object size:0x3 scope:local align:4 data:string @9572 = .sdata:0x8051DFD8; // type:object size:0x4 scope:local align:4 data:wstring -lbl_8051DFE0 = .sdata:0x8051DFE0; // type:object size:0x1 data:byte +sDefaultFillFlag__7JKRHeap = .sdata:0x8051DFE0; // type:object size:0x1 data:byte lbl_8051DFE1 = .sdata:0x8051DFE1; // type:object size:0x7 data:string ARALT_AramStartAdr = .sdata:0x8051DFE8; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051DFEC = .sdata:0x8051DFEC; // type:object size:0x3 data:string +@STRING@panic__12JUTExceptionFPCciPCc = .sdata:0x8051DFEC; // type:object size:0x3 data:string lbl_8051DFF0 = .sdata:0x8051DFF0; // type:object size:0x7 data:string lbl_8051DFF7 = .sdata:0x8051DFF7; // type:object size:0x6 data:string lbl_8051DFFD = .sdata:0x8051DFFD; // type:object size:0x6 data:string @@ -27324,7 +27324,7 @@ lbl_8051E020 = .sdata:0x8051E020; // type:object size:0x2 data:string lbl_8051E022 = .sdata:0x8051E022; // type:object size:0x2 data:string lbl_8051E028 = .sdata:0x8051E028; // type:object size:0x2 data:string lbl_8051E02A = .sdata:0x8051E02A; // type:object size:0x4 data:string -lbl_8051E030 = .sdata:0x8051E030; // type:object size:0x1 data:byte +errorRetry__12JKRDvdRipper = .sdata:0x8051E030; // type:object size:0x1 data:byte sSZSBufferSize__12JKRDvdRipper = .sdata:0x8051E034; // type:object size:0x4 scope:global align:4 data:4byte lbl_8051E038 = .sdata:0x8051E038; // type:object size:0x1 data:byte sSZSBufferSize__16JKRDvdAramRipper = .sdata:0x8051E03C; // type:object size:0x4 scope:global align:4 data:4byte @@ -27345,7 +27345,7 @@ lbl_8051E079 = .sdata:0x8051E079; // type:object size:0x8 data:string lbl_8051E081 = .sdata:0x8051E081; // type:object size:0x1 lbl_8051E082 = .sdata:0x8051E082; // type:object size:0x5 data:string lbl_8051E088 = .sdata:0x8051E088; // type:object size:0x3 data:string -lbl_8051E090 = .sdata:0x8051E090; // type:object size:0x1 data:byte +mVisible__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .sdata:0x8051E090; // type:object size:0x1 data:byte oneFrameRate = .sdata:0x8051E098; // type:object size:0x4 scope:global align:4 data:float oneFrameRateUser = .sdata:0x8051E09C; // type:object size:0x4 scope:global align:4 data:float lbl_8051E0A0 = .sdata:0x8051E0A0; // type:object size:0x4 data:string @@ -27577,21 +27577,21 @@ lbl_8051E5D1 = .sbss:0x8051E5D1; // type:object size:0x1 data:byte lbl_8051E5D2 = .sbss:0x8051E5D2; // type:object size:0x1 data:byte console_scroll$90874 = .sbss:0x8051E5D4; // type:object size:0x4 scope:local align:4 data:float frame$91010 = .sbss:0x8051E5D8; // type:object size:0x4 scope:local align:4 data:4byte -lbl_8051E5E0 = .sbss:0x8051E5E0; // type:object size:0x1 data:byte -lbl_8051E5E1 = .sbss:0x8051E5E1; // type:object size:0x1 data:byte -lbl_8051E5E2 = .sbss:0x8051E5E2; // type:object size:0x1 data:byte -lbl_8051E5E3 = .sbss:0x8051E5E3; // type:object size:0x1 data:byte -lbl_8051E5E4 = .sbss:0x8051E5E4; // type:object size:0x1 data:byte +__OSReport_disable = .sbss:0x8051E5E0; // type:object size:0x1 data:byte +__OSReport_Error_disable = .sbss:0x8051E5E1; // type:object size:0x1 data:byte +__OSReport_Warning_disable = .sbss:0x8051E5E2; // type:object size:0x1 data:byte +__OSReport_System_disable = .sbss:0x8051E5E3; // type:object size:0x1 data:byte +__OSReport_enable = .sbss:0x8051E5E4; // type:object size:0x1 data:byte __OSReport_MonopolyThread = .sbss:0x8051E5E8; // type:object size:0x4 scope:global align:4 data:4byte print_counts = .sbss:0x8051E5EC; // type:object size:0x4 scope:global align:4 data:4byte print_errors = .sbss:0x8051E5F0; // type:object size:0x4 scope:global align:4 data:4byte print_warings = .sbss:0x8051E5F4; // type:object size:0x4 scope:global align:4 data:4byte print_systems = .sbss:0x8051E5F8; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051E5FC = .sbss:0x8051E5FC; // type:object size:0x1 data:byte +print_initialized = .sbss:0x8051E5FC; // type:object size:0x1 data:byte lbl_8051E5FD = .sbss:0x8051E5FD; // type:object size:0x1 data:byte -lbl_8051E600 = .sbss:0x8051E600; // type:object size:0x1 data:byte -lbl_8051E601 = .sbss:0x8051E601; // type:object size:0x1 data:byte -lbl_8051E602 = .sbss:0x8051E602; // type:object size:0x1 data:byte +mInitFlag__17mDoAud_zelAudio_c = .sbss:0x8051E600; // type:object size:0x1 data:byte +mResetFlag__17mDoAud_zelAudio_c = .sbss:0x8051E601; // type:object size:0x1 data:byte +mBgmSet__17mDoAud_zelAudio_c = .sbss:0x8051E602; // type:object size:0x1 data:byte g_mDoAud_audioHeap = .sbss:0x8051E604; // type:object size:0x4 scope:global align:4 data:4byte l_affCommand = .sbss:0x8051E608; // type:object size:0x4 scope:global align:4 data:4byte l_arcCommand = .sbss:0x8051E60C; // type:object size:0x4 scope:global align:4 data:4byte @@ -27622,21 +27622,15 @@ mZbufferTimg__13mDoGph_gInf_c = .sbss:0x8051E674; // type:object size:0x4 scope: mZbufferTex__13mDoGph_gInf_c = .sbss:0x8051E678; // type:object size:0x4 scope:global align:4 data:4byte mFadeRate__13mDoGph_gInf_c = .sbss:0x8051E67C; // type:object size:0x4 scope:global align:4 data:float mFadeSpeed__13mDoGph_gInf_c = .sbss:0x8051E680; // type:object size:0x4 scope:global align:4 data:float -lbl_8051E684 = .sbss:0x8051E684; // type:object size:0x1 data:byte -lbl_8051E685 = .sbss:0x8051E685; // type:object size:0x1 data:byte -lbl_8051E686 = .sbss:0x8051E686; // type:object size:0x1 data:byte -lbl_8051E687 = .sbss:0x8051E687; // type:object size:0x1 data:byte -lbl_8051E688 = .sbss:0x8051E688; // type:object size:0x1 data:byte -lbl_8051E689 = .sbss:0x8051E689; // type:object size:0x1 data:byte -lbl_8051E68A = .sbss:0x8051E68A; // type:object size:0x1 data:byte -lbl_8051E68B = .sbss:0x8051E68B; // type:object size:0x1 data:byte -lbl_8051E68C = .sbss:0x8051E68C; // type:object size:0x1 data:byte -lbl_8051E68D = .sbss:0x8051E68D; // type:object size:0x1 data:byte -lbl_8051E68E = .sbss:0x8051E68E; // type:object size:0x1 data:byte -lbl_8051E68F = .sbss:0x8051E68F; // type:object size:0x1 data:byte +mBackColor__13mDoGph_gInf_c = .sbss:0x8051E684; // type:object size:0x4 data:byte +mFadeColor__13mDoGph_gInf_c = .sbss:0x8051E688; // type:object size:0x4 data:byte +mBlureFlag__13mDoGph_gInf_c = .sbss:0x8051E68C; // type:object size:0x1 data:byte +mBlureRate__13mDoGph_gInf_c = .sbss:0x8051E68D; // type:object size:0x1 data:byte +mFade__13mDoGph_gInf_c = .sbss:0x8051E68E; // type:object size:0x1 data:byte +mAutoForcus__13mDoGph_gInf_c = .sbss:0x8051E68F; // type:object size:0x1 data:byte lbl_8051E690 = .sbss:0x8051E690; // type:object size:0x1 data:byte m_blurID__Q213mDoGph_gInf_c5csr_c = .sbss:0x8051E694; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051E698 = .sbss:0x8051E698; // type:object size:0x1 data:byte +mWideZoom__13mDoGph_gInf_c = .sbss:0x8051E698; // type:object size:0x1 data:byte m_minX__13mDoGph_gInf_c = .sbss:0x8051E69C; // type:object size:0x4 scope:global align:4 data:4byte m_minY__13mDoGph_gInf_c = .sbss:0x8051E6A0; // type:object size:0x4 scope:global align:4 data:4byte m_minXF__13mDoGph_gInf_c = .sbss:0x8051E6A4; // type:object size:0x4 scope:global align:4 data:float @@ -27658,7 +27652,7 @@ lbl_8051E6E5 = .sbss:0x8051E6E5; // type:object size:0x1 data:byte lbl_8051E6E6 = .sbss:0x8051E6E6; // type:object size:0x1 data:byte lbl_8051E6E7 = .sbss:0x8051E6E7; // type:object size:0x1 data:byte l_oldButton$90464 = .sbss:0x8051E6E8; // type:object size:0x4 scope:local align:4 data:4byte -lbl_8051E6F0 = .sbss:0x8051E6F0; // type:object size:0x8 +mDoMtx_stack = .sbss:0x8051E6F0; // type:object size:0x1 AssertHeap = .sbss:0x8051E6F8; // type:object size:0x4 scope:global align:4 data:4byte DbPrintHeap = .sbss:0x8051E6FC; // type:object size:0x4 scope:global align:4 data:4byte gameHeap = .sbss:0x8051E700; // type:object size:0x4 scope:global align:4 data:4byte @@ -27681,9 +27675,9 @@ aram_cache_size = .sbss:0x8051E740; // type:object size:0x4 scope:global align:4 mSystemFar__14mDoLib_clipper = .sbss:0x8051E748; // type:object size:0x4 scope:global align:4 data:float mFovyRate__14mDoLib_clipper = .sbss:0x8051E74C; // type:object size:0x4 scope:global align:4 data:float mResetData__6mDoRst = .sbss:0x8051E750; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051E758 = .sbss:0x8051E758; // type:object size:0x1 data:byte -lbl_8051E759 = .sbss:0x8051E759; // type:object size:0x7 data:byte -lbl_8051E760 = .sbss:0x8051E760; // type:object size:0x1 data:byte +SyncWidthSound__9mDoDvdThd = .sbss:0x8051E758; // type:object size:0x1 data:byte +sDefaultDirection = .sbss:0x8051E759; // type:object size:0x1 data:byte +mDoDvdErr_initialized = .sbss:0x8051E760; // type:object size:0x1 data:byte sConsole = .sbss:0x8051E768; // type:object size:0x4 scope:global align:4 data:4byte lbl_8051E770 = .sbss:0x8051E770; // type:object size:0x1 lbl_8051E771 = .sbss:0x8051E771; // type:object size:0x1 @@ -27735,10 +27729,7 @@ m_res__22dMap_HIO_prm_res_dst_s = .sbss:0x8051E838; // type:object size:0x4 scop m_baseCsr__13dComIfG_inf_c = .sbss:0x8051E840; // type:object size:0x4 scope:global align:4 data:4byte m_navi__Q213dComIfG_inf_c9baseCsr_c = .sbss:0x8051E844; // type:object size:0x4 scope:global align:4 data:4byte lbl_8051E848 = .sbss:0x8051E848; // type:object size:0x1 data:byte -lbl_8051E849 = .sbss:0x8051E849; // type:object size:0x1 data:byte -lbl_8051E84A = .sbss:0x8051E84A; // type:object size:0x1 data:byte -lbl_8051E84B = .sbss:0x8051E84B; // type:object size:0x1 data:byte -lbl_8051E84C = .sbss:0x8051E84C; // type:object size:0x1 data:byte +g_clearColor = .sbss:0x8051E849; // type:object size:0x4 data:byte g_dComIfAc_gameInfo = .sbss:0x8051E850; // type:object size:0x8 scope:global align:4 g_dComIfGoat_gameInfo = .sbss:0x8051E858; // type:object size:0x4 scope:global align:4 data:4byte m_count__9daArrow_c = .sbss:0x8051E860; // type:object size:0x2 scope:global align:4 @@ -27791,9 +27782,9 @@ lbl_8051E918 = .sbss:0x8051E918; // type:object size:0x1 data:byte lbl_8051E919 = .sbss:0x8051E919; // type:object size:0x1 data:byte it$98965 = .sbss:0x8051E91C; // type:object size:0x4 scope:local align:4 data:4byte lbl_8051E920 = .sbss:0x8051E920; // type:object size:0x8 data:byte -lbl_8051E928 = .sbss:0x8051E928; // type:object size:0x1 data:byte +mNowStayFloorNo__10dMapInfo_c = .sbss:0x8051E928; // type:object size:0x1 data:byte mNowStayRoomNo__10dMapInfo_c = .sbss:0x8051E92C; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051E930 = .sbss:0x8051E930; // type:object size:0x1 data:byte +mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x8051E930; // type:object size:0x1 data:byte mLayerList__8dMpath_c = .sbss:0x8051E934; // type:object size:0x4 scope:global align:4 data:4byte mAllCenterX__8dMpath_c = .sbss:0x8051E938; // type:object size:0x4 scope:global align:4 data:float mAllCenterZ__8dMpath_c = .sbss:0x8051E93C; // type:object size:0x4 scope:global align:4 data:float @@ -27820,6 +27811,7 @@ mParticleTracePCB__13dPa_control_c = .sbss:0x8051E988; // type:object size:0x4 s mWipe__12dDlst_list_c = .sbss:0x8051E990; // type:object size:0x1 data:byte mWipeRate__12dDlst_list_c = .sbss:0x8051E994; // type:object size:0x4 scope:global align:4 data:float mWipeSpeed__12dDlst_list_c = .sbss:0x8051E998; // type:object size:0x4 scope:global align:4 data:float +lbl_8051E99C = .sbss:0x8051E99C; // type:object size:0x4 init$0000 = .sbss:0x8051E9A0; // type:object size:0x1 scope:local data:byte S_parcent_bak$99593 = .sbss:0x8051E9A8; // type:object size:0x4 scope:local align:4 data:float S_rot_work1$100794 = .sbss:0x8051E9AC; // type:object size:0x2 scope:local align:4 data:2byte @@ -28238,18 +28230,18 @@ lbl_8051F0E8 = .sbss:0x8051F0E8; // type:object size:0x1 data:byte sCurrentFifo__12JUTGraphFifo = .sbss:0x8051F0EC; // type:object size:0x4 scope:global align:4 data:4byte lbl_8051F0F0 = .sbss:0x8051F0F0; // type:object size:0x8 sDebugPrint__10JUTDbPrint = .sbss:0x8051F0F8; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051F100 = .sbss:0x8051F100; // type:object size:0x1 data:byte -lbl_8051F101 = .sbss:0x8051F101; // type:object size:0x1 data:byte +mListInitialized__10JUTGamePad = .sbss:0x8051F100; // type:object size:0x1 data:byte +mPadAssign__10JUTGamePad = .sbss:0x8051F101; // type:object size:0x4 data:byte sSuppressPadReset__10JUTGamePad = .sbss:0x8051F108; // type:object size:0x4 scope:global align:4 data:4byte sAnalogMode__10JUTGamePad = .sbss:0x8051F10C; // type:object size:0x4 scope:global align:4 data:4byte sRumbleSupported__10JUTGamePad = .sbss:0x8051F110; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8051F114 = .sbss:0x8051F114; // type:object size:0x1 data:byte +mStatus__Q210JUTGamePad7CRumble = .sbss:0x8051F114; // type:object size:0x4 data:byte mEnabled__Q210JUTGamePad7CRumble = .sbss:0x8051F118; // type:object size:0x4 scope:global align:4 data:4byte sCallback__Q210JUTGamePad13C3ButtonReset = .sbss:0x8051F11C; // type:object size:0x4 scope:global align:4 data:4byte sCallbackArg__Q210JUTGamePad13C3ButtonReset = .sbss:0x8051F120; // type:object size:0x4 scope:global align:4 data:4byte sThreshold__Q210JUTGamePad13C3ButtonReset = .sbss:0x8051F128; // type:object size:0x8 scope:global align:4 data:4byte -lbl_8051F130 = .sbss:0x8051F130; // type:object size:0x1 data:byte -lbl_8051F131 = .sbss:0x8051F131; // type:object size:0x1 data:byte +sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset = .sbss:0x8051F130; // type:object size:0x1 data:byte +sResetOccurred__Q210JUTGamePad13C3ButtonReset = .sbss:0x8051F131; // type:object size:0x1 data:byte sResetOccurredPort__Q210JUTGamePad13C3ButtonReset = .sbss:0x8051F134; // type:object size:0x4 scope:global align:4 data:4byte sErrorManager__12JUTException = .sbss:0x8051F138; // type:object size:0x4 scope:global align:4 data:4byte sPreUserCallback__12JUTException = .sbss:0x8051F13C; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/RZDP01/rels/d_a_e_tk/symbols.txt b/config/RZDP01/rels/d_a_e_tk/symbols.txt index afe487bc4c..a9515fa1bd 100644 --- a/config/RZDP01/rels/d_a_e_tk/symbols.txt +++ b/config/RZDP01/rels/d_a_e_tk/symbols.txt @@ -63,6 +63,6 @@ lbl_238_data_104 = .data:0x00000104; // type:object size:0xD data:string @93851 = .data:0x00000114; // type:object size:0xC scope:local align:4 __RTTI__12daE_TK_HIO_c = .data:0x00000120; // type:object size:0x8 scope:global align:4 __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global align:4 -lbl_238_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +hio_set = .bss:0x00000008; // type:object size:0x1 data:byte @93233 = .bss:0x0000000C; // type:object size:0xC scope:local align:4 l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global align:4 data:byte diff --git a/config/RZDP01/rels/d_a_e_tk2/symbols.txt b/config/RZDP01/rels/d_a_e_tk2/symbols.txt index cd18a5c806..4ee3221cf2 100644 --- a/config/RZDP01/rels/d_a_e_tk2/symbols.txt +++ b/config/RZDP01/rels/d_a_e_tk2/symbols.txt @@ -58,6 +58,6 @@ lbl_239_data_D8 = .data:0x000000D8; // type:object size:0xE data:string @93703 = .data:0x000000E8; // type:object size:0xC scope:local align:4 __RTTI__13daE_TK2_HIO_c = .data:0x000000F4; // type:object size:0x8 scope:global align:4 __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global align:4 -lbl_239_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +hio_set = .bss:0x00000008; // type:object size:0x1 data:byte @93233 = .bss:0x0000000C; // type:object size:0xC scope:local align:4 l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global align:4 data:byte diff --git a/config/RZDP01/splits.txt b/config/RZDP01/splits.txt index d2aa84a2e7..6a3fdf9517 100644 --- a/config/RZDP01/splits.txt +++ b/config/RZDP01/splits.txt @@ -22,7 +22,7 @@ d/d_home_button.cpp: d/d_cursor_mng.cpp: .text start:0x800073D4 end:0x8000820C .data start:0x803E1698 end:0x803E17C0 - .sdata start:0x8051DEA8 end:0x8051DEE4 + .sdata start:0x8051DEA8 end:0x8051DEE0 .sbss start:0x80520EE8 end:0x80520F00 .sdata2 start:0x805221B8 end:0x805221D0 @@ -31,15 +31,15 @@ m_Do/m_Do_main.cpp: .ctors start:0x803B9104 end:0x803B9108 .data start:0x803E17C0 end:0x803E1AD8 .bss start:0x80431940 end:0x80431DA0 - .sdata start:0x8051DEE4 end:0x8051DF60 - .sbss start:0x80520F00 end:0x80520F28 + .sdata start:0x8051DEE0 end:0x8051DF60 + .sbss start:0x80520F00 end:0x80520F20 .sdata2 start:0x805221D0 end:0x805221E8 m_Do/m_Do_printf.cpp: .text start:0x80009024 end:0x80009704 .data start:0x803E1AD8 end:0x803E1B90 .bss start:0x80431DA0 end:0x804325A0 - .sbss start:0x80520F28 end:0x80520F44 + .sbss start:0x80520F20 end:0x80520F40 m_Do/m_Do_audio.cpp: .text start:0x80009704 end:0x8000A0A8 @@ -47,7 +47,7 @@ m_Do/m_Do_audio.cpp: .data start:0x803E1B90 end:0x803E1E08 .bss start:0x804325A0 end:0x80433958 .sdata start:0x8051DF60 end:0x8051DFCC - .sbss start:0x80520F44 end:0x80520F94 + .sbss start:0x80520F40 end:0x80520F94 m_Do/m_Do_controller_pad.cpp: .text start:0x8000A0A8 end:0x8000A4B8 @@ -74,7 +74,7 @@ m_Do/m_Do_machine.cpp: .text start:0x80011B28 end:0x80012844 .data start:0x803E1E20 end:0x803E21C0 .sdata start:0x8051E010 end:0x8051E040 - .sbss start:0x80521004 end:0x80521038 + .sbss start:0x80521004 end:0x80521030 .sdata2 start:0x80522380 end:0x80522388 m_Do/m_Do_mtx.cpp: @@ -83,6 +83,7 @@ m_Do/m_Do_mtx.cpp: .data start:0x803E21C0 end:0x803E2260 .bss start:0x8043B408 end:0x8043B870 .sdata start:0x8051E040 end:0x8051E050 + .sbss start:0x80521030 end:0x80521038 .sdata2 start:0x80522388 end:0x80522398 m_Do/m_Do_ext.cpp: @@ -103,7 +104,7 @@ m_Do/m_Do_lib.cpp: m_Do/m_Do_Reset.cpp: .text start:0x8001AAA0 end:0x8001ACD0 - .sbss start:0x80521090 end:0x805210A8 + .sbss start:0x80521090 end:0x80521098 m_Do/m_Do_dvd_thread.cpp: .text start:0x8001ACD0 end:0x8001B9EC @@ -111,10 +112,12 @@ m_Do/m_Do_dvd_thread.cpp: .data start:0x803E2A70 end:0x803E2DB8 .bss start:0x8043B8E0 end:0x8043DC60 .sdata start:0x8051E110 end:0x8051E158 + .sbss start:0x80521098 end:0x805210A0 m_Do/m_Do_DVDError.cpp: .text start:0x8001B9EC end:0x8001BB58 .bss start:0x8043DC60 end:0x8043FFC0 + .sbss start:0x805210A0 end:0x805210A8 m_Do/m_Do_MemCard.cpp: .text start:0x8001BB58 end:0x8001CEB0 @@ -338,7 +341,7 @@ f_pc/f_pc_node_req.cpp: f_pc/f_pc_priority.cpp: .text start:0x80027FC0 end:0x80028304 .bss start:0x804692F0 end:0x80469300 - .sdata start:0x8051E270 end:0x8051E2A8 + .sdata start:0x8051E270 end:0x8051E278 f_pc/f_pc_profile.cpp: .text start:0x80028304 end:0x80028314 @@ -378,7 +381,7 @@ d/d_stage.cpp: .ctors start:0x803B912C end:0x803B9130 .data start:0x803E65F8 end:0x803E9EA8 .bss start:0x80469300 end:0x8047A7C8 - .sdata start:0x8051E2A8 end:0x8051E2DC + .sdata start:0x8051E278 end:0x8051E2C0 .sbss start:0x80521150 end:0x80521178 .sdata2 start:0x805224E8 end:0x805224F8 @@ -386,7 +389,7 @@ d/d_map.cpp: .text start:0x8002CDC4 end:0x8002F530 .rodata start:0x803BAAF0 end:0x803BABD0 .data start:0x803E9EA8 end:0x803EA2A8 - .sdata start:0x8051E2DC end:0x8051E46C + .sdata start:0x8051E2C0 end:0x8051E46C .sbss start:0x80521178 end:0x80521180 .sdata2 start:0x805224F8 end:0x80522558 @@ -2447,7 +2450,7 @@ revolution/homebuttonLib/nw4hbm/lyt/lyt_textBox.cpp: .text start:0x802C4594 end:0x802C5BC4 .ctors start:0x803B9254 end:0x803B9258 .data start:0x80412070 end:0x804120E8 - .sdata start:0x80520910 end:0x80520920 + .sdata start:0x80520910 end:0x80520918 .sbss start:0x805218B8 end:0x805218C0 .sdata2 start:0x80526638 end:0x80526650 @@ -2507,7 +2510,7 @@ revolution/homebuttonLib/nw4hbm/ut/ut_ResFontBase.cpp: revolution/homebuttonLib/nw4hbm/ut/ut_TagProcessorBase.cpp: .text start:0x802CABC8 end:0x802CB388 - .data start:0x80413400 end:0x80413458 + .data start:0x80413400 end:0x80413428 .sdata2 start:0x805266A8 end:0x805266B0 revolution/homebuttonLib/nw4hbm/ut/ut_TextWriterBase.cpp: @@ -2519,13 +2522,14 @@ revolution/homebuttonLib/nw4hbm/ut/ut_TextWriterBase.cpp: JSystem/JKernel/JKRHeap.cpp: .text start:0x802CCDB4 end:0x802CD9EC - .data start:0x80413458 end:0x804134B8 - .sdata start:0x80520920 end:0x80520950 + .data start:0x80413428 end:0x804134B8 + .sdata start:0x80520918 end:0x80520928 .sbss start:0x805218E0 end:0x80521910 JSystem/JKernel/JKRExpHeap.cpp: .text start:0x802CD9EC end:0x802CF5B4 .data start:0x804134B8 end:0x80413860 + .sdata start:0x80520928 end:0x80520948 .sbss start:0x80521910 end:0x80521928 .sdata2 start:0x805266C8 end:0x805266D8 @@ -2545,17 +2549,18 @@ JSystem/JKernel/JKRDisposer.cpp: JSystem/JKernel/JKRThread.cpp: .text start:0x802D0094 end:0x802D0D9C .ctors start:0x803B9260 end:0x803B9264 - .data start:0x80413A88 end:0x80413BC4 + .data start:0x80413A88 end:0x80413B98 .bss start:0x804A9680 end:0x804A96D0 + .sdata start:0x80520948 end:0x80520950 .sbss start:0x80521928 end:0x80521948 .sdata2 start:0x805266F0 end:0x80526700 JSystem/JKernel/JKRAram.cpp: .text start:0x802D0D9C end:0x802D1BBC .ctors start:0x803B9264 end:0x803B9268 - .data start:0x80413BC4 end:0x80413BD8 + .data start:0x80413B98 end:0x80413BD8 .bss start:0x804A96D0 end:0x804A9730 - .sdata start:0x80520950 end:0x8052096C + .sdata start:0x80520950 end:0x80520958 .sbss start:0x80521948 end:0x80521988 JSystem/JKernel/JKRAramHeap.cpp: @@ -2571,12 +2576,12 @@ JSystem/JKernel/JKRAramBlock.cpp: JSystem/JKernel/JKRAramPiece.cpp: .text start:0x802D2358 end:0x802D28D4 .ctors start:0x803B926C end:0x803B9270 - .data start:0x80413BF8 end:0x80413C8C + .data start:0x80413BF8 end:0x80413C60 .bss start:0x804A9748 end:0x804A9778 JSystem/JKernel/JKRAramStream.cpp: .text start:0x802D28D4 end:0x802D2E4C - .data start:0x80413C8C end:0x80413CA0 + .data start:0x80413C60 end:0x80413CA0 .bss start:0x804A9778 end:0x804A97A8 .sbss start:0x80521988 end:0x80521998 @@ -2585,6 +2590,7 @@ JSystem/JKernel/JKRFileLoader.cpp: .ctors start:0x803B9270 end:0x803B9274 .data start:0x80413CA0 end:0x80413CE0 .bss start:0x804A97A8 end:0x804A97C0 + .sdata start:0x80520958 end:0x80520960 .sbss start:0x80521998 end:0x805219A0 JSystem/JKernel/JKRFileFinder.cpp: @@ -2594,10 +2600,11 @@ JSystem/JKernel/JKRFileFinder.cpp: JSystem/JKernel/JKRFileCache.cpp: .text start:0x802D3750 end:0x802D44E8 .data start:0x80413D10 end:0x80413D60 + .sdata start:0x80520960 end:0x80520968 JSystem/JKernel/JKRArchivePub.cpp: .text start:0x802D44E8 end:0x802D4FD8 - .data start:0x80413D60 end:0x80413DD4 + .data start:0x80413D60 end:0x80413DB0 JSystem/JKernel/JKRArchivePri.cpp: .text start:0x802D4FD8 end:0x802D5728 @@ -2605,19 +2612,19 @@ JSystem/JKernel/JKRArchivePri.cpp: JSystem/JKernel/JKRMemArchive.cpp: .text start:0x802D5728 end:0x802D5DD8 - .data start:0x80413DD4 end:0x80413E50 + .data start:0x80413DB0 end:0x80413E28 JSystem/JKernel/JKRAramArchive.cpp: .text start:0x802D5DD8 end:0x802D6A00 - .data start:0x80413E50 end:0x80413EA0 + .data start:0x80413E28 end:0x80413EA0 JSystem/JKernel/JKRDvdArchive.cpp: .text start:0x802D6A00 end:0x802D754C - .data start:0x80413EA0 end:0x80413F98 + .data start:0x80413EA0 end:0x80413F60 JSystem/JKernel/JKRCompArchive.cpp: .text start:0x802D754C end:0x802D8214 - .data start:0x80413F98 end:0x80414010 + .data start:0x80413F60 end:0x80413FE8 JSystem/JKernel/JKRFile.cpp: .text start:0x802D8214 end:0x802D8280 @@ -2625,7 +2632,7 @@ JSystem/JKernel/JKRFile.cpp: JSystem/JKernel/JKRDvdFile.cpp: .text start:0x802D8280 end:0x802D88AC .ctors start:0x803B9274 end:0x803B9278 - .data start:0x80414010 end:0x80414058 + .data start:0x80413FE8 end:0x80414058 .bss start:0x804A97C0 end:0x804A97D8 JSystem/JKernel/JKRDvdRipper.cpp: @@ -2633,7 +2640,7 @@ JSystem/JKernel/JKRDvdRipper.cpp: .ctors start:0x803B9278 end:0x803B927C .data start:0x80414058 end:0x804140B0 .bss start:0x804A97D8 end:0x804A9808 - .sdata start:0x8052096C end:0x80520974 + .sdata start:0x80520968 end:0x80520974 .sbss start:0x805219A8 end:0x805219E8 JSystem/JKernel/JKRDvdAramRipper.cpp: @@ -2647,7 +2654,7 @@ JSystem/JKernel/JKRDecomp.cpp: .text start:0x802DA238 end:0x802DA91C .data start:0x804140B0 end:0x804140C0 .bss start:0x804A9838 end:0x804A9878 - .sbss start:0x80521A30 end:0x80521A3C + .sbss start:0x80521A30 end:0x80521A38 JSystem/JSupport/JSUList.cpp: .text start:0x802DA91C end:0x802DAD5C @@ -2675,7 +2682,7 @@ JSystem/JGadget/std-vector.cpp: JSystem/JUtility/JUTCacheFont.cpp: .text start:0x802DBBF4 end:0x802DCAB4 - .data start:0x80414128 end:0x80414218 + .data start:0x80414128 end:0x804141E8 .sdata2 start:0x80526700 end:0x80526708 JSystem/JUtility/JUTResource.cpp: @@ -2687,6 +2694,7 @@ JSystem/JUtility/JUTTexture.cpp: JSystem/JUtility/JUTPalette.cpp: .text start:0x802DD248 end:0x802DD334 + .data start:0x804141E8 end:0x80414218 JSystem/JUtility/JUTNameTab.cpp: .text start:0x802DD334 end:0x802DD524 @@ -2695,16 +2703,16 @@ JSystem/JUtility/JUTNameTab.cpp: JSystem/JUtility/JUTGraphFifo.cpp: .text start:0x802DD524 end:0x802DD6B4 .data start:0x80414228 end:0x80414238 - .sbss start:0x80521A3C end:0x80521A48 + .sbss start:0x80521A38 end:0x80521A48 JSystem/JUtility/JUTFont.cpp: .text start:0x802DD6B4 end:0x802DD92C - .data start:0x80414238 end:0x804142B4 + .data start:0x80414238 end:0x80414280 JSystem/JUtility/JUTResFont.cpp: .text start:0x802DD92C end:0x802DEA3C .rodata start:0x803DB798 end:0x803DB880 - .data start:0x804142B4 end:0x80414300 + .data start:0x80414280 end:0x80414300 .sdata2 start:0x80526720 end:0x80526738 JSystem/JUtility/JUTFontData_Ascfont_fix12.cpp: @@ -2712,7 +2720,7 @@ JSystem/JUtility/JUTFontData_Ascfont_fix12.cpp: JSystem/JUtility/JUTDbPrint.cpp: .text start:0x802DEA3C end:0x802DEF98 - .sbss start:0x80521A48 end:0x80521A58 + .sbss start:0x80521A48 end:0x80521A50 .sdata2 start:0x80526738 end:0x80526748 JSystem/JUtility/JUTGamePad.cpp: @@ -2720,8 +2728,8 @@ JSystem/JUtility/JUTGamePad.cpp: .ctors start:0x803B9280 end:0x803B9284 .data start:0x80414300 end:0x80414330 .bss start:0x804A9878 end:0x804A9A18 - .sdata start:0x80520978 end:0x805209D0 - .sbss start:0x80521A58 end:0x80521A88 + .sdata start:0x80520978 end:0x80520990 + .sbss start:0x80521A50 end:0x80521A88 .sdata2 start:0x80526748 end:0x80526768 JSystem/JUtility/JUTException.cpp: @@ -2729,17 +2737,20 @@ JSystem/JUtility/JUTException.cpp: .ctors start:0x803B9284 end:0x803B9288 .data start:0x80414330 end:0x80414868 .bss start:0x804A9A18 end:0x804A9E90 + .sdata start:0x80520990 end:0x805209C0 .sbss start:0x80521A88 end:0x80521AB0 .sdata2 start:0x80526768 end:0x80526778 JSystem/JUtility/JUTDirectPrint.cpp: .text start:0x802E2610 end:0x802E2CF0 .data start:0x80414868 end:0x80414B30 + .sdata start:0x805209C0 end:0x805209C8 .sbss start:0x80521AB0 end:0x80521AB8 .sdata2 start:0x80526778 end:0x805267D0 JSystem/JUtility/JUTAssert.cpp: .text start:0x802E2CF0 end:0x802E2FCC + .sdata start:0x805209C8 end:0x805209D0 .sbss start:0x80521AB8 end:0x80521AC0 .sdata2 start:0x805267D0 end:0x805267E8 @@ -2754,18 +2765,19 @@ JSystem/JUtility/JUTXfb.cpp: JSystem/JUtility/JUTFader.cpp: .text start:0x802E37DC end:0x802E3AF0 - .data start:0x80414B40 end:0x80414B64 + .data start:0x80414B40 end:0x80414B58 .sdata2 start:0x805267E8 end:0x805267F0 JSystem/JUtility/JUTProcBar.cpp: .text start:0x802E3AF0 end:0x802E52A0 - .sdata start:0x805209D0 end:0x80520A40 + .sdata start:0x805209D0 end:0x805209D8 .sbss start:0x80521AE0 end:0x80521AF0 .sdata2 start:0x805267F0 end:0x80526830 JSystem/JUtility/JUTConsole.cpp: .text start:0x802E52A0 end:0x802E65BC - .data start:0x80414B64 end:0x80414B70 + .data start:0x80414B58 end:0x80414B70 + .sdata start:0x805209D8 end:0x805209E0 .sbss start:0x80521AF0 end:0x80521B00 .sdata2 start:0x80526830 end:0x80526860 @@ -2832,6 +2844,7 @@ JSystem/J2DGraph/J2DPicture.cpp: JSystem/J2DGraph/J2DTextBox.cpp: .text start:0x802FCAF4 end:0x802FDFE4 .data start:0x804153E8 end:0x804154A8 + .sdata start:0x805209E0 end:0x805209E8 .sdata2 start:0x80526998 end:0x805269B8 JSystem/J2DGraph/J2DWindowEx.cpp: @@ -2849,6 +2862,7 @@ JSystem/J2DGraph/J2DTextBoxEx.cpp: .text start:0x80303F44 end:0x80305788 .rodata start:0x803DFB28 end:0x803DFB60 .data start:0x804156C8 end:0x80415788 + .sdata start:0x805209E8 end:0x805209F0 .sdata2 start:0x805269F0 end:0x80526A10 JSystem/J2DGraph/J2DAnmLoader.cpp: @@ -2867,6 +2881,7 @@ JSystem/J2DGraph/J2DManage.cpp: JSystem/J3DGraphBase/J3DGD.cpp: .text start:0x803099B0 end:0x8030B278 .data start:0x804158B8 end:0x80415960 + .sdata start:0x805209F0 end:0x80520A40 .sdata2 start:0x80526A48 end:0x80526A88 JSystem/J3DGraphBase/J3DSys.cpp: diff --git a/config/RZDP01/symbols.txt b/config/RZDP01/symbols.txt index 960a28899a..94dab2fdfd 100644 --- a/config/RZDP01/symbols.txt +++ b/config/RZDP01/symbols.txt @@ -24796,8 +24796,8 @@ l_RoomKeepDoorInfo = .bss:0x80469C1C; // type:object size:0x904 scope:global ali @97897 = .bss:0x8046A520; // type:object size:0xC scope:local align:4 mStatus__20dStage_roomControl_c = .bss:0x8046A52C; // type:object size:0x10100 scope:global align:4 data:4byte mMemoryBlock__20dStage_roomControl_c = .bss:0x8047A62C; // type:object size:0x4C scope:global align:4 -lbl_8047A678 = .bss:0x8047A678; // type:object size:0xA data:byte -lbl_8047A682 = .bss:0x8047A682; // type:object size:0x146 +mDemoArcName__20dStage_roomControl_c = .bss:0x8047A678; // type:object size:0xA data:byte +mArcBank__20dStage_roomControl_c = .bss:0x8047A682; // type:object size:0x146 ...bss.0 = .bss:0x8047A7C8; // type:label scope:local align:4 dComIfG_mTimerInfo = .bss:0x8047A7C8; // type:object size:0x14 scope:global align:4 @109549 = .bss:0x8047A7DC; // type:object size:0xC scope:local align:4 @@ -25367,8 +25367,8 @@ exCallbackObject = .bss:0x804A9A38; // type:object size:0x14 scope:global align: sMapFileList__12JUTException = .bss:0x804A9A58; // type:object size:0xC scope:global align:4 data:4byte c3bcnt = .bss:0x804A9A68; // type:object size:0x20 scope:global align:4 data:4byte context$45953 = .bss:0x804A9A88; // type:object size:0x2C8 scope:local align:4 -lbl_804A9D50 = .bss:0x804A9D50; // type:object size:0x40 -lbl_804A9D90 = .bss:0x804A9D90; // type:object size:0x100 +sMessageFileLine__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .bss:0x804A9D50; // type:object size:0x40 +sMessageString__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .bss:0x804A9D90; // type:object size:0x100 static_mBounds__7J2DPane = .bss:0x804A9E90; // type:object size:0x10 scope:global align:4 lbl_804A9EA0 = .bss:0x804A9EA0; // type:object size:0x120 data:byte j3dSys = .bss:0x804A9FC0; // type:object size:0x11C scope:global align:4 @@ -25561,7 +25561,7 @@ __RTTI__Q310dCsr_mng_c8bloObj_c9paneObj_c = .sdata:0x8051DEC0; // type:object si __RTTI__Q210dCsr_mng_c5obj_c = .sdata:0x8051DEC8; // type:object size:0x8 scope:global align:4 __RTTI__Q210dCsr_mng_c6list_c = .sdata:0x8051DED0; // type:object size:0x8 scope:global align:4 __RTTI__Q210dCsr_mng_c6node_c = .sdata:0x8051DED8; // type:object size:0x8 scope:global align:4 -lbl_8051DEE0 = .sdata:0x8051DEE0; // type:object size:0x1 data:byte +developmentMode__7mDoMain = .sdata:0x8051DEE0; // type:object size:0x1 data:byte memMargin__7mDoMain = .sdata:0x8051DEE4; // type:object size:0x4 scope:global align:4 data:4byte lbl_8051DEE8 = .sdata:0x8051DEE8; // type:object size:0x1 data:byte lbl_8051DEE9 = .sdata:0x8051DEE9; // type:object size:0x3 @@ -25598,7 +25598,7 @@ __RTTI__28JASGlobalInstance<8Z2SeqMgr> = .sdata:0x8051DFA8; // type:object size: lbl_8051DFB0 = .sdata:0x8051DFB0; // type:object size:0x8 data:string __RTTI__7Z2SeMgr = .sdata:0x8051DFB8; // type:object size:0x8 scope:global align:4 __RTTI__27JASGlobalInstance<7Z2SeMgr> = .sdata:0x8051DFC0; // type:object size:0x8 scope:global align:4 -lbl_8051DFC8 = .sdata:0x8051DFC8; // type:object size:0x1 data:byte +mWide__13mDoGph_gInf_c = .sdata:0x8051DFC8; // type:object size:0x1 data:byte m_aspect__13mDoGph_gInf_c = .sdata:0x8051DFCC; // type:object size:0x4 scope:global align:4 data:float m_scale__13mDoGph_gInf_c = .sdata:0x8051DFD0; // type:object size:0x4 scope:global align:4 data:float m_invScale__13mDoGph_gInf_c = .sdata:0x8051DFD4; // type:object size:0x4 scope:global align:4 data:float @@ -25702,7 +25702,7 @@ lbl_8051E288 = .sdata:0x8051E288; // type:object size:0x8 data:string lbl_8051E290 = .sdata:0x8051E290; // type:object size:0x7 data:string lbl_8051E297 = .sdata:0x8051E297; // type:object size:0x7 data:string lbl_8051E29E = .sdata:0x8051E29E; // type:object size:0x6 data:string -lbl_8051E2A4 = .sdata:0x8051E2A4; // type:object size:0x1 data:byte +mRoomReadId__20dStage_roomControl_c = .sdata:0x8051E2A4; // type:object size:0x1 data:byte __RTTI__16dStage_stageDt_c = .sdata:0x8051E2A8; // type:object size:0x8 scope:global align:4 __RTTI__15dStage_roomDt_c = .sdata:0x8051E2B0; // type:object size:0x8 scope:global align:4 __RTTI__11dStage_dt_c = .sdata:0x8051E2B8; // type:object size:0x8 scope:global align:4 @@ -25757,7 +25757,7 @@ lbl_8051E433 = .sdata:0x8051E433; // type:object size:0x8 data:string lbl_8051E43B = .sdata:0x8051E43B; // type:object size:0x7 data:string lbl_8051E442 = .sdata:0x8051E442; // type:object size:0x5 data:string lbl_8051E447 = .sdata:0x8051E447; // type:object size:0x8 data:string -lbl_8051E44F = .sdata:0x8051E44F; // type:object size:0x1 data:byte +g_blackColor = .sdata:0x8051E44F; // type:object size:0x1 data:byte lbl_8051E450 = .sdata:0x8051E450; // type:object size:0x1 data:byte lbl_8051E451 = .sdata:0x8051E451; // type:object size:0x1 data:byte lbl_8051E452 = .sdata:0x8051E452; // type:object size:0x1 data:byte @@ -27195,10 +27195,10 @@ scCursorSRotPaneName__Q210homebutton10HomeButton = .sdata:0x80520868; // type:ob @3379 = .sdata:0x80520908; // type:object size:0x2 scope:local align:4 data:string @3380 = .sdata:0x8052090C; // type:object size:0x3 scope:local align:4 data:string @9572 = .sdata:0x80520910; // type:object size:0x4 scope:local align:4 data:wstring -lbl_80520918 = .sdata:0x80520918; // type:object size:0x1 data:byte +sDefaultFillFlag__7JKRHeap = .sdata:0x80520918; // type:object size:0x1 data:byte lbl_80520919 = .sdata:0x80520919; // type:object size:0x7 data:string ARALT_AramStartAdr = .sdata:0x80520920; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80520924 = .sdata:0x80520924; // type:object size:0x3 data:string +@STRING@panic__12JUTExceptionFPCciPCc = .sdata:0x80520924; // type:object size:0x3 data:string lbl_80520928 = .sdata:0x80520928; // type:object size:0x7 data:string lbl_8052092F = .sdata:0x8052092F; // type:object size:0x6 data:string lbl_80520935 = .sdata:0x80520935; // type:object size:0x6 data:string @@ -27209,7 +27209,7 @@ lbl_80520958 = .sdata:0x80520958; // type:object size:0x2 data:string lbl_8052095A = .sdata:0x8052095A; // type:object size:0x2 data:string lbl_80520960 = .sdata:0x80520960; // type:object size:0x2 data:string lbl_80520962 = .sdata:0x80520962; // type:object size:0x4 data:string -lbl_80520968 = .sdata:0x80520968; // type:object size:0x1 data:byte +errorRetry__12JKRDvdRipper = .sdata:0x80520968; // type:object size:0x1 data:byte sSZSBufferSize__12JKRDvdRipper = .sdata:0x8052096C; // type:object size:0x4 scope:global align:4 data:4byte lbl_80520970 = .sdata:0x80520970; // type:object size:0x1 data:byte sSZSBufferSize__16JKRDvdAramRipper = .sdata:0x80520974; // type:object size:0x4 scope:global align:4 data:4byte @@ -27230,7 +27230,7 @@ lbl_805209B1 = .sdata:0x805209B1; // type:object size:0x8 data:string lbl_805209B9 = .sdata:0x805209B9; // type:object size:0x1 lbl_805209BA = .sdata:0x805209BA; // type:object size:0x5 data:string lbl_805209C0 = .sdata:0x805209C0; // type:object size:0x3 data:string -lbl_805209C8 = .sdata:0x805209C8; // type:object size:0x1 data:byte +mVisible__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ = .sdata:0x805209C8; // type:object size:0x1 data:byte oneFrameRate = .sdata:0x805209D0; // type:object size:0x4 scope:global align:4 data:float oneFrameRateUser = .sdata:0x805209D4; // type:object size:0x4 scope:global align:4 data:float lbl_805209D8 = .sdata:0x805209D8; // type:object size:0x4 data:string @@ -27462,21 +27462,21 @@ lbl_80520F11 = .sbss:0x80520F11; // type:object size:0x1 data:byte lbl_80520F12 = .sbss:0x80520F12; // type:object size:0x1 data:byte console_scroll$90877 = .sbss:0x80520F14; // type:object size:0x4 scope:local align:4 data:float frame$91013 = .sbss:0x80520F18; // type:object size:0x4 scope:local align:4 data:4byte -lbl_80520F20 = .sbss:0x80520F20; // type:object size:0x1 data:byte -lbl_80520F21 = .sbss:0x80520F21; // type:object size:0x1 data:byte -lbl_80520F22 = .sbss:0x80520F22; // type:object size:0x1 data:byte -lbl_80520F23 = .sbss:0x80520F23; // type:object size:0x1 data:byte -lbl_80520F24 = .sbss:0x80520F24; // type:object size:0x1 data:byte +__OSReport_disable = .sbss:0x80520F20; // type:object size:0x1 data:byte +__OSReport_Error_disable = .sbss:0x80520F21; // type:object size:0x1 data:byte +__OSReport_Warning_disable = .sbss:0x80520F22; // type:object size:0x1 data:byte +__OSReport_System_disable = .sbss:0x80520F23; // type:object size:0x1 data:byte +__OSReport_enable = .sbss:0x80520F24; // type:object size:0x1 data:byte __OSReport_MonopolyThread = .sbss:0x80520F28; // type:object size:0x4 scope:global align:4 data:4byte print_counts = .sbss:0x80520F2C; // type:object size:0x4 scope:global align:4 data:4byte print_errors = .sbss:0x80520F30; // type:object size:0x4 scope:global align:4 data:4byte print_warings = .sbss:0x80520F34; // type:object size:0x4 scope:global align:4 data:4byte print_systems = .sbss:0x80520F38; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80520F3C = .sbss:0x80520F3C; // type:object size:0x1 data:byte +print_initialized = .sbss:0x80520F3C; // type:object size:0x1 data:byte lbl_80520F3D = .sbss:0x80520F3D; // type:object size:0x1 data:byte -lbl_80520F40 = .sbss:0x80520F40; // type:object size:0x1 data:byte -lbl_80520F41 = .sbss:0x80520F41; // type:object size:0x1 data:byte -lbl_80520F42 = .sbss:0x80520F42; // type:object size:0x1 data:byte +mInitFlag__17mDoAud_zelAudio_c = .sbss:0x80520F40; // type:object size:0x1 data:byte +mResetFlag__17mDoAud_zelAudio_c = .sbss:0x80520F41; // type:object size:0x1 data:byte +mBgmSet__17mDoAud_zelAudio_c = .sbss:0x80520F42; // type:object size:0x1 data:byte g_mDoAud_audioHeap = .sbss:0x80520F44; // type:object size:0x4 scope:global align:4 data:4byte l_affCommand = .sbss:0x80520F48; // type:object size:0x4 scope:global align:4 data:4byte l_arcCommand = .sbss:0x80520F4C; // type:object size:0x4 scope:global align:4 data:4byte @@ -27507,21 +27507,15 @@ mZbufferTimg__13mDoGph_gInf_c = .sbss:0x80520FB4; // type:object size:0x4 scope: mZbufferTex__13mDoGph_gInf_c = .sbss:0x80520FB8; // type:object size:0x4 scope:global align:4 data:4byte mFadeRate__13mDoGph_gInf_c = .sbss:0x80520FBC; // type:object size:0x4 scope:global align:4 data:float mFadeSpeed__13mDoGph_gInf_c = .sbss:0x80520FC0; // type:object size:0x4 scope:global align:4 data:float -lbl_80520FC4 = .sbss:0x80520FC4; // type:object size:0x1 data:byte -lbl_80520FC5 = .sbss:0x80520FC5; // type:object size:0x1 data:byte -lbl_80520FC6 = .sbss:0x80520FC6; // type:object size:0x1 data:byte -lbl_80520FC7 = .sbss:0x80520FC7; // type:object size:0x1 data:byte -lbl_80520FC8 = .sbss:0x80520FC8; // type:object size:0x1 data:byte -lbl_80520FC9 = .sbss:0x80520FC9; // type:object size:0x1 data:byte -lbl_80520FCA = .sbss:0x80520FCA; // type:object size:0x1 data:byte -lbl_80520FCB = .sbss:0x80520FCB; // type:object size:0x1 data:byte -lbl_80520FCC = .sbss:0x80520FCC; // type:object size:0x1 data:byte -lbl_80520FCD = .sbss:0x80520FCD; // type:object size:0x1 data:byte -lbl_80520FCE = .sbss:0x80520FCE; // type:object size:0x1 data:byte -lbl_80520FCF = .sbss:0x80520FCF; // type:object size:0x1 data:byte +mBackColor__13mDoGph_gInf_c = .sbss:0x80520FC4; // type:object size:0x4 data:byte +mFadeColor__13mDoGph_gInf_c = .sbss:0x80520FC8; // type:object size:0x4 data:byte +mBlureFlag__13mDoGph_gInf_c = .sbss:0x80520FCC; // type:object size:0x1 data:byte +mBlureRate__13mDoGph_gInf_c = .sbss:0x80520FCD; // type:object size:0x1 data:byte +mFade__13mDoGph_gInf_c = .sbss:0x80520FCE; // type:object size:0x1 data:byte +mAutoForcus__13mDoGph_gInf_c = .sbss:0x80520FCF; // type:object size:0x1 data:byte lbl_80520FD0 = .sbss:0x80520FD0; // type:object size:0x1 data:byte m_blurID__Q213mDoGph_gInf_c5csr_c = .sbss:0x80520FD4; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80520FD8 = .sbss:0x80520FD8; // type:object size:0x1 data:byte +mWideZoom__13mDoGph_gInf_c = .sbss:0x80520FD8; // type:object size:0x1 data:byte m_minX__13mDoGph_gInf_c = .sbss:0x80520FDC; // type:object size:0x4 scope:global align:4 data:4byte m_minY__13mDoGph_gInf_c = .sbss:0x80520FE0; // type:object size:0x4 scope:global align:4 data:4byte m_minXF__13mDoGph_gInf_c = .sbss:0x80520FE4; // type:object size:0x4 scope:global align:4 data:float @@ -27543,7 +27537,7 @@ lbl_80521025 = .sbss:0x80521025; // type:object size:0x1 data:byte lbl_80521026 = .sbss:0x80521026; // type:object size:0x1 data:byte lbl_80521027 = .sbss:0x80521027; // type:object size:0x1 data:byte l_oldButton$90467 = .sbss:0x80521028; // type:object size:0x4 scope:local align:4 data:4byte -lbl_80521030 = .sbss:0x80521030; // type:object size:0x8 +mDoMtx_stack = .sbss:0x80521030; // type:object size:0x1 AssertHeap = .sbss:0x80521038; // type:object size:0x4 scope:global align:4 data:4byte DbPrintHeap = .sbss:0x8052103C; // type:object size:0x4 scope:global align:4 data:4byte gameHeap = .sbss:0x80521040; // type:object size:0x4 scope:global align:4 data:4byte @@ -27566,9 +27560,9 @@ aram_cache_size = .sbss:0x80521080; // type:object size:0x4 scope:global align:4 mSystemFar__14mDoLib_clipper = .sbss:0x80521088; // type:object size:0x4 scope:global align:4 data:float mFovyRate__14mDoLib_clipper = .sbss:0x8052108C; // type:object size:0x4 scope:global align:4 data:float mResetData__6mDoRst = .sbss:0x80521090; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80521098 = .sbss:0x80521098; // type:object size:0x1 data:byte -lbl_80521099 = .sbss:0x80521099; // type:object size:0x7 data:byte -lbl_805210A0 = .sbss:0x805210A0; // type:object size:0x1 data:byte +SyncWidthSound__9mDoDvdThd = .sbss:0x80521098; // type:object size:0x1 data:byte +sDefaultDirection = .sbss:0x80521099; // type:object size:0x1 data:byte +mDoDvdErr_initialized = .sbss:0x805210A0; // type:object size:0x1 data:byte sConsole = .sbss:0x805210A8; // type:object size:0x4 scope:global align:4 data:4byte lbl_805210B0 = .sbss:0x805210B0; // type:object size:0x1 lbl_805210B1 = .sbss:0x805210B1; // type:object size:0x1 @@ -27609,10 +27603,10 @@ g_fpcPf_ProfileList_p = .sbss:0x80521148; // type:object size:0x4 scope:global a tmp_name$50691 = .sbss:0x80521150; // type:object size:0x8 scope:local align:1 data:byte mProcID__20dStage_roomControl_c = .sbss:0x80521158; // type:object size:0x4 scope:global align:4 data:4byte mStayNo__20dStage_roomControl_c = .sbss:0x8052115C; // type:object size:0x1 data:byte -lbl_8052115D = .sbss:0x8052115D; // type:object size:0x1 data:byte -lbl_8052115E = .sbss:0x8052115E; // type:object size:0x1 data:byte -lbl_8052115F = .sbss:0x8052115F; // type:object size:0x1 data:byte -lbl_80521160 = .sbss:0x80521160; // type:object size:0x1 data:byte +mOldStayNo__20dStage_roomControl_c = .sbss:0x8052115D; // type:object size:0x1 data:byte +mNextStayNo__20dStage_roomControl_c = .sbss:0x8052115E; // type:object size:0x1 data:byte +m_time_pass__20dStage_roomControl_c = .sbss:0x8052115F; // type:object size:0x1 data:byte +mNoChangeRoom__20dStage_roomControl_c = .sbss:0x80521160; // type:object size:0x1 data:byte mArcBankName__20dStage_roomControl_c = .sbss:0x80521164; // type:object size:0x4 scope:global align:4 data:4byte mArcBankData__20dStage_roomControl_c = .sbss:0x80521168; // type:object size:0x4 scope:global align:4 data:4byte m_roomDzs__20dStage_roomControl_c = .sbss:0x8052116C; // type:object size:0x8 scope:global align:4 @@ -27620,10 +27614,7 @@ m_res__22dMap_HIO_prm_res_dst_s = .sbss:0x80521178; // type:object size:0x4 scop m_baseCsr__13dComIfG_inf_c = .sbss:0x80521180; // type:object size:0x4 scope:global align:4 data:4byte m_navi__Q213dComIfG_inf_c9baseCsr_c = .sbss:0x80521184; // type:object size:0x4 scope:global align:4 data:4byte lbl_80521188 = .sbss:0x80521188; // type:object size:0x1 data:byte -lbl_80521189 = .sbss:0x80521189; // type:object size:0x1 data:byte -lbl_8052118A = .sbss:0x8052118A; // type:object size:0x1 data:byte -lbl_8052118B = .sbss:0x8052118B; // type:object size:0x1 data:byte -lbl_8052118C = .sbss:0x8052118C; // type:object size:0x1 data:byte +g_clearColor = .sbss:0x80521189; // type:object size:0x4 data:byte g_dComIfAc_gameInfo = .sbss:0x80521190; // type:object size:0x8 scope:global align:4 g_dComIfGoat_gameInfo = .sbss:0x80521198; // type:object size:0x4 scope:global align:4 data:4byte m_count__9daArrow_c = .sbss:0x805211A0; // type:object size:0x2 scope:global align:4 @@ -27676,9 +27667,9 @@ lbl_80521258 = .sbss:0x80521258; // type:object size:0x1 data:byte lbl_80521259 = .sbss:0x80521259; // type:object size:0x1 data:byte it$98965 = .sbss:0x8052125C; // type:object size:0x4 scope:local align:4 data:4byte lbl_80521260 = .sbss:0x80521260; // type:object size:0x8 data:byte -lbl_80521268 = .sbss:0x80521268; // type:object size:0x1 data:byte +mNowStayFloorNo__10dMapInfo_c = .sbss:0x80521268; // type:object size:0x1 data:byte mNowStayRoomNo__10dMapInfo_c = .sbss:0x8052126C; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80521270 = .sbss:0x80521270; // type:object size:0x1 data:byte +mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x80521270; // type:object size:0x1 data:byte mLayerList__8dMpath_c = .sbss:0x80521274; // type:object size:0x4 scope:global align:4 data:4byte mAllCenterX__8dMpath_c = .sbss:0x80521278; // type:object size:0x4 scope:global align:4 data:float mAllCenterZ__8dMpath_c = .sbss:0x8052127C; // type:object size:0x4 scope:global align:4 data:float @@ -28126,18 +28117,18 @@ lbl_80521A38 = .sbss:0x80521A38; // type:object size:0x1 data:byte sCurrentFifo__12JUTGraphFifo = .sbss:0x80521A3C; // type:object size:0x4 scope:global align:4 data:4byte lbl_80521A40 = .sbss:0x80521A40; // type:object size:0x8 sDebugPrint__10JUTDbPrint = .sbss:0x80521A48; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80521A50 = .sbss:0x80521A50; // type:object size:0x1 data:byte -lbl_80521A51 = .sbss:0x80521A51; // type:object size:0x1 data:byte +mListInitialized__10JUTGamePad = .sbss:0x80521A50; // type:object size:0x1 data:byte +mPadAssign__10JUTGamePad = .sbss:0x80521A51; // type:object size:0x4 data:byte sSuppressPadReset__10JUTGamePad = .sbss:0x80521A58; // type:object size:0x4 scope:global align:4 data:4byte sAnalogMode__10JUTGamePad = .sbss:0x80521A5C; // type:object size:0x4 scope:global align:4 data:4byte sRumbleSupported__10JUTGamePad = .sbss:0x80521A60; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80521A64 = .sbss:0x80521A64; // type:object size:0x1 data:byte +mStatus__Q210JUTGamePad7CRumble = .sbss:0x80521A64; // type:object size:0x4 data:byte mEnabled__Q210JUTGamePad7CRumble = .sbss:0x80521A68; // type:object size:0x4 scope:global align:4 data:4byte sCallback__Q210JUTGamePad13C3ButtonReset = .sbss:0x80521A6C; // type:object size:0x4 scope:global align:4 data:4byte sCallbackArg__Q210JUTGamePad13C3ButtonReset = .sbss:0x80521A70; // type:object size:0x4 scope:global align:4 data:4byte sThreshold__Q210JUTGamePad13C3ButtonReset = .sbss:0x80521A78; // type:object size:0x8 scope:global align:4 data:4byte -lbl_80521A80 = .sbss:0x80521A80; // type:object size:0x1 data:byte -lbl_80521A81 = .sbss:0x80521A81; // type:object size:0x1 data:byte +sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset = .sbss:0x80521A80; // type:object size:0x1 data:byte +sResetOccurred__Q210JUTGamePad13C3ButtonReset = .sbss:0x80521A81; // type:object size:0x1 data:byte sResetOccurredPort__Q210JUTGamePad13C3ButtonReset = .sbss:0x80521A84; // type:object size:0x4 scope:global align:4 data:4byte sErrorManager__12JUTException = .sbss:0x80521A88; // type:object size:0x4 scope:global align:4 data:4byte sPreUserCallback__12JUTException = .sbss:0x80521A8C; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/Shield/rels/d_a_e_tk/symbols.txt b/config/Shield/rels/d_a_e_tk/symbols.txt index c80fc3619f..0c6de6ef25 100644 --- a/config/Shield/rels/d_a_e_tk/symbols.txt +++ b/config/Shield/rels/d_a_e_tk/symbols.txt @@ -62,5 +62,5 @@ __vt__12daE_TK_HIO_c = .data:0x000000D0; // type:object size:0xC scope:global @110122 = .data:0x000000DC; // type:object size:0xD scope:local data:string @110123 = .data:0x000000EC; // type:object size:0xC scope:local __RTTI__12daE_TK_HIO_c = .data:0x000000F8; // type:object size:0x8 scope:global -lbl_235_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +hio_set = .bss:0x00000000; // type:object size:0x1 data:byte l_HIO = .bss:0x00000004; // type:object size:0x1C scope:global align:4 data:float diff --git a/config/Shield/rels/d_a_e_tk2/symbols.txt b/config/Shield/rels/d_a_e_tk2/symbols.txt index 446816f051..8f3902a1c7 100644 --- a/config/Shield/rels/d_a_e_tk2/symbols.txt +++ b/config/Shield/rels/d_a_e_tk2/symbols.txt @@ -56,5 +56,5 @@ __vt__13daE_TK2_HIO_c = .data:0x000000D0; // type:object size:0xC scope:global @110028 = .data:0x000000DC; // type:object size:0xE scope:local data:string @110029 = .data:0x000000EC; // type:object size:0xC scope:local __RTTI__13daE_TK2_HIO_c = .data:0x000000F8; // type:object size:0x8 scope:global -lbl_237_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +hio_set = .bss:0x00000000; // type:object size:0x1 data:byte l_HIO = .bss:0x00000004; // type:object size:0x1C scope:global align:4 data:float diff --git a/config/Shield/rels/d_a_npc_taro/symbols.txt b/config/Shield/rels/d_a_npc_taro/symbols.txt index 39cc7aa76e..a098750d56 100644 --- a/config/Shield/rels/d_a_npc_taro/symbols.txt +++ b/config/Shield/rels/d_a_npc_taro/symbols.txt @@ -270,5 +270,5 @@ lbl_88_data_1BD8 = .data:0x00001BD8; // type:object size:0x24 @120156 = .data:0x00001DD4; // type:object size:0xC scope:local data:string @120184 = .data:0x00001DF4; // type:object size:0xD scope:local data:string l_HIO = .bss:0x00000000; // type:object size:0x4 scope:global -lbl_88_bss_4 = .bss:0x00000004; // type:object size:0x1 data:byte +@GUARD@setAttnPos__12daNpc_Taro_cFv@prtclScl = .bss:0x00000004; // type:object size:0x1 data:byte @LOCAL@setAttnPos__12daNpc_Taro_cFv@prtclScl = .bss:0x00000008; // type:object size:0xC scope:local align:4 data:float diff --git a/config/Shield/symbols.txt b/config/Shield/symbols.txt index d90f87197a..a80d8b0f8e 100644 --- a/config/Shield/symbols.txt +++ b/config/Shield/symbols.txt @@ -23030,7 +23030,7 @@ g_fpcNd_IsCheckOfDeleteTiming = .sdata:0x80504EF0; // type:object size:0x4 scope @116401 = .sdata:0x80504F20; // type:object size:0x7 scope:local data:string hash:0xAC942746 @117095 = .sdata:0x80504F28; // type:object size:0x7 scope:local data:string hash:0xAC949B4E @117096 = .sdata:0x80504F30; // type:object size:0x6 scope:local data:string hash:0xAC949B4D -lbl_80504F36 = .sdata:0x80504F36; // type:object size:0x1 data:byte hash:0x1A63BEEE dhash:0x24126ACC +mRoomReadId__20dStage_roomControl_c = .sdata:0x80504F36; // type:object size:0x1 data:byte hash:0x1A63BEEE dhash:0x24126ACC __RTTI__16dStage_stageDt_c = .sdata:0x80504F38; // type:object size:0x8 scope:global hash:0x17B0566E dhash:0xF078A7E9 __RTTI__15dStage_roomDt_c = .sdata:0x80504F40; // type:object size:0x8 scope:global hash:0x0033F5F6 dhash:0xF77E0AD2 __RTTI__11dStage_dt_c = .sdata:0x80504F48; // type:object size:0x8 scope:global hash:0x5F98966D dhash:0x6874274D @@ -25275,10 +25275,10 @@ g_fpcPf_ProfileList_p = .sbss:0x80508B58; // type:object size:0x4 scope:global d @LOCAL@dStage_getName__FsSc@tmp_name = .sbss:0x80508B60; // type:object size:0x8 scope:local hash:0xDC907C52 dhash:0x0B811DD9 mProcID__20dStage_roomControl_c = .sbss:0x80508B68; // type:object size:0x4 scope:global data:4byte hash:0x24C2F7B2 dhash:0xBF1DEEF0 mStayNo__20dStage_roomControl_c = .sbss:0x80508B6C; // type:object size:0x1 data:byte hash:0x87058A4F dhash:0xB3B700CD -lbl_80508B6D = .sbss:0x80508B6D; // type:object size:0x1 data:byte hash:0x5AF37248 dhash:0x1A945A6A -lbl_80508B6E = .sbss:0x80508B6E; // type:object size:0x1 data:byte hash:0xE957ED68 dhash:0x66C51F6A -lbl_80508B6F = .sbss:0x80508B6F; // type:object size:0x1 data:byte hash:0x88D929D5 dhash:0xB0689D17 -lbl_80508B70 = .sbss:0x80508B70; // type:object size:0x1 data:byte hash:0x3F91BE16 dhash:0xDD72DA34 +mOldStayNo__20dStage_roomControl_c = .sbss:0x80508B6D; // type:object size:0x1 data:byte hash:0x5AF37248 dhash:0x1A945A6A +mNextStayNo__20dStage_roomControl_c = .sbss:0x80508B6E; // type:object size:0x1 data:byte hash:0xE957ED68 dhash:0x66C51F6A +m_time_pass__20dStage_roomControl_c = .sbss:0x80508B6F; // type:object size:0x1 data:byte hash:0x88D929D5 dhash:0xB0689D17 +mNoChangeRoom__20dStage_roomControl_c = .sbss:0x80508B70; // type:object size:0x1 data:byte hash:0x3F91BE16 dhash:0xDD72DA34 mArcBankName__20dStage_roomControl_c = .sbss:0x80508B74; // type:object size:0x4 scope:global data:4byte hash:0x885DF1A0 dhash:0xD2AA5D02 mArcBankData__20dStage_roomControl_c = .sbss:0x80508B78; // type:object size:0x4 scope:global data:4byte hash:0xF1AABD97 dhash:0xD2A70575 m_roomDzs__20dStage_roomControl_c = .sbss:0x80508B80; // type:object size:0x8 scope:global data:byte hash:0x67101B7C dhash:0x0B10A8BE @@ -25340,9 +25340,9 @@ lbl_80508C71 = .sbss:0x80508C71; // type:object size:0x1 data:byte hash:0x7EAE93 @LOCAL@getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc@it@0 = .sbss:0x80508C74; // type:object size:0x4 scope:local data:4byte hash:0x7437A06F dhash:0xD35046F1 lbl_80508C78 = .sbss:0x80508C78; // type:object size:0x1 data:byte hash:0xCB27AC4D dhash:0x3A9725EA sDrawStage = .sbss:0x80508C80; // type:object size:0x4 scope:global data:4byte hash:0x32D6CDF2 -lbl_80508C88 = .sbss:0x80508C88; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072 +mNowStayFloorNo__10dMapInfo_c = .sbss:0x80508C88; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072 mNowStayRoomNo__10dMapInfo_c = .sbss:0x80508C8C; // type:object size:0x4 scope:global data:4byte hash:0xAB465BF4 dhash:0xA4A954B5 -lbl_80508C90 = .sbss:0x80508C90; // type:object size:0x1 data:byte hash:0x991A382E dhash:0x1A2339EF +mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x80508C90; // type:object size:0x1 data:byte hash:0x991A382E dhash:0x1A2339EF mLayerList__8dMpath_c = .sbss:0x80508C94; // type:object size:0x4 scope:global data:4byte hash:0x10631C09 dhash:0x89F28E31 mAllCenterX__8dMpath_c = .sbss:0x80508C98; // type:object size:0x4 scope:global align:4 data:float hash:0x4FEB5F9A dhash:0x67799F02 mAllCenterZ__8dMpath_c = .sbss:0x80508C9C; // type:object size:0x4 scope:global align:4 data:float hash:0x1B7B1558 dhash:0x67799F00 diff --git a/config/ShieldD/rels/d_a_e_tk2D/symbols.txt b/config/ShieldD/rels/d_a_e_tk2D/symbols.txt index fb73cfa4c5..0ce7ed9422 100644 --- a/config/ShieldD/rels/d_a_e_tk2D/symbols.txt +++ b/config/ShieldD/rels/d_a_e_tk2D/symbols.txt @@ -104,5 +104,5 @@ lbl_231_data_238 = .data:0x00000238; // type:object size:0x24 @118843 = .data:0x00000410; // type:object size:0xE scope:local data:string @118844 = .data:0x00000420; // type:object size:0xC scope:local @118845 = .data:0x00000444; // type:object size:0x11 scope:local data:string -lbl_231_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +hio_set = .bss:0x00000000; // type:object size:0x1 data:byte l_HIO = .bss:0x00000004; // type:object size:0x1C scope:global data:byte diff --git a/config/ShieldD/rels/d_a_e_tkD/symbols.txt b/config/ShieldD/rels/d_a_e_tkD/symbols.txt index 62a43d9ee3..a14f779065 100644 --- a/config/ShieldD/rels/d_a_e_tkD/symbols.txt +++ b/config/ShieldD/rels/d_a_e_tkD/symbols.txt @@ -112,5 +112,5 @@ lbl_229_data_280 = .data:0x00000280; // type:object size:0x24 @118960 = .data:0x00000458; // type:object size:0xE scope:local data:string @118961 = .data:0x00000468; // type:object size:0xC scope:local @118962 = .data:0x0000048C; // type:object size:0x11 scope:local data:string -lbl_229_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +hio_set = .bss:0x00000000; // type:object size:0x1 data:byte l_HIO = .bss:0x00000004; // type:object size:0x1C scope:global data:byte diff --git a/config/ShieldD/rels/d_a_tag_firewallD/symbols.txt b/config/ShieldD/rels/d_a_tag_firewallD/symbols.txt index d336822da0..6a14227b8a 100644 --- a/config/ShieldD/rels/d_a_tag_firewallD/symbols.txt +++ b/config/ShieldD/rels/d_a_tag_firewallD/symbols.txt @@ -30,4 +30,4 @@ game_over_eff_name__11Tag_FWall_n = .data:0x00000040; // type:object size:0x8 sc l_daTag_FWall_Method = .data:0x00000060; // type:object size:0x20 scope:global g_profile_Tag_FWall = .data:0x00000080; // type:object size:0x30 scope:global fire_leader = .bss:0x00000000; // type:object size:0x4 scope:global -lbl_708_bss_4 = .bss:0x00000004; // type:object size:0x1 data:byte +fire_num = .bss:0x00000004; // type:object size:0x1 data:byte diff --git a/config/ShieldD/rels/d_a_tag_waterfallD/symbols.txt b/config/ShieldD/rels/d_a_tag_waterfallD/symbols.txt index cb049717ff..5065ceba03 100644 --- a/config/ShieldD/rels/d_a_tag_waterfallD/symbols.txt +++ b/config/ShieldD/rels/d_a_tag_waterfallD/symbols.txt @@ -61,5 +61,5 @@ __RTTI__20daTagWaterFall_HIO_c = .data:0x000001A0; // type:object size:0x8 scope @118516 = .data:0x000001A8; // type:object size:0xE scope:local data:string @118517 = .data:0x000001B8; // type:object size:0xC scope:local @118518 = .data:0x000001DC; // type:object size:0x11 scope:local data:string -lbl_743_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +masterWaterfallTagExists = .bss:0x00000000; // type:object size:0x1 data:byte l_HIO = .bss:0x00000004; // type:object size:0x24 scope:global data:byte diff --git a/config/ShieldD/splits.txt b/config/ShieldD/splits.txt index f36560019e..4916e4f9c7 100644 --- a/config/ShieldD/splits.txt +++ b/config/ShieldD/splits.txt @@ -103,18 +103,19 @@ m_Do/m_Do_Reset.cpp: .text start:0x8002BAE0 end:0x8002BE60 .data start:0x806641F0 end:0x80664238 .sdata start:0x8073F628 end:0x8073F630 - .sbss start:0x8074C428 end:0x8074C434 + .sbss start:0x8074C428 end:0x8074C430 m_Do/m_Do_dvd_thread.cpp: .text start:0x8002BE60 end:0x8002D590 .ctors start:0x8062F7DC end:0x8062F7E0 .data start:0x80664238 end:0x80664A10 .sdata start:0x8073F630 end:0x8073F688 - .sbss start:0x8074C434 end:0x8074C450 + .sbss start:0x8074C430 end:0x8074C448 .bss start:0x80756800 end:0x80758B80 m_Do/m_Do_DVDError.cpp: .text start:0x8002D590 end:0x8002D740 + .sbss start:0x8074C448 end:0x8074C450 .bss start:0x80758B80 end:0x8075AEE0 m_Do/m_Do_MemCard.cpp: @@ -155,7 +156,7 @@ f_ap/f_ap_game.cpp: .ctors start:0x8062F7E8 end:0x8062F7EC .data start:0x80667F90 end:0x80669130 .sdata start:0x8073F6E8 end:0x8073F850 - .sbss start:0x8074C47C end:0x8074C4A0 + .sbss start:0x8074C47C end:0x8074C498 .sdata2 start:0x8074D920 end:0x8074D950 .bss start:0x80776F20 end:0x8077EF68 @@ -164,7 +165,7 @@ f_op/f_op_actor.cpp: .ctors start:0x8062F7EC end:0x8062F7F0 .data start:0x80669130 end:0x80669848 .sdata start:0x8073F850 end:0x8073F8B8 - .sbss start:0x8074C4A0 end:0x8074C4E0 + .sbss start:0x8074C498 end:0x8074C4D8 .sdata2 start:0x8074D950 end:0x8074D998 .bss start:0x8077EF68 end:0x8077EF78 @@ -184,7 +185,7 @@ f_op/f_op_actor_mng.cpp: .rodata start:0x806311D0 end:0x80631200 .data start:0x80669848 end:0x8066AA10 .sdata start:0x8073F8B8 end:0x8073F970 - .sbss start:0x8074C4E0 end:0x8074C4F8 + .sbss start:0x8074C4D8 end:0x8074C4F8 .sdata2 start:0x8074D998 end:0x8074D9F0 .bss start:0x8077EF88 end:0x8077F148 @@ -3450,7 +3451,7 @@ JSystem/JUtility/JUTResFont.cpp: JSystem/JUtility/JUTDbPrint.cpp: .text start:0x8051C3E0 end:0x8051CB70 - .sbss start:0x8074CF90 end:0x8074CF9C + .sbss start:0x8074CF90 end:0x8074CF98 .sdata2 start:0x80752718 end:0x80752728 JSystem/JUtility/JUTGamePad.cpp: @@ -3458,7 +3459,7 @@ JSystem/JUtility/JUTGamePad.cpp: .ctors start:0x8062F9C8 end:0x8062F9CC .data start:0x8070FC90 end:0x8070FD50 .sdata start:0x8074ADA8 end:0x8074ADD8 - .sbss start:0x8074CF9C end:0x8074CFD0 + .sbss start:0x8074CF98 end:0x8074CFD0 .sdata2 start:0x80752728 end:0x80752748 .bss start:0x807E20B8 end:0x807E2258 diff --git a/config/ShieldD/symbols.txt b/config/ShieldD/symbols.txt index cba07a4591..d4bb01c40a 100644 --- a/config/ShieldD/symbols.txt +++ b/config/ShieldD/symbols.txt @@ -32830,7 +32830,9 @@ __vt__19mDoDvdThd_command_c = .data:0x80664998; // type:object size:0x10 scope:g @114927 = .data:0x806649A8; // type:object size:0x14 scope:local data:string hash:0xAC9323CD @114928 = .data:0x806649BC; // type:object size:0xC scope:local hash:0xAC9323C2 @114929 = .data:0x806649C8; // type:object size:0xB scope:local data:string hash:0xAC9323C3 -lbl_806649D3 = .data:0x806649D3; // type:object size:0x3D +lbl_806649D4 = .data:0x806649D4; // type:object size:0xD scope:local data:string +lbl_806649E4 = .data:0x806649E4; // type:object size:0x16 scope:local data:string +lbl_806649FC = .data:0x806649FC; // type:object size:0xD scope:local data:string @114239 = .data:0x80664A10; // type:object size:0x1C scope:local hash:0xAC9305E9 ...data.0 = .data:0x80664A10; // type:label scope:local @114357 = .data:0x80664A2C; // type:object size:0x38 scope:local hash:0xAC930AE0 @@ -64236,8 +64238,8 @@ FstStart__10mDoDvdHack = .sbss:0x8074C438; // type:object size:0x4 scope:global FstStringStart__10mDoDvdHack = .sbss:0x8074C43C; // type:object size:0x4 scope:global data:4byte hash:0x56901DA1 dhash:0x76F925E0 MaxEntryNum__10mDoDvdHack = .sbss:0x8074C440; // type:object size:0x4 scope:global data:4byte hash:0x143437A3 dhash:0xFB171942 sManager__Q210mDoDvdHack7Manager = .sbss:0x8074C444; // type:object size:0x1 scope:global hash:0x4AE0AFD2 dhash:0xC0BE40C7 -lbl_8074C445 = .sbss:0x8074C445; // type:object size:0x1 data:byte hash:0xE347FC69 dhash:0x3FF11AB0 -lbl_8074C448 = .sbss:0x8074C448; // type:object size:0x1 data:byte hash:0xEA8D2103 +sDefaultDirection = .sbss:0x8074C445; // type:object size:0x1 data:byte hash:0xE347FC69 dhash:0x3FF11AB0 +mDoDvdErr_initialized = .sbss:0x8074C448; // type:object size:0x1 data:byte hash:0xEA8D2103 sConsole = .sbss:0x8074C450; // type:object size:0x4 scope:global data:4byte hash:0xCEF7DB41 cDmr_SkipInfo = .sbss:0x8074C458; // type:object size:0x1 hash:0x209D232D data_80450C99 = .sbss:0x8074C459; // type:object size:0x1 hash:0x73292698 @@ -64312,10 +64314,10 @@ lbl_8074C56C = .sbss:0x8074C56C; // type:object size:0x1 data:byte hash:0x5A01C5 @LOCAL@dStage_getName__FsSc@tmp_name = .sbss:0x8074C570; // type:object size:0x8 scope:local hash:0xDC907C52 dhash:0x0B811DD9 mProcID__20dStage_roomControl_c = .sbss:0x8074C578; // type:object size:0x4 scope:global data:4byte hash:0x24C2F7B2 dhash:0xBF1DEEF0 mStayNo__20dStage_roomControl_c = .sbss:0x8074C57C; // type:object size:0x1 data:byte hash:0x87058A4F dhash:0xB3B700CD -lbl_8074C57D = .sbss:0x8074C57D; // type:object size:0x1 data:byte hash:0x5AF37248 dhash:0x1A945A6A -dStage_roomControl_c::mNextStayNo = .sbss:0x8074C57E; // type:object size:0x1 data:byte hash:0xE957ED68 dhash:0x66C51F6A +mOldStayNo__20dStage_roomControl_c = .sbss:0x8074C57D; // type:object size:0x1 data:byte hash:0x5AF37248 dhash:0x1A945A6A +mNextStayNo__20dStage_roomControl_c = .sbss:0x8074C57E; // type:object size:0x1 data:byte hash:0xE957ED68 dhash:0x66C51F6A m_time_pass__20dStage_roomControl_c = .sbss:0x8074C57F; // type:object size:0x1 data:byte hash:0x88D929D5 dhash:0xB0689D17 -lbl_8074C580 = .sbss:0x8074C580; // type:object size:0x1 data:byte hash:0x3F91BE16 dhash:0xDD72DA34 +mNoChangeRoom__20dStage_roomControl_c = .sbss:0x8074C580; // type:object size:0x1 data:byte hash:0x3F91BE16 dhash:0xDD72DA34 mArcBankName__20dStage_roomControl_c = .sbss:0x8074C584; // type:object size:0x4 scope:global data:4byte hash:0x885DF1A0 dhash:0xD2AA5D02 mArcBankData__20dStage_roomControl_c = .sbss:0x8074C588; // type:object size:0x4 scope:global data:4byte hash:0xF1AABD97 dhash:0xD2A70575 m_roomDzs__20dStage_roomControl_c = .sbss:0x8074C590; // type:object size:0x8 scope:global hash:0x67101B7C dhash:0x0B10A8BE @@ -64388,9 +64390,9 @@ lbl_8074C6B3 = .sbss:0x8074C6B3; // type:object size:0x1 data:byte hash:0x7EAE93 lbl_8074C6B8 = .sbss:0x8074C6B8; // type:object size:0x8 data:byte hash:0xCB27AC4D dhash:0x3A9725EA lbl_8074C6C0 = .sbss:0x8074C6C0; // type:object size:0x1 data:byte hash:0x04D34995 mMySelfPointer__14dMapInfo_HIO_c = .sbss:0x8074C6C8; // type:object size:0x4 scope:global data:4byte hash:0x42174B45 dhash:0x5B0F4B00 -lbl_8074C6CC = .sbss:0x8074C6CC; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072 +mNowStayFloorNo__10dMapInfo_c = .sbss:0x8074C6CC; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072 mNowStayRoomNo__10dMapInfo_c = .sbss:0x8074C6D0; // type:object size:0x4 scope:global data:4byte hash:0xAB465BF4 dhash:0xA4A954B5 -lbl_8074C6D4 = .sbss:0x8074C6D4; // type:object size:0x1 data:byte hash:0x991A382E dhash:0x1A2339EF +mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x8074C6D4; // type:object size:0x1 data:byte hash:0x991A382E dhash:0x1A2339EF mLayerList__8dMpath_c = .sbss:0x8074C6D8; // type:object size:0x4 scope:global data:4byte hash:0x10631C09 dhash:0x89F28E31 mAllCenterX__8dMpath_c = .sbss:0x8074C6DC; // type:object size:0x4 scope:global align:4 data:float hash:0x4FEB5F9A dhash:0x67799F02 mAllCenterZ__8dMpath_c = .sbss:0x8074C6E0; // type:object size:0x4 scope:global align:4 data:float hash:0x1B7B1558 dhash:0x67799F00 diff --git a/configure.py b/configure.py index c8592a73a3..d5ad356688 100755 --- a/configure.py +++ b/configure.py @@ -397,6 +397,13 @@ if config.version != "ShieldD": if config.version in ["RZDE01_00", "RZDE01_02", "RZDP01", "RZDJ01"]: cflags_framework.extend(["-DSDK_SEP2006"]) +cflags_jsystem = [ + *cflags_framework +] + +if config.version in ["RZDE01_00", "RZDE01_02", "RZDP01", "RZDJ01"]: + cflags_jsystem.extend(["-RTTI off"]) + # REL flags cflags_rel = [ @@ -505,7 +512,7 @@ def JSystemLib(lib_name: str, objects: List[Object], progress_category: str="thi return { "lib": lib_name, "mw_version": MWVersion(config.version), - "cflags": [*cflags_framework], + "cflags": [*cflags_jsystem], "progress_category": progress_category, "objects": objects, } @@ -614,7 +621,7 @@ config.libs = [ Object(MatchingFor(ALL), "f_op/f_op_overlap.cpp"), Object(MatchingFor(ALL_GCN, ALL_WII, "Shield"), "f_op/f_op_overlap_mng.cpp"), Object(MatchingFor(ALL_GCN, ALL_WII, "ShieldD"), "f_op/f_op_overlap_req.cpp"), - Object(MatchingFor(ALL_GCN, ALL_WII, "Shield"), "f_op/f_op_scene.cpp"), + Object(MatchingFor(ALL), "f_op/f_op_scene.cpp"), Object(MatchingFor(ALL_GCN, "ShieldD"), "f_op/f_op_scene_iter.cpp"), Object(MatchingFor(ALL), "f_op/f_op_scene_mng.cpp"), Object(MatchingFor(ALL), "f_op/f_op_scene_req.cpp"), @@ -716,9 +723,9 @@ config.libs = [ Object(MatchingFor(ALL_GCN, "Shield"), "d/d_bg_plc.cpp"), Object(MatchingFor(ALL_GCN), "d/d_bg_s.cpp"), Object(MatchingFor(ALL_GCN), "d/d_bg_s_acch.cpp"), - Object(NonMatching, "d/d_bg_s_capt_poly.cpp"), + Object(MatchingFor(ALL_WII), "d/d_bg_s_capt_poly.cpp"), Object(MatchingFor(ALL_GCN, "Shield"), "d/d_bg_s_chk.cpp"), - Object(NonMatching, "d/d_bg_s_func.cpp"), + Object(MatchingFor("ShieldD"), "d/d_bg_s_func.cpp"), Object(MatchingFor(ALL_GCN), "d/d_bg_s_gnd_chk.cpp"), # debug weak func order Object(MatchingFor(ALL_GCN), "d/d_bg_s_grp_pass_chk.cpp"), # debug weak func order Object(MatchingFor(ALL_GCN), "d/d_bg_s_lin_chk.cpp"), @@ -730,7 +737,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN, ALL_SHIELD), "d/d_bg_s_wtr_chk.cpp"), Object(MatchingFor(ALL_GCN), "d/d_bg_w.cpp"), Object(MatchingFor(ALL_GCN), "d/d_bg_w_base.cpp"), - Object(NonMatching, "d/d_bg_w_deform.cpp"), + Object(MatchingFor("ShieldD"), "d/d_bg_w_deform.cpp"), Object(NonMatching, "d/d_bg_w_hf.cpp"), Object(MatchingFor(ALL_GCN), "d/d_bg_w_kcol.cpp"), Object(MatchingFor(ALL_GCN), "d/d_bg_w_sv.cpp"), @@ -1351,7 +1358,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DGrafContext.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DOrthoGraph.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DTevs.cpp"), - Object(Equivalent, "JSystem/J2DGraph/J2DMaterial.cpp"), # weak func order + Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DMaterial.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DMatBlock.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DMaterialFactory.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DPrint.cpp"), @@ -2130,19 +2137,19 @@ config.libs = [ ActorRel(MatchingFor(ALL_GCN), "d_a_set_bgobj"), ActorRel(MatchingFor(ALL_GCN), "d_a_swhit0"), ActorRel(MatchingFor(ALL_GCN), "d_a_tag_allmato"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_camera"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_chkpoint"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_event"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_evt"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_evtarea"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_evtmsg"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_howl"), + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_camera"), # debug extra weak fns + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_chkpoint"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_event"), # TODO: this is part of Rframework in ShieldD + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_evt"), # debug extra weak fns + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_evtarea"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_evtmsg"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_howl"), # debug weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_tag_kmsg"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_lantern"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mist"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_msg"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_push"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_telop"), + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_lantern"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mist"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_msg"), # TODO: this is part of Rframework in ShieldD + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_push"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_telop"), # debug weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_tbox"), ActorRel(MatchingFor(ALL_GCN), "d_a_tbox2"), ActorRel(MatchingFor(ALL_GCN), "d_a_vrbox"), @@ -2223,19 +2230,19 @@ config.libs = [ ActorRel(MatchingFor(ALL_GCN), "d_a_shop_item"), ActorRel(MatchingFor(ALL_GCN), "d_a_sq"), ActorRel(MatchingFor(ALL_GCN), "d_a_swc00"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_CstaSw"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_ajnot"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_attack_item"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_gstart"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_hinit"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_hjump"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_hstop"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_lv2prchk"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_magne"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mhint"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mstop"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_spring"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_statue_evt"), + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_CstaSw"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_ajnot"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_attack_item"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_gstart"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_hinit"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_hjump"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_hstop"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_lv2prchk"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_magne"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mhint"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mstop"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_spring"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_statue_evt"), # debug weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_ykgr"), ActorRel(MatchingFor(ALL_GCN), "d_a_L7demo_dr"), ActorRel(MatchingFor(ALL_GCN), "d_a_L7low_dr"), @@ -2805,7 +2812,7 @@ config.libs = [ ActorRel(MatchingFor(ALL_GCN), "d_a_obj_zra_freeze"), ActorRel(MatchingFor(ALL_GCN), "d_a_obj_zra_rock"), ActorRel(MatchingFor(ALL_GCN), "d_a_passer_mng"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_arena"), + ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_arena"), # debug weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_peru"), ActorRel(MatchingFor(ALL_GCN), "d_a_ppolamp"), ActorRel(MatchingFor(ALL_GCN), "d_a_skip_2D"), @@ -2813,49 +2820,49 @@ config.libs = [ ActorRel(MatchingFor(ALL_GCN), "d_a_swBall"), ActorRel(MatchingFor(ALL_GCN), "d_a_swLBall"), ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_swTime"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_Lv6Gate"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_Lv7Gate"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_Lv8Gate"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_TWgate"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_lv6CstaSw"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_assistance"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_bottle_item"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_chgrestart"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_csw"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_escape"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_firewall"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_gra"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_guard"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_instruction"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_kago_fall"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_lightball"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_lv5soup"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mmsg"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mwait"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_myna2"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_myna_light"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_pachi"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_poFire"), + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_Lv6Gate"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_Lv7Gate"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_Lv8Gate"), # debug .data + weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_TWgate"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_lv6CstaSw"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_assistance"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_bottle_item"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_chgrestart"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_csw"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, ALL_WII, "Shield"), "d_a_tag_escape"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_firewall"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, ALL_WII, "Shield"), "d_a_tag_gra"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_guard"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, ALL_WII, "Shield"), "d_a_tag_instruction"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_kago_fall"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_lightball"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_lv5soup"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mmsg"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_mwait"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_myna2"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_myna_light"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_pachi"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_poFire"), # debug weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_tag_qs"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_ret_room"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_river_back"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_rmbit_sw"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_schedule"), - ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tag_setBall"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_setrestart"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_shop_camera"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_shop_item"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_smk_emt"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_spinner"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_sppath"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_ss_drink"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_stream"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_theB_hint"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_wara_howl"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_watchge"), - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_waterfall"), + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_ret_room"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_river_back"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_rmbit_sw"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, ALL_WII, "Shield"), "d_a_tag_schedule"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN, ALL_WII, "Shield"), "d_a_tag_setBall"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_setrestart"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_shop_camera"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_shop_item"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_smk_emt"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_spinner"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_sppath"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_ss_drink"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_stream"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_theB_hint"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_wara_howl"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_watchge"), # debug weak func order + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_waterfall"), # debug weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_tag_wljump"), # debug weak func order - ActorRel(MatchingFor(ALL_GCN), "d_a_tag_yami"), + ActorRel(MatchingFor(ALL_GCN), "d_a_tag_yami"), # debug weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_talk"), ActorRel(MatchingFor(ALL_GCN, "Shield"), "d_a_tboxSw"), ActorRel(MatchingFor(ALL_GCN), "d_a_title"), diff --git a/include/JSystem/J2DGraph/J2DGrafContext.h b/include/JSystem/J2DGraph/J2DGrafContext.h index 209ff61e30..9f9ff431a7 100644 --- a/include/JSystem/J2DGraph/J2DGrafContext.h +++ b/include/JSystem/J2DGraph/J2DGrafContext.h @@ -3,7 +3,7 @@ #include "JSystem/JGeometry.h" #include "JSystem/JUtility/TColor.h" -#include "dolphin/mtx.h" +#include /** * @ingroup jsystem-j2d diff --git a/include/JSystem/J2DGraph/J2DManage.h b/include/JSystem/J2DGraph/J2DManage.h index 4a5b39a2a1..abccbe04c2 100644 --- a/include/JSystem/J2DGraph/J2DManage.h +++ b/include/JSystem/J2DGraph/J2DManage.h @@ -1,7 +1,7 @@ #ifndef J2DMANAGE_H #define J2DMANAGE_H -#include "dolphin/types.h" +#include class JSUInputStream; diff --git a/include/JSystem/J2DGraph/J2DOrthoGraph.h b/include/JSystem/J2DGraph/J2DOrthoGraph.h index e6a01f34e0..385fc9a357 100644 --- a/include/JSystem/J2DGraph/J2DOrthoGraph.h +++ b/include/JSystem/J2DGraph/J2DOrthoGraph.h @@ -24,8 +24,7 @@ public: const JGeometry::TBox2* getOrtho() const { return &mOrtho; } void setOrtho(f32 x, f32 y, f32 width, f32 height, f32 far, f32 near) { - JGeometry::TBox2 ortho(x, y, x + width, y + height); - setOrtho(ortho, far, near); + setOrtho(JGeometry::TBox2(x, y, x + width, y + height), far, near); } private: diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index bde7118f37..8ef7bd802f 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -4,7 +4,7 @@ #include "JSystem/JGeometry.h" #include "JSystem/JSupport/JSUList.h" #include -#include "dolphin/mtx.h" +#include class J2DAnmBase; class J2DAnmColor; diff --git a/include/JSystem/J2DGraph/J2DTevs.h b/include/JSystem/J2DGraph/J2DTevs.h index b3dedd90fe..f7ce3f4ef9 100644 --- a/include/JSystem/J2DGraph/J2DTevs.h +++ b/include/JSystem/J2DGraph/J2DTevs.h @@ -2,7 +2,7 @@ #define J2DTEVS_H #include -#include "dolphin/mtx.h" +#include #include "global.h" /** diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index d5c0bc94c3..041ce31875 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -1,7 +1,6 @@ #ifndef J3DANIMATION_H #define J3DANIMATION_H -#include "JSystem/J3DGraphAnimator/J3DJoint.h" #include "JSystem/J3DGraphAnimator/J3DModelData.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTNameTab.h" @@ -978,52 +977,4 @@ public: /* 0x10 */ f32 mFrame; }; // Size: 0x14 -struct J3DMtxCalcAnmBase: public J3DMtxCalc { - J3DMtxCalcAnmBase(J3DAnmTransform* pAnmTransform) { mAnmTransform = pAnmTransform; } - ~J3DMtxCalcAnmBase() {} - J3DAnmTransform* getAnmTransform() { return mAnmTransform; } - void setAnmTransform(J3DAnmTransform* pAnmTransform) { mAnmTransform = pAnmTransform; } - - J3DAnmTransform* mAnmTransform; -}; - -struct J3DMtxCalcAnimationAdaptorBase { - J3DMtxCalcAnimationAdaptorBase() {} - void change(J3DAnmTransform*) {} -}; - -template -struct J3DMtxCalcAnimationAdaptorDefault : public J3DMtxCalcAnimationAdaptorBase { - J3DMtxCalcAnimationAdaptorDefault(J3DAnmTransform* pAnmTransform) {} - - void calc(J3DMtxCalcAnmBase* pMtxCalc) { - J3DTransformInfo transform; - J3DTransformInfo* transform_p; - if (pMtxCalc->getAnmTransform() != NULL) { - pMtxCalc->getAnmTransform()->getTransform(J3DMtxCalc::getJoint()->getJntNo(), &transform); - transform_p = &transform; - } else { - transform_p = &J3DMtxCalc::getJoint()->getTransformInfo(); - } - - A0::calcTransform(*transform_p); - } -}; - -template -struct J3DMtxCalcAnimation : public J3DMtxCalcAnmBase { - J3DMtxCalcAnimation(J3DAnmTransform* pAnmTransform) : J3DMtxCalcAnmBase(pAnmTransform), field_0x8(pAnmTransform) {} - ~J3DMtxCalcAnimation() {} - - void setAnmTransform(J3DAnmTransform* pAnmTransform) { - mAnmTransform = pAnmTransform; - field_0x8.change(pAnmTransform); - } - - void init(const Vec& param_0, const Mtx& param_1) { B0::init(param_0, param_1); } - void calc() { field_0x8.calc(this); } - - A0 field_0x8; -}; - #endif /* J3DANIMATION_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index a1104d170f..4482e5d618 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -1,6 +1,7 @@ #ifndef J3DJOINT_H #define J3DJOINT_H +#include "JSystem/J3DGraphAnimator/J3DAnimation.h" #include "JSystem/J3DGraphBase/J3DTransform.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" @@ -145,6 +146,54 @@ public: } }; +struct J3DMtxCalcAnmBase: public J3DMtxCalc { + J3DMtxCalcAnmBase(J3DAnmTransform* pAnmTransform) { mAnmTransform = pAnmTransform; } + ~J3DMtxCalcAnmBase() {} + J3DAnmTransform* getAnmTransform() { return mAnmTransform; } + void setAnmTransform(J3DAnmTransform* pAnmTransform) { mAnmTransform = pAnmTransform; } + + J3DAnmTransform* mAnmTransform; +}; + +struct J3DMtxCalcAnimationAdaptorBase { + J3DMtxCalcAnimationAdaptorBase() {} + void change(J3DAnmTransform*) {} +}; + +template +struct J3DMtxCalcAnimationAdaptorDefault : public J3DMtxCalcAnimationAdaptorBase { + J3DMtxCalcAnimationAdaptorDefault(J3DAnmTransform* pAnmTransform) {} + + void calc(J3DMtxCalcAnmBase* pMtxCalc) { + J3DTransformInfo transform; + J3DTransformInfo* transform_p; + if (pMtxCalc->getAnmTransform() != NULL) { + pMtxCalc->getAnmTransform()->getTransform(J3DMtxCalc::getJoint()->getJntNo(), &transform); + transform_p = &transform; + } else { + transform_p = &J3DMtxCalc::getJoint()->getTransformInfo(); + } + + A0::calcTransform(*transform_p); + } +}; + +template +struct J3DMtxCalcAnimation : public J3DMtxCalcAnmBase { + J3DMtxCalcAnimation(J3DAnmTransform* pAnmTransform) : J3DMtxCalcAnmBase(pAnmTransform), field_0x8(pAnmTransform) {} + ~J3DMtxCalcAnimation() {} + + void setAnmTransform(J3DAnmTransform* pAnmTransform) { + mAnmTransform = pAnmTransform; + field_0x8.change(pAnmTransform); + } + + void init(const Vec& param_0, const Mtx& param_1) { B0::init(param_0, param_1); } + void calc() { field_0x8.calc(this); } + + A0 field_0x8; +}; + /** * @ingroup jsystem-j3d * diff --git a/include/JSystem/J3DGraphAnimator/J3DJointTree.h b/include/JSystem/J3DGraphAnimator/J3DJointTree.h index b4b3d5a1db..285efa88d5 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJointTree.h +++ b/include/JSystem/J3DGraphAnimator/J3DJointTree.h @@ -1,6 +1,7 @@ #ifndef J3DJOINTTREE_H #define J3DJOINTTREE_H +#include "JSystem/J3DAssert.h" #include "JSystem/J3DGraphBase/J3DTransform.h" class J3DJoint; diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index 1efc718b2d..4de7175e85 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -3,7 +3,7 @@ #include "JSystem/J3DGraphAnimator/J3DSkinDeform.h" #include "JSystem/J3DGraphBase/J3DPacket.h" -#include "dolphin/types.h" +#include enum J3DMdlFlag { J3DMdlFlag_None = 0x0, diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index e4436ea064..f34b524df0 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -99,6 +99,10 @@ public: mShapeTable.hide(); } + const void* getBinary() { + return mpRawData; + } + private: friend class J3DModelLoader; diff --git a/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h b/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h index fd906d8a3c..74cc8f9fa0 100644 --- a/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h +++ b/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h @@ -3,7 +3,7 @@ #include "JSystem/J3DGraphAnimator/J3DCluster.h" #include "JSystem/J3DGraphAnimator/J3DMtxBuffer.h" -#include "dolphin/types.h" +#include class J3DModel; class J3DAnmCluster; diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index a125cdf925..92ca58ef6b 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -69,6 +69,7 @@ public: BOOL isDrawModeOpaTexEdge() { return (mMaterialMode & 3) ? 1 : 0; } J3DPEBlock* getPEBlock() { return mPEBlock; } void onInvalid() { mInvalid = 1; } + u32 getInvalid() { return mInvalid; } u32 getTexGenNum() const { return mTexGenBlock->getTexGenNum(); } u8 getTevStageNum() const { return mTevBlock->getTevStageNum(); } J3DTexCoord* getTexCoord(u32 idx) { return mTexGenBlock->getTexCoord(idx); } diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 67dea2f83c..3e94e1830c 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -4,8 +4,8 @@ #include "JSystem/J3DAssert.h" #include "JSystem/J3DGraphBase/J3DSys.h" #include "JSystem/J3DGraphBase/J3DEnum.h" -#include "dolphin/gd/GDBase.h" -#include "dolphin/mtx.h" +#include +#include #include class J3DMatPacket; diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index afcfa283fe..151f4235ab 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -189,7 +189,7 @@ public: J3DMaterial* getMaterial() const { return mMaterial; } u16 getIndex() const { return mIndex; } u32 getTexMtxLoadType() const { return mFlags & 0xF000; } - u32 getMtxGroupNum() const { return mMtxGroupNum; } + u16 getMtxGroupNum() const { return mMtxGroupNum; } J3DShapeDraw* getShapeDraw(u16 idx) { return mShapeDraw[idx]; } J3DShapeMtx* getShapeMtx(u16 idx) { return mShapeMtx[idx]; } Vec* getMin() { return &mMin; } diff --git a/include/JSystem/J3DGraphBase/J3DShapeDraw.h b/include/JSystem/J3DGraphBase/J3DShapeDraw.h index 8d915610bb..ad3f7ec4cb 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeDraw.h +++ b/include/JSystem/J3DGraphBase/J3DShapeDraw.h @@ -1,7 +1,7 @@ #ifndef J3DSHAPEDRAW_H #define J3DSHAPEDRAW_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-j3d diff --git a/include/JSystem/J3DGraphBase/J3DShapeMtx.h b/include/JSystem/J3DGraphBase/J3DShapeMtx.h index 7029ab3350..d840b66c7a 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeMtx.h +++ b/include/JSystem/J3DGraphBase/J3DShapeMtx.h @@ -3,7 +3,7 @@ #include "JSystem/J3DGraphBase/J3DShape.h" #include "JSystem/J3DAssert.h" -#include "dolphin/mtx.h" +#include class J3DTexMtx; class J3DTexGenBlock; diff --git a/include/JSystem/J3DGraphBase/J3DStruct.h b/include/JSystem/J3DGraphBase/J3DStruct.h index 7ab166946a..cd41270401 100644 --- a/include/JSystem/J3DGraphBase/J3DStruct.h +++ b/include/JSystem/J3DGraphBase/J3DStruct.h @@ -2,8 +2,8 @@ #define J3DSTRUCT_H #include -#include "dolphin/mtx.h" -#include "dolphin/mtx.h" +#include +#include #include "global.h" /** diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index 711639e576..2f6c692e02 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -88,15 +88,6 @@ struct J3DSys { void setDrawModeOpaTexEdge() { mDrawMode = J3DSysDrawMode_OpaTexEdge; } void setDrawModeXlu() { mDrawMode = J3DSysDrawMode_Xlu; } - void* getVtxPos() { return mVtxPos; } - void setVtxPos(void* pVtxPos) { mVtxPos = pVtxPos; } - - void* getVtxNrm() { return mVtxNrm; } - void setVtxNrm(void* pVtxNrm) { mVtxNrm = pVtxNrm; } - - void* getVtxCol() { return mVtxCol; } - void setVtxCol(GXColor* pVtxCol) { mVtxCol = pVtxCol; } - void setDrawBuffer(J3DDrawBuffer* buffer, int type) { J3D_ASSERT_RANGE(114, type >= 0 && type < J3DSysDrawBuf_MAX); J3D_ASSERT_NULLPTR(115, buffer); @@ -160,6 +151,19 @@ struct J3DSys { GXSetArray(GX_NRM_MTX_ARRAY, mModelNrmMtx, sizeof(*mModelNrmMtx)); } + void* getVtxPos() { return mVtxPos; } + + void setVtxPos(void* pVtxPos) { + J3D_ASSERT_NULLPTR(252, pVtxPos != NULL); + mVtxPos = pVtxPos; + } + + void* getVtxNrm() { return mVtxNrm; } + void setVtxNrm(void* pVtxNrm) { mVtxNrm = pVtxNrm; } + + void* getVtxCol() { return mVtxCol; } + void setVtxCol(GXColor* pVtxCol) { mVtxCol = pVtxCol; } + Mtx& getModelDrawMtx(u16 no) { return mModelDrawMtx[no]; } J3DShapePacket* getShapePacket() { return mShapePacket; } diff --git a/include/JSystem/J3DGraphBase/J3DTevs.h b/include/JSystem/J3DGraphBase/J3DTevs.h index 1f7d6dfa59..a13b54e4a4 100644 --- a/include/JSystem/J3DGraphBase/J3DTevs.h +++ b/include/JSystem/J3DGraphBase/J3DTevs.h @@ -1,7 +1,7 @@ #ifndef J3DTEVS_H #define J3DTEVS_H -#include "dolphin/types.h" +#include #include #include "JSystem/J3DGraphBase/J3DGD.h" #include "JSystem/J3DGraphBase/J3DStruct.h" diff --git a/include/JSystem/J3DGraphBase/J3DVertex.h b/include/JSystem/J3DGraphBase/J3DVertex.h index 1bfd011219..2486fdc41c 100644 --- a/include/JSystem/J3DGraphBase/J3DVertex.h +++ b/include/JSystem/J3DGraphBase/J3DVertex.h @@ -2,7 +2,7 @@ #define J3DVERTEX_H #include -#include "dolphin/mtx.h" +#include typedef struct _GXColor GXColor; class J3DModel; diff --git a/include/JSystem/J3DGraphLoader/J3DModelLoader.h b/include/JSystem/J3DGraphLoader/J3DModelLoader.h index 847397a7dc..5fff37ecad 100644 --- a/include/JSystem/J3DGraphLoader/J3DModelLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DModelLoader.h @@ -2,7 +2,7 @@ #define J3DMODELLOADER_H #include "JSystem/J3DGraphBase/J3DSys.h" -#include "dolphin/mtx.h" +#include class J3DModelData; class J3DMaterialTable; diff --git a/include/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.h b/include/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.h index 5b231aeb1c..2fec016614 100644 --- a/include/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.h +++ b/include/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.h @@ -1,6 +1,6 @@ #ifndef J3DMODELLOADERCALCSIZE_H #define J3DMODELLOADERCALCSIZE_H -#include "dolphin/types.h" +#include #endif /* J3DMODELLOADERCALCSIZE_H */ diff --git a/include/JSystem/J3DU/J3DUClipper.h b/include/JSystem/J3DU/J3DUClipper.h index d1910eb45c..c8417b2a69 100644 --- a/include/JSystem/J3DU/J3DUClipper.h +++ b/include/JSystem/J3DU/J3DUClipper.h @@ -1,7 +1,7 @@ #ifndef J3DUCLIPPER_H #define J3DUCLIPPER_H -#include "dolphin/mtx.h" +#include /** * @ingroup jsystem-j3d diff --git a/include/JSystem/J3DU/J3DUD.h b/include/JSystem/J3DU/J3DUD.h index 39496dd500..ec9357c96b 100644 --- a/include/JSystem/J3DU/J3DUD.h +++ b/include/JSystem/J3DU/J3DUD.h @@ -1,7 +1,7 @@ #ifndef J3DUD_H #define J3DUD_H -#include "dolphin/types.h" +#include namespace J3DUD { inline f32 JMAAbs(f32 x) { diff --git a/include/JSystem/JAHostIO/JAHFrameNode.h b/include/JSystem/JAHostIO/JAHFrameNode.h index 51a08a2cf4..ed9830e8b3 100644 --- a/include/JSystem/JAHostIO/JAHFrameNode.h +++ b/include/JSystem/JAHostIO/JAHFrameNode.h @@ -1,7 +1,7 @@ #ifndef JAHFRAMENODE_H #define JAHFRAMENODE_H -#include "dolphin/types.h" +#include #include "JSystem/JAHostIO/JAHioNode.h" class JAHVirtualNode; diff --git a/include/JSystem/JAHostIO/JAHioMessage.h b/include/JSystem/JAHostIO/JAHioMessage.h index dabba5158a..766456bc10 100644 --- a/include/JSystem/JAHostIO/JAHioMessage.h +++ b/include/JSystem/JAHostIO/JAHioMessage.h @@ -1,7 +1,7 @@ #ifndef JAHIOMESSAGE_H #define JAHIOMESSAGE_H -#include "dolphin/types.h" +#include class JAHioNode; class JORMContext; diff --git a/include/JSystem/JAudio2/JASAiCtrl.h b/include/JSystem/JAudio2/JASAiCtrl.h index d7e7ff73fe..cebae770f8 100644 --- a/include/JSystem/JAudio2/JASAiCtrl.h +++ b/include/JSystem/JAudio2/JASAiCtrl.h @@ -1,7 +1,7 @@ #ifndef JASAICTRL_H #define JASAICTRL_H -#include "dolphin/types.h" +#include enum JASOutputRate { OUTPUT_RATE_0, diff --git a/include/JSystem/JAudio2/JASAramStream.h b/include/JSystem/JAudio2/JASAramStream.h index a50b9e6893..f737f76cd3 100644 --- a/include/JSystem/JAudio2/JASAramStream.h +++ b/include/JSystem/JAudio2/JASAramStream.h @@ -3,7 +3,7 @@ #include "JSystem/JAudio2/JASTaskThread.h" #include "JSystem/JUtility/JUTAssert.h" -#include "dolphin/dvd.h" +#include class JASChannel; diff --git a/include/JSystem/JAudio2/JASAudioReseter.h b/include/JSystem/JAudio2/JASAudioReseter.h index 18850e8832..2c699b0eb0 100644 --- a/include/JSystem/JAudio2/JASAudioReseter.h +++ b/include/JSystem/JAudio2/JASAudioReseter.h @@ -1,7 +1,7 @@ #ifndef JASAUDIORESETER_H #define JASAUDIORESETER_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASBank.h b/include/JSystem/JAudio2/JASBank.h index 67136da0ee..f99d245d89 100644 --- a/include/JSystem/JAudio2/JASBank.h +++ b/include/JSystem/JAudio2/JASBank.h @@ -1,7 +1,7 @@ #ifndef JASBANK_H #define JASBANK_H -#include "dolphin/types.h" +#include class JASChannel; class JASInstParam; diff --git a/include/JSystem/JAudio2/JASBankList.h b/include/JSystem/JAudio2/JASBankList.h index 814d6d78ec..6d3fd44088 100644 --- a/include/JSystem/JAudio2/JASBankList.h +++ b/include/JSystem/JAudio2/JASBankList.h @@ -1,7 +1,7 @@ #ifndef JASBANKLIST_H #define JASBANKLIST_H -#include "dolphin/types.h" +#include class JASBank; diff --git a/include/JSystem/JAudio2/JASCalc.h b/include/JSystem/JAudio2/JASCalc.h index d72e16d408..83de07401f 100644 --- a/include/JSystem/JAudio2/JASCalc.h +++ b/include/JSystem/JAudio2/JASCalc.h @@ -1,7 +1,7 @@ #ifndef JASCALC_H #define JASCALC_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASCallback.h b/include/JSystem/JAudio2/JASCallback.h index 0c9fb517a2..f1dddc7492 100644 --- a/include/JSystem/JAudio2/JASCallback.h +++ b/include/JSystem/JAudio2/JASCallback.h @@ -1,7 +1,7 @@ #ifndef JASCALLBACK_H #define JASCALLBACK_H -#include "dolphin/types.h" +#include typedef s32 JASCallback(void*); diff --git a/include/JSystem/JAudio2/JASDSPInterface.h b/include/JSystem/JAudio2/JASDSPInterface.h index 7c519402f9..d68727c9ea 100644 --- a/include/JSystem/JAudio2/JASDSPInterface.h +++ b/include/JSystem/JAudio2/JASDSPInterface.h @@ -1,7 +1,7 @@ #ifndef JASDSPINTERFACE_H #define JASDSPINTERFACE_H -#include "dolphin/types.h" +#include struct JASWaveInfo; diff --git a/include/JSystem/JAudio2/JASDvdThread.h b/include/JSystem/JAudio2/JASDvdThread.h index cc82296d3a..7fbe4e188f 100644 --- a/include/JSystem/JAudio2/JASDvdThread.h +++ b/include/JSystem/JAudio2/JASDvdThread.h @@ -1,7 +1,7 @@ #ifndef JASDVDTHREAD_H #define JASDVDTHREAD_H -#include "dolphin/types.h" +#include class JASTaskThread; diff --git a/include/JSystem/JAudio2/JASLfo.h b/include/JSystem/JAudio2/JASLfo.h index 42c303b73b..ac76c9924a 100644 --- a/include/JSystem/JAudio2/JASLfo.h +++ b/include/JSystem/JAudio2/JASLfo.h @@ -1,7 +1,7 @@ #ifndef JASLFO_H #define JASLFO_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASOscillator.h b/include/JSystem/JAudio2/JASOscillator.h index 56e7dbf966..8b47f37acb 100644 --- a/include/JSystem/JAudio2/JASOscillator.h +++ b/include/JSystem/JAudio2/JASOscillator.h @@ -1,7 +1,7 @@ #ifndef JASOSCILLATOR_H #define JASOSCILLATOR_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASProbe.h b/include/JSystem/JAudio2/JASProbe.h index 3f4ab89d61..a431f991f5 100644 --- a/include/JSystem/JAudio2/JASProbe.h +++ b/include/JSystem/JAudio2/JASProbe.h @@ -1,7 +1,7 @@ #ifndef JASPROBE_H #define JASPROBE_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASRegisterParam.h b/include/JSystem/JAudio2/JASRegisterParam.h index 0b5b13b6c8..f02e3a1839 100644 --- a/include/JSystem/JAudio2/JASRegisterParam.h +++ b/include/JSystem/JAudio2/JASRegisterParam.h @@ -1,7 +1,7 @@ #ifndef JASREGISTERPARAM_H #define JASREGISTERPARAM_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASSeqParser.h b/include/JSystem/JAudio2/JASSeqParser.h index 506068d13c..b9368b28ed 100644 --- a/include/JSystem/JAudio2/JASSeqParser.h +++ b/include/JSystem/JAudio2/JASSeqParser.h @@ -1,7 +1,7 @@ #ifndef JASSEQPARSER_H #define JASSEQPARSER_H -#include "dolphin/types.h" +#include class JASTrack; diff --git a/include/JSystem/JAudio2/JASSeqReader.h b/include/JSystem/JAudio2/JASSeqReader.h index b600d49504..2fed6253fe 100644 --- a/include/JSystem/JAudio2/JASSeqReader.h +++ b/include/JSystem/JAudio2/JASSeqReader.h @@ -1,7 +1,7 @@ #ifndef JASSEQREADER_H #define JASSEQREADER_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASSoundParams.h b/include/JSystem/JAudio2/JASSoundParams.h index b12857f9f5..a7314da2f0 100644 --- a/include/JSystem/JAudio2/JASSoundParams.h +++ b/include/JSystem/JAudio2/JASSoundParams.h @@ -1,7 +1,7 @@ #ifndef JASSOUNDPARAMS_H #define JASSOUNDPARAMS_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASTrackPort.h b/include/JSystem/JAudio2/JASTrackPort.h index f020ae3bd1..536f85eada 100644 --- a/include/JSystem/JAudio2/JASTrackPort.h +++ b/include/JSystem/JAudio2/JASTrackPort.h @@ -1,7 +1,7 @@ #ifndef JASTRACKPORT_H #define JASTRACKPORT_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASWaveInfo.h b/include/JSystem/JAudio2/JASWaveInfo.h index 695962ad70..1ed6996bae 100644 --- a/include/JSystem/JAudio2/JASWaveInfo.h +++ b/include/JSystem/JAudio2/JASWaveInfo.h @@ -1,7 +1,7 @@ #ifndef JASWAVEINFO_H #define JASWAVEINFO_H -#include "dolphin/types.h" +#include class JASWaveArc; diff --git a/include/JSystem/JAudio2/JAUAudioArcInterpreter.h b/include/JSystem/JAudio2/JAUAudioArcInterpreter.h index 79d5e6672a..7516848350 100644 --- a/include/JSystem/JAudio2/JAUAudioArcInterpreter.h +++ b/include/JSystem/JAudio2/JAUAudioArcInterpreter.h @@ -1,7 +1,7 @@ #ifndef JAUAUDIOARCINTERPRETER_H #define JAUAUDIOARCINTERPRETER_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JAUInitializer.h b/include/JSystem/JAudio2/JAUInitializer.h index 4712ea5d6a..77f28218dc 100644 --- a/include/JSystem/JAudio2/JAUInitializer.h +++ b/include/JSystem/JAudio2/JAUInitializer.h @@ -1,7 +1,7 @@ #ifndef JAUINITIALIZER_H #define JAUINITIALIZER_H -#include "dolphin/types.h" +#include class JKRSolidHeap; diff --git a/include/JSystem/JAudio2/dspproc.h b/include/JSystem/JAudio2/dspproc.h index a515c6c3cf..09266bbf81 100644 --- a/include/JSystem/JAudio2/dspproc.h +++ b/include/JSystem/JAudio2/dspproc.h @@ -1,7 +1,7 @@ #ifndef DSPPROC_H #define DSPPROC_H -#include "dolphin/types.h" +#include void DSPReleaseHalt2(u32 msg); void DsetupTable(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4); diff --git a/include/JSystem/JAudio2/dsptask.h b/include/JSystem/JAudio2/dsptask.h index 336d923228..b331a6c867 100644 --- a/include/JSystem/JAudio2/dsptask.h +++ b/include/JSystem/JAudio2/dsptask.h @@ -1,7 +1,7 @@ #ifndef DSPTASK_H #define DSPTASK_H -#include "dolphin/types.h" +#include void DspBoot(void (*)(void*)); void DspFinishWork(u16 param_0); diff --git a/include/JSystem/JFramework/JFWSystem.h b/include/JSystem/JFramework/JFWSystem.h index 7205453262..cf6ac86b69 100644 --- a/include/JSystem/JFramework/JFWSystem.h +++ b/include/JSystem/JFramework/JFWSystem.h @@ -1,7 +1,7 @@ #ifndef JFWSYSTEM_H #define JFWSYSTEM_H -#include "dolphin/types.h" +#include #include "JSystem/JUtility/JUTAssert.h" typedef struct _GXRenderModeObj GXRenderModeObj; diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 78cebe8681..ef8f69f3e1 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -1,7 +1,7 @@ #ifndef JGEOMETRY_H #define JGEOMETRY_H -#include "dolphin/mtx.h" +#include #include #include "JSystem/JMath/JMath.h" diff --git a/include/JSystem/JHostIO/JOREntry.h b/include/JSystem/JHostIO/JOREntry.h index 76780640e7..da1ec2e68c 100644 --- a/include/JSystem/JHostIO/JOREntry.h +++ b/include/JSystem/JHostIO/JOREntry.h @@ -2,7 +2,7 @@ #define JORENTRY_H #include "JSystem/JHostIO/JHIComm.h" -#include "dolphin/os.h" +#include template class JHIpvector { diff --git a/include/JSystem/JHostIO/JORMContext.h b/include/JSystem/JHostIO/JORMContext.h index 22158007f9..72e85a74b0 100644 --- a/include/JSystem/JHostIO/JORMContext.h +++ b/include/JSystem/JHostIO/JORMContext.h @@ -36,6 +36,8 @@ #define JORM_DEFAULT_WIDTH 0x200 #define JORM_DEFAULT_HEIGHT 0x18 +#define JORM_DEFAULT_COMBOBOX_WIDTH 0x100 +#define JORM_DEFAULT_COMBOBOX_HEIGHT 0x1a #define DEFINE_GEN_CHECKBOX(T, kind) \ void genCheckBox(const char* label, T* pSrc, T mask, u32 style = 0, \ @@ -72,7 +74,8 @@ #define DEFINE_START_COMBO_BOX(T, kind) \ void startComboBox(const char* label, T* pSrc, u32 style = 0, \ JOREventListener* pListener = NULL, u16 posX = -1, u16 posY = -1, \ - u16 width = JORM_DEFAULT_WIDTH, u16 height = JORM_DEFAULT_HEIGHT) { \ + u16 width = JORM_DEFAULT_COMBOBOX_WIDTH, \ + u16 height = JORM_DEFAULT_COMBOBOX_HEIGHT) { \ startSelectorSub('CMBX', kind, label, (uintptr_t)pSrc, style, *pSrc, pListener, posX, \ posY, width, height); \ } diff --git a/include/JSystem/JHostIO/JORServer.h b/include/JSystem/JHostIO/JORServer.h index a695fd5faa..d92e588117 100644 --- a/include/JSystem/JHostIO/JORServer.h +++ b/include/JSystem/JHostIO/JORServer.h @@ -187,4 +187,8 @@ inline void JORReleaseMContext(JORMContext* mctx) { JORServer::getInstance()->releaseMCTX(mctx); } +inline void JOR_ENABLEEVENTCALLBACKLIST(bool enable) { + JORServer::getInstance()->enableEventCallbackList(enable); +} + #endif /* JORSERVER_H */ diff --git a/include/JSystem/JKernel/JKRDvdFile.h b/include/JSystem/JKernel/JKRDvdFile.h index bda9aa738a..b06d4e76d5 100644 --- a/include/JSystem/JKernel/JKRDvdFile.h +++ b/include/JSystem/JKernel/JKRDvdFile.h @@ -2,7 +2,7 @@ #define JKRDVDFILE_H #include "JSystem/JKernel/JKRFile.h" -#include "dolphin/dvd.h" +#include #include #include diff --git a/include/JSystem/JKernel/JKRFileFinder.h b/include/JSystem/JKernel/JKRFileFinder.h index 24af7c7027..195fd9685e 100644 --- a/include/JSystem/JKernel/JKRFileFinder.h +++ b/include/JSystem/JKernel/JKRFileFinder.h @@ -1,7 +1,7 @@ #ifndef JKRFILEFINDER_H #define JKRFILEFINDER_H -#include "dolphin/dvd.h" +#include /** * @ingroup jsystem-jkernel diff --git a/include/JSystem/JKernel/JKRMemArchive.h b/include/JSystem/JKernel/JKRMemArchive.h index 9878f73499..3fb5a63c58 100644 --- a/include/JSystem/JKernel/JKRMemArchive.h +++ b/include/JSystem/JKernel/JKRMemArchive.h @@ -32,7 +32,7 @@ public: static u32 fetchResource_subroutine(u8*, u32, u8*, u32, JKRCompression); SArcHeader* getArcHeader() { return mArcHeader; } -private: +public: /* 0x00 */ // vtable /* 0x04 */ // JKRArchive /* 0x64 */ SArcHeader* mArcHeader; diff --git a/include/JSystem/JKernel/JKRThread.h b/include/JSystem/JKernel/JKRThread.h index 9fb515fe7b..027d6640e4 100644 --- a/include/JSystem/JKernel/JKRThread.h +++ b/include/JSystem/JKernel/JKRThread.h @@ -65,7 +65,7 @@ public: JKRThread(OSThread* thread, int message_count); virtual ~JKRThread(); - /* vt[03] */ virtual void* run(); + /* vt[03] */ virtual void* run() { return NULL; } void setCommon_mesgQueue(JKRHeap* heap, int message_count); void setCommon_heapSpecified(JKRHeap* heap, u32 stack_size, int param_3); @@ -134,6 +134,15 @@ public: // static u8 sThreadList[12]; }; +class JKRIdleThread : public JKRThread { +public: + virtual void destroy() {} + virtual ~JKRIdleThread() { sThread = NULL; } + virtual void* run() { while (true); } + + static void* sThread; +}; + typedef void (*JKRThreadSwitch_PreCallback)(OSThread* current, OSThread* next); typedef void (*JKRThreadSwitch_PostCallback)(OSThread* current, OSThread* next); @@ -145,8 +154,8 @@ class JKRThreadSwitch { public: JKRThreadSwitch(JKRHeap*); virtual void draw(JKRThreadName_* param_1, JUTConsole* param_2); - virtual void draw(JKRThreadName_* param_1); - virtual ~JKRThreadSwitch(); + virtual void draw(JKRThreadName_* thread_name_list) { draw(thread_name_list, NULL); } + virtual ~JKRThreadSwitch() {} static JKRThreadSwitch* createManager(JKRHeap* heap); @@ -176,9 +185,19 @@ private: /* 0x24 */ u32 field_0x24; }; -struct JKRTask { +class JKRTask : public JKRThread { +public: + virtual ~JKRTask(); + virtual void* run(); + + int check(); + static JSUList sTaskList; static u8 sEndMesgQueue[32]; + + /* 0x7C */ JSULink mTaskLink; + /* 0x8C */ u8 field_0x8c[0x94 - 0x8C]; + /* 0x94 */ OSMessageQueue* field_0x94; }; #endif /* JKRTHREAD_H */ diff --git a/include/JSystem/JMath/JMATrigonometric.h b/include/JSystem/JMath/JMATrigonometric.h index 9e12850a76..f764be5b6b 100644 --- a/include/JSystem/JMath/JMATrigonometric.h +++ b/include/JSystem/JMath/JMATrigonometric.h @@ -1,7 +1,7 @@ #ifndef JMATRIGONOMETRIC_H #define JMATRIGONOMETRIC_H -#include "dolphin/types.h" +#include #include #include diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index df02301499..ab0faee049 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -1,7 +1,7 @@ #ifndef JMATH_H #define JMATH_H -#include "dolphin/mtx.h" +#include #include void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32); diff --git a/include/JSystem/JMath/random.h b/include/JSystem/JMath/random.h index 273ab97c12..29b542d00d 100644 --- a/include/JSystem/JMath/random.h +++ b/include/JSystem/JMath/random.h @@ -1,7 +1,7 @@ #ifndef RANDOM_H #define RANDOM_H -#include "dolphin/types.h" +#include namespace JMath { diff --git a/include/JSystem/JParticle/JPADrawInfo.h b/include/JSystem/JParticle/JPADrawInfo.h index 0cf63754c5..d98448f5f4 100644 --- a/include/JSystem/JParticle/JPADrawInfo.h +++ b/include/JSystem/JParticle/JPADrawInfo.h @@ -1,7 +1,7 @@ #ifndef JPADRAWINFO_H #define JPADRAWINFO_H -#include "dolphin/mtx.h" +#include /** * @ingroup jsystem-jparticle diff --git a/include/JSystem/JParticle/JPADynamicsBlock.h b/include/JSystem/JParticle/JPADynamicsBlock.h index 41bb17f858..a27922913e 100644 --- a/include/JSystem/JParticle/JPADynamicsBlock.h +++ b/include/JSystem/JParticle/JPADynamicsBlock.h @@ -3,7 +3,7 @@ #include "JSystem/JGeometry.h" -#include "dolphin/types.h" +#include class JPAEmitterWorkData; diff --git a/include/JSystem/JParticle/JPAEmitterManager.h b/include/JSystem/JParticle/JPAEmitterManager.h index 8aeb2f56cd..4508ef9cec 100644 --- a/include/JSystem/JParticle/JPAEmitterManager.h +++ b/include/JSystem/JParticle/JPAEmitterManager.h @@ -1,7 +1,7 @@ #ifndef JPAEMITTERMANAGER_H #define JPAEMITTERMANAGER_H -#include "dolphin/types.h" +#include #include "JSystem/JParticle/JPAList.h" #include "JSystem/JParticle/JPADrawInfo.h" #include "JSystem/JSupport/JSUList.h" diff --git a/include/JSystem/JParticle/JPAExTexShape.h b/include/JSystem/JParticle/JPAExTexShape.h index 11825759c1..43175517ec 100644 --- a/include/JSystem/JParticle/JPAExTexShape.h +++ b/include/JSystem/JParticle/JPAExTexShape.h @@ -1,7 +1,7 @@ #ifndef JPAEXTEXSHAPE_H #define JPAEXTEXSHAPE_H -#include "dolphin/types.h" +#include class JPAEmitterWorkData; diff --git a/include/JSystem/JParticle/JPAExtraShape.h b/include/JSystem/JParticle/JPAExtraShape.h index e7c619806c..9e9f315ff5 100644 --- a/include/JSystem/JParticle/JPAExtraShape.h +++ b/include/JSystem/JParticle/JPAExtraShape.h @@ -1,7 +1,7 @@ #ifndef JPAEXTRASHAPE_H #define JPAEXTRASHAPE_H -#include "dolphin/types.h" +#include class JPAEmitterWorkData; class JPABaseParticle; diff --git a/include/JSystem/JParticle/JPAFieldBlock.h b/include/JSystem/JParticle/JPAFieldBlock.h index 20f7b896de..56a2de1d15 100644 --- a/include/JSystem/JParticle/JPAFieldBlock.h +++ b/include/JSystem/JParticle/JPAFieldBlock.h @@ -2,7 +2,7 @@ #define JPAFIELDBLOCK_H #include "JSystem/JGeometry.h" -#include "dolphin/types.h" +#include class JKRHeap; class JPAEmitterWorkData; diff --git a/include/JSystem/JParticle/JPAKeyBlock.h b/include/JSystem/JParticle/JPAKeyBlock.h index 39941068d2..e1591f1d26 100644 --- a/include/JSystem/JParticle/JPAKeyBlock.h +++ b/include/JSystem/JParticle/JPAKeyBlock.h @@ -1,7 +1,7 @@ #ifndef JPAKEYBLOCK_H #define JPAKEYBLOCK_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jparticle diff --git a/include/JSystem/JParticle/JPAList.h b/include/JSystem/JParticle/JPAList.h index ab2e5a7fdf..cb02349c87 100644 --- a/include/JSystem/JParticle/JPAList.h +++ b/include/JSystem/JParticle/JPAList.h @@ -1,7 +1,7 @@ #ifndef JPALIST_H #define JPALIST_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jparticle diff --git a/include/JSystem/JParticle/JPAMath.h b/include/JSystem/JParticle/JPAMath.h index 68701359ce..e48758c4d8 100644 --- a/include/JSystem/JParticle/JPAMath.h +++ b/include/JSystem/JParticle/JPAMath.h @@ -1,7 +1,7 @@ #ifndef JPAMATH_H #define JPAMATH_H -#include "dolphin/mtx.h" +#include #include "JSystem/JGeometry.h" void JPAGetDirMtx(JGeometry::TVec3 const& param_0, f32 (*param_1)[4]); diff --git a/include/JSystem/JParticle/JPARandom.h b/include/JSystem/JParticle/JPARandom.h index 5ffb276d07..551e6f6934 100644 --- a/include/JSystem/JParticle/JPARandom.h +++ b/include/JSystem/JParticle/JPARandom.h @@ -1,7 +1,7 @@ #ifndef JPARANDOM_H #define JPARANDOM_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jparticle diff --git a/include/JSystem/JParticle/JPAResource.h b/include/JSystem/JParticle/JPAResource.h index eec55de945..f07868208d 100644 --- a/include/JSystem/JParticle/JPAResource.h +++ b/include/JSystem/JParticle/JPAResource.h @@ -1,7 +1,7 @@ #ifndef JPARESOURCE_H #define JPARESOURCE_H -#include "dolphin/types.h" +#include class JKRHeap; class JPAEmitterWorkData; diff --git a/include/JSystem/JParticle/JPAResourceLoader.h b/include/JSystem/JParticle/JPAResourceLoader.h index b958585211..7e411a8497 100644 --- a/include/JSystem/JParticle/JPAResourceLoader.h +++ b/include/JSystem/JParticle/JPAResourceLoader.h @@ -1,7 +1,7 @@ #ifndef JPARESOURCELOADER_H #define JPARESOURCELOADER_H -#include "dolphin/types.h" +#include class JPAResourceManager; diff --git a/include/JSystem/JStage/JSGObject.h b/include/JSystem/JStage/JSGObject.h index fa9148dc6e..cdf1849a48 100644 --- a/include/JSystem/JStage/JSGObject.h +++ b/include/JSystem/JStage/JSGObject.h @@ -1,7 +1,7 @@ #ifndef JSGOBJECT_H #define JSGOBJECT_H -#include "dolphin/mtx.h" +#include namespace JStage { /** diff --git a/include/JSystem/JStudio/JStudio/jstudio-math.h b/include/JSystem/JStudio/JStudio/jstudio-math.h index 92b7ef0415..0c09c680bd 100644 --- a/include/JSystem/JStudio/JStudio/jstudio-math.h +++ b/include/JSystem/JStudio/JStudio/jstudio-math.h @@ -1,7 +1,7 @@ #ifndef JSTUDIO_MATH_H #define JSTUDIO_MATH_H -#include "dolphin/mtx.h" +#include #include #define m_PI_D 3.141592653589793 diff --git a/include/JSystem/JStudio/JStudio/jstudio-object.h b/include/JSystem/JStudio/JStudio/jstudio-object.h index 10315471b4..9f743d6360 100644 --- a/include/JSystem/JStudio/JStudio/jstudio-object.h +++ b/include/JSystem/JStudio/JStudio/jstudio-object.h @@ -120,6 +120,12 @@ public: virtual void do_data(void const*, u32, void const*, u32); TAdaptor* getAdaptor() const { return mpAdaptor; } + + void setAdaptor(TAdaptor* pAdaptor) { + mpAdaptor = pAdaptor; + prepareAdaptor(); + } + TControl* getControl() { return (TControl*)stb::TObject::getControl(); } const TControl* getControl() const { return (const TControl*)stb::TObject::getControl(); } diff --git a/include/JSystem/JStudio/JStudio/object-id.h b/include/JSystem/JStudio/JStudio/object-id.h index a2699d4b47..9aaebe9039 100644 --- a/include/JSystem/JStudio/JStudio/object-id.h +++ b/include/JSystem/JStudio/JStudio/object-id.h @@ -1,7 +1,7 @@ #ifndef OBJECT_ID_H #define OBJECT_ID_H -#include "dolphin/types.h" +#include namespace JStudio { namespace object { diff --git a/include/JSystem/JStudio/JStudio/stb-data.h b/include/JSystem/JStudio/JStudio/stb-data.h index fe85eb671c..2cd1a29804 100644 --- a/include/JSystem/JStudio/JStudio/stb-data.h +++ b/include/JSystem/JStudio/JStudio/stb-data.h @@ -1,7 +1,7 @@ #ifndef STB_DATA_H #define STB_DATA_H -#include "dolphin/types.h" +#include namespace JStudio { namespace stb { diff --git a/include/JSystem/JStudio/JStudio/stb.h b/include/JSystem/JStudio/JStudio/stb.h index d61bfda06c..20813969ff 100644 --- a/include/JSystem/JStudio/JStudio/stb.h +++ b/include/JSystem/JStudio/JStudio/stb.h @@ -4,7 +4,7 @@ #include "JSystem/JGadget/linklist.h" #include "JSystem/JStudio/JStudio/object-id.h" #include "JSystem/JStudio/JStudio/stb-data-parse.h" -#include "dolphin/os.h" +#include namespace JStudio { class TObject; diff --git a/include/JSystem/JStudio/JStudioCameraEditor/control.h b/include/JSystem/JStudio/JStudioCameraEditor/control.h new file mode 100644 index 0000000000..4feda48915 --- /dev/null +++ b/include/JSystem/JStudio/JStudioCameraEditor/control.h @@ -0,0 +1,217 @@ +#ifndef JSTUDIOCAMERAEDITOR_CONTROL_H +#define JSTUDIOCAMERAEDITOR_CONTROL_H + +#include "JSystem/JStudio/JStudio/jstudio-control.h" +#include "JSystem/JStudio/JStudio/jstudio-object.h" +#include "JSystem/JStudio/JStudioCameraEditor/csb.h" +#include "JSystem/JStudio/JStudioCameraEditor/sequence.h" +#include "JSystem/JStudio/JStudioCameraEditor/controlset-csb-valueset.h" +#include "JSystem/JStudio/JStudioToolLibrary/controlset-preview.h" +#include "JSystem/JStudio/JStudioToolLibrary/controlset-transform.h" +#include "JSystem/JStudio/JStudioToolLibrary/console.h" +#include "JSystem/JStudio/JStudioToolLibrary/interface.h" +#include "JSystem/JStudio/JStudioToolLibrary/visual.h" +#include "JSystem/JStudio/JStudioToolLibrary/scroll.h" +#include "JSystem/JGadget/std-vector.h" +#include "JSystem/JHostIO/JORServer.h" + +namespace JStudioCameraEditor { + struct TControl : public JORReflexible, public JOREventCallbackListNode { + struct TSWValueWidth_ { + TSWValueWidth_(uint, uint); + + /* 0x0 */ uint field_0x0; + /* 0x4 */ uint field_0x4; + }; + + struct TOptionSet_ : public csb::TValueSet { + TOptionSet_(); + + int getPadding_vertical_() const; + int getPadding_horizontal_() const; + int getMargin_horizontal_() const; + + /* 0x02C */ int field_0x2c; + /* 0x030 */ int field_0x30; + /* 0x034 */ u8 field_0x34; + /* 0x035 */ u8 field_0x35; + /* 0x038 */ int field_0x38; + /* 0x03C */ int field_0x3c; + /* 0x040 */ int field_0x40; + /* 0x044 */ u8 field_0x44; + /* 0x045 */ u8 field_0x45; + /* 0x048 */ f32 field_0x48; + /* 0x04C */ f32 field_0x4c; + /* 0x050 */ f32 field_0x50; + /* 0x054 */ f32 field_0x54; + /* 0x058 */ f32 field_0x58; + /* 0x05C */ f32 field_0x5c; + /* 0x060 */ f32 field_0x60; + /* 0x064 */ f32 field_0x64; + /* 0x068 */ f32 field_0x68; + /* 0x06C */ f32 field_0x6c; + /* 0x070 */ int field_0x70; + /* 0x074 */ int field_0x74; + /* 0x078 */ int field_0x78; + /* 0x07C */ u8 field_0x7c; + /* 0x07D */ u8 field_0x7d; + /* 0x07E */ u8 field_0x7e; + /* 0x07F */ u8 field_0x7f; + /* 0x080 */ u8 field_0x80; + /* 0x081 */ u8 field_0x81; + /* 0x082 */ u8 field_0x82; + /* 0x083 */ u8 field_0x83; + /* 0x084 */ u8 field_0x84; + /* 0x088 */ int field_0x88; + /* 0x08C */ int field_0x8c; + /* 0x090 */ int field_0x90; + /* 0x094 */ int field_0x94; + /* 0x098 */ f32 field_0x98; + /* 0x09C */ f32 field_0x9c; + /* 0x0A0 */ JUtility::TColor field_0xa0; + /* 0x0A4 */ int field_0xa4; + /* 0x0A8 */ int field_0xa8; + /* 0x0AC */ int field_0xac; + /* 0x0B0 */ f32 field_0xb0; + /* 0x0B4 */ int field_0xb4; + /* 0x0B8 */ int field_0xb8; + /* 0x0BC */ int field_0xbc; + /* 0x0C0 */ int field_0xc0; + /* 0x0C4 */ int field_0xc4; + /* 0x0C8 */ int field_0xc8; + /* 0x0CC */ int field_0xcc; + /* 0x0D0 */ int field_0xd0; + /* 0x0D4 */ int field_0xd4; + /* 0x0D8 */ int field_0xd8; + /* 0x0DC */ int field_0xdc; + /* 0x0E0 */ int field_0xe0; + /* 0x0E4 */ int field_0xe4; + /* 0x0E8 */ int field_0xe8; + /* 0x0EC */ TSWValueWidth_ field_0xec; + /* 0x0F4 */ TSWValueWidth_ field_0xf4; + /* 0x0FC */ TSWValueWidth_ field_0xfc; + /* 0x104 */ TSWValueWidth_ field_0x104; + /* 0x10C */ JUtility::TColor field_0x10c; + /* 0x110 */ JUtility::TColor field_0x110; + /* 0x114 */ JUtility::TColor field_0x114; + /* 0x118 */ JUtility::TColor field_0x118; + /* 0x11C */ JUtility::TColor field_0x11c; + /* 0x120 */ JUtility::TColor field_0x120; + /* 0x124 */ JUtility::TColor field_0x124; + /* 0x128 */ JUtility::TColor field_0x128; + /* 0x12C */ JUtility::TColor field_0x12c; + /* 0x130 */ JUtility::TColor field_0x130; + /* 0x134 */ JUtility::TColor field_0x134; + /* 0x138 */ JUtility::TColor field_0x138; + /* 0x13C */ JUtility::TColor field_0x13c; + /* 0x140 */ JUtility::TColor field_0x140; + /* 0x144 */ JUtility::TColor field_0x144; + /* 0x148 */ JStudioToolLibrary::TColor_variable::TVelocity field_0x148; + /* 0x158 */ JStudioToolLibrary::TColor_variable::TVelocity field_0x158; + /* 0x168 */ JStudioToolLibrary::TColor_variable::TVelocity field_0x168; + /* 0x178 */ JStudioToolLibrary::TColor_variable::TVelocity field_0x178; + /* 0x188 */ JStudioToolLibrary::TColor_variable::TVelocity field_0x188; + /* 0x198 */ JStudioToolLibrary::TColor_variable::TVelocity field_0x198; + /* 0x1A8 */ int field_0x1a8; + /* 0x1AC */ int field_0x1ac; + }; + + struct TAdaptor_preview_ : public JStudioToolLibrary::TControlSet_preview::TAdaptor { + TAdaptor_preview_(TControl*); + + virtual bool do_isReady(); + virtual void do_begin(); + virtual void do_end(); + virtual void do_current(u32, s32); + virtual ~TAdaptor_preview_(); + + /* 0x4 */ TControl* pControl_; + }; + + enum TECommand {}; + + TControl(); + + void jstudio_setSecondPerFrame(double param_0) { + oJSTControl_.setSecondPerFrame(param_0); + } + + void show_setRender(J2DOrthoGraph* pOrthoGraph, JUTFont* pFont) { + field_0x3cc.setRender(pOrthoGraph); + oPrint_.setFont(pFont); + } + + void interface_setPad(const JUTGamePad* pPad) { + oPad_.setPad(pPad); + } + + void jstudio_setAdaptor(JStudio::TAdaptor_camera* pAdaptor) { + field_0x608.setAdaptor(pAdaptor); + } + + bool isEnabled() const { return bEnabled_; } + + virtual void listenPropertyEvent(const JORPropertyEvent*); + virtual void genMessage(JORMContext*); + + virtual int JORAct(u32, const char*); + virtual ~TControl(); + virtual void update(); + virtual void show2D(); + virtual void show3D(const Mtx); + virtual int command(TECommand, const char*); + + /* 0x018 */ JStudioToolLibrary::TConsole field_0x18; + /* 0x020 */ TOptionSet_ oOptionSet_; + /* 0x1D0 */ TAdaptor_preview_ field_0x1d0; + /* 0x1D8 */ bool bEnabled_; + /* 0x1DC */ int field_0x1dc; + /* 0x1E0 */ JStudioToolLibrary::TControlSet_preview oPreviewControl_; + /* 0x218 */ TControlSet_csb_valueSet field_0x218; + /* 0x260 */ TControlSet_csb_valueSet field_0x260; + /* 0x2A8 */ JStudioToolLibrary_JStudio::TControlSet_transform oTransformControl_; + /* 0x2D4 */ TSequenceContainer oSequenceContainer_; + /* 0x2E8 */ csb::TValueSet field_0x2e8; + /* 0x314 */ JGadget::TVector > field_0x314; + /* 0x328 */ TSequenceContainer field_0x328; + /* 0x33C */ u8 field_0x33C[0x36C - 0x33C]; + /* 0x36C */ int field_0x36c; + /* 0x370 */ u8 field_0x370; + /* 0x371 */ u8 field_0x371; + /* 0x372 */ u8 field_0x372; + /* 0x373 */ u8 field_0x373; + /* 0x374 */ u8 field_0x374; + /* 0x378 */ int field_0x378; + /* 0x37C */ u8 field_0x37c; + /* 0x380 */ int field_0x380; + /* 0x384 */ int field_0x384[2]; + /* 0x38C */ JGadget::TLinkList::iterator itIFSequence_; + /* 0x390 */ u32 uitIFSequence_; + /* 0x394 */ csb::TValueSet* itIFValueSet_; + /* 0x398 */ csb::TValueSet* uitIFValueSet_; + /* 0x39C */ JStudioToolLibrary::TPad oPad_; + /* 0x3A0 */ JStudioToolLibrary::TPad::TData oPadData_; + /* 0x3C8 */ bool bIsPad_applied_; + /* 0x3CC */ JStudioToolLibrary::TDrawPrimitive2D field_0x3cc; + /* 0x3D0 */ JStudioToolLibrary::TDrawPrimitive3D field_0x3d0; + /* 0x3D8 */ JStudioToolLibrary::TPrint oPrint_; + /* 0x3EC */ bool bVisible2D_; + /* 0x3ED */ bool bVisible3D_; + /* 0x3F0 */ JStudioToolLibrary::TScroll_drawBar_horizontal field_0x3f0; + /* 0x428 */ JStudioToolLibrary::TScroll_drawBar_horizontal field_0x428; + /* 0x460 */ int field_0x460; + /* 0x464 */ int field_0x464; + /* 0x468 */ JStudioToolLibrary::TColor_variable field_0x468; + /* 0x47C */ JStudioToolLibrary::TColor_variable field_0x47c; + /* 0x490 */ JStudioToolLibrary::TColor_variable field_0x490; + /* 0x4A4 */ JStudioToolLibrary::TColor_variable field_0x4a4; + /* 0x4B8 */ JStudioToolLibrary::TColor_variable field_0x4b8; + /* 0x4CC */ JStudioToolLibrary::TColor_variable field_0x4cc; + /* 0x4E0 */ u8 field_0x4E0[0x4F8 - 0x4E0]; + /* 0x4F8 */ JStudio::TControl oJSTControl_; + /* 0x608 */ JStudio::TObject_camera field_0x608; + /* 0x640 */ u8 field_0x640; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioCameraEditor/controlset-csb-valueset.h b/include/JSystem/JStudio/JStudioCameraEditor/controlset-csb-valueset.h new file mode 100644 index 0000000000..1bf4d6f79e --- /dev/null +++ b/include/JSystem/JStudio/JStudioCameraEditor/controlset-csb-valueset.h @@ -0,0 +1,16 @@ +#ifndef JSTUDIOCAMERAEDITOR_CONTROLSET_CSB_VALUESET_H +#define JSTUDIOCAMERAEDITOR_CONTROLSET_CSB_VALUESET_H + +#include "JSystem/JStudio/JStudioToolLibrary/controlset.h" +#include "JSystem/JStudio/JStudioCameraEditor/csb.h" + +namespace JStudioCameraEditor { + struct TControlSet_csb_valueSet : public JStudioToolLibrary::TControlSet { + /* 0x14 */ bool bChanged_; + /* 0x15 */ u8 field_0x15; + /* 0x18 */ csb::TValueSet* pValueSet_; + /* 0x1C */ csb::TValueSet field_0x1c; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioCameraEditor/csb.h b/include/JSystem/JStudio/JStudioCameraEditor/csb.h new file mode 100644 index 0000000000..de1a42421c --- /dev/null +++ b/include/JSystem/JStudio/JStudioCameraEditor/csb.h @@ -0,0 +1,77 @@ +#ifndef JSTUDIOCAMERAEDITOR_CSB_H +#define JSTUDIOCAMERAEDITOR_CSB_H + +#include +#include "JSystem/JGadget/linklist.h" +#include "JSystem/JGadget/std-vector.h" +#include "JSystem/JStudio/JStudio/functionvalue.h" + +namespace JStudioCameraEditor { + namespace csb { + namespace data { + enum TEValue {}; + } + + struct TValueSet { + TValueSet(); + TValueSet(const TValueSet&); + + void set(data::TEValue, f32); + void setVector_targetPosition(const Vec&); + void setVector_position(const Vec&); + void setApplied(data::TEValue, bool); + void getVector_targetPosition_relativePosition(Vec*) const; + void getVector_targetPosition(Vec*) const; + void getVector_position(Vec*) const; + void getVector_up(Vec*) const; + f32 getValue(data::TEValue) const; + void setTime(u32); + u32 getTime() const; + void setVector_position_relativeTargetPosition(const Vec&); + void getVector_position_relativeTargetPosition(Vec*) const; + void setVector_targetPosition_relativePosition(const Vec&); + void addValue(data::TEValue, f32); + void set(const TValueSet&, uint); + bool isApplied(data::TEValue) const; + + /* 0x00 */ f32 fValue_[8]; + /* 0x20 */ bool bApplied_[8]; + /* 0x28 */ u32 uTime_; + }; + + struct TSequence : public JGadget::TLinkListNode { + TSequence(u32); + ~TSequence(); + + JGadget::TVector >& referValueSetContainer(); + void getValueSetContainer() const; + void setInterpolate(JStudio::TFunctionValue::TEInterpolate); + JStudio::TFunctionValue::TEInterpolate getInterpolate() const; + void setTime(u32); + u32 getTime() const; + void setTime_begin(u32); + u32 getTime_begin() const; + void assign(const TSequence&); + u32 getTime_valueSet_all() const; + u32 getTime_actual(u32*) const; + u32 getTime_begin_actual_(u32) const; + bool getFunctionValue(JStudio::TFunctionValue_list_parameter*, JGadget::TVector >*, data::TEValue, double) const; + u32 getFunctionValueDataNumberNeeded() const; + + /* 0x08 */ JGadget::TVector > oContainer_; + /* 0x1C */ u32 uTime_; + /* 0x20 */ u32 uTimeBegin_; + /* 0x24 */ JStudio::TFunctionValue::TEInterpolate eInterpolate_; + }; + + struct TSequenceContainer : public JGadget::TLinkList_factory { + TSequenceContainer(); + + virtual ~TSequenceContainer(); + virtual TSequence* Do_create(); + virtual void Do_destroy(TSequence*); + }; + } +} + +#endif diff --git a/include/JSystem/JStudio/JStudioCameraEditor/sequence.h b/include/JSystem/JStudio/JStudioCameraEditor/sequence.h new file mode 100644 index 0000000000..82d8b78ab9 --- /dev/null +++ b/include/JSystem/JStudio/JStudioCameraEditor/sequence.h @@ -0,0 +1,20 @@ +#ifndef JSTUDIOCAMERAEDITOR_SEQUENCE_H +#define JSTUDIOCAMERAEDITOR_SEQUENCE_H + +#include "JSystem/JStudio/JStudioCameraEditor/csb.h" + +namespace JStudioCameraEditor { + struct TSequenceContainer : public csb::TSequenceContainer { + TSequenceContainer(); + + int GetSequenceValueSetDefaultNumber(); + + virtual ~TSequenceContainer(); + virtual csb::TSequence* Do_create(); + virtual void Do_destroy(csb::TSequence*); + + /* 0x10 */ int field_0x10; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioToolLibrary/anchor.h b/include/JSystem/JStudio/JStudioToolLibrary/anchor.h new file mode 100644 index 0000000000..cd5ff27c0b --- /dev/null +++ b/include/JSystem/JStudio/JStudioToolLibrary/anchor.h @@ -0,0 +1,39 @@ +#ifndef JSTUDIOTOOLLIBRARY_ANCHOR_H +#define JSTUDIOTOOLLIBRARY_ANCHOR_H + +#include "JSystem/JStudio/JStudioToolLibrary/scroll.h" + +namespace JStudioToolLibrary { + enum TEAnchor { + + }; + + struct TPoint { + TPoint(const TPoint&); + TPoint(int, int); + + void setX(int); + void setY(int); + + int getX() const; + int getY() const; + + /* 0x0 */ int iX_; + /* 0x4 */ int iY_; + }; + + struct TAnchor_corner { + TAnchor_corner(TEAnchor, int, int); + + void setAnchor(TEAnchor); + void setAnchorPosition(const TPoint&); + void getPosition(TPoint*, const TRectangle&, int, int) const; + TEAnchor getAnchor() const; + TPoint* getAnchorPosition() const; + + /* 0x0 */ TEAnchor eAnchor_; + /* 0x4 */ TPoint oAnchorPosition_; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioToolLibrary/console.h b/include/JSystem/JStudio/JStudioToolLibrary/console.h new file mode 100644 index 0000000000..cddd9a77e7 --- /dev/null +++ b/include/JSystem/JStudio/JStudioToolLibrary/console.h @@ -0,0 +1,87 @@ +#ifndef JSTUDIOTOOLLIBRARY_CONSOLE_H +#define JSTUDIOTOOLLIBRARY_CONSOLE_H + +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JHostIO/JORReflexible.h" +#include "JSystem/JUtility/TColor.h" + +namespace JStudioToolLibrary { + struct JORValPrpEvent {}; + struct JORStrValPrpEvent {}; + + struct TConsole { + TConsole(const char*, JORReflexible*); + + u32 memory_allocate_available(JKRHeap*, double, u32*); + bool memory_isAllocatable(JKRHeap*); + bool memory_isAllocatable(JKRHeap*, u32); + bool memory_isAllocatable_available(JKRHeap*, double, u32*); + bool memory_allocate(JKRHeap*, u32); + + void control_enable(const u32*, bool); + void control_enable(u32, bool); + void control_setStyle(u32, u32); + void control_generateRadioButton(JORMContext*, u32, const char*, const char*, int); + void control_generateSelectList(JORMContext*, u32, const char*, uint, const char*, int); + void control_generateLabel(JORMContext*, u32, const char*); + void control_getRadioButton(const JORValPrpEvent*); + void control_isCheckBox(const JORValPrpEvent*); + void control_getSelectList(const JORValPrpEvent*); + void control_generateEditBox_float(JORMContext*, u32, const char*, const f32&); + void control_generateEditBox_uint(JORMContext*, u32, const char*, const uint&); + void control_generateTitle(JORMContext*, const char*) const; + void control_generateSeparator(JORMContext*, const char*); + void control_setCheckBox(u32, bool); + void control_generateRadioButton_style(JORMContext*, u32, u32, const char*, const char**, int); + void control_setRadioButton(u32, int); + void control_generateSelectList_style(JORMContext*, u32, u32, const char*, uint, const char**, int); + void control_setSelectList(u32, int); + void control_generateLabel_style(JORMContext*, u32, u32, const char*); + void control_generateEditBox_style(JORMContext*, u32, u32, const char*, const char*); + void control_generateEditBox_style_int(JORMContext*, u32, u32, const char*, const int&); + void control_generateEditBox_style_uint(JORMContext*, u32, u32, const char*, const uint&); + void control_generateEditBox_style_float(JORMContext*, u32, u32, const char*, const f32&); + void control_generateEditBox_style_RGBA(JORMContext*, u32, u32, const char*, JUtility::TColor); + void control_generateEditBox_int(JORMContext*, u32, const char*, const int&); + void control_setEditBox(u32, const char*); + void control_setEditBox_f(u32, const char*, ...); + void control_setEditBox_f_va(u32, const char*, va_list); + void control_setEditBox_int(u32, const int&); + void control_setEditBox_uint(u32, const uint&); + void control_setEditBox_float(u32, const f32&); + void control_setEditBox_RGBA(u32, const JUtility::TColor&); + void control_replyEditBox_int(const JORStrValPrpEvent*, int*); + void control_replyEditBox_uint(const JORStrValPrpEvent*, uint*); + void control_replyEditBox_float(const JORStrValPrpEvent*, f32*); + void control_replyEditBox_float_not(const JORStrValPrpEvent*, f32*, const f32&); + void control_replyEditBox_float_greaterEqual(const JORStrValPrpEvent*, f32*, const f32&); + void control_replyEditBox_RGBA(const JORStrValPrpEvent*, JUtility::TColor*); + void control_forceEditBox(u32, const char*, const char*); + + void control_replyEditBox_float_range(const JORStrValPrpEvent*, f32*, const f32&, const f32&); + void control_replyEditBox_uint_range(const JORStrValPrpEvent*, uint*, const uint&, const uint&); + + bool parseValue_int(const char*, int*); + bool parseValue_uint(const char*, uint*); + bool parseValue_float(const char*, f32*); + bool parseValue_double(const char*, double*); + bool parseValue_RGBA(const char*, JUtility::TColor*); + bool parseValueList_float(const char*, char, f32*, f32*); + + int openMessageBox(uint, const char*); + int openMessageBox_f(uint, const char*, ...); + int openMessageBox_f_va(uint, const char*, va_list); + bool openBrowser(const char*); + + void toValue_style_(u32); + void getValueString_int(char*, u32, int); + void getValueString_uint(char*, u32, uint); + void getValueString_float(char*, u32, f32); + void getValueString_RGBA(char*, u32, const JUtility::TColor&); + + /* 0x0 */ char* szTitle_; + /* 0x4 */ JORReflexible* pReflexible_; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioToolLibrary/controlset-preview.h b/include/JSystem/JStudio/JStudioToolLibrary/controlset-preview.h new file mode 100644 index 0000000000..f83a388481 --- /dev/null +++ b/include/JSystem/JStudio/JStudioToolLibrary/controlset-preview.h @@ -0,0 +1,81 @@ +#ifndef JSTUDIOTOOLLIBRARY_CONTROLSET_PREVIEW_H +#define JSTUDIOTOOLLIBRARY_CONTROLSET_PREVIEW_H + +#include "JSystem/JStudio/JStudioToolLibrary/controlset.h" + +namespace JStudioToolLibrary { + struct TControlSet_preview : public TControlSet { + struct TAdaptor { + virtual bool do_isReady(); + virtual void do_begin(); + virtual void do_end(); + virtual void do_current(u32, s32); + }; + + enum TEPreview {}; + + TControlSet_preview(TConsole*, u32, uint, TAdaptor*); + + void preview_start(); + void preview_stop(); + void preview_rewind(); + void preview_step(); + void preview_pause(); + void preview_play(); + bool isPreview_stop() const; + u32 getTime() const; + u8 isTime_end() const; + void update(); + void forwardTime_next_(); + int getTime_step() const; + void adaptor_current_(u32, s32); + void flushTime_(); + void setTime_(u32); + void value_setTime_(u32); + void preview(TEPreview); + void adaptor_begin_(); + void resetTime_(); + bool adaptor_isReady_(); + u32 getControlStyle_time_end_() const; + u32 getControlStyle_time_() const; + void adaptor_end_(); + void control_updateTime_(); + void control_generate_preview(JORMContext*, TControlSet*, const TControl&); + void control_reply_preview(const JORPropertyEvent*, TControlSet*, const TControl&); + void control_update_preview(TControlSet*, const TControl&); + void control_generate_preview_rewind(JORMContext*, TControlSet*, const TControl&); + void control_reply_preview_rewind(const JORPropertyEvent*, TControlSet*, const TControl&); + void control_update_preview_rewind(TControlSet*, const TControl&); + void control_generate_preview_play(JORMContext*, TControlSet*, const TControl&); + void control_reply_preview_play(const JORPropertyEvent*, TControlSet*, const TControl&); + void control_update_preview_play(TControlSet*, const TControl&); + void control_generate_preview_step(JORMContext*, TControlSet*, const TControl&); + void control_reply_preview_step(const JORPropertyEvent*, TControlSet*, const TControl&); + void control_update_preview_step(TControlSet*, const TControl&); + void control_generate_time(JORMContext*, TControlSet*, const TControl&); + void control_reply_time(const JORPropertyEvent*, TControlSet*, const TControl&); + void control_update_time(TControlSet*, const TControl&); + void control_generate_time_end(JORMContext*, TControlSet*, const TControl&); + u32 getTime_end() const; + void control_reply_time_end(const JORPropertyEvent*, TControlSet*, const TControl&); + void control_update_time_end(TControlSet*, const TControl&); + void control_generate_time_step(JORMContext*, TControlSet*, const TControl&); + void control_reply_time_step(const JORPropertyEvent*, TControlSet*, const TControl&); + void setTime_step(u32); + void control_updateTime_step(); + void value_setTime_step(u32); + void control_update_time_step(TControlSet*, const TControl&); + + /* 0x14 */ u8 field_0x14; + /* 0x18 */ int field_0x18; + /* 0x1C */ u32 uTime_; + /* 0x20 */ u32 field_0x20; + /* 0x24 */ int field_0x24; + /* 0x28 */ u32 field_0x28; + /* 0x2C */ int iTimeStep_; + /* 0x30 */ u8 bTimeEnd_; + /* 0x34 */ TAdaptor* pAdaptor_; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioToolLibrary/controlset-transform.h b/include/JSystem/JStudio/JStudioToolLibrary/controlset-transform.h new file mode 100644 index 0000000000..5bf702b7f4 --- /dev/null +++ b/include/JSystem/JStudio/JStudioToolLibrary/controlset-transform.h @@ -0,0 +1,54 @@ +#ifndef JSTUDIOTOOLLIBRARY_CONTROLSET_TRANSFORM_H +#define JSTUDIOTOOLLIBRARY_CONTROLSET_TRANSFORM_H + +#include "JSystem/JStudio/JStudioToolLibrary/controlset.h" +#include "JSystem/JStudio/JStudio/jstudio-control.h" + +namespace JStudioToolLibrary_JStudio { + struct TControlSet_transform : public JStudioToolLibrary::TControlSet { + TControlSet_transform(JStudioToolLibrary::TConsole*, u32, JStudio::TControl); + + void resetOrigin(); + void setOrigin(const Vec&, f32); + void setEnabled(bool); + + JStudio::TControl* jstudio_getControl() const; + void jstudio_setControl(JStudio::TControl*); + + void control_updateEnabled(); + void value_setEnabled(bool); + void control_updateOrigin(); + void value_setOrigin(const Vec&, f32); + bool setOrigin(const char*); + bool setOrigin_TxyzRy_(TControlSet_transform*, const char*); + void control_generate_float_(JORMContext*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&, f32); + void control_reply_float_(const JORPropertyEvent*, TControlSet_transform*, f32*); + void control_update_float_(TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&, f32); + void control_generate_enable(JORMContext*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + bool isEnabled() const; + void control_reply_enable(const JORPropertyEvent*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_update_enable(TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_generate_origin_translationX(JORMContext*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_reply_origin_translationX(const JORPropertyEvent*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_update_origin_translationX(TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_generate_origin_translationY(JORMContext*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_reply_origin_translationY(const JORPropertyEvent*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_update_origin_translationY(TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_generate_origin_translationZ(JORMContext*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_reply_origin_translationZ(const JORPropertyEvent*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_update_origin_translationZ(TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_generate_origin_rotationY(JORMContext*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_reply_origin_rotationY(const JORPropertyEvent*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_update_origin_rotationY(TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_generate_origin_reset(JORMContext*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_reply_origin_reset(const JORPropertyEvent*, TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + void control_update_origin_reset(TControlSet_transform*, const JStudioToolLibrary::TControlSet::TControl&); + + /* 0x14 */ bool bEnabled_; + /* 0x18 */ TControl* pControl_; + /* 0x1C */ Vec field_0x1c; + /* 0x28 */ f32 field_0x28; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioToolLibrary/controlset.h b/include/JSystem/JStudio/JStudioToolLibrary/controlset.h new file mode 100644 index 0000000000..c688eea148 --- /dev/null +++ b/include/JSystem/JStudio/JStudioToolLibrary/controlset.h @@ -0,0 +1,63 @@ +#ifndef JSTUDIOTOOLLIBRARY_CONTROLSET_H +#define JSTUDIOTOOLLIBRARY_CONTROLSET_H + +#include "JSystem/JStudio/JStudioToolLibrary/console.h" + +namespace JStudioToolLibrary { + struct TControlSet { + struct TControl { + typedef void* (*generateFn)(JORMContext*, TControlSet*, const TControl&); + typedef void* (*replyFn)(const JORPropertyEvent*, TControlSet*, const TControl&); + typedef void* (*updateFn)(TControlSet*, const TControl&); + + TControl(); + TControl(const char*, generateFn, replyFn, updateFn); + + void update(TControlSet*) const; + void reply(const JORPropertyEvent*, TControlSet*) const; + void generate(JORMContext*, TControlSet*) const; + bool isEnd() const; + const char* getLabel() const; + int getID(const TControlSet&) const; + void setStyle(TControlSet*, u32) const; + + /* 0x00 */ char* szLabel_; + /* 0x04 */ void* pfnGenerate_; + /* 0x08 */ void* pfnReply_; + /* 0x0C */ void* pfnUpdate_; + }; + + TControlSet(TConsole*, const TControl*, u32, u32, const u32*); + + TConsole* getConsole(); + + TControl* control_getControl_IDOffset(u32) const; + u32 control_getNumber() const; + void control_generate(JORMContext*); + void control_generate_all(JORMContext*); + void control_generate(JORMContext*, const TControl&); + void control_generate_IDOffset(JORMContext*, const u32*); + void control_generate_IDOffset(JORMContext*, u32); + void control_generate_separator(JORMContext*, TControlSet*, const TControl&); + void control_generate_label(JORMContext*, TControlSet*, const TControl&); + void control_reply(const JORPropertyEvent*); + void control_getControl(u32) const; + u32 control_getIDBegin() const; + void control_toID(const TControl*) const; + u32 control_toID_IDOffset(u32) const; + u32 control_toIDOffset(const TControl&) const; + void control_update_IDOffset(u32); + void control_update(const TControl&); + void control_update_IDOffset(const u32*); + void control_setStyle(const TControl&, u32); + void control_setStyle_IDOffset(u32, u32); + + /* 0x00 */ TConsole* pConsole_; + /* 0x04 */ TControl* paoControl_; + /* 0x08 */ u32 uNumber_; + /* 0x0C */ u32 field_0xc; + /* 0x10 */ u32 field_0x10; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioToolLibrary/interface.h b/include/JSystem/JStudio/JStudioToolLibrary/interface.h new file mode 100644 index 0000000000..10f4595983 --- /dev/null +++ b/include/JSystem/JStudio/JStudioToolLibrary/interface.h @@ -0,0 +1,47 @@ +#ifndef JSTUDIOTOOLLIBRARY_INTERFACE_H +#define JSTUDIOTOOLLIBRARY_INTERFACE_H + +#include "JSystem/JUtility/JUTGamePad.h" + +namespace JStudioToolLibrary { + struct TPad { + struct TData { + TData(); + void reset(); + + /* 0x00 */ int iButton_; + /* 0x04 */ int iButtonTrigger_; + /* 0x08 */ int iButtonRelease_; + /* 0x0C */ int iButtonRepeat_; + /* 0x10 */ f32 fAnalogMainStickX_; + /* 0x14 */ f32 fAnalogMainStickY_; + /* 0x18 */ f32 fAnalogSubStickX_; + /* 0x1C */ f32 fAnalogSubStickY_; + /* 0x20 */ f32 fAnalogTriggerL_; + /* 0x24 */ f32 fAnalogTriggerR_; + }; + + TPad(); + + void setPad(const JUTGamePad* pPad) { + pPad_ = pPad; + } + + bool isEnabled() const; + void getData(TData*) const; + f32 getAnalog_triggerR() const; + f32 getAnalog_triggerL() const; + f32 getAnalog_subStickY() const; + f32 getAnalog_subStickX() const; + f32 getAnalog_mainStickY() const; + f32 getAnalog_mainStickX() const; + int getButton_repeat() const; + int getButton_release() const; + int getButton_trigger() const; + int getButton() const; + + /* 0x0 */ const JUTGamePad* pPad_; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioToolLibrary/scroll.h b/include/JSystem/JStudio/JStudioToolLibrary/scroll.h new file mode 100644 index 0000000000..cac9a4a0ee --- /dev/null +++ b/include/JSystem/JStudio/JStudioToolLibrary/scroll.h @@ -0,0 +1,49 @@ +#ifndef JSTUDIOTOOLLIBRARY_SCROLL_H +#define JSTUDIOTOOLLIBRARY_SCROLL_H + +#include "JSystem/JStudio/JStudioToolLibrary/visual.h" + +namespace JStudioToolLibrary { + struct TScroll { + TScroll(); + virtual ~TScroll(); + + int getStride() const; + int getValue() const; + int getMin() const; + int getMax() const; + void setStride(int); + void setValue_scroll(int); + void setValue(int); + void setRange(int, int); + void setValue_range_(int, int, int); + + /* 0x04 */ int iValue_; + /* 0x08 */ int iMin_; + /* 0x0C */ int iMax_; + /* 0x10 */ int field_0x10; + /* 0x14 */ int iStride_; + }; + + struct TScroll_drawBar : public TScroll { + void setRectangle(int, int, int, int); + TRectangle& getRectangle() const; + JUtility::TColor& getColor_disabled() const; + JUtility::TColor& getColor_background() const; + JUtility::TColor& getColor_foreground() const; + JUtility::TColor& getColor_frame() const; + + /* 0x18 */ TRectangle oRectangle_; + /* 0x28 */ JUtility::TColor oColorFrame_; + /* 0x2C */ JUtility::TColor oColorBackground_; + /* 0x30 */ JUtility::TColor oColorForeground_; + /* 0x34 */ JUtility::TColor oColorDisabled_; + }; + + struct TScroll_drawBar_horizontal : public TScroll_drawBar { + virtual ~TScroll_drawBar_horizontal(); + virtual void draw(TDrawPrimitive2D*) const; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudioToolLibrary/visual.h b/include/JSystem/JStudio/JStudioToolLibrary/visual.h new file mode 100644 index 0000000000..438f71592c --- /dev/null +++ b/include/JSystem/JStudio/JStudioToolLibrary/visual.h @@ -0,0 +1,125 @@ +#ifndef JSTUDIOTOOLLIBRARY_VISUAL_H +#define JSTUDIOTOOLLIBRARY_VISUAL_H + +#include "JSystem/JUtility/TColor.h" +#include "JSystem/JUtility/JUTFont.h" +#include "JSystem/J2DGraph/J2DOrthoGraph.h" + +namespace JStudioToolLibrary { + struct TRectangle { + TRectangle(); + TRectangle(int, int, int, int); + + void set(int, int, int, int); + int getBottom() const; + int getTop() const; + int getRight() const; + int getLeft() const; + int getWidth() const; + int getHeight() const; + + /* 0x00 */ int iLeft_; + /* 0x04 */ int iTop_; + /* 0x08 */ int iRight_; + /* 0x0C */ int iBottom_; + }; + + struct TDrawPrimitive2D { + TDrawPrimitive2D(); + + void setRender(J2DOrthoGraph* pOrthoGraph) { + pOrthoGraph_ = pOrthoGraph; + } + + void fillRectangle(int, int, int, int); + void setColor(const JUtility::TColor&); + void prepare(); + bool isEnabled() const; + TRectangle getRectangle() const; + void setColor(const JUtility::TColor&, const JUtility::TColor&, const JUtility::TColor&, const JUtility::TColor&); + void frameRectangle(int, int, int, int); + void setLineWidth(f32); + + /* 0x0 */ J2DOrthoGraph* pOrthoGraph_; + }; + + struct TDrawPrimitive3D { + TDrawPrimitive3D(); + + void setColor(GXColor); + void setLineWidth(f32); + void setGXState_position3f32(); + void endGX(); + void beginGX(GXPrimitive, u32); + void setGXColor(GXColor); + void setGXLineWidth(f32); + void prepare(); + void drawAxis(); + void setGXColor(); + void setGXLineWidth(); + void setGXState_position1x8(); + void drawAxis_arrow(); + void drawAxis_color(); + void setGXState_position1x8_color1x8(); + void drawAxis_color_arrow(); + void drawGrid_xyz(uint); + void setGXState_position3s16(); + void drawGrid_xy(uint); + void drawGrid_xz(uint); + void drawGrid_yz(uint); + + /* 0x0 */ f32 fLineWidth_; + /* 0x4 */ GXColor oColor_; + }; + + struct TPrint { + TPrint(); + + int getY() const; + int getX() const; + + void setFont(JUTFont* pFont) { + pFont_ = pFont; + } + + void setColor(const JUtility::TColor&); + void locate(int, int); + void prepare(); + int getFontHeight() const; + int getFontWidth() const; + bool isEnabled() const; + void processControlCharacter(int); + void print(int); + void drawCharacter(int); + void print(const char*); + void print_f(const char*, ...); + void print_f_va(const char*, va_list); + + /* 0x00 */ JUTFont* pFont_; + /* 0x04 */ int field_0x4; + /* 0x08 */ int field_0x8; + /* 0x0C */ int iX_; + /* 0x10 */ int iY_; + }; + + struct TColor_variable { + struct TVelocity { + TVelocity(const TVelocity&); + TVelocity(int, int, int, int); + + /* 0x00 */ int field_0x0; + /* 0x04 */ int field_0x4; + /* 0x08 */ int field_0x8; + /* 0x0C */ int field_0xc; + }; + + TColor_variable(const JUtility::TColor&, const TVelocity&); + void update(); + void updateValue_(u8*, int*); + + /* 0x00 */ JUtility::TColor oColor_; + /* 0x04 */ TVelocity oVelocity_; + }; +} + +#endif diff --git a/include/JSystem/JStudio/JStudio_JPreviewer/control.h b/include/JSystem/JStudio/JStudio_JPreviewer/control.h new file mode 100644 index 0000000000..5d19028ca9 --- /dev/null +++ b/include/JSystem/JStudio/JStudio_JPreviewer/control.h @@ -0,0 +1,51 @@ +#ifndef JSYSTEM_JSTUDIO_JSTUDIO_JPREVIEWER_CONTROL_H +#define JSYSTEM_JSTUDIO_JSTUDIO_JPREVIEWER_CONTROL_H + +#include "JSystem/JHostIO/JORReflexible.h" +#include "JSystem/JHostIO/JORServer.h" +#include "JSystem/JStudio/JStudioToolLibrary/interface.h" +#include "JSystem/JStudio/JStudioToolLibrary/visual.h" + +class J2DOrthoGraph; +class JUTFont; +class JUTGamePad; + +namespace JStudio { + class TControl; + class TParse; +}; + +namespace JStudioPreviewer { + class TControl : public JORReflexible, public JOREventCallbackListNode { + public: + TControl(); + virtual ~TControl() {} + void genMessage(JORMContext*); + + void interface_setPad(const JUTGamePad* pPad) { + mPad.setPad(pPad); + } + + void show_setRender(J2DOrthoGraph* pGraph, JUTFont* pFont) { + field_0x128.setRender(pGraph); + field_0x12c.setFont(pFont); + } + + void jstudio_setControl(JStudio::TControl*); + void jstudio_setParse(JStudio::TParse*); + + virtual void update(); + virtual void show2D(); + virtual void show3D(Mtx mtx); + virtual int JORAct(u32, const char*); + + private: + /* 0x018 */ u8 field_0x18[0xf8 - 0x18]; + /* 0x0F8 */ JStudioToolLibrary::TPad mPad; + /* 0x018 */ u8 field_0xfc[0x128 - 0xfc]; + /* 0x128 */ JStudioToolLibrary::TDrawPrimitive2D field_0x128; + /* 0x12C */ JStudioToolLibrary::TPrint field_0x12c; + }; +}; + +#endif diff --git a/include/JSystem/JStudio/JStudio_JStage/control.h b/include/JSystem/JStudio/JStudio_JStage/control.h index 2afcf959ce..1b41039866 100644 --- a/include/JSystem/JStudio/JStudio_JStage/control.h +++ b/include/JSystem/JStudio/JStudio_JStage/control.h @@ -38,6 +38,9 @@ struct TAdaptor_object_ { void adaptor_object_begin_() { pJSGObject_->JSGFEnableFlag(1); } void adaptor_object_end_() { pJSGObject_->JSGFDisableFlag(1); } + #if VERSION == VERSION_SHIELD_DEBUG + /* 0x0 */ const JStudio::TAdaptor* pAdaptor_; + #endif /* 0x0 */ JStage::TSystem const* pJSGSystem_; /* 0x4 */ JStage::TObject* pJSGObject_; }; diff --git a/include/JSystem/JSupport/JSUIosBase.h b/include/JSystem/JSupport/JSUIosBase.h index 5164cc5a2a..64ad4dba05 100644 --- a/include/JSystem/JSupport/JSUIosBase.h +++ b/include/JSystem/JSupport/JSUIosBase.h @@ -1,7 +1,7 @@ #ifndef JSUIOSBASE_H_ #define JSUIOSBASE_H_ -#include "dolphin/types.h" +#include enum JSUStreamSeekFrom { JSUStreamSeekFrom_SET = 0, // absolute diff --git a/include/JSystem/JSupport/JSUList.h b/include/JSystem/JSupport/JSUList.h index 20e36c1525..30a28b57cf 100644 --- a/include/JSystem/JSupport/JSUList.h +++ b/include/JSystem/JSupport/JSUList.h @@ -1,7 +1,7 @@ #ifndef JSULIST_H #define JSULIST_H -#include "dolphin/types.h" +#include template class JSUList; diff --git a/include/JSystem/JUtility/JUTAssert.h b/include/JSystem/JUtility/JUTAssert.h index 81c898e6a7..5a37e2b03c 100644 --- a/include/JSystem/JUtility/JUTAssert.h +++ b/include/JSystem/JUtility/JUTAssert.h @@ -1,7 +1,7 @@ #ifndef JUTASSERT_H #define JUTASSERT_H -#include "dolphin/os.h" +#include #if DEBUG #define JUT_SHOW_ASSERT(LINE, COND) JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, #COND) diff --git a/include/JSystem/JUtility/JUTConsole.h b/include/JSystem/JUtility/JUTConsole.h index d16802a2e3..e40b3246d5 100644 --- a/include/JSystem/JUtility/JUTConsole.h +++ b/include/JSystem/JUtility/JUTConsole.h @@ -6,6 +6,20 @@ #include "JSystem/JUtility/JUTFont.h" #include +class JUTConsole; + +extern "C" void JUTConsole_print_f_va_(JUTConsole*, const char*, va_list); +extern "C" void JUTSetReportConsole(JUTConsole*); +extern "C" JUTConsole* JUTGetReportConsole(); +extern "C" void JUTSetWarningConsole(JUTConsole*); +extern "C" JUTConsole* JUTGetWarningConsole(); +extern "C" void JUTWarningConsole_f_va(const char*, va_list); +extern "C" void JUTReportConsole_f_va(const char*, va_list); +extern "C" void JUTReportConsole_f(const char*, ...); +extern "C" void JUTWarningConsole(const char* message); +extern "C" void JUTWarningConsole_f(const char* message, ...); +extern "C" void JUTReportConsole(const char* message); + /** * @ingroup jsystem-jutility * @@ -95,6 +109,7 @@ public: void scrollToLastLine() { scroll(mMaxLines); } void scrollToFirstLine() { scroll(-mMaxLines); } + void print_f_va(const char* fmt, va_list args) { JUTConsole_print_f_va_(this, fmt, args); } /* 0x18 */ JGadget::TLinkListNode mListNode; /* 0x20 */ unsigned int field_0x20; @@ -154,16 +169,4 @@ private: /* 0x10 */ JUTConsole* mDirectConsole; }; // Size: 0x14 -extern "C" void JUTConsole_print_f_va_(JUTConsole*, const char*, va_list); -extern "C" void JUTSetReportConsole(JUTConsole*); -extern "C" JUTConsole* JUTGetReportConsole(); -extern "C" void JUTSetWarningConsole(JUTConsole*); -extern "C" JUTConsole* JUTGetWarningConsole(); -extern "C" void JUTWarningConsole_f_va(const char*, va_list); -extern "C" void JUTReportConsole_f_va(const char*, va_list); -extern "C" void JUTReportConsole_f(const char*, ...); -extern "C" void JUTWarningConsole(const char* message); -extern "C" void JUTWarningConsole_f(const char* message, ...); -extern "C" void JUTReportConsole(const char* message); - #endif /* JUTCONSOLE_H */ diff --git a/include/JSystem/JUtility/JUTDirectFile.h b/include/JSystem/JUtility/JUTDirectFile.h index 71a0c1f21c..caebf09dd1 100644 --- a/include/JSystem/JUtility/JUTDirectFile.h +++ b/include/JSystem/JUtility/JUTDirectFile.h @@ -1,7 +1,7 @@ #ifndef JUTDIRECTFILE_H #define JUTDIRECTFILE_H -#include "dolphin/dvd.h" +#include #define JUTDF_BUFSIZE (0x800) diff --git a/include/JSystem/JUtility/JUTFontData_Ascfont_fix12.h b/include/JSystem/JUtility/JUTFontData_Ascfont_fix12.h index 98ee9ffeca..da5d500653 100644 --- a/include/JSystem/JUtility/JUTFontData_Ascfont_fix12.h +++ b/include/JSystem/JUtility/JUTFontData_Ascfont_fix12.h @@ -1,6 +1,6 @@ #ifndef JUTFONTDATA_ASCFONT_FIX12_H #define JUTFONTDATA_ASCFONT_FIX12_H -#include "dolphin/types.h" +#include #endif /* JUTFONTDATA_ASCFONT_FIX12_H */ diff --git a/include/JSystem/JUtility/JUTGraphFifo.h b/include/JSystem/JUtility/JUTGraphFifo.h index 9af2d8a0bc..8e550a4737 100644 --- a/include/JSystem/JUtility/JUTGraphFifo.h +++ b/include/JSystem/JUtility/JUTGraphFifo.h @@ -1,7 +1,7 @@ #ifndef JUTGRAPHFIFO_H #define JUTGRAPHFIFO_H -#include "dolphin/gx.h" +#include /** * @ingroup jsystem-jutility diff --git a/include/JSystem/JUtility/JUTNameTab.h b/include/JSystem/JUtility/JUTNameTab.h index 56ec079dbd..0aa772a40d 100644 --- a/include/JSystem/JUtility/JUTNameTab.h +++ b/include/JSystem/JUtility/JUTNameTab.h @@ -1,7 +1,7 @@ #ifndef JUTNAMETAB_H #define JUTNAMETAB_H -#include "dolphin/types.h" +#include /** * @ingroup jsystem-jutility diff --git a/include/JSystem/JUtility/JUTResource.h b/include/JSystem/JUtility/JUTResource.h index c0898e60b2..4a4b8e6c8c 100644 --- a/include/JSystem/JUtility/JUTResource.h +++ b/include/JSystem/JUtility/JUTResource.h @@ -1,7 +1,7 @@ #ifndef JUTRESOURCE_H #define JUTRESOURCE_H -#include "dolphin/types.h" +#include class JKRArchive; class JSUInputStream; diff --git a/include/JSystem/TPosition3.h b/include/JSystem/TPosition3.h index 5b416eb9fa..7a8094e45e 100644 --- a/include/JSystem/TPosition3.h +++ b/include/JSystem/TPosition3.h @@ -1,7 +1,7 @@ #ifndef TPOSITION3_H #define TPOSITION3_H -#include "dolphin/mtx.h" +#include #include "JSystem/JMath/JMath.h" #include "JSystem/JGeometry.h" diff --git a/include/SSystem/SComponent/c_API_controller_pad.h b/include/SSystem/SComponent/c_API_controller_pad.h index a8476b8d29..36d8fa5a1f 100644 --- a/include/SSystem/SComponent/c_API_controller_pad.h +++ b/include/SSystem/SComponent/c_API_controller_pad.h @@ -1,7 +1,7 @@ #ifndef C_API_CONTROLLER_PAD_ #define C_API_CONTROLLER_PAD_ -#include "dolphin/types.h" +#include struct interface_of_controller_pad { /* 0x00 */ f32 mMainStickPosX; @@ -35,4 +35,4 @@ struct interface_of_controller_pad { void cAPICPad_recalibrate(void); u32 cAPICPad_ANY_BUTTON(u32 param_0); -#endif \ No newline at end of file +#endif diff --git a/include/SSystem/SComponent/c_angle.h b/include/SSystem/SComponent/c_angle.h index da03a36bb3..8f78fb88d3 100644 --- a/include/SSystem/SComponent/c_angle.h +++ b/include/SSystem/SComponent/c_angle.h @@ -3,19 +3,31 @@ #include "SSystem/SComponent/c_xyz.h" -#define ADD_ANGLE(x, y) ((x) += (s16)(y)) -#define SUB_ANGLE(x, y) ((x) -= (s16)(y)) -#define MULT_ANGLE(x, y) ((x) *= (s16)(y)) +#define ADD_VAR(x, y) ((x) += (y)) +#define SUB_VAR(x, y) ((x) -= (y)) +#define MULT_VAR(x, y) ((x) *= (y)) + +#define ADD_VAR_CAST(x, y, t) ((x) += (t)(y)) +#define SUB_VAR_CAST(x, y, t) ((x) -= (t)(y)) +#define MULT_VAR_CAST(x, y, t) ((x) *= (t)(y)) + +#define ADD_ANGLE(x, y) ADD_VAR_CAST(x, y, s16) +#define SUB_ANGLE(x, y) SUB_VAR_CAST(x, y, s16) +#define MULT_ANGLE(x, y) MULT_VAR_CAST(x, y, s16) // There are some angles that weren't sign-extended until the shield version #if !PLATFORM_SHIELD - #define ADD_ANGLE_2(x, y) ((x) += (y)) - #define SUB_ANGLE_2(x, y) ((x) -= (y)) - #define MULT_ANGLE_2(x, y) ((x) *= (y)) + #define ADD_ANGLE_2 ADD_VAR + #define SUB_ANGLE_2 SUB_VAR + #define MULT_ANGLE_2 MULT_VAR + + #define ADD_S8_2 ADD_VAR #else - #define ADD_ANGLE_2(x, y) ADD_ANGLE(x, y) - #define SUB_ANGLE_2(x, y) SUB_ANGLE(x, y) - #define MULT_ANGLE_2(x, y) MULT_ANGLE(x, y) + #define ADD_ANGLE_2 ADD_ANGLE + #define SUB_ANGLE_2 SUB_ANGLE + #define MULT_ANGLE_2 MULT_ANGLE + + #define ADD_S8_2(x, y) ADD_VAR_CAST(x, y, s8) #endif #define DEG2S_CONSTANT (0x8000 / 180.0f) diff --git a/include/SSystem/SComponent/c_bg_s_chk.h b/include/SSystem/SComponent/c_bg_s_chk.h index 4d6a6cef3f..390a203e16 100644 --- a/include/SSystem/SComponent/c_bg_s_chk.h +++ b/include/SSystem/SComponent/c_bg_s_chk.h @@ -1,7 +1,7 @@ #ifndef C_BG_S_CHK_H #define C_BG_S_CHK_H -#include "dolphin/mtx.h" +#include #include "f_pc/f_pc_base.h" #include "SSystem/SComponent/c_bg_s_grp_pass_chk.h" #include "SSystem/SComponent/c_bg_s_poly_pass_chk.h" diff --git a/include/SSystem/SComponent/c_bg_s_poly_info.h b/include/SSystem/SComponent/c_bg_s_poly_info.h index a0fbf35aba..214118476c 100644 --- a/include/SSystem/SComponent/c_bg_s_poly_info.h +++ b/include/SSystem/SComponent/c_bg_s_poly_info.h @@ -1,7 +1,7 @@ #ifndef C_BG_S_POLY_INFO_H #define C_BG_S_POLY_INFO_H -#include "dolphin/types.h" +#include #include "f_pc/f_pc_manager.h" class cBgS_PolyInfo { diff --git a/include/SSystem/SComponent/c_bg_w.h b/include/SSystem/SComponent/c_bg_w.h index 44a271052b..85233888a6 100644 --- a/include/SSystem/SComponent/c_bg_w.h +++ b/include/SSystem/SComponent/c_bg_w.h @@ -1,7 +1,7 @@ #ifndef C_BG_W_H #define C_BG_W_H -#include "dolphin/types.h" +#include class cBgW_BgId { private: diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 413664746b..2393e9c13d 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -221,7 +221,7 @@ public: u32 MskRPrm(u32 mask) const { return mRPrm & mask; } void OnSPrmBit(u32 flag) { mSPrm |= flag; } void OffSPrmBit(u32 flag) { mSPrm &= ~flag; } - u32 ChkSPrm(u32 prm) const { return MskSPrm(prm); } + u32 ChkSPrm(u32 prm) const { return MskSPrm(prm) != 0; } void Set(cCcD_SrcObjCommonBase const& src) { mSPrm = src.mSPrm; } }; diff --git a/include/SSystem/SComponent/c_counter.h b/include/SSystem/SComponent/c_counter.h index 975824eb9e..124d623fd0 100644 --- a/include/SSystem/SComponent/c_counter.h +++ b/include/SSystem/SComponent/c_counter.h @@ -1,7 +1,7 @@ #ifndef C_COUNTER_H #define C_COUNTER_H -#include "dolphin/types.h" +#include struct counter_class { u32 mCounter0; diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index 4a29fb58b3..ac3d153a3d 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -2,7 +2,7 @@ #define C_LIB_H_ #include "SSystem/SComponent/c_xyz.h" -#include "dolphin/mtx.h" +#include #include "SSystem/SComponent/c_math.h" inline bool cLib_IsZero(f32 value) { diff --git a/include/SSystem/SComponent/c_m3d.h b/include/SSystem/SComponent/c_m3d.h index 1db37b44a8..12303b9a65 100644 --- a/include/SSystem/SComponent/c_m3d.h +++ b/include/SSystem/SComponent/c_m3d.h @@ -2,7 +2,7 @@ #define C_M3D_H_ #include -#include "dolphin/mtx.h" +#include class cM3dGAab; class cM3dGCps; diff --git a/include/SSystem/SComponent/c_m3d_g_cir.h b/include/SSystem/SComponent/c_m3d_g_cir.h index e82f19b0de..8ad96fa2a6 100644 --- a/include/SSystem/SComponent/c_m3d_g_cir.h +++ b/include/SSystem/SComponent/c_m3d_g_cir.h @@ -1,7 +1,7 @@ #ifndef C_M3D_G_CIR_H #define C_M3D_G_CIR_H -#include "dolphin/types.h" +#include class cM2dGCir { public: diff --git a/include/SSystem/SComponent/c_malloc.h b/include/SSystem/SComponent/c_malloc.h index 9016215acf..bbcff9ae68 100644 --- a/include/SSystem/SComponent/c_malloc.h +++ b/include/SSystem/SComponent/c_malloc.h @@ -1,7 +1,7 @@ #ifndef C_MALLOC_H #define C_MALLOC_H -#include "dolphin/types.h" +#include class JKRHeap; diff --git a/include/SSystem/SComponent/c_phase.h b/include/SSystem/SComponent/c_phase.h index 2c2cd09e86..8b88d2f835 100644 --- a/include/SSystem/SComponent/c_phase.h +++ b/include/SSystem/SComponent/c_phase.h @@ -1,11 +1,13 @@ #ifndef C_PHASE_H #define C_PHASE_H -#include "dolphin/types.h" +#include typedef int (*cPhs__Handler)(void*); -enum cPhs__Step { +typedef int cPhs_Step; + +enum { /* 0x0 */ cPhs_INIT_e, /* 0x1 */ cPhs_LOADING_e, /* 0x2 */ cPhs_NEXT_e, diff --git a/include/SSystem/SComponent/c_request.h b/include/SSystem/SComponent/c_request.h index 8b1b377303..22bca520e8 100644 --- a/include/SSystem/SComponent/c_request.h +++ b/include/SSystem/SComponent/c_request.h @@ -1,7 +1,7 @@ #ifndef C_REQUEST_H #define C_REQUEST_H -#include "dolphin/types.h" +#include struct request_base_class { u8 flag0 : 1; diff --git a/include/SSystem/SComponent/c_sxyz.h b/include/SSystem/SComponent/c_sxyz.h index 8b835807f3..0a2a9df11d 100644 --- a/include/SSystem/SComponent/c_sxyz.h +++ b/include/SSystem/SComponent/c_sxyz.h @@ -1,7 +1,7 @@ #ifndef C_SXYZ_H #define C_SXYZ_H -#include "dolphin/mtx.h" +#include struct SVec { s16 x, y, z; diff --git a/include/SSystem/SComponent/c_tag.h b/include/SSystem/SComponent/c_tag.h index 4c536cd7c5..9e9b4a894e 100644 --- a/include/SSystem/SComponent/c_tag.h +++ b/include/SSystem/SComponent/c_tag.h @@ -2,7 +2,7 @@ #define C_TAG_H #include "SSystem/SComponent/c_node.h" -#include "dolphin/types.h" +#include typedef struct node_list_class node_list_class; typedef struct node_lists_tree_class node_lists_tree_class; diff --git a/include/SSystem/SComponent/c_xyz.h b/include/SSystem/SComponent/c_xyz.h index 8aec629bc6..fb4f980dcb 100644 --- a/include/SSystem/SComponent/c_xyz.h +++ b/include/SSystem/SComponent/c_xyz.h @@ -1,7 +1,7 @@ #ifndef C_XYZ_H #define C_XYZ_H -#include "dolphin/mtx.h" +#include #include #ifdef _MSVC_LANG diff --git a/include/SSystem/SStandard/s_basic.h b/include/SSystem/SStandard/s_basic.h index 3fea9ad699..d173a0bc77 100644 --- a/include/SSystem/SStandard/s_basic.h +++ b/include/SSystem/SStandard/s_basic.h @@ -1,7 +1,7 @@ #ifndef S_BASIC_H #define S_BASIC_H -#include "dolphin/types.h" +#include void sBs_FillArea_s(void* pPtr, u32 pNumBytes, s16 pValue); void sBs_ClearArea(void* pPtr, u32 pNumBytes); diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h index 19a35ab676..64312808a0 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h @@ -1,7 +1,7 @@ #ifndef METROTRK_PORTABLE_DISPATCH_H #define METROTRK_PORTABLE_DISPATCH_H -#include "dolphin/types.h" +#include #ifdef __cplusplus extern "C" { diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h index 135e1275b1..924fb5ee29 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h @@ -1,7 +1,7 @@ #ifndef METROTRK_PORTABLE_MEM_TRK_H #define METROTRK_PORTABLE_MEM_TRK_H -#include "dolphin/types.h" +#include void* TRK_memset(void* dest, int val, size_t count); void* TRK_memcpy(void* dest, const void* src, size_t count); diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h index c2a697ce45..debc035386 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h @@ -1,7 +1,7 @@ #ifndef METROTRK_PORTABLE_MSG_H #define METROTRK_PORTABLE_MSG_H -#include "dolphin/types.h" +#include typedef struct _TRK_Msg { u8 _00[8]; diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h index d491ced086..fe34214e6e 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h @@ -1,7 +1,7 @@ #ifndef METROTRK_PORTABLE_MUTEX_TRK_H #define METROTRK_PORTABLE_MUTEX_TRK_H -#include "revolution/types.h" +#include u8 TRKReleaseMutex(); u8 TRKAcquireMutex(); diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.h index 8ac33304df..1c64630181 100644 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.h +++ b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.h @@ -1,7 +1,7 @@ #ifndef OS_DOLPHIN_UDP_STUBS_H #define OS_DOLPHIN_UDP_STUBS_H -#include "dolphin/os.h" +#include #ifdef __cplusplus extern "C" { diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h index 24f44107b0..f205a32590 100644 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h +++ b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h @@ -1,7 +1,7 @@ #ifndef OS_DOLPHIN_DOLPHIN_TRK_GLUE_H #define OS_DOLPHIN_DOLPHIN_TRK_GLUE_H -#include "dolphin/os.h" +#include #include "trk.h" #ifdef __cplusplus diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h index c77c54b2b3..473eca26f5 100644 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h +++ b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h @@ -1,7 +1,7 @@ #ifndef OS_DOLPHIN_TARGET_OPTIONS_H #define OS_DOLPHIN_TARGET_OPTIONS_H -#include "dolphin/types.h" +#include #ifdef __cplusplus extern "C" { diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h index 87091d4b2b..7bccc876ee 100644 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h +++ b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h @@ -1,6 +1,6 @@ #ifndef OS_DOLPHIN_USR_PUT_H #define OS_DOLPHIN_USR_PUT_H -#include "dolphin/types.h" +#include #endif /* OS_DOLPHIN_USR_PUT_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.h b/include/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.h index bf0e9b9287..3fc0ee3cb8 100644 --- a/include/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.h +++ b/include/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.h @@ -1,7 +1,7 @@ #ifndef PPC_EXPORT_TARGSUPP_H #define PPC_EXPORT_TARGSUPP_H -#include "dolphin/types.h" +#include #ifdef __cplusplus extern "C" { diff --git a/include/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h b/include/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h index 4bea021090..5bb30fbde1 100644 --- a/include/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h +++ b/include/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h @@ -1,7 +1,7 @@ #ifndef UTILS_COMMON_CIRCLEBUFFER_H #define UTILS_COMMON_CIRCLEBUFFER_H -#include "dolphin/types.h" +#include #ifdef __cplusplus extern "C" { diff --git a/include/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h b/include/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h index 35f9bb2fd0..7c38df3192 100644 --- a/include/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h +++ b/include/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h @@ -1,7 +1,7 @@ #ifndef UTILS_COMMON_MWTRACE_H #define UTILS_COMMON_MWTRACE_H -#include "dolphin/types.h" +#include void MWTRACE(u8, char*, ...); diff --git a/include/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h b/include/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h index f5fcf67f0c..bf2586b403 100644 --- a/include/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h +++ b/include/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h @@ -1,7 +1,7 @@ #ifndef UTILS_GC_MWCRITICALSECTION_GC_H #define UTILS_GC_MWCRITICALSECTION_GC_H -#include "dolphin/types.h" +#include #ifdef __cplusplus extern "C" { diff --git a/include/Z2AudioLib/Z2AudioCS.h b/include/Z2AudioLib/Z2AudioCS.h index 226e77867b..75584e9fdc 100644 --- a/include/Z2AudioLib/Z2AudioCS.h +++ b/include/Z2AudioLib/Z2AudioCS.h @@ -1,7 +1,7 @@ #ifndef Z2AUDIOCS_H #define Z2AUDIOCS_H -#include "dolphin/types.h" +#include class JKRHeap; class JKRArchive; diff --git a/include/Z2AudioLib/Z2AudioMgr.h b/include/Z2AudioLib/Z2AudioMgr.h index 7f47400af2..e543bf6061 100644 --- a/include/Z2AudioLib/Z2AudioMgr.h +++ b/include/Z2AudioLib/Z2AudioMgr.h @@ -4,14 +4,14 @@ #include "JSystem/JAudio2/JASAudioReseter.h" #include "Z2AudioLib/Z2Audience.h" #include "Z2AudioLib/Z2FxLineMgr.h" -#include "Z2AudioLib/Z2SceneMgr.h" #include "Z2AudioLib/Z2SeMgr.h" #include "Z2AudioLib/Z2SeqMgr.h" +#include "Z2AudioLib/Z2SceneMgr.h" +#include "Z2AudioLib/Z2StatusMgr.h" #include "Z2AudioLib/Z2SoundInfo.h" #include "Z2AudioLib/Z2SoundMgr.h" #include "Z2AudioLib/Z2SoundObjMgr.h" #include "Z2AudioLib/Z2SpeechMgr2.h" -#include "Z2AudioLib/Z2StatusMgr.h" #include "Z2AudioLib/Z2DebugSys.h" #include "global.h" diff --git a/include/Z2AudioLib/Z2Calc.h b/include/Z2AudioLib/Z2Calc.h index 883262ab40..db6e0561c8 100644 --- a/include/Z2AudioLib/Z2Calc.h +++ b/include/Z2AudioLib/Z2Calc.h @@ -1,7 +1,7 @@ #ifndef Z2CALC_H #define Z2CALC_H -#include "dolphin/types.h" +#include #include "m_Do/m_Do_lib.h" namespace Z2Calc { diff --git a/include/Z2AudioLib/Z2LinkMgr.h b/include/Z2AudioLib/Z2LinkMgr.h index 0510738e61..7432a2bc82 100644 --- a/include/Z2AudioLib/Z2LinkMgr.h +++ b/include/Z2AudioLib/Z2LinkMgr.h @@ -58,6 +58,7 @@ public: void setMarkState(u8 state) { mMarkState = state; } static Z2CreatureLink* mLinkPtr; + static Z2CreatureLink* getLink() { return mLinkPtr; } friend class Z2LinkSoundStarter; friend class Z2RideSoundStarter; @@ -96,7 +97,7 @@ private: }; // Size: 0xD0 inline Z2CreatureLink* Z2GetLink() { - return Z2CreatureLink::mLinkPtr; + return Z2CreatureLink::getLink(); } class Z2CreatureRide; diff --git a/include/Z2AudioLib/Z2Param.h b/include/Z2AudioLib/Z2Param.h index aceb09ce97..c0d2bf53c7 100644 --- a/include/Z2AudioLib/Z2Param.h +++ b/include/Z2AudioLib/Z2Param.h @@ -1,7 +1,7 @@ #ifndef Z2PARAM_H #define Z2PARAM_H -#include "dolphin/types.h" +#include struct Z2Param { static f32 DISTANCE_MAX; diff --git a/include/Z2AudioLib/Z2SoundObjMgr.h b/include/Z2AudioLib/Z2SoundObjMgr.h index a353ff1bcc..c0b4ed778c 100644 --- a/include/Z2AudioLib/Z2SoundObjMgr.h +++ b/include/Z2AudioLib/Z2SoundObjMgr.h @@ -82,7 +82,7 @@ enum Z2EnemyID { /* 0x3F */ Z2_ENEMY_TN, }; -class Z2SoundObjMgr : public JASGlobalInstance, protected JSUList { +class Z2SoundObjMgr : public JASGlobalInstance { public: Z2SoundObjMgr(); void setForceBattleArea(bool forceBattle, u16, u16, u16); @@ -98,13 +98,14 @@ public: u8 getEnemyNumNear() const { return enemuNumNear_; } u8 getEnemyNumVeryFar() const { return enemuNumVeryFar_; } bool isForceBattle() { return forceBattle_; } - JSUList* getEnemyList() { return this; } + JSUList* getEnemyList() { return &field_0x0; } #if DEBUG JSUList* getAllList() { return &allList_; } #endif private: + /* 0x00 */ JSUList field_0x0; #if DEBUG /* 0x0C */ JSUList allList_; #endif diff --git a/include/d/actor/d_a_alink.h b/include/d/actor/d_a_alink.h index a4debb71d2..9e0dc7c712 100644 --- a/include/d/actor/d_a_alink.h +++ b/include/d/actor/d_a_alink.h @@ -13,7 +13,9 @@ #include "d/d_save.h" #include "f_op/f_op_actor_mng.h" #include "f_op/f_op_camera_mng.h" + #include "res/Object/AlAnm.h" +#include "res/Object/Always.h" class J2DAnmColorKey; class J2DAnmTransformKey; @@ -72,10 +74,14 @@ public: virtual void draw(); virtual ~daAlink_sight_c() {} - bool getLockFlg() { return mLockFlag; } + void update() { + mLockCursor.update(); + } + + u8 getLockFlg() { return mLockFlag; } void offLockFlg() { mLockFlag = false; } - /* 0x4C */ bool mLockFlag; + /* 0x4C */ u8 mLockFlag; /* 0x4D */ u8 field_0x4d[3]; /* 0x50 */ daAlink_lockCursor_c mLockCursor; }; @@ -150,7 +156,7 @@ public: void offSetFlg() { mSetFlag = FALSE; } virtual ~daAlink_matAnm_c() {} - virtual void calc(J3DMaterial*) const; + virtual void calc(J3DMaterial* i_material) const; static void decMorfFrame() { cLib_calcTimer(&m_morf_frame); } static void setMorfFrame(u8 i_frame) { m_morf_frame = i_frame; } @@ -168,11 +174,11 @@ public: static bool m_eye_move_flg; static u8 m_morf_frame; - /* 0x0F4 */ f32 field_0xf4; - /* 0x0F8 */ f32 field_0xf8; - /* 0x0FC */ f32 mNowOffsetX; - /* 0x100 */ f32 mNowOffsetY; - /* 0x104 */ int mSetFlag; + /* 0x0F4 */ mutable f32 field_0xf4; + /* 0x0F8 */ mutable f32 field_0xf8; + /* 0x0FC */ mutable f32 mNowOffsetX; + /* 0x100 */ mutable f32 mNowOffsetY; + /* 0x104 */ mutable int mSetFlag; }; // this class is mostly a complete guess @@ -192,21 +198,19 @@ struct daAlink_FaceTexData { }; struct daAlink_AnmData { - /* 0x0 */ daAlink_BckData field_0x0; - /* 0x4 */ u8 field_0x4; - /* 0x5 */ u8 field_0x5; + /* 0x0 */ daAlink_BckData m_bckData; + /* 0x4 */ u8 m_handIndexL; + /* 0x5 */ u8 m_handIndexR; /* 0x6 */ u16 m_faceTexID; /* 0x8 */ u16 m_faceBckID; /* 0xA */ u16 field_0xa; }; // Size: 0xC struct daAlink_WlAnmData { - /* 0x0 */ u16 field_0x0; - /* 0x2 */ u8 field_0x2; - /* 0x3 */ u8 field_0x3; - /* 0x4 */ u16 field_0x4; - /* 0x6 */ u8 field_0x6; - /* 0x7 */ u8 field_0x7; + /* 0x0 */ u16 m_bckID; + /* 0x2 */ u8 m_midnaAnm; + /* 0x3 */ u8 m_voiceIdx; + /* 0x4 */ s8 m_voiceFrames[4]; }; // Size: 0x8 class daAlinkHIO_data_c : public JORReflexible { @@ -3980,6 +3984,15 @@ public: size_t makeFileOutData(char*, char*); void listenPropertyEvent(const JORPropertyEvent*); + enum PropertyID_e { + PROPERTY_POS_DISP_e = 0x4000002, + PROPERTY_RESET_e = 0x4000003, + PROPERTY_SAVE_FILE_e = 0x4000004, + PROPERTY_LOAD_FILE_e = 0x4000005, + PROPERTY_JUMP_HDIST_DISP_e = 0x4000006, + PROPERTY_JUMP_VDIST_DISP_e = 0x4000007, + }; + /* 0x0008 */ daAlinkHIO_basic_c mBasic; /* 0x0094 */ daAlinkHIO_move_c mMove; /* 0x0120 */ daAlinkHIO_atnMove_c mAtnMove; @@ -4483,53 +4496,169 @@ public: }; enum daAlink_FTANM { - FTANM_UNK_0 = 0, - FTANM_UNK_1 = 1, - FTANM_UNK_3 = 3, - FTANM_UNK_4 = 4, - FTANM_UNK_5 = 5, - FTANM_UNK_8 = 8, - FTANM_UNK_9 = 9, - FTANM_UNK_13 = 0x13, - FTANM_UNK_14 = 0x14, - FTANM_UNK_20 = 0x20, - FTANM_UNK_21 = 0x21, - FTANM_UNK_22 = 0x22, - FTANM_UNK_23 = 0x23, - FTANM_UNK_27 = 0x27, - FTANM_UNK_2D = 0x2D, - FTANM_UNK_39 = 0x39, - FTANM_UNK_48 = 0x48, - FTANM_UNK_75 = 0x75, - FTANM_UNK_76 = 0x76, - FTANM_UNK_77 = 0x77, - FTANM_UNK_7A = 0x7A, - FTANM_UNK_7B = 0x7B, - FTANM_UNK_7C = 0x7C, - FTANM_UNK_8A = 0x8A, - FTANM_UNK_8B = 0x8B, - FTANM_UNK_8C = 0x8C, - FTANM_UNK_8D = 0x8D, - FTANM_UNK_8E = 0x8E, - FTANM_UNK_8F = 0x8F, - FTANM_UNK_90 = 0x90, - FTANM_UNK_91 = 0x91, - FTANM_UNK_92 = 0x92, - FTANM_UNK_93 = 0x93, - FTANM_UNK_95 = 0x95, - FTANM_UNK_96 = 0x96, - FTANM_UNK_97 = 0x97, - FTANM_UNK_98 = 0x98, - FTANM_UNK_99 = 0x99, - FTANM_UNK_9A = 0x9A, - FTANM_UNK_9B = 0x9B, - FTANM_UNK_9C = 0x9C, - FTANM_UNK_9D = 0x9D, - FTANM_UNK_9E = 0x9E, - FTANM_UNK_9F = 0x9F, - FTANM_UNK_A0 = 0xA0, - FTANM_UNK_A1 = 0xA1, - FTANM_UNK_A2 = 0xA2, + FTANM_0, + FTANM_MABA01, + FTANM_MABA02, + FTANM_MABA03, + FTANM_MABA01_L, + FTANM_MABA01_R, + FTANM_MABAGOMA, + FTANM_DAM01, + FTANM_FINISHA, + FTANM_ARELORD, + FTANM_ARELORDTAME, + FTANM_PUSHW, + FTANM_PULLW, + FTANM_WAITST, + FTANM_CUTST, + FTANM_A_WAITST, + FTANM_WAITHDB, + FTANM_WAITWATOWB, + FTANM_CUTUNG, + FTANM_CUTDL, + FTANM_CUTDR, + FTANM_SWIMINGA, + FTANM_SWIMP, + FTANM_SWIMDIVE, + FTANM_GRABP, + FTANM_GRABUP, + FTANM_HEAVYTHROW, + FTANM_GRABNG, + FTANM_SWAITA, + FTANM_PICKUP, + FTANM_DOOROPA, + FTANM_DOOROPB, + FTANM_CUTHLA, + FTANM_CUTHLB, + FTANM_CUTHRA, + FTANM_CUTHRB, + FTANM_CUTHTB, + FTANM_TURNBS, + FTANM_ROLLFGOOD, + FTANM_B_A, + FTANM_C_A, + FTANM_TURNBACK, + FTANM_DAMFFUP, + FTANM_DAMFBUP, + FTANM_DAMFRLUP, + FTANM_WAITATOS, + FTANM_CUTA, + FTANM_CUTL, + FTANM_CUTR, + FTANM_CUTF, + FTANM_CUTEA, + FTANM_CUTEB, + FTANM_CUTEG, + FTANM_CHANGEATOW, + FTANM_CHANGEWTOA, + FTANM_SWAITHA, + FTANM_SWIATHB, + FTANM_DASHWIND, + FTANM_CUTTB, + FTANM_CUTT, + FTANM_CUTJST, + FTANM_CUTJED, + FTANM_BINDRINKST, + FTANM_BINDRINK, + FTANM_BINDRINKED, + FTANM_BINBAD, + FTANM_BINOP, + FTANM_BINOUT, + FTANM_BINFAIRY, + FTANM_BINSWINGS, + FTANM_BINSWINGU, + FTANM_BINGET, + FTANM_I_BINGET, + FTANM_K_BINGET, + FTANM_GRASSAST, + FTANM_CATCHTAKA, + FTANM_E_A, + FTANM_BOXOPSHORT, + FTANM_BOXOPKICK, + FTANM_BOXOP, + FTANM_DIE, + FTANM_DIEH, + FTANM_SWIMDIEA, + FTANM_SWIMDIEP, + FTANM_ENTRANCE, + FTANM_COWCATCHST, + FTANM_COWTHROW_L, + FTANM_COWTHROW_R, + FTANM_DIEHUP, + FTANM_CUTRE, + FTANM_CUTU, + FTANM_CUTUED, + FTANM_CLIMBHANGMISS, + FTANM_DAMFBW, + FTANM_UNK_94, + FTANM_UNK_95, + FTANM_UNK_96, + FTANM_UNK_97, + FTANM_UNK_98, + FTANM_UNK_99, + FTANM_UNK_100, + FTANM_UNK_101, + FTANM_UNK_102, + FTANM_UNK_103, + FTANM_UNK_104, + FTANM_UNK_105, + FTANM_UNK_106, + FTANM_UNK_107, + FTANM_UNK_108, + FTANM_SPILLH, + FTANM_HANGH, + FTANM_RODSWING, + FTANM_RODSWINGL, + FTANM_GETSWL, + FTANM_TURNLS, + FTANM_TURNRS, + FTANM_KEYCATCHH, + FTANM_DEMOTALKA, + FTANM_DEMOTALKB, + FTANM_DEMOTALKC, + FTANM_CANORELEASE, + FTANM_WAITINSECT, + FTANM_I_A, + FTANM_J_A, + FTANM_K_A, + FTANM_ATDEFNG, + FTANM_DEMOMHOP, + FTANM_CUTEHST, + FTANM_CUTEH, + FTANM_CUTTJP, + FTANM_CUTTJST, + FTANM_CUTTJ, + FTANM_CUTTJED, + FTANM_UNK_133, + FTANM_UNK_134, + FTANM_UNK_135, + FTANM_ODOROKU, + FTANM_ASHIMOTO, + FTANM_UNAZUKU, + FTANM_WL_MABA01, + FTANM_WL_MABA02, + FTANM_WL_SWAITA, + FTANM_WL_SWIMP, + FTANM_WL_SWAITB, + FTANM_WL_DAM, + FTANM_WL_B_A, + FTANM_WL_DAMFFBUP, + FTANM_WL_DAMFLRUP, + FTANM_WL_WAITST, + FTANM_WL_LANDDAMA, + FTANM_WL_LANDDAMAST, + FTANM_WL_ATTACKUNG, + FTANM_WL_DASHWIND, + FTANM_WL_THROUGH, + FTANM_WL_ATTACKREST, + FTANM_WL_ATTACKREED, + FTANM_WL_DIE, + FTANM_WL_SWIMDIEA, + FTANM_WL_SWIMDIEP, + FTANM_WL_MDSHOCK, + FTANM_WL_ENTRANCE, + FTANM_WL_HOWLC, + FTANM_WL_C_A, }; enum daAlink_WARP_MAT_MODE { @@ -4685,6 +4814,7 @@ public: /* 0x90 */ WANM_PIG_GANON_THROW_LEFT_END, /* 0x91 */ WANM_PIG_GANON_THROW_RIGHT_START, /* 0x92 */ WANM_PIG_GANON_THROW_RIGHT_END, + WANM_MAX, }; enum MODE_FLG { @@ -5072,6 +5202,8 @@ public: /* 0x15D */ PROC_GLARE, /* 0x15E */ PROC_HORSE_CALL_WAIT, /* 0x15F */ PROC_QUAKE_WAIT, + + PROC_MAX, }; enum daAlink_ITEM_BTN { @@ -5104,6 +5236,14 @@ public: EFFPROC_SUMOU, EFFPROC_NONE, }; + + enum daAlink_RIDETYPE { + RIDETYPE_HORSE = 1, + RIDETYPE_BOAR, + RIDETYPE_CANOE, + RIDETYPE_BOARD, + RIDETYPE_SPINNER, + }; class firePointEff_c { public: @@ -5125,29 +5265,29 @@ public: static BOOL getE3Zhint(); static const char* getAlinkArcName(); - static bool checkStageName(char const*); - void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*); - void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*); - void setMatrixWorldAxisRot(f32 (*)[4], s16, s16, s16, int, cXyz const*); - int jointControll(int); + static bool checkStageName(char const* i_stageName); + void tgHitCallback(fopAc_ac_c* i_atActor, dCcD_GObjInf* i_tgObjInf, dCcD_GObjInf* i_atObjInf); + void coHitCallback(fopAc_ac_c* i_coHitActor, dCcD_GObjInf* i_coHitObj); + void setMatrixWorldAxisRot(MtxP i_mtx, s16 i_rotX, s16 i_rotY, s16 i_rotZ, BOOL, cXyz const*); + int jointControll(int i_jointNo); void setUpperFront(); - void changeBlendRate(int); + void changeBlendRate(int i_jointNo); void resetRootMtx(); - bool modelCallBack(int); - int headModelCallBack(int); - int wolfModelCallBack(int); + bool modelCallBack(int i_jointNo); + int headModelCallBack(int i_jointNo); + int wolfModelCallBack(int i_jointNo); void setHatAngle(); - void calcHairAngle(s16*); + void calcHairAngle(s16* o_angle); void setHairAngle(cXyz*, f32, f32); - void setLookPosFromOut(cXyz*); + void setLookPosFromOut(cXyz* i_pos); bool checkAttentionPosAngle(cXyz*); - bool checkActorPosAngle(fopAc_ac_c*, cXyz**); + bool checkActorPosAngle(fopAc_ac_c* i_actor, cXyz** o_ppos); cXyz* getNeckAimPos(cXyz*, int*, int); s16 getNeckAimAngle(cXyz*, s16*, s16*, s16*, s16*); void setEyeMove(cXyz*, s16, s16); void setNeckAngle(); - bool commonLineCheck(cXyz*, cXyz*); - static s16 getMoveBGActorName(cBgS_PolyInfo&, int); + bool commonLineCheck(cXyz* i_startPos, cXyz* i_endPos); + static s16 getMoveBGActorName(cBgS_PolyInfo& i_polyinf, BOOL i_forceCheck); fopAc_ac_c* checkGoronRide(); void setMoveSlantAngle(); int setArmMatrix(); @@ -5157,19 +5297,19 @@ public: void footBgCheck(); void handBgCheck(); JKRHeap* setItemHeap(); - void setIdxMask(u16*, u16*); - J3DAnmTransform* getAnimeResource(daPy_anmHeap_c*, u16, u32); - J3DModel* initModel(J3DModelData*, u32, u32); - J3DModel* initModel(u16, u32); - J3DModel* initModelEnv(u16, u32); - int initDemoModel(J3DModel**, char const*, u32); - static int initDemoBck(mDoExt_bckAnm**, char const*); + void setIdxMask(u16* o_arcNo, u16* o_resIdx); + J3DAnmTransform* getAnimeResource(daPy_anmHeap_c* i_anmHeap, u16 i_resIdx, u32 i_bufSize); + J3DModel* initModel(J3DModelData* i_modelData, u32 i_mdlFlags, u32 i_diffFlags); + J3DModel* initModel(u16 i_resIdx, u32 i_diffFlags); + J3DModel* initModelEnv(u16 i_resIdx, u32 i_diffFlags); + int initDemoModel(J3DModel** i_ppmodel, char const* i_resName, u32 i_diffFlags); + static int initDemoBck(mDoExt_bckAnm** i_ppbck, char const* i_resName); int createHeap(); - void setSelectEquipItem(int); + void setSelectEquipItem(BOOL); BOOL checkBoarStart(); BOOL checkCanoeStart(); void playerInit(); - BOOL checkHorseStart(u32, int); + BOOL checkHorseStart(u32 i_lastMode, int i_startMode); int setStartProcInit(); int create(); int setRoomInfo(); @@ -5186,7 +5326,7 @@ public: void setBodyPartPos(); void setAttentionPos(); void setMatrix(); - static int simpleAnmPlay(J3DAnmBase*); + static int simpleAnmPlay(J3DAnmBase* i_anm); void setSwordPos(); void setItemMatrix(int); void setWolfItemMatrix(); @@ -5204,60 +5344,67 @@ public: void setCollisionPos(); void setCollision(); void setFrameCtrl(daPy_frameCtrl_c* i_ctrl, u8 i_attr, s16 i_start, s16 i_end, - f32 i_rate, f32 i_frame); - const daAlink_BckData* getMainBckData(daAlink_c::daAlink_ANM) const; - BOOL checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM) const; - BOOL checkUnderMove1BckNoArc(daAlink_c::daAlink_ANM) const; - int getUnderUpperAnime(daAlink_c::daAlink_ANM, J3DAnmTransform**, - J3DAnmTransform**, int, u32); - void setDoubleAnimeBlendRatio(f32); - void commonDoubleAnime(J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, - J3DAnmTransform*, f32, f32, f32, int); - int setDoubleAnime(f32, f32, f32, daAlink_c::daAlink_ANM, daAlink_c::daAlink_ANM, - int, f32); - void commonSingleAnime(J3DAnmTransform*, J3DAnmTransform*, f32, f32, s16); - void setSingleAnimeBase(daAlink_c::daAlink_ANM anmID); - void setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM anmID, f32); - void setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM anmID, f32 speed, f32 morf); - int setSingleAnime(daAlink_c::daAlink_ANM anmID, f32 rate, f32 start, s16 endF, - f32 morf); - int setSingleAnimeParam(daAlink_c::daAlink_ANM anmID, daAlinkHIO_anm_c const*); - void animePlay(J3DAnmTransform*, daPy_frameCtrl_c*); + f32 i_rate, f32 i_frame); + const daAlink_BckData* getMainBckData(daAlink_c::daAlink_ANM i_anmID) const; + BOOL checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM i_anmID) const; + BOOL checkUnderMove1BckNoArc(daAlink_c::daAlink_ANM i_anmID) const; + int getUnderUpperAnime(daAlink_c::daAlink_ANM i_anmID, J3DAnmTransform** i_underBck, + J3DAnmTransform** i_upperBck, int i_anmPackID, u32 i_bufSize); + void setDoubleAnimeBlendRatio(f32 i_ratio); + void commonDoubleAnime(J3DAnmTransform* i_underBck1, J3DAnmTransform* i_upperBck1, + J3DAnmTransform* i_underBck2, J3DAnmTransform* i_upperBck2, + f32 i_blendRatio, f32 i_anmSpeed1, f32 i_anmSpeed2, int); + int setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB, + daAlink_c::daAlink_ANM i_anmA, daAlink_c::daAlink_ANM i_anmB, + int param_5, f32 i_morf); + void commonSingleAnime(J3DAnmTransform* i_underBck, J3DAnmTransform* i_upperBck, + f32 i_speed, f32 i_startF, s16 i_endF); + int setSingleAnimeBase(daAlink_c::daAlink_ANM i_anmID); + int setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM i_anmID, f32 i_morf); + int setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM i_anmID, f32 i_speed, f32 i_morf); + int setSingleAnime(daAlink_c::daAlink_ANM i_anmID, f32 i_speed, f32 i_startF, s16 i_endF, + f32 i_morf); + int setSingleAnimeParam(daAlink_c::daAlink_ANM i_anmID, const daAlinkHIO_anm_c* i_anmParams); + void animePlay(J3DAnmTransform* i_anm, daPy_frameCtrl_c* i_frameCtrl); void allAnimePlay(); - void setUpperAnimeMorf(f32); - void setUpperAnimeBase(u16); - void setUpperAnimeBaseMorf(u16, f32); - void setUpperAnimeBaseSpeed(u16, f32, f32); - int setUpperAnime(u16, daAlink_c::daAlink_UPPER, f32, f32, s16, f32); - void setUpperAnimeParam(u16, daAlink_c::daAlink_UPPER, daAlinkHIO_anm_c const*); - int resetUpperAnime(daAlink_c::daAlink_UPPER, f32); - void setUnderAnimeMorf(f32); - int setUnderAnime(u16, daAlink_c::daAlink_UNDER, f32, f32, s16, f32); - int setUnderAnimeParam(u16, daAlink_c::daAlink_UNDER, daAlinkHIO_anm_c const*); - int resetUnderAnime(daAlink_c::daAlink_UNDER, f32); + void setUpperAnimeMorf(f32 i_morf); + void setUpperAnimeBase(u16 i_anmResIdx); + void setUpperAnimeBaseMorf(u16 i_anmResIdx, f32 i_morf); + void setUpperAnimeBaseSpeed(u16 i_anmResIdx, f32 i_speed, f32 i_morf); + int setUpperAnime(u16 i_anmResIdx, daAlink_c::daAlink_UPPER i_upperIdx, f32 i_speed, + f32 i_startFrame, s16 i_endFrame, f32 i_morf); + void setUpperAnimeParam(u16 i_anmResIdx, daAlink_c::daAlink_UPPER i_upperIdx, + const daAlinkHIO_anm_c* i_anmParam); + int resetUpperAnime(daAlink_c::daAlink_UPPER i_upperIdx, f32 i_morf); + void setUnderAnimeMorf(f32 i_morf); + int setUnderAnime(u16 i_resIdx, daAlink_c::daAlink_UNDER i_underIdx, f32 i_speed, + f32 i_startF, s16 i_endF, f32 i_morf); + int setUnderAnimeParam(u16 i_resIdx, daAlink_c::daAlink_UNDER i_underIdx, + const daAlinkHIO_anm_c* i_anmParam); + int resetUnderAnime(daAlink_c::daAlink_UNDER i_underIdx, f32 i_morf); void setOldRootQuaternion(s16, s16, s16); BOOL checkAtnLeftAnime(); BOOL checkAtnRightAnime(); f32 getMoveGroundAngleSpeedRate(); - void setBlendMoveAnime(f32); - void setBlendAtnMoveAnime(f32); - void setBlendAtnBackMoveAnime(f32); - void setFaceBck(u16, int, u16); - void setFaceBtp(u16, int, u16); - void setFaceBtk(u16, int, u16); - daAlink_FTANM setFaceBasicTexture(daAlink_c::daAlink_FTANM); - void setFaceBasicAnime(daAlink_c::daAlink_ANM); - void setFacePriTexture(daAlink_c::daAlink_FTANM); - void setFacePriAnime(daAlink_c::daAlink_ANM); + void setBlendMoveAnime(f32 i_morf); + void setBlendAtnMoveAnime(f32 i_morf); + void setBlendAtnBackMoveAnime(f32 i_morf); + void setFaceBck(u16 i_resIdx, BOOL i_isPriIdx, u16 i_arcNo); + void setFaceBtp(u16 i_resIdx, BOOL i_isPriIdx, u16 i_arcNo); + void setFaceBtk(u16 i_resIdx, BOOL i_isPriIdx, u16 i_arcNo); + daAlink_FTANM setFaceBasicTexture(daAlink_c::daAlink_FTANM i_ftanm); + void setFaceBasicAnime(daAlink_c::daAlink_ANM i_anm); + void setFacePriTexture(daAlink_c::daAlink_FTANM i_ftanm); + void setFacePriAnime(daAlink_c::daAlink_ANM i_anm); void resetFacePriBck(); void resetFacePriBtp(); void resetFacePriBtk(); void resetFacePriTexture(); void resetFacePriAnime(); void playFaceTextureAnime(); - s16 getGroundAngle(cBgS_PolyInfo*, s16); - s16 getRoofAngle(cBgS_PolyInfo*, s16); - BOOL getWallEdgePos(cXyz const&, cM3dGPla*, cM3dGPla*, cXyz*, int); + s16 getGroundAngle(cBgS_PolyInfo* i_polyinfo, s16 i_angle); + s16 getRoofAngle(cBgS_PolyInfo* i_polyinfo, s16 i_angle); + BOOL getWallEdgePos(cXyz const&, cM3dGPla*, cM3dGPla*, cXyz* o_outVec, int); void setFrontWallType(); BOOL checkWaterPolygonUnder(); void setWaterY(); @@ -5267,41 +5414,41 @@ public: BOOL checkNotJumpSinkLimit(); BOOL checkNotItemSinkLimit(); void setSandShapeOffset(); - bool checkLv2MiddleBossBgRide(s16); - bool getSlidePolygon(cM3dGPla*); + bool checkLv2MiddleBossBgRide(s16 i_procName); + bool getSlidePolygon(cM3dGPla* o_tripla); BOOL checkSlope() const; - BOOL itemTriggerCheck(u8); - BOOL itemButtonCheck(u8); + BOOL itemTriggerCheck(u8 i_btnFlag); + BOOL itemButtonCheck(u8 i_btnFlag); BOOL itemButton(); BOOL itemTrigger(); BOOL spActionButton(); BOOL spActionTrigger(); BOOL midnaTalkTrigger() const; BOOL swordSwingTrigger(); - void setItemActionButtonStatus(u8); + void setItemActionButtonStatus(u8 i_status); BOOL itemActionTrigger(); void setStickData(); void setAtnList(); - void setRStatus(u8); - void setRStatusEmphasys(u8); - void setDoStatus(u8); - void setDoStatusEmphasys(u8); - void setDoStatusContinuation(u8); - void setBStatus(u8); + void setRStatus(u8 i_status); + void setRStatusEmphasys(u8 i_status); + void setDoStatus(u8 i_status); + void setDoStatusEmphasys(u8 i_status); + void setDoStatusContinuation(u8 i_status); + void setBStatus(u8 i_status); BOOL checkAtnWaitAnime(); - void setTiredVoice(daPy_frameCtrl_c*); + void setTiredVoice(daPy_frameCtrl_c* i_frameCtrl); BOOL checkRestHPAnime(); - static int getDirectionFromAngle(s16 angle); + static int getDirectionFromAngle(s16 i_angle); bool checkAttentionState(); s16 getShapeAngleYAtnActor(); bool setShapeAngleToAtnActor(int); void initServiceWaitTime(); bool checkZeroSpeedF() const; - void setNormalSpeedF(f32, f32); + void setNormalSpeedF(f32 i_speed, f32 i_deceleration); f32 getStickAngleDistanceRate(); void setSpeedAndAngleNormal(); void setSpeedAndAngleAtn(); - int checkRequestTalkActor(dAttList_c*, fopAc_ac_c*); + int checkRequestTalkActor(dAttList_c* i_attList, fopAc_ac_c* i_actor); bool checkServiceWaitMode(); void setJumpMode(); f32 getMetamorphoseNearDis() const; @@ -5362,36 +5509,36 @@ public: void setItemAction(); BOOL checkNextActionFromCrouch(int); int checkUpperReadyThrowAnime() const; - void getBodyAngleXBasePos(cXyz*); + void getBodyAngleXBasePos(cXyz* o_pos); s16 getBodyAngleXAtnActor(int); void setBodyAngleXReadyAnime(int); - void setMagicArmorBrk(int); + void setMagicArmorBrk(int i_status); BOOL checkMagicArmorHeavy() const; - BOOL checkHeavyStateOn(int, int); + BOOL checkHeavyStateOn(BOOL, BOOL); void initGravity(); - void setSpecialGravity(f32, f32, int); + void setSpecialGravity(f32 i_gravity, f32 i_speed, BOOL i_isOffFlag); void transAnimeProc(cXyz*, f32, f32); void setFootSpeed(); void posMove(); void autoGroundHit(); bool startPeepChange(); - void setLastSceneDamage(int, u32*); + void setLastSceneDamage(int i_dmgAmount, u32* o_mode); void setLastSceneMode(u32*); - int startRestartRoom(u32, int, int, int); + int startRestartRoom(u32 i_mode, int param_1, int i_dmgAmount, BOOL i_isEventRun); BOOL checkCoachGuardGame(); void checkRoofRestart(); BOOL checkRestartRoom(); s16 getSceneExitMoveAngle(); int checkSceneChange(int i_exitID); - void voiceStartLevel(u32); - void seStartSwordCut(u32); - void seStartMapInfo(u32); - void seStartMapInfoLevel(u32); - void setBasAnime(daAlink_c::daAlink_UNDER); + void voiceStartLevel(u32 i_soundID); + void seStartSwordCut(u32 i_soundID); + void seStartMapInfo(u32 i_soundID); + void seStartMapInfoLevel(u32 i_soundID); + void setBasAnime(daAlink_c::daAlink_UNDER i_underIdx); void initBasAnime(); void resetBasAnime(); - BOOL checkSightLine(f32, cXyz*); - void setMetamorphoseModel(int); + BOOL checkSightLine(f32 i_maxDist, cXyz* o_sightPos); + void setMetamorphoseModel(BOOL i_isChangeToWolf); void keepItemData(); void returnKeepItemData(); BOOL setItemModel(); @@ -5399,15 +5546,15 @@ public: void makeItemType(); BOOL checkZoraWearAbility() const; BOOL checkMagicArmorWearAbility() const; - J3DModelData* loadAramBmd(u16, u32); - void* loadAram(u16, u32); - J3DAnmTevRegKey* loadAramItemBrk(u16, J3DModel*); - J3DAnmTextureSRTKey* loadAramItemBtk(u16, J3DModel*); - J3DAnmTexPattern* loadAramItemBtp(u16, J3DModel*); - void changeItemBck(u16, f32); - int checkGroupItem(int, int) const; - int checkSetItemTrigger(int); - int checkItemSetButton(int); + J3DModelData* loadAramBmd(u16 i_resIdx, u32 i_bufSize); + void* loadAram(u16 i_resIdx, u32 i_bufSize); + J3DAnmTevRegKey* loadAramItemBrk(u16 i_resIdx, J3DModel* i_model); + J3DAnmTextureSRTKey* loadAramItemBtk(u16 i_resIdx, J3DModel* i_model); + J3DAnmTexPattern* loadAramItemBtp(u16 i_resIdx, J3DModel* i_model); + void changeItemBck(u16 i_resIdx, f32); + BOOL checkGroupItem(int i_itemNo, int i_selItem) const; + int checkSetItemTrigger(int i_itemNo); + int checkItemSetButton(int i_itemNo); static bool checkField(); static bool checkBossRoom(); static bool checkDungeon(); @@ -5420,16 +5567,16 @@ public: static bool checkNotBattleStage(); static bool checkNotHeavyBootsStage(); static bool checkNotAutoJumpStage(); - static bool checkCastleTownUseItem(u16); - int changeItemTriggerKeepProc(u8, int); - int checkNewItemChange(u8); - void deleteEquipItem(int playSound, int deleteKantera); + static bool checkCastleTownUseItem(u16 i_itemNo); + int changeItemTriggerKeepProc(u8 i_selItemIdx, int i_procType); + int checkNewItemChange(u8 i_selItemIdx); + void deleteEquipItem(BOOL i_isPlaySound, BOOL i_isDeleteKantera); void setLight(); void setFrontRollCrashShock(u8); - void changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE); - void commonProcInit(daAlink_c::daAlink_PROC procID); - BOOL commonProcInitNotSameProc(daAlink_PROC procID); - int procPreActionUnequipInit(int, fopAc_ac_c*); + void changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE i_matMode); + void commonProcInit(daAlink_c::daAlink_PROC i_procID); + BOOL commonProcInitNotSameProc(daAlink_PROC i_procID); + int procPreActionUnequipInit(int i_procAfter, fopAc_ac_c*); int procPreActionUnequip(); int procServiceWaitInit(); int procServiceWait(); @@ -5449,7 +5596,7 @@ public: int procWaitTurn(); int procMoveTurnInit(int); int procMoveTurn(); - int procSideStepInit(int); + int procSideStepInit(int i_jumpDirection); int procSideStep(); int procSideStepLandInit(); int procSideStepLand(); @@ -5478,7 +5625,7 @@ public: int procDiveJump(); int procRollJumpInit(); int procRollJump(); - int procFallInit(int, f32); + int procFallInit(int, f32 i_morf); int procFall(); int procLandInit(f32); int procLand(); @@ -5494,7 +5641,7 @@ public: int procCoMetamorphoseOnly(); int procFloorDownReboundInit(); int procFloorDownRebound(); - int procGoronRideWaitInit(fopAc_ac_c*); + int procGoronRideWaitInit(fopAc_ac_c* i_goronActor); int procGoronRideWait(); int execute(); void setDrawHand(); @@ -5504,8 +5651,8 @@ public: int initShadowScaleLight(); int moveShadowScaleLight(); void shadowDraw(); - void modelCalc(J3DModel*); - void basicModelDraw(J3DModel*); + void modelCalc(J3DModel* i_model); + void basicModelDraw(J3DModel* i_model); void modelDraw(J3DModel*, int); void setWaterDropColor(J3DGXColorS10 const*); void initTevCustomColor(); @@ -5514,12 +5661,12 @@ public: bool checkNoSubjectModeCamera(); bool acceptSubjectModeChange(); int checkSubjectAction(); - s16 checkBodyAngleX(s16); + s16 checkBodyAngleX(s16 i_angle); BOOL setBodyAngleToCamera(); void setSubjectMode(); BOOL subjectCancelTrigger(); - int checkSubjectEnd(int); - void searchPeepObj(fopAc_ac_c*, void*); + BOOL checkSubjectEnd(BOOL i_isPlaySe); + void searchPeepObj(fopAc_ac_c* i_actor, void* i_data); int procCoSubjectivityInit(); int procCoSubjectivity(); int procCoSwimSubjectivityInit(); @@ -5549,23 +5696,24 @@ public: BOOL checkCutTypeNoBlur() const; bool checkCutTurnInput() const; int getCutTurnDirection() const; - void resetCombo(int); + void resetCombo(int i_resetRunCut); void checkComboCnt(); - void setCutType(u8); - void setCylAtParam(u32, dCcG_At_Spl, u8, u8, int, f32, f32); + void setCutType(u8 i_type); + void setCylAtParam(u32 i_AtType, dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp, + f32 i_radius, f32 i_height); void setSwordAtParam(dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp, - f32 param_4, f32 i_radius); - static BOOL notSwordHitVibActor(fopAc_ac_c*); - BOOL setSwordHitVibration(dCcD_GObjInf*); - BOOL checkAtShieldHit(dCcD_GObjInf&); - BOOL checkCutReverseAt(dCcD_GObjInf*); - BOOL changeCutReverseProc(daAlink_c::daAlink_ANM); + f32 param_4, f32 i_radius); + static BOOL notSwordHitVibActor(fopAc_ac_c* i_actor); + BOOL setSwordHitVibration(dCcD_GObjInf* i_gobj); + BOOL checkAtShieldHit(dCcD_GObjInf& i_gobj); + BOOL checkCutReverseAt(dCcD_GObjInf* i_gobj); + BOOL changeCutReverseProc(daAlink_c::daAlink_ANM i_anmID); void setCutDash(int, int); BOOL checkForceSwordSwing(); void setComboReserb(); BOOL checkComboReserb(); int commonCutAction(); - void setSwordVoiceSe(u32); + void setSwordVoiceSe(u32 i_seID); void setSwordChargeVoiceSe(); void setSwordComboVoice(); bool checkCutTurnInputTrigger(); @@ -5580,18 +5728,18 @@ public: void cancelCutCharge(); void initCutAtnActorSearch(); void checkCutAtnActorChange(); - void setCutJumpSpeed(int); - int procCutNormalInit(int); + void setCutJumpSpeed(BOOL i_isAirCut); + int procCutNormalInit(int i_type); int procCutNormal(); - int procCutFinishInit(int); + int procCutFinishInit(int i_type); int procCutFinish(); int procCutFinishJumpUpInit(); int procCutFinishJumpUp(); int procCutFinishJumpUpLandInit(); int procCutFinishJumpUpLand(); - int procCutReverseInit(daAlink_c::daAlink_ANM); + int procCutReverseInit(daAlink_c::daAlink_ANM i_anmID); int procCutReverse(); - int procCutJumpInit(int); + int procCutJumpInit(BOOL i_isAirCut); int procCutJump(); int procCutJumpLandInit(int); int procCutJumpLand(); @@ -5603,7 +5751,7 @@ public: int procCutTurnMove(); int procCutDownInit(); int procCutDown(); - int procCutDownLandInit(fopEn_enemy_c*); + int procCutDownLandInit(fopEn_enemy_c* i_enemy); int procCutDownLand(); int procCutHeadInit(); int procCutHead(); @@ -5625,33 +5773,33 @@ public: BOOL checkNoLandDamageSlidePolygon(); void checkCutLandDamage(); BOOL checkCaughtEscapeCutTurn(); - f32 damageMagnification(int i_checkZoraMag, int); - int setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgTimer, int); - void setDamagePointNormal(int); - void setLandDamagePoint(int); + f32 damageMagnification(BOOL i_checkZoraMag, int); + int setDamagePoint(int i_dmgAmount, BOOL i_checkZoraMag, BOOL i_setDmgTimer, int); + int setDamagePointNormal(int i_dmgAmount); + int setLandDamagePoint(int i_dmgAmount); cXyz* getDamageVec(dCcD_GObjInf*); void setDashDamage(); static BOOL checkIcePolygonDamage(cBgS_PolyInfo*); BOOL checkMagicArmorNoDamage(); int checkPolyDamage(); - BOOL checkElecReturnDamage(dCcD_GObjInf&, fopAc_ac_c**); + BOOL checkElecReturnDamage(dCcD_GObjInf& i_obj, fopAc_ac_c** o_hitActor); void damageTimerCount(); - bool checkHugeAttack(int) const; - bool checkLargeAttack(int) const; + bool checkHugeAttack(int i_atSpl) const; + bool checkLargeAttack(int i_atSpl) const; BOOL checkDamageAction(); - int procDamageInit(dCcD_GObjInf*, int); + int procDamageInit(dCcD_GObjInf* i_tgObj, int); int procDamage(); - int procCoLargeDamageInit(int, int, s16, s16, dCcD_GObjInf*, int); + int procCoLargeDamageInit(int i_type, BOOL i_isLargeDmg, s16, s16, dCcD_GObjInf* i_hitObj, int); int procCoLargeDamage(); - int procLargeDamageUpInit(int, int, s16, s16); + int procLargeDamageUpInit(int i_type, BOOL i_isLargeDmg, s16, s16); int procLargeDamageUp(); - int procCoLargeDamageWallInit(int, int, s16, s16); + int procCoLargeDamageWallInit(int i_type, BOOL i_isLargeDmg, s16, s16); int procCoLargeDamageWall(); int procCoPolyDamageInit(); int procCoPolyDamage(); int procLandDamageInit(int); int procLandDamage(); - int procCoElecDamageInit(fopAc_ac_c*, dCcD_GObjInf*, int); + int procCoElecDamageInit(fopAc_ac_c* i_tgHitActor, dCcD_GObjInf* i_tgHitObj, int i_atSpl); int procCoElecDamage(); int procStEscapeInit(); int procStEscape(); @@ -5662,7 +5810,7 @@ public: int procScreamWait(); int procCoSandWallHitInit(); int procCoSandWallHit(); - int procCoLavaReturnInit(int); + int procCoLavaReturnInit(BOOL i_isSandReturn); int procCoLavaReturn(); int procCoSwimFreezeReturnInit(); int procCoSwimFreezeReturn(); @@ -5680,9 +5828,9 @@ public: BOOL checkGuardAccept(); void setUpperGuardAnime(f32); void setShieldGuard(); - void setGuardSe(dCcD_GObjInf*); - void setSmallGuard(dCcD_GObjInf*); - int procGuardSlipInit(int, dCcD_GObjInf*); + void setGuardSe(dCcD_GObjInf* i_objinf); + void setSmallGuard(dCcD_GObjInf* i_objinf); + int procGuardSlipInit(int i_atSpl, dCcD_GObjInf* i_objinf); int procGuardSlip(); int procGuardAttackInit(); int procGuardAttack(); @@ -5690,14 +5838,14 @@ public: int procGuardBreak(); int procTurnMoveInit(int); int procTurnMove(); - void getArrowFlyData(f32*, f32*, int) const; + void getArrowFlyData(f32* o_distance, f32* o_speed, BOOL i_forceCharge) const; f32 getArrowIncAtR() const; s16 getBombArrowFlyExplodeTime() const; f32 getArrowIncAtMaxStart() const; f32 getArrowIncAtMax() const; - BOOL checkBowAndSlingItem(int); + BOOL checkBowAndSlingItem(int i_itemNo); void setSlingModel(); - cXyz* checkBowCameraArrowPosP(s16*, s16*); + cXyz* checkBowCameraArrowPosP(s16* o_angleX, s16* o_angleY); BOOL checkBowReadyAnime() const; BOOL checkBowAnime() const; void makeArrow(); @@ -5780,8 +5928,8 @@ public: int procCopyRodRevive(); void concatMagneBootMtx(); void concatMagneBootInvMtx(); - void multVecMagneBootInvMtx(cXyz*); - bool commonMagneLineCheck(cXyz*, cXyz*); + void multVecMagneBootInvMtx(cXyz* o_dst); + bool commonMagneLineCheck(cXyz* i_start, cXyz* i_end); BOOL checkBootsMoveAnime(int); int setHeavyBoots(int); s16 getMagneBootsLocalAngleY(s16, int); @@ -5825,9 +5973,9 @@ public: void initGrabNextMode(); void setGrabItemThrow(); BOOL checkUpperGrabItemThrow(f32); - void putObjLineCheck(dBgS_LinChk&, cXyz*, fopAc_ac_c*); - bool grabLineCheck(cXyz*, cXyz*); - void setGrabItemActor(fopAc_ac_c*); + void putObjLineCheck(dBgS_LinChk& i_linchk, cXyz* i_endpos, fopAc_ac_c* i_objActor); + bool grabLineCheck(cXyz* i_start, cXyz* i_end); + void setGrabItemActor(fopAc_ac_c* i_actor); int procGrabReadyInit(); int procGrabReady(); int procGrabUpInit(); @@ -5843,7 +5991,7 @@ public: int procGrabRebound(); int procGrabStandInit(); int procGrabStand(); - BOOL checkInsectActorName(fopAc_ac_c*); + BOOL checkInsectActorName(fopAc_ac_c* i_insectActor); int procInsectCatchInit(); int procInsectCatch(); int procPickUpInit(); @@ -5859,15 +6007,15 @@ public: int procFmChainUp(); int procFmChainStrongPullInit(); int procFmChainStrongPull(); - void setWallGrabStatus(u8, u8); + void setWallGrabStatus(u8 i_status, u8 i_flag); int getWallGrabStatus(); BOOL wallGrabTrigger(); BOOL wallGrabButton(); - int setPushPullKeepData(dBgW_Base::PushPullLabel, int); + int setPushPullKeepData(dBgW_Base::PushPullLabel i_label, BOOL); BOOL checkPushPullTurnBlock(); BOOL checkPullBehindWall(); void offGoatStopGame(); - BOOL checkGoatCatchActor(fopAc_ac_c*); + BOOL checkGoatCatchActor(fopAc_ac_c* i_actor); f32 getGoatCatchDistance2(); int endPushPull(); f32 getPushPullAnimeSpeed(); @@ -5877,10 +6025,10 @@ public: int procCoPushMove(); int procPullMoveInit(int); int procPullMove(); - void setGoatStopGameFail(fopAc_ac_c*); + void setGoatStopGameFail(fopAc_ac_c* i_actor); int procGoatMoveInit(); int procGoatMove(); - int procGoatCatchInit(fopAc_ac_c*, f32); + int procGoatCatchInit(fopAc_ac_c* i_actor, f32); int procGoatCatch(); int procGoatStrokeInit(); int procGoatStroke(); @@ -5896,7 +6044,7 @@ public: int procSumouMove(); int procSumouSideMoveInit(); int procSumouSideMove(); - int procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int unused); + int procSumouActionInit(BOOL i_isDoTrigger, BOOL i_isPunchTrigger, int unused); int procSumouAction(); int procSumouStaggerInit(); int procSumouStagger(); @@ -5921,9 +6069,9 @@ public: BOOL checkHorseLieAnime() const; BOOL checkHorseSubjectivity() const; void setHorseSwordUpAnime(); - void setHorseTurnUpperAnime(int); + void setHorseTurnUpperAnime(BOOL i_isTurnL); BOOL checkHorseNoUpperAnime() const; - void getHorseReinHandPos(cXyz*, cXyz*); + void getHorseReinHandPos(cXyz* o_handPosA, cXyz* o_handPosB); BOOL checkHorseNotGrab() const; void setHorseStirrup(); void changeBoarRunRide(); @@ -5932,7 +6080,7 @@ public: int setSyncBoarRunPos(); BOOL setSyncRidePos(); void setHorseTurnAnime(); - void getBaseHorseAnime(daAlink_c::daAlink_ANM*); + void getBaseHorseAnime(daAlink_c::daAlink_ANM* i_anmList); int checkHorseSpecialProc(); BOOL checkHorseServiceWaitAnime(); int setSyncHorse(int); @@ -5945,7 +6093,7 @@ public: void setHorseSwordUp(int); int setRideSubjectAngle(s16); void setBodyAngleRideReadyAnime(); - BOOL checkHorseGetOffWallCheck(cXyz*, cXyz*, s16); + BOOL checkHorseGetOffWallCheck(cXyz* i_lineStartPos, cXyz* i_lineEndPos, s16); int checkHorseGetOffDirection(); void boarForceGetOff(); void horseGetOffEnd(); @@ -5973,7 +6121,7 @@ public: int procHorseCutChargeReady(); int procHorseCutTurnInit(); int procHorseCutTurn(); - int procHorseDamageInit(dCcD_GObjInf*); + int procHorseDamageInit(dCcD_GObjInf* i_hitObj); int procHorseDamage(); int procHorseBowSubjectInit(); int procHorseBowSubject(); @@ -5989,7 +6137,7 @@ public: int procHorseHookshotSubject(); int procHorseHookshotMoveInit(); int procHorseHookshotMove(); - int procHorseBottleDrinkInit(u16); + int procHorseBottleDrinkInit(u16 i_itemNo); int procHorseBottleDrink(); int procHorseKandelaarPourInit(); int procHorseKandelaarPour(); @@ -5997,7 +6145,7 @@ public: int procHorseComeback(); int procHorseRunInit(); int procHorseRun(); - int procHorseHangInit(dCcD_GObjInf*, int); + int procHorseHangInit(dCcD_GObjInf* i_hitObj, BOOL i_isPlaySE); int procHorseHang(); int procHorseGetKeyInit(); int procHorseGetKey(); @@ -6015,21 +6163,21 @@ public: BOOL checkFishingRodAndLureItem() const; void initFishingRodHand(); MtxP getCanoePaddleMatrix(); - BOOL checkFishingRodGrab(fopAc_ac_c*) const; - BOOL checkCanoePaddleGrab(fopAc_ac_c*) const; + BOOL checkFishingRodGrab(fopAc_ac_c* i_actor) const; + BOOL checkCanoePaddleGrab(fopAc_ac_c* i_actor) const; BOOL checkCanoeFishingRodGrabOrPut() const; void initCanoeRide(); BOOL checkCanoeJumpRide(); void setArmReelAnime(); void setFishingWaitAction(); void setFishGetFace(); - void setRideCanoeBasePos(fopAc_ac_c*); + void setRideCanoeBasePos(fopAc_ac_c* i_canoeActor); void setSyncCanoePos(); int canoeCommon(); int checkNextActionCanoe(); int procCanoeRideInit(); int procCanoeRide(); - int procCanoeJumpRideInit(fopAc_ac_c*); + int procCanoeJumpRideInit(fopAc_ac_c* i_canoeActor); int procCanoeJumpRide(); int procCanoeGetOffInit(); int procCanoeGetOff(); @@ -6067,7 +6215,7 @@ public: int procCanoeHookshotSubject(); int procCanoeHookshotMoveInit(); int procCanoeHookshotMove(); - int procCanoeBottleDrinkInit(u16); + int procCanoeBottleDrinkInit(u16 i_itemNo); int procCanoeBottleDrink(); int procCanoeKandelaarPourInit(); int procCanoeKandelaarPour(); @@ -6089,20 +6237,20 @@ public: BOOL checkCrawlInHoll(cXyz*, cXyz*, cXyz*, int); void setCrawlMoveHoll(); void setCrawlMoveAngle(); - void stopHalfMoveAnime(f32); + void stopHalfMoveAnime(f32 i_frame); void setCrawlAutoMoveAimPos(); int procCrawlStartInit(); int procCrawlStart(); - int procCrawlMoveInit(s16, s16); + int procCrawlMoveInit(s16 i_angleX, s16 i_angleZ); int procCrawlMove(); int procCrawlAutoMoveInit(int, cXyz*); int procCrawlAutoMove(); - int procCrawlEndInit(int, s16, s16); + int procCrawlEndInit(int, s16 i_angleX, s16 i_angleZ); int procCrawlEnd(); f32 getHangMoveAnmSpeed(); int getHangDirectionFromAngle(); BOOL hangMoveBgCheck(s16, cXyz*); - BOOL changeHangMoveProc(int); + BOOL changeHangMoveProc(int i_direction); bool checkHangFootWall(); void setHangGroundY(); int changeHangEndProc(); @@ -6128,7 +6276,7 @@ public: int setDragonHangPos(); int setOctaIealHangPos(); int setBossBodyHangPos(); - int procBossBodyHangInit(fopAc_ac_c*); + int procBossBodyHangInit(fopAc_ac_c* i_actor); int procBossBodyHang(); int getLadderUnitCount() const; int setLadderInit(); @@ -6150,18 +6298,18 @@ public: int procLadderMove(); f32 getClimbMoveUpDownAnmSpeed(); f32 getClimbMoveSideAnmSpeed(); - BOOL checkClimbCode(cBgS_PolyInfo&); + BOOL checkClimbCode(cBgS_PolyInfo& i_polyinfo); BOOL setClimbInit(); void setClimbShapeOffset(); int getClimbDirectionFromAngle(); void changeClimbMoveProc(int); - BOOL checkClimbMoveUpDownProc(int); - BOOL checkClimbMoveSideProc(int); + BOOL checkClimbMoveUpDownProc(int i_direction); + BOOL checkClimbMoveSideProc(int i_direction); int setMoveBGClimbCorrect(); - int checkBgCorrectClimbMove(cXyz*, cXyz*); + int checkBgCorrectClimbMove(cXyz* i_startPos, cXyz* i_endPos); BOOL checkClimbRoof(f32); int checkClimbGround(cXyz*, f32); - BOOL checkBgClimbMove(int); + BOOL checkBgClimbMove(int i_direction); int setClimbStartNotGround(); int procClimbUpStartInit(int); int procClimbUpStart(); @@ -6177,7 +6325,7 @@ public: int procClimbToRoof(); f32 getRoofHangFMoveAnmSpeed() const; f32 getRoofHangSMoveAnmSpeed() const; - void setRoofHangHandOnSE(cBgS_PolyInfo*); + void setRoofHangHandOnSE(cBgS_PolyInfo* unused); int checkRoofHangMovePos(); int commonRoofHangProc(); int checkNextActionRoofHang(); @@ -6192,10 +6340,10 @@ public: int procRoofHangTurnInit(); int procRoofHangTurn(); void setRoofHangSwitch(); - int procRoofSwitchHangInit(fopAc_ac_c*); + int procRoofSwitchHangInit(fopAc_ac_c* i_actor); int procRoofSwitchHang(); BOOL checkZoraWearMaskDraw(); - BOOL checkAcceptUseItemInWater(u16) const; + BOOL checkAcceptUseItemInWater(u16 i_itemNo) const; void swimDeleteItem(); bool getZoraSwim() const; f32 getSwimFrontMaxSpeed() const; @@ -6203,7 +6351,7 @@ public: void checkOxygenTimer(); void offOxygenTimer(); BOOL checkPossibleWaterInMode() const; - void setWaterInAnmRate(daPy_frameCtrl_c*, f32); + void setWaterInAnmRate(daPy_frameCtrl_c* i_frameCtrl, f32 i_rate); void swimBgCheck(f32); void setSpeedAndAngleSwim(); int checkNextActionSwim(); @@ -6231,29 +6379,29 @@ public: int procSwimHookshotSubject(); int procSwimHookshotMoveInit(); int procSwimHookshotMove(); - int procSwimDamageInit(dCcD_GObjInf*); + int procSwimDamageInit(dCcD_GObjInf* i_hitObj); int procSwimDamage(); int procOctaIealSpitInit(); int procOctaIealSpit(); bool checkSnowCode() const; - static bool checkSnowCodePolygon(cBgS_PolyInfo&); + static bool checkSnowCodePolygon(cBgS_PolyInfo& i_polyinfo); bool checkBoardRestart(); - int boardCommon(int); - void setCommonBoardAnime(int); + int boardCommon(BOOL i_canMove); + void setCommonBoardAnime(BOOL i_isRideFront); int checkNextActionBoard(); int checkBoardSwordTriggerAction(); - int commonProcBoardInit(daAlink_c::daAlink_PROC); + int commonProcBoardInit(daAlink_c::daAlink_PROC i_procID); f32 getBoardRowAnmSpeed(); void setBoardLandAnime(); int procBoardRideInit(); int procBoardRide(); - int procBoardWaitInit(fopAc_ac_c*); + int procBoardWaitInit(fopAc_ac_c* i_boardActor); int procBoardWait(); int procBoardRowInit(); int procBoardRow(); int procBoardTurnInit(); int procBoardTurn(); - int procBoardJumpInit(f32, int); + int procBoardJumpInit(f32 i_jumpSpeed, BOOL i_isNoSpeed); int procBoardJump(); int procBoardSubjectivityInit(); int procBoardSubjectivity(); @@ -6261,11 +6409,11 @@ public: int procBoardCut(); int procBoardCutTurnInit(); int procBoardCutTurn(); - void hookshotAtHitCallBack(dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); + void hookshotAtHitCallBack(dCcD_GObjInf* i_atObjInf, fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjInf); void resetHookshotMode(); - BOOL setEnemyBombHookshot(fopAc_ac_c*); + BOOL setEnemyBombHookshot(fopAc_ac_c* i_actor); bool checkLv7BossRoom(); - BOOL checkHookshotStickBG(cBgS_PolyInfo&); + BOOL checkHookshotStickBG(cBgS_PolyInfo& i_polyinfo); void cancelHookshotCarry(); void changeHookshotDrawModel(); BOOL checkHookshotRoofLv7Boss(); @@ -6280,7 +6428,7 @@ public: bool cancelHookshotMove(); BOOL checkHookshotReadyMaterialOffMode() const; void setHookshotReadyMaterial(); - int initHookshotUpperAnimeSpeed(int); + int initHookshotUpperAnimeSpeed(BOOL); void initHookshotReady(); void setHookshotReadyAnime(); int checkUpperItemActionHookshot(); @@ -6292,7 +6440,7 @@ public: void setHookshotRoofWaitAnime(); void setHookshotWallWaitAnime(); void hookshotRoofTurn(); - void initHookshotRoofWaitActor(fopAc_ac_c*); + void initHookshotRoofWaitActor(fopAc_ac_c* i_actor); int checkNextHookPoint(); int checkLandHookshotHang(); int commonHookshotRoofWait(); @@ -6327,21 +6475,21 @@ public: void setSpinnerSyncPos(); int procSpinnerReadyInit(); int procSpinnerReady(); - void setSpinnerStatus(u8, u8); + void setSpinnerStatus(u8 i_status, u8 i_flag); int procSpinnerWaitInit(); int procSpinnerWait(); int bottleModelCallBack(); - BOOL checkOilBottleItemNotGet(u16); - void setBottleModel(u16); - int commonBottleDrink(int); - fopAc_ac_c* makeFairy(cXyz*, u32); - int procBottleDrinkInit(u16); + BOOL checkOilBottleItemNotGet(u16 i_itemNo); + void setBottleModel(u16 i_itemNo); + int commonBottleDrink(BOOL); + fopAc_ac_c* makeFairy(cXyz* i_pos, u32 i_params); + int procBottleDrinkInit(u16 i_itemNo); int procBottleDrink(); - int procBottleOpenInit(u16); + int procBottleOpenInit(u16 i_itemNo); int procBottleOpen(); - int procBottleSwingInit(fopAc_ac_c*, int); + int procBottleSwingInit(fopAc_ac_c* i_catchActor, int); int procBottleSwing(); - int procBottleGetInit(int); + int procBottleGetInit(BOOL); int procBottleGet(); BOOL checkWaterInKandelaarOffset(f32); void checkWaterInKandelaar(f32); @@ -6358,7 +6506,7 @@ public: int procKandelaarSwing(); int procKandelaarPourInit(); int procKandelaarPour(); - void setGrassWhistleModel(int); + void setGrassWhistleModel(int i_modelType); void setHorseWhistleModel(); int procGrassWhistleGetInit(); int procGrassWhistleGet(); @@ -6395,10 +6543,10 @@ public: int procIronBallReturnInit(); int procIronBallReturn(); BOOL checkEventRun() const; - void createNpcTks(cXyz*, int, u32); + void createNpcTks(cXyz* i_basePos, int i_roomNo, u32 i_parameters); int checkDemoAction(); - bool checkDemoMoveMode(u32) const; - void setDemoMoveData(u32*, cXyz const*); + bool checkDemoMoveMode(u32 i_mode) const; + void setDemoMoveData(u32* o_mode, cXyz const* i_goal); void setNoDrawSwordShield(int, u16); void setDemoData(); void resetDemoBck(); @@ -6407,27 +6555,28 @@ public: void endDemoMode(); fopAc_ac_c* getDemoLookActor(); BOOL checkFlyAtnWait(); - void setGetItemFace(u16); - BOOL checkGrabTalkActor(fopAc_ac_c*); + void setGetItemFace(u16 i_itemNo); + BOOL checkGrabTalkActor(fopAc_ac_c* i_actor); int setTalkStartBack(cXyz*); void setShapeAngleToTalkActor(); void setTalkAnime(); u8 setTradeItemAnime(); void setTradeItemOutHand(); - BOOL checkEndMessage(u32); + BOOL checkEndMessage(u32 i_msgIdx); u8 setDemoRightHandIndex(u16); u8 setDemoLeftHandIndex(u16); void setDemoRide(u16); - void setDemoBodyBck(dDemo_actor_c*, u16); + void setDemoBodyBck(dDemo_actor_c* i_demoActor, u16 i_resIdx); static BOOL checkFinalBattle(); - BOOL checkRestartDead(int, int); + BOOL checkRestartDead(int i_dmgAmount, BOOL i_checkZoraMag); void setDeadRideSyncPos(); BOOL checkDeadHP(); BOOL checkDeadAction(int); - void setHighModelBck(mDoExt_bckAnm*, u16); - void setHighModelFaceBtk(u16); - void setDemoBrk(J3DAnmTevRegKey**, J3DModel*, u16); - f32 setStickAnmData(J3DAnmBase*, int, int, u16, int); + void setHighModelBck(mDoExt_bckAnm* i_bck, u16 i_resIdx); + void setHighModelFaceBtk(u16 i_resIdx); + void setDemoBrk(J3DAnmTevRegKey** o_ppbrk, J3DModel* i_model, u16 i_resIdx); + f32 setStickAnmData(J3DAnmBase* i_anm, int i_arg1, int i_arg2, u16 i_resIdx, + int i_stickDirection); int procDemoCommon(); int procCoToolDemoInit(); int procCoToolDemo(); @@ -6437,7 +6586,7 @@ public: int procCoOpenTreasure(); int procCoUnequipInit(); int procCoUnequip(); - void setGetSubBgm(int); + void setGetSubBgm(int i_itemNo); int procCoGetItemInit(); int procCoGetItem(); int procCoTurnBackInit(); @@ -6488,8 +6637,8 @@ public: int procLookAroundTurn(); int procTradeItemOutInit(); int procTradeItemOut(); - static BOOL checkLetterItem(int); - int procNotUseItemInit(int); + static BOOL checkLetterItem(int i_itemNo); + int procNotUseItemInit(int i_itemNo); int procNotUseItem(); int procSwordReadyInit(); int procSwordReady(); @@ -6519,13 +6668,15 @@ public: int procCoWarp(); int commonWaitTurnInit(); int commonGrabPutInit(); - int commonLargeDamageUpInit(int, int, s16, s16); + int commonLargeDamageUpInit(int i_type, BOOL i_isLargeDmg, s16, s16); int commonFallInit(int); - JPABaseEmitter* setEmitter(u32*, u16, cXyz const*, csXyz const*); - JPABaseEmitter* setEmitterPolyColor(u32*, u16, cBgS_PolyInfo&, cXyz const*, - csXyz const*); - JPABaseEmitter* setEmitterColor(u32*, u16, cXyz const*, csXyz const*); - void stopDrawParticle(u32); + JPABaseEmitter* setEmitter(u32* i_emitterId, u16 i_effName, cXyz const* i_pos, + csXyz const* i_rotation); + JPABaseEmitter* setEmitterPolyColor(u32* i_emitterId, u16 i_effName, cBgS_PolyInfo& i_polyinfo, cXyz const*, + csXyz const*); + JPABaseEmitter* setEmitterColor(u32* i_emitterId, u16 i_effName, cXyz const* i_pos, + csXyz const* i_rotation); + void stopDrawParticle(u32 i_emitterId); void setEffectFrontRollParam(); void setEffectSlipParam(); void setEffectRunParam(); @@ -6534,10 +6685,10 @@ public: void setEffectSumouParam(); void setFootEffectProcType(int); void setWolfFootOn(int); - void setFootMark(cXyz*, u16, int); + void setFootMark(cXyz* i_pos, u16 i_mtxNo, int); void setEffect(); void setSumouEffect(); - void setWaterfallEffect(cXyz const*, u32*); + void setWaterfallEffect(const cXyz* i_pos, u32* i_emitterId); void setWaterfallEffect(); void setMagneBootsEffect(); void setSwordChargeEffect(); @@ -6553,7 +6704,7 @@ public: void setWolfSwimEndEffect(JPABaseEmitter**, JPABaseEmitter**); void setWolfLockAttackEffect(); void setWolfJumpAttackEffect(); - void setWolfBarrierHitEffect(dBgS_LinChk&); + void setWolfBarrierHitEffect(dBgS_LinChk& i_linchk); void setCutWaterDropEffect(); void setWaterDropEffect(); void setSwordUpColorEffect(); @@ -6563,9 +6714,9 @@ public: void setRunSplash(); void resetFairyEffect(); void setBottleEffect(); - void clearFirePointDamageEffect(int); + void clearFirePointDamageEffect(int i_effNo); void initFirePointDamageEffectAll(); - void initFirePointDamageEffect(cXyz const*, dCcD_GObjInf*); + void initFirePointDamageEffect(cXyz const*, dCcD_GObjInf* i_hitObj); void setFirePointDamageEffect(); void setFreezeEffect(); void setWoodShieldBurnEffect(); @@ -6577,9 +6728,9 @@ public: void onWolfEyeUp(); void offWolfEyeUp(); BOOL wolfSenseTrigger(); - void setWolfSenceStatus(u8); + void setWolfSenceStatus(u8 i_status); BOOL wolfClawTrigger(); - void setWolfDigStatus(u8); + void setWolfDigStatus(u8 i_flag); BOOL checkWolfShapeReverse() const; BOOL checkWolfSideStep() const; void setWolfTailAngle(); @@ -6587,20 +6738,22 @@ public: void setSpeedAndAngleWolf(); void setSpeedAndAngleWolfAtn(); BOOL checkWolfAtnWait(); - BOOL checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM) const; + BOOL checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM i_anm) const; void setBlendWolfMoveAnime(f32); BOOL checkWolfAtnMoveBack(s16); void setWolfAtnMoveDirection(); void setBlendWolfAtnMoveAnime(f32); void setBlendWolfAtnBackMoveAnime(f32); int setDoubleAnimeWolf(f32, f32, f32, daAlink_c::daAlink_WANM, - daAlink_c::daAlink_WANM, int, f32); - void setSingleAnimeWolfBase(daAlink_c::daAlink_WANM); - void setSingleAnimeWolfBaseMorf(daAlink_c::daAlink_WANM, f32); - void setSingleAnimeWolfBaseSpeed(daAlink_c::daAlink_WANM, f32, f32); - int setSingleAnimeWolf(daAlink_c::daAlink_WANM, f32, f32, s16, f32); - void setSingleAnimeWolfParam(daAlink_c::daAlink_WANM, daAlinkHIO_anm_c const*); - int checkWolfLandAction(int); + daAlink_c::daAlink_WANM, int, f32); + void setSingleAnimeWolfBase(daAlink_c::daAlink_WANM i_anmID); + void setSingleAnimeWolfBaseMorf(daAlink_c::daAlink_WANM i_anmID, f32 i_morf); + void setSingleAnimeWolfBaseSpeed(daAlink_c::daAlink_WANM i_anmID, f32 i_speed, f32 i_morf); + int setSingleAnimeWolf(daAlink_c::daAlink_WANM i_anmID, f32 i_speed, f32 i_start, + s16 i_endFrame, f32 i_morf); + void setSingleAnimeWolfParam(daAlink_c::daAlink_WANM i_anmID, + daAlinkHIO_anm_c const* i_anmData); + int checkWolfLandAction(BOOL); BOOL checkMidnaUseAbility() const; void checkWolfUseAbility(); int checkWolfGroundSpecialMode(); @@ -6608,7 +6761,7 @@ public: BOOL wolfSideBgCheck(s16); BOOL checkWolfAttackReverse(int); int checkWolfBarrierHitReverse(); - BOOL checkWolfBarrierWallHit(cBgS_PolyInfo&); + BOOL checkWolfBarrierWallHit(cBgS_PolyInfo& i_polyinfo); void wolfBgCheck(); void changeWolfBlendRate(int); void setWolfFootMatrix(); @@ -6648,7 +6801,7 @@ public: int procWolfHowl(); int procWolfAutoJumpInit(int); int procWolfAutoJump(); - int procWolfFallInit(int, f32); + int procWolfFallInit(int, f32 i_morf); int procWolfFall(); int procWolfLandInit(); int procWolfLand(); @@ -6662,9 +6815,9 @@ public: int procWolfSlipTurn(); int procWolfSlipTurnLandInit(); int procWolfSlipTurnLand(); - int procWolfSlideReadyInit(s16, int); + int procWolfSlideReadyInit(s16 i_angle, int); int procWolfSlideReady(); - int procWolfSlideInit(s16, int); + int procWolfSlideInit(s16 i_angle, int); int procWolfSlide(); int procWolfSlideLandInit(); int procWolfSlideLand(); @@ -6675,7 +6828,7 @@ public: void setWolfHowlNotHappen(int); int procWolfHowlDemoInit(); int procWolfHowlDemo(); - fopAc_ac_c* checkWolfRopeHit(dCcD_GObjInf*, cXyz const*, int) const; + fopAc_ac_c* checkWolfRopeHit(dCcD_GObjInf* i_collider, cXyz const*, int) const; int checkWolfRopeJumpHang(); f32 getWolfRopeMoveSpeed(); int setWolfRopePosY(); @@ -6695,9 +6848,9 @@ public: int procWolfRopeSubjectivity(); int getWolfTagJumpTime() const; const cXyz* checkMidnaLockJumpPoint() const; - int procWolfTagJumpInit(fopAc_ac_c*); + int procWolfTagJumpInit(fopAc_ac_c* i_tag); int procWolfTagJump(); - int procWolfTagJumpLandInit(fopAc_ac_c*); + int procWolfTagJumpLandInit(fopAc_ac_c* i_tag); int procWolfTagJumpLand(); int procWolfGiantPuzzleInit(); int procWolfGiantPuzzle(); @@ -6707,10 +6860,10 @@ public: int procWolfHangReady(); int procWolfHangWallCatchInit(int); int procWolfHangWallCatch(); - int procWolfHangFallStartInit(cM3dGPla*); + int procWolfHangFallStartInit(cM3dGPla* i_tripla); int procWolfHangFallStart(); void setWolfHeadDamage(); - int procWolfDamageInit(dCcD_GObjInf*); + int procWolfDamageInit(dCcD_GObjInf* i_hitObj); int procWolfDamage(); int procWolfLargeDamageUpInit(int, int, s16, s16); int procWolfLargeDamageUp(); @@ -6750,12 +6903,12 @@ public: void resetWolfBallGrab(); void checkWolfLockData(); fopAc_ac_c* getWolfLockActorEnd(); - void searchWolfLockEnemy(fopAc_ac_c*, void*); + void searchWolfLockEnemy(fopAc_ac_c* i_actor, void* i_data); void checkWolfComboCnt(); BOOL checkWolfAttackAction(); - void setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM, f32); - BOOL setWolfEnemyHangBitePos(fopEn_enemy_c*); - void setWolfBiteDamage(fopEn_enemy_c*); + void setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM i_anmID, f32); + BOOL setWolfEnemyHangBitePos(fopEn_enemy_c* i_enemy); + void setWolfBiteDamage(fopEn_enemy_c* i_enemy); BOOL checkWolfLockAttackChargeState(); int procWolfRollAttackChargeInit(); int procWolfRollAttackCharge(); @@ -6775,7 +6928,7 @@ public: int procWolfRollAttack(); int procWolfDownAttackInit(); int procWolfDownAttack(); - int procWolfDownAtLandInit(fopEn_enemy_c*); + int procWolfDownAtLandInit(fopEn_enemy_c* i_enemy); int procWolfDownAtLand(); int procWolfDownAtMissLandInit(); int procWolfDownAtMissLand(); @@ -6814,9 +6967,9 @@ public: void setSmellSave(); int procWolfGetSmellInit(); int procWolfGetSmell(); - void setArcName(int); + void setArcName(BOOL i_isWolf); void setShieldArcName(); - void setOriginalHeap(JKRExpHeap**, u32); + void setOriginalHeap(JKRExpHeap** i_ppheap, u32 i_size); void setShieldChange(); int loadModelDVD(); void setShieldModel(); @@ -6824,7 +6977,7 @@ public: void changeModelDataDirect(int); void changeModelDataDirectWolf(int); void initStatusWindow(); - void statusWindowExecute(cXyz const*, s16); + void statusWindowExecute(const cXyz* i_pos, s16 i_angle); void statusWindowDraw(); void resetStatusWindow(); fopAc_ac_c* getChainGrabActor() { return field_0x2844.getActor(); } @@ -6839,21 +6992,24 @@ public: BOOL checkCutHeadProc() const { return mProcID == PROC_CUT_HEAD; } fopAc_ac_c* getRideActor() { return mRideAcKeep.getActor(); } - virtual bool checkAcceptDungeonWarpAlink(int) { return checkAcceptWarp(); } - virtual daSpinner_c* getSpinnerActor() { - daSpinner_c* spinnerActor; - if (!checkSpinnerRide()) { - spinnerActor = NULL; - } else { - spinnerActor = (daSpinner_c*)mRideAcKeep.getActor(); - } - return (daSpinner_c*)spinnerActor; + virtual bool checkAcceptDungeonWarpAlink(int unused) { + UNUSED(unused); + return checkAcceptWarp(); } + + virtual daSpinner_c* getSpinnerActor() { + if (checkSpinnerRide()) { + return (daSpinner_c*)mRideAcKeep.getActor(); + } else { + return NULL; + } + } + virtual s16 getSumouCounter() const { return mProcVar2.field_0x300c; } virtual s16 checkSumouWithstand() const { return mProcVar3.field_0x300e; } - virtual void setMidnaMsgNum(fopAc_ac_c* param_0, u16 pMsgNum) { - mMidnaMsgNum = pMsgNum; - mMidnaMsg = (daTagMmsg_c*)param_0; + virtual void setMidnaMsgNum(fopAc_ac_c* i_msgTag, u16 i_msgNum) { + mMidnaMsgNum = i_msgNum; + mMidnaMsg = (daTagMmsg_c*)i_msgTag; } virtual MtxP getModelMtx() { return mpLinkModel->getBaseTRMtx(); } virtual MtxP getInvMtx() { return mInvMtx; } @@ -6963,19 +7119,19 @@ public: virtual f32 getSearchBallScale() const { return mSearchBallScale; } virtual int checkFastShotTime() { return mFastShotTime; } virtual f32 getBaseAnimeFrame() const; - virtual void setAnimeFrame(f32); + virtual void setAnimeFrame(f32 i_frame); virtual BOOL checkWolfLock(fopAc_ac_c*) const; virtual bool cancelWolfLock(fopAc_ac_c*); - virtual BOOL exchangeGrabActor(fopAc_ac_c*); - virtual BOOL setForceGrab(fopAc_ac_c*, int, int); + virtual BOOL exchangeGrabActor(fopAc_ac_c* i_actor); + virtual BOOL setForceGrab(fopAc_ac_c* i_actor, BOOL, BOOL); virtual u32 checkPlayerNoDraw(); virtual void voiceStart(u32); virtual void seStartOnlyReverb(u32); virtual void seStartOnlyReverbLevel(u32); - virtual void setOutPower(f32, short, int); - virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*); - virtual void onFrollCrashFlg(u8, int); - virtual MtxP getModelJointMtx(u16); + virtual void setOutPower(f32, s16, int); + virtual void setGrabCollisionOffset(f32 i_offsetX, f32 i_offsetZ, cBgS_PolyInfo*); + virtual void onFrollCrashFlg(u8 i_flg, BOOL); + virtual MtxP getModelJointMtx(u16 i_jointNo); virtual bool setHookshotCarryOffset(fpc_ProcID, cXyz const*); virtual BOOL checkCutJumpCancelTurn() const { return (mProcID == PROC_CUT_JUMP || mProcID == PROC_CUT_JUMP_LAND) && field_0x3198 != 2; @@ -6986,23 +7142,23 @@ public: return mProcID == PROC_HORSE_BOW_SUBJECT && mProcVar2.field_0x300c != 0; } virtual void setClothesChange(int); - virtual void setPlayerPosAndAngle(cXyz const*, short, int); - virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*); - virtual void setPlayerPosAndAngle(f32 (*)[4]); - virtual bool setThrowDamage(short, f32, f32, int, int, int); - virtual bool checkSetNpcTks(cXyz*, int, int); - virtual int setRollJump(f32, f32, short); + virtual void setPlayerPosAndAngle(const cXyz* i_pos, s16 i_angle, BOOL); + virtual void setPlayerPosAndAngle(const cXyz* i_pos, const csXyz* i_angle); + virtual void setPlayerPosAndAngle(Mtx i_mtx); + virtual bool setThrowDamage(s16, f32, f32, int, int, int); + virtual bool checkSetNpcTks(cXyz* i_basePos, int i_roomNo, int); + virtual int setRollJump(f32 i_speedH, f32 i_speedV, s16 i_angle); virtual void cancelDungeonWarpReadyNeck() { if (mProcID != PROC_DUNGEON_WARP_READY) { return; } offModeFlg(MODE_UNK_100); } - virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*); - virtual void onSceneChangeAreaJump(u8 exitID, u8 exitDirection, fopAc_ac_c* scexAc) { - mExitID = exitID | 0x8000; - mExitDirection = exitDirection; - mpScnChg = (daScex_c*)scexAc; + virtual void onSceneChangeArea(u8 i_exitID, u8 i_exitDirection, fopAc_ac_c* i_scexAc); + virtual void onSceneChangeAreaJump(u8 i_exitID, u8 i_exitDirection, fopAc_ac_c* i_scexAc) { + mExitID = i_exitID | 0x8000; + mExitDirection = i_exitDirection; + mpScnChg = (daScex_c*)i_scexAc; } virtual void onSceneChangeDead(u8 param_0, int param_1) { if (mProcID != PROC_DEAD) { @@ -7026,20 +7182,20 @@ public: return 0; } virtual cXyz* getMagneBootsTopVec() { return &mMagneBootsTopVec; } - virtual void setCargoCarry(fopAc_ac_c* p_actor) { - mSpecialMode = SMODE_CARGO_CARRY; - mCargoCarryAcKeep.setData(p_actor); + virtual void setCargoCarry(fopAc_ac_c* i_actor) { + mMode = SMODE_CARGO_CARRY; + mCargoCarryAcKeep.setData(i_actor); } - virtual void setGoronSideMove(fopAc_ac_c* p_actor) { - mSpecialMode = SMODE_GORON_THROW; - mCargoCarryAcKeep.setData(p_actor); + virtual void setGoronSideMove(fopAc_ac_c* i_actor) { + mMode = SMODE_GORON_THROW; + mCargoCarryAcKeep.setData(i_actor); } - virtual void setSumouReady(fopAc_ac_c* p_actor) { - mSpecialMode = SMODE_SUMO_READY; - mCargoCarryAcKeep.setData(p_actor); - mDemo.setDemoMode(1); + virtual void setSumouReady(fopAc_ac_c* i_actor) { + mMode = SMODE_SUMO_READY; + mCargoCarryAcKeep.setData(i_actor); + mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_1_e); } - virtual void setSumouPushBackDirection(short param_0) { + virtual void setSumouPushBackDirection(s16 param_0) { if (mProcID != PROC_SUMOU_MOVE) { return; } @@ -7049,24 +7205,24 @@ public: if (mProcID != PROC_SUMOU_WIN_LOSE) { return; } - mSpecialMode = SMODE_SUMO_LOSE; + mMode = SMODE_SUMO_LOSE; } virtual cXyz* getKandelaarFlamePos(); virtual bool checkUseKandelaar(int); - virtual void setDkCaught(fopAc_ac_c*); - virtual void onPressedDamage(cXyz const&, short); - virtual bool checkPriActorOwn(fopAc_ac_c const* p_actor) const { - return field_0x27f4 == p_actor; + virtual void setDkCaught(fopAc_ac_c* i_dkActor); + virtual void onPressedDamage(cXyz const&, s16); + virtual bool checkPriActorOwn(fopAc_ac_c const* i_actor) const { + return field_0x27f4 == i_actor; } - virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2); - virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const* p_actor) const { - return field_0x281c.getActorConst() == p_actor; + virtual bool onWolfEnemyBiteAll(fopAc_ac_c* i_enemy, daPy_py_c::daPy_FLG2 i_flag); + virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const* i_actor) const { + return field_0x281c.getActorConst() == i_actor; } - virtual void setWolfEnemyHangBiteAngle(short angle) { + virtual void setWolfEnemyHangBiteAngle(s16 i_angle) { if (mProcID != PROC_WOLF_ENEMY_HANG_BITE) { return; } - mProcVar4.field_0x3010 = angle; + mProcVar4.field_0x3010 = i_angle; } virtual void setSumouGraspCancelCount(int param_0) { if (mProcID != PROC_SUMOU_MOVE) { @@ -7076,7 +7232,7 @@ public: } virtual bool checkItemSwordEquip() const { return mEquipItem == 0x103; } virtual f32 getSinkShapeOffset() const { return mSinkShapeOffset; } - virtual BOOL checkSinkDead() const { return field_0x2fbd == 0xFF; } + virtual BOOL checkSinkDead() const { return mGndPolyAtt1 == 0xFF; } virtual BOOL checkCutJumpMode() const { return mProcID == PROC_CUT_JUMP; } virtual s16 getGiantPuzzleAimAngle() const { return mProcVar2.mPuzzleAimAngle; } virtual u8 getSwordChangeWaitTimer() const { return mSwordChangeWaitTimer; } @@ -7086,8 +7242,8 @@ public: virtual BOOL checkWolfDownAttackPullOut() const { return mProcID == PROC_WOLF_DOWN_AT_LAND; } virtual cXyz* getMidnaAtnPos() const { return (cXyz*)&mMidnaAtnPos; } virtual bool checkCopyRodEquip() const { return mEquipItem == fpcNm_ITEM_COPY_ROD; } - virtual void setKandelaarMtx(f32 (*)[4], int, int); - virtual bool getStickAngleFromPlayerShape(short*) const; + virtual void setKandelaarMtx(Mtx i_mtx, int, int); + virtual bool getStickAngleFromPlayerShape(s16* o_angle) const; virtual bool checkSpinnerPathMove(); virtual bool checkSpinnerTriggerAttack(); virtual void onSpinnerPathForceRemove(); @@ -7105,7 +7261,7 @@ public: return checkUnderMove0BckNoArcWolf(WANM_HOWL_SUCCESS); } virtual void skipPortalObjWarp(); - virtual BOOL checkTreasureRupeeReturn(int) const; + virtual BOOL checkTreasureRupeeReturn(int i_itemNo) const; virtual void cancelGoronThrowEvent(); virtual cXyz* getHookshotTopPos(); virtual bool checkHookshotReturnMode() const; @@ -7134,10 +7290,10 @@ public: virtual bool checkDragonHangRide() const { return mProcID == PROC_BOSS_BODY_HANG && field_0x32cc != 0; } - virtual void playerStartCollisionSE(u32 param_0, u32 param_1) { - mZ2Link.startCollisionSE(param_0, param_1); + virtual void playerStartCollisionSE(u32 i_hitID, u32 i_mapinfo) { + mZ2Link.startCollisionSE(i_hitID, i_mapinfo); } - virtual void changeDragonActor(fopAc_ac_c*); + virtual void changeDragonActor(fopAc_ac_c* i_actor); virtual u8 getClothesChangeWaitTimer() const { return mClothesChangeWaitTimer; } virtual u8 getShieldChangeWaitTimer() const { return mShieldChangeWaitTimer; } virtual BOOL checkBootsOrArmorHeavy() const; @@ -7145,30 +7301,24 @@ public: virtual BOOL checkHorseStart() { return checkHorseStart(getLastSceneMode(), getStartMode()); } virtual BOOL checkCopyRodTopUse(); - static BOOL checkDebugMoveInput() { - if (mDoCPd_c::isConnect(PAD_3)) { - return mDoCPd_c::getHoldB(PAD_1) && mDoCPd_c::getAnalogR(PAD_1) > 0.8f && - mDoCPd_c::getTrigA(PAD_1); - } + static BOOL checkDebugMoveInput(); - return FALSE; - } + u32 checkModeFlg(u32 i_flag) const { return mModeFlg & i_flag; } - u32 checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; } - BOOL checkSmallUpperGuardAnime() const { return checkUpperAnime(0x16); } - BOOL checkFmChainGrabAnime() const { return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); } + BOOL checkSmallUpperGuardAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_ATDEFS_e); } + BOOL checkFmChainGrabAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_CHAIN_e) || checkUpperAnime(dRes_ID_ALANM_BCK_WL_CHAIN_e); } BOOL checkAttentionLock() { return mAttention->Lockon(); } - bool checkUpperAnime(u16 i_idx) const { return mUpperAnmHeap[UPPER_2].getIdx() == i_idx; } - bool checkUnderAnime(u16 i_idx) const { return mUnderAnmHeap[UNDER_2].getIdx() == i_idx; } + bool checkUpperAnime(u16 i_resIdx) const { return mUpperAnmHeap[UPPER_2].getIdx() == i_resIdx; } + bool checkUnderAnime(u16 i_resIdx) const { return mUnderAnmHeap[UNDER_2].getIdx() == i_resIdx; } bool checkNoSetUpperAnime() const { return mUpperAnmHeap[UPPER_2].checkNoSetIdx(); } - bool checkSwimMoveHandAnime() const { return checkUpperAnime(0x23F); } - bool checkZoraSwimDamageAnime() const { return checkUpperAnime(0xBF); } - bool checkIronBallWaitAnime() const { return checkUpperAnime(0x19C); } - bool checkHorseTurnLAnime() const { return checkUpperAnime(0x24C); } - bool checkHorseTurnRAnime() const { return checkUpperAnime(0x24D); } + bool checkSwimMoveHandAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_SWIMINGB_e); } + bool checkZoraSwimDamageAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_DAMSW_e); } + bool checkIronBallWaitAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_IBWAIT_e); } + bool checkHorseTurnLAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_TURNLS_e); } + bool checkHorseTurnRAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_TURNRS_e); } bool checkHorseTurnAnime() const { return checkHorseTurnLAnime() || checkHorseTurnRAnime(); } bool checkHookshotShootAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_HSSHOOT_e); } bool checkHookshotReadyAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_HSWAIT_e); } @@ -7176,99 +7326,99 @@ public: return checkHookshotReadyAnime() || checkHookshotShootAnime(); } BOOL checkBoomerangReadyAnime() const { - return (mEquipItem == fpcNm_ITEM_BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(0x54); + return (mEquipItem == fpcNm_ITEM_BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMWAIT_e); } - bool checkDkCaught2Anime() const { return checkUpperAnime(0x262); } + bool checkDkCaught2Anime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_WAITHDB_e); } BOOL checkCopyRodThrowAnime() const { - return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(0x53); + return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMTHROW_e); } - BOOL checkCutDashChargeAnime() const { return checkUpperAnime(0x83); } + BOOL checkCutDashChargeAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_CUTDTP_e); } BOOL checkBoomerangAnimeAndReturnWait() const { return checkBoomerangAnime(); } - BOOL checkTwoHandItemEquipAnime() const { return checkUpperAnime(0x245); } - BOOL checkBarkAnime() const { return 0; } - bool checkWolfGrabAnimeObj() const { return checkUpperAnime(0x2DA); } - bool checkWolfGrabAnimeStick() const { return checkUpperAnime(0x2DB); } + BOOL checkTwoHandItemEquipAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_TAKE_e); } + BOOL checkBarkAnime() const { return FALSE; } + bool checkWolfGrabAnimeObj() const { return checkUpperAnime(dRes_ID_ALANM_BCK_WL_PICKUPA_e); } + bool checkWolfGrabAnimeStick() const { return checkUpperAnime(dRes_ID_ALANM_BCK_WL_PICKUPB_e); } BOOL checkWolfGrabAnime() const { return checkWolfGrabAnimeObj() || checkWolfGrabAnimeStick(); } - bool checkWolfSwimDashAnime() const { return checkUnderMove0BckNoArcWolf(WANM_SWIM_DASH); } + BOOL checkWolfSwimDashAnime() const { return checkUnderMove0BckNoArcWolf(WANM_SWIM_DASH); } bool checkKandelaarSwingAnime() const { return false; } - bool checkBowChargeWaitAnime() const { return checkUpperAnime(0xA); } - bool checkBowReloadAnime() const { return checkUpperAnime(0x9); } - bool checkBowShootAnime() const { return checkUpperAnime(0xC); } - bool checkBowWaitAnime() const { return checkUpperAnime(0xD); } - BOOL checkGrabUpThrowAnime() const { return checkUpperAnime(0x170); } + bool checkBowChargeWaitAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_ARELORDTAME_e); } + bool checkBowReloadAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_ARELORD_e); } + bool checkBowShootAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_ASHOOT_e); } + bool checkBowWaitAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_ASHOOTWAIT_e); } + BOOL checkGrabUpThrowAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_GRABTHROW_e); } BOOL checkGrabSideThrowAnime() const { - return checkUpperAnime(0x51) || mUpperAnmHeap[0].getIdx() == 0x51; + return checkUpperAnime(dRes_ID_ALANM_BCK_BOMBTHROW_e) || mUpperAnmHeap[0].getIdx() == dRes_ID_ALANM_BCK_BOMBTHROW_e; } - BOOL checkGrabHeavyThrowAnime() const { return checkUpperAnime(0x17B); } - BOOL checkGrabAnimeUp() const { return checkUpperAnime(0x16C); } - BOOL checkGrabAnimeSide() const { return checkUpperAnime(0x50); } - BOOL checkGrabAnimeCarry() const { return checkUpperAnime(0x60); } - bool checkHorseUnderDashStartAnime() const { return checkUnderAnime(0xDD); } - bool checkHorseUnderLashAnime() const { return checkUnderAnime(0x1B3); } - bool checkUpperHorseLieAnime() const { return checkUpperAnime(0x265); } - bool checkHorseTiredAnime() const { return checkUpperAnime(0x263); } - bool checkHorseSwordUpAnime() const { return checkUpperAnime(0xCC); } - bool checkHorseUnderItemAnime() const { return checkUnderAnime(0x19); } + BOOL checkGrabHeavyThrowAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_HEAVYTHROW_e); } + BOOL checkGrabAnimeUp() const { return checkUpperAnime(dRes_ID_ALANM_BCK_GRABD_e); } + BOOL checkGrabAnimeSide() const { return checkUpperAnime(dRes_ID_ALANM_BCK_BOMBD_e); } + BOOL checkGrabAnimeCarry() const { return checkUpperAnime(dRes_ID_ALANM_BCK_CARRYD_e); } + bool checkHorseUnderDashStartAnime() const { return checkUnderAnime(dRes_ID_ALANM_BCK_DSTARTHS_e); } + bool checkHorseUnderLashAnime() const { return checkUnderAnime(dRes_ID_ALANM_BCK_LASHS_e); } + bool checkUpperHorseLieAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_WAITHLIE_e); } + bool checkHorseTiredAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_WAITHDS_e); } + bool checkHorseSwordUpAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_DASHHBSUP_e); } + bool checkHorseUnderItemAnime() const { return checkUnderAnime(dRes_ID_ALANM_BCK_ATH_e); } BOOL checkHorseWalkStartAnm() const { return checkUnderMove0BckNoArc(ANM_WSTARTH); } - bool checkIronBallPreSwingAnime() const { return checkUpperAnime(0x19A); } - bool checkIronBallSwingAnime() const { return checkUpperAnime(0x19B); } - bool checkDashDamageAnime() const { return checkUpperAnime(0xAD); } - bool checkBoomerangCatchAnime() const { return checkUpperAnime(0x52); } + bool checkIronBallPreSwingAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_IBTHROW_e); } + bool checkIronBallSwingAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_IBTURN_e); } + bool checkDashDamageAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_DAMD_e); } + bool checkBoomerangCatchAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_BOOMCATCH_e); } BOOL checkCopyRodReadyAnime() const { - return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(0x54); + return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMWAIT_e); } BOOL checkCanoeFishingWaitAnime() const { - return checkUpperAnime(0x5D) || checkUpperAnime(0x260); + return checkUpperAnime(dRes_ID_ALANM_BCK_CANOEREELINGR_e) || checkUpperAnime(dRes_ID_ALANM_BCK_WAITFISHR_e); } - BOOL checkCopyRodControllAnime() const { return checkUpperAnime(0x202); } - BOOL checkWolfHeadDamageAnime() const { return checkUpperAnime(0x2A7); } - BOOL checkExchangeRodAnime() const { return checkUpperAnime(0x68); } - BOOL checkReelAnime() const { return checkUpperAnime(0x1FB); } + BOOL checkCopyRodControllAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_RODD_e); } + BOOL checkWolfHeadDamageAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_WL_DAM_e); } + BOOL checkExchangeRodAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_CHANGEROD_e); } + BOOL checkReelAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_REELINGARM_e); } int checkWolfEyeUp() const { return mWolfEyeUp; } void onModeFlg(u32 flag) { mModeFlg |= flag; } void offModeFlg(u32 flag) { mModeFlg &= ~flag; } - bool swordButton() { return itemButtonCheck(8); } + BOOL swordButton() { return itemButtonCheck(BTN_B); } daPy_actorKeep_c* getThrowBoomerangAcKeep() { return &mThrowBoomerangAcKeep; } int getStartRoomNo() { return fopAcM_GetParam(this) & 0x3F; } bool checkFisingRodLure() const { return mEquipItem == 0x105; } BOOL doTrigger() const { return mItemTrigger & BTN_A; } - bool swordTrigger() { return itemTriggerCheck(BTN_B); } + BOOL swordTrigger() { return itemTriggerCheck(BTN_B); } BOOL grassCancelTrigger() { return itemTriggerCheck(BTN_B); } BOOL arrowChangeTrigger() { return itemActionTrigger(); } - bool peepSubjectCancelTrigger() { return itemTriggerCheck(0x8); } + BOOL peepSubjectCancelTrigger() { return itemTriggerCheck(BTN_B); } int getStartMode() { return (fopAcM_GetParam(this) >> 0xC) & 0x1F; } - bool checkInputOnR() const { return field_0x33ac > 0.05f; } - static int getSightBti() { return 0x5B; } + bool checkInputOnR() const { return mMoveValue > 0.05f; } + static u16 getSightBti() { return 0x5B; } bool checkBoomerangChargeEndWait() const { return mEquipItem != 0x102 && checkBoomerangAnime(); } J3DAnmTransform* getNowAnmPackUpper(daAlink_UPPER param_0) { return mNowAnmPackUpper[param_0].getAnmTransform(); } - void setFacePriBck(u16 param_0) { setFaceBck(param_0, 1, 0xFFFF); } - void setFacePriBtp(u16 param_0) { setFaceBtp(param_0, 1, 0xFFFF); } - void setFacePriBtk(u16 param_0) { setFaceBtk(param_0, 1, 0xFFFF); } - void setFaceBasicBck(u16 param_0) { setFaceBck(param_0, 0, 0xFFFF); } - void setFaceBasicBtp(u16 param_0) { setFaceBtp(param_0, 0, 0xFFFF); } - void setFaceBasicBtk(u16 param_0) { setFaceBtk(param_0, 0, 0xFFFF); } - void setFaceDemoBck(u16 param_0) { setFaceBck(param_0, 0, 0); } - void setFaceDemoBtp(u16 param_0) { setFaceBtp(param_0, 0, 0); } - void setFaceDemoBtk(u16 param_0) { setFaceBtk(param_0, 0, 0); } + void setFacePriBck(u16 i_resIdx) { setFaceBck(i_resIdx, TRUE, 0xFFFF); } + void setFacePriBtp(u16 i_resIdx) { setFaceBtp(i_resIdx, TRUE, 0xFFFF); } + void setFacePriBtk(u16 i_resIdx) { setFaceBtk(i_resIdx, TRUE, 0xFFFF); } + void setFaceBasicBck(u16 i_resIdx) { setFaceBck(i_resIdx, FALSE, 0xFFFF); } + void setFaceBasicBtp(u16 i_resIdx) { setFaceBtp(i_resIdx, FALSE, 0xFFFF); } + void setFaceBasicBtk(u16 i_resIdx) { setFaceBtk(i_resIdx, FALSE, 0xFFFF); } + void setFaceDemoBck(u16 i_resIdx) { setFaceBck(i_resIdx, FALSE, 0); } + void setFaceDemoBtp(u16 i_resIdx) { setFaceBtp(i_resIdx, FALSE, 0); } + void setFaceDemoBtk(u16 i_resIdx) { setFaceBtk(i_resIdx, FALSE, 0); } - void setGrabStatus(u8 i_status, u8 param_1) { setWallGrabStatus(i_status, param_1); } - void setChainGrabStatus(u8 i_status) { setGrabStatus(i_status, 2); } + void setGrabStatus(u8 i_status, u8 i_flag) { setWallGrabStatus(i_status, i_flag); } + void setChainGrabStatus(u8 i_status) { setGrabStatus(i_status, BUTTON_STATUS_FLAG_EMPHASIS); } void cancelFmChainGrabFromOut() { field_0x2fa3 = 0; field_0x2844.clearData(); } - int checkPlayerDemoMode() const { return mDemo.getDemoType(); } + BOOL checkPlayerDemoMode() const { return mDemo.getDemoType() != 0; } BOOL checkSpecialDemoMode() const { return mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_SPECIAL_e; } - static bool checkMidnaChargeAttack() { return dComIfGs_isEventBit(0x501); } + static BOOL checkMidnaChargeAttack() { return dComIfGs_isEventBit(0x501); } u16 getMidnaMsgNum() const { return mMidnaMsgNum; } u32 getStartEvent() { return fopAcM_GetParam(this) >> 0x18; } BOOL checkClimbFall() { return checkLadderFall(); } @@ -7322,7 +7472,7 @@ public: s16 getCameraAngleY() const { return field_0x310c; } cXyz* getSubjectEyePos() { return &field_0x3768; } - u32 checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; } + u32 checkReinRide() const { return mRideStatus == RIDETYPE_HORSE || mRideStatus == RIDETYPE_BOAR; } int getGrassHowlEventActor() const { return field_0x3198; } MtxP getShieldMtx() const { return mShieldModel->getBaseTRMtx(); } MtxP getMagneBootsMtx() { return mMagneBootMtx; } @@ -7331,7 +7481,7 @@ public: BOOL checkFishingCastMode() const { return (mProcID == PROC_FISHING_CAST && !(mItemAcKeep.getActor() != NULL && mItemAcKeep.getActor()->eventInfo.checkCommandDemoAccrpt())) || - (mProcID != PROC_FISHING_CAST && checkNoResetFlg2(FLG2_UNK_20000000) != 0); + (mProcID != PROC_FISHING_CAST && checkNoResetFlg2(FLG2_FISHING_CAST_WAIT) != 0); } BOOL setCanoeCast() { @@ -7351,11 +7501,11 @@ public: void setFishingArm1Angle(const csXyz& i_angle) { mFishingArm1Angle = i_angle; } void setFishingArm2Angle(const csXyz& i_angle) { field_0x3160 = i_angle; } - void endFishingCastWait() { offNoResetFlg2(FLG2_UNK_20000000); } + void endFishingCastWait() { offNoResetFlg2(FLG2_FISHING_CAST_WAIT); } void startFishingCastWait() { if (checkFishingRodItem(mEquipItem)) { - onNoResetFlg2(FLG2_UNK_20000000); + onNoResetFlg2(FLG2_FISHING_CAST_WAIT); } } @@ -7374,12 +7524,12 @@ public: } bool checkFisingRodJewl() const { - return (mEquipItem == 0x5C || mEquipItem == 0x5F) || mEquipItem == 0x5E; + return (mEquipItem == fpcNm_ITEM_JEWEL_ROD || mEquipItem == fpcNm_ITEM_JEWEL_WORM_ROD) || mEquipItem == fpcNm_ITEM_JEWEL_BEE_ROD; } - bool checkFisingRodWorm() const { return mItemMode == 0x74; } + bool checkFisingRodWorm() const { return mItemMode == fpcNm_ITEM_WORM; } - bool checkFisingRodBee() const { return mItemMode == 0x76; } + bool checkFisingRodBee() const { return mItemMode == fpcNm_ITEM_BEE_CHILD; } void fishingCastWaitAnimeStart() { if (mProcID == PROC_FISHING_CAST) { @@ -7405,28 +7555,26 @@ public: f32 getCopyRodBallDisFlyMax() const { return mSearchBallScale; } void clearIronBallActor() { field_0x173c.SetActor(this); } - BOOL checkCanoeRideOwn(const fopAc_ac_c* param_0) const { - return checkCanoeRide() && mRideAcKeep.getActorConst() == param_0; + BOOL checkCanoeRideOwn(const fopAc_ac_c* i_actor) const { + return checkCanoeRide() && mRideAcKeep.getActorConst() == i_actor; } - BOOL checkBoarRideOwn(const fopAc_ac_c* i_actorP) const { - return checkBoarRide() && mRideAcKeep.getActorConst() == i_actorP; + BOOL checkBoarRideOwn(const fopAc_ac_c* i_actor) const { + return checkBoarRide() && mRideAcKeep.getActorConst() == i_actor; } - bool checkWolfDashMode() const { return checkNoResetFlg1(FLG1_DASH_MODE); } + u32 checkWolfDashMode() const { return checkNoResetFlg1(FLG1_DASH_MODE); } bool checkWolfLieWaterIn() const { return mWaterY > current.pos.y + 20.5f; } - BOOL checkPowerGloveGet() { return false; } - - J3DModel* initModel(J3DModelData* p_modelData, u32 param_1) { - return initModel(p_modelData, 0x80000, param_1); + J3DModel* initModel(J3DModelData* i_modelData, u32 i_diffFlags) { + return initModel(i_modelData, 0x80000, i_diffFlags); } - J3DModel* initModelEnv(J3DModelData* p_modelData, u32 param_1) { - return initModel(p_modelData, 0, param_1); + J3DModel* initModelEnv(J3DModelData* i_modelData, u32 i_diffFlags) { + return initModel(i_modelData, 0, i_diffFlags); } bool checkResetRootMtx(int param_0) const { return field_0x2f90 != 0 && param_0 == 1; } - bool checkGrabGlide() { return checkGrabRooster(); } + BOOL checkGrabGlide() { return checkGrabRooster(); } bool checkCopyRodRevive() const { return mProcID == PROC_COPY_ROD_REVIVE; } bool checkHorseGetOffMode() const { return mProcID == PROC_HORSE_GETOFF; } @@ -7453,29 +7601,29 @@ public: BOOL checkRideOn() const { return mRideStatus != 0; } - bool checkSwimDashMode() const { return checkNoResetFlg1(FLG1_DASH_MODE); } + BOOL checkSwimDashMode() const { return checkNoResetFlg1(FLG1_DASH_MODE); } - bool talkTrigger() const { return mItemTrigger & BTN_A; } + BOOL talkTrigger() const { return mItemTrigger & BTN_A; } J3DAnmTransform* getNowAnmPackUnder(daAlink_UNDER i_idx) { return mNowAnmPackUnder[i_idx].getAnmTransform(); } BOOL doButton() const { return mItemButton & BTN_A; } - void setGrassCancelStatus(u8 param_0) { setBStatus(param_0); } + void setGrassCancelStatus(u8 i_status) { setBStatus(i_status); } - void seStartSystem(u32 i_seID) { mDoAud_seStart(i_seID, NULL, 0, 0); } + void seStartSystem(u32 i_soundID) { mDoAud_seStart(i_soundID, NULL, 0, 0); } bool checkIronBallEquip() const { return mEquipItem == fpcNm_ITEM_IRONBALL; } BOOL checkFishingRodEquip() const { return checkFishingRodItem(mEquipItem); } f32 getAnmSpeedStickRate(f32 param_0, f32 param_1) const { - return param_0 + (field_0x33a8 * (param_1 - param_0)); + return param_0 + (mStickValue * (param_1 - param_0)); } - bool escapeTrigger() { - field_0x2fae |= 8; + BOOL escapeTrigger() { + mUseButtonFlags |= (u8)BTN_B; return mItemTrigger & (BTN_A | BTN_B); } - void clearComboReserb() { offNoResetFlg2(FLG2_UNK_2); } + void clearComboReserb() { offNoResetFlg2(FLG2_COMBO_RESERB); } void setDamageColorTime() { mDamageColorTime = 32 - (mDamageTimer % 16); } @@ -7495,12 +7643,12 @@ public: // Gets the cardinal direction of the Left Stick relative to player facing angle int getDirectionFromShapeAngle() const { - return getDirectionFromAngle(field_0x2fe2 - shape_angle.y); + return getDirectionFromAngle(mMoveAngle - shape_angle.y); } // Gets the cardinal direction of the Left Stick relative to player angle int getDirectionFromCurrentAngle() const { - return getDirectionFromAngle(field_0x2fe2 - current.angle.y); + return getDirectionFromAngle(mMoveAngle - current.angle.y); } bool checkAnmEnd(daPy_frameCtrl_c* i_frameCtrl) { return i_frameCtrl->checkAnmEnd(); } @@ -7522,11 +7670,11 @@ public: static u16 getBallBtkIdx() { return 0x49; } static u16 getBallBrkIdx() { return 0x41; } - bool checkRootTransClearMode() { return field_0x2f99 & 7; } - bool checkRootTransZClearMode() { return field_0x2f99 & 4; } - bool checkRootTransXClearMode() { return field_0x2f99 & 1; } - bool checkRootTransYClearMode() { return field_0x2f99 & 2; } - bool checkRootTransClearContinueMode() { return field_0x2f99 & 8; } + BOOL checkRootTransClearMode() { return field_0x2f99 & 7; } + BOOL checkRootTransZClearMode() { return field_0x2f99 & 4; } + BOOL checkRootTransXClearMode() { return field_0x2f99 & 1; } + BOOL checkRootTransYClearMode() { return field_0x2f99 & 2; } + BOOL checkRootTransClearContinueMode() { return field_0x2f99 & 8; } s16 checkWindStoneHowl() { return mProcVar4.field_0x3010; } u8 getCorrectCurveID() { return mZ2WolfHowlMgr.getCorrectCurveID(); } u8 getCorrectLineNum() { return mZ2WolfHowlMgr.getCorrectLineNum(); } @@ -7538,19 +7686,19 @@ public: cXyz* getIronBallChainPos() const { return mIronBallChainPos; } csXyz* getIronBallChainAngle() const { return mIronBallChainAngle; } - int getIronBallHandChainNum() const { return mItemMode; } + s16 getIronBallHandChainNum() const { return mItemMode; } const cXyz& getIronBallChainHandRootPos() const { return mHookshotTopPos; } fopAc_ac_c* getAtnActor() { return mTargetedActor; } - void itemHitSE(u32 param_1, u32 param_2, Z2SoundObjBase* param_3) { - mZ2Link.startHitItemSE(param_1, param_2, param_3, -1.0f); + void itemHitSE(u32 i_soundID, u32 i_mapinfo, Z2SoundObjBase* i_other) { + mZ2Link.startHitItemSE(i_soundID, i_mapinfo, i_other, -1.0f); } BOOL checkStartFall() { return getStartMode() == 3; } u8 getBStatus() { return dComIfGp_getAStatus(); } - void setRStatus(u8 param_0, u8 param_1) { dComIfGp_setRStatus(param_0, param_1); } + void setRStatus(u8 i_status, u8 i_flag) { dComIfGp_setRStatus(i_status, i_flag); } BOOL checkWindSpeedMoveXZ() const { return mWindSpeed.abs2XZ() > 1.0f; } @@ -7570,6 +7718,8 @@ public: BOOL boomerangLockTrigger() { return itemActionTrigger(); } + bool checkBoomerangChargeNow() { return FALSE; } + BOOL checkBoomerangLockTrigger() { return boomerangLockTrigger(); } BOOL checkDemoSpinnerKeep() const { @@ -7580,8 +7730,8 @@ public: return mDemo.getDemoMode() == 14 && mDemo.getParam0() == 2; } - bool checkSpinnerRideOwn(const fopAc_ac_c* param_0) { - return checkSpinnerRide() && mRideAcKeep.getActorConst() == param_0; + bool checkSpinnerRideOwn(const fopAc_ac_c* i_actor) { + return checkSpinnerRide() && mRideAcKeep.getActorConst() == i_actor; } BOOL checkSpinnerReady() const { return mProcID == PROC_SPINNER_READY; } @@ -7601,8 +7751,8 @@ public: static daAlink_BckData const m_mainBckShield[20]; static daAlink_BckData const m_mainBckSword[5]; static daAlink_BckData const m_mainBckFishing[28]; - static daAlink_AnmData const m_anmDataTable[414]; - static daAlink_WlAnmData const m_wlAnmDataTable[147]; + static daAlink_AnmData const m_anmDataTable[ANM_MAX]; + static daAlink_WlAnmData const m_wlAnmDataTable[WANM_MAX]; static daAlink_FaceTexData const m_faceTexDataTable[]; static Vec const m_handLeftOutSidePos; static Vec const m_handRightOutSidePos; @@ -7698,10 +7848,10 @@ public: /* 0x007BC */ mDoExt_bckAnm* m_sWindowBck; /* 0x007C0 */ void* mpWarpTexData; /* 0x007C4 */ daPy_actorKeep_c mWolfLockAcKeep[10]; - /* 0x00814 */ dCcD_Stts field_0x814; - /* 0x00850 */ dCcD_Cyl field_0x850[3]; - /* 0x00C04 */ dCcD_Cyl field_0xC04[3]; - /* 0x00FB8 */ dCcD_Sph field_0xFB8; + /* 0x00814 */ dCcD_Stts mCcStts; + /* 0x00850 */ dCcD_Cyl mTgCyls[3]; + /* 0x00C04 */ dCcD_Cyl mWindTgCyls[3]; + /* 0x00FB8 */ dCcD_Sph mAtSph; /* 0x010F0 */ dCcD_Cyl mAtCyl; /* 0x0122C */ dCcD_Cps mAtCps[3]; /* 0x015F8 */ dCcD_Cps mGuardAtCps; @@ -7740,11 +7890,11 @@ public: /* 0x02118 */ daPy_anmHeap_c mFaceBtpHeap; /* 0x0212C */ daPy_anmHeap_c mFaceBtkHeap; /* 0x02140 */ daPy_anmHeap_c mFaceBckHeap; - /* 0x02154 */ J3DAnmTexPattern* field_0x2154; + /* 0x02154 */ J3DAnmTexPattern* mpFaceBtp; /* 0x02158 */ J3DAnmTextureSRTKey* mpFaceBtk; /* 0x0215C */ daPy_frameCtrl_c* field_0x215c; - /* 0x02160 */ u16* field_0x2160; - /* 0x02164 */ mDoExt_bckAnm field_0x2164; + /* 0x02160 */ const s8* field_0x2160; + /* 0x02164 */ mDoExt_bckAnm mFaceBck; /* 0x02180 */ daAlink_matAnm_c* field_0x2180[2]; /* 0x02188 */ dEyeHL_c mEyeHL1; /* 0x0219C */ dEyeHL_c mEyeHL2; @@ -7781,7 +7931,7 @@ public: /* 0x028F4 */ fpc_ProcID mAtnActorID; /* 0x028F8 */ fpc_ProcID field_0x28f8; /* 0x028FC */ fpc_ProcID field_0x28fc; - /* 0x02900 */ fpc_ProcID field_0x2900; + /* 0x02900 */ fpc_ProcID mRideActorID; /* 0x02904 */ daAlink_footData_c mFootData1[2]; /* 0x02A4C */ daAlink_footData_c mFootData2[2]; /* 0x02B94 */ f32 field_0x2b94; @@ -7809,7 +7959,7 @@ public: /* 0x02F50 */ const Vec* field_0x2f50; /* 0x02F54 */ const Vec* field_0x2f54; /* 0x02F58 */ dPath* field_0x2f58; - /* 0x02F5C */ LIGHT_INFLUENCE field_0x2f5c; + /* 0x02F5C */ LIGHT_INFLUENCE mMagneBootsPlight; /* 0x02F7C */ u8 field_0x2f7c[16]; /* 0x02F8C */ u8 field_0x2f8c; /* 0x02F8D */ u8 mItemTrigger; @@ -7817,8 +7967,8 @@ public: /* 0x02F8F */ u8 field_0x2f8f; /* 0x02F90 */ u8 field_0x2f90; /* 0x02F91 */ u8 field_0x2f91; - /* 0x02F92 */ u8 field_0x2f92; - /* 0x02F93 */ u8 field_0x2f93; + /* 0x02F92 */ u8 mLeftHandIndex; + /* 0x02F93 */ u8 mRightHandIndex; /* 0x02F94 */ u8 field_0x2f94; /* 0x02F95 */ u8 field_0x2f95; /* 0x02F96 */ u8 field_0x2f96; @@ -7845,7 +7995,7 @@ public: /* 0x02FAB */ u8 field_0x2fab; /* 0x02FAC */ u8 mExitDirection; /* 0x02FAD */ u8 mPeepExitID; - /* 0x02FAE */ u8 field_0x2fae; + /* 0x02FAE */ u8 mUseButtonFlags; /* 0x02FAF */ u8 field_0x2faf; /* 0x02FB0 */ u8 field_0x2fb0; /* 0x02FB1 */ u8 mWolfLockNum; @@ -7858,9 +8008,9 @@ public: /* 0x02FB8 */ u8 field_0x2fb8; /* 0x02FB9 */ u8 field_0x2fb9; /* 0x02FBA */ u8 mHotspringRecoverTimer; - /* 0x02FBB */ u8 field_0x2fbb; + /* 0x02FBB */ u8 mGndPolyAtt0; /* 0x02FBC */ u8 field_0x2fbc; - /* 0x02FBD */ u8 field_0x2fbd; + /* 0x02FBD */ u8 mGndPolyAtt1; /* 0x02FBE */ u8 field_0x2fbe; /* 0x02FBF */ u8 mClothesChangeWaitTimer; /* 0x02FC0 */ u8 field_0x2fc0; @@ -7892,9 +8042,9 @@ public: /* 0x02FDC */ u16 mEquipItem; /* 0x02FDE */ u16 field_0x2fde; /* 0x02FE0 */ s16 mStickAngle; - /* 0x02FE2 */ s16 field_0x2fe2; // related to current stick angle + /* 0x02FE2 */ s16 mMoveAngle; // related to current stick angle /* 0x02FE4 */ s16 field_0x2fe4; - /* 0x02FE6 */ s16 field_0x2fe6; + /* 0x02FE6 */ s16 mPrevAngleY; /* 0x02FE8 */ u16 mProcID; /* 0x02FEA */ u16 field_0x2fea; /* 0x02FEC */ s16 field_0x2fec; @@ -7938,6 +8088,7 @@ public: } /* 0x03010 */ mProcVar4; union { s16 field_0x3012; + s16 mCutTurnChargeCheckTimer; } /* 0x03012 */ mProcVar5; /* 0x03014 */ s16 mFallVoiceInit; /* 0x03016 */ u8 field_0x3016[2]; @@ -7996,12 +8147,12 @@ public: /* 0x030B2 */ s16 field_0x30b2; /* 0x030B4 */ u16 field_0x30b4; /* 0x030B6 */ u16 field_0x30b6; - /* 0x030B8 */ u16 field_0x30b8; - /* 0x030BA */ u16 field_0x30ba; + /* 0x030B8 */ u16 mLeftHandJntNo; + /* 0x030BA */ u16 mRightHandJntNo; /* 0x030BC */ u16 field_0x30bc; /* 0x030BE */ u16 field_0x30be; - /* 0x030C0 */ u16 field_0x30c0; - /* 0x030C2 */ u16 field_0x30c2; + /* 0x030C0 */ u16 mLeftItemJntNo; + /* 0x030C2 */ u16 mRightItemJntNo; /* 0x030C4 */ u16 field_0x30c4; /* 0x030C6 */ u16 field_0x30c6; /* 0x030C8 */ s16 field_0x30c8; @@ -8014,7 +8165,7 @@ public: /* 0x030D6 */ s16 field_0x30d6; /* 0x030D8 */ u8 field_0x30d8[0x14]; /* 0x030EC */ s16 field_0x30ec; - /* 0x030EE */ s16 field_0x30ee; + /* 0x030EE */ s16 mRollJumpAngle; /* 0x030F0 */ u16 field_0x30f0; /* 0x030F2 */ u8 field_0x30f2[2]; /* 0x030F4 */ s16 mSwordFlourishTimer; @@ -8041,9 +8192,7 @@ public: /* 0x0311E */ s16 field_0x311e; /* 0x03120 */ u16 mMidnaMsgNum; /* 0x03122 */ s16 field_0x3122; - /* 0x03124 */ s16 field_0x3124; - /* 0x03126 */ s16 field_0x3126; - /* 0x03128 */ s16 field_0x3128; + /* 0x03124 */ csXyz field_0x3124; /* 0x0312A */ csXyz field_0x312a[2]; /* 0x03136 */ csXyz field_0x3136[2]; /* 0x03142 */ csXyz field_0x3142[4]; @@ -8052,12 +8201,12 @@ public: /* 0x03166 */ csXyz field_0x3166; /* 0x0316C */ csXyz field_0x316c; /* 0x03172 */ u8 field_0x3172[2]; - /* 0x03174 */ int field_0x3174; + /* 0x03174 */ int mGroundCode; /* 0x03178 */ int field_0x3178; /* 0x0317C */ int field_0x317c; /* 0x03180 */ int field_0x3180; /* 0x03184 */ int mAlinkStaffId; - /* 0x03188 */ int field_0x3188; + /* 0x03188 */ int mStartEventID; /* 0x0318C */ int field_0x318c; /* 0x03190 */ int field_0x3190; /* 0x03194 */ int field_0x3194; @@ -8110,8 +8259,8 @@ public: /* 0x0339C */ f32 mSpeedModifier; /* 0x033A0 */ f32 field_0x33a0; /* 0x033A4 */ f32 field_0x33a4; - /* 0x033A8 */ f32 field_0x33a8; - /* 0x033AC */ f32 field_0x33ac; + /* 0x033A8 */ f32 mStickValue; + /* 0x033AC */ f32 mMoveValue; /* 0x033B0 */ f32 field_0x33b0; /* 0x033B4 */ f32 mWaterY; /* 0x033B8 */ f32 field_0x33b8; @@ -8136,8 +8285,8 @@ public: /* 0x03404 */ f32 field_0x3404; /* 0x03408 */ f32 field_0x3408; /* 0x0340C */ f32 field_0x340c; - /* 0x03410 */ f32 field_0x3410; - /* 0x03414 */ f32 field_0x3414; + /* 0x03410 */ f32 mRollJumpSpeedH; + /* 0x03414 */ f32 mRollJumpSpeedV; /* 0x03418 */ f32 field_0x3418; /* 0x0341C */ f32 field_0x341c; /* 0x03420 */ f32 field_0x3420; @@ -8239,13 +8388,13 @@ public: /* 0x03850 */ daAlink_procFunc mpProcFunc; }; // Size: 0x385C -static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor); -static bool daAlink_checkLightBallB(fopAc_ac_c* p_actor); -static fopAc_ac_c* daAlink_searchCoach(fopAc_ac_c* param_0, void* param_1); +static bool daAlink_checkLightBallA(fopAc_ac_c* i_actor); +static bool daAlink_checkLightBallB(fopAc_ac_c* i_actor); +static fopAc_ac_c* daAlink_searchCoach(fopAc_ac_c* i_actor, void* param_1); struct daAlink_cutParamTbl { /* 0x0 */ daAlink_c::daAlink_ANM m_anmID; - /* 0x4 */ int field_0x4; + /* 0x4 */ daAlink_c::daAlink_ANM m_recoilAnmID; /* 0x8 */ u8 m_cutType; /* 0x9 */ u8 m_atSe; /* 0xA */ u8 field_0xa; @@ -8265,10 +8414,10 @@ struct daAlink_cutHorseParamTbl { inline BOOL dComIfGs_isTransformLV(int i_no); inline BOOL dComIfGs_isEventBit(const u16); -static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1); -static fopAc_ac_c* daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1); -static void* daAlink_searchBoar(fopAc_ac_c* param_0, void* param_1); -static fopAc_ac_c* daAlink_searchLightBall(fopAc_ac_c* p_actor, void* param_1); +static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* i_actor, void* i_data); +static fopAc_ac_c* daAlink_searchCanoe(fopAc_ac_c* i_actor, void* i_data); +static void* daAlink_searchBoar(fopAc_ac_c* i_actor, void* i_data); +static fopAc_ac_c* daAlink_searchLightBall(fopAc_ac_c* i_actor, void* i_data); inline daAlink_c* daAlink_getAlinkActorClass() { return (daAlink_c*)dComIfGp_getLinkPlayer(); diff --git a/include/d/actor/d_a_arrow.h b/include/d/actor/d_a_arrow.h index 23e476aaef..66b4a9d901 100644 --- a/include/d/actor/d_a_arrow.h +++ b/include/d/actor/d_a_arrow.h @@ -53,7 +53,7 @@ public: int procSlingHit(); int execute(); int draw(); - cPhs__Step create(); + cPhs_Step create(); ~daArrow_c(); void setBombArrowExplode() { field_0x950 = 0; } diff --git a/include/d/actor/d_a_b_dr.h b/include/d/actor/d_a_b_dr.h index 506af4f576..e15a6e7ca5 100644 --- a/include/d/actor/d_a_b_dr.h +++ b/include/d/actor/d_a_b_dr.h @@ -79,8 +79,8 @@ public: MtxP getMtx() { return mpModelMorf->getModel()->getAnmMtx(15); } - void onTarget() { mTarget = true; } - bool isBack() { return arg0; } + u8 onTarget() { return mTarget = true; } + u8 isBack() { return arg0; } private: /* 0x05AC */ request_of_phase_process_class mPhase; diff --git a/include/d/actor/d_a_b_ds.h b/include/d/actor/d_a_b_ds.h index 10b09546a2..d7dd03a90b 100644 --- a/include/d/actor/d_a_b_ds.h +++ b/include/d/actor/d_a_b_ds.h @@ -175,7 +175,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); daB_DS_c(); cXyz getHandPosR(); diff --git a/include/d/actor/d_a_b_yo.h b/include/d/actor/d_a_b_yo.h index d215bdacc9..b4cef6d648 100644 --- a/include/d/actor/d_a_b_yo.h +++ b/include/d/actor/d_a_b_yo.h @@ -65,7 +65,7 @@ public: int _delete(); int CreateHeap(); int CreateHeap2(); - cPhs__Step create(); + cPhs_Step create(); u8 getModelNo() { return mModelNo; } s16 getFrizadRollAngle() { return mIceAngle; } diff --git a/include/d/actor/d_a_b_yo_ice.h b/include/d/actor/d_a_b_yo_ice.h index 32286929c7..2ad2e5388d 100644 --- a/include/d/actor/d_a_b_yo_ice.h +++ b/include/d/actor/d_a_b_yo_ice.h @@ -46,7 +46,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); daB_YOI_c(); void setSubNumber(int i_subNumber) { mSubNumber = i_subNumber; } diff --git a/include/d/actor/d_a_balloon_2D.h b/include/d/actor/d_a_balloon_2D.h index d22e69d973..cf8a24116b 100644 --- a/include/d/actor/d_a_balloon_2D.h +++ b/include/d/actor/d_a_balloon_2D.h @@ -1,7 +1,7 @@ #ifndef D_A_BALLOON_2D_H #define D_A_BALLOON_2D_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor.h" #include "SSystem/SComponent/c_phase.h" #include "d/d_drawlist.h" diff --git a/include/d/actor/d_a_boomerang.h b/include/d/actor/d_a_boomerang.h index d4a1335fd7..6dcff6ef9f 100644 --- a/include/d/actor/d_a_boomerang.h +++ b/include/d/actor/d_a_boomerang.h @@ -116,7 +116,7 @@ public: void offStateFlg0(daBoomerang_FLG0 flag) { m_stateFlg0 &= ~flag; } u32 getReturnFlg() const { return checkStateFlg0(FLG0_1); } void onWindCatch() { onStateFlg0(WIND_CATCH); } - bool checkForceDelete() const { return m_forceDelete; } + u8 checkForceDelete() const { return m_forceDelete; } void onForceDelete() { m_forceDelete = true; } bool checkCharge() const { return true; } void setThrow() { fopAcM_SetParam(this, 1); } diff --git a/include/d/actor/d_a_canoe.h b/include/d/actor/d_a_canoe.h index 4051a039ab..bf34a5eee7 100644 --- a/include/d/actor/d_a_canoe.h +++ b/include/d/actor/d_a_canoe.h @@ -34,7 +34,7 @@ public: J3DModel* getModel() { return mpModel; } MtxP getModelMtx() { return mpModel->getBaseTRMtx(); } bool checkTandem() { return fopAcM_GetParam(this) == 2; } - bool checkJumpRideFlg() { return mJumpRideFlg; } + u8 checkJumpRideFlg() const { return mJumpRideFlg; } void incShapeOffsetY(f32 offset) { mShapeOffsetY += offset; } void incShapeAngleZ(s16 incZ) { shape_angle.z += incZ; } void onRodID(fpc_ProcID i_rodID) { mRodID = i_rodID; } diff --git a/include/d/actor/d_a_cow.h b/include/d/actor/d_a_cow.h index e7d0f4547c..403dc2aef6 100644 --- a/include/d/actor/d_a_cow.h +++ b/include/d/actor/d_a_cow.h @@ -194,16 +194,16 @@ public: daCow_c* getCowP() { return mCowP; } // cLib_onBit(mFlags, (mask)) - void setCrazyBeforeCatch() { mFlags |= Flag_CrazyBeforeCatch; } - void setCrazyCatch() { mFlags |= Flag_CrazyCatch; } - void setCrazyDash() { mFlags |= Flag_CrazyDash; } - void setCrazyThrowLeft() { mFlags |= Flag_CrazyThrowLeft; } - void setCrazyThrowRight() { mFlags |= Flag_CrazyThrowRight; } - void setCrazyReady() { mFlags |= Flag_CrazyReady; } - void setCrazyGo() { mFlags |= Flag_CrazyGo; } - void setNaderu() { mFlags |= Flag_Naderu; } - void setNaderuFinish() { mFlags |= Flag_NaderuFinish; } - void setCrazyReadyDrawOn() { mFlags |= Flag_CrazyReadyDrawOn; } + void setCrazyBeforeCatch() { mFlags |= (u16)Flag_CrazyBeforeCatch; } + void setCrazyCatch() { mFlags |= (u16)Flag_CrazyCatch; } + void setCrazyDash() { mFlags |= (u16)Flag_CrazyDash; } + void setCrazyThrowLeft() { mFlags |= (u16)Flag_CrazyThrowLeft; } + void setCrazyThrowRight() { mFlags |= (u16)Flag_CrazyThrowRight; } + void setCrazyReady() { mFlags |= (u16)Flag_CrazyReady; } + void setCrazyGo() { mFlags |= (u16)Flag_CrazyGo; } + void setNaderu() { mFlags |= (u16)Flag_Naderu; } + void setNaderuFinish() { mFlags |= (u16)Flag_NaderuFinish; } + void setCrazyReadyDrawOn() { mFlags |= (u16)Flag_CrazyReadyDrawOn; } u8 getCowIn() { return mCowIn; } u8 getNoNearCheckTimer() { return mNoNearCheckTimer; } diff --git a/include/d/actor/d_a_cstatue.h b/include/d/actor/d_a_cstatue.h index ca888e7dc4..e20e683398 100644 --- a/include/d/actor/d_a_cstatue.h +++ b/include/d/actor/d_a_cstatue.h @@ -5,22 +5,6 @@ #include "d/d_particle_copoly.h" #include "f_op/f_op_actor.h" -enum daCstatue_FLG0 { - daCstatue_FLG0_1 = 0x1, - daCstatue_FLG0_2 = 0x2, - daCstatue_FLG0_4 = 0x4, - daCstatue_FLG0_8 = 0x8, - daCstatue_FLG0_10 = 0x10, - daCstatue_FLG0_20 = 0x20, - daCstatue_FLG0_Demo = 0x40, - daCstatue_FLG0_80 = 0x80, - daCstatue_FLG0_100 = 0x100, - daCstatue_FLG0_200 = 0x200, - daCstatue_FLG0_400 = 0x400, - daCstatue_FLG0_800 = 0x800, - daCstatue_FLG0_1000 = 0x1000, -}; - enum daCstatue_MoveMode { daCstatue_MoveMode_0, daCstatue_MoveMode_1, @@ -58,6 +42,22 @@ enum daCstatueType { * */ class daCstatue_c : public fopAc_ac_c { + enum daCstatue_FLG0 { + daCstatue_FLG0_1 = 0x1, + daCstatue_FLG0_2 = 0x2, + daCstatue_FLG0_4 = 0x4, + daCstatue_FLG0_8 = 0x8, + daCstatue_FLG0_10 = 0x10, + daCstatue_FLG0_20 = 0x20, + daCstatue_FLG0_Demo = 0x40, + daCstatue_FLG0_80 = 0x80, + daCstatue_FLG0_100 = 0x100, + daCstatue_FLG0_200 = 0x200, + daCstatue_FLG0_400 = 0x400, + daCstatue_FLG0_800 = 0x800, + daCstatue_FLG0_1000 = 0x1000, + }; + public: void atHitCallback(fopAc_ac_c*); int createHeap(); diff --git a/include/d/actor/d_a_door_boss.h b/include/d/actor/d_a_door_boss.h index 9ec069ce3d..ed7afe97d4 100644 --- a/include/d/actor/d_a_door_boss.h +++ b/include/d/actor/d_a_door_boss.h @@ -31,7 +31,7 @@ public: int CreateHeap(); void calcMtx(); int CreateInit(); - cPhs__Step create(); + cPhs_Step create(); int getDemoAction(); void demoProc(); void calcGoal(cXyz*, int); diff --git a/include/d/actor/d_a_door_bossL1.h b/include/d/actor/d_a_door_bossL1.h index 855cda204f..81d9f5b844 100644 --- a/include/d/actor/d_a_door_bossL1.h +++ b/include/d/actor/d_a_door_bossL1.h @@ -1,7 +1,7 @@ #ifndef D_A_DOOR_BOSSL1_H #define D_A_DOOR_BOSSL1_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor.h" #include "d/d_bg_w.h" #include "d/d_bg_s_acch.h" diff --git a/include/d/actor/d_a_door_bossL5.h b/include/d/actor/d_a_door_bossL5.h index e980dcb7d3..11e7bf7843 100644 --- a/include/d/actor/d_a_door_bossL5.h +++ b/include/d/actor/d_a_door_bossL5.h @@ -1,7 +1,7 @@ #ifndef D_A_DOOR_BOSSL5_H #define D_A_DOOR_BOSSL5_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor.h" #include "SSystem/SComponent/c_phase.h" #include "d/d_bg_w.h" diff --git a/include/d/actor/d_a_door_mbossL1.h b/include/d/actor/d_a_door_mbossL1.h index 71b8a18514..ce2be23aa0 100644 --- a/include/d/actor/d_a_door_mbossL1.h +++ b/include/d/actor/d_a_door_mbossL1.h @@ -1,7 +1,7 @@ #ifndef D_A_DOOR_MBOSSL1_H #define D_A_DOOR_MBOSSL1_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor.h" #include "SSystem/SComponent/c_phase.h" #include "d/d_bg_w.h" diff --git a/include/d/actor/d_a_door_shutter.h b/include/d/actor/d_a_door_shutter.h index c414a8e585..5df7c2f4af 100644 --- a/include/d/actor/d_a_door_shutter.h +++ b/include/d/actor/d_a_door_shutter.h @@ -1,7 +1,7 @@ #ifndef D_A_DOOR_SHUTTER_H #define D_A_DOOR_SHUTTER_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor.h" #include "SSystem/SComponent/c_phase.h" #include "d/d_bg_w.h" diff --git a/include/d/actor/d_a_e_db_leaf.h b/include/d/actor/d_a_e_db_leaf.h index 7072c2d2e8..2a19d4b01b 100644 --- a/include/d/actor/d_a_e_db_leaf.h +++ b/include/d/actor/d_a_e_db_leaf.h @@ -2,7 +2,7 @@ #define D_A_E_DB_LEAF_H #include "d/d_com_inf_game.h" -#include "dolphin/types.h" +#include /** * @ingroup actors-enemies diff --git a/include/d/actor/d_a_e_dt.h b/include/d/actor/d_a_e_dt.h index 9eb4e2c8e3..1296a78e5b 100644 --- a/include/d/actor/d_a_e_dt.h +++ b/include/d/actor/d_a_e_dt.h @@ -74,7 +74,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); bool isFlyingAttack() { return mFlyingAttack; } bool isFlyingAttackLand() { return mFlyingAttackLand; } diff --git a/include/d/actor/d_a_e_fb.h b/include/d/actor/d_a_e_fb.h index 7388ff15f2..3e8734b8b6 100644 --- a/include/d/actor/d_a_e_fb.h +++ b/include/d/actor/d_a_e_fb.h @@ -37,7 +37,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); daE_FB_c(); private: diff --git a/include/d/actor/d_a_e_gm.h b/include/d/actor/d_a_e_gm.h index d5e03ac68c..370dea9150 100644 --- a/include/d/actor/d_a_e_gm.h +++ b/include/d/actor/d_a_e_gm.h @@ -51,7 +51,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); void InstantKill() { field_0xa76 = 1; } u8 CheckDeath() { return field_0xa68; } diff --git a/include/d/actor/d_a_e_oc.h b/include/d/actor/d_a_e_oc.h index c3306376fd..ada1b5310b 100644 --- a/include/d/actor/d_a_e_oc.h +++ b/include/d/actor/d_a_e_oc.h @@ -77,7 +77,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); bool isHomeWait() { return mIsHomeWait; } bool isBattleOn() { return mBattleOn; } diff --git a/include/d/actor/d_a_e_oct_bg.h b/include/d/actor/d_a_e_oct_bg.h index 1bb57b1bed..7c54d6e84b 100644 --- a/include/d/actor/d_a_e_oct_bg.h +++ b/include/d/actor/d_a_e_oct_bg.h @@ -1,7 +1,7 @@ #ifndef D_A_E_OCT_BG_H #define D_A_E_OCT_BG_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor.h" #include "d/d_bg_s_acch.h" #include "Z2AudioLib/Z2Creature.h" diff --git a/include/d/actor/d_a_e_ot.h b/include/d/actor/d_a_e_ot.h index 7fd5ecef59..54e8399b7b 100644 --- a/include/d/actor/d_a_e_ot.h +++ b/include/d/actor/d_a_e_ot.h @@ -38,7 +38,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int getChildNo() { return mChildNo; } int getActionMode() { return mAction; } diff --git a/include/d/actor/d_a_e_pm.h b/include/d/actor/d_a_e_pm.h index bafc71cc88..9077a4d56d 100644 --- a/include/d/actor/d_a_e_pm.h +++ b/include/d/actor/d_a_e_pm.h @@ -77,7 +77,7 @@ public: void setGakkiBaseMtx(); void setLampBaseMtx(); void SkipChk(); - cPhs__Step Create(); + cPhs_Step Create(); void AppearSet() { mAppear = true; } u8 ActionChk() { return mPuppetDelete; } diff --git a/include/d/actor/d_a_e_sb.h b/include/d/actor/d_a_e_sb.h index e72f74ea27..e015ecc5bc 100644 --- a/include/d/actor/d_a_e_sb.h +++ b/include/d/actor/d_a_e_sb.h @@ -56,7 +56,7 @@ public: int Draw(); int Delete(); void setBaseMtx(); - cPhs__Step Create(); + cPhs_Step Create(); private: /* 0x5AC */ int field_0x5ac; /* 0x5B0 */ int field_0x5b0; diff --git a/include/d/actor/d_a_e_sm.h b/include/d/actor/d_a_e_sm.h index b20115910a..d19294eafb 100644 --- a/include/d/actor/d_a_e_sm.h +++ b/include/d/actor/d_a_e_sm.h @@ -55,7 +55,7 @@ public: int Delete(); int CreateHeap(); void initCoSph(); - cPhs__Step Create(); + cPhs_Step Create(); daE_SM_c(); /* 0x05AC */ request_of_phase_process_class mPhase; diff --git a/include/d/actor/d_a_e_sw.h b/include/d/actor/d_a_e_sw.h index 46cebe726a..b073dae952 100644 --- a/include/d/actor/d_a_e_sw.h +++ b/include/d/actor/d_a_e_sw.h @@ -55,7 +55,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); void d_setAction(void (daE_SW_c::*)()); void d_checkFall(); void d_damage_check(); diff --git a/include/d/actor/d_a_e_tk.h b/include/d/actor/d_a_e_tk.h index ef9befab0d..7d554a3df4 100644 --- a/include/d/actor/d_a_e_tk.h +++ b/include/d/actor/d_a_e_tk.h @@ -6,6 +6,7 @@ #include "d/d_cc_uty.h" #include "d/d_path.h" #include "f_op/f_op_actor.h" +#include "m_Do/m_Do_ext.h" /** * @ingroup actors-enemies @@ -60,17 +61,18 @@ public: STATIC_ASSERT(sizeof(e_tk_class) == 0xA64); -class daE_TK_HIO_c { +class daE_TK_HIO_c : public JORReflexible { public: daE_TK_HIO_c(); - virtual ~daE_TK_HIO_c() {} + void genMessage(JORMContext*); + virtual ~daE_TK_HIO_c() {}; - /* 0x04 */ s8 field_0x04; - /* 0x08 */ f32 mRadiusScale; - /* 0x0C */ f32 mPlayerRange1; - /* 0x10 */ f32 mPlayerRange2; - /* 0x14 */ f32 mSpeedModifier1; - /* 0x18 */ f32 mSpeedModifier2; + /* 0x04 */ s8 mNo; + /* 0x08 */ f32 mBaseSize; + /* 0x0C */ f32 mPlayerDetectionDistanceNear; + /* 0x10 */ f32 mPlayerDetectionDistanceFar; + /* 0x14 */ f32 mSwimSpeedModifier; + /* 0x18 */ f32 mFleeSpeedModifier; }; STATIC_ASSERT(sizeof(daE_TK_HIO_c) == 0x1C); diff --git a/include/d/actor/d_a_e_tk2.h b/include/d/actor/d_a_e_tk2.h index 4af171d709..e4d29cf674 100644 --- a/include/d/actor/d_a_e_tk2.h +++ b/include/d/actor/d_a_e_tk2.h @@ -5,6 +5,7 @@ #include "d/d_cc_d.h" #include "d/d_cc_uty.h" #include "f_op/f_op_actor.h" +#include "m_Do/m_Do_ext.h" /** * @ingroup actors-enemies @@ -54,17 +55,18 @@ public: STATIC_ASSERT(sizeof(e_tk2_class) == 0xA50); -class daE_TK2_HIO_c { +class daE_TK2_HIO_c : public JORReflexible { public: daE_TK2_HIO_c(); virtual ~daE_TK2_HIO_c() {}; + void genMessage(JORMContext *); - /* 0x04 */ s8 field_0x04; - /* 0x08 */ f32 mRadiusScale; - /* 0x0C */ f32 mPlayerRange1; - /* 0x10 */ f32 mPlayerRange2; - /* 0x14 */ f32 mSpeedModifier1; /* Unused */ - /* 0x18 */ f32 mSpeedModifier2; /* Unused */ + /* 0x04 */ s8 mNo; + /* 0x08 */ f32 mBaseSize; + /* 0x0C */ f32 mPlayerDetectionDistanceNear; + /* 0x10 */ f32 mPlayerDetectionDistanceFar; + /* 0x14 */ f32 mSwimSpeedModifier; /* Unused */ + /* 0x18 */ f32 mFleeSpeedModifier; /* Unused */ }; STATIC_ASSERT(sizeof(daE_TK2_HIO_c) == 0x1C); diff --git a/include/d/actor/d_a_e_ymb.h b/include/d/actor/d_a_e_ymb.h index c6f8ae695d..6f804bb05c 100644 --- a/include/d/actor/d_a_e_ymb.h +++ b/include/d/actor/d_a_e_ymb.h @@ -78,7 +78,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int getMaxLockAttack() { return 6; } u8 getSwitchBit() { return mSwitchBit; } diff --git a/include/d/actor/d_a_e_zh.h b/include/d/actor/d_a_e_zh.h index 8fd29035e8..0c184acc5d 100644 --- a/include/d/actor/d_a_e_zh.h +++ b/include/d/actor/d_a_e_zh.h @@ -52,7 +52,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); daE_ZH_c(); /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/d/actor/d_a_e_zm.h b/include/d/actor/d_a_e_zm.h index 8c5ce67fcd..ef79e25933 100644 --- a/include/d/actor/d_a_e_zm.h +++ b/include/d/actor/d_a_e_zm.h @@ -35,7 +35,7 @@ public: int execute(); int _delete(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); /* 0x5AC */ request_of_phase_process_class mPhase; /* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf; diff --git a/include/d/actor/d_a_fr.h b/include/d/actor/d_a_fr.h index 67f87f137b..cf44361b89 100644 --- a/include/d/actor/d_a_fr.h +++ b/include/d/actor/d_a_fr.h @@ -4,7 +4,7 @@ #include "d/d_bg_s_acch.h" #include "d/d_cc_d.h" #include "d/d_msg_flow.h" -#include "dolphin/types.h" +#include #include "SSystem/SComponent/c_phase.h" #include "f_op/f_op_actor_mng.h" diff --git a/include/d/actor/d_a_horse.h b/include/d/actor/d_a_horse.h index a7673635b6..1a5f1d784b 100644 --- a/include/d/actor/d_a_horse.h +++ b/include/d/actor/d_a_horse.h @@ -277,7 +277,7 @@ public: u32 checkCutTurnCancel() const { return checkEndResetStateFlg0(ERFLG0_CUT_TURN_CANCEL); } u32 checkTurnCancelKeep() const { return checkStateFlg0(FLG0_TURN_CANCEL_KEEP); } u32 checkRodeoLeft() const { return checkStateFlg0(FLG0_RODEO_LEFT); } - u32 checkHorseCallWait() const { return checkStateFlg0(FLG0_NO_DRAW_WAIT); } + u32 checkHorseCallWait() { return checkStateFlg0(FLG0_NO_DRAW_WAIT); } BOOL checkTurn() const { return m_procID == PROC_TURN_e && field_0x1720 == 0; } BOOL checkStop() const { return m_procID == PROC_STOP_e; } BOOL checkJump() const { return m_procID == PROC_JUMP_e; } diff --git a/include/d/actor/d_a_kytag12.h b/include/d/actor/d_a_kytag12.h index fdfe133898..a043aafaad 100644 --- a/include/d/actor/d_a_kytag12.h +++ b/include/d/actor/d_a_kytag12.h @@ -1,7 +1,7 @@ #ifndef D_A_KYTAG12_H #define D_A_KYTAG12_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor_mng.h" /** diff --git a/include/d/actor/d_a_kytag13.h b/include/d/actor/d_a_kytag13.h index 9a4916f903..e03d9c579c 100644 --- a/include/d/actor/d_a_kytag13.h +++ b/include/d/actor/d_a_kytag13.h @@ -1,7 +1,7 @@ #ifndef D_A_KYTAG13_H #define D_A_KYTAG13_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor_mng.h" /** diff --git a/include/d/actor/d_a_midna.h b/include/d/actor/d_a_midna.h index a4f6bba546..c9e84ee9d4 100644 --- a/include/d/actor/d_a_midna.h +++ b/include/d/actor/d_a_midna.h @@ -253,7 +253,7 @@ public: int initInvModel(u16, J3DModel**, mDoExt_invisibleModel*, u32); int initDemoModel(J3DModel**, char const*, u32); int createHeap(); - cPhs__Step create(); + cPhs_Step create(); void allAnimePlay(); void setMatrix(); void setBodyPartMatrix(); diff --git a/include/d/actor/d_a_ni.h b/include/d/actor/d_a_ni.h index a4acbd2a4a..b2012c5bd4 100644 --- a/include/d/actor/d_a_ni.h +++ b/include/d/actor/d_a_ni.h @@ -58,8 +58,7 @@ public: mDoMtx_stack_c::multVecZero(&newPos); current.pos = newPos; old.pos = current.pos; - speed.y = 0.0f; - speedF = 0.0f; + speedF = speed.y = 0.0f; mpMorf->getModel()->setBaseTRMtx(mtx); } diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index 53a839e74a..471ed5a72a 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -818,6 +818,12 @@ STATIC_ASSERT(sizeof(daNpcT_c) == 0xE40); fopAcM_OnCondition(ptr, fopAcCnd_INIT_e); \ } +#if DEBUG + #define NpcT_CHK_ACTION(ClassName) chkAction(&ClassName::test) +#else + #define NpcT_CHK_ACTION(ClassName) FALSE +#endif + BOOL daNpcT_chkEvtBit(u32 i_idx); BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, BOOL param_4); u8 daNpcT_getDistTableIdx(int param_0, int param_1); diff --git a/include/d/actor/d_a_npc4.h b/include/d/actor/d_a_npc4.h index 7c311d0733..8b82886e62 100644 --- a/include/d/actor/d_a_npc4.h +++ b/include/d/actor/d_a_npc4.h @@ -388,7 +388,7 @@ public: } BOOL checkHide() { return mHide || (mTwilight && !dComIfGs_wolfeye_effect_check()); } void setIntDemander(fopAc_ac_c* i_actor) { field_0x824.entry(i_actor); } - void setIntFlowNodeNo(int i_flowNodeNo) { mFlowNodeNo = i_flowNodeNo; } + void setIntFlowNodeNo(s32 i_flowNodeNo) { mFlowNodeNo = i_flowNodeNo; } void setCutType(int i_cutType) { mCutType = i_cutType; } void onInterrupt(u8 param_0) { field_0x9ef = param_0; } void onHide() { mHide = true; } diff --git a/include/d/actor/d_a_npc_aru.h b/include/d/actor/d_a_npc_aru.h index 7a68ea7673..84496ea6d6 100644 --- a/include/d/actor/d_a_npc_aru.h +++ b/include/d/actor/d_a_npc_aru.h @@ -94,7 +94,7 @@ public: typedef int (daNpc_Aru_c::*cutFunc)(int); ~daNpc_Aru_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); @@ -152,7 +152,9 @@ public: daNpcT_evtData_c const* i_evtData, char** i_arcNames) : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, - i_arcNames) {} + i_arcNames) { + OS_REPORT("|%06d:%x|daNpc_Aru_c -> コンストラクト\n", g_Counter.mCounter0, this); + } u16 getEyeballMaterialNo() { return ARU_EYEBALL_M; } s32 getHeadJointNo() { return JNT_HEAD; } s32 getNeckJointNo() { return JNT_NECK; } @@ -164,13 +166,9 @@ public: int getFlowNodeNo() { u16 nodeNo = home.angle.x; - if (nodeNo == 0xffff) { - return -1; - } - - return nodeNo; + return (nodeNo == 0xFFFF) ? -1 : nodeNo; } - int getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } + u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } void setLastIn() { mLastGoatIn = true; } static char* mCutNameList[7]; diff --git a/include/d/actor/d_a_npc_ash.h b/include/d/actor/d_a_npc_ash.h index 62d9fce84f..084569a66e 100644 --- a/include/d/actor/d_a_npc_ash.h +++ b/include/d/actor/d_a_npc_ash.h @@ -96,7 +96,7 @@ public: public: daNpcAsh_c(); ~daNpcAsh_c(); - cPhs__Step Create(); + cPhs_Step Create(); BOOL CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_ashB.h b/include/d/actor/d_a_npc_ashB.h index 300d21b224..cbba17f4c5 100644 --- a/include/d/actor/d_a_npc_ashB.h +++ b/include/d/actor/d_a_npc_ashB.h @@ -100,7 +100,7 @@ public: public: daNpcAshB_c(); ~daNpcAshB_c(); - cPhs__Step Create(); + cPhs_Step Create(); BOOL CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_bans.h b/include/d/actor/d_a_npc_bans.h index 4826be2789..7c60822f5e 100644 --- a/include/d/actor/d_a_npc_bans.h +++ b/include/d/actor/d_a_npc_bans.h @@ -45,7 +45,7 @@ public: typedef int (daNpc_Bans_c::*cutFunc)(int); ~daNpc_Bans_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_besu.h b/include/d/actor/d_a_npc_besu.h index 173f970b8d..c4b1e3cf91 100644 --- a/include/d/actor/d_a_npc_besu.h +++ b/include/d/actor/d_a_npc_besu.h @@ -104,6 +104,7 @@ public: int nurse(void*); int giveHotWater(void*); int talk(void*); + BOOL test(void* param_0); daNpc_Besu_c( daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, daNpcT_motionAnmData_c const* i_motionAnmData, diff --git a/include/d/actor/d_a_npc_bou.h b/include/d/actor/d_a_npc_bou.h index 99b44169b5..67c4403714 100644 --- a/include/d/actor/d_a_npc_bou.h +++ b/include/d/actor/d_a_npc_bou.h @@ -153,8 +153,7 @@ public: BOOL speakTo() { if (mType == 4) { if (current.pos.absXZ(daPy_getPlayerActorClass()->current.pos) < 1100.0f && strlen(mpEvtData[5].eventName) != 0) { - u32 len = strlen(mpArcNames[mpEvtData[5].num]); - if (len != 0) { + if (strlen(mpArcNames[mpEvtData[5].num]) != 0) { eventInfo.setArchiveName(mpArcNames[mpEvtData[5].num]); dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); } diff --git a/include/d/actor/d_a_npc_bouS.h b/include/d/actor/d_a_npc_bouS.h index ff4f23700e..bd3b1ff0b6 100644 --- a/include/d/actor/d_a_npc_bouS.h +++ b/include/d/actor/d_a_npc_bouS.h @@ -53,7 +53,7 @@ public: daNpcBouS_c(); ~daNpcBouS_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_cd2.h b/include/d/actor/d_a_npc_cd2.h index b306e36daa..85ec30b4e2 100644 --- a/include/d/actor/d_a_npc_cd2.h +++ b/include/d/actor/d_a_npc_cd2.h @@ -5,7 +5,7 @@ #include "d/actor/d_a_tag_escape.h" #include "d/d_npc_lib.h" #include "d/d_path.h" -#include "dolphin/types.h" +#include enum { MdlMANa_e = 0, diff --git a/include/d/actor/d_a_npc_chat.h b/include/d/actor/d_a_npc_chat.h index 1e959b4bde..67814c27cc 100644 --- a/include/d/actor/d_a_npc_chat.h +++ b/include/d/actor/d_a_npc_chat.h @@ -49,13 +49,13 @@ public: J3DModel* ObjCreate(int); J3DModel* ChairCreate(f32); bool isM_(); - cPhs__Step loadResrc(int, int); + cPhs_Step loadResrc(int, int); J3DModelData* getNpcMdlDataP(int); J3DModelData* getObjMdlDataP(int); J3DAnmTexPattern* getTexAnmP(int); BOOL removeResrc(int, int); BOOL setAttention(int); - cPhs__Step Create(); + cPhs_Step Create(); BOOL CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_coach.h b/include/d/actor/d_a_npc_coach.h index 8d6a2446a7..d5ee60e2cf 100644 --- a/include/d/actor/d_a_npc_coach.h +++ b/include/d/actor/d_a_npc_coach.h @@ -245,7 +245,7 @@ public: void calcHorsePath(); int draw(); ~daNpcCoach_c(); - cPhs__Step create(); + cPhs_Step create(); void create_init(); inline void initCollision(); void initBaseMtx(); diff --git a/include/d/actor/d_a_npc_doorboy.h b/include/d/actor/d_a_npc_doorboy.h index 536f0d0961..cc7261d64c 100644 --- a/include/d/actor/d_a_npc_doorboy.h +++ b/include/d/actor/d_a_npc_doorboy.h @@ -45,7 +45,7 @@ public: daNpcDoorBoy_c(); ~daNpcDoorBoy_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_fairy.h b/include/d/actor/d_a_npc_fairy.h index 09bed565c5..3ab5901281 100644 --- a/include/d/actor/d_a_npc_fairy.h +++ b/include/d/actor/d_a_npc_fairy.h @@ -161,7 +161,7 @@ public: typedef int (daNpc_Fairy_c::*cutFunc)(int); ~daNpc_Fairy_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); void setAnmData(); bool setMotionAnm(int, f32, int); diff --git a/include/d/actor/d_a_npc_fguard.h b/include/d/actor/d_a_npc_fguard.h index 9a062bdf14..4c2eddb877 100644 --- a/include/d/actor/d_a_npc_fguard.h +++ b/include/d/actor/d_a_npc_fguard.h @@ -16,7 +16,7 @@ class daNpcFgd_c : public daNpcCd2_c { public: void initPosAngle(Vec&, s16); - cPhs__Step create(); + cPhs_Step create(); void create_init(); inline virtual ~daNpcFgd_c(); diff --git a/include/d/actor/d_a_npc_grc.h b/include/d/actor/d_a_npc_grc.h index 2342adcd8e..0375dbd17f 100644 --- a/include/d/actor/d_a_npc_grc.h +++ b/include/d/actor/d_a_npc_grc.h @@ -47,7 +47,7 @@ public: daNpc_grC_c(); ~daNpc_grC_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_grm.h b/include/d/actor/d_a_npc_grm.h index e3e6f1f45a..866c4f342e 100644 --- a/include/d/actor/d_a_npc_grm.h +++ b/include/d/actor/d_a_npc_grm.h @@ -82,7 +82,7 @@ public: }; ~daNpc_grM_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_grmc.h b/include/d/actor/d_a_npc_grmc.h index 7d1bef1381..b5c72e7d10 100644 --- a/include/d/actor/d_a_npc_grmc.h +++ b/include/d/actor/d_a_npc_grmc.h @@ -74,7 +74,7 @@ public: typedef int (daNpc_grMC_c::*actionFunc)(void*); ~daNpc_grMC_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_gro.h b/include/d/actor/d_a_npc_gro.h index 259e188df6..f83cf1957a 100644 --- a/include/d/actor/d_a_npc_gro.h +++ b/include/d/actor/d_a_npc_gro.h @@ -44,7 +44,7 @@ public: daNpc_grO_c(); ~daNpc_grO_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_grr.h b/include/d/actor/d_a_npc_grr.h index 4dfed0b3fe..0fdd240f9b 100644 --- a/include/d/actor/d_a_npc_grr.h +++ b/include/d/actor/d_a_npc_grr.h @@ -45,7 +45,7 @@ public: typedef int (daNpc_grR_c::*actionFunc)(void*); daNpc_grR_c(); ~daNpc_grR_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_grz.h b/include/d/actor/d_a_npc_grz.h index 08ac9889bf..d7c947f19e 100644 --- a/include/d/actor/d_a_npc_grz.h +++ b/include/d/actor/d_a_npc_grz.h @@ -64,7 +64,7 @@ public: daNpc_Grz_c(); ~daNpc_Grz_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_gwolf.h b/include/d/actor/d_a_npc_gwolf.h index 2bcab4be53..adcdb75adb 100644 --- a/include/d/actor/d_a_npc_gwolf.h +++ b/include/d/actor/d_a_npc_gwolf.h @@ -53,7 +53,7 @@ public: typedef BOOL (daNpc_GWolf_c::*cutFunc)(int); daNpc_GWolf_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_ins.h b/include/d/actor/d_a_npc_ins.h index 20e960a414..0437a01e30 100644 --- a/include/d/actor/d_a_npc_ins.h +++ b/include/d/actor/d_a_npc_ins.h @@ -52,7 +52,7 @@ public: daNpcIns_c(); ~daNpcIns_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_kasi_hana.h b/include/d/actor/d_a_npc_kasi_hana.h index f1a3bd534b..54b0cf914b 100644 --- a/include/d/actor/d_a_npc_kasi_hana.h +++ b/include/d/actor/d_a_npc_kasi_hana.h @@ -123,7 +123,7 @@ public: daNpcKasiHana_c(); ~daNpcKasiHana_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_kasi_kyu.h b/include/d/actor/d_a_npc_kasi_kyu.h index bbf2f10238..9ca549e46c 100644 --- a/include/d/actor/d_a_npc_kasi_kyu.h +++ b/include/d/actor/d_a_npc_kasi_kyu.h @@ -47,7 +47,7 @@ public: daNpcKasiKyu_c(); ~daNpcKasiKyu_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_kasi_mich.h b/include/d/actor/d_a_npc_kasi_mich.h index 1237167f6a..9f38d3dd1c 100644 --- a/include/d/actor/d_a_npc_kasi_mich.h +++ b/include/d/actor/d_a_npc_kasi_mich.h @@ -48,7 +48,7 @@ public: daNpcKasiMich_c(); ~daNpcKasiMich_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_kn.h b/include/d/actor/d_a_npc_kn.h index 38061ff17c..fe30a4769f 100644 --- a/include/d/actor/d_a_npc_kn.h +++ b/include/d/actor/d_a_npc_kn.h @@ -217,6 +217,8 @@ public: s8 getActionMode() { return mActionMode; } void setTalkFlag(u8 i_flag) { field_0x15bd = i_flag; } + + bool checkBattleMode() { return true; } int create(); int CreateHeap(); diff --git a/include/d/actor/d_a_npc_kolin.h b/include/d/actor/d_a_npc_kolin.h index a314088bd0..314a29541b 100644 --- a/include/d/actor/d_a_npc_kolin.h +++ b/include/d/actor/d_a_npc_kolin.h @@ -51,7 +51,7 @@ public: typedef int (daNpc_Kolin_c::*actionFunc)(void*); ~daNpc_Kolin_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); @@ -146,8 +146,7 @@ public: } if (strlen(mpEvtData[var_r29].eventName) != 0) { - u32 len = strlen(mpArcNames[mpEvtData[var_r29].num]); - if (len != 0) { + if (strlen(mpArcNames[mpEvtData[var_r29].num]) != 0) { eventInfo.setArchiveName(mpArcNames[mpEvtData[var_r29].num]); dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); } diff --git a/include/d/actor/d_a_npc_kolinb.h b/include/d/actor/d_a_npc_kolinb.h index 28291b5943..cea3e7a3e2 100644 --- a/include/d/actor/d_a_npc_kolinb.h +++ b/include/d/actor/d_a_npc_kolinb.h @@ -99,7 +99,7 @@ public: typedef int (daNpc_Kolinb_c::*actionFunc)(void*); ~daNpc_Kolinb_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_maro.h b/include/d/actor/d_a_npc_maro.h index b7683f1656..18944ad9d7 100644 --- a/include/d/actor/d_a_npc_maro.h +++ b/include/d/actor/d_a_npc_maro.h @@ -7,7 +7,7 @@ struct daNpc_Maro_HIOParam { /* 0x00 */ daNpcT_HIOParam common; - /* 0x8C */ s16 field_0x8c; + /* 0x8C */ s16 tease_interval; }; class daNpc_Maro_Param_c { @@ -125,6 +125,7 @@ public: int arrowTutorial(void*); int talk(void*); int shop(void*); + BOOL test(void*); daNpc_Maro_c( daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, daNpcT_motionAnmData_c const* i_motionAnmData, @@ -169,16 +170,21 @@ public: static char* mCutNameList[17]; static cutFunc mCutList[17]; + u8 getGroupId() { + return (fopAcM_GetParam(this) & 0xF0000000) >> 28; + } + + u8 getPathID() { + return (fopAcM_GetParam(this) & 0xFF00) >> 8; + } + int getFlowNodeNo() { u16 nodeNo = home.angle.x; - if (nodeNo == 0xffff) { - return -1; - } - return nodeNo; + return (nodeNo == 0xFFFF) ? -1 : nodeNo; } u8 getMaxNumItem() { - return (fopAcM_GetParam(this) & 0xf000000) >> 0x18; + return (fopAcM_GetParam(this) & 0xF000000) >> 24; } private: diff --git a/include/d/actor/d_a_npc_moir.h b/include/d/actor/d_a_npc_moir.h index 59f1d27aa7..0cc8be336a 100644 --- a/include/d/actor/d_a_npc_moir.h +++ b/include/d/actor/d_a_npc_moir.h @@ -145,7 +145,7 @@ public: daNpcMoiR_c(); ~daNpcMoiR_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_pachi_besu.h b/include/d/actor/d_a_npc_pachi_besu.h index c01375b7f4..2dd99f1b98 100644 --- a/include/d/actor/d_a_npc_pachi_besu.h +++ b/include/d/actor/d_a_npc_pachi_besu.h @@ -45,7 +45,7 @@ public: typedef BOOL (daNpc_Pachi_Besu_c::*cutFunc)(int); ~daNpc_Pachi_Besu_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_pachi_maro.h b/include/d/actor/d_a_npc_pachi_maro.h index 781621dcf7..716e599ffd 100644 --- a/include/d/actor/d_a_npc_pachi_maro.h +++ b/include/d/actor/d_a_npc_pachi_maro.h @@ -77,7 +77,7 @@ public: typedef int (daNpc_Pachi_Maro_c::*cutFunc)(int); ~daNpc_Pachi_Maro_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_pachi_taro.h b/include/d/actor/d_a_npc_pachi_taro.h index daccafb1b8..b9c24cde8c 100644 --- a/include/d/actor/d_a_npc_pachi_taro.h +++ b/include/d/actor/d_a_npc_pachi_taro.h @@ -78,7 +78,7 @@ public: typedef int (daNpc_Pachi_Taro_c::*cutFunc)(int); ~daNpc_Pachi_Taro_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_passer.h b/include/d/actor/d_a_npc_passer.h index 32cf74c582..f6c05ae7a5 100644 --- a/include/d/actor/d_a_npc_passer.h +++ b/include/d/actor/d_a_npc_passer.h @@ -29,7 +29,7 @@ public: ~daNpcPasser_c(); int createHeap(); - cPhs__Step create(); + cPhs_Step create(); int execute(); int draw(); void setAction(daNpcPasser_c::Mode_e); diff --git a/include/d/actor/d_a_npc_passer2.h b/include/d/actor/d_a_npc_passer2.h index c777c254fc..529b99fc35 100644 --- a/include/d/actor/d_a_npc_passer2.h +++ b/include/d/actor/d_a_npc_passer2.h @@ -28,7 +28,7 @@ public: void executePath(); void setAngle(); void pathMoveF(); - cPhs__Step create(); + cPhs_Step create(); void create_init(); inline ~daNpcPasser2_c(); diff --git a/include/d/actor/d_a_npc_post.h b/include/d/actor/d_a_npc_post.h index 0119805647..91b6396ed8 100644 --- a/include/d/actor/d_a_npc_post.h +++ b/include/d/actor/d_a_npc_post.h @@ -83,7 +83,7 @@ public: typedef int (daNpc_Post_c::*cutFunc)(int); ~daNpc_Post_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_raca.h b/include/d/actor/d_a_npc_raca.h index abeb1e6572..42a3229e8f 100644 --- a/include/d/actor/d_a_npc_raca.h +++ b/include/d/actor/d_a_npc_raca.h @@ -84,7 +84,7 @@ public: typedef int (daNpc_Raca_c::*cutFunc)(int); ~daNpc_Raca_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_seirei.h b/include/d/actor/d_a_npc_seirei.h index c23f7ed4de..8e42d1a035 100644 --- a/include/d/actor/d_a_npc_seirei.h +++ b/include/d/actor/d_a_npc_seirei.h @@ -47,7 +47,7 @@ public: typedef BOOL (daNpc_Seirei_c::*cutFunc)(int); ~daNpc_Seirei_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_shad.h b/include/d/actor/d_a_npc_shad.h index 2168beca28..0afc724746 100644 --- a/include/d/actor/d_a_npc_shad.h +++ b/include/d/actor/d_a_npc_shad.h @@ -140,7 +140,7 @@ public: daNpcShad_c(); virtual ~daNpcShad_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_shaman.h b/include/d/actor/d_a_npc_shaman.h index 68bddcc500..5f0a26b52f 100644 --- a/include/d/actor/d_a_npc_shaman.h +++ b/include/d/actor/d_a_npc_shaman.h @@ -44,7 +44,7 @@ public: typedef BOOL (daNpc_Sha_c::*queryFunc)(); ~daNpc_Sha_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_shoe.h b/include/d/actor/d_a_npc_shoe.h index f706159d7a..0b96f8567b 100644 --- a/include/d/actor/d_a_npc_shoe.h +++ b/include/d/actor/d_a_npc_shoe.h @@ -62,7 +62,7 @@ public: daNpcShoe_c(); ~daNpcShoe_c(); - cPhs__Step Create(); + cPhs_Step Create(); BOOL CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_soldierA.h b/include/d/actor/d_a_npc_soldierA.h index d8e9ce3cbf..cc841c7092 100644 --- a/include/d/actor/d_a_npc_soldierA.h +++ b/include/d/actor/d_a_npc_soldierA.h @@ -44,7 +44,7 @@ public: daNpc_SoldierA_c(); ~daNpc_SoldierA_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_soldierB.h b/include/d/actor/d_a_npc_soldierB.h index 5f2f222b30..6e864b0cd2 100644 --- a/include/d/actor/d_a_npc_soldierB.h +++ b/include/d/actor/d_a_npc_soldierB.h @@ -43,7 +43,7 @@ public: daNpc_SoldierB_c(); ~daNpc_SoldierB_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_the.h b/include/d/actor/d_a_npc_the.h index 9bf13dbfef..6e9a24d42b 100644 --- a/include/d/actor/d_a_npc_the.h +++ b/include/d/actor/d_a_npc_the.h @@ -129,7 +129,7 @@ public: BOOL test(void*); BOOL EvCut_TwResistance(int); BOOL EvCut_Introduction(int); - cPhs__Step create(); + cPhs_Step create(); void reset(); /* inline */ inline int Draw(); inline void setParam(); diff --git a/include/d/actor/d_a_npc_theB.h b/include/d/actor/d_a_npc_theB.h index 0eb8ab4db5..9179ddd652 100644 --- a/include/d/actor/d_a_npc_theB.h +++ b/include/d/actor/d_a_npc_theB.h @@ -80,7 +80,7 @@ public: daNpcTheB_c(); ~daNpcTheB_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_tkc.h b/include/d/actor/d_a_npc_tkc.h index 20f6852ed8..ab2c871be2 100644 --- a/include/d/actor/d_a_npc_tkc.h +++ b/include/d/actor/d_a_npc_tkc.h @@ -59,7 +59,7 @@ public: daNpcTkc_c(); ~daNpcTkc_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_tks.h b/include/d/actor/d_a_npc_tks.h index 6f908fd7e0..c2f7e6ff53 100644 --- a/include/d/actor/d_a_npc_tks.h +++ b/include/d/actor/d_a_npc_tks.h @@ -73,7 +73,7 @@ public: daNpcTks_c(); ~daNpcTks_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_toby.h b/include/d/actor/d_a_npc_toby.h index 835767d6c2..2168d28947 100644 --- a/include/d/actor/d_a_npc_toby.h +++ b/include/d/actor/d_a_npc_toby.h @@ -1,7 +1,7 @@ #ifndef D_A_NPC_TOBY_H #define D_A_NPC_TOBY_H -#include "dolphin/types.h" +#include #include "d/actor/d_a_npc.h" struct daNpc_Toby_HIOParam { diff --git a/include/d/actor/d_a_npc_wrestler.h b/include/d/actor/d_a_npc_wrestler.h index f19de06fb5..e9df8ff516 100644 --- a/include/d/actor/d_a_npc_wrestler.h +++ b/include/d/actor/d_a_npc_wrestler.h @@ -131,7 +131,7 @@ public: typedef BOOL (daNpcWrestler_c::*EventFn)(int); daNpcWrestler_c(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_yamid.h b/include/d/actor/d_a_npc_yamid.h index f4f7856ac6..77287cb6a1 100644 --- a/include/d/actor/d_a_npc_yamid.h +++ b/include/d/actor/d_a_npc_yamid.h @@ -45,7 +45,7 @@ public: typedef int (daNpc_yamiD_c::*actionFunc)(void*); ~daNpc_yamiD_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_yamis.h b/include/d/actor/d_a_npc_yamis.h index 640fb431c9..1a8bc3a56b 100644 --- a/include/d/actor/d_a_npc_yamis.h +++ b/include/d/actor/d_a_npc_yamis.h @@ -44,7 +44,7 @@ public: typedef int (daNpc_yamiS_c::*actionFunc)(void*); ~daNpc_yamiS_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_yamit.h b/include/d/actor/d_a_npc_yamit.h index d43b49dedf..f2ddaea4b6 100644 --- a/include/d/actor/d_a_npc_yamit.h +++ b/include/d/actor/d_a_npc_yamit.h @@ -45,7 +45,7 @@ public: typedef int (daNpc_yamiT_c::*actionFunc)(void*); ~daNpc_yamiT_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_yelia.h b/include/d/actor/d_a_npc_yelia.h index 0b30954344..d512ad8d75 100644 --- a/include/d/actor/d_a_npc_yelia.h +++ b/include/d/actor/d_a_npc_yelia.h @@ -42,7 +42,7 @@ public: class daNpc_Yelia_c : public daNpcT_c { public: ~daNpc_Yelia_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_ykm.h b/include/d/actor/d_a_npc_ykm.h index 558e21402d..69c9d99858 100644 --- a/include/d/actor/d_a_npc_ykm.h +++ b/include/d/actor/d_a_npc_ykm.h @@ -195,7 +195,7 @@ public: typedef BOOL (daNpc_ykM_c::*ActionFn)(void*); ~daNpc_ykM_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_zanb.h b/include/d/actor/d_a_npc_zanb.h index 0e63f79d43..b2c8aa704a 100644 --- a/include/d/actor/d_a_npc_zanb.h +++ b/include/d/actor/d_a_npc_zanb.h @@ -43,7 +43,7 @@ public: typedef int (daNpc_zanB_c::*cutFunc)(int); ~daNpc_zanB_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_zelRo.h b/include/d/actor/d_a_npc_zelRo.h index 4056b4ea28..b137c3bedb 100644 --- a/include/d/actor/d_a_npc_zelRo.h +++ b/include/d/actor/d_a_npc_zelRo.h @@ -99,7 +99,7 @@ public: typedef int (daNpc_ZelRo_c::*cutFunc)(int); ~daNpc_ZelRo_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_zra.h b/include/d/actor/d_a_npc_zra.h index 76df44770d..1760d3c41d 100644 --- a/include/d/actor/d_a_npc_zra.h +++ b/include/d/actor/d_a_npc_zra.h @@ -265,7 +265,7 @@ public: daNpc_zrA_c(); ~daNpc_zrA_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_zrc.h b/include/d/actor/d_a_npc_zrc.h index 907dbe11a5..327d87beb5 100644 --- a/include/d/actor/d_a_npc_zrc.h +++ b/include/d/actor/d_a_npc_zrc.h @@ -51,7 +51,7 @@ public: daNpc_zrC_c(); ~daNpc_zrC_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_npc_zrz.h b/include/d/actor/d_a_npc_zrz.h index 259046fe1b..55a9159945 100644 --- a/include/d/actor/d_a_npc_zrz.h +++ b/include/d/actor/d_a_npc_zrz.h @@ -57,7 +57,7 @@ public: daNpc_zrZ_c(); ~daNpc_zrZ_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_obj_amiShutter.h b/include/d/actor/d_a_obj_amiShutter.h index 5d6ffd61f7..b0e881c4c0 100644 --- a/include/d/actor/d_a_obj_amiShutter.h +++ b/include/d/actor/d_a_obj_amiShutter.h @@ -33,7 +33,7 @@ public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); void moveShutter(); BOOL playerAreaCheck(); diff --git a/include/d/actor/d_a_obj_ari.h b/include/d/actor/d_a_obj_ari.h index b3abad72bb..a771b054f1 100644 --- a/include/d/actor/d_a_obj_ari.h +++ b/include/d/actor/d_a_obj_ari.h @@ -38,7 +38,7 @@ public: void setBaseMtx(); /* inline */ inline int Draw(); bool CreateChk(); - cPhs__Step create(); + cPhs_Step create(); private: /* 0x590 */ dBgS_GndChk mGndChk; diff --git a/include/d/actor/d_a_obj_avalanche.h b/include/d/actor/d_a_obj_avalanche.h index 425e74c93b..18912da8f7 100644 --- a/include/d/actor/d_a_obj_avalanche.h +++ b/include/d/actor/d_a_obj_avalanche.h @@ -1,7 +1,7 @@ #ifndef D_A_OBJ_AVALANCHE_H #define D_A_OBJ_AVALANCHE_H -#include "dolphin/types.h" +#include #include "d/d_bg_s_movebg_actor.h" #include "f_op/f_op_actor_mng.h" diff --git a/include/d/actor/d_a_obj_barDesk.h b/include/d/actor/d_a_obj_barDesk.h index 08081226f7..427e18ebdb 100644 --- a/include/d/actor/d_a_obj_barDesk.h +++ b/include/d/actor/d_a_obj_barDesk.h @@ -18,7 +18,7 @@ class daBarDesk_c : public dBgS_MoveBgActor { public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); void windowProc(); void init_modeWait(); diff --git a/include/d/actor/d_a_obj_bed.h b/include/d/actor/d_a_obj_bed.h index e889f8a590..0997e25353 100644 --- a/include/d/actor/d_a_obj_bed.h +++ b/include/d/actor/d_a_obj_bed.h @@ -4,7 +4,7 @@ #include "SSystem/SComponent/c_phase.h" #include "d/d_bg_s_acch.h" #include "f_op/f_op_actor.h" -#include "dolphin/types.h" +#include class dBgW; @@ -64,7 +64,7 @@ public: /* 0x840 */ /* vtable */ virtual ~daObj_Bed_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_obj_bmWindow.h b/include/d/actor/d_a_obj_bmWindow.h index fe49cf106a..fd04b16ccb 100644 --- a/include/d/actor/d_a_obj_bmWindow.h +++ b/include/d/actor/d_a_obj_bmWindow.h @@ -1,7 +1,7 @@ #ifndef D_A_OBJ_BMWINDOW_H #define D_A_OBJ_BMWINDOW_H -#include "dolphin/types.h" +#include #include "d/d_bg_s_movebg_actor.h" #include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" diff --git a/include/d/actor/d_a_obj_bosswarp.h b/include/d/actor/d_a_obj_bosswarp.h index 15d92d6803..9b62f1a0f6 100644 --- a/include/d/actor/d_a_obj_bosswarp.h +++ b/include/d/actor/d_a_obj_bosswarp.h @@ -32,7 +32,7 @@ public: void setBaseMtx(); int Create(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); void appear(int); void set_appear(); void disappear(int); diff --git a/include/d/actor/d_a_obj_bsGate.h b/include/d/actor/d_a_obj_bsGate.h index d5a42a8e48..6ccdb38633 100644 --- a/include/d/actor/d_a_obj_bsGate.h +++ b/include/d/actor/d_a_obj_bsGate.h @@ -23,7 +23,7 @@ public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); void moveGate(); void init_modeWait(); diff --git a/include/d/actor/d_a_obj_burnbox.h b/include/d/actor/d_a_obj_burnbox.h index 6083f83939..f87678dccc 100644 --- a/include/d/actor/d_a_obj_burnbox.h +++ b/include/d/actor/d_a_obj_burnbox.h @@ -19,7 +19,7 @@ public: void setBaseMtx(); int Create(); int CreateHeap(); - cPhs__Step create1st(); + cPhs_Step create1st(); int Execute(Mtx**); int Draw(); int Delete(); diff --git a/include/d/actor/d_a_obj_cdoor.h b/include/d/actor/d_a_obj_cdoor.h index 6e457ee281..ee06fd790c 100644 --- a/include/d/actor/d_a_obj_cdoor.h +++ b/include/d/actor/d_a_obj_cdoor.h @@ -29,7 +29,7 @@ public: virtual ~daObjCdoor_c(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); void setMatrix(); int Execute(Mtx**); void execCdoor(); diff --git a/include/d/actor/d_a_obj_chandelier.h b/include/d/actor/d_a_obj_chandelier.h index 52c0ed7044..4aae0160d8 100644 --- a/include/d/actor/d_a_obj_chandelier.h +++ b/include/d/actor/d_a_obj_chandelier.h @@ -41,7 +41,7 @@ public: void moveSwingFall(); void hookSwingInitParm(); - virtual cPhs__Step create1st(); + virtual cPhs_Step create1st(); virtual ~daObjChandelier_c(); u8 getSW_0() { return fopAcM_GetParamBit(this, 4, 8); } diff --git a/include/d/actor/d_a_obj_cho.h b/include/d/actor/d_a_obj_cho.h index e1466f50e0..49dd5332b1 100644 --- a/include/d/actor/d_a_obj_cho.h +++ b/include/d/actor/d_a_obj_cho.h @@ -43,7 +43,7 @@ public: int Delete(); void setBaseMtx(); bool CreateChk(); - cPhs__Step create(); + cPhs_Step create(); inline int Draw(); private: diff --git a/include/d/actor/d_a_obj_crvfence.h b/include/d/actor/d_a_obj_crvfence.h index 3de1e090fe..dd760bb43f 100644 --- a/include/d/actor/d_a_obj_crvfence.h +++ b/include/d/actor/d_a_obj_crvfence.h @@ -28,7 +28,7 @@ public: void Action(); void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Create(); int Execute(Mtx**); int Draw(); diff --git a/include/d/actor/d_a_obj_dan.h b/include/d/actor/d_a_obj_dan.h index c2915f79b2..15caef361a 100644 --- a/include/d/actor/d_a_obj_dan.h +++ b/include/d/actor/d_a_obj_dan.h @@ -37,7 +37,7 @@ public: void setBaseMtx(); /* inline */ inline int Draw(); bool CreateChk(); - cPhs__Step create(); + cPhs_Step create(); private: /* 0x590 */ dCcD_Stts mCcStts; diff --git a/include/d/actor/d_a_obj_fallobj.h b/include/d/actor/d_a_obj_fallobj.h index 52270b2bba..0c4efed3f3 100644 --- a/include/d/actor/d_a_obj_fallobj.h +++ b/include/d/actor/d_a_obj_fallobj.h @@ -44,9 +44,11 @@ public: int Draw(); int Delete(); - u32 getTime() { return fopAcM_GetParamBit(this, 8, 8); } - u32 getPos() { return fopAcM_GetParamBit(this, 0x14, 8); } - static BOOL checkFallStart(fopAc_ac_c* actor) { return actor->speed.y != 0.0f; } + u8 getTime() { return fopAcM_GetParamBit(this, 8, 8); } + u8 getPos() { return fopAcM_GetParamBit(this, 0x14, 8); } + bool checkFallStart() { + return this->speed.y != 0.0f; + }; private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; diff --git a/include/d/actor/d_a_obj_goGate.h b/include/d/actor/d_a_obj_goGate.h index 70fad83c80..a0a66c7f32 100644 --- a/include/d/actor/d_a_obj_goGate.h +++ b/include/d/actor/d_a_obj_goGate.h @@ -24,7 +24,7 @@ public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); void moveGate(); void init_modeWait(); diff --git a/include/d/actor/d_a_obj_gra2.h b/include/d/actor/d_a_obj_gra2.h index 2cbe9e700c..59fd35343b 100644 --- a/include/d/actor/d_a_obj_gra2.h +++ b/include/d/actor/d_a_obj_gra2.h @@ -102,7 +102,7 @@ public: static void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*); daObj_GrA_c(); ~daObj_GrA_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(Mtx**); @@ -228,11 +228,11 @@ public: cXyz getAttentionPos(fopAc_ac_c*); int standWaitJump(void*); - bool checkNpcObjGra() { return mMode == 1; } - void setCrazyDash() { field_0xa48 |= 4; } - void setCrazyCatch() { field_0xa48 |= 2; } - void setCrazyThrowLeft() { field_0xa48 |= 8; } - void setCrazyThrowRight() { field_0xa48 |= 0x10; } + u8 checkNpcObjGra() { return mMode == 1; } + void setCrazyDash() { field_0xa48 |= (u16)4; } + void setCrazyCatch() { field_0xa48 |= (u16)2; } + void setCrazyThrowLeft() { field_0xa48 |= (u16)8; } + void setCrazyThrowRight() { field_0xa48 |= (u16)0x10; } static MotionFunc mBaseMotionList[22]; static MotionFunc mFaceMotionList[14]; diff --git a/include/d/actor/d_a_obj_grave_stone.h b/include/d/actor/d_a_obj_grave_stone.h index 4f38629fbf..dee38757a3 100644 --- a/include/d/actor/d_a_obj_grave_stone.h +++ b/include/d/actor/d_a_obj_grave_stone.h @@ -31,7 +31,7 @@ public: void setRoomNo(); int Create(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); int Draw(); int Delete(); diff --git a/include/d/actor/d_a_obj_grz_rock.h b/include/d/actor/d_a_obj_grz_rock.h index e2223d1e4e..cd65d2e906 100644 --- a/include/d/actor/d_a_obj_grz_rock.h +++ b/include/d/actor/d_a_obj_grz_rock.h @@ -21,7 +21,7 @@ public: void setPrtcl(); int Create(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); int Draw(); int Delete(); diff --git a/include/d/actor/d_a_obj_h_saku.h b/include/d/actor/d_a_obj_h_saku.h index d999465808..689f1cf9aa 100644 --- a/include/d/actor/d_a_obj_h_saku.h +++ b/include/d/actor/d_a_obj_h_saku.h @@ -27,7 +27,7 @@ public: inline int Execute(Mtx**); inline int Draw(); inline int Delete(); - inline cPhs__Step create(); + inline cPhs_Step create(); /* 0x5A0 */ u8 field_0x5a0; /* 0x5A1 */ u8 field_0x5a1; diff --git a/include/d/actor/d_a_obj_hata.h b/include/d/actor/d_a_obj_hata.h index f122b84690..e0763a9c75 100644 --- a/include/d/actor/d_a_obj_hata.h +++ b/include/d/actor/d_a_obj_hata.h @@ -2,7 +2,7 @@ #define D_A_OBJ_HATA_H #include "SSystem/SComponent/c_phase.h" -#include "dolphin/types.h" +#include #include "f_op/f_op_actor.h" /** @@ -19,7 +19,7 @@ public: daObjHata_c(); virtual ~daObjHata_c(); int createHeap(); - cPhs__Step create(); + cPhs_Step create(); int Delete(); int draw(); int execute(); diff --git a/include/d/actor/d_a_obj_ikada.h b/include/d/actor/d_a_obj_ikada.h index cf8170e2b6..184f406a20 100644 --- a/include/d/actor/d_a_obj_ikada.h +++ b/include/d/actor/d_a_obj_ikada.h @@ -26,7 +26,7 @@ public: inline int Draw(); inline int Delete(); - inline cPhs__Step create(); + inline cPhs_Step create(); /* 0x5A0 */ f32 field_0x5a0; /* 0x5A4 */ f32 field_0x5a4; diff --git a/include/d/actor/d_a_obj_ita.h b/include/d/actor/d_a_obj_ita.h index c597e1615f..58fbcbe364 100644 --- a/include/d/actor/d_a_obj_ita.h +++ b/include/d/actor/d_a_obj_ita.h @@ -20,7 +20,7 @@ public: BOOL Check_RideOn(); void initBaseMtx(); void setBaseMtx(); - inline cPhs__Step create(); + inline cPhs_Step create(); inline int CreateHeap(); inline int Create(); inline int Execute(Mtx**); diff --git a/include/d/actor/d_a_obj_itamato.h b/include/d/actor/d_a_obj_itamato.h index a2a646a806..cb358289eb 100644 --- a/include/d/actor/d_a_obj_itamato.h +++ b/include/d/actor/d_a_obj_itamato.h @@ -48,7 +48,7 @@ private: public: daObj_ItaMato_c() {} virtual ~daObj_ItaMato_c(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_obj_kabuto.h b/include/d/actor/d_a_obj_kabuto.h index 7e41a20467..9738147885 100644 --- a/include/d/actor/d_a_obj_kabuto.h +++ b/include/d/actor/d_a_obj_kabuto.h @@ -44,7 +44,7 @@ public: int Delete(); void setBaseMtx(); bool CreateChk(); - cPhs__Step create(); + cPhs_Step create(); inline int Draw(); private: diff --git a/include/d/actor/d_a_obj_kag.h b/include/d/actor/d_a_obj_kag.h index 34192a871d..58692d7a8c 100644 --- a/include/d/actor/d_a_obj_kag.h +++ b/include/d/actor/d_a_obj_kag.h @@ -35,7 +35,7 @@ public: int execute(); int _delete(); void setBaseMtx(); - cPhs__Step create(); + cPhs_Step create(); void kag_setParticle(); inline int CreateHeap(); inline int draw(); diff --git a/include/d/actor/d_a_obj_kago.h b/include/d/actor/d_a_obj_kago.h index 46d1e0eb42..c2ea85d8f2 100644 --- a/include/d/actor/d_a_obj_kago.h +++ b/include/d/actor/d_a_obj_kago.h @@ -54,7 +54,7 @@ public: */ class daObj_Kago_c : public fopAc_ac_c { public: - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Delete(); int Execute(); diff --git a/include/d/actor/d_a_obj_kaisou.h b/include/d/actor/d_a_obj_kaisou.h index 53bde7d1a6..3398c24884 100644 --- a/include/d/actor/d_a_obj_kaisou.h +++ b/include/d/actor/d_a_obj_kaisou.h @@ -24,7 +24,7 @@ public: int Execute(); int Delete(); void setBaseMtx(); - cPhs__Step create(); + cPhs_Step create(); inline int CreateHeap(); inline int Draw(); diff --git a/include/d/actor/d_a_obj_kamakiri.h b/include/d/actor/d_a_obj_kamakiri.h index fb4bb124d4..9f2a2ff790 100644 --- a/include/d/actor/d_a_obj_kamakiri.h +++ b/include/d/actor/d_a_obj_kamakiri.h @@ -99,13 +99,11 @@ public: virtual ~daObj_KamHIO_c() {} void genMessage(JORMContext* context) { // Golden insect (stag beetle) - context->genLabel("黄金蟲(カブト)", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); + context->genLabel("黄金蟲(カブト)", 0x80000001); // Model scale (male) - context->genSlider("モデルスケール(オス)", &mModelScaleMale, 0.1f, 4.0f, 0, NULL, -1, -1, 0x200, - 0x18); + context->genSlider("モデルスケール(オス)", &mModelScaleMale, 0.1f, 4.0f); // Model scale (female) - context->genSlider("モデルスケール(メス)", &mModelScaleFemale, 0.1f, 4.0f, 0, NULL, -1, -1, 0x200, - 0x18); + context->genSlider("モデルスケール(メス)", &mModelScaleFemale, 0.1f, 4.0f); } s8 field_0x4; diff --git a/include/d/actor/d_a_obj_katatsumuri.h b/include/d/actor/d_a_obj_katatsumuri.h index dd1aa1e734..9a49e04a0c 100644 --- a/include/d/actor/d_a_obj_katatsumuri.h +++ b/include/d/actor/d_a_obj_katatsumuri.h @@ -100,13 +100,11 @@ public: void genMessage(JORMContext* ctx) { // Golden Snail - ctx->genLabel("黄金蟲(カタツムリ)", 0x80000001, 0, NULL, -1, -1, 0x200, 24); + ctx->genLabel("黄金蟲(カタツムリ)", 0x80000001); // Model scale (male) - ctx->genSlider("モデルスケール(オス)", &this->mScaleMale, 0.1f, 4.0f, 0, NULL, -1, -1, - 0x200, 24); + ctx->genSlider("モデルスケール(オス)", &this->mScaleMale, 0.1f, 4.0f); // Model scale (female) - ctx->genSlider("モデルスケール(メス)", &this->mScaleFemale, 0.1f, 4.0f, 0, NULL, -1, -1, - 0x200, 24); + ctx->genSlider("モデルスケール(メス)", &this->mScaleFemale, 0.1f, 4.0f); } s8 field_0x4; diff --git a/include/d/actor/d_a_obj_klift00.h b/include/d/actor/d_a_obj_klift00.h index 7c2159fefb..865fab8c47 100644 --- a/include/d/actor/d_a_obj_klift00.h +++ b/include/d/actor/d_a_obj_klift00.h @@ -16,7 +16,7 @@ */ class daObjKLift00_c : public dBgS_MoveBgActor, public request_of_phase_process_class { public: - cPhs__Step create1st(); + cPhs_Step create1st(); void setMtx(); void rideActor(fopAc_ac_c*); int CreateHeap(); diff --git a/include/d/actor/d_a_obj_kshutter.h b/include/d/actor/d_a_obj_kshutter.h index 642935eb9d..b217adef2d 100644 --- a/include/d/actor/d_a_obj_kshutter.h +++ b/include/d/actor/d_a_obj_kshutter.h @@ -15,7 +15,7 @@ class daObjKshtr_c : public dBgS_MoveBgActor { public: - typedef cPhs__Step (daObjKshtr_c::*PhaseFunc)(); + typedef cPhs_Step (daObjKshtr_c::*PhaseFunc)(); typedef void (daObjKshtr_c::*ActionFunc)(); typedef BOOL (daObjKshtr_c::*DemoFunc)(); @@ -25,10 +25,10 @@ public: void offDzb(); int CreateHeap(); void initKey(); - cPhs__Step phase_0(); - cPhs__Step phase_1(); - cPhs__Step phase_2(); - cPhs__Step create1st(); + cPhs_Step phase_0(); + cPhs_Step phase_1(); + cPhs_Step phase_2(); + cPhs_Step create1st(); void event_proc_call(); void event_proc_call2(); int Execute(Mtx**); diff --git a/include/d/actor/d_a_obj_kwheel01.h b/include/d/actor/d_a_obj_kwheel01.h index 2fab8a4982..40bc025db4 100644 --- a/include/d/actor/d_a_obj_kwheel01.h +++ b/include/d/actor/d_a_obj_kwheel01.h @@ -18,7 +18,7 @@ public: daObjKWheel01_c() : dEvLib_callback_c(this) {} ~daObjKWheel01_c() {}; - cPhs__Step create1st(); + cPhs_Step create1st(); void setMtx(); int CreateHeap(); int Create(); diff --git a/include/d/actor/d_a_obj_lv1Candle00.h b/include/d/actor/d_a_obj_lv1Candle00.h index 79032a3c5d..48fca4acb6 100644 --- a/include/d/actor/d_a_obj_lv1Candle00.h +++ b/include/d/actor/d_a_obj_lv1Candle00.h @@ -20,7 +20,7 @@ class daLv1Cdl00_c : public fopAc_ac_c { public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); static int createHeapCallBack(fopAc_ac_c*); void lightInit(); void setLight(); diff --git a/include/d/actor/d_a_obj_lv1Candle01.h b/include/d/actor/d_a_obj_lv1Candle01.h index d3663d8a17..66524cc4dc 100644 --- a/include/d/actor/d_a_obj_lv1Candle01.h +++ b/include/d/actor/d_a_obj_lv1Candle01.h @@ -18,7 +18,7 @@ class daLv1Cdl01_c : public dBgS_MoveBgActor { public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); void lightInit(); void setLight(); void cutLight(); diff --git a/include/d/actor/d_a_obj_lv2Candle.h b/include/d/actor/d_a_obj_lv2Candle.h index b5817cdfff..767480d550 100644 --- a/include/d/actor/d_a_obj_lv2Candle.h +++ b/include/d/actor/d_a_obj_lv2Candle.h @@ -18,7 +18,7 @@ class daLv2Candle_c : public fopAc_ac_c { public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); u8 isSwitch(); static int createHeapCallBack(fopAc_ac_c*); static void* searchDemoTagAct(void*, void*); diff --git a/include/d/actor/d_a_obj_lv3Candle.h b/include/d/actor/d_a_obj_lv3Candle.h index 40943fad52..0adca9d812 100644 --- a/include/d/actor/d_a_obj_lv3Candle.h +++ b/include/d/actor/d_a_obj_lv3Candle.h @@ -18,7 +18,7 @@ class daLv3Candle_c : public fopAc_ac_c { public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); static int createHeapCallBack(fopAc_ac_c*); void lightInit(); void pointLightProc(); diff --git a/include/d/actor/d_a_obj_lv3Water2.h b/include/d/actor/d_a_obj_lv3Water2.h index 37142c04c3..7bfee65c27 100644 --- a/include/d/actor/d_a_obj_lv3Water2.h +++ b/include/d/actor/d_a_obj_lv3Water2.h @@ -20,7 +20,7 @@ public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); void mode_proc_wait(); void mode_init_levelCtrl(); diff --git a/include/d/actor/d_a_obj_lv6SzGate.h b/include/d/actor/d_a_obj_lv6SzGate.h index deb25e4f12..80601341ec 100644 --- a/include/d/actor/d_a_obj_lv6SzGate.h +++ b/include/d/actor/d_a_obj_lv6SzGate.h @@ -25,7 +25,7 @@ public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); void moveGate(); void init_modeWait(); diff --git a/include/d/actor/d_a_obj_lv6bemos.h b/include/d/actor/d_a_obj_lv6bemos.h index 84fbf66c31..677d89dda5 100644 --- a/include/d/actor/d_a_obj_lv6bemos.h +++ b/include/d/actor/d_a_obj_lv6bemos.h @@ -21,7 +21,7 @@ public: void setBaseMtx(); int Create(); int CreateHeap(); - cPhs__Step create1st(); + cPhs_Step create1st(); int Execute(Mtx**); void action(); void actionWait(); diff --git a/include/d/actor/d_a_obj_lv6bemos2.h b/include/d/actor/d_a_obj_lv6bemos2.h index 90f2b0f26a..df0d1f66b2 100644 --- a/include/d/actor/d_a_obj_lv6bemos2.h +++ b/include/d/actor/d_a_obj_lv6bemos2.h @@ -22,7 +22,7 @@ public: void setBaseMtx(); int Create(); int CreateHeap(); - cPhs__Step create1st(); + cPhs_Step create1st(); int Execute(Mtx**); void action(); void calcBeam(); diff --git a/include/d/actor/d_a_obj_magne_arm.h b/include/d/actor/d_a_obj_magne_arm.h index 3b610935f0..fe46a3fbfc 100644 --- a/include/d/actor/d_a_obj_magne_arm.h +++ b/include/d/actor/d_a_obj_magne_arm.h @@ -49,9 +49,9 @@ public: void setBaseMtx(); int Create(); int CreateHeap(); - cPhs__Step phase_0(); - cPhs__Step phase_1(); - cPhs__Step phase_2(); + cPhs_Step phase_0(); + cPhs_Step phase_1(); + cPhs_Step phase_2(); int create1st(); int Execute(Mtx**); void action(); diff --git a/include/d/actor/d_a_obj_mirror_chain.h b/include/d/actor/d_a_obj_mirror_chain.h index 723466ae06..106272f116 100644 --- a/include/d/actor/d_a_obj_mirror_chain.h +++ b/include/d/actor/d_a_obj_mirror_chain.h @@ -42,7 +42,7 @@ public: int execute(); inline ~daObjMirrorChain_c(); inline void create_init(); - inline cPhs__Step create(); + inline cPhs_Step create(); u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; } void setAnmSpeed(f32 speed) { mpBckAnm->setPlaySpeed(speed); } diff --git a/include/d/actor/d_a_obj_mirror_screw.h b/include/d/actor/d_a_obj_mirror_screw.h index 41f44c6a77..feeb6bf294 100644 --- a/include/d/actor/d_a_obj_mirror_screw.h +++ b/include/d/actor/d_a_obj_mirror_screw.h @@ -39,7 +39,7 @@ public: void executeWait(); void initDown(); void executeDown(); - inline cPhs__Step create(); + inline cPhs_Step create(); int CreateHeap(); inline void setBaseMtx(); inline void initBaseMtx(); diff --git a/include/d/actor/d_a_obj_mirror_table.h b/include/d/actor/d_a_obj_mirror_table.h index f573c7828f..1b99c17521 100644 --- a/include/d/actor/d_a_obj_mirror_table.h +++ b/include/d/actor/d_a_obj_mirror_table.h @@ -21,7 +21,7 @@ public: inline void setBaseMtx(); int execute(); inline ~daObjMirrorTable_c(); - cPhs__Step create(); + cPhs_Step create(); void create_init(); void initBaseMtx(); diff --git a/include/d/actor/d_a_obj_ornament_cloth.h b/include/d/actor/d_a_obj_ornament_cloth.h index 2a7e3e79ed..e0ea54b63d 100644 --- a/include/d/actor/d_a_obj_ornament_cloth.h +++ b/include/d/actor/d_a_obj_ornament_cloth.h @@ -57,7 +57,7 @@ public: inline int draw(); inline int execute(); inline ~daObjOnCloth_c(); - inline cPhs__Step create(); + inline cPhs_Step create(); const daObjOnCloth_Attr_c& attr() const { return M_attr; } diff --git a/include/d/actor/d_a_obj_saidan.h b/include/d/actor/d_a_obj_saidan.h index 4a0a75acc3..ef38588f00 100644 --- a/include/d/actor/d_a_obj_saidan.h +++ b/include/d/actor/d_a_obj_saidan.h @@ -23,7 +23,7 @@ public: void setBaseMtx(); virtual int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); virtual int Execute(Mtx**); void moveProc(); void init_modeWait(); diff --git a/include/d/actor/d_a_obj_sekizo.h b/include/d/actor/d_a_obj_sekizo.h index 272f900c5d..54fa84f5df 100644 --- a/include/d/actor/d_a_obj_sekizo.h +++ b/include/d/actor/d_a_obj_sekizo.h @@ -40,7 +40,7 @@ public: */ class daObj_Sekizo_c : public dBgS_MoveBgActor { public: - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Create(); diff --git a/include/d/actor/d_a_obj_sekizoa.h b/include/d/actor/d_a_obj_sekizoa.h index 3e3307c468..8f01206e88 100644 --- a/include/d/actor/d_a_obj_sekizoa.h +++ b/include/d/actor/d_a_obj_sekizoa.h @@ -229,45 +229,34 @@ public: } u8 getType() { - int prm = fopAcM_GetParam(this) >> 0x1C; + int prm = (fopAcM_GetParam(this) & 0xF0000000) >> 28; - u8 type; switch (argument) { case 0: switch (prm) { case 1: - type = 2; - break; + return 2; case 2: - type = 4; - break; + return 4; case 3: - type = 6; - break; + return 6; default: - type = 0; - break; + return 0; } break; case 1: switch (prm) { case 1: - type = 3; - break; + return 3; case 2: - type = 5; - break; + return 5; default: - type = 1; - break; + return 1; } break; default: - type = 0; - break; + return 0; } - - return type; } u8 getBitSW() { return fopAcM_GetParam(this) & 0xff; } @@ -304,11 +293,11 @@ public: /* 0x1124 */ daNpcT_Path_c mPath; /* 0x114C */ cXyz mCXyzJump; /* 0x1158 */ int mLatencyTime; - /* 0x115C */ float mJumpHeight; - /* 0x1160 */ float mJumpSpeed; - /* 0x1164 */ float mColsetBlend; - /* 0x1168 */ float mGoalStatueTurnSpeed; - /* 0x116C */ float mGoalStatueAngle; + /* 0x115C */ f32 mJumpHeight; + /* 0x1160 */ f32 mJumpSpeed; + /* 0x1164 */ f32 mColsetBlend; + /* 0x1168 */ f32 mGoalStatueTurnSpeed; + /* 0x116C */ f32 mGoalStatueAngle; /* 0x1170 */ s16 mPlayerDirection; /* 0x1172 */ u8 mReset; /* 0x1173 */ u8 mSetWolfHowling; diff --git a/include/d/actor/d_a_obj_sm_door.h b/include/d/actor/d_a_obj_sm_door.h index 70746d1e6b..bec15a0ae8 100644 --- a/include/d/actor/d_a_obj_sm_door.h +++ b/include/d/actor/d_a_obj_sm_door.h @@ -24,7 +24,7 @@ public: void DrawChk1(); void DrawChk2(); void setBaseMtx(); - cPhs__Step create(); + cPhs_Step create(); int CreateHeap(); int Create(); int Execute(Mtx**); diff --git a/include/d/actor/d_a_obj_smw_stone.h b/include/d/actor/d_a_obj_smw_stone.h index 6d7b499cfe..02f58284ff 100644 --- a/include/d/actor/d_a_obj_smw_stone.h +++ b/include/d/actor/d_a_obj_smw_stone.h @@ -15,7 +15,7 @@ class daSmWStone_c : public fopAc_ac_c, public request_of_phase_process_class { public: daSmWStone_c(); virtual ~daSmWStone_c(); - cPhs__Step create(); + cPhs_Step create(); int execute(); int draw(); int Delete(); diff --git a/include/d/actor/d_a_obj_snow_soup.h b/include/d/actor/d_a_obj_snow_soup.h index 490b2489c0..91c23c8f85 100644 --- a/include/d/actor/d_a_obj_snow_soup.h +++ b/include/d/actor/d_a_obj_snow_soup.h @@ -17,7 +17,7 @@ public: daObjSnowSoup_c(); virtual ~daObjSnowSoup_c(); int createHeap(); - cPhs__Step create(); + cPhs_Step create(); int Delete(); int draw(); int execute(); diff --git a/include/d/actor/d_a_obj_stopper.h b/include/d/actor/d_a_obj_stopper.h index 2a9d006609..562d5a87ca 100644 --- a/include/d/actor/d_a_obj_stopper.h +++ b/include/d/actor/d_a_obj_stopper.h @@ -5,7 +5,7 @@ #include "d/d_bg_s_movebg_actor.h" #include "d/d_cc_d.h" #include "d/d_particle.h" -#include "dolphin/types.h" +#include #include "f_op/f_op_actor_mng.h" /** diff --git a/include/d/actor/d_a_obj_swhang.h b/include/d/actor/d_a_obj_swhang.h index f7efea85cd..097da890b3 100644 --- a/include/d/actor/d_a_obj_swhang.h +++ b/include/d/actor/d_a_obj_swhang.h @@ -65,7 +65,7 @@ public: cXyz getHangPos() { return mHangPos; } void setHangPlayer() { mHangPlayer = 1; } - u8 getType() { return mType; } + int getType() { return mType; } u8 getType_private() { return fopAcM_GetParamBit(this, 28, 4); } u8 checkType() { return fopAcM_GetParamBit(this, 25, 1); } u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); } @@ -76,6 +76,7 @@ public: void clrFlag() { mFlags = 0; } void onFlag(u16 flag) { mFlags |= flag; } u16 checkFlag(u16 flag) { return mFlags & flag; } + s16 getAngleY() { return shape_angle.y; } private: /* 0x5B0 */ request_of_phase_process_class mPhase; diff --git a/include/d/actor/d_a_obj_sword.h b/include/d/actor/d_a_obj_sword.h index 5043db2233..163175ddec 100644 --- a/include/d/actor/d_a_obj_sword.h +++ b/include/d/actor/d_a_obj_sword.h @@ -18,7 +18,7 @@ public: void initBaseMtx(); void setBaseMtx(); int Create(); - cPhs__Step create(); + cPhs_Step create(); int actionWait(); int initActionOrderGetDemo(); int actionOrderGetDemo(); diff --git a/include/d/actor/d_a_obj_swpush.h b/include/d/actor/d_a_obj_swpush.h index b856f69170..c222e0f833 100644 --- a/include/d/actor/d_a_obj_swpush.h +++ b/include/d/actor/d_a_obj_swpush.h @@ -107,8 +107,8 @@ namespace daObjSwpush { bool is_switch2() const; static BOOL solidHeapCB(fopAc_ac_c*); bool create_heap(); - cPhs__Step create_res_load(); - cPhs__Step Mthd_Create(); + cPhs_Step create_res_load(); + cPhs_Step Mthd_Create(); int Mthd_Delete(); void set_mtx(); void init_mtx(); diff --git a/include/d/actor/d_a_obj_syRock.h b/include/d/actor/d_a_obj_syRock.h index 6b00a4f46b..aa662de6bd 100644 --- a/include/d/actor/d_a_obj_syRock.h +++ b/include/d/actor/d_a_obj_syRock.h @@ -20,7 +20,7 @@ public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); void setFallStat(); int Execute(Mtx**); void move(); diff --git a/include/d/actor/d_a_obj_testcube.h b/include/d/actor/d_a_obj_testcube.h index f0487e7e75..f7b6dde682 100644 --- a/include/d/actor/d_a_obj_testcube.h +++ b/include/d/actor/d_a_obj_testcube.h @@ -2,5 +2,49 @@ #define D_A_OBJ_TESTCUBE_H #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_movebg_actor.h" + +class daObjCube_c : public dBgS_MoveBgActor { +public: +#if DEBUG + daObjCube_c() {} + + void getDzbName(char*); + void getBmdName(char*); + void initBaseMtx(); + void setBaseMtx(); + int create(); + + virtual int CreateHeap(); + virtual int Create(); + virtual int Execute(Mtx**); + virtual int Draw(); + virtual int Delete(); + + /* 0x5A8 */ request_of_phase_process_class mPhase; + /* 0x5B0 */ J3DModel* mpModel; + /* 0x5B4 */ u8 mShape; + /* 0x5B5 */ u8 mNameArg; + /* 0x5B6 */ u8 field_0x5b6; +#endif +}; + +namespace daObjCube_prm { +inline u8 getNameArg(daObjCube_c* i_this) { + return fopAcM_GetParam(i_this) & 0xFF; +} + +inline u8 getShape(daObjCube_c* i_this) { + return (fopAcM_GetParam(i_this) >> 0x1C) & 7; +} + +inline u8 getSwitch(daObjCube_c* i_this) { + return (fopAcM_GetParam(i_this) >> 8) & 0xFF; +} + +inline u8 getArg0(daObjCube_c* i_this) { + return fopAcM_GetParam(i_this) >> 0x1F; +} +} #endif /* D_A_OBJ_TESTCUBE_H */ diff --git a/include/d/actor/d_a_obj_togeTrap.h b/include/d/actor/d_a_obj_togeTrap.h index 622d8226ca..161c958ce0 100644 --- a/include/d/actor/d_a_obj_togeTrap.h +++ b/include/d/actor/d_a_obj_togeTrap.h @@ -71,26 +71,22 @@ public: #if DEBUG void genMessage(JORMContext* ctx) { // Speed - ctx->genLabel("--- 速 出現時---", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("--- 速 出現時---", 0); // Initial speed - ctx->genSlider("初速", &mInitialSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("初速", &mInitialSpeed, 0.0f, 10000.0f); // Max - ctx->genSlider("最大", &mMaxSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大", &mMaxSpeed, 0.0f, 10000.0f); // Speed when pulling - ctx->genLabel("--- 速度 引っ込み時---", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("初速", &mInitialDownSpeed, 0.0, 10000.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genLabel("--- 速度 引っ込み時---", 0); + ctx->genSlider("初速", &mInitialDownSpeed, 0.0, 10000.0); // Max - ctx->genSlider("最大", &mMaxDownSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大", &mMaxDownSpeed, 0.0f, 10000.0f); // Range - ctx->genSlider("範囲", &mRange, 0.1f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("範囲", &mRange, 0.1f, 1000.0f); // Spinner speed - ctx->genSlider("スピナー速度", &mSpinnerSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("スピナー速度", &mSpinnerSpeed, 0.0f, 100.0f); // Vibration - ctx->startComboBox("振動", &mVibration, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + ctx->startComboBox("振動", &mVibration); // Strength 1-8 ctx->genComboBoxItem("強さ1", 1); ctx->genComboBoxItem("強さ2", 2); diff --git a/include/d/actor/d_a_obj_waterGate.h b/include/d/actor/d_a_obj_waterGate.h index db36c07b5e..66a076be78 100644 --- a/include/d/actor/d_a_obj_waterGate.h +++ b/include/d/actor/d_a_obj_waterGate.h @@ -19,7 +19,7 @@ class daWtGate_c : public dBgS_MoveBgActor { public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); void move(); void init_modeWait(); diff --git a/include/d/actor/d_a_obj_waterPillar.h b/include/d/actor/d_a_obj_waterPillar.h index a2eca0ec65..0a4bba4c04 100644 --- a/include/d/actor/d_a_obj_waterPillar.h +++ b/include/d/actor/d_a_obj_waterPillar.h @@ -23,7 +23,7 @@ public: void setBaseMtx(); static int createHeapCallBack(fopAc_ac_c*); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int execute(); void actionMain(); void effectSet(); diff --git a/include/d/actor/d_a_obj_waterfall.h b/include/d/actor/d_a_obj_waterfall.h index 4c20554ced..031a45d717 100644 --- a/include/d/actor/d_a_obj_waterfall.h +++ b/include/d/actor/d_a_obj_waterfall.h @@ -18,8 +18,8 @@ public: void search_arrow(); void initBaseMtx(); void setBaseMtx(); - cPhs__Step Create(); - cPhs__Step create(); + cPhs_Step Create(); + cPhs_Step create(); int execute(); void push_player(); int draw(); diff --git a/include/d/actor/d_a_obj_wchain.h b/include/d/actor/d_a_obj_wchain.h index 94df105e88..b9f791d058 100644 --- a/include/d/actor/d_a_obj_wchain.h +++ b/include/d/actor/d_a_obj_wchain.h @@ -21,7 +21,7 @@ public: class daObjWchain_c : public fopAc_ac_c { public: int createHeap(); - cPhs__Step create(); + cPhs_Step create(); ~daObjWchain_c(); void setMatrix(); s16 getChainAngleZ(cXyz*, int); @@ -37,21 +37,25 @@ public: cXyz& getJumpAimPos() { return eyePos; } cXyz& getTopPos() { return mTopPos; } cXyz& getRoofPos() { return mRoofPos; } - f32 getPullLength() { return mPullLength; } + f32 getPullLength() const { return mPullLength; } void setPullLength(f32 i_length) { mPullLength = i_length; } - f32 getInitOutLength() { return mInitOutLength; } + f32 getInitOutLength() const { return mInitOutLength; } f32 getRealRoofY() { return mRealRoofY; } f32 getMoveDisRate() { return mPullLength * 0.01f; } - f32 getLastOffset() { return 6.0f; } - f32 getDownOffset() { return 100.0f; } - f32 getSwitchOffset() { return 94.0f; } + static f32 getLastOffset() { return 6.0f; } + static f32 getDownOffset() { return 100.0f; } + static f32 getSwitchOffset() { return 94.0f; } u8 getSwitchNum() { return mSw; } void onRide() { mRide = true; } void offRide() { mRide = false; } bool checkRideFlg() { return mRide; } void onEndFlg() { mEnd = true; } bool getEndFlg() { return mEnd; } - void onNowSwitchFlg() { mDown = mNowSwitch = true; } + + void onNowSwitchFlg() { + mNowSwitch = true; + mDown = true; + } private: /* 0x568 */ request_of_phase_process_class mPhaseReq; diff --git a/include/d/actor/d_a_obj_wind_stone.h b/include/d/actor/d_a_obj_wind_stone.h index e1f3dac603..f5e52dfc94 100644 --- a/include/d/actor/d_a_obj_wind_stone.h +++ b/include/d/actor/d_a_obj_wind_stone.h @@ -31,7 +31,7 @@ public: u8 getGoldWolfIdx(); s8 getTuneId() { return fopAcM_GetParamBit(this, 4, 4); } - int getNextSceneId() { return fopAcM_GetParamBit(this, 0, 4); } + s8 getNextSceneId() { return fopAcM_GetParamBit(this, 0, 4); } u32 getSwBit1() { return home.angle.x & 0xff; } u32 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); } u32 getDelEveFlgId() { return fopAcM_GetParamBit(this, 0x10, 0x10); } diff --git a/include/d/actor/d_a_obj_window.h b/include/d/actor/d_a_obj_window.h index 3738a0f18c..83b62740a4 100644 --- a/include/d/actor/d_a_obj_window.h +++ b/include/d/actor/d_a_obj_window.h @@ -19,7 +19,7 @@ public: void setBaseMtx(); int Create(); int CreateHeap(); - cPhs__Step create1st(); + cPhs_Step create1st(); int Execute(Mtx**); int Draw(); int Delete(); diff --git a/include/d/actor/d_a_obj_yobikusa.h b/include/d/actor/d_a_obj_yobikusa.h index 5cea7a9029..9c1ee2a746 100644 --- a/include/d/actor/d_a_obj_yobikusa.h +++ b/include/d/actor/d_a_obj_yobikusa.h @@ -73,7 +73,7 @@ public: inline int createHeap(); inline int draw(); - inline cPhs__Step create(); + inline cPhs_Step create(); inline ~daObjYobikusa_c(); static attributes const M_attr; @@ -82,7 +82,10 @@ public: const attributes* attr() const { return &M_attr; } int getType() { return argument & 0x7F; } u8 getPathID() { return fopAcM_GetParam(this); } - bool isPlayerCorrect() { return (s8)(u8)(fopAcM_GetParam(this) >> 8) > 0; } + bool isPlayerCorrect() { + s8 var_r31 = (fopAcM_GetParam(this) >> 8) & 0xFF; + return var_r31 > 0; + } private: /* 0x568 */ J3DModel* mpActiveModel; diff --git a/include/d/actor/d_a_obj_zrTurara.h b/include/d/actor/d_a_obj_zrTurara.h index 60861d8b01..9f48464cf9 100644 --- a/include/d/actor/d_a_obj_zrTurara.h +++ b/include/d/actor/d_a_obj_zrTurara.h @@ -18,7 +18,7 @@ class daZrTurara_c : public dBgS_MoveBgActor { public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); void move(); void modeWait(); diff --git a/include/d/actor/d_a_obj_zrTuraraRock.h b/include/d/actor/d_a_obj_zrTuraraRock.h index b116019677..4590cff2cf 100644 --- a/include/d/actor/d_a_obj_zrTuraraRock.h +++ b/include/d/actor/d_a_obj_zrTuraraRock.h @@ -18,7 +18,7 @@ class daZrTuraRc_c : public fopAc_ac_c { public: void setBaseMtx(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); static int createHeapCallBack(fopAc_ac_c*); int Execute(); void move(); diff --git a/include/d/actor/d_a_obj_zra_freeze.h b/include/d/actor/d_a_obj_zra_freeze.h index d31af415cd..fb6b916d7c 100644 --- a/include/d/actor/d_a_obj_zra_freeze.h +++ b/include/d/actor/d_a_obj_zra_freeze.h @@ -16,7 +16,7 @@ class daZraFreeze_c : public fopAc_ac_c { public: void setBaseMtx(); BOOL chkActorInScreen(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); void setHitodamaPrtcl(); int Execute(); diff --git a/include/d/actor/d_a_obj_zra_rock.h b/include/d/actor/d_a_obj_zra_rock.h index ab566a9f3a..586fc176c5 100644 --- a/include/d/actor/d_a_obj_zra_rock.h +++ b/include/d/actor/d_a_obj_zra_rock.h @@ -21,7 +21,7 @@ public: void setRoomNo(); int Create(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int Execute(Mtx**); int Draw(); int Delete(); diff --git a/include/d/actor/d_a_path_line.h b/include/d/actor/d_a_path_line.h index d9716453c2..a03c5445e7 100644 --- a/include/d/actor/d_a_path_line.h +++ b/include/d/actor/d_a_path_line.h @@ -1,6 +1,6 @@ #ifndef D_A_PATH_LINE_H #define D_A_PATH_LINE_H -#include "dolphin/types.h" +#include #endif /* D_A_PATH_LINE_H */ diff --git a/include/d/actor/d_a_peru.h b/include/d/actor/d_a_peru.h index 2ca6d71e12..583f7c62d0 100644 --- a/include/d/actor/d_a_peru.h +++ b/include/d/actor/d_a_peru.h @@ -2,7 +2,7 @@ #define D_A_PERU_H #include "d/actor/d_a_tag_evtarea.h" -#include "dolphin/types.h" +#include #include "d/actor/d_a_npc.h" #include "SSystem/SComponent/c_counter.h" diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 7dc2cacc4c..fdbb0bc0f7 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -14,28 +14,27 @@ public: virtual ~daPy_sightPacket_c() {} void setSight(); - void setSightImage(ResTIMG*); + void setSightImage(ResTIMG* i_img); - bool getDrawFlg() { return mDrawFlag; } + u8 getDrawFlg() { return mDrawFlag; } void onDrawFlg() { mDrawFlag = true; } void offDrawFlg() { mDrawFlag = false; } void setPos(const cXyz* i_pos) { mPos = *i_pos; } cXyz* getPosP() { return &mPos; } - /* 0x04 */ bool mDrawFlag; - /* 0x05 */ u8 field_0x5[3]; + /* 0x04 */ u8 mDrawFlag; /* 0x08 */ cXyz mPos; - /* 0x14 */ Mtx field_0x14; + /* 0x14 */ Mtx mProjMtx; /* 0x44 */ ResTIMG* mpImg; /* 0x48 */ u8* mpData; }; class daPy_boomerangMove_c { public: - void initOffset(cXyz const*); - void initOffset(cXyz const* xyz, dCcD_GObjInf const*) { initOffset(xyz); } - int posMove(cXyz*, s16*, fopAc_ac_c*, s16); - void bgCheckAfterOffset(cXyz const*); + void initOffset(const cXyz* i_pos); + void initOffset(const cXyz* i_pos, const dCcD_GObjInf*) { initOffset(i_pos); } + int posMove(cXyz* o_pos, s16* o_rotY, fopAc_ac_c* i_objActor, s16 i_rotStep); + void bgCheckAfterOffset(const cXyz* i_pos); static void initDropAngleY() { m_dropAngleY = 0x4000; } static void offEventKeepFlg() { m_eventKeepFlg = 0; } @@ -47,8 +46,8 @@ public: private: /* 0x0 */ u8 field_0x0; /* 0x2 */ s16 field_0x2; - /* 0x4 */ f32 field_0x4; - /* 0x8 */ f32 field_0x8; + /* 0x4 */ f32 m_offsetY; + /* 0x8 */ f32 m_offsetXZ; }; // Size: 0xC class daPy_anmHeap_c { @@ -61,24 +60,24 @@ public: HEAP_TYPE_5, }; - daPy_anmHeap_c(u32 param_0 = 0); + daPy_anmHeap_c(u32 i_bufferSize = 0); ~daPy_anmHeap_c(); void initData(); void* mallocBuffer(); - void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE); - void* loadData(u16); - void* loadDataIdx(u16); - void* loadDataPriIdx(u16); - void* loadDataDemoRID(u16, u16); + void createHeap(daAlinkHEAP_TYPE i_heapType); + void* loadData(u16 i_resId); + void* loadDataIdx(u16 i_resId); + void* loadDataPriIdx(u16 i_resId); + void* loadDataDemoRID(u16 i_resID, u16 i_arcNo); JKRHeap* setAnimeHeap(); u16 getIdx() const { return mIdx; } - void resetIdx() { mIdx = 0xffff; } - void resetPriIdx() { mPriIdx = 0xffff; } - void resetArcNo() { mArcNo = 0xffff; } + void resetIdx() { mIdx = 0xFFFF; } + void resetPriIdx() { mPriIdx = 0xFFFF; } + void resetArcNo() { mArcNo = 0xFFFF; } bool checkNoSetArcNo() const { return mArcNo == 0xFFFF; } - void setBufferSize(u32 size) { mBufferSize = size; } - void setBuffer(u8* buf) { mBuffer = buf; } + void setBufferSize(u32 i_size) { mBufferSize = i_size; } + void setBuffer(u8* i_buffer) { mBuffer = i_buffer; } u32 getBufferSize() { return mBufferSize; } u8* getBuffer() { return mBuffer; } bool checkNoSetIdx() const { return mIdx == 0xFFFF; } @@ -86,11 +85,9 @@ public: u16 getArcNo() const { return mArcNo; } void setIdx(u16 i_idx) { mIdx = i_idx; } -private: /* 0x00 */ u16 mIdx; /* 0x02 */ u16 mPriIdx; /* 0x04 */ u16 mArcNo; - /* 0x06 */ u16 field_0x06; /* 0x08 */ u32 mBufferSize; /* 0x0C */ u8* mBuffer; /* 0x10 */ JKRSolidHeap* mAnimeHeap; @@ -101,11 +98,11 @@ public: daPy_actorKeep_c() { clearData(); } void setActor(); - void setData(fopAc_ac_c*); + void setData(fopAc_ac_c* i_actor); void clearData(); fpc_ProcID getID() const { return mID; } - void setID(fpc_ProcID id) { mID = id; } + void setID(fpc_ProcID i_id) { mID = i_id; } fopAc_ac_c* getActor() const { return mActor; } fopAc_ac_c* getActorConst() const { return mActor; } @@ -120,10 +117,10 @@ public: daPy_frameCtrl_c() {} bool checkAnmEnd(); void updateFrame(); - void setFrameCtrl(u8, short, short, f32, f32); + void setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32 i_rate, f32 i_frame); - u16 getEndFlg() { return mEndFlg; } - u16 getNowSetFlg() { return mNowSetFlg; } + u16 getEndFlg() const { return mEndFlg; } + u16 getNowSetFlg() const { return mNowSetFlg; } void onEndFlg() { mEndFlg = 1; } void onNowSetFlg() { mNowSetFlg = 1; } void offNowSetFlg() { mNowSetFlg = 0; } @@ -300,8 +297,7 @@ class daPy_py_c : public fopAc_ac_c { public: /* 0x0568 */ u8 mCutType; /* 0x0569 */ u8 mComboCutCount; - /* 0x056A */ u8 mSpecialMode; // maybe needs better name - /* 0x056B */ u8 field_0x56b; + /* 0x056A */ u8 mMode; /* 0x056C */ s16 mDamageTimer; /* 0x056E */ u16 mSwordUpTimer; /* 0x0570 */ u32 mNoResetFlg0; @@ -313,8 +309,8 @@ public: /* 0x0588 */ u32 mEndResetFlg0; /* 0x058C */ u32 mEndResetFlg1; /* 0x0590 */ u32 mEndResetFlg2; - /* 0x0594 */ f32 field_0x594; - /* 0x0598 */ f32 field_0x598; + /* 0x0594 */ f32 mMaxSpeed; + /* 0x0598 */ f32 mHeight; /* 0x059C */ csXyz mBodyAngle; /* 0x05A4 */ cXyz mHeadTopPos; /* 0x05B0 */ cXyz mItemPos; @@ -323,24 +319,24 @@ public: /* 0x05D4 */ cXyz mRightHandPos; /* 0x05E0 */ cXyz mLeftFootPos; /* 0x05EC */ cXyz mRightFootPos; - /* 0x05F8 */ cXyz field_0x5f8; + /* 0x05F8 */ cXyz mViewerCurrentPos; /* 0x0604 */ daPy_demo_c mDemo; public: enum daPy_FLG0 { - FLG0_UNK_40000000 = 0x40000000, + FLG0_HEAVY_STATE = 0x40000000, FLG0_EQUIP_HVY_BOOTS = 0x2000000, FLG0_PLAYER_NO_DRAW = 0x8000000, FLG0_UNK_10000000 = 0x10000000, FLG0_UNK_1000000 = 0x1000000, - FLG0_UNDERWATER = 0x800000, + FLG0_WATER_IN_MOVE = 0x800000, FLG0_UNK_400000 = 0x400000, - FLG0_UNK_200000 = 0x200000, + FLG0_GORON_UP_STOP_CANCEL = 0x200000, FLG0_UNK_100000 = 0x100000, - FLG0_UNK_80000 = 0x80000, + FLG0_FAST_SWORD_CUT = 0x80000, FLG0_UNK_40000 = 0x40000, - FLG0_DK_CAUGHT = 0x20000, - FLG0_UNK_10000 = 0x10000, + FLG0_DK_CAUGHT2 = 0x20000, + FLG0_DEMO_STREAM_ACCEPT = 0x10000, FLG0_UNK_8000 = 0x8000, FLG0_UNK_4000 = 0x4000, FLG0_UNK_2000 = 0x2000, @@ -349,24 +345,20 @@ public: FLG0_UNK_400 = 0x400, FLG0_SWIM_UP = 0x100, FLG0_UNK_80 = 0x80, - FLG0_UNK_40 = 0x40, + FLG0_CUT_AT_FLG = 0x40, FLG0_UNK_20 = 0x20, FLG0_UNK_10 = 0x10, FLG0_UNK_8 = 0x8, FLG0_MIDNA_RIDE = 4, FLG0_UNK_2 = 2, - - FLG0_HVY_STATE = FLG0_UNK_40000000 | FLG0_EQUIP_HVY_BOOTS | FLG0_DK_CAUGHT, - FLG0_UNK_14000 = 0x14000, - FLG0_UNK_10400 = 0x10400, - FLG0_UNK_18 = FLG0_UNK_10 | FLG0_UNK_8, }; enum daPy_FLG1 { FLG1_UNK_80000000 = 0x80000000, - FLG1_ICE_FREEZE = 0x40000000, + FLG1_FREEZE_DAMAGE = 0x40000000, FLG1_UNK_20000000 = 0x20000000, FLG1_UNK_10000000 = 0x10000000, + FLG1_UNK_8000000 = 0x8000000, FLG1_UNK_4000000 = 0x4000000, FLG1_IS_WOLF = 0x2000000, FLG1_UNK_1000000 = 0x1000000, @@ -378,7 +370,7 @@ public: FLG1_UNK_40000 = 0x40000, FLG1_UNK_20000 = 0x20000, FLG1_UNK_10000 = 0x10000, - FLG1_UNK_8000 = 0x8000, + FLG1_FISHING_ROD_CASTING_END = 0x8000, FLG1_THROW_DAMAGE = 0x4000, FLG1_UNK_2000 = 0x2000, FLG1_UNK_1000 = 0x1000, @@ -393,22 +385,19 @@ public: FLG1_UNK_4 = 4, FLG1_UNK_2 = 2, FLG1_DK_CAUGHT = 1, - - FLG1_UNK_1800 = 0x1800, - FLG1_UNK_10100000 = FLG1_UNK_10000000 | FLG1_UNK_100000, }; enum daPy_FLG2 { FLG2_HORSE_ZELDA = 0x40000000, - FLG2_UNK_20000000 = 0x20000000, - FLG2_UNK_10000000 = 0x10000000, + FLG2_FISHING_CAST_WAIT = 0x20000000, + FLG2_KANDELAAR_LIGHT_OFF = 0x10000000, FLG2_UNK_4080000 = 0x4080000, FLG2_UNK_4000000 = 0x4000000, FLG2_UNK_2080000 = 0x2080000, FLG2_UNK_2000000 = 0x2000000, FLG2_UNK_8000000 = 0x8000000, - FLG2_UNK_1000000 = 0x1000000, - FLG2_BOAR_SINGLE_BATTLE = 0x800000, + FLG2_BOAR_SINGLE_BATTLE_2ND = 0x1000000, + FLG2_BOAR_SINGLE_BATTLE_1ST = 0x800000, FLG2_STATUS_WINDOW_DRAW = 0x400000, FLG2_UNK_280000 = 0x280000, FLG2_UNK_200000 = 0x200000, @@ -417,12 +406,12 @@ public: FLG2_FORCE_GAMEOVER = 0x40000, FLG2_UNK_20000 = 0x20000, FLG2_WOLF_DASH_AUTO_JUMP = 0x10000, - FLG2_SCN_CHG_START = 0x8000, - FLG2_UNK_4000 = 0x4000, + FLG2_SCENE_CHANGE_START = 0x8000, + FLG2_FOG_FADE = 0x4000, FLG2_UNK_2000 = 0x2000, FLG2_PRESSED_DAMAGE = 0x1000, FLG2_UNK_800 = 0x800, - FLG2_PLAYER_SHADOW = 0x400, + FLG2_PLAYER_SHADOW_NO_DRAW = 0x400, FLG2_UNK_200 = 0x200, FLG2_UNK_100 = 0x100, FLG2_UNK_80 = 0x80, @@ -431,11 +420,8 @@ public: FLG2_UNK_10 = 0x10, FLG2_UNK_8 = 8, FLG2_UNK_4 = 4, - FLG2_UNK_2 = 2, + FLG2_COMBO_RESERB = 2, FLG2_UNK_1 = 1, - - FLG2_UNK_58 = FLG2_WOLF_ENEMY_HANG_BITE | FLG2_UNK_10 | FLG2_UNK_8, - FLG2_UNK_10000001 = FLG2_UNK_10000000 | FLG2_UNK_1, }; enum daPy_FLG3 { @@ -460,13 +446,13 @@ public: FLG3_UNK_1000 = 0x1000, FLG3_UNK_800 = 0x800, FLG3_UNK_400 = 0x400, - FLG3_UNK_200 = 0x200, - FLG3_UNK_100 = 0x100, - FLG3_UNK_80 = 0x80, - FLG3_UNK_40 = 0x40, - FL3_TRANING_CUT_BACK = 0x20, - FLG3_UNK_10 = 0x10, - FLG3_UNK_8 = 8, + FLG3_TRANING_CUT_LARGE_JUMP = 0x200, + FLG3_TRANING_CUT_LARGE_TURN = 0x100, + FLG3_TRANING_CUT_FAST = 0x80, + FLG3_TRANING_CUT_HEAD = 0x40, + FLG3_TRANING_CUT_BACK = 0x20, + FLG3_TRANING_CUT_DOWN = 0x10, + FLG3_TRANING_SHIELD_ATTACK = 8, FLG3_UNK_4 = 4, FLG3_UNK_1 = 1, }; @@ -477,21 +463,21 @@ public: ERFLG0_UNK_20000000 = 0x20000000, ERFLG0_WOLF_FCHAIN_PULL = 0x10000000, ERFLG0_UNK_8000000 = 0x8000000, - ERFLG0_UNK_4000000 = 0x4000000, + ERFLG0_FISHING_RELEASE = 0x4000000, ERFLG0_BOSS_ROOM_WAIT = 0x2000000, ERFLG0_ENEMY_DEAD = 0x1000000, ERFLG0_UNK_800000 = 0x800000, ERFLG0_BEE_FOLLOW = 0x400000, - ERFLG0_UNK_200000 = 0x200000, + ERFLG0_LEAF_SE = 0x200000, ERFLG0_UNK_100000 = 0x100000, ERFLG0_SINGLE_BOAR_AVOID = 0x80000, ERFLG0_FISHING_ROD_GET_FISH = 0x40000, - ERFLG0_UNK_20000 = 0x20000, - ERFLG0_UNK_10000 = 0x10000, + ERFLG0_FISHING_ROD_REEL_END = 0x20000, + ERFLG0_FISHING_HIT = 0x10000, ERFLG0_UNK_4000 = 0x4000, ERFLG0_UNK_2000 = 0x2000, ERFLG0_UNK_1000 = 0x1000, - ERFLG0_UNK_400 = 0x400, + ERFLG0_NECK_SEARCH_WIDE = 0x400, ERFLG0_FORCE_AUTO_JUMP = 0x200, ERFLG0_UNK_100 = 0x100, ERFLG0_UNK_80 = 0x80, @@ -500,31 +486,31 @@ public: ERFLG0_NOT_HANG = 0x10, ERFLG0_UNK_8 = 8, ERFLG0_UNK_4 = 4, - ERFLG0_UNK_2 = 2, + ERFLG0_FORCE_WOLF_CHANGE = 2, ERFLG0_UNK_1 = 1, }; enum daPy_ERFLG1 { - ERFLG1_GANON_FINISH = 0x80000000, - ERFLG1_UNK_40000000 = 0x40000000, - ERFLG1_UNK_20000000 = 0x20000000, - ERFLG1_UNK_10000000 = 0x10000000, + ERFLG1_SHIELD_BACKBONE = 0x80000000, + ERFLG1_SWORD_TRIGGER_NON = 0x40000000, + ERFLG1_CANOE_ITEM_CANCEL = 0x20000000, + ERFLG1_DO_PUT_EMPHASYS = 0x10000000, ERFLG1_LARGE_DAMAGE_UP_STOP = 0x8000000, - ERFLG1_UNK_4000000 = 0x4000000, - ERFLG1_UNK_2000000 = 0x2000000, - ERFLG1_UNK_1000000 = 0x1000000, + ERFLG1_DO_EXCHANGE_PUT_IN = 0x4000000, + ERFLG1_CHAIN_PULL_END = 0x2000000, + ERFLG1_CHAIN_FORCE_PULL = 0x1000000, ERFLG1_UNK_400000 = 0x400000, ERFLG1_UNK_200000 = 0x200000, ERFLG1_UNK_100000 = 0x100000, ERFLG1_UNK_80000 = 0x80000, ERFLG1_UNK_40000 = 0x40000, - ERFLG1_UNK_20000 = 0x20000, + ERFLG1_WATER_DROP = 0x20000, ERFLG1_UNK_10000 = 0x10000, ERFLG1_UNK_8000 = 0x8000, ERFLG1_UNK_4000 = 0x4000, ERFLG1_UNK_2000 = 0x2000, ERFLG1_UNK_1000 = 0x1000, - ERFLG1_UNK_800 = 0x800, + ERFLG1_WATERFALL_FRONT_HIT = 0x800, ERFLG1_UNK_400 = 0x400, ERFLG1_WOLF_EYE_KEEP = 0x200, ERFLG1_UNK_100 = 0x100, @@ -535,7 +521,7 @@ public: ERFLG1_UNK_8 = 8, ERFLG1_UNK_4 = 4, ERFLG1_UNK_2 = 2, - ERFLG1_UNK_1 = 1, + ERFLG1_NS_SCREAM = 1, }; enum daPy_ERFLG2 { @@ -543,10 +529,10 @@ public: ERFLG2_PORTAL_WARP_MIDNA_ATN_KEEP = 0x80, ERFLG2_UNK_40 = 0x40, ERFLG2_UNK_20 = 0x20, - ERFLG2_UNK_10 = 0x10, - ERFLG2_UNK_8 = 8, - ERFLG2_UNK_2 = 2, - ERFLG2_UNK_1 = 1, + ERFLG2_LIGHT_SWORD_GET_EFFECT = 0x10, + ERFLG2_FORCE_GRAB_REBOUND = 8, + ERFLG2_FORCE_HORSE_GETOFF = 2, + ERFLG2_FISHING_KEEP = 1, }; enum daPy_RFLG0 { @@ -556,20 +542,20 @@ public: RFLG0_UNK_10000000 = 0x10000000, RFLG0_UNK_8000000 = 0x8000000, RFLG0_UNK_4000000 = 0x4000000, - RFLG0_UNK_2000000 = 0x2000000, + RFLG0_ITEM_SIGHT_BG_HIT = 0x2000000, RFLG0_GRAB_PUT_START = 0x400000, RFLG0_WOLF_GROWL = 0x200000, RFLG0_UNK_80000 = 0x80000, - RFLG0_UNK_40000 = 0x40000, - RFLG0_UNK_20000 = 0x20000, - RFLG0_UNK_10000 = 0x10000, - RFLG0_UNK_8000 = 0x8000, + RFLG0_CLIMB_END_HANG = 0x40000, + RFLG0_WOLF_TAG_LOCK_JUMP_READY = 0x20000, + RFLG0_ATTENTION_LOCK = 0x10000, + RFLG0_GRAB_UP_START = 0x8000, RFLG0_UNK_4000 = 0x4000, RFLG0_FRONT_ROLL_CRASH = 0x2000, RFLG0_ENEMY_ATTN_LOCK = 0x1000, RFLG0_UNK_400 = 0x400, RFLG0_COW_GAME_LEASH = 0x200, - RFLG0_UNK_100 = 0x100, + RFLG0_AUTO_JUMP_START = 0x100, RFLG0_UNK_80 = 0x80, RFLG0_UNK_40 = 0x40, RFLG0_GRAB_UP_END = 0x20, @@ -577,15 +563,15 @@ public: RFLG0_UNK_8 = 0x8, RFLG0_GRAB_THROW = 0x4, RFLG0_UNK_2 = 0x2, - RFLG0_UNK_1 = 0x1, + RFLG0_STICK_ARROW_RESET = 0x1, }; enum daPy_RFLG1 { RFLG1_DAMAGE_IMPACT = 0x400, - RFLG1_UNK_200 = 0x200, - RFLG1_UNK_100 = 0x100, - RFLG1_UNK_80 = 0x80, - RFLG1_UNK_40 = 0x40, + RFLG0_FISHINGROD_USE_ACCEPT = 0x200, + RFLG1_INSECT_RELEASE = 0x100, + RFLG0_FISHINGROD_USE_START = 0x80, + RFLG1_BOARD_NO_FOOT_ANGLE = 0x40, RFLG1_UNK_30 = 0x30, RFLG1_UNK_20 = 0x20, RFLG1_UNK_10 = 0x10, @@ -593,11 +579,9 @@ public: RFLG1_UNK_4 = 0x4, RFLG1_UNK_2 = 0x2, RFLG1_WOLF_ATTACK_REVERSE = 0x1, - - RFLG1_UNK_C = 0xC, }; - enum { + enum daPy_MODE { /* 0x01 */ SMODE_SUMO_READY = 1, /* 0x25 */ SMODE_SUMO_LOSE = 37, /* 0x27 */ SMODE_WOLF_PUZZLE = 39, @@ -606,7 +590,7 @@ public: /* 0x2C */ SMODE_CARGO_CARRY, }; - enum CutType { + enum daPy_CUT_TYPE { /* 0x00 */ CUT_TYPE_NONE, /* 0x01 */ CUT_TYPE_NM_VERTICAL, /* 0x02 */ CUT_TYPE_NM_STAB, @@ -618,13 +602,13 @@ public: /* 0x08 */ CUT_TYPE_TURN_RIGHT, /* 0x09 */ CUT_TYPE_UNK_9, /* 0x0A */ CUT_TYPE_JUMP, - /* 0x0B */ CUT_TYPE_DASH_UNK_B, - /* 0x0C */ CUT_TYPE_DASH_UNK_C, - /* 0x0D */ CUT_TYPE_DASH_UNK_D, + /* 0x0B */ CUT_TYPE_DASH_LEFT_BOARD, + /* 0x0C */ CUT_TYPE_DASH_RIGHT_BOARD, + /* 0x0D */ CUT_TYPE_DASH_CHARGE_BOARD, /* 0x0E */ CUT_TYPE_UNK_E, /* 0x0F */ CUT_TYPE_UNK_F, - /* 0x10 */ CUT_TYPE_AIR, - /* 0x11 */ CUT_TYPE_DASH_UNK_11, + /* 0x10 */ CUT_TYPE_DASH_LEFT_SIDESTEP, + /* 0x11 */ CUT_TYPE_DASH_RIGHT_SIDESTEP, /* 0x12 */ CUT_TYPE_LARGE_JUMP_INIT, /* 0x13 */ CUT_TYPE_LARGE_JUMP, /* 0x14 */ CUT_TYPE_LARGE_JUMP_FINISH, @@ -641,15 +625,15 @@ public: /* 0x1F */ CUT_TYPE_MORTAL_DRAW_B, /* 0x20 */ CUT_TYPE_FINISH_STAB, /* 0x21 */ CUT_TYPE_COMBO_STAB, - /* 0x22 */ CUT_TYPE_HORSE_UNK_22, - /* 0x23 */ CUT_TYPE_HORSE_UNK_23, + /* 0x22 */ CUT_TYPE_HORSE_LEFT_A, + /* 0x23 */ CUT_TYPE_HORSE_LEFT_B, /* 0x24 */ CUT_TYPE_UNK_24, - /* 0x25 */ CUT_TYPE_DASH_UNK_25, - /* 0x26 */ CUT_TYPE_DASH_UNK_26, + /* 0x25 */ CUT_TYPE_DASH_LEFT, + /* 0x26 */ CUT_TYPE_DASH_RIGHT, /* 0x27 */ CUT_TYPE_DOWN, /* 0x28 */ CUT_TYPE_UNK_28, /* 0x29 */ CUT_TYPE_GUARD_ATTACK, - /* 0x2A */ CUT_TYPE_HORSE_UNK_2A, + /* 0x2A */ CUT_TYPE_HORSE_RIGHT_A, /* 0x2B */ CUT_TYPE_HORSE_TURN, /* 0x2C */ CUT_TYPE_WOLF_B_LEFT, /* 0x2D */ CUT_TYPE_WOLF_B_RIGHT, @@ -663,32 +647,32 @@ public: /* 0x35 */ CUT_TYPE_WOLF_UNK_35, /* 0x36 */ CUT_TYPE_WOLF_LOCK, /* 0x37 */ CUT_TYPE_WOLF_UNK_37, - /* 0x38 */ CUT_TYPE_DASH_UNK_38, + /* 0x38 */ CUT_TYPE_DASH_CHARGE, /* 0x39 */ CUT_TYPE_WOLF_JUMP, }; - static u32 setParamData(int, int, int, int); - static BOOL checkFishingRodItem(int); - static BOOL checkBombItem(int); - static BOOL checkBottleItem(int); - static BOOL checkDrinkBottleItem(int); - static BOOL checkOilBottleItem(int); - static BOOL checkOpenBottleItem(int); - static BOOL checkBowItem(int); - static BOOL checkHookshotItem(int); - static BOOL checkTradeItem(int); - static BOOL checkDungeonWarpItem(int); + static u32 setParamData(int i_roomNo, int i_mode, int, int); + static BOOL checkFishingRodItem(int i_itemNo); + static BOOL checkBombItem(int i_itemNo); + static BOOL checkBottleItem(int i_itemNo); + static BOOL checkDrinkBottleItem(int i_itemNo); + static BOOL checkOilBottleItem(int i_itemNo); + static BOOL checkOpenBottleItem(int i_itemNo); + static BOOL checkBowItem(int i_itemNo); + static BOOL checkHookshotItem(int i_itemNo); + static BOOL checkTradeItem(int i_itemNo); + static BOOL checkDungeonWarpItem(int i_itemNo); static BOOL checkMasterSwordEquip(); static BOOL checkWoodShieldEquip(); static f32 getAttentionOffsetY(); static int checkNowWolfEyeUp(); - static void forceRestartRoom(int, u32, int); + static void forceRestartRoom(int i_dmgAmount, u32 i_mode, int); static BOOL setFmChainPos(fopAc_ac_c*, cXyz*, int); static void cancelFmChainGrab(); - static void setLookPos(cXyz*); - static void setPlayerSe(u32); - static bool linkGrabSubjectNoDraw(fopAc_ac_c*); - static bool wolfGrabSubjectNoDraw(fopAc_ac_c*); + static void setLookPos(cXyz* i_pos); + static void setPlayerSe(u32 i_soundID); + static bool linkGrabSubjectNoDraw(fopAc_ac_c* i_actor); + static bool wolfGrabSubjectNoDraw(fopAc_ac_c* i_actor); static bool checkRoomRestartStart(); static u32 checkCarryStartLightBallA(); static u32 checkCarryStartLightBallB(); @@ -697,16 +681,18 @@ public: static bool checkBoomerangCharge(); static bool checkBoomerangChargeTime(); static daBoomerang_c* getThrowBoomerangActor(); - static void cancelBoomerangLockActor(fopAc_ac_c*); - static void setPlayerDamage(int, int); - static void setMidnaMotionNum(int); - static void setMidnaFaceNum(int); + static void cancelBoomerangLockActor(fopAc_ac_c* i_actor); + static void setPlayerDamage(int i_dmgAmount, BOOL i_setDmgTimer); + static BOOL checkAcceptDungeonWarp(); + static void setMidnaMotionNum(int i_motionNum); + static void setMidnaFaceNum(int i_faceNum); + static BOOL checkShieldGet() { return dComIfGs_getSelectEquipShield() != fpcNm_ITEM_NONE; } static BOOL checkSwordGet() { return dComIfGs_getSelectEquipSword() != fpcNm_ITEM_NONE; } cXyz getHeadTopPos() const { return mHeadTopPos; } u32 checkThrowDamage() const { return checkNoResetFlg1(FLG1_THROW_DAMAGE); } - bool checkGoronSideMove() const { return mSpecialMode == 0x2B; } + bool checkGoronSideMove() const { return mMode == 0x2B; } cXyz* getRightFootPosP() { return &mRightFootPos; } cXyz* getLeftFootPosP() { return &mLeftFootPos; } cXyz getLeftFootPos() const { return mLeftFootPos; } @@ -717,7 +703,7 @@ public: const cXyz getLeftHandPos() const { return mLeftHandPos; } const cXyz getItemPos() const { return mItemPos; } BOOL getDkCaught() const { return checkNoResetFlg1(FLG1_DK_CAUGHT); } - BOOL getDkCaught2() const { return checkNoResetFlg0(FLG0_DK_CAUGHT); } + BOOL getDkCaught2() const { return checkNoResetFlg0(FLG0_DK_CAUGHT2); } BOOL getStCaught() const { return checkNoResetFlg1(FLG1_UNK_80000000); } /* vt 0X008 */ virtual cXyz* getMidnaAtnPos() const { return NULL; } @@ -790,7 +776,7 @@ public: /* vt 0X114 */ virtual void voiceStart(u32) {} /* vt 0X118 */ virtual void seStartOnlyReverb(u32) {} /* vt 0X11C */ virtual void seStartOnlyReverbLevel(u32) {} - /* vt 0X120 */ virtual void setOutPower(f32, short, int) {} + /* vt 0X120 */ virtual void setOutPower(f32, s16, int) {} /* vt 0X124 */ virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*) {} /* vt 0X128 */ virtual void onMagneGrab(f32, f32) {} /* vt 0X12C */ virtual void onFrollCrashFlg(u8, int) {} @@ -803,12 +789,12 @@ public: /* vt 0X148 */ virtual BOOL checkSingleBoarBattleSecondBowReady() const { return FALSE; } /* vt 0X14C */ virtual bool checkPointSubWindowMode() const { return FALSE; } /* vt 0X150 */ virtual void setClothesChange(int) {} - /* vt 0X154 */ virtual void setPlayerPosAndAngle(cXyz const*, short, int) {} + /* vt 0X154 */ virtual void setPlayerPosAndAngle(cXyz const*, s16, int) {} /* vt 0X158 */ virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*) {} /* vt 0X15C */ virtual void setPlayerPosAndAngle(f32 (*)[4]) {} - /* vt 0X160 */ virtual bool setThrowDamage(short, f32, f32, int, int, int) { return FALSE; } + /* vt 0X160 */ virtual bool setThrowDamage(s16, f32, f32, int, int, int) { return FALSE; } /* vt 0X164 */ virtual bool checkSetNpcTks(cXyz*, int, int) { return FALSE; } - /* vt 0X168 */ virtual int setRollJump(f32, f32, short) { return FALSE; } + /* vt 0X168 */ virtual int setRollJump(f32, f32, s16) { return FALSE; } /* vt 0X16C */ virtual void playerStartCollisionSE(u32, u32) {} /* vt 0X170 */ virtual void changeTextureAnime(u16, u16, int) {} /* vt 0X174 */ virtual void cancelChangeTextureAnime() {} @@ -835,13 +821,13 @@ public: /* vt 0X1C8 */ virtual cXyz* getKandelaarFlamePos() { return NULL; } /* vt 0X1CC */ virtual bool checkUseKandelaar(int) { return FALSE; } /* vt 0X1D0 */ virtual void setDkCaught(fopAc_ac_c*) {} - /* vt 0X1D4 */ virtual void onPressedDamage(cXyz const&, short) {} + /* vt 0X1D4 */ virtual void onPressedDamage(cXyz const&, s16) {} /* vt 0X1D8 */ virtual bool checkPriActorOwn(fopAc_ac_c const*) const { return FALSE; } /* vt 0X1DC */ virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2) { return FALSE; } /* vt 0X1E0 */ virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const { return FALSE; } - /* vt 0X1E4 */ virtual void setWolfEnemyHangBiteAngle(short) {} + /* vt 0X1E4 */ virtual void setWolfEnemyHangBiteAngle(s16) {} /* vt 0X1E8 */ virtual void setKandelaarMtx(f32 (*)[4], int, int) {} - /* vt 0X1EC */ virtual bool getStickAngleFromPlayerShape(short*) const { return FALSE; } + /* vt 0X1EC */ virtual bool getStickAngleFromPlayerShape(s16*) const { return FALSE; } /* vt 0X1F0 */ virtual bool checkSpinnerPathMove() { return FALSE; } /* vt 0X1F4 */ virtual bool checkSpinnerTriggerAttack() { return FALSE; } /* vt 0X1F8 */ virtual void onSpinnerPathForceRemove() {} @@ -858,7 +844,7 @@ public: /* vt 0X224 */ virtual s16 checkSumouWithstand() const { return 0; } /* vt 0X228 */ virtual void cancelGoronThrowEvent() {} /* vt 0X22C */ virtual void setSumouGraspCancelCount(int) {} - /* vt 0X230 */ virtual void setSumouPushBackDirection(short) {} + /* vt 0X230 */ virtual void setSumouPushBackDirection(s16) {} /* vt 0X234 */ virtual void setSumouLoseHeadUp() {} /* vt 0X238 */ virtual s16 getGiantPuzzleAimAngle() const { return shape_angle.y; } /* vt 0X23C */ virtual void setGoronSideMove(fopAc_ac_c*) {} @@ -894,7 +880,7 @@ public: bool getSumouCameraMode() const { bool sumouCameraMode = false; - if (mSpecialMode != 0 && mSpecialMode < 0x26) { + if (mMode != 0 && mMode < 0x26) { sumouCameraMode = true; } return sumouCameraMode; @@ -903,7 +889,7 @@ public: bool getSumouMode() const { return getSumouCameraMode(); } void cancelOriginalDemo() { mDemo.setSystemDemoType(); - mDemo.setDemoMode(1); + mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_1_e); } u32 getDemoMode() const { return mDemo.getDemoMode(); } @@ -911,80 +897,82 @@ public: u8 getCutCount() const { return mComboCutCount; } BOOL checkStatusWindowDraw() const { return checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); } - bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; } - BOOL getHeavyStateAndBoots() { return checkNoResetFlg0(FLG0_HVY_STATE); } + bool checkCargoCarry() const { return mMode == SMODE_CARGO_CARRY; } + BOOL getHeavyStateAndBoots() { return checkNoResetFlg0(daPy_FLG0(FLG0_HEAVY_STATE | FLG0_EQUIP_HVY_BOOTS | FLG0_DK_CAUGHT2)); } BOOL checkEnemyAttentionLock() const { return checkResetFlg0(RFLG0_ENEMY_ATTN_LOCK); } - BOOL getGrabUpStart() const { return checkResetFlg0(RFLG0_UNK_8000); } - bool checkCanoeSlider() const { return mSpecialMode == 0x2D; } - bool checkGoatStopGame() const { return mSpecialMode == 0x2A; } - void onGoatStopGame() { mSpecialMode = 0x2A; } + BOOL getGrabUpStart() const { return checkResetFlg0(RFLG0_GRAB_UP_START); } + bool checkCanoeSlider() const { return mMode == 0x2D; } + bool checkGoatStopGame() const { return mMode == 0x2A; } + void onGoatStopGame() { mMode = 0x2A; } u8 getCutType() const { return mCutType; } u16 getSwordAtUpTime() const { return mSwordUpTimer; } s16 getDamageWaitTimer() const { return mDamageTimer; } - BOOL checkWaterInMove() const { return checkNoResetFlg0(FLG0_UNDERWATER); } - BOOL checkSceneChangeAreaStart() const { return checkNoResetFlg2(FLG2_SCN_CHG_START); } + BOOL checkWaterInMove() const { return checkNoResetFlg0(FLG0_WATER_IN_MOVE); } + BOOL checkSceneChangeAreaStart() const { return checkNoResetFlg2(FLG2_SCENE_CHANGE_START); } BOOL checkFrontRollCrash() const { return checkResetFlg0(RFLG0_FRONT_ROLL_CRASH); } BOOL checkWolfAttackReverse() const { return checkResetFlg1(RFLG1_WOLF_ATTACK_REVERSE); } - BOOL checkFreezeDamage() const { return checkNoResetFlg1(FLG1_ICE_FREEZE); } - BOOL checkWolfTagLockJumpReady() const { return checkResetFlg0(RFLG0_UNK_20000); } + BOOL checkFreezeDamage() const { return checkNoResetFlg1(FLG1_FREEZE_DAMAGE); } + BOOL checkWolfTagLockJumpReady() const { return checkResetFlg0(RFLG0_WOLF_TAG_LOCK_JUMP_READY); } BOOL checkDamageImpact() const { return checkResetFlg1(RFLG1_DAMAGE_IMPACT); } BOOL getGrabUpEnd() const { return checkResetFlg0(RFLG0_GRAB_UP_END); } BOOL getGrabPutStart() const { return checkResetFlg0(RFLG0_GRAB_PUT_START); } BOOL checkSwimUp() const { return checkNoResetFlg0(FLG0_SWIM_UP); } BOOL checkHorseZelda() const { return checkNoResetFlg2(FLG2_HORSE_ZELDA); } - BOOL checkSpecialHorseRide() { return checkNoResetFlg2(daPy_FLG2(FLG2_HORSE_ZELDA | FLG2_UNK_1000000 | FLG2_BOAR_SINGLE_BATTLE)); } - BOOL checkBoardNoFootAngle() const { return checkResetFlg1(RFLG1_UNK_40); } + BOOL checkSpecialHorseRide() { return checkNoResetFlg2(daPy_FLG2(FLG2_HORSE_ZELDA | FLG2_BOAR_SINGLE_BATTLE_2ND | FLG2_BOAR_SINGLE_BATTLE_1ST)); } + BOOL checkBoardNoFootAngle() const { return checkResetFlg1(RFLG1_BOARD_NO_FOOT_ANGLE); } BOOL checkGrabThrow() const { return checkResetFlg0(RFLG0_GRAB_THROW); } BOOL checkMidnaAtnPos() const { return checkNoResetFlg1(FLG1_MIDNA_ATN_POS); } BOOL checkMidnaHairAtnPos() const { return checkNoResetFlg1(FLG1_MIDNA_HAIR_ATN_POS); } - BOOL checkAttentionLock() const { return checkResetFlg0(RFLG0_UNK_10000); } - BOOL checkFishingRodUseStart() const { return checkResetFlg1(RFLG1_UNK_80); } - BOOL checkFishingRodUseAccept() const { return checkResetFlg1(RFLG1_UNK_200); } + BOOL checkAttentionLock() const { return checkResetFlg0(RFLG0_ATTENTION_LOCK); } + BOOL checkFishingRodUseStart() const { return checkResetFlg1(RFLG0_FISHINGROD_USE_START); } + BOOL checkFishingRodUseAccept() const { return checkResetFlg1(RFLG0_FISHINGROD_USE_ACCEPT); } void onBossRoomWait() { onEndResetFlg0(ERFLG0_BOSS_ROOM_WAIT); } void onBeeFollow() { onEndResetFlg0(ERFLG0_BEE_FOLLOW); } void onForceAutoJump() { onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); } void onNotAutoJump() { onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); } void onNotHang() { onEndResetFlg0(ERFLG0_NOT_HANG); } - void onLeafSe() { onEndResetFlg0(ERFLG0_UNK_200000); } + void onLeafSe() { onEndResetFlg0(ERFLG0_LEAF_SE); } void onWolfFchainPull() { onEndResetFlg0(ERFLG0_WOLF_FCHAIN_PULL); } void onFishingRodGetFish() { onEndResetFlg0(ERFLG0_FISHING_ROD_GET_FISH); } void onSingleBoarAvoid() { onEndResetFlg0(ERFLG0_SINGLE_BOAR_AVOID); } - void onShieldBackBone() { onEndResetFlg1(ERFLG1_GANON_FINISH); } + void onShieldBackBone() { onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); } void onWolfEyeKeep() { onEndResetFlg1(ERFLG1_WOLF_EYE_KEEP); } void onPortalWarpMidnaAtnKeep() { onEndResetFlg2(ERFLG2_PORTAL_WARP_MIDNA_ATN_KEEP); } - void onFogFade() { onNoResetFlg2(FLG2_UNK_4000); } - void onDkCaught2() { onNoResetFlg0(FLG0_DK_CAUGHT); } - void onFishingRodCastingEnd() { onNoResetFlg1(FLG1_UNK_8000); } - void onFishingRodReelEnd() { onEndResetFlg0(ERFLG0_UNK_20000); } - void onFishingHit() { onEndResetFlg0(ERFLG0_UNK_10000); } - void onFishingKeep() { onEndResetFlg2(ERFLG2_UNK_1); } - void onTraningCutHead() { onNoResetFlg3(FLG3_UNK_40); } - void onTraningCutFast() { onNoResetFlg3(FLG3_UNK_80); } - void onTraningCutLargeJump() { onNoResetFlg3(FLG3_UNK_200); } - void onTraningCutLargeTurn() { onNoResetFlg3(FLG3_UNK_100); } - void onTraningCutDown() { onNoResetFlg3(FLG3_UNK_10); } - void onTraningShieldAttack() { onNoResetFlg3(FLG3_UNK_8); } + void onFogFade() { onNoResetFlg2(FLG2_FOG_FADE); } + void onDkCaught2() { onNoResetFlg0(FLG0_DK_CAUGHT2); } + void onFishingRodCastingEnd() { onNoResetFlg1(FLG1_FISHING_ROD_CASTING_END); } + void onFishingRodReelEnd() { onEndResetFlg0(ERFLG0_FISHING_ROD_REEL_END); } + void onFishingHit() { onEndResetFlg0(ERFLG0_FISHING_HIT); } + void onFishingKeep() { onEndResetFlg2(ERFLG2_FISHING_KEEP); } + void onTraningCutHead() { onNoResetFlg3(FLG3_TRANING_CUT_HEAD); } + void onTraningCutFast() { onNoResetFlg3(FLG3_TRANING_CUT_FAST); } + void onTraningCutLargeJump() { onNoResetFlg3(FLG3_TRANING_CUT_LARGE_JUMP); } + void onTraningCutLargeTurn() { onNoResetFlg3(FLG3_TRANING_CUT_LARGE_TURN); } + void onTraningCutDown() { onNoResetFlg3(FLG3_TRANING_CUT_DOWN); } + void onTraningShieldAttack() { onNoResetFlg3(FLG3_TRANING_SHIELD_ATTACK); } + void onDemoStreamAccept() { onNoResetFlg0(FLG0_DEMO_STREAM_ACCEPT); } + void offDemoStreamAccept() { offNoResetFlg0(FLG0_DEMO_STREAM_ACCEPT); } - BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_UNK_1); } - BOOL getCutAtFlg() const { return checkNoResetFlg0(FLG0_UNK_40); } - BOOL checkBoarSingleBattleFirst() const { return checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); } - BOOL checkBoarSingleBattleSecond() const { return checkNoResetFlg2(FLG2_UNK_1000000); } + BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_STICK_ARROW_RESET); } + BOOL getCutAtFlg() const { return checkNoResetFlg0(FLG0_CUT_AT_FLG); } + BOOL checkBoarSingleBattleFirst() const { return checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE_1ST); } + BOOL checkBoarSingleBattleSecond() const { return checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE_2ND); } BOOL getFootOnGround() const { return checkResetFlg1(daPy_RFLG1(RFLG1_UNK_10 | RFLG1_UNK_20)); } void offWolfEnemyHangBite() { offNoResetFlg2(FLG2_WOLF_ENEMY_HANG_BITE); } - bool onWolfEnemyHangBite(fopAc_ac_c* param_0) { return onWolfEnemyBiteAll(param_0, FLG2_WOLF_ENEMY_HANG_BITE); } + bool onWolfEnemyHangBite(fopAc_ac_c* i_enemy) { return onWolfEnemyBiteAll(i_enemy, FLG2_WOLF_ENEMY_HANG_BITE); } void offHorseZelda() { offNoResetFlg2(FLG2_HORSE_ZELDA); } void onHorseZelda() { onNoResetFlg2(FLG2_HORSE_ZELDA); } - BOOL checkItemSightBgHit() const { return checkResetFlg0(RFLG0_UNK_2000000); } + BOOL checkItemSightBgHit() const { return checkResetFlg0(RFLG0_ITEM_SIGHT_BG_HIT); } - void setCanoeSlider() { mSpecialMode = 0x2D; } + void setCanoeSlider() { mMode = 0x2D; } void offCanoeSlider() { if (checkCanoeSlider()) { - mSpecialMode = 0; + mMode = 0; } } void onMidnaTalkPolySpeed() { onNoResetFlg3(FLG3_MIDNA_TALK_POLY_SPEED); } @@ -992,28 +980,28 @@ public: void offCargoCarry() { if (checkCargoCarry()) { - mSpecialMode = 0; + mMode = 0; } } - bool onWolfEnemyCatch(fopAc_ac_c* i_actor) { return onWolfEnemyBiteAll(i_actor, FLG2_UNK_8); } + bool onWolfEnemyCatch(fopAc_ac_c* i_enemy) { return onWolfEnemyBiteAll(i_enemy, FLG2_UNK_8); } void offGoronSideMove() { if (checkGoronSideMove()) { - mSpecialMode = 0; + mMode = 0; } } void offGoronUpStopCancel() { - offNoResetFlg0(FLG0_UNK_200000); + offNoResetFlg0(FLG0_GORON_UP_STOP_CANCEL); } s16 getBodyAngleX() const { return mBodyAngle.x; } s16 getBodyAngleY() const { return mBodyAngle.y; } - f32 getHeight() const { return field_0x598; } + f32 getHeight() const { return mHeight; } - BOOL checkMidnaWarp() const { return 0; } + BOOL checkMidnaWarp() const { return FALSE; } u32 checkNoResetFlg0(daPy_FLG0 i_flag) const { return mNoResetFlg0 & i_flag; } u32 checkNoResetFlg1(daPy_FLG1 i_flag) const { return mNoResetFlg1 & i_flag; } @@ -1030,10 +1018,10 @@ public: void offNoResetFlg2(daPy_FLG2 i_flag) { mNoResetFlg2 &= ~i_flag; } void offNoResetFlg3(daPy_FLG3 i_flag) { mNoResetFlg3 &= ~i_flag; } - void offResetFlg0(daPy_RFLG0 flag) { mResetFlg0 &= ~flag; } - void offResetFlg1(daPy_RFLG1 flag) { mResetFlg1 &= ~flag; } - void onResetFlg0(daPy_RFLG0 flag) { mResetFlg0 |= flag; } - void onResetFlg1(daPy_RFLG1 flag) { mResetFlg1 |= flag; } + void offResetFlg0(daPy_RFLG0 i_flag) { mResetFlg0 &= ~i_flag; } + void offResetFlg1(daPy_RFLG1 i_flag) { mResetFlg1 &= ~i_flag; } + void onResetFlg0(daPy_RFLG0 i_flag) { mResetFlg0 |= i_flag; } + void onResetFlg1(daPy_RFLG1 i_flag) { mResetFlg1 |= i_flag; } void onEndResetFlg0(daPy_ERFLG0 i_flag) { mEndResetFlg0 |= i_flag; } void onEndResetFlg2(daPy_ERFLG2 i_flag) { mEndResetFlg2 |= i_flag; } @@ -1057,7 +1045,7 @@ public: u32 checkWolf() const { return checkNoResetFlg1(FLG1_IS_WOLF); } u32 checkEquipHeavyBoots() const { return checkNoResetFlg0(FLG0_EQUIP_HVY_BOOTS); } u32 checkMagneBootsOn() const { return checkNoResetFlg0(FLG0_MAGNE_BOOTS_ON); } - BOOL checkFastSwordCut() const { return checkNoResetFlg0(FLG0_UNK_80000); } + BOOL checkFastSwordCut() const { return checkNoResetFlg0(FLG0_FAST_SWORD_CUT); } u32 checkMidnaRide() const { return checkNoResetFlg0(FLG0_MIDNA_RIDE); } BOOL checkWolfGrowl() const { return checkResetFlg0(RFLG0_WOLF_GROWL); } BOOL checkWolfThreat() const { return checkWolfGrowl(); } @@ -1072,28 +1060,28 @@ public: void onMidnaRide() { onNoResetFlg0(FLG0_MIDNA_RIDE); } void offMidnaRide() { offNoResetFlg0(FLG0_MIDNA_RIDE); } void onMidnaRideShock() { onEndResetFlg1(ERFLG1_MIDNA_RIDE_SHOCK); } - void onPlayerShadowNoDraw() { onNoResetFlg2(FLG2_PLAYER_SHADOW); } - void offPlayerShadowNoDraw() { offNoResetFlg2(FLG2_PLAYER_SHADOW); } - void onLightSwordGetEffect() { onEndResetFlg2(ERFLG2_UNK_10); } + void onPlayerShadowNoDraw() { onNoResetFlg2(FLG2_PLAYER_SHADOW_NO_DRAW); } + void offPlayerShadowNoDraw() { offNoResetFlg2(FLG2_PLAYER_SHADOW_NO_DRAW); } + void onLightSwordGetEffect() { onEndResetFlg2(ERFLG2_LIGHT_SWORD_GET_EFFECT); } void onForceGameOver() { onNoResetFlg2(FLG2_FORCE_GAMEOVER); } - void onForceWolfChange() { onEndResetFlg0(ERFLG0_UNK_2); } - void onDoPutEmphasys() { onEndResetFlg1(ERFLG1_UNK_10000000); } - void onDoExchangePutIn() { onEndResetFlg1(ERFLG1_UNK_4000000); } - void onNsScream() { onEndResetFlg1(ERFLG1_UNK_1); } - void onNsScreamAnm() { onEndResetFlg1(daPy_ERFLG1(ERFLG1_UNK_1 | ERFLG1_UNK_2)); } + void onForceWolfChange() { onEndResetFlg0(ERFLG0_FORCE_WOLF_CHANGE); } + void onDoPutEmphasys() { onEndResetFlg1(ERFLG1_DO_PUT_EMPHASYS); } + void onDoExchangePutIn() { onEndResetFlg1(ERFLG1_DO_EXCHANGE_PUT_IN); } + void onNsScream() { onEndResetFlg1(ERFLG1_NS_SCREAM); } + void onNsScreamAnm() { onEndResetFlg1(daPy_ERFLG1(ERFLG1_NS_SCREAM | ERFLG1_UNK_2)); } void onLargeDamageUpStop() { onEndResetFlg1(ERFLG1_LARGE_DAMAGE_UP_STOP); } - void onTraningCutBack() { onNoResetFlg3(FL3_TRANING_CUT_BACK); } - void onNeckSearchWide() { onEndResetFlg0(ERFLG0_UNK_400); } + void onTraningCutBack() { onNoResetFlg3(FLG3_TRANING_CUT_BACK); } + void onNeckSearchWide() { onEndResetFlg0(ERFLG0_NECK_SEARCH_WIDE); } void offPressedDamage() { offNoResetFlg2(FLG2_PRESSED_DAMAGE); } void onForceSubjectCancel() { onEndResetFlg0(ERFLG0_FORCE_SUBJECT_CANCEL); } void onEnemyDead() { onEndResetFlg0(ERFLG0_ENEMY_DEAD); } void offDkCaught() { offNoResetFlg1(FLG1_DK_CAUGHT); } - void offDkCaught2() { offNoResetFlg0(FLG0_DK_CAUGHT); } - void onWaterFallFrontHit() { onEndResetFlg1(ERFLG1_UNK_800); } - void onCanoeItemCancel() { onEndResetFlg1(ERFLG1_UNK_20000000); } - void onSwordTriggerNon() { onEndResetFlg1(ERFLG1_UNK_40000000); } + void offDkCaught2() { offNoResetFlg0(FLG0_DK_CAUGHT2); } + void onWaterFallFrontHit() { onEndResetFlg1(ERFLG1_WATERFALL_FRONT_HIT); } + void onCanoeItemCancel() { onEndResetFlg1(ERFLG1_CANOE_ITEM_CANCEL); } + void onSwordTriggerNon() { onEndResetFlg1(ERFLG1_SWORD_TRIGGER_NON); } - u32 checkBoarSingleBattle() const { return checkNoResetFlg2(daPy_FLG2(FLG2_UNK_1000000 | FLG2_BOAR_SINGLE_BATTLE)); } + u32 checkBoarSingleBattle() const { return checkNoResetFlg2(daPy_FLG2(FLG2_BOAR_SINGLE_BATTLE_2ND | FLG2_BOAR_SINGLE_BATTLE_1ST)); } u32 checkWolfDashAutoJump() const { return checkNoResetFlg2(FLG2_WOLF_DASH_AUTO_JUMP); } void changeOriginalDemo() { @@ -1108,8 +1096,8 @@ public: mDemo.setParam2(i_param2); } - void changeDemoParam0(int i_param1) { - mDemo.setParam0(i_param1); + void changeDemoParam0(int i_param0) { + mDemo.setParam0(i_param0); } void changeDemoParam1(int i_param1) { @@ -1126,7 +1114,7 @@ public: void setItemPos(cXyz* i_itemPos) { mItemPos = *i_itemPos; } - cXyz* getViewerCurrentPosP() { return &field_0x5f8; } + cXyz* getViewerCurrentPosP() { return &mViewerCurrentPos; } static bool checkPeepEndSceneChange() { return getLastSceneMode() == 7; } @@ -1163,8 +1151,17 @@ public: return dComIfGs_getSelectEquipClothes() == fpcNm_ITEM_ARMOR; } - /* dSv_event_flag_c::M_067 - Main Event - Midna riding / not riding (ON == riding) */ - static BOOL checkFirstMidnaDemo() { return dComIfGs_isEventBit(0xc10); } + static bool checkCarvingWoodShieldEquip() { + return dComIfGs_getSelectEquipShield() == fpcNm_ITEM_WOOD_SHIELD; + } + + static bool checkShopWoodShieldEquip() { + return dComIfGs_getSelectEquipShield() == fpcNm_ITEM_SHIELD; + } + + static BOOL checkPowerGloveGet() { return false; } + + static BOOL checkFirstMidnaDemo() { return dComIfGs_isEventBit(dSv_event_flag_c::M_067); } static int checkNowWolfPowerUp() { return checkNowWolfEyeUp(); } static daMidna_c* getMidnaActor() { return m_midnaActor; } @@ -1180,10 +1177,10 @@ public: } BOOL checkCowGameLash() const { return checkResetFlg0(RFLG0_COW_GAME_LEASH); } - BOOL checkClimbEndHang() { return checkResetFlg0(RFLG0_UNK_40000); } + BOOL checkClimbEndHang() { return checkResetFlg0(RFLG0_CLIMB_END_HANG); } void onForceHorseGetOff() { - onEndResetFlg2(ERFLG2_UNK_2); + onEndResetFlg2(ERFLG2_FORCE_HORSE_GETOFF); } s16 getFishingRodAngleY() const { @@ -1191,71 +1188,72 @@ public: } void onFishingRelease() { - onEndResetFlg0(ERFLG0_UNK_4000000); + onEndResetFlg0(ERFLG0_FISHING_RELEASE); } static daMidna_c* m_midnaActor; - void setGiantPuzzle() { mSpecialMode = SMODE_WOLF_PUZZLE; } - void setGiantPuzzleEnd() { mSpecialMode = 0; } + void setGiantPuzzle() { mMode = SMODE_WOLF_PUZZLE; } + void setGiantPuzzleEnd() { mMode = 0; } - BOOL checkAutoJumpStart() const { return checkResetFlg0(RFLG0_UNK_100); } + BOOL checkAutoJumpStart() const { return checkResetFlg0(RFLG0_AUTO_JUMP_START); } void onForceGrabRebound() { - onEndResetFlg2(ERFLG2_UNK_8); + onEndResetFlg2(ERFLG2_FORCE_GRAB_REBOUND); } - void setSumouReadyAcceptButton() { mSpecialMode = 2; } - void setSumouForceStand() { mSpecialMode = 3; } - void setSumouPushFrontStop() { mSpecialMode = 9; } - void setSumouPunchWinEnd() { mSpecialMode = 0xB; } - void setSumouPunchLoseEnd() { mSpecialMode = 0xC; } - void setSumouMoveWinEnd() { mSpecialMode = 0xD; } - void setSumouMoveLoseEnd() { mSpecialMode = 0xE; } + void setSumouReadyAcceptButton() { mMode = 2; } + void setSumouForceStand() { mMode = 3; } + void setSumouPushFrontStop() { mMode = 9; } + void setSumouPunchWinEnd() { mMode = 0xB; } + void setSumouPunchLoseEnd() { mMode = 0xC; } + void setSumouMoveWinEnd() { mMode = 0xD; } + void setSumouMoveLoseEnd() { mMode = 0xE; } void setSumouForcePunch() { - if (mSpecialMode == 0x1F) { - mSpecialMode = 0x21; + if (mMode == 0x1F) { + mMode = 0x21; } else { - mSpecialMode = 0x1C; + mMode = 0x1C; } } - void setSumouForceTackle() { mSpecialMode = 0x1B; } - void setSumouForceGraspCancel() { mSpecialMode = 0x24; } + void setSumouForceTackle() { mMode = 0x1B; } + void setSumouForceGraspCancel() { mMode = 0x24; } - bool checkSumouPushFront() const { return mSpecialMode == 7; } - bool checkSumouPushBack() const { return mSpecialMode == 8; } - bool checkSumouTackleSuccess() const { return mSpecialMode == 0xF; } - bool checkSumouTackleSuccessPunch() const { return mSpecialMode == 0x10; } - bool checkSumouTackleMiss() const { return mSpecialMode == 0x11; } - bool checkSumouTackleDraw() const { return mSpecialMode == 0x12; } - bool checkSumouPunchSuccess() const { return mSpecialMode == 0x13; } - bool checkSumouPunchMiss() const { return mSpecialMode == 0x14; } - bool checkSumouPunchDraw() const { return mSpecialMode == 0x15; } - bool checkSumouWait() const { return mSpecialMode == 0x16; } - bool checkSumouLeftMove() const { return mSpecialMode == 0x17; } - bool checkSumouRightMove() const { return mSpecialMode == 0x18; } - bool checkSumouSlideLeft() const { return mSpecialMode == 0x19; } - bool checkSumouSlideRight() const { return mSpecialMode == 0x1A; } - bool checkSumouPunchStagger() const { return mSpecialMode == 0x1F; } - bool checkSumouTackleStagger() const { return mSpecialMode == 0x20; } - bool checkSumouGraspRelease() const { return mSpecialMode == 0x23; } + bool checkSumouPushFront() const { return mMode == 7; } + bool checkSumouPushBack() const { return mMode == 8; } + bool checkSumouTackleSuccess() const { return mMode == 0xF; } + bool checkSumouTackleSuccessPunch() const { return mMode == 0x10; } + bool checkSumouTackleMiss() const { return mMode == 0x11; } + bool checkSumouTackleDraw() const { return mMode == 0x12; } + bool checkSumouPunchSuccess() const { return mMode == 0x13; } + bool checkSumouPunchMiss() const { return mMode == 0x14; } + bool checkSumouPunchDraw() const { return mMode == 0x15; } + bool checkSumouWait() const { return mMode == 0x16; } + bool checkSumouLeftMove() const { return mMode == 0x17; } + bool checkSumouRightMove() const { return mMode == 0x18; } + bool checkSumouSlideLeft() const { return mMode == 0x19; } + bool checkSumouSlideRight() const { return mMode == 0x1A; } + bool checkSumouPunchStagger() const { return mMode == 0x1F; } + bool checkSumouTackleStagger() const { return mMode == 0x20; } + bool checkSumouGraspRelease() const { return mMode == 0x23; } - void onHeavyState() { onNoResetFlg0(FLG0_UNK_40000000); } + void onHeavyState() { onNoResetFlg0(FLG0_HEAVY_STATE); } void onHeavyStateMidnaPanic() { onHeavyState(); onEndResetFlg1(ERFLG1_UNK_40000); } - BOOL checkInsectRelease() { return checkResetFlg1(RFLG1_UNK_100); } + BOOL checkInsectRelease() { return checkResetFlg1(RFLG1_INSECT_RELEASE); } - void onChainForcePull() { onEndResetFlg1(ERFLG1_UNK_1000000); } - void onChainPullEnd() { onEndResetFlg1(ERFLG1_UNK_2000000); } + void onChainForcePull() { onEndResetFlg1(ERFLG1_CHAIN_FORCE_PULL); } + void onChainPullEnd() { onEndResetFlg1(ERFLG1_CHAIN_PULL_END); } - void onWaterDrop() { onEndResetFlg1(ERFLG1_UNK_20000); } - void forceKandelaarLightOff() { onNoResetFlg2(FLG2_UNK_10000000); } + void onWaterDrop() { onEndResetFlg1(ERFLG1_WATER_DROP); } + void forceKandelaarLightOff() { onNoResetFlg2(FLG2_KANDELAAR_LIGHT_OFF); } }; -int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4); +void daPy_aramBufferCheck(void* i_buffer, u32 i_size); +int daPy_addCalcShort(s16* i_value, s16 i_target, s16 i_scale, s16 i_maxStep, s16 i_minStep); inline daPy_py_c* daPy_getPlayerActorClass() { return (daPy_py_c*)dComIfGp_getPlayer(0); diff --git a/include/d/actor/d_a_ppolamp.h b/include/d/actor/d_a_ppolamp.h index 410f03ce26..f6a6da2e66 100644 --- a/include/d/actor/d_a_ppolamp.h +++ b/include/d/actor/d_a_ppolamp.h @@ -1,7 +1,7 @@ #ifndef D_A_PPOLAMP_H #define D_A_PPOLAMP_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor_mng.h" /** diff --git a/include/d/actor/d_a_spinner.h b/include/d/actor/d_a_spinner.h index 0d4d82fedc..dd5b098e57 100644 --- a/include/d/actor/d_a_spinner.h +++ b/include/d/actor/d_a_spinner.h @@ -48,6 +48,7 @@ public: dPath* checkPathMoveNow() { return mpPathMove; } static u32 getWaitArg() { return 0; } + static int getWaterSinkLimit() { return 50; } BOOL getDeleteFlg() const { return mDeleteFlg; } diff --git a/include/d/actor/d_a_tag_CstaSw.h b/include/d/actor/d_a_tag_CstaSw.h index 691342c14a..b40a9d178e 100644 --- a/include/d/actor/d_a_tag_CstaSw.h +++ b/include/d/actor/d_a_tag_CstaSw.h @@ -14,7 +14,7 @@ public: int Draw(); int Delete(); - u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); } + u32 getSw() { return fopAcM_GetParamBit(this, 0, 8); } private: /* 0x568 */ u8 mSwitch; @@ -25,11 +25,11 @@ private: class daTagCstaSw_HIO_c : public mDoHIO_entry_c { public: daTagCstaSw_HIO_c(); - virtual ~daTagCstaSw_HIO_c(); + virtual ~daTagCstaSw_HIO_c() {} void genMessage(JORMContext*); - u8 unk_0x4; + u8 show_range; }; #endif /* D_A_TAG_CSTASW_H */ diff --git a/include/d/actor/d_a_tag_Lv6Gate.h b/include/d/actor/d_a_tag_Lv6Gate.h index 504f6c2fed..d8a248db91 100644 --- a/include/d/actor/d_a_tag_Lv6Gate.h +++ b/include/d/actor/d_a_tag_Lv6Gate.h @@ -6,7 +6,7 @@ class daTagLv6Gate_c : public fopAc_ac_c { public: - int createHeap(); + inline int createHeap(); int create(); inline int execute(); int draw(); diff --git a/include/d/actor/d_a_tag_Lv7Gate.h b/include/d/actor/d_a_tag_Lv7Gate.h index db7b15d22e..efbb88b0cf 100644 --- a/include/d/actor/d_a_tag_Lv7Gate.h +++ b/include/d/actor/d_a_tag_Lv7Gate.h @@ -6,23 +6,23 @@ class daTagLv7Gate_c : public fopAc_ac_c { public: int create(); - void create_init(); - int execute(); + inline void create_init(); + inline int execute(); void calcFly(); inline ~daTagLv7Gate_c(); inline int createHeap(); - inline void setPath(u8 i_path_ID); + inline int setPath(int i_path_ID); inline void initBaseMtx(); inline void setBaseMtx(); inline void flyAnime(); - inline bool checkPoint(f32 i_speed); + inline bool checkPoint(cXyz& i_point, f32 i_speed); inline bool setNextPoint(); inline int draw(); - u8 getPathID() { return fopAcM_GetParam(this) >> 0x10; } - u16 getFlowNodeNo() { return fopAcM_GetParam(this); } + u8 getPathID() { return (fopAcM_GetParam(this) >> 16) & 0xFF; } + s16 getFlowNodeNo() { return (u16)fopAcM_GetParam(this); } /* 0x568 */ J3DModel* mpModel; /* 0x56C */ mDoExt_bckAnm* mpBck; diff --git a/include/d/actor/d_a_tag_Lv8Gate.h b/include/d/actor/d_a_tag_Lv8Gate.h index 9cf455a739..31f3e41e49 100644 --- a/include/d/actor/d_a_tag_Lv8Gate.h +++ b/include/d/actor/d_a_tag_Lv8Gate.h @@ -10,8 +10,8 @@ class daTagLv8Gate_c : public fopAc_ac_c { public: inline ~daTagLv8Gate_c(); - int createHeap(); - int execute(); + inline int createHeap(); + inline int execute(); void initBaseMtx(); void create_init(); diff --git a/include/d/actor/d_a_tag_TWgate.h b/include/d/actor/d_a_tag_TWgate.h index 495be5bad2..e5952da286 100644 --- a/include/d/actor/d_a_tag_TWgate.h +++ b/include/d/actor/d_a_tag_TWgate.h @@ -8,6 +8,26 @@ class daTagTWGate_c; typedef void (daTagTWGate_c::*actionFunc)(); +struct daTagTWGate_Attr_c { + /* 0x00 */ u8 show_range; +}; + +class daTagTWGate_Hio_c : public mDoHIO_entry_c { +public: + daTagTWGate_Hio_c(); + + inline void ct(); + + inline void dt(); + + void default_set(); + + inline void genMessage(JORMContext*); + + /* 0x08 */ int field_0x8; + /* 0x0C */ daTagTWGate_Attr_c attr; +}; + class daTagTWGate_c : public fopAc_ac_c { public: enum EType { @@ -31,6 +51,7 @@ public: /* 0x0A */ ACT_DEMO_HYRAL_1, /* 0x0B */ ACT_DEMO_HYRAL_2, /* 0x0C */ ACT_DEMO_HYRAL_3, + /* 0x0D */ MODE_MAX_e, }; inline ~daTagTWGate_c(); @@ -62,65 +83,47 @@ public: void initDemoHyral3(); void executeDemoHyral3(); void initBaseMtx(); - int downloadModels(); + inline int downloadModels(); void initTalk(int, fopAc_ac_c**); bool talkProc(int*, int, fopAc_ac_c**); static int createHeapCallBack(fopAc_ac_c*); int CreateHeap(); - u8 getSwitch() { return fopAcM_GetParam(this) >> 8; } + u8 getSwitch() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } u8 getType() { return fopAcM_GetParam(this); } inline int create(); - void create_init() { - field_0x5e0 = 0; - mActionID = 0; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + inline void create_init(); + + inline void callExecute(); + + inline int execute(); + + inline int draw(); + +#if DEBUG + daTagTWGate_Attr_c& attr() const { + return mHio.attr; } +#endif - void callExecute() { - (this->*mAction[1])(); - mDoAud_seStartLevel(Z2SE_OBJ_DARK_GATE, ¤t.pos, 0, 0); - } + inline void callInit(); - int execute() { - callExecute(); + inline void setAction(Mode_e i_action); - if (field_0x5e0 != 0) { - mpMorf->play(0, 0); - mpMorf->modelCalc(); - } - return 1; - } - - int draw() { - if (field_0x5e0 != 0) { - mpMorf->entryDL(); - } - return 1; - } - - void callInit() { - (this->*(*mAction))(); - } - - void setAction(Mode_e action) { - mActionID = action; - mAction = ActionTable[mActionID]; - callInit(); - } - - static u8 const mAttr[1]; - static actionFunc ActionTable[13][2]; + static daTagTWGate_Attr_c const mAttr; +#if DEBUG + static daTagTWGate_Hio_c mHio; +#endif + static const actionFunc ActionTable[][2]; private: /* 0x568 */ mDoExt_McaMorfSO* mpMorf; /* 0x56C */ request_of_phase_process_class mPhaseZevArc; /* 0x574 */ request_of_phase_process_class mPhaseMdRes; /* 0x57C */ request_of_phase_process_class mPhasePyRes; - /* 0x584 */ actionFunc* mAction; + /* 0x584 */ const actionFunc* mAction; /* 0x588 */ int mActionID; /* 0x58C */ dMsgFlow_c mMsgFlow; /* 0x5D8 */ u8 field_0x5d8[4]; diff --git a/include/d/actor/d_a_tag_assistance.h b/include/d/actor/d_a_tag_assistance.h index 73f71e297f..8262cf3ff0 100644 --- a/include/d/actor/d_a_tag_assistance.h +++ b/include/d/actor/d_a_tag_assistance.h @@ -5,21 +5,9 @@ class daTagAssist_c : public fopAc_ac_c { public: - void create_init() { - attention_info.flags = 0; - field_0x570 = -1; - } - - int create() { - fopAcM_ct(this, daTagAssist_c); - create_init(); - return cPhs_COMPLEATE_e; - } - - int execute() { - fopAcM_searchPlayerDistanceXZ(this); - return 1; - } + inline void create_init(); + inline int create(); + inline int execute(); u8 field_0x568[8]; s16 field_0x570; diff --git a/include/d/actor/d_a_tag_attack_item.h b/include/d/actor/d_a_tag_attack_item.h index 1f33cb9f83..b24c67003e 100644 --- a/include/d/actor/d_a_tag_attack_item.h +++ b/include/d/actor/d_a_tag_attack_item.h @@ -16,6 +16,7 @@ public: void action(); BOOL checkHit(); void createItem(); + int draw(); int _delete(); virtual ~daTagAtkItem_c() {} diff --git a/include/d/actor/d_a_tag_attention.h b/include/d/actor/d_a_tag_attention.h index 45d2292bec..37969d8903 100644 --- a/include/d/actor/d_a_tag_attention.h +++ b/include/d/actor/d_a_tag_attention.h @@ -4,6 +4,22 @@ #include "d/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +class daAttp_HIO_c : public mDoHIO_entry_c { +public: + daAttp_HIO_c(); + + void genMessage(JORMContext*); + + /* 0x06 */ u8 enable_type_switching; + /* 0x07 */ u8 type_spec; + /* 0x08 */ u8 enable_distance_display; + /* 0x0C */ f32 dist_max; + /* 0x10 */ f32 dist_max_release; + /* 0x14 */ f32 dist_adjust; + /* 0x18 */ f32 upper_y; + /* 0x1C */ f32 lower_y; +}; + class daAttp_c : public fopAc_ac_c { public: int Create(); @@ -11,28 +27,33 @@ public: int execute(); int draw(); int _delete(); + +#if DEBUG + Mtx field_0x568; + u8 field_0x598; +#endif }; // Size: 0x568 namespace daAttp_prm { -static inline u32 getArg0(daAttp_c* pActor) { - return fopAcM_GetParam(pActor) & 3; +static inline u8 getArg0(daAttp_c* pActor) { + return fopAcM_GetParam(pActor) & 0x3; } -static inline u32 getArg1(daAttp_c* pActor) { - return (fopAcM_GetParam(pActor) >> 2) & 3; +static inline u8 getArg1(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 2) & 0x3; } -static inline u32 getArg2(daAttp_c* pActor) { - return (fopAcM_GetParam(pActor) >> 4) & 7; +static inline u8 getArg2(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 4) & 0x7; } -static inline u32 getArg3(daAttp_c* pActor) { - return (fopAcM_GetParam(pActor) >> 7) & 1; +static inline u8 getArg3(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 7) & 0x1; } -static inline u32 getArg4(daAttp_c* pActor) { - return (fopAcM_GetParam(pActor) >> 8) & 1; +static inline u8 getArg4(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 8) & 0x1; } -static inline u32 getSw1(daAttp_c* pActor) { +static inline u8 getSw1(daAttp_c* pActor) { return (fopAcM_GetParam(pActor) >> 0x10) & 0xff; } -static inline u32 getSw2(daAttp_c* pActor) { +static inline u8 getSw2(daAttp_c* pActor) { return (fopAcM_GetParam(pActor) >> 0x18); } } // namespace daAttp_prm diff --git a/include/d/actor/d_a_tag_bottle_item.h b/include/d/actor/d_a_tag_bottle_item.h index ecdba3d544..cd122c8cad 100644 --- a/include/d/actor/d_a_tag_bottle_item.h +++ b/include/d/actor/d_a_tag_bottle_item.h @@ -14,18 +14,18 @@ private: /* 0x0576 */ u8 mBottleItemType; public: - s32 create(); - s32 Delete(); - s32 Execute(); - s32 Draw(); + int create(); + int Delete(); + int Execute(); + int Draw(); void setTypeFromParam(); void restart(); void initialize(); int checkProcess(ProcessFunc); int setProcess(ProcessFunc); void setAttnPos(); - s32 chkEvent(); - s32 orderEvent(); + int chkEvent(); + int orderEvent(); void makeSoup(); int wait(void*); virtual ~daTag_BottleItem_c(); diff --git a/include/d/actor/d_a_tag_camera.h b/include/d/actor/d_a_tag_camera.h index e9b4516637..b2b558adb3 100644 --- a/include/d/actor/d_a_tag_camera.h +++ b/include/d/actor/d_a_tag_camera.h @@ -14,6 +14,7 @@ public: u16 getAreaType(); u16 getAreaNoChk(); int execute(); + int draw(); inline int create(); diff --git a/include/d/actor/d_a_tag_chgrestart.h b/include/d/actor/d_a_tag_chgrestart.h index 496b4a0477..18b1cd6a48 100644 --- a/include/d/actor/d_a_tag_chgrestart.h +++ b/include/d/actor/d_a_tag_chgrestart.h @@ -6,10 +6,11 @@ class daTagChgRestart_c : public fopAc_ac_c { public: daTagChgRestart_c() {} - s32 Create(); - s32 create(); - s32 execute(); - s32 _delete(); + int Create(); + int create(); + int execute(); + int draw(); + int _delete(); /* 0x0568 */ cXyz mVertices[4]; }; @@ -17,8 +18,12 @@ public: STATIC_ASSERT(sizeof(daTagChgRestart_c) == 0x598); namespace daTagChgRestart_prm { - inline u8 getSwNo(daTagChgRestart_c* p_chgRestart) { return fopAcM_GetParam(p_chgRestart) >> 8; } - inline u8 getPlayerNo(daTagChgRestart_c* p_chgRestart) { return fopAcM_GetParam(p_chgRestart); } + inline u8 getSwNo(daTagChgRestart_c* p_chgRestart) { + return (fopAcM_GetParam(p_chgRestart) >> 8) & 0xFF; + } + inline u8 getPlayerNo(daTagChgRestart_c* p_chgRestart) { + return fopAcM_GetParam(p_chgRestart); + } }; // namespace daTagChgRestart_prm #endif /* D_A_TAG_CHGRESTART_H */ diff --git a/include/d/actor/d_a_tag_chkpoint.h b/include/d/actor/d_a_tag_chkpoint.h index 842408d20c..4871ec3946 100644 --- a/include/d/actor/d_a_tag_chkpoint.h +++ b/include/d/actor/d_a_tag_chkpoint.h @@ -7,11 +7,12 @@ class daTag_Chk_c : public fopAc_ac_c { public: int execute(); + int draw(); u16 getAreaType() { return home.angle.z & 0x100; } - u16 getHeight() { return fopAcM_GetParam(this) & 0xff; } - u8 getSwBit() { return fopAcM_GetParam(this) >> 8; } - u8 getSwBit2() { return fopAcM_GetParam(this) >> 16; } + u8 getHeight() { return fopAcM_GetParam(this) & 0xff; } + u8 getSwBit() { return (fopAcM_GetParam(this) & 0xff00) >> 8; } + u8 getSwBit2() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; } int create() { fopAcM_ct(this, daTag_Chk_c); @@ -34,8 +35,11 @@ public: attention_info.position = current.pos; - u16 height = getHeight(); - height != 0xff ? attention_info.position.y += height * 10.0f : attention_info.position.y += scale.y * 0.5f; + if (getHeight() != 0xff) { + attention_info.position.y += getHeight() * 10.0f; + } else { + attention_info.position.y += scale.y * 0.5f; + } eyePos = attention_info.position; return cPhs_COMPLEATE_e; diff --git a/include/d/actor/d_a_tag_csw.h b/include/d/actor/d_a_tag_csw.h index 97d08ffda2..a55f21cb88 100644 --- a/include/d/actor/d_a_tag_csw.h +++ b/include/d/actor/d_a_tag_csw.h @@ -23,7 +23,7 @@ struct daTagCsw_c : public fopAc_ac_c, public request_of_phase_process_class { int getSw2() { return fopAcM_GetParamBit(this, 9, 8); } int getType() { return fopAcM_GetParamBit(this, 0, 1); } int getParam(int param_1, int param_2, int param_3) { - return (1 << param_3) - 1U & param_1 >> (param_2 & 0x3fU); + return (1 << param_3) - 1U & param_1 >> param_2; } int getArg0() { return getParam(current.angle.x, 0, 8); } int getItemBit() { return fopAcM_GetParamBit(this, 17, 8); } diff --git a/include/d/actor/d_a_tag_escape.h b/include/d/actor/d_a_tag_escape.h index d9a0aa23a4..b733e95aa9 100644 --- a/include/d/actor/d_a_tag_escape.h +++ b/include/d/actor/d_a_tag_escape.h @@ -5,8 +5,7 @@ class daTagEscape_c : public fopAc_ac_c { public: - daTagEscape_c() {} - ~daTagEscape_c() {} + inline int create(); u8 getPathID() { return fopAcM_GetParam(this) & 0xff; } }; diff --git a/include/d/actor/d_a_tag_evtarea.h b/include/d/actor/d_a_tag_evtarea.h index 5bfeaf4c3e..4bf0ec404e 100644 --- a/include/d/actor/d_a_tag_evtarea.h +++ b/include/d/actor/d_a_tag_evtarea.h @@ -5,7 +5,7 @@ class daTag_EvtArea_c : public fopAc_ac_c { public: - cPhs__Step create(); + cPhs_Step create(); BOOL Delete(); BOOL Execute(); BOOL Draw(); diff --git a/include/d/actor/d_a_tag_guard.h b/include/d/actor/d_a_tag_guard.h index 0d2c784303..adebfffb75 100644 --- a/include/d/actor/d_a_tag_guard.h +++ b/include/d/actor/d_a_tag_guard.h @@ -9,7 +9,7 @@ public: int getAppearPoint(Vec*); void createGuard(u32); - u8 getPathID() { return fopAcM_GetParam(this) >> 8; } + u8 getPathID() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } inline int create(); inline void create_init(); diff --git a/include/d/actor/d_a_tag_howl.h b/include/d/actor/d_a_tag_howl.h index 9d1f9ed023..222987b8f6 100644 --- a/include/d/actor/d_a_tag_howl.h +++ b/include/d/actor/d_a_tag_howl.h @@ -14,7 +14,7 @@ public: int destroy(); int execute(); int draw(); - u8 isAreaCheck(); + bool isAreaCheck(); int getParam(); u8 getSwitchBit(); virtual ~daTag_Howl_c() {} diff --git a/include/d/actor/d_a_tag_kmsg.h b/include/d/actor/d_a_tag_kmsg.h index 7fe9c21a92..2875ca3210 100644 --- a/include/d/actor/d_a_tag_kmsg.h +++ b/include/d/actor/d_a_tag_kmsg.h @@ -1,7 +1,7 @@ #ifndef D_A_TAG_KMSG_H #define D_A_TAG_KMSG_H -#include "dolphin/types.h" +#include #include "f_op/f_op_actor.h" #include "f_op/f_op_actor_mng.h" #include "d/d_msg_flow.h" @@ -45,9 +45,9 @@ public: } int getType() { - int param = fopAcM_GetParam(this) >> 0x18; - int type; + u32 param = (fopAcM_GetParam(this) & 0xFF000000) >> 0x18; + int type; if (param == 0xFF) { type = 0; } else { diff --git a/include/d/actor/d_a_tag_lantern.h b/include/d/actor/d_a_tag_lantern.h index 9cb8c698e1..54e1e5cf22 100644 --- a/include/d/actor/d_a_tag_lantern.h +++ b/include/d/actor/d_a_tag_lantern.h @@ -5,7 +5,7 @@ #include "d/d_msg_flow.h" struct daTag_Lantern_HIOParam { - u8 field_0x0; + u8 enable_debug_info; }; class daTag_Lantern_Param_c { diff --git a/include/d/actor/d_a_tag_lightball.h b/include/d/actor/d_a_tag_lightball.h index a9e3453e39..c27ef8e061 100644 --- a/include/d/actor/d_a_tag_lightball.h +++ b/include/d/actor/d_a_tag_lightball.h @@ -13,8 +13,8 @@ public: int draw(); int _delete(); - u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); } - u32 getType() { return fopAcM_GetParamBit(this, 8, 4); } + u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); } + u8 getType() { return fopAcM_GetParamBit(this, 8, 4); } /* 0x568 */ DALKMIST_INFLUENCE mInfluence; /* 0x57C */ u8 field_0x57c; diff --git a/include/d/actor/d_a_tag_lv6CstaSw.h b/include/d/actor/d_a_tag_lv6CstaSw.h index 9f8bf99dd6..17b58e4b28 100644 --- a/include/d/actor/d_a_tag_lv6CstaSw.h +++ b/include/d/actor/d_a_tag_lv6CstaSw.h @@ -14,7 +14,7 @@ public: int Draw(); int Delete(); - u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); } + u32 getSw() { return fopAcM_GetParamBit(this, 0, 8); } private: /* 0x568 */ u8 mSwitch; @@ -24,11 +24,11 @@ private: class daLv6CstaSw_HIO_c : public mDoHIO_entry_c { public: daLv6CstaSw_HIO_c(); - virtual ~daLv6CstaSw_HIO_c(); + virtual ~daLv6CstaSw_HIO_c() {} void genMessage(JORMContext*); - u8 unk_0x4; + u8 show_range; }; #endif /* D_A_TAG_LV6CSTASW_H */ diff --git a/include/d/actor/d_a_tag_mist.h b/include/d/actor/d_a_tag_mist.h index 798be173d9..9579ff62d5 100644 --- a/include/d/actor/d_a_tag_mist.h +++ b/include/d/actor/d_a_tag_mist.h @@ -11,6 +11,7 @@ public: int Create(); int create(); int execute(); + int draw(); int _delete(); static u8 getPlayerNo(); @@ -28,18 +29,18 @@ public: namespace daTagMist_prm { inline u8 getSwNoNum(daTagMist_c* i_this) { - return fopAcM_GetParam(i_this) >> 0x10; + return (fopAcM_GetParam(i_this) >> 16) & 0xFF; } inline u8 getMySwNo(daTagMist_c* i_this) { - return fopAcM_GetParam(i_this) >> 0x8; + return (fopAcM_GetParam(i_this) >> 8) & 0xFF; } inline u8 getTopSwNo(daTagMist_c* i_this) { return fopAcM_GetParam(i_this); } inline u8 getExitNo(daTagMist_c* i_this) { - return (fopAcM_GetParam(i_this) >> 0x18) & 0x3F; + return (fopAcM_GetParam(i_this) >> 24) & 0x3F; } -inline int getSwNo2(daTagMist_c* i_this) { +inline u8 getSwNo2(daTagMist_c* i_this) { return i_this->field_0x5a2 & 0xFF; } } // namespace daTagMist_prm diff --git a/include/d/actor/d_a_tag_mmsg.h b/include/d/actor/d_a_tag_mmsg.h index b916e2f212..9fdd0b3c66 100644 --- a/include/d/actor/d_a_tag_mmsg.h +++ b/include/d/actor/d_a_tag_mmsg.h @@ -12,13 +12,13 @@ public: int execute(); void onUseFlg() { mUseFlg = true; } - bool checkNoAttention() { return mAttention == 0xFF; } + bool checkNoAttention() const { return mAttention == 0xFF; } private: /* 0x568 */ u8 field_0x568; /* 0x569 */ u8 field_0x569; /* 0x56A */ u8 mAttention; - /* 0x56B */ bool field_0x56b; + /* 0x56B */ u8 field_0x56b; /* 0x56C */ bool mUseFlg; /* 0x56D */ u8 field_0x56d[3]; /* 0x570 */ u16 field_0x570; diff --git a/include/d/actor/d_a_tag_msg.h b/include/d/actor/d_a_tag_msg.h index 52f60bf13b..5ff6163559 100644 --- a/include/d/actor/d_a_tag_msg.h +++ b/include/d/actor/d_a_tag_msg.h @@ -16,6 +16,23 @@ public: static const daTag_Msg_HIO_Param_c m; }; +#if DEBUG +class daTag_Msg_HIO_c : public JORReflexible { +public: + daTag_Msg_HIO_c(); + ~daTag_Msg_HIO_c(); + + void genMessage(JORMContext*); + + s8 mChild; + daTag_Msg_HIO_Param_c m; +}; + +#define TAG_MSG_HIO_CLASS daTag_Msg_HIO_c +#else +#define TAG_MSG_HIO_CLASS daTag_Msg_Param_c +#endif + class daTag_Msg_c : public fopAc_ac_c { public: virtual ~daTag_Msg_c(); @@ -39,9 +56,9 @@ public: /* 0x5CC */ int mOrderEvtNum; /* 0x5D0 */ s16 mEventIdx; /* 0x5D2 */ u8 field_0x5D2[0x5D8 - 0x5D2]; - /* 0x5D8 */ daTag_Msg_Param_c* mParam; - /* 0x5DC */ u8 field_0x5dc; - /* 0x5DD */ u8 field_0x5dd; + /* 0x5D8 */ TAG_MSG_HIO_CLASS* mpHIO; + /* 0x5DC */ bool field_0x5dc; + /* 0x5DD */ bool field_0x5dd; /* 0x5DE */ u8 mOnSwitch; /* 0x5DF */ u8 mOffSwitch; /* 0x5E0 */ u16 mOnSaveLabel; diff --git a/include/d/actor/d_a_tag_myna2.h b/include/d/actor/d_a_tag_myna2.h index 5117e36c22..7eecb0c1d7 100644 --- a/include/d/actor/d_a_tag_myna2.h +++ b/include/d/actor/d_a_tag_myna2.h @@ -8,8 +8,8 @@ public: s32 create(); s32 execute(); - u8 getSwBit() { return fopAcM_GetParam(this) >> 8; } - u8 getMode() { return fopAcM_GetParam(this); } + u8 getSwBit() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } + int getMode() { return fopAcM_GetParam(this) & 0xFF; } f32 getExtent() { return scale.x * 100.0f;} private: diff --git a/include/d/actor/d_a_tag_myna_light.h b/include/d/actor/d_a_tag_myna_light.h index 0a8b27c15d..664aea5e57 100644 --- a/include/d/actor/d_a_tag_myna_light.h +++ b/include/d/actor/d_a_tag_myna_light.h @@ -10,8 +10,8 @@ public: int Execute(); int Draw(); bool setTurnOnOffChange(); - u32 getTurnOnTime(); - u32 getTurnOffTime(); + u8 getTurnOnTime(); + u8 getTurnOffTime(); void initialize(); virtual ~daTag_MynaLight_c(); diff --git a/include/d/actor/d_a_tag_push.h b/include/d/actor/d_a_tag_push.h index 007c755f22..3a20b5ed77 100644 --- a/include/d/actor/d_a_tag_push.h +++ b/include/d/actor/d_a_tag_push.h @@ -14,17 +14,14 @@ public: int isDelete(); int chkPointInArea(cXyz); - u32 getId() { - u32 id = fopAcM_GetParam(this) >> 0x18; - if (id != 0xFF) { - return id; - } - return -1; + int getId() { + u16 id = (fopAcM_GetParam(this) & 0xFF000000) >> 24; + return id == 0xFF ? -1 : id; } u8 getBitSW() { return fopAcM_GetParam(this) & 0xFF; } - u8 getBitSW2() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } + u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } u32 getFlowNodeNo() { if (home.angle.x != 0xFFFF) { diff --git a/include/d/actor/d_a_tag_qs.h b/include/d/actor/d_a_tag_qs.h index 832881d338..0ff7b20127 100644 --- a/include/d/actor/d_a_tag_qs.h +++ b/include/d/actor/d_a_tag_qs.h @@ -17,7 +17,7 @@ public: int execute(); int draw(); - u8 getType() { return fopAcM_GetParamBit(this, 0, 1); } + u32 getType() { return fopAcM_GetParamBit(this, 0, 1); } int getSwNo() { return fopAcM_GetParamBit(this, 1, 8); } /* 0x568 */ f32 field_0x568; diff --git a/include/d/actor/d_a_tag_ret_room.h b/include/d/actor/d_a_tag_ret_room.h index 063f644d8f..9e5f579e76 100644 --- a/include/d/actor/d_a_tag_ret_room.h +++ b/include/d/actor/d_a_tag_ret_room.h @@ -13,7 +13,7 @@ public: int draw(); int execute(); void init(); - u8 chkPlyrInTag(); + bool chkPlyrInTag(); /* 0x56C */ f32 field_0x56c; /* 0x570 */ f32 field_0x570; diff --git a/include/d/actor/d_a_tag_river_back.h b/include/d/actor/d_a_tag_river_back.h index 9cbd1e603e..3d53fe9d27 100644 --- a/include/d/actor/d_a_tag_river_back.h +++ b/include/d/actor/d_a_tag_river_back.h @@ -31,9 +31,11 @@ public: void setAction(u8 i_action) { mAction = i_action; } - u8 getSwBit() { return fopAcM_GetParamBit(this, 8, 8); } + u8 getSwbit() { return fopAcM_GetParamBit(this, 8, 8); } - u8 getSwBit2() { return fopAcM_GetParamBit(this, 0x10, 8); } + u8 getSwbit2() { return fopAcM_GetParamBit(this, 0x10, 8); } + + u8 getNextSceneNo() { return fopAcM_GetParamBit(this, 0, 8); } /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ u8 mTimer; diff --git a/include/d/actor/d_a_tag_rmbit_sw.h b/include/d/actor/d_a_tag_rmbit_sw.h index 8b214533b9..957267dd1d 100644 --- a/include/d/actor/d_a_tag_rmbit_sw.h +++ b/include/d/actor/d_a_tag_rmbit_sw.h @@ -12,13 +12,13 @@ public: int draw(); int execute(); void init(); - u8 chkPlyrInTag(); + bool chkPlyrInTag(); s8 getArg0_RoomSaveTableNo() { return fopAcM_GetParamBit(this, 0, 8); } s8 getArg1_RoomNo() { return fopAcM_GetParamBit(this, 8, 8); } u8 getArg2_CngBitVal() { return fopAcM_GetParamBit(this, 16, 1); } u8 getArg3_CngBitFlg() { return fopAcM_GetParamBit(this, 17, 1); } - u8 getSwBit() { return fopAcM_GetParamBit(this, 24, 8); } + int getSwBit() { return fopAcM_GetParamBit(this, 24, 8); } /* 0x56C */ f32 field_0x56c; /* 0x570 */ f32 field_0x570; diff --git a/include/d/actor/d_a_tag_setrestart.h b/include/d/actor/d_a_tag_setrestart.h index 73eb563ace..9cc144a55c 100644 --- a/include/d/actor/d_a_tag_setrestart.h +++ b/include/d/actor/d_a_tag_setrestart.h @@ -8,6 +8,7 @@ public: int Create(); int create(); int execute(); + int draw(); int _delete(); /* 0x568 */ s8 mPlayerRoomNo; diff --git a/include/d/actor/d_a_tag_spinner.h b/include/d/actor/d_a_tag_spinner.h index b0d97dfb56..cae6eeb9b6 100644 --- a/include/d/actor/d_a_tag_spinner.h +++ b/include/d/actor/d_a_tag_spinner.h @@ -14,6 +14,7 @@ public: int CreateHeap(); int create(); int execute(); + int draw(); int _delete(); f32 GetR() { return mRadius; } }; diff --git a/include/d/actor/d_a_tag_spring.h b/include/d/actor/d_a_tag_spring.h index 4d6a50a9b0..353d920ad9 100644 --- a/include/d/actor/d_a_tag_spring.h +++ b/include/d/actor/d_a_tag_spring.h @@ -10,10 +10,11 @@ public: int Create(); int create(); int execute(); - u8 checkArea(); + bool checkArea(); + int draw(); int _delete(); - u32 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); } + u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); } /* 0x568 */ u8 mTimer; }; // Size: 0x56C diff --git a/include/d/actor/d_a_tag_ss_drink.h b/include/d/actor/d_a_tag_ss_drink.h index 4055bd3fc0..c5766c9dfc 100644 --- a/include/d/actor/d_a_tag_ss_drink.h +++ b/include/d/actor/d_a_tag_ss_drink.h @@ -14,7 +14,7 @@ public: int Delete(); int Execute(); int Draw(); - int getTypeFromParam(); + u8 getTypeFromParam(); u8 getSwitchFromParam(); u16 getFlowNodeNum(); u16 getValue(); @@ -29,7 +29,6 @@ public: int talk(void*); ~daTag_SSDrink_c(); - s32 fopAcM_seenPlayerAngleY() { return fopAcM_seenActorAngleY(this, dComIfGp_getPlayer(0)); } bool checkShopOil() const { return field_0x5D2 == 4; } /* 0x578 */ dMsgFlow_c field_0x578; diff --git a/include/d/actor/d_a_tag_statue_evt.h b/include/d/actor/d_a_tag_statue_evt.h index 596d820e65..1bdc0d4f52 100644 --- a/include/d/actor/d_a_tag_statue_evt.h +++ b/include/d/actor/d_a_tag_statue_evt.h @@ -7,9 +7,9 @@ class daTagStatue_c : public fopAc_ac_c { public: void initBaseMtx(); void setBaseMtx(); - cPhs__Step Create(); + cPhs_Step Create(); int CreateHeap(); - cPhs__Step create(); + cPhs_Step create(); int execute(); void event_proc_call(); void actionWait(); @@ -21,7 +21,7 @@ public: void endParticle(); BOOL checkStartDemo(); BOOL checkOnEffect(); - s32 getLetterCount(); + int getLetterCount(); int draw(); int _delete(); @@ -38,7 +38,7 @@ private: /* 0x596 */ u8 mMapToolId; /* 0x597 */ u8 mSkyCharacterEventBitIdIndex; /* 0x598 */ s16 mEventId; - /* 0x59C */ u32 mTreasureDemoItemId; + /* 0x59C */ u32 mItemId; /* 0x5A0 */ s32 mOwlStatueId; enum Action_e { @@ -63,19 +63,23 @@ private: TAG_LOCATION_RUINED_THEATRE }; - void setAction(Action_e action) { + void setAction(u8 action) { mCurrentAction = action; } - u32 getSwbit() { + u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); } // Returns whether player has obtained a Sky Character from the tag - u32 getSwbit2() { + u8 getSwbit2() { return fopAcM_GetParamBit(this, 12, 8); } + + u8 getType() { + return fopAcM_GetParamBit(this, 8, 4); + } }; #endif /* D_A_TAG_STATUE_EVT_H */ diff --git a/include/d/actor/d_a_tag_stream.h b/include/d/actor/d_a_tag_stream.h index 6988320281..7c3b3eb4ac 100644 --- a/include/d/actor/d_a_tag_stream.h +++ b/include/d/actor/d_a_tag_stream.h @@ -5,7 +5,7 @@ class daTagStream_c : public fopAc_ac_c { public: - u8 getPriority() { + u8 getPriority() const { return mPriority; } diff --git a/include/d/actor/d_a_tag_theB_hint.h b/include/d/actor/d_a_tag_theB_hint.h index cd80a3e5e7..fb200e1ecd 100644 --- a/include/d/actor/d_a_tag_theB_hint.h +++ b/include/d/actor/d_a_tag_theB_hint.h @@ -1,61 +1,16 @@ #ifndef D_A_TAG_THEB_HINT_H #define D_A_TAG_THEB_HINT_H -// #include "d/actor/d_a_npc_theB.h" -#include "d/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" -// needs to be pulled from d_a_npc_theB.h eventually -struct daNpcTheB_c { - daNpcTheB_c(); - ~daNpcTheB_c(); - void create(); - void CreateHeap(); - void Delete(); - void Execute(); - void Draw(); - void ctrlJoint(J3DJoint*, J3DModel*); - void createHeapCallBack(fopAc_ac_c*); - void ctrlJointCallBack(J3DJoint*, int); - void getHandPos1(int); - void getHandPos2(int); - void setHintEvent(s32, u16, int); - void main(); - void setParam(); - void ctrlBtk(); - void setAttnPos(); - void setExpressionAnm(int, bool); - void setExpressionBtp(int); - bool setMotionAnm(int, f32); - bool drawDbgInfo(); - void reset(); - void playExpression(); - void playMotion(); - void doNormalAction(); - void doEvent(); - void lookat(); - void wait(void*); - void setMotion(int, f32, int); - void setExpression(int, f32); - void talk(void*); - void EvCut_PersonalCombatIntro(int); - void EvCut_PersonalCombatRevenge(int); - void EvCut_PersonalCombatAfter(); - void EvCut_AnnulationFieldRace(int); - void EvCut_TheBHint(int); - void EvCut_CoachGuardGameOver(int); - - static u8 mEvtSeqList[72]; -}; - class daTagTheBHint_c : public fopAc_ac_c { public: - u8 getSwitchNo() { + u32 getSwitchNo() { return shape_angle.x & 0xff; } - u16 getMessageNo() { + u32 getMessageNo() { return shape_angle.z & 0xffff; } @@ -65,37 +20,11 @@ public: s8 getRoomNo() { return fopAcM_GetParam(this) >> 24; - } - - int create() { - fopAcM_ct(this, daTagTheBHint_c); - field_0x568 = pow(scale.x * 100.0f,2.0f); - return cPhs_COMPLEATE_e; } - int execute() { - if (fopAcM_isSwitch(this,getSwitchNo())) { - fopAcM_delete(this); - return 1; - } else { - f32 distance = fopAcM_searchPlayerDistanceXZ2(this); + inline int create(); + inline int execute(); - if (distance < field_0x568) { - daNpcTheB_c* the_b = (daNpcTheB_c*)fpcM_SearchByName(PROC_NPC_THEB); - if (the_b) { - s8 roomNo = getRoomNo(); - - if (roomNo == 0xFF) { - roomNo = fopAcM_GetRoomNo(this); - } - - the_b->setHintEvent(getMessageNo(),getLinkID(),roomNo); - } - } - } - - return 1; - } /* 0x568 */ f32 field_0x568; }; diff --git a/include/d/actor/d_a_tag_waterfall.h b/include/d/actor/d_a_tag_waterfall.h index 26c1bc040c..80ffe7bec2 100644 --- a/include/d/actor/d_a_tag_waterfall.h +++ b/include/d/actor/d_a_tag_waterfall.h @@ -20,7 +20,7 @@ public: bool checkHitWaterFallCamera(); int execute(); int _delete(); - cPhs__Step create(); + cPhs_Step create(); private: /* 0x568 */ f32 mCylinderRadiusA; @@ -29,31 +29,31 @@ private: /* 0x574 */ f32 mFogNear; /* 0x578 */ f32 mFogFar; /* 0x57C */ f32 mColorBlend; - /* 0x580 */ bool mPrevCameraInWaterfall; + /* 0x580 */ u8 mPrevCameraInWaterfall; /* 0x581 */ u8 mFrameCountdown; /* 0x582 */ u8 mColpat; /* 0x583 */ u8 mIsMasterWaterfallTag; }; -struct daTagWaterFall_HIO_c { +struct daTagWaterFall_HIO_c : public JORReflexible { public: daTagWaterFall_HIO_c(); - virtual ~daTagWaterFall_HIO_c(); + virtual ~daTagWaterFall_HIO_c() {} + + void genMessage(JORMContext*); /* 0x00 */ /* vtable */ - /* 0x04 */ s8 field_0x04; - /* 0x05 */ bool mShouldModifyFog; - /* 0x06 */ u8 pad0[2]; - /* 0x08 */ f32 mBaseFogNear; - /* 0x0C */ f32 mBaseFogFar; - /* 0x10 */ f32 mColorBlendStepDivisor; - /* 0x14 */ u8 field_0x14; - /* 0x15 */ u8 field_0x15; - /* 0x16 */ u8 pad1[2]; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; + /* 0x04 */ s8 child; + /* 0x05 */ u8 enable_fog_adjust; + /* 0x08 */ f32 base_fog_far; + /* 0x0C */ f32 base_fog_near; + /* 0x10 */ f32 color_blend_step_divisor; + /* 0x14 */ u8 draw_ellipse; + /* 0x15 */ u8 enable_ellipse_adjust; + /* 0x18 */ f32 ellipse_radius_a; + /* 0x1C */ f32 ellipse_radius_b; + /* 0x20 */ f32 ellipse_rotate; }; #endif /* D_A_TAG_WATERFALL_H */ diff --git a/include/d/actor/d_a_tag_yami.h b/include/d/actor/d_a_tag_yami.h index 0af2271e6b..8410899186 100644 --- a/include/d/actor/d_a_tag_yami.h +++ b/include/d/actor/d_a_tag_yami.h @@ -16,8 +16,8 @@ public: void offMidnaTagSw2(); void setCoC(cXyz i_coC) { mCoC = i_coC; } - u8 get_MTagSw() { return fopAcM_GetParamBit(this, 8, 8); } - u8 get_MTagSw2() { return fopAcM_GetParamBit(this, 16, 8); } + int get_MTagSw() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } + int get_MTagSw2() { return (fopAcM_GetParam(this) >> 16) & 0xFF; } s32 get_prm() { return fopAcM_GetParam(this) & 0xff; } int is_CoHit() { return mIsCoHit; } diff --git a/include/d/actor/d_a_tbox.h b/include/d/actor/d_a_tbox.h index 0e8feaa653..798a1c8661 100644 --- a/include/d/actor/d_a_tbox.h +++ b/include/d/actor/d_a_tbox.h @@ -59,10 +59,10 @@ public: }; daTbox_ModelInfo* getModelInfo(); - cPhs__Step commonShapeSet(); - cPhs__Step effectShapeSet(); - cPhs__Step envShapeSet(); - cPhs__Step bgCheckSet(); + cPhs_Step commonShapeSet(); + cPhs_Step effectShapeSet(); + cPhs_Step envShapeSet(); + cPhs_Step bgCheckSet(); void lightReady(); void setLightPos(); int checkEnv(); @@ -121,7 +121,7 @@ public: void mode_proc_call(); void mode_exec_wait(); void mode_exec(); - cPhs__Step create1st(); + cPhs_Step create1st(); int Execute(Mtx**); int Draw(); int Delete(); diff --git a/include/d/d_bg_parts.h b/include/d/d_bg_parts.h index e1dee27800..adfb97d2b9 100644 --- a/include/d/d_bg_parts.h +++ b/include/d/d_bg_parts.h @@ -2,13 +2,252 @@ #define D_D_BG_PARTS #include "f_op/f_op_actor.h" +#include "d/d_com_inf_game.h" +#include "JSystem/J3DGraphBase/J3DDrawBuffer.h" +#include "JSystem/J3DGraphBase/J3DPacket.h" +#include "m_Do/m_Do_ext.h" +#include "d/d_bg_w.h" class dBgp_c { public: - int registBg(fopAc_ac_c*); - void draw(fopAc_ac_c*); - int execute(bool); + class material_c { + public: + material_c() {} + + void draw(); + material_c* getNext() { return mpNext; } + material_c** getNext_p() { return &mpNext; } + + void setNext(material_c* i_material) { + mpNext = i_material; + } + + virtual void drawSimple() = 0; + virtual bool isSame(material_c*) { return false; } + + virtual void addChild(material_c* i_material) { + UNUSED(i_material); + JUT_ASSERT(78, FALSE); + } + + /* 0x4 */ material_c* mpNext; + }; + + class modelMaterial_c : public material_c { + public: + modelMaterial_c() {} + + MtxPtr getMtx() { + return mpMtx; + } + + J3DModelData* getModelData() { + return mpModelData; + } + + modelMaterial_c* getChild() { + return mpChild; + } + + J3DMaterial* getMaterial() { + return mpMaterial; + } + + u16 getMaterialID() { return mMaterialID; } + + void setChild(modelMaterial_c* i_child) { + mpChild = i_child; + } + + void set(J3DModelData*, J3DMaterial*, Mtx); + + virtual void drawSimple(); + virtual bool isSame(material_c*); + virtual void addChild(material_c*); + + /* 0x08 */ u16 mMaterialID; + /* 0x0C */ J3DModelData* mpModelData; + /* 0x10 */ J3DMaterial* mpMaterial; + /* 0x14 */ MtxPtr mpMtx; + /* 0x18 */ modelMaterial_c* mpChild; + }; + + class packet_c : public J3DPacket { + public: + packet_c(); + ~packet_c(); + + void draw(); + s8 getRoomNo() { return mRoomNo; } + void setRoomNo(s8 i_roomNo) { + mRoomNo = i_roomNo; + } + void reset(); + void entryMaterial(material_c*, u32); + void entryModel(modelMaterial_c*); + void entryShare(modelMaterial_c*); + + static const int MATERIAL_SORT_LEVEL = 2; + + /* 0x10 */ s8 mRoomNo; + /* 0x14 */ material_c* mpMaterials[64]; + }; + + class model_c { + public: + model_c() { + mMaterial = NULL; + } + + void create(J3DModelData*, Mtx); + void remove(); + + MtxPtr getBaseTRMtx() { + return mBaseTRMtx; + } + + modelMaterial_c* getMaterial() { + return mMaterial; + } + + /* 0x00 */ u16 mId; + /* 0x04 */ Mtx mBaseTRMtx; + /* 0x34 */ modelMaterial_c* mMaterial; + }; + + class share_c { + public: + share_c(); + ~share_c() {} + + void set(u16); + void reset(); + + const char* getArcName(); + int execute(); + void draw(); + void entry(packet_c*); + void cbNormal(); + void cbConveyor(); + + u16 getId() { return mId; } + u16 getCount() { return mCount; } + bool isUsed() { return mStatus != -1; } + bool isDraw() { return mStatus == 0; } + + void setCallback(void (share_c::*i_callback)()) { + mCallback = i_callback; + } + + /* 0x00 */ s8 mStatus; + /* 0x01 */ u8 field_0x1; + /* 0x02 */ u16 mId; + /* 0x04 */ u16 mCount; + /* 0x08 */ J3DModelData* mModelData; + /* 0x0C */ mDoExt_btkAnm mBtk; + /* 0x24 */ mDoExt_brkAnm mBrk; + /* 0x3C */ modelMaterial_c* mMaterial; + /* 0x40 */ void (share_c::*mCallback)(); + }; + + // made up names except for `unit_group_class` + struct unit_class; + struct unit_group_class; + + struct stage_map_unit_class { + /* 0x0 */ int num; + /* 0x4 */ unit_class* entries; + }; + + struct unit_unk_data2_class { + /* 0x00 */ u8 field_0x0[3]; + /* 0x03 */ u8 field_0x3; + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 field_0x5; + /* 0x06 */ s16 angle; + /* 0x08 */ Vec pos; + /* 0x14 */ u8 field_0x14; + /* 0x15 */ u8 field_0x15; + }; + + struct unit_unk_data_class { + u16 field_0x0; + u16 field_0x2; + }; + + struct unit_class { + /* 0x0 */ int num; + /* 0x4 */ unit_group_class* groups; + /* 0x8 */ unit_unk_data_class* unk_0x8; + /* 0xC */ unit_unk_data2_class* unk_0xc; + }; + + struct unit_group_class { + /* 0x0 */ u8 unk_0x0; + /* 0x1 */ u8 switchNo; + /* 0x2 */ u16 unk_0x2; + }; + + dBgp_c(); + ~dBgp_c(); + + void create(s8, void*); + int remove(); + BOOL isSwitch(unit_group_class*); + void registBg(fopAc_ac_c*); void releaseBg(); + int registBg(int, fopAc_ac_c*); + void releaseBg(int); + int execute(bool); + void draw(fopAc_ac_c*); + + void entryPacket() { + dComIfGd_getOpaListBG()->entryImm(&mPacket, 0); + } + + void entryModel(model_c* i_model) { + modelMaterial_c* var_30 = i_model->getMaterial(); + for (int i = var_30->getModelData()->getMaterialNum() - 1; i >= 0; i--) { + mPacket.entryModel(var_30); + var_30++; + } + } + + static void setPointer(void* i_pointer); + + static u16 getArg0(u8* param_0) { + return ((param_0[1] & 0xF) << 8) | (param_0[2]); + } + + static u16 getId(u8* param_0) { + return (param_0[0] << 4) | ((param_0[1] >> 4) & 0xF); + } + + static const char* getArcName(u8* param_0) { + return getArcName(getId(param_0), getArg0(param_0)); + } + + static const char* getArcName(u16, u16); + + static void createShare(); + static void removeShare(); + static void addShare(u16); + static void cutShare(u16); + static bool executeShare(); + static void drawShare(); + static void entryShare(packet_c*); + + static JKRSolidHeap* mShareHeap; + static share_c* mShare; + + /* 0x000 */ void* mPointer; + /* 0x004 */ char mArcName[8]; + /* 0x00C */ JKRSolidHeap* mHeap; + /* 0x010 */ JKRSolidHeap* mHeap2; + /* 0x014 */ dBgW* mBgWork; + /* 0x018 */ model_c* mModel; + /* 0x01C */ packet_c mPacket; + /* 0x130 */ u16 field_0x130; }; #endif /* D_D_BG_PARTS */ diff --git a/include/d/d_bg_pc.h b/include/d/d_bg_pc.h index bbf58c21ca..949c38e609 100644 --- a/include/d/d_bg_pc.h +++ b/include/d/d_bg_pc.h @@ -1,7 +1,7 @@ #ifndef D_BG_D_BG_PC_H #define D_BG_D_BG_PC_H -#include "dolphin/types.h" +#include struct sBgPc { /* 0x00 */ u32 code0; diff --git a/include/d/d_bg_s_capt_poly.h b/include/d/d_bg_s_capt_poly.h new file mode 100644 index 0000000000..69a36ce247 --- /dev/null +++ b/include/d/d_bg_s_capt_poly.h @@ -0,0 +1,18 @@ +#ifndef _D_BG_S_CAPT_POLY_H +#define _D_BG_S_CAPT_POLY_H + +#include "d/d_bg_s_chk.h" +#include "SSystem/SComponent/c_m3d_g_aab.h" +#include "SSystem/SComponent/c_xyz.h" + +class dBgS_CaptPoly : public cBgS_Chk, public dBgS_Chk { +public: + dBgS_CaptPoly(); + ~dBgS_CaptPoly() {} + void Set(cXyz&, cXyz&); + + /* 0x24 */ cM3dGAab aab; + /* 0x48 */ int field_0x48; +}; + +#endif /* _D_BG_S_CAPT_POLY_H */ diff --git a/include/d/d_bg_w.h b/include/d/d_bg_w.h index 846a177bd9..fa4ba70105 100644 --- a/include/d/d_bg_w.h +++ b/include/d/d_bg_w.h @@ -4,8 +4,8 @@ #include "SSystem/SComponent/c_m3d_g_aab.h" #include "SSystem/SComponent/c_sxyz.h" #include "d/d_bg_w_base.h" -#include "dolphin/mtx.h" -#include "dolphin/types.h" +#include +#include class cBgS_GrpPassChk; class cBgS_PolyPassChk; @@ -219,7 +219,7 @@ public: MtxP GetBaseMtxP() { return pm_base; } bool ChkNoCalcVtx() { return mFlags & NO_CALC_VTX_e; } bool ChkFlush() { return field_0x91 & 8; } - void SetLock() { mFlags |= LOCK_e; } + void SetLock() { mFlags |= (u8)LOCK_e; } void OffRoofRegist() { field_0x91 |= 0x4; } void OnRoofRegist() { field_0x91 &= ~0x04; } bool ChkRoofRegist() { return field_0x91 & 4;} @@ -228,6 +228,7 @@ public: void ClrNoCalcVtx() { mFlags &= ~NO_CALC_VTX_e; } void SetBaseMtxP(MtxP mtx) { pm_base = mtx; } void SetNoCalcVtx() { mFlags |= NO_CALC_VTX_e; } + cBgD_t* GetBgd() const { return pm_bgd; } public: /* 0x18 */ MtxP pm_base; // Model Matrix diff --git a/include/d/d_bg_w_base.h b/include/d/d_bg_w_base.h index 0eb10e977e..0a05467820 100644 --- a/include/d/d_bg_w_base.h +++ b/include/d/d_bg_w_base.h @@ -4,7 +4,7 @@ #include "SSystem/SComponent/c_bg_s_poly_info.h" #include "SSystem/SComponent/c_bg_w.h" #include "SSystem/SComponent/c_m3d_g_pla.h" -#include "dolphin/gx.h" +#include #include "f_pc/f_pc_base.h" class cBgS_GndChk; diff --git a/include/d/d_camera.h b/include/d/d_camera.h index 5b7f46ea5e..c49cce155e 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -1043,9 +1043,9 @@ public: int Set(cXyz, cXyz); int Set(cXyz, cXyz, f32, s16); int Set(cXyz, cXyz, s16, f32); - void Reset(cXyz, cXyz); + int Reset(cXyz, cXyz); int Reset(); - void Reset(cXyz, cXyz, f32, s16); + int Reset(cXyz, cXyz, f32, s16); f32 shakeCamera(); int StartShake(s32, u8*, s32, cXyz); int StopShake(); @@ -1092,8 +1092,8 @@ public: i_info->field_0x1e = param_1; } - void EventFlag(int i_flag) { - mEventData.field_0x24 = i_flag; + int EventFlag(int i_flag) { + return mEventData.field_0x24 = i_flag; } void Att() { @@ -1136,7 +1136,7 @@ public: int Gear() { return mGear; } - bool HideBGPartsOK() { + bool HideBGPartsOk() { return chkFlag(0x4); } diff --git a/include/d/d_cc_d.h b/include/d/d_cc_d.h index 7511fda358..7c6b438a4d 100644 --- a/include/d/d_cc_d.h +++ b/include/d/d_cc_d.h @@ -146,7 +146,7 @@ public: u32 GetRPrm() const { return mRPrm; } u32 MskSPrm(u32 mask) const { return mGFlag & mask; } u32 MskRPrm(u32 mask) const { return mRPrm & mask; } - bool ChkSPrm(u32 mask) const { return MskSPrm(mask); } + bool ChkSPrm(u32 mask) { return MskSPrm(mask); } void OnSPrm(u32 flag) { mGFlag |= flag; } void OnRPrm(u32 flag) { mRPrm |= flag; } void OffSPrm(u32 flag) { mGFlag &= ~flag; } @@ -169,7 +169,7 @@ public: void SetHitMark(u8 mark) { mHitMark = mark; } void SetSe(u8 se) { mSe = se; } void SetMtrl(u8 mtrl) { mMtrl = mtrl; } - void SetAtSpl(dCcG_At_Spl spl) { mSpl = spl; } + void SetSpl(dCcG_At_Spl spl) { mSpl = spl; } u8 GetSe() { return mSe; } dCcG_At_Spl GetSpl() { return (dCcG_At_Spl)mSpl; } u8 GetMtrl() { return mMtrl; } @@ -311,7 +311,7 @@ public: void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); } void SetTgVec(cXyz& vec) { mGObjTg.SetVec(vec); } - bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); } + bool ChkAtNoMass() { return mGObjAt.ChkSPrm(8); } void OnAtNoHitMark() { mGObjAt.OnSPrm(2); } void OffAtNoHitMark() { mGObjAt.OffSPrm(2); } void OnTgNoHitMark() { mGObjTg.OnSPrm(4); } @@ -331,7 +331,7 @@ public: bool ChkAtShieldHit() { return mGObjAt.ChkRPrm(1); } cXyz* GetAtVecP() { return mGObjAt.GetVecP(); } cXyz* GetTgVecP() { return mGObjTg.GetVecP(); } - void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetAtSpl(spl); } + void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetSpl(spl); } void SetAtHitCallback(dCcD_HitCallback callback) { mGObjAt.SetHitCallback(callback); } void SetTgHitCallback(dCcD_HitCallback callback) { mGObjTg.SetHitCallback(callback); } void SetCoHitCallback(dCcD_HitCallback callback) { mGObjCo.SetHitCallback(callback); } @@ -415,7 +415,7 @@ public: void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); } void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); } u8 GetTgSe() { return mGObjTg.GetSe(); } - u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); } + u32 GetTgHitObjHitSeID(BOOL i_isRebound) { return getHitSeID(GetTgHitObjSe(), i_isRebound); } cXyz* GetAtHitPosP() { return mGObjAt.GetHitPosP(); } cXyz* GetTgHitPosP() { return mGObjTg.GetHitPosP(); } cXyz* GetTgRVecP() { return mGObjTg.GetRVecP(); } diff --git a/include/d/d_cc_uty.h b/include/d/d_cc_uty.h index 9e080aa47c..bc58f99dc8 100644 --- a/include/d/d_cc_uty.h +++ b/include/d/d_cc_uty.h @@ -2,7 +2,7 @@ #define D_CC_D_CC_UTY_H #include "SSystem/SComponent/c_sxyz.h" -#include "dolphin/types.h" +#include class cCcD_Obj; class fopAc_ac_c; diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index adef9d71d8..b08714e23a 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -16,6 +16,169 @@ #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" +enum dComIfG_ButtonStatus { + /* 0x00 */ BUTTON_STATUS_NONE, + /* 0x01 */ BUTTON_STATUS_LET_GO, + /* 0x02 */ BUTTON_STATUS_PEEK, + /* 0x03 */ BUTTON_STATUS_ATTACK, + /* 0x04 */ BUTTON_STATUS_PUT_AWAY, + /* 0x05 */ BUTTON_STATUS_HOWL, + /* 0x06 */ BUTTON_STATUS_OPEN, + /* 0x07 */ BUTTON_STATUS_ENTER, + /* 0x08 */ BUTTON_STATUS_CHECK, + /* 0x09 */ BUTTON_STATUS_DASH, + /* 0x0A */ BUTTON_STATUS_CROUCH, + /* 0x0B */ BUTTON_STATUS_DEFEND, + /* 0x0C */ BUTTON_STATUS_PICK_UP, + /* 0x0D */ BUTTON_STATUS_DIG, + /* 0x0E */ BUTTON_STATUS_EAT, + /* 0x0F */ BUTTON_STATUS_SELECT, + /* 0x10 */ BUTTON_STATUS_LOCK, + /* 0x11 */ BUTTON_STATUS_SWITCH, + /* 0x12 */ BUTTON_STATUS_BACK, + /* 0x13 */ BUTTON_STATUS_THROW, + /* 0x14 */ BUTTON_STATUS_PLACE, + /* 0x15 */ BUTTON_STATUS_GRAB, + /* 0x16 */ BUTTON_STATUS_GET_OFF, + /* 0x17 */ BUTTON_STATUS_GET_ON, + /* 0x18 */ BUTTON_STATUS_PADDLE, + /* 0x19 */ BUTTON_STATUS_JUMP, + /* 0x1A */ BUTTON_STATUS_READ, + /* 0x1B */ BUTTON_STATUS_LOOK, + /* 0x1C */ BUTTON_STATUS_SPEAK, + /* 0x1D */ BUTTON_STATUS_LIFT, + /* 0x1E */ BUTTON_STATUS_SWING, + /* 0x1F */ BUTTON_STATUS_UNK_31, + /* 0x20 */ BUTTON_STATUS_UNK_32, + /* 0x21 */ BUTTON_STATUS_UNK_33, + /* 0x22 */ BUTTON_STATUS_CONFIRM, + /* 0x23 */ BUTTON_STATUS_NEXT, + /* 0x24 */ BUTTON_STATUS_INFO, + /* 0x25 */ BUTTON_STATUS_UNK_37, + /* 0x26 */ BUTTON_STATUS_UNK_38, + /* 0x27 */ BUTTON_STATUS_UNK_39, + /* 0x28 */ BUTTON_STATUS_WHOOP, + /* 0x29 */ BUTTON_STATUS_ZOOM, + /* 0x2A */ BUTTON_STATUS_QUIT, + /* 0x2B */ BUTTON_STATUS_PICK, + /* 0x2C */ BUTTON_STATUS_BLOW, + /* 0x2D */ BUTTON_STATUS_DODGE, + /* 0x2E */ BUTTON_STATUS_CUT, + /* 0x2F */ BUTTON_STATUS_HINT, + /* 0x30 */ BUTTON_STATUS_FINISH, + /* 0x31 */ BUTTON_STATUS_SET_FREE, + /* 0x32 */ BUTTON_STATUS_DISMOUNT, + /* 0x33 */ BUTTON_STATUS_DROP_DOWN, + /* 0x34 */ BUTTON_STATUS_UNK_52, + /* 0x35 */ BUTTON_STATUS_TAKE, + /* 0x36 */ BUTTON_STATUS_HURRY, + /* 0x37 */ BUTTON_STATUS_PULL_DOWN, + /* 0x38 */ BUTTON_STATUS_PET, + /* 0x39 */ BUTTON_STATUS_UNK_57, + /* 0x3A */ BUTTON_STATUS_SHIELD_ATTACK, + /* 0x3B */ BUTTON_STATUS_LISTEN, + /* 0x3C */ BUTTON_STATUS_DRINK, + /* 0x3D */ BUTTON_STATUS_UNK_61, + /* 0x3E */ BUTTON_STATUS_COVER, + /* 0x3F */ BUTTON_STATUS_PUSH, + /* 0x40 */ BUTTON_STATUS_RESIST, + /* 0x41 */ BUTTON_STATUS_DIVE, + /* 0x42 */ BUTTON_STATUS_PUT_TOGETHER, + /* 0x43 */ BUTTON_STATUS_SKIP, + /* 0x44 */ BUTTON_STATUS_SLAP, + /* 0x45 */ BUTTON_STATUS_SNIFF, + /* 0x46 */ BUTTON_STATUS_BITE, + /* 0x47 */ BUTTON_STATUS_ROLL, + /* 0x48 */ BUTTON_STATUS_FASTEN, + /* 0x49 */ BUTTON_STATUS_GET_DOWN, + /* 0x4A */ BUTTON_STATUS_HAWKEYE_OFF, + /* 0x4B */ BUTTON_STATUS_UNK_75, + /* 0x4C */ BUTTON_STATUS_SWIM, + /* 0x4D */ BUTTON_STATUS_CANT_SKIP, + /* 0x4E */ BUTTON_STATUS_SENSE, + /* 0x4F */ BUTTON_STATUS_UNK_79, + /* 0x50 */ BUTTON_STATUS_UNK_80, + /* 0x51 */ BUTTON_STATUS_LAND, + /* 0x52 */ BUTTON_STATUS_HOOK, + /* 0x53 */ BUTTON_STATUS_CHANGE_LOCKS, + /* 0x54 */ BUTTON_STATUS_EQUIP, + /* 0x55 */ BUTTON_STATUS_PULL, + /* 0x56 */ BUTTON_STATUS_REEL, + /* 0x57 */ BUTTON_STATUS_EXTRACT, + /* 0x58 */ BUTTON_STATUS_SPIN, + /* 0x59 */ BUTTON_STATUS_UNK_89, + /* 0x5A */ BUTTON_STATUS_SPIN_ATTACK, + /* 0x5B */ BUTTON_STATUS_REEL_FAST, + /* 0x5C */ BUTTON_STATUS_RAISE, + /* 0x5D */ BUTTON_STATUS_RELEASE, + /* 0x5E */ BUTTON_STATUS_UNK_94, + /* 0x5F */ BUTTON_STATUS_MAP, + /* 0x60 */ BUTTON_STATUS_ITEMS, + /* 0x61 */ BUTTON_STATUS_INSERT, + /* 0x62 */ BUTTON_STATUS_DRAW, + /* 0x63 */ BUTTON_STATUS_STRIKE, + /* 0x64 */ BUTTON_STATUS_BLANK, + /* 0x65 */ BUTTON_STATUS_UNK_101, + /* 0x66 */ BUTTON_STATUS_POINT_WII_REMOTE, + /* 0x67 */ BUTTON_STATUS_FLIP, + /* 0x68 */ BUTTON_STATUS_CHANGE_VIEW, + /* 0x69 */ BUTTON_STATUS_UNK_105, + /* 0x6A */ BUTTON_STATUS_UNK_106, + /* 0x6B */ BUTTON_STATUS_CHANCE, + /* 0x6C */ BUTTON_STATUS_SCOOP, + /* 0x6D */ BUTTON_STATUS_SURVEY, + /* 0x6E */ BUTTON_STATUS_CANCEL, + /* 0x6F */ BUTTON_STATUS_SEIZE, + /* 0x70 */ BUTTON_STATUS_COLLECTION, + /* 0x71 */ BUTTON_STATUS_AREA_MAP, + /* 0x72 */ BUTTON_STATUS_ACTION, + /* 0x73 */ BUTTON_STATUS_SET_HOOK, + /* 0x74 */ BUTTON_STATUS_TILT, + /* 0x75 */ BUTTON_STATUS_THRUST, + /* 0x76 */ BUTTON_STATUS_ROTATE, + /* 0x77 */ BUTTON_STATUS_HELM_SPLITTER, + /* 0x78 */ BUTTON_STATUS_MOVE, + /* 0x79 */ BUTTON_STATUS_UNK_121, + /* 0x7A */ BUTTON_STATUS_HOLD_ON, + /* 0x7B */ BUTTON_STATUS_UNK_123, + /* 0x7C */ BUTTON_STATUS_HELP, + /* 0x7D */ BUTTON_STATUS_ZOOM_IN, + /* 0x7E */ BUTTON_STATUS_ZOOM_OUT, + /* 0x7F */ BUTTON_STATUS_MOVE_CLOSER_TV, + /* 0x80 */ BUTTON_STATUS_UNK_128, + /* 0x81 */ BUTTON_STATUS_UNK_129, + /* 0x82 */ BUTTON_STATUS_UNK_130, + /* 0x83 */ BUTTON_STATUS_UNK_131, + /* 0x84 */ BUTTON_STATUS_UNK_132, + /* 0x85 */ BUTTON_STATUS_UNK_133, + /* 0x86 */ BUTTON_STATUS_UNK_134, + /* 0x87 */ BUTTON_STATUS_UNK_135, + /* 0x88 */ BUTTON_STATUS_UNK_136, + /* 0x89 */ BUTTON_STATUS_UNK_137, + /* 0x8A */ BUTTON_STATUS_UNK_138, + /* 0x8B */ BUTTON_STATUS_UNK_139, + /* 0x8C */ BUTTON_STATUS_UNK_140, + /* 0x8D */ BUTTON_STATUS_UNK_141, + /* 0x8E */ BUTTON_STATUS_UNK_142, + /* 0x8F */ BUTTON_STATUS_UNK_143, + /* 0x90 */ BUTTON_STATUS_UNK_144, + /* 0x91 */ BUTTON_STATUS_UNK_145, + /* 0x92 */ BUTTON_STATUS_UNK_146, + /* 0x93 */ BUTTON_STATUS_UNK_147, + /* 0x94 */ BUTTON_STATUS_UNK_148, + /* 0x95 */ BUTTON_STATUS_UNK_149, + /* 0x96 */ BUTTON_STATUS_UNK_150, + /* 0x97 */ BUTTON_STATUS_UNK_151, + /* 0x98 */ BUTTON_STATUS_UNK_152, + /* 0x99 */ BUTTON_STATUS_UNK_153, +}; + +enum dComIfG_ButtonStatusFlag { + /* 0x0 */ BUTTON_STATUS_FLAG_NONE, + /* 0x2 */ BUTTON_STATUS_FLAG_EMPHASIS = 2, + /* 0x4 */ BUTTON_STATUS_FLAG_CONTINUATION = 4, +}; + class JKRAramArchive; class dSmplMdl_draw_c; class dTimer_c; @@ -284,7 +447,7 @@ public: dMsgObject_c* getMsgObjectClass() { return mItemInfo.mMsgObjectClass; } dStage_roomControl_c* getRoomControl() { return &mRoomControl; } - dStage_dt_c& getStage() { return mStageData; } + dStage_stageDt_c& getStage() { return mStageData; } dEvt_control_c* getEvent() { return &mEvent; } daHorse_c* getHorseActor() { return (daHorse_c*)mPlayerPtr[1]; } J2DGrafContext* getCurrentGrafPort() { return (J2DGrafContext*)mCurrentGrafPort; } @@ -777,11 +940,11 @@ public: /* 0x03F90 */ dEvt_control_c mEvent; /* 0x040C0 */ dEvent_manager_c mEvtManager; /* 0x04780 */ dAttention_c mAttention; + #if PLATFORM_WII || VERSION == VERSION_SHIELD + /* 0x04C9C */ u8 unk_0x4c9c[8]; + #endif /* 0x04C9C */ dVibration_c mVibration; /* 0x04D2C */ u8 field_0x4d2c[4]; - #if PLATFORM_WII || VERSION == VERSION_SHIELD - /* 0x04D38 */ u8 unk_0x4d38[8]; - #endif /* 0x04D30 */ JKRArchive* mFieldMapArchive2; /* 0x04D34 */ JKRArchive* mMsgArchive[11]; /* 0x04D60 */ JKRArchive* mDemoMsgArchive; @@ -1946,7 +2109,7 @@ inline u32 dComIfGs_getTurnRestartParam() { return g_dComIfG_gameInfo.info.getTurnRestart().getParam(); } -inline cXyz& dComIfGs_getTurnRestartPos() { +inline const cXyz& dComIfGs_getTurnRestartPos() { return g_dComIfG_gameInfo.info.getTurnRestart().getPos(); } @@ -1962,7 +2125,7 @@ inline u32 dComIfGs_getRestartRoomParam() { return g_dComIfG_gameInfo.info.getRestart().getRoomParam(); } -inline cXyz& dComIfGs_getRestartRoomPos() { +inline const cXyz& dComIfGs_getRestartRoomPos() { return g_dComIfG_gameInfo.info.getRestart().getRoomPos(); } @@ -2867,7 +3030,7 @@ inline void dComIfGp_setItem(u8 slot, u8 i_no) { g_dComIfG_gameInfo.play.setItem(slot, i_no); } -inline dStage_dt_c* dComIfGp_getStage() { +inline dStage_stageDt_c* dComIfGp_getStage() { return &g_dComIfG_gameInfo.play.getStage(); } diff --git a/include/d/d_com_static.h b/include/d/d_com_static.h index df814b3223..517fcb8fab 100644 --- a/include/d/d_com_static.h +++ b/include/d/d_com_static.h @@ -6,7 +6,7 @@ u8 daNpcKakashi_getSwdTutorialStep(); void daNpcKakashi_setSwdTutorialStep(u8 iEvtNum); bool daNpcKakashi_getSwdTutorialResult(); -u8 daNpcKakashi_chkSwdTutorialStage(); +bool daNpcKakashi_chkSwdTutorialStage(); u8 daNpcKakashi_getSuccessCount(); void daNpcKakashi_clrSuccessCount(); void daNpcKakashi_setSwdTutorialResult(bool param_0); diff --git a/include/d/d_debug_pad.h b/include/d/d_debug_pad.h index 8293d442e3..4c5658adf4 100644 --- a/include/d/d_debug_pad.h +++ b/include/d/d_debug_pad.h @@ -1,11 +1,19 @@ #ifndef D_DEBUG_PAD_H #define D_DEBUG_PAD_H -#include "m_Do/m_Do_controller_pad.h" #include "JSystem/JUtility/TColor.h" class dDebugPad_c { public: + enum Mode_e { + MODE_CAMERA_e, + MODE_LIGHT_e, + MODE_WINDTEST_e, + MODE_SDCARD_e, + + MODE_MAX_e, + }; + dDebugPad_c(); bool Active() { return mIsActive; } @@ -14,6 +22,8 @@ public: bool Enable(s32); bool Trigger(); + static const char mode_name[MODE_MAX_e][9]; + /* 0x0 */ bool mIsActive; /* 0x1 */ u8 mTrigger; /* 0x4 */ s32 mMode; diff --git a/include/d/d_demo.h b/include/d/d_demo.h index a65f8c60b2..bbcb5d72b6 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -84,7 +84,7 @@ public: fopAc_ac_c* getActor(); void setActor(fopAc_ac_c*); f32 getPrm_Morf(); - int getDemoIDData(int*, int*, int*, u16*, u8*); + int getDemoIDData(int* o_arg0, int* o_arg1, int* o_arg2, u16* o_resID, u8*); virtual ~dDemo_actor_c(); virtual void JSGSetData(u32, void const*, u32); @@ -381,13 +381,17 @@ public: static s16 getBranchNum() { return m_branchNum; } static jmessage_tControl* getMesgControl() { return m_mesgControl; } + static void setBranchNum(u16 num) { + m_branchNum = num; + } + static dDemo_camera_c* getCamera() { JUT_ASSERT(0, m_object != NULL); return m_object->getActiveCamera(); } static s16 m_branchId; - static s16 m_branchNum; + static u16 m_branchNum; static dDemo_system_c* m_system; static JStudio::TControl* m_control; static JStudio_JStage::TCreateObject* m_stage; diff --git a/include/d/d_door_param2.h b/include/d/d_door_param2.h index bc09bc8a41..ffb6f9a9c2 100644 --- a/include/d/d_door_param2.h +++ b/include/d/d_door_param2.h @@ -1,7 +1,7 @@ #ifndef D_D_DOOR_PARAM2_H #define D_D_DOOR_PARAM2_H -#include "dolphin/types.h" +#include class fopAc_ac_c; diff --git a/include/d/d_event_lib.h b/include/d/d_event_lib.h index ac497e28a7..7220534f5c 100644 --- a/include/d/d_event_lib.h +++ b/include/d/d_event_lib.h @@ -1,7 +1,7 @@ #ifndef D_EVENT_D_EVENT_LIB_H #define D_EVENT_D_EVENT_LIB_H -#include "dolphin/types.h" +#include class fopAc_ac_c; diff --git a/include/d/d_eye_hl.h b/include/d/d_eye_hl.h index ef3263cda4..d174387806 100644 --- a/include/d/d_eye_hl.h +++ b/include/d/d_eye_hl.h @@ -1,7 +1,7 @@ #ifndef D_D_EYE_HL_H #define D_D_EYE_HL_H -#include "dolphin/types.h" +#include class J3DModelData; struct ResTIMG; diff --git a/include/d/d_item.h b/include/d/d_item.h index 14425c4d60..8b988ce10c 100644 --- a/include/d/d_item.h +++ b/include/d/d_item.h @@ -1,7 +1,7 @@ #ifndef D_D_ITEM_H #define D_D_ITEM_H -#include "dolphin/types.h" +#include class dEnemyItem_c { public: diff --git a/include/d/d_item_data.h b/include/d/d_item_data.h index a67e965a32..00fb9e5b9b 100644 --- a/include/d/d_item_data.h +++ b/include/d/d_item_data.h @@ -1,7 +1,7 @@ #ifndef D_D_ITEM_DATA_H #define D_D_ITEM_DATA_H -#include "dolphin/types.h" +#include struct dItem_itemInfo { /* 0x0 */ u8 mShadowSize; diff --git a/include/d/d_jcam_editor.h b/include/d/d_jcam_editor.h index db926274cc..87f0c890b0 100644 --- a/include/d/d_jcam_editor.h +++ b/include/d/d_jcam_editor.h @@ -1,38 +1,39 @@ #ifndef D_JCAM_EDITOR_H #define D_JCAM_EDITOR_H -#include "dolphin/mtx.h" +#include "JSystem/JStudio/JStudioCameraEditor/control.h" +#include "JSystem/JStudio/JStudio_JStage/object-camera.h" +#include "JSystem/JUtility/JUTResFont.h" +#include "JSystem/JKernel/JKRExpHeap.h" -namespace JStage { - class TSystem; -} -namespace JStudioCameraEditor { - class TControl; -} - -class JKRExpHeap; class JUTGamePad; -class JUTResFont; class dJcame_c { public: dJcame_c(const JStage::TSystem*, f32, JUTGamePad&); + ~dJcame_c(); + void update(); void show3D(Mtx); void show2D(); + bool isEnabled() { return mControl->isEnabled(); } + static void create(const JStage::TSystem*, f32, JUTGamePad&); + static void remove(); static dJcame_c* m_myObj; static dJcame_c* get() { return m_myObj; } - /* 0x00 */ JStage::TSystem* field_0x0; - /* 0x04 */ JUTResFont* field_0x4; - /* 0x08 */ JKRExpHeap* mHeap; - /* 0x0C */ JStudioCameraEditor::TControl* mControl; - /* 0x10 */ int field_0x10; - /* 0x14 */ u8 field_0x14; + /* 0x00 */ const JStage::TSystem* mSystem; + /* 0x04 */ J2DOrthoGraph* mOrthoGraph; + /* 0x08 */ JUTResFont* mFont; + /* 0x0C */ JKRExpHeap* mHeap; + /* 0x10 */ JStudioCameraEditor::TControl* mControl; + /* 0x14 */ JStudio_JStage::TAdaptor_camera* mAdaptor; + /* 0x18 */ bool mIsAdaptorSet; + /* 0x19 */ s8 mHioId; }; #endif /* D_JCAM_EDITOR_H */ diff --git a/include/d/d_jnt_col.h b/include/d/d_jnt_col.h index 46a78f2030..f8107f9440 100644 --- a/include/d/d_jnt_col.h +++ b/include/d/d_jnt_col.h @@ -26,7 +26,7 @@ public: int getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const; void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*); - bool checkPassNum(int bit) { return field_0xc & (1 << bit); } + BOOL checkPassNum(int bit) { return field_0xc & (1 << bit); } void onPassNum(int num) { field_0xc |= (1 << num); } void offPassNum(int num) { field_0xc &= ~(1 << num); } bool checkShieldType(int i) { return getType(i) == 3; } diff --git a/include/d/d_jpreviewer.h b/include/d/d_jpreviewer.h index c9cd4cbc35..b34880c1c0 100644 --- a/include/d/d_jpreviewer.h +++ b/include/d/d_jpreviewer.h @@ -1,7 +1,8 @@ #ifndef D_JPREVIEWER_H #define D_JPREVIEWER_H -#include "dolphin/mtx.h" +#include +#include "JSystem/JStudio/JStudio_JPreviewer/control.h" namespace JStudio { class TControl; @@ -13,7 +14,7 @@ class JUTGamePad; class JUTResFont; class tParse_; -class dJprevCtrl_c /* : public JStudioPreviewer::TControl */ { +class dJprevCtrl_c : public JStudioPreviewer::TControl { public: }; @@ -21,9 +22,13 @@ public: class dJprev_c { public: dJprev_c(JStudio::TControl*, const JUTGamePad&); + ~dJprev_c(); void show3D(Mtx); void show2D(); + void create(JStudio::TControl* pControl, const JUTGamePad& pad); + void remove(); + void update(); static dJprev_c* get() { return m_myObj; } @@ -34,7 +39,7 @@ public: /* 0x08 */ JKRExpHeap* mHeap; /* 0x0C */ tParse_* m_parse; /* 0x10 */ dJprevCtrl_c* mControl; - /* 0x14 */ u8 field_0x14; + /* 0x14 */ s8 mHIOId; }; #endif /* D_JPREVIEWER_H */ diff --git a/include/d/d_kankyo_data.h b/include/d/d_kankyo_data.h index 2d6e628c48..93b0cecfcb 100644 --- a/include/d/d_kankyo_data.h +++ b/include/d/d_kankyo_data.h @@ -1,7 +1,7 @@ #ifndef D_KANKYO_D_KANKYO_DATA_H #define D_KANKYO_D_KANKYO_DATA_H -#include "dolphin/types.h" +#include struct color_RGB_class { /* 0x0 */ u8 r; diff --git a/include/d/d_kankyo_rain.h b/include/d/d_kankyo_rain.h index 7b3e1ef75c..0feb428cd2 100644 --- a/include/d/d_kankyo_rain.h +++ b/include/d/d_kankyo_rain.h @@ -1,7 +1,7 @@ #ifndef D_KANKYO_D_KANKYO_RAIN_H #define D_KANKYO_D_KANKYO_RAIN_H -#include "dolphin/mtx.h" +#include struct cXyz; struct _GXColor; diff --git a/include/d/d_kankyo_tev_str.h b/include/d/d_kankyo_tev_str.h index e945694d01..177dc80d65 100644 --- a/include/d/d_kankyo_tev_str.h +++ b/include/d/d_kankyo_tev_str.h @@ -3,7 +3,7 @@ #include "JSystem/J3DGraphBase/J3DTevs.h" #include "SSystem/SComponent/c_xyz.h" -#include "dolphin/types.h" +#include class dKy_tevstr_c { public: diff --git a/include/d/d_map.h b/include/d/d_map.h index 0b055dd7a4..bbd21787ca 100644 --- a/include/d/d_map.h +++ b/include/d/d_map.h @@ -4,33 +4,45 @@ #include "d/d_map_path_dmap.h" #include "JSystem/JHostIO/JORReflexible.h" -struct dMap_HIO_prm_res_src_s { - -}; - -class dMap_HIO_list_c : public dMpath_HIO_n::hioList_c { -public: - virtual void copySrcToHio(); - virtual void copyHioToDst(); - virtual void copyBufToHio(const char*); -}; - -class dMap_HIO_c : public dMpath_HIO_file_base_c { -public: - dMap_HIO_c(); - virtual void listenPropertyEvent(const JORPropertyEvent*); - virtual void genMessage(JORMContext*); - virtual u32 addString(char*, u32, u32); - virtual u32 addData(char*, u32, u32); - virtual void copyReadBufToData(const char*, s32); - virtual u32 addStringBinary(char*, u32, u32); - - /* 0x04 */ u8 field_0x4[0x08 - 0x04]; - /* 0x08 */ dMap_HIO_list_c mList; - - static dMap_HIO_c* mMySelfPointer; - static dMpath_HIO_n::list_s l_list; - static dMap_HIO_prm_res_src_s* m_res_src_p; +struct dMap_HIO_prm_other_s { + /* 0x00 */ u8 field_0x0; + /* 0x04 */ f32 field_0x4; + /* 0x08 */ u8 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ u8 field_0x10; + /* 0x11 */ u8 field_0x11; + /* 0x12 */ u8 field_0x12; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ u8 field_0x1c; + /* 0x1D */ u8 field_0x1d; + /* 0x1E */ u8 field_0x1e; + /* 0x1F */ u8 field_0x1f; + /* 0x20 */ u8 field_0x20; + /* 0x21 */ u8 field_0x21; + /* 0x22 */ u8 field_0x22; + /* 0x23 */ u8 field_0x23; + /* 0x24 */ u8 field_0x24[0x2C - 0x24]; + /* 0x2C */ u8 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ u8 field_0x34; + /* 0x35 */ u8 field_0x35; + /* 0x36 */ s16 field_0x36; + /* 0x38 */ u8 field_0x38; + /* 0x38 */ s16 field_0x3a; + /* 0x3C */ u8 field_0x3c; + /* 0x3D */ u8 field_0x3d; + /* 0x3E */ s16 field_0x3e; + /* 0x40 */ u8 field_0x40; + /* 0x41 */ u8 field_0x41[0x44 - 0x41]; + /* 0x44 */ f32 field_0x44[17]; + /* 0x88 */ u8 field_0x88; + /* 0x89 */ u8 field_0x89; + /* 0x8A */ u8 field_0x8a; + /* 0x8C */ f32 field_0x8c[17]; + /* 0xD0 */ u8 field_0xd0[0x114 - 0xD0]; + /* 0x114 */ dTres_c::typeGroupData_c field_0x114[1]; + /* 0x130 */ u8 field_0x130[0x2f0 - 0x130]; }; struct dMap_prm_res_s { @@ -63,8 +75,19 @@ struct dMap_prm_res_s { /* 0x1B8 */ f32 cursor_size; }; +struct dMap_prm_hio_s { + /* 0x00 */ GXColor field_0x0[51]; + /* 0xCC */ u8 field_0xcc[0x24]; + /* 0xF0 */ dMap_HIO_prm_other_s field_0xf0; +}; + +struct dMap_HIO_prm_res_src_s { + static const u8 m_other[0x2f0]; +}; + struct dMap_HIO_prm_res_dst_s { static dMap_prm_res_s* m_res; + static dMap_HIO_prm_other_s m_other; }; class renderingAmap_c : public renderingPlusDoorAndCursor_c { @@ -104,7 +127,11 @@ public: virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0; virtual bool isSpecialOutline() = 0; +#if DEBUG + static const int PALETTE_NUMBER = 51; +#else static const int PALETTE_NUMBER = 50; +#endif private: /* 0x34 */ s32 m_outSideBlackLineCnt; @@ -130,7 +157,12 @@ public: void _move(f32, f32, int, f32); void _draw(); - virtual ~dMap_c() { _remove(); } + virtual ~dMap_c() { +#if DEBUG + m_mySelfPointer = NULL; +#endif + _remove(); + } virtual bool isDrawType(int); virtual const GXColor* getColor(int); virtual bool isRendAllRoom() const; @@ -143,6 +175,11 @@ public: virtual void setAmapPaletteColor(int, u8, u8, u8, u8); virtual bool isSpecialOutline(); +#if DEBUG + virtual bool isSwitch(const dDrawPath_c::group_class*); + virtual void beforeDrawPath(); +#endif + bool isDraw() const { return renderingDAmap_c::isDraw(); } ResTIMG* getResTIMGPointer() { return mResTIMG; } @@ -150,7 +187,7 @@ public: f32 getPackPlusZ() { return mPackPlusZ; } f32 getPackZ() const { return mPackZ; } f32 getTexelPerCm() const { return 1.0f / field_0x58; } - u16 getTexSizeY() const { return mTexSizeH; } + u16 getTexSizeY() const { return mTexSizeY; } f32 getRightEdgePlus() { return mRightEdgePlus; } f32 getPackX() const { return mPackX; } int getStayRoomNo() const { return mStayRoomNo; } @@ -173,8 +210,8 @@ private: /* 0x6C */ f32 mRightEdgePlus; /* 0x70 */ f32 mTopEdgePlus; /* 0x74 */ int field_0x74; - /* 0x78 */ u16 mTexSizeW; - /* 0x7A */ u16 mTexSizeH; + /* 0x78 */ u16 mTexSizeX; + /* 0x7A */ u16 mTexSizeY; /* 0x7C */ int mStayRoomNo; /* 0x80 */ int field_0x80; /* 0x84 */ int field_0x84; @@ -184,17 +221,44 @@ private: /* 0x8E */ u8 field_0x8e; /* 0x8F */ u8 field_0x8f; /* 0x90 */ u8 field_0x90; + /* 0x91 */ u8 field_0x91; }; // Size: 0x94 -#if DEBUG -class dMpath_RGBA_c { +class dMap_HIO_list_c : public dMpath_HIO_n::hioList_c { public: - GXColor getGXColor() { return mColor; } - - GXColor mColor; - - virtual ~dMpath_RGBA_c() {} + virtual void copySrcToHio(); + virtual void copyHioToDst(); + virtual void copyBufToHio(const char*); +}; + +class dMap_HIO_c : public dMpath_HIO_file_base_c { +public: + dMap_HIO_c(); + virtual void listenPropertyEvent(const JORPropertyEvent*); + virtual void genMessage(JORMContext*); + virtual u32 addString(char* param_1, u32 param_2, u32 param_3) { return mList.addString(param_1, param_2, param_3); } + virtual u32 addData(char* param_1, u32 param_2, u32 param_3) { + UNUSED(param_2); + UNUSED(param_3); + memcpy(param_1, dMap_HIO_prm_res_dst_s::m_res, 0x1bc); + return 0x1bc; + } + virtual void copyReadBufToData(const char* param_1, s32 param_2) { + UNUSED(param_2); + mList.copyBufToHio(param_1); + } + virtual u32 addStringBinary(char* param_1, u32 param_2, u32 param_3) { + return mList.addStringBinary(param_1, param_2, param_3); + } + + /* 0x04 */ u8 field_0x4[0x08 - 0x04]; + /* 0x08 */ dMap_HIO_list_c mList; + + static dMap_HIO_c* mMySelfPointer; + static const u8 l_listData[]; + static const dMpath_HIO_n::list_s l_list; + static dMap_prm_res_s* m_res_src_p; + static dMap_prm_hio_s m_prm_hio; }; -#endif #endif /* D_MAP_D_MAP_H */ diff --git a/include/d/d_map_path.h b/include/d/d_map_path.h index d461783150..a082a3c2e7 100644 --- a/include/d/d_map_path.h +++ b/include/d/d_map_path.h @@ -4,22 +4,50 @@ #include "d/d_drawlist.h" #include "JSystem/JHostIO/JORMContext.h" +struct dMpath_RGB5A3_s { + u16 color; +}; + +namespace dMpath_ColorCnv_n { + void convertRGB5A3_To_GXColor(_GXColor&, const dMpath_RGB5A3_s&); +} + +struct dMpath_RGB5A3_palDt_s { + /* 0x0 */ dMpath_RGB5A3_s field_0x0; + /* 0x2 */ dMpath_RGB5A3_s field_0x2; + /* 0x4 */ dMpath_RGB5A3_s field_0x4; + /* 0x6 */ dMpath_RGB5A3_s field_0x6; +}; + +class dMpath_RGBA_c { +public: + GXColor mColor; + + dMpath_RGBA_c() {} + virtual ~dMpath_RGBA_c() {} + GXColor getGXColor() const { return mColor; } + void setGXColor(const GXColor&); + void setRGB5A3_palDt(const dMpath_RGB5A3_palDt_s&); +}; + namespace dMpath_HIO_n { struct list_s { - /* 0x00 */ void* field_0x0; + /* 0x00 */ const void* field_0x0; /* 0x04 */ u32 field_0x4; }; - class hioList_c { - public: - /* 0x00 */ list_s mList; + struct resData_s {}; + struct hioList_s : public list_s, resData_s {}; + // RTTI does not match debug + class hioList_c : public hioList_s { + public: virtual ~hioList_c() {} virtual void copySrcToHio() = 0; virtual void copyHioToDst() = 0; virtual void copyBufToHio(const char*) = 0; - void set(const list_s& param_1) { mList = param_1; } + void set(const list_s& param_1) { *static_cast(this) = param_1; } void gen(JORMContext*); void update(JORMContext*); u32 addString(char*, u32, u32) const; @@ -44,6 +72,42 @@ public: bool readBinaryFile(const char*); }; +class dMpath_RGB5A3_c { +public: + dMpath_RGB5A3_s mColor; + + dMpath_RGB5A3_c(GXColor c) { set(c); } + virtual ~dMpath_RGB5A3_c() {} + void set(u8 r, u8 g, u8 b, u8 a) { + u32 color; + if (a >= 224) { + color = (r & 0xf8) << 7 | (g & 0xf8) << 2 | (b & 0xf8) >> 3 | 0x8000; + } else { + color = (r & 0xf0) << 4 | g & 0xf0 | (b & 0xf0) >> 4 | (a & 0xe0) << 7; + } + mColor.color = color; + } + void set(const GXColor& c) { set(c.r, c.g, c.b, c.a); } + const dMpath_RGB5A3_s& getRGB5A3() const { return mColor; } +}; + +class dMpath_RGB5A3_palDt_c { +public: + dMpath_RGB5A3_palDt_s field_0x0; + + dMpath_RGB5A3_palDt_c() {} + virtual ~dMpath_RGB5A3_palDt_c() {} + dMpath_RGB5A3_palDt_s& getRGB5A3_palDt_s() { return field_0x0; } + + void setGXColor(const GXColor& c) { + dMpath_RGB5A3_c rgb5a3(c); + field_0x0.field_0x0 = rgb5a3.getRGB5A3(); + field_0x0.field_0x2 = rgb5a3.getRGB5A3(); + field_0x0.field_0x4 = rgb5a3.getRGB5A3(); + field_0x0.field_0x6 = rgb5a3.getRGB5A3(); + } +}; + class dDrawPath_c : public dDlst_base_c { public: struct line_class { @@ -176,19 +240,24 @@ public: struct dMpath_n { class dTexObjAggregate_c { public: + static const int TEX_OBJ_NUMBER = 7; + void create(); void remove(); ~dTexObjAggregate_c() { remove(); }; - GXTexObj* getTexObjPointer(int i_no) { return mp_texObj[i_no]; } + GXTexObj* getTexObjPointer(int i_no) { + JUT_ASSERT(44, i_no >= 0 && i_no < TEX_OBJ_NUMBER); + return mp_texObj[i_no]; + } dTexObjAggregate_c() { - for (int i = 0; i < 7; i++) { + for (int i = 0; i < TEX_OBJ_NUMBER; i++) { mp_texObj[i] = NULL; } } - /* 0x0 */ GXTexObj* mp_texObj[7]; + /* 0x0 */ GXTexObj* mp_texObj[TEX_OBJ_NUMBER]; }; static dTexObjAggregate_c m_texObjAgg; @@ -196,15 +265,4 @@ struct dMpath_n { STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c) == 28); -struct dMpath_RGB5A3_s { - u16 color; -}; - -struct dMpath_RGB5A3_palDt_s { - /* 0x0 */ dMpath_RGB5A3_s field_0x0; - /* 0x2 */ dMpath_RGB5A3_s field_0x2; - /* 0x4 */ dMpath_RGB5A3_s field_0x4; - /* 0x6 */ dMpath_RGB5A3_s field_0x6; -}; - #endif /* D_MAP_D_MAP_PATH_H */ diff --git a/include/d/d_map_path_dmap.h b/include/d/d_map_path_dmap.h index 9176860b49..c66d4861f8 100644 --- a/include/d/d_map_path_dmap.h +++ b/include/d/d_map_path_dmap.h @@ -74,9 +74,9 @@ public: static void remove(); static s8 getNowStayFloorNo() { - JUT_ASSERT(0, mNowStayFloorNoDecisionFlg); - s8 floor_no = 0; + JUT_ASSERT(195, mNowStayFloorNoDecisionFlg); + if (mNowStayFloorNoDecisionFlg) { floor_no = mNowStayFloorNo; } diff --git a/include/d/d_menu_dmap.h b/include/d/d_menu_dmap.h index 5e5c0c7a16..fafa30e0c0 100644 --- a/include/d/d_menu_dmap.h +++ b/include/d/d_menu_dmap.h @@ -5,7 +5,7 @@ #include "d/d_msg_flow.h" #include "d/d_menu_map_common.h" #include "d/d_map_path_dmap.h" -#include "dolphin/types.h" +#include class CPaneMgr; struct CSTControl; diff --git a/include/d/d_menu_fmap2D.h b/include/d/d_menu_fmap2D.h index cda275f36f..ba8fd8659f 100644 --- a/include/d/d_menu_fmap2D.h +++ b/include/d/d_menu_fmap2D.h @@ -7,7 +7,7 @@ #include "d/d_menu_map_common.h" #include "d/d_meter_haihai.h" #include "d/d_pane_class.h" -#include "dolphin/types.h" +#include class dMsgScrnExplain_c; diff --git a/include/d/d_menu_fmap_map.h b/include/d/d_menu_fmap_map.h index 2879d03d02..b5b6f7e8d1 100644 --- a/include/d/d_menu_fmap_map.h +++ b/include/d/d_menu_fmap_map.h @@ -2,7 +2,7 @@ #define D_MENU_D_MENU_FMAP_MAP_H #include "SSystem/SComponent/c_counter.h" -#include "dolphin/types.h" +#include #include "d/d_menu_fmap.h" #include "d/d_map.h" #include "d/d_map_path.h" diff --git a/include/d/d_menu_map_common.h b/include/d/d_menu_map_common.h index 29575fd7bb..7d81ba620d 100644 --- a/include/d/d_menu_map_common.h +++ b/include/d/d_menu_map_common.h @@ -1,7 +1,7 @@ #ifndef D_MENU_D_MENU_MAP_COMMON_H #define D_MENU_D_MENU_MAP_COMMON_H -#include "dolphin/types.h" +#include class J2DPicture; class JKRArchive; diff --git a/include/d/d_menu_quit.h b/include/d/d_menu_quit.h new file mode 100644 index 0000000000..4c25beccaa --- /dev/null +++ b/include/d/d_menu_quit.h @@ -0,0 +1,52 @@ +#ifndef D_MENU_OPTION_H +#define D_MENU_OPTION_H + +#include "d/d_msg_scrn_explain.h" + +class dMq_HIO_c : public JORReflexible { +public: + dMq_HIO_c(); + virtual ~dMq_HIO_c(); + + virtual void genMessage(JORMContext*); + + s8 id; +}; + +class dDlst_MenuQuitExplain_c : public dDlst_base_c { +public: + virtual void draw(); + virtual ~dDlst_MenuQuitExplain_c() {} + + /* 0x4 */ dMsgScrnExplain_c* mpExplain; +}; + +class dMenu_Quit_c { +public: + dMenu_Quit_c(); + virtual ~dMenu_Quit_c(); + + void select1_init(); + void select1_proc(); + void select2_init(); + void select2_proc(); + void messageChange(); + bool YesNoSelect(); + void msgTxtSet(u16, bool); + + /* 0x04 */ STControl* mStick; + /* 0x08 */ dDlst_MenuQuitExplain_c mMenuQuitExplain; + /* 0x10 */ u8 field_0x10; + /* 0x11 */ u8 field_0x11; + /* 0x12 */ u8 field_0x12; + /* 0x13 */ u8 field_0x13; + /* 0x14 */ u8 field_0x14; + /* 0x18 */ dMsgScrnExplain_c* mpScrnExplain; + /* 0x1C */ u8 field_0x1c; + /* 0x1E */ u16 mMsgId; + /* 0x20 */ bool field_0x20; + /* 0x21 */ u8 field_0x21; + /* 0x22 */ u8 field_0x22; +}; + +#endif /* D_MENU_OPTION_H */ diff --git a/include/d/d_menu_window_HIO.h b/include/d/d_menu_window_HIO.h index 2a6a04f730..9a6e82fa06 100644 --- a/include/d/d_menu_window_HIO.h +++ b/include/d/d_menu_window_HIO.h @@ -1,7 +1,7 @@ #ifndef D_MENU_D_MENU_WINDOW_HIO_H #define D_MENU_D_MENU_WINDOW_HIO_H -#include "dolphin/types.h" +#include class dMw_DHIO_c { public: diff --git a/include/d/d_meter2_draw.h b/include/d/d_meter2_draw.h index 9a8a15ca48..c11bd680bb 100644 --- a/include/d/d_meter2_draw.h +++ b/include/d/d_meter2_draw.h @@ -10,144 +10,6 @@ class J2DAnmTransformKey; class JKRExpHeap; class JKRHeap; -enum dMeter2Draw_actionFlag { - /* 0x0 */ ACTION_FLG_DEFAULT, - /* 0x2 */ ACTION_FLG_EMPHASIS = 2, - /* 0x4 */ ACTION_FLG_CONTINUATION = 4, -}; - -enum dMeter2Draw_actionID { - /* 0x00 */ ACTION_STR_NONE, - /* 0x01 */ ACTION_STR_LET_GO, - /* 0x02 */ ACTION_STR_PEEK, - /* 0x03 */ ACTION_STR_ATTACK, - /* 0x04 */ ACTION_STR_PUT_AWAY, - /* 0x05 */ ACTION_STR_HOWL, - /* 0x06 */ ACTION_STR_OPEN, - /* 0x07 */ ACTION_STR_ENTER, - /* 0x08 */ ACTION_STR_CHECK, - /* 0x09 */ ACTION_STR_DASH, - /* 0x0A */ ACTION_STR_CROUCH, - /* 0x0B */ ACTION_STR_DEFEND, - /* 0x0C */ ACTION_STR_PICK_UP, - /* 0x0D */ ACTION_STR_DIG, - /* 0x0E */ ACTION_STR_EAT, - /* 0x0F */ ACTION_STR_SELECT, - /* 0x10 */ ACTION_STR_LOCK, - /* 0x11 */ ACTION_STR_SWITCH, - /* 0x12 */ ACTION_STR_BACK, - /* 0x13 */ ACTION_STR_THROW, - /* 0x14 */ ACTION_STR_PLACE, - /* 0x15 */ ACTION_STR_GRAB, - /* 0x16 */ ACTION_STR_GET_OFF, - /* 0x17 */ ACTION_STR_GET_ON, - /* 0x18 */ ACTION_STR_PADDLE, - /* 0x19 */ ACTION_STR_JUMP, - /* 0x1A */ ACTION_STR_READ, - /* 0x1B */ ACTION_STR_LOOK, - /* 0x1C */ ACTION_STR_SPEAK, - /* 0x1D */ ACTION_STR_LIFT, - /* 0x1E */ ACTION_STR_SWING, - /* 0x1F */ ACTION_STR_PICK_UP2, - /* 0x20 */ ACTION_STR_GET_ON2, - /* 0x21 */ ACTION_STR_GET_OFF2, - /* 0x22 */ ACTION_STR_CONFIRM, - /* 0x23 */ ACTION_STR_NEXT, - /* 0x24 */ ACTION_STR_INFO, - /* 0x25 */ ACTION_STR_NONE2, - /* 0x26 */ ACTION_STR_NONE3, - /* 0x27 */ ACTION_STR_NONE4, - /* 0x28 */ ACTION_STR_WHOOP, - /* 0x29 */ ACTION_STR_ZOOM, - /* 0x2A */ ACTION_STR_QUIT, - /* 0x2B */ ACTION_STR_PICK, - /* 0x2C */ ACTION_STR_BLOW, - /* 0x2D */ ACTION_STR_DODGE, - /* 0x2E */ ACTION_STR_CUT, - /* 0x2F */ ACTION_STR_HINT, - /* 0x30 */ ACTION_STR_FINISH, - /* 0x31 */ ACTION_STR_SET_FREE, - /* 0x32 */ ACTION_STR_DISMOUNT, - /* 0x33 */ ACTION_STR_DROP_DOWN, - /* 0x34 */ ACTION_STR_PICK_UP3, - /* 0x35 */ ACTION_STR_TAKE, - /* 0x36 */ ACTION_STR_HURRY, - /* 0x37 */ ACTION_STR_PULL_DOWN, - /* 0x38 */ ACTION_STR_PET, - /* 0x39 */ ACTION_STR_PICK_UP4, - /* 0x3A */ ACTION_STR_SHIELD_ATTACK, - /* 0x3B */ ACTION_STR_LISTEN, - /* 0x3C */ ACTION_STR_DRINK, - /* 0x3D */ ACTION_STR_ZOOM2, - /* 0x3E */ ACTION_STR_COVER, - /* 0x3F */ ACTION_STR_PUSH, - /* 0x40 */ ACTION_STR_RESIST, - /* 0x41 */ ACTION_STR_DIVE, - /* 0x42 */ ACTION_STR_PUT_TOGETHER, - /* 0x43 */ ACTION_STR_SKIP, - /* 0x44 */ ACTION_STR_SLAP, - /* 0x45 */ ACTION_STR_SNIFF, - /* 0x46 */ ACTION_STR_BITE, - /* 0x47 */ ACTION_STR_ROLL, - /* 0x48 */ ACTION_STR_FASTEN, - /* 0x49 */ ACTION_STR_GET_DOWN, - /* 0x4A */ ACTION_STR_HAWKEYE_OFF, - /* 0x4B */ ACTION_STR_DASH2, - /* 0x4C */ ACTION_STR_SWIM, - /* 0x4D */ ACTION_STR_CANT_SKIP, - /* 0x4E */ ACTION_STR_SENSE, - /* 0x4F */ ACTION_STR_NONE5, - /* 0x50 */ ACTION_STR_THROW2, - /* 0x51 */ ACTION_STR_LAND, - /* 0x52 */ ACTION_STR_HOOK, - /* 0x53 */ ACTION_STR_CHANGE_LOCKS, - /* 0x54 */ ACTION_STR_EQUIP, - /* 0x55 */ ACTION_STR_PULL, - /* 0x56 */ ACTION_STR_REEL, - /* 0x57 */ ACTION_STR_EXTRACT, - /* 0x58 */ ACTION_STR_SPIN, - /* 0x59 */ ACTION_STR_SWITCH2, - /* 0x5A */ ACTION_STR_SPIN_ATTACK, - /* 0x5B */ ACTION_STR_REEL_FAST, - /* 0x5C */ ACTION_STR_RAISE, - /* 0x5D */ ACTION_STR_RELEASE, - /* 0x5E */ ACTION_STR_CHECK2, - /* 0x5F */ ACTION_STR_MAP, - /* 0x60 */ ACTION_STR_ITEMS, - /* 0x61 */ ACTION_STR_INSERT, - /* 0x62 */ ACTION_STR_DRAW, - /* 0x63 */ ACTION_STR_STRIKE, - /* 0x64 */ ACTION_STR_BLANK, - /* 0x65 */ ACTION_STR_JUMP2, - /* 0x66 */ ACTION_STR_POINT_WII_REMOTE, - /* 0x67 */ ACTION_STR_FLIP, - /* 0x68 */ ACTION_STR_CHANGE_VIEW, - /* 0x69 */ ACTION_STR_ZOOM3, - /* 0x6A */ ACTION_STR_BACK2, - /* 0x6B */ ACTION_STR_CHANCE, - /* 0x6C */ ACTION_STR_SCOOP, - /* 0x6D */ ACTION_STR_SURVEY, - /* 0x6E */ ACTION_STR_CANCEL, - /* 0x6F */ ACTION_STR_SEIZE, - /* 0x70 */ ACTION_STR_COLLECTION, - /* 0x71 */ ACTION_STR_AREA_MAP, - /* 0x72 */ ACTION_STR_ACTION, - /* 0x73 */ ACTION_STR_SET_HOOK, - /* 0x74 */ ACTION_STR_TILT, - /* 0x75 */ ACTION_STR_THRUST, - /* 0x76 */ ACTION_STR_ROTATE, - /* 0x77 */ ACTION_STR_HELM_SPLITTER, - /* 0x78 */ ACTION_STR_MOVE, - /* 0x79 */ ACTION_STR_ROLL2, - /* 0x7A */ ACTION_STR_HOLD_ON, - /* 0x7B */ ACTION_STR_BITE2, - /* 0x7C */ ACTION_STR_HELP, - /* 0x7D */ ACTION_STR_ZOOM_IN, - /* 0x7E */ ACTION_STR_ZOOM_OUT, - /* 0x7F */ ACTION_STR_MOVE_CLOSER_TV, - /* 0x80 */ ACTION_STR_CHECK3, -}; - class dKantera_icon_c; class dMeter2Draw_c : public dDlst_base_c { diff --git a/include/d/d_meter2_info.h b/include/d/d_meter2_info.h index bd88b02a6f..0dad0ee3b2 100644 --- a/include/d/d_meter2_info.h +++ b/include/d/d_meter2_info.h @@ -33,6 +33,18 @@ enum dMeter2Info_warpStatus { /* 0x3 */ WARP_STATUS_DECIDED_e = 3, }; +enum dMeter2Info_UseButton { + METER2_USEBUTTON_A = 0x1, + METER2_USEBUTTON_B = 0x2, + METER2_USEBUTTON_X = 0x4, + METER2_USEBUTTON_Y = 0x8, + METER2_USEBUTTON_C = 0x10, + + METER2_USEBUTTON_R = 0x40, + + METER2_USEBUTTON_Z = 0x800, +}; + class dMeter2Info_c { public: class WarpInfo_c { @@ -162,14 +174,14 @@ public: void setTimeMs(s32 i_time) { mTimeMs = i_time; } s32 getTimeMs() { return mTimeMs; } u8 getNowCount() { return mNowCount; } - int getMaxCount() { return mMaxCount; } + u8 getMaxCount() { return mMaxCount; } void setScopeZoomPointer(u8 param_0) { mScopeZoomPointer = param_0; } u8 getItemExplainWindowStatus() { return mItemExplainWindowStatus; } void setItemExplainWindowStatus(u8 i_value) { mItemExplainWindowStatus = i_value; } void resetDirectUseItem() { mDirectUseItem = 0; } u16 getFloatingFlowID() { return mFloatingFlowID; } bool isFloatingMessageWakuVisible() { return mFloatingMessageWakuVisible; } - void onBlinkButton(int i_flag) { mBlinkButton |= i_flag; } + void onBlinkButton(int i_flag) { mBlinkButton |= (u16)i_flag; } bool isBlinkButton(int i_flag) { return (mBlinkButton & (u16)i_flag) != 0 ? true : false; } void resetBlinkButton() { mBlinkButton = 0; } s16 getFloatingMessageTimer() { return mFloatingMessageTimer; } @@ -193,7 +205,7 @@ public: void set2DHeight(f32 i_height) { m2DHeight = i_height; } void set2DPosH(f32 i_posH) { m2DPosH = i_posH; } void set2DPosV(f32 i_posV) { m2DPosV = i_posV; } - void onUseButton(int i_button) { mUseButton |= i_button; } + void onUseButton(int i_button) { mUseButton |= (u16)i_button; } f32 get2DWidth() { return m2DWidth; } f32 get2DHeight() { return m2DHeight; } u8 getTableMapRegionNo() { return mTableMapRegionNo; } @@ -659,7 +671,7 @@ inline u8 dMeter2Info_getNowCount() { return g_meter2_info.getNowCount(); } -inline int dMeter2Info_getMaxCount() { +inline u8 dMeter2Info_getMaxCount() { return g_meter2_info.getMaxCount(); } diff --git a/include/d/d_msg_flow.h b/include/d/d_msg_flow.h index edfce0ea8a..89037d78cb 100644 --- a/include/d/d_msg_flow.h +++ b/include/d/d_msg_flow.h @@ -1,7 +1,7 @@ #ifndef D_MSG_D_MSG_FLOW_H #define D_MSG_D_MSG_FLOW_H -#include "dolphin/types.h" +#include enum { NODETYPE_MESSAGE_e = 1, diff --git a/include/d/d_msg_object.h b/include/d/d_msg_object.h index 8d91d20b29..ef7135f09d 100644 --- a/include/d/d_msg_object.h +++ b/include/d/d_msg_object.h @@ -356,7 +356,7 @@ inline void dMsgObject_demoMessageGroup() { } inline bool dMsgObject_isTalkNowCheck() { - return dMsgObject_getMsgObjectClass()->getStatus() != 1 ? true : false; + return dMsgObject_getMsgObjectClass()->getStatus() == 1 ? false : true; } inline bool dMsgObject_isKillMessageFlag() { @@ -421,11 +421,11 @@ inline void dMsgObject_setTalkActor(fopAc_ac_c* actor) { } } -inline bool dMsgObject_getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* param_2, - JUTFont* param_3, COutFont_c* param_4, char* param_5, - char* param_6, char* param_7, s16* param_8) { - return dMsgObject_getMsgObjectClass()->getString(param_0, param_1, param_2, param_3, param_4, param_5, param_6, - param_7, param_8); +inline bool dMsgObject_getString(u32 i_msgId, J2DTextBox* i_tbox, J2DTextBox* i_rubyTbox, + JUTFont* i_font, COutFont_c* i_outFont, char* o_text, + char* o_ruby, char* o_textS, s16* param_8) { + return dMsgObject_getMsgObjectClass()->getString(i_msgId, i_tbox, i_rubyTbox, i_font, i_outFont, o_text, o_ruby, + o_textS, param_8); } inline void dMsgObject_onCameraCancelFlag() { @@ -449,7 +449,7 @@ inline void dMsgObject_endFlowGroup() { } inline void dMsgObject_setSmellType(u8 type) { - dMsgObject_c::setSmellType(type); + dMsgObject_getMsgObjectClass()->setSmellType(type); } inline u8 dMsgObject_getSelectCursorPos() { @@ -485,7 +485,7 @@ inline void dMsgObject_setEquipBombInfo() { } inline bool dMsgObject_isHowlHearingMode() { - return dMsgObject_c::isHowlHearingMode(); + return dMsgObject_getMsgObjectClass()->isHowlHearingMode(); } inline void dMsgObject_onMsgSend() { diff --git a/include/d/d_msg_out_font.h b/include/d/d_msg_out_font.h index 34a1ae5645..f1cb15a5c4 100644 --- a/include/d/d_msg_out_font.h +++ b/include/d/d_msg_out_font.h @@ -1,7 +1,7 @@ #ifndef D_MSG_D_MSG_OUT_FONT_H #define D_MSG_D_MSG_OUT_FONT_H -#include "dolphin/types.h" +#include class J2DPicture; class J2DTextBox; diff --git a/include/d/d_msg_scrn_3select.h b/include/d/d_msg_scrn_3select.h index aed6fbd03f..90a64ead62 100644 --- a/include/d/d_msg_scrn_3select.h +++ b/include/d/d_msg_scrn_3select.h @@ -54,6 +54,7 @@ public: bool isAnimeUpdate(int param_0) { return (field_0x114 & (u8)(1 << param_0)) ? TRUE : FALSE; } void onAnimeUpdate(int param_0) { field_0x114 |= (u8)(1 << param_0); } void offAnimeUpdate(int param_0) { field_0x114 &= ~(u8)(1 << param_0); } + u8 getDPDPoint() { return mDPDPoint; } private: /* 0x004 */ J2DScreen* mpScreen; @@ -72,6 +73,9 @@ private: /* 0x0A0 */ CPaneMgr* mpSelPo_c[3]; /* 0x0AC */ CPaneMgr* mpKahen_c[3]; /* 0x0B8 */ CPaneMgr* mpCursor_c[3]; + #if !PLATFORM_GCN + /* 0x0C4 */ CPaneMgr* mpTouchArea[3]; + #endif /* 0x0C4 */ JUtility::TColor mSelMsgCol; /* 0x0C8 */ JUtility::TColor mSelMsgInactiveCol; /* 0x0CC */ Vec mCursorPos[3]; @@ -91,7 +95,7 @@ private: /* 0x112 */ u8 field_0x112; /* 0x113 */ u8 mProcess; /* 0x114 */ u8 field_0x114; - /* 0x115 */ u8 field_0x115; + /* 0x115 */ u8 mDPDPoint; /* 0x116 */ u8 field_0x116; /* 0x117 */ u8 field_0x117; }; // Size: 0x118 diff --git a/include/d/d_msg_scrn_arrow.h b/include/d/d_msg_scrn_arrow.h index 9a185d1122..0f65181033 100644 --- a/include/d/d_msg_scrn_arrow.h +++ b/include/d/d_msg_scrn_arrow.h @@ -1,7 +1,7 @@ #ifndef MSG_SCRN_D_MSG_SCRN_ARROW_H #define MSG_SCRN_D_MSG_SCRN_ARROW_H -#include "dolphin/types.h" +#include class J2DScreen; class J2DAnmTransform; diff --git a/include/d/d_msg_scrn_explain.h b/include/d/d_msg_scrn_explain.h index 5702cd87d6..20931ec9ac 100644 --- a/include/d/d_msg_scrn_explain.h +++ b/include/d/d_msg_scrn_explain.h @@ -11,6 +11,15 @@ class dMsgString_c; class dMsgScrnExplain_c { public: + enum Status_e { + STATUS_WAIT_e, + STATUS_OPEN_REQ_e, + STATUS_OPEN_e, + STATUS_MOVE_e, + STATUS_MOVE_SELECT_e, + STATUS_CLOSE_e, + }; + dMsgScrnExplain_c(STControl*, u8, bool, u8); void move(); void draw(J2DOrthoGraph*); @@ -43,7 +52,7 @@ public: private: /* 0x04 */ dMsgString_c* mpString_c; /* 0x08 */ CPaneMgr* mpTm_c[2]; - /* 0x10 */ CPaneMgr* field_0x10[2]; + /* 0x10 */ CPaneMgr* mpTmr_c[2]; /* 0x18 */ CPaneMgr* mpMg_c[2]; /* 0x20 */ CPaneMgr* mpRoot_c[2]; /* 0x28 */ CPaneMgr* mpArw_c; @@ -57,8 +66,8 @@ private: /* 0x48 */ f32 field_0x48; /* 0x4C */ f32 field_0x4c; /* 0x50 */ f32 field_0x50; - /* 0x54 */ u32 field_0x54; - /* 0x58 */ u8 field_0x58; + /* 0x54 */ u32 mOpenMsgId; + /* 0x58 */ bool field_0x58; /* 0x5A */ s16 field_0x5a; /* 0x5C */ s16 field_0x5c; /* 0x5E */ s16 mKeyWaitTimer; diff --git a/include/d/d_msg_scrn_item.h b/include/d/d_msg_scrn_item.h index 70c6ba765c..2d82bb2138 100644 --- a/include/d/d_msg_scrn_item.h +++ b/include/d/d_msg_scrn_item.h @@ -1,7 +1,7 @@ #ifndef MSG_SCRN_D_MSG_SCRN_ITEM_H #define MSG_SCRN_D_MSG_SCRN_ITEM_H -#include "dolphin/types.h" +#include #include "d/d_msg_scrn_base.h" class dMsgScrnArrow_c; diff --git a/include/d/d_msg_scrn_talk.h b/include/d/d_msg_scrn_talk.h index dc9b1a754b..cac9efc97b 100644 --- a/include/d/d_msg_scrn_talk.h +++ b/include/d/d_msg_scrn_talk.h @@ -1,7 +1,7 @@ #ifndef MSG_SCRN_D_MSG_SCRN_TALK_H #define MSG_SCRN_D_MSG_SCRN_TALK_H -#include "dolphin/types.h" +#include #include "d/d_msg_scrn_base.h" class dMsgScrnArrow_c; diff --git a/include/d/d_path.h b/include/d/d_path.h index 3d1b296988..7a4e6576ac 100644 --- a/include/d/d_path.h +++ b/include/d/d_path.h @@ -1,8 +1,8 @@ #ifndef D_D_PATH_H #define D_D_PATH_H -#include "dolphin/types.h" -#include "dolphin/mtx.h" +#include +#include class cBgS_PolyInfo; struct cXyz; diff --git a/include/d/d_save.h b/include/d/d_save.h index b99d904023..47a3f88118 100644 --- a/include/d/d_save.h +++ b/include/d/d_save.h @@ -523,11 +523,11 @@ public: void setPointer(bool i_mPointer) { mPointer = i_mPointer; } enum dSv_config_language { - LANGAUGE_ENGLISH, - LANGAUGE_GERMAN, - LANGAUGE_FRENCH, - LANGAUGE_SPANISH, - LANGAUGE_ITALIAN, + LANGUAGE_ENGLISH, + LANGUAGE_GERMAN, + LANGUAGE_FRENCH, + LANGUAGE_SPANISH, + LANGUAGE_ITALIAN, }; private: @@ -819,7 +819,7 @@ public: u32 getLastMode() const { return mLastMode; } s8 getRoomNo() const { return mRoomNo; } u32 getRoomParam() const { return mRoomParam; } - cXyz& getRoomPos() { return mRoomPos; } + const cXyz& getRoomPos() const { return mRoomPos; } s16 getRoomAngleY() const { return mRoomAngleY; } s16 getLastAngleY() const { return mLastAngleY; } f32 getLastSpeedF() const { return mLastSpeedF; } @@ -848,7 +848,7 @@ public: void set(const cXyz& i_position, s16 i_angleY, s8, u32 i_param); u32 getParam() const { return mParam; } - cXyz& getPos() { return mPosition; } + const cXyz& getPos() const { return mPosition; } s16 getAngleY() const { return mAngleY; } s8 getRoomNo() const { return unk18; } @@ -996,7 +996,7 @@ public: #if DEBUG /* 0x000 */ u8 unk_0x0; - /* 0x001 */ u8 unk_0x1; + /* 0x001 */ char unk_0x1; /* 0x000 */ u8 unk_0x2[0x48 - 0x2]; #endif /* 0x000 */ dSv_save_c mSavedata; diff --git a/include/d/d_shop_camera.h b/include/d/d_shop_camera.h index 6c4f7f9521..a83e914a5e 100644 --- a/include/d/d_shop_camera.h +++ b/include/d/d_shop_camera.h @@ -70,11 +70,11 @@ public: /* 0x2c */ fopAc_ac_c* field_0x2c; /* 0x30 */ fopAc_ac_c* field_0x30; /* 0x34 */ fopAc_ac_c* field_0x34; - /* 0x38 */ cXyz field_0x38; - /* 0x44 */ cXyz field_0x44; + /* 0x38 */ Vec field_0x38; + /* 0x44 */ Vec field_0x44; /* 0x50 */ f32 field_0x50; - /* 0x54 */ cXyz field_0x54; - /* 0x60 */ cXyz field_0x60; + /* 0x54 */ Vec field_0x54; + /* 0x60 */ Vec field_0x60; /* 0x6c */ f32 field_0x6c; /* 0x70 */ cXyz field_0x70; /* 0x7C */ cXyz field_0x7c; diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 501376909c..9d9c1b3633 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -2,7 +2,6 @@ #define D_D_STAGE_H #include "SSystem/SComponent/c_lib.h" -#include "d/d_bg_parts.h" #include "d/d_kankyo.h" #include "d/d_kankyo_data.h" #include "f_op/f_op_actor_mng.h" @@ -535,6 +534,10 @@ public: /* vt[86] */ virtual stage_tgsc_class* getDrTg(void) const = 0; /* vt[87] */ virtual void setDoor(stage_tgsc_class*) = 0; /* vt[88] */ virtual stage_tgsc_class* getDoor(void) const = 0; +#if DEBUG + virtual void setUnit(void*) = 0; + virtual void* getUnit() = 0; +#endif /* vt[89] */ virtual void setMapPath(void*) = 0; /* vt[90] */ virtual void* getMapPath(void) = 0; /* vt[91] */ virtual void setElst(dStage_Elst_c*) = 0; @@ -547,194 +550,6 @@ private: void dStage_SetErrorStage(); void dStage_SetErrorRoom(); -class dStage_stageDt_c : public dStage_dt_c { -public: - dStage_stageDt_c() {} - - /* vt[ 2] */ virtual void init(void); - /* vt[ 3] */ virtual void setCamera(stage_camera_class* i_Camera) { mCamera = i_Camera; } - /* vt[ 4] */ virtual stage_camera_class* getCamera(void) const { return mCamera; } - /* vt[ 5] */ virtual void setArrow(stage_arrow_class* i_Arrow) { mArrow = i_Arrow; } - /* vt[ 6] */ virtual stage_arrow_class* getArrow(void) const { return mArrow; } - /* vt[ 7] */ virtual void setPlayer(stage_actor_class* i_Player) { mPlayer = i_Player; } - /* vt[ 8] */ virtual stage_actor_class* getPlayer(void) const { return mPlayer; } - /* vt[ 9] */ virtual void setPlayerNum(u16 i_PlayerNum) { mPlayerNum = i_PlayerNum; } - /* vt[10] */ virtual u16 getPlayerNum(void) const { return mPlayerNum; } - /* vt[11] */ virtual void setRoom(roomRead_class* i_Room) { mRoom = i_Room; } - /* vt[12] */ virtual roomRead_class* getRoom(void) const { return mRoom; } - /* vt[13] */ virtual void setMapInfo(stage_map_info_class* i_MapInfo) { mMapInfo = i_MapInfo; } - /* vt[14] */ virtual stage_map_info_class* getMapInfo(void) const { return mMapInfo; } - /* vt[15] */ virtual stage_map_info_class* getMapInfo2(int) const; - /* vt[16] */ virtual void setMapInfoBase(stage_map_info_dummy_class* i_MapInfoBase) { mMapInfoBase = i_MapInfoBase; } - /* vt[17] */ virtual stage_map_info_dummy_class* getMapInfoBase(void) const { return mMapInfoBase; } - /* vt[18] */ virtual void setPaletteInfo(stage_palette_info_class* i_PaletteInfo) { mPaletteInfo = i_PaletteInfo; } - /* vt[19] */ virtual stage_palette_info_class* getPaletteInfo(void) const { return mPaletteInfo; } - /* vt[20] */ virtual void setPselectInfo(stage_pselect_info_class* i_PselectInfo) { mPselectInfo = i_PselectInfo; } - /* vt[21] */ virtual stage_pselect_info_class* getPselectInfo(void) const { return mPselectInfo; } - /* vt[22] */ virtual void setEnvrInfo(stage_envr_info_class* i_EnvrInfo) { mEnvrInfo = i_EnvrInfo; } - /* vt[23] */ virtual stage_envr_info_class* getEnvrInfo(void) const { return mEnvrInfo; } - /* vt[24] */ virtual void setVrboxInfo(stage_vrbox_info_class* i_VrboxInfo) { mVrboxInfo = i_VrboxInfo; } - /* vt[25] */ virtual stage_vrbox_info_class* getVrboxInfo(void) const { return mVrboxInfo; } - /* vt[26] */ virtual void setVrboxcolInfo(stage_vrboxcol_info_class* i_VrboxcolInfo) { mVrboxcolInfo = i_VrboxcolInfo; } - /* vt[27] */ virtual stage_vrboxcol_info_class* getVrboxcolInfo(void) const { return mVrboxcolInfo; } - /* vt[28] */ virtual void setPlightInfo(stage_plight_info_class* i_PlightInfo) { mPlightInfo = i_PlightInfo; } - /* vt[29] */ virtual stage_plight_info_class* getPlightInfo(void) const { return mPlightInfo; } - /* vt[30] */ virtual void setPaletteNumInfo(int i_PaletteNumInfo) { mPaletteNumInfo = i_PaletteNumInfo; } - /* vt[31] */ virtual int getPaletteNumInfo(void) const { return mPaletteNumInfo; } - /* vt[32] */ virtual void setPselectNumInfo(int i_PselectNumInfo) { mPselectNumInfo = i_PselectNumInfo; } - /* vt[33] */ virtual int getPselectNumInfo(void) const { return mPselectNumInfo; } - /* vt[34] */ virtual void setEnvrNumInfo(int i_EnvrNumInfo) { mEnvrNumInfo = i_EnvrNumInfo; } - /* vt[35] */ virtual int getEnvrNumInfo(void) const { return mEnvrNumInfo; } - /* vt[36] */ virtual void setVrboxNumInfo(int i_VrboxNumInfo) { mVrboxNumInfo = i_VrboxNumInfo; } - /* vt[37] */ virtual int getVrboxNumInfo(void) const { return mVrboxNumInfo; } - /* vt[38] */ virtual void setVrboxcolNumInfo(int i_VrboxcolNumInfo) { mVrboxcolNumInfo = i_VrboxcolNumInfo; } - /* vt[39] */ virtual int getVrboxcolNumInfo(void) const { return mVrboxcolNumInfo; } - /* vt[42] */ virtual void setLightVecInfo(stage_pure_lightvec_info_class* i_LightVecInfo) { - UNUSED(i_LightVecInfo); - dStage_SetErrorStage(); - OSReport("stage non LightVec data !!\n"); - JUT_ASSERT(3003, FALSE); - } - /* vt[43] */ virtual stage_pure_lightvec_info_class* getLightVecInfo(void) const { - OSReport("stage non LightVec data !!\n"); - JUT_ASSERT(3007, FALSE); - return NULL; - } - /* vt[44] */ virtual void setLightVecInfoNum(int i_LightVecInfoNum) { - UNUSED(i_LightVecInfoNum); - dStage_SetErrorStage(); - OSReport("stage non LightVecNum data !!\n"); - JUT_ASSERT(3014, FALSE); - } - /* vt[45] */ virtual int getLightVecInfoNum(void) const { - OSReport("stage non LightVecNum data !!\n"); - JUT_ASSERT(3018, FALSE); - return NULL; - } - /* vt[40] */ virtual void setPlightNumInfo(int i_PlightNumInfo) { mPlightNumInfo = i_PlightNumInfo; } - /* vt[41] */ virtual int getPlightNumInfo(void) const { return mPlightNumInfo; } - /* vt[46] */ virtual void setStagInfo(stage_stag_info_class* i_StagInfo) { mStagInfo = i_StagInfo; } - /* vt[47] */ virtual stage_stag_info_class* getStagInfo(void) const { return mStagInfo; } - /* vt[48] */ virtual void setSclsInfo(stage_scls_info_dummy_class* i_SclsInfo) { mSclsInfo = i_SclsInfo; } - /* vt[49] */ virtual stage_scls_info_dummy_class* getSclsInfo(void) const { return mSclsInfo; } - /* vt[50] */ virtual void setPntInfo(dStage_dPnt_c* i_PntInfo) { mPntInfo = i_PntInfo; } - /* vt[51] */ virtual dStage_dPnt_c* getPntInf(void) const { return mPntInfo; } - /* vt[52] */ virtual void setPathInfo(dStage_dPath_c* i_PathInfo) { mPathInfo = i_PathInfo; } - /* vt[53] */ virtual dStage_dPath_c* getPathInf(void) const { return mPathInfo; } - /* vt[54] */ virtual void setPnt2Info(dStage_dPnt_c* i_Pnt2Info) { mPnt2Info = i_Pnt2Info; } - /* vt[55] */ virtual dStage_dPnt_c* getPnt2Inf(void) const { return mPnt2Info; } - /* vt[56] */ virtual void setPath2Info(dStage_dPath_c* i_Path2Info) { mPath2Info = i_Path2Info; } - /* vt[57] */ virtual dStage_dPath_c* getPath2Inf(void) const { return mPath2Info; } - /* vt[58] */ virtual void setSoundInf(dStage_SoundInfo_c* i_SoundInf) { mSoundInf = i_SoundInf; } - /* vt[59] */ virtual dStage_SoundInfo_c* getSoundInf(void) const { return mSoundInf; } - /* vt[60] */ virtual void setSoundInfCL(dStage_SoundInfo_c* i_SoundInfCL) { mSoundInfCL = i_SoundInfCL; } - /* vt[61] */ virtual dStage_SoundInfo_c* getSoundInfCL(void) const { return mSoundInfCL; } - /* vt[62] */ virtual void setMapEventInfo(dStage_MapEventInfo_c* i_MapEventInfo) { mMapEventInfo = i_MapEventInfo; } - /* vt[63] */ virtual dStage_MapEventInfo_c* getMapEventInfo(void) const { return mMapEventInfo; } - /* vt[64] */ virtual void setFileList2Info(dStage_FileList2_dt_c* list) { - UNUSED(list); - dStage_SetErrorStage(); - OSReport("stage non filelist2 data!\n"); - JUT_ASSERT(3123, FALSE); - } - /* vt[65] */ virtual dStage_FileList2_dt_c* getFileList2Info(void) const { - OSReport("stage non filelist2 data!\n"); - JUT_ASSERT(3127, FALSE); - return NULL; - } - /* vt[66] */ virtual void setFileListInfo(dStage_FileList_dt_c* list) { - UNUSED(list); - dStage_SetErrorStage(); - OSReport("stage non filelist data!\n"); - JUT_ASSERT(3138, FALSE); - } - /* vt[67] */ virtual dStage_FileList_dt_c* getFileListInfo(void) const { - OSReport("stage non filelist data!\n"); - JUT_ASSERT(3142, FALSE); - return NULL; - } - /* vt[68] */ virtual void setFloorInfo(dStage_FloorInfo_c* i_FloorInfo) { mFloorInfo = i_FloorInfo; } - /* vt[69] */ virtual dStage_FloorInfo_c* getFloorInfo(void) const { return mFloorInfo; } - /* vt[70] */ virtual void setMemoryConfig(dStage_MemoryConfig_c* i_MemoryConfig) { mMemoryConfig = i_MemoryConfig; } - /* vt[71] */ virtual dStage_MemoryConfig_c* getMemoryConfig(void) const { return mMemoryConfig; } - /* vt[72] */ virtual void setMemoryMap(dStage_MemoryMap_c* i_MemoryMap) { mMemoryMap = i_MemoryMap; } - /* vt[73] */ virtual dStage_MemoryMap_c* getMemoryMap(void) const { return mMemoryMap; } - /* vt[74] */ virtual void setMulti(dStage_Multi_c* i_Multi) { mMulti = i_Multi; } - /* vt[75] */ virtual dStage_Multi_c* getMulti(void) const { return mMulti; } - /* vt[76] */ virtual void setOldMulti(void); - /* vt[77] */ virtual void resetOldMulti(void); - /* vt[78] */ virtual dStage_Multi_c* getOldMulti(void) const { return mOldMulti; } - /* vt[79] */ virtual void setLbnk(dStage_Lbnk_c* lbnk) { - UNUSED(lbnk); - dStage_SetErrorStage(); - OSReport("stage non Lbnk data!\n"); - JUT_ASSERT(3231, FALSE); - } - /* vt[80] */ virtual dStage_Lbnk_c* getLbnk(void) const { - OSReport("stage non Lbnk data!\n"); - JUT_ASSERT(3238, FALSE); - return NULL; - } - /* vt[81] */ virtual void setTresure(stage_tresure_class* i_Tresure) { mTresure = i_Tresure; } - /* vt[82] */ virtual stage_tresure_class* getTresure(void) const { return mTresure; } - /* vt[83] */ virtual void setDMap(dStage_DMap_c* i_DMap) { mDMap = i_DMap; } - /* vt[84] */ virtual dStage_DMap_c* getDMap(void) const { return mDMap; } - /* vt[85] */ virtual void setDrTg(stage_tgsc_class* i_DrTg) { mDrTg = i_DrTg; } - /* vt[86] */ virtual stage_tgsc_class* getDrTg(void) const { return mDrTg; } - /* vt[87] */ virtual void setDoor(stage_tgsc_class* i_Door) { mDoor = i_Door; } - /* vt[88] */ virtual stage_tgsc_class* getDoor(void) const { return mDoor; } - /* vt[89] */ virtual void setMapPath(void* i_MapPath) { return; } - /* vt[90] */ virtual void* getMapPath(void) { return NULL; } - /* vt[91] */ virtual void setElst(dStage_Elst_c* i_Elst) { mElst = i_Elst; } - /* vt[92] */ virtual dStage_Elst_c* getElst(void); - - s16 getWorldRollAngleX() const { return (s16)mWorldRollAngleX; } - s16 getWorldRollDirAngleY() const { return mWorldRollDirAngleY; } - -public: - /* 0x08 */ stage_camera_class* mCamera; - /* 0x0C */ stage_arrow_class* mArrow; - /* 0x10 */ stage_actor_class* mPlayer; - /* 0x14 */ roomRead_class* mRoom; - /* 0x18 */ stage_map_info_class* mMapInfo; - /* 0x1C */ stage_map_info_dummy_class* mMapInfoBase; - /* 0x20 */ stage_palette_info_class* mPaletteInfo; - /* 0x24 */ stage_pselect_info_class* mPselectInfo; - /* 0x28 */ stage_envr_info_class* mEnvrInfo; - /* 0x2C */ stage_vrbox_info_class* mVrboxInfo; - /* 0x30 */ stage_vrboxcol_info_class* mVrboxcolInfo; - /* 0x34 */ stage_plight_info_class* mPlightInfo; - /* 0x38 */ dStage_MapEventInfo_c* mMapEventInfo; - /* 0x3C */ u32 mPaletteNumInfo; - /* 0x40 */ u32 mPselectNumInfo; - /* 0x44 */ u32 mEnvrNumInfo; - /* 0x48 */ u32 mVrboxNumInfo; - /* 0x4C */ int mVrboxcolNumInfo; - /* 0x50 */ u32 mPlightNumInfo; - /* 0x54 */ u16 mPlayerNum; - /* 0x56 */ s16 mWorldRollAngleX; - /* 0x58 */ s16 mWorldRollDirAngleY; - /* 0x5A */ u16 field_0x5a; - /* 0x5C */ stage_stag_info_class* mStagInfo; - /* 0x60 */ stage_scls_info_dummy_class* mSclsInfo; - /* 0x64 */ dStage_dPnt_c* mPntInfo; - /* 0x68 */ dStage_dPath_c* mPathInfo; - /* 0x6C */ dStage_dPnt_c* mPnt2Info; - /* 0x70 */ dStage_dPath_c* mPath2Info; - /* 0x74 */ dStage_SoundInfo_c* mSoundInf; - /* 0x78 */ dStage_SoundInfo_c* mSoundInfCL; - /* 0x7C */ dStage_FloorInfo_c* mFloorInfo; - /* 0x80 */ dStage_MemoryConfig_c* mMemoryConfig; - /* 0x84 */ dStage_MemoryMap_c* mMemoryMap; - /* 0x88 */ dStage_Multi_c* mMulti; - /* 0x8C */ dStage_Multi_c* mOldMulti; - /* 0x90 */ stage_tresure_class* mTresure; - /* 0x94 */ dStage_DMap_c* mDMap; - /* 0x98 */ stage_tgsc_class* mDrTg; - /* 0x9C */ stage_tgsc_class* mDoor; - /* 0xA0 */ dStage_Elst_c* mElst; -}; - class dStage_roomDt_c : public dStage_dt_c { public: dStage_roomDt_c() {} @@ -977,6 +792,10 @@ public: virtual stage_tgsc_class* getDrTg(void) const { return mDrTg; } virtual void setDoor(stage_tgsc_class* i_Door) { mDoor = i_Door; } virtual stage_tgsc_class* getDoor(void) const { return mDoor; } +#if DEBUG + virtual void setUnit(void* i_Unit) { mUnit = i_Unit; } + virtual void* getUnit() { return mUnit; } +#endif virtual void setMapPath(void* i_MapPath) { UNUSED(i_MapPath); OSReport("stage non 2d map path data !!\n"); @@ -1023,7 +842,7 @@ public: /* 0x58 */ stage_tgsc_class* mDoor; /* 0x5C */ dStage_FloorInfo_c* mFloorInfo; #if DEBUG - /* 0x60 */ int field_0x60; + /* 0x60 */ void* mUnit; #endif /* 0x60 */ u16 mPlayerNum; /* 0x62 */ u16 field_0x62; @@ -1031,6 +850,206 @@ public: /* 0x68 */ int mVrboxcolNumInfo; }; // Size: 0x6C +class dStage_stageDt_c : public dStage_dt_c { +public: + dStage_stageDt_c() {} + + /* vt[ 2] */ virtual void init(void); + /* vt[ 3] */ virtual void setCamera(stage_camera_class* i_Camera) { mCamera = i_Camera; } + /* vt[ 4] */ virtual stage_camera_class* getCamera(void) const { return mCamera; } + /* vt[ 5] */ virtual void setArrow(stage_arrow_class* i_Arrow) { mArrow = i_Arrow; } + /* vt[ 6] */ virtual stage_arrow_class* getArrow(void) const { return mArrow; } + /* vt[ 7] */ virtual void setPlayer(stage_actor_class* i_Player) { mPlayer = i_Player; } + /* vt[ 8] */ virtual stage_actor_class* getPlayer(void) const { return mPlayer; } + /* vt[ 9] */ virtual void setPlayerNum(u16 i_PlayerNum) { mPlayerNum = i_PlayerNum; } + /* vt[10] */ virtual u16 getPlayerNum(void) const { return mPlayerNum; } + /* vt[11] */ virtual void setRoom(roomRead_class* i_Room) { mRoom = i_Room; } + /* vt[12] */ virtual roomRead_class* getRoom(void) const { return mRoom; } + /* vt[13] */ virtual void setMapInfo(stage_map_info_class* i_MapInfo) { mMapInfo = i_MapInfo; } + /* vt[14] */ virtual stage_map_info_class* getMapInfo(void) const { return mMapInfo; } + /* vt[15] */ virtual stage_map_info_class* getMapInfo2(int) const; + /* vt[16] */ virtual void setMapInfoBase(stage_map_info_dummy_class* i_MapInfoBase) { mMapInfoBase = i_MapInfoBase; } + /* vt[17] */ virtual stage_map_info_dummy_class* getMapInfoBase(void) const { return mMapInfoBase; } + /* vt[18] */ virtual void setPaletteInfo(stage_palette_info_class* i_PaletteInfo) { mPaletteInfo = i_PaletteInfo; } + /* vt[19] */ virtual stage_palette_info_class* getPaletteInfo(void) const { return mPaletteInfo; } + /* vt[20] */ virtual void setPselectInfo(stage_pselect_info_class* i_PselectInfo) { mPselectInfo = i_PselectInfo; } + /* vt[21] */ virtual stage_pselect_info_class* getPselectInfo(void) const { return mPselectInfo; } + /* vt[22] */ virtual void setEnvrInfo(stage_envr_info_class* i_EnvrInfo) { mEnvrInfo = i_EnvrInfo; } + /* vt[23] */ virtual stage_envr_info_class* getEnvrInfo(void) const { return mEnvrInfo; } + /* vt[24] */ virtual void setVrboxInfo(stage_vrbox_info_class* i_VrboxInfo) { mVrboxInfo = i_VrboxInfo; } + /* vt[25] */ virtual stage_vrbox_info_class* getVrboxInfo(void) const { return mVrboxInfo; } + /* vt[26] */ virtual void setVrboxcolInfo(stage_vrboxcol_info_class* i_VrboxcolInfo) { mVrboxcolInfo = i_VrboxcolInfo; } + /* vt[27] */ virtual stage_vrboxcol_info_class* getVrboxcolInfo(void) const { return mVrboxcolInfo; } + /* vt[28] */ virtual void setPlightInfo(stage_plight_info_class* i_PlightInfo) { mPlightInfo = i_PlightInfo; } + /* vt[29] */ virtual stage_plight_info_class* getPlightInfo(void) const { return mPlightInfo; } + /* vt[30] */ virtual void setPaletteNumInfo(int i_PaletteNumInfo) { mPaletteNumInfo = i_PaletteNumInfo; } + /* vt[31] */ virtual int getPaletteNumInfo(void) const { return mPaletteNumInfo; } + /* vt[32] */ virtual void setPselectNumInfo(int i_PselectNumInfo) { mPselectNumInfo = i_PselectNumInfo; } + /* vt[33] */ virtual int getPselectNumInfo(void) const { return mPselectNumInfo; } + /* vt[34] */ virtual void setEnvrNumInfo(int i_EnvrNumInfo) { mEnvrNumInfo = i_EnvrNumInfo; } + /* vt[35] */ virtual int getEnvrNumInfo(void) const { return mEnvrNumInfo; } + /* vt[36] */ virtual void setVrboxNumInfo(int i_VrboxNumInfo) { mVrboxNumInfo = i_VrboxNumInfo; } + /* vt[37] */ virtual int getVrboxNumInfo(void) const { return mVrboxNumInfo; } + /* vt[38] */ virtual void setVrboxcolNumInfo(int i_VrboxcolNumInfo) { mVrboxcolNumInfo = i_VrboxcolNumInfo; } + /* vt[39] */ virtual int getVrboxcolNumInfo(void) const { return mVrboxcolNumInfo; } + /* vt[42] */ virtual void setLightVecInfo(stage_pure_lightvec_info_class* i_LightVecInfo) { + UNUSED(i_LightVecInfo); + dStage_SetErrorStage(); + OSReport("stage non LightVec data !!\n"); + JUT_ASSERT(3003, FALSE); + } + /* vt[43] */ virtual stage_pure_lightvec_info_class* getLightVecInfo(void) const { + OSReport("stage non LightVec data !!\n"); + JUT_ASSERT(3007, FALSE); + return NULL; + } + /* vt[44] */ virtual void setLightVecInfoNum(int i_LightVecInfoNum) { + UNUSED(i_LightVecInfoNum); + dStage_SetErrorStage(); + OSReport("stage non LightVecNum data !!\n"); + JUT_ASSERT(3014, FALSE); + } + /* vt[45] */ virtual int getLightVecInfoNum(void) const { + OSReport("stage non LightVecNum data !!\n"); + JUT_ASSERT(3018, FALSE); + return NULL; + } + /* vt[40] */ virtual void setPlightNumInfo(int i_PlightNumInfo) { mPlightNumInfo = i_PlightNumInfo; } + /* vt[41] */ virtual int getPlightNumInfo(void) const { return mPlightNumInfo; } + /* vt[46] */ virtual void setStagInfo(stage_stag_info_class* i_StagInfo) { mStagInfo = i_StagInfo; } + /* vt[47] */ virtual stage_stag_info_class* getStagInfo(void) const { return mStagInfo; } + /* vt[48] */ virtual void setSclsInfo(stage_scls_info_dummy_class* i_SclsInfo) { mSclsInfo = i_SclsInfo; } + /* vt[49] */ virtual stage_scls_info_dummy_class* getSclsInfo(void) const { return mSclsInfo; } + /* vt[50] */ virtual void setPntInfo(dStage_dPnt_c* i_PntInfo) { mPntInfo = i_PntInfo; } + /* vt[51] */ virtual dStage_dPnt_c* getPntInf(void) const { return mPntInfo; } + /* vt[52] */ virtual void setPathInfo(dStage_dPath_c* i_PathInfo) { mPathInfo = i_PathInfo; } + /* vt[53] */ virtual dStage_dPath_c* getPathInf(void) const { return mPathInfo; } + /* vt[54] */ virtual void setPnt2Info(dStage_dPnt_c* i_Pnt2Info) { mPnt2Info = i_Pnt2Info; } + /* vt[55] */ virtual dStage_dPnt_c* getPnt2Inf(void) const { return mPnt2Info; } + /* vt[56] */ virtual void setPath2Info(dStage_dPath_c* i_Path2Info) { mPath2Info = i_Path2Info; } + /* vt[57] */ virtual dStage_dPath_c* getPath2Inf(void) const { return mPath2Info; } + /* vt[58] */ virtual void setSoundInf(dStage_SoundInfo_c* i_SoundInf) { mSoundInf = i_SoundInf; } + /* vt[59] */ virtual dStage_SoundInfo_c* getSoundInf(void) const { return mSoundInf; } + /* vt[60] */ virtual void setSoundInfCL(dStage_SoundInfo_c* i_SoundInfCL) { mSoundInfCL = i_SoundInfCL; } + /* vt[61] */ virtual dStage_SoundInfo_c* getSoundInfCL(void) const { return mSoundInfCL; } + /* vt[62] */ virtual void setMapEventInfo(dStage_MapEventInfo_c* i_MapEventInfo) { mMapEventInfo = i_MapEventInfo; } + /* vt[63] */ virtual dStage_MapEventInfo_c* getMapEventInfo(void) const { return mMapEventInfo; } + /* vt[64] */ virtual void setFileList2Info(dStage_FileList2_dt_c* list) { + UNUSED(list); + dStage_SetErrorStage(); + OSReport("stage non filelist2 data!\n"); + JUT_ASSERT(3123, FALSE); + } + /* vt[65] */ virtual dStage_FileList2_dt_c* getFileList2Info(void) const { + OSReport("stage non filelist2 data!\n"); + JUT_ASSERT(3127, FALSE); + return NULL; + } + /* vt[66] */ virtual void setFileListInfo(dStage_FileList_dt_c* list) { + UNUSED(list); + dStage_SetErrorStage(); + OSReport("stage non filelist data!\n"); + JUT_ASSERT(3138, FALSE); + } + /* vt[67] */ virtual dStage_FileList_dt_c* getFileListInfo(void) const { + OSReport("stage non filelist data!\n"); + JUT_ASSERT(3142, FALSE); + return NULL; + } + /* vt[68] */ virtual void setFloorInfo(dStage_FloorInfo_c* i_FloorInfo) { mFloorInfo = i_FloorInfo; } + /* vt[69] */ virtual dStage_FloorInfo_c* getFloorInfo(void) const { return mFloorInfo; } + /* vt[70] */ virtual void setMemoryConfig(dStage_MemoryConfig_c* i_MemoryConfig) { mMemoryConfig = i_MemoryConfig; } + /* vt[71] */ virtual dStage_MemoryConfig_c* getMemoryConfig(void) const { return mMemoryConfig; } + /* vt[72] */ virtual void setMemoryMap(dStage_MemoryMap_c* i_MemoryMap) { mMemoryMap = i_MemoryMap; } + /* vt[73] */ virtual dStage_MemoryMap_c* getMemoryMap(void) const { return mMemoryMap; } + /* vt[74] */ virtual void setMulti(dStage_Multi_c* i_Multi) { mMulti = i_Multi; } + /* vt[75] */ virtual dStage_Multi_c* getMulti(void) const { return mMulti; } + /* vt[76] */ virtual void setOldMulti(void) { mOldMulti = mMulti; } + /* vt[77] */ virtual void resetOldMulti(void) { mOldMulti = NULL; } + /* vt[78] */ virtual dStage_Multi_c* getOldMulti(void) const { return mOldMulti; } + /* vt[79] */ virtual void setLbnk(dStage_Lbnk_c* lbnk) { + UNUSED(lbnk); + dStage_SetErrorStage(); + OSReport("stage non Lbnk data!\n"); + JUT_ASSERT(3231, FALSE); + } + /* vt[80] */ virtual dStage_Lbnk_c* getLbnk(void) const { + OSReport("stage non Lbnk data!\n"); + JUT_ASSERT(3238, FALSE); + return NULL; + } + /* vt[81] */ virtual void setTresure(stage_tresure_class* i_Tresure) { mTresure = i_Tresure; } + /* vt[82] */ virtual stage_tresure_class* getTresure(void) const { return mTresure; } + /* vt[83] */ virtual void setDMap(dStage_DMap_c* i_DMap) { mDMap = i_DMap; } + /* vt[84] */ virtual dStage_DMap_c* getDMap(void) const { return mDMap; } + /* vt[85] */ virtual void setDrTg(stage_tgsc_class* i_DrTg) { mDrTg = i_DrTg; } + /* vt[86] */ virtual stage_tgsc_class* getDrTg(void) const { return mDrTg; } + /* vt[87] */ virtual void setDoor(stage_tgsc_class* i_Door) { mDoor = i_Door; } + /* vt[88] */ virtual stage_tgsc_class* getDoor(void) const { return mDoor; } +#if DEBUG + virtual void setUnit(void* i_Unit) { + UNUSED(i_Unit); + OSReport("stage non unit list data !!\n"); + JUT_ASSERT(3321, 0); + } + virtual void* getUnit() { + OSReport("stage non unit list data !!\n"); + JUT_ASSERT(3325, 0); + return NULL; + } +#endif + /* vt[89] */ virtual void setMapPath(void* i_MapPath) { return; } + /* vt[90] */ virtual void* getMapPath(void) { return NULL; } + /* vt[91] */ virtual void setElst(dStage_Elst_c* i_Elst) { mElst = i_Elst; } + /* vt[92] */ virtual dStage_Elst_c* getElst(void); + + s16 getWorldRollAngleX() const { return (s16)mWorldRollAngleX; } + s16 getWorldRollDirAngleY() const { return mWorldRollDirAngleY; } + +public: + /* 0x08 */ stage_camera_class* mCamera; + /* 0x0C */ stage_arrow_class* mArrow; + /* 0x10 */ stage_actor_class* mPlayer; + /* 0x14 */ roomRead_class* mRoom; + /* 0x18 */ stage_map_info_class* mMapInfo; + /* 0x1C */ stage_map_info_dummy_class* mMapInfoBase; + /* 0x20 */ stage_palette_info_class* mPaletteInfo; + /* 0x24 */ stage_pselect_info_class* mPselectInfo; + /* 0x28 */ stage_envr_info_class* mEnvrInfo; + /* 0x2C */ stage_vrbox_info_class* mVrboxInfo; + /* 0x30 */ stage_vrboxcol_info_class* mVrboxcolInfo; + /* 0x34 */ stage_plight_info_class* mPlightInfo; + /* 0x38 */ dStage_MapEventInfo_c* mMapEventInfo; + /* 0x3C */ u32 mPaletteNumInfo; + /* 0x40 */ u32 mPselectNumInfo; + /* 0x44 */ u32 mEnvrNumInfo; + /* 0x48 */ u32 mVrboxNumInfo; + /* 0x4C */ int mVrboxcolNumInfo; + /* 0x50 */ u32 mPlightNumInfo; + /* 0x54 */ u16 mPlayerNum; + /* 0x56 */ s16 mWorldRollAngleX; + /* 0x58 */ s16 mWorldRollDirAngleY; + /* 0x5A */ u16 field_0x5a; + /* 0x5C */ stage_stag_info_class* mStagInfo; + /* 0x60 */ stage_scls_info_dummy_class* mSclsInfo; + /* 0x64 */ dStage_dPnt_c* mPntInfo; + /* 0x68 */ dStage_dPath_c* mPathInfo; + /* 0x6C */ dStage_dPnt_c* mPnt2Info; + /* 0x70 */ dStage_dPath_c* mPath2Info; + /* 0x74 */ dStage_SoundInfo_c* mSoundInf; + /* 0x78 */ dStage_SoundInfo_c* mSoundInfCL; + /* 0x7C */ dStage_FloorInfo_c* mFloorInfo; + /* 0x80 */ dStage_MemoryConfig_c* mMemoryConfig; + /* 0x84 */ dStage_MemoryMap_c* mMemoryMap; + /* 0x88 */ dStage_Multi_c* mMulti; + /* 0x8C */ dStage_Multi_c* mOldMulti; + /* 0x90 */ stage_tresure_class* mTresure; + /* 0x94 */ dStage_DMap_c* mDMap; + /* 0x98 */ stage_tgsc_class* mDrTg; + /* 0x9C */ stage_tgsc_class* mDoor; + /* 0xA0 */ dStage_Elst_c* mElst; +}; + class dBgW_Base; class dStage_roomStatus_c { @@ -1051,6 +1070,7 @@ public: STATIC_ASSERT(sizeof(dStage_roomStatus_c) == 0x404); +class dBgp_c; class dStage_roomControl_c { public: class roomDzs_c { @@ -1113,7 +1133,10 @@ public: static int getStayNo() { return mStayNo; } static u8 getRegionNo(int i_roomNo) { return mStatus[i_roomNo].mRegionNo; } - static s8 getMemoryBlockID(int i_roomNo) { return mStatus[i_roomNo].mMemBlockID; } + static int getMemoryBlockID(int i_roomNo) { + JUT_ASSERT(2757, 0 <= i_roomNo && i_roomNo < 64); + return mStatus[i_roomNo].mMemBlockID; + } dKy_tevstr_c* getTevStr(int i_roomNo) { JUT_ASSERT(2675, 0 <= i_roomNo && i_roomNo < 64); return &mStatus[i_roomNo].mKyTevStr; @@ -1122,9 +1145,13 @@ public: JUT_ASSERT(2679, 0 <= i_roomNo && i_roomNo < 64); mStatus[i_roomNo].mFlag = flag; } - static void onStatusDraw(int i_roomNo) { mStatus[i_roomNo].mDraw = true; } + static void onStatusDraw(int i_roomNo) { + JUT_ASSERT(2725, 0 <= i_roomNo && i_roomNo < 64); + mStatus[i_roomNo].mDraw = true; + } static dStage_FileList2_dt_c* getFileList2(int i_roomNo) { - return mStatus[i_roomNo].mRoomDt.mFileList2Info; + JUT_ASSERT(2715, 0 <= i_roomNo && i_roomNo < 64); + return mStatus[i_roomNo].mRoomDt.getFileList2Info(); } static char* getDemoArcName() { return mDemoArcName; } static nameData* getArcBankName() { return mArcBankName; } @@ -1180,6 +1207,10 @@ public: static JKRExpHeap* getMemoryBlockHeap(int i_no) { return mMemoryBlock[i_no]; } + #if DEBUG + static void setBgp(int, void*); + #endif + static const int MEMORY_BLOCK_MAX = 19; static JKRExpHeap* mMemoryBlock[MEMORY_BLOCK_MAX]; @@ -1266,6 +1297,33 @@ struct FuncTable { dStage_Func function; }; +enum dStage_SaveTbl { + dStage_SaveTbl_ORDON, + dStage_SaveTbl_PRISON, + dStage_SaveTbl_FARON, + dStage_SaveTbl_ELDIN, + dStage_SaveTbl_LANAYRU, + dStage_SaveTbl_FIELD = 6, + dStage_SaveTbl_GROVE, + dStage_SaveTbl_SNOWPEAK, + dStage_SaveTbl_CASTLE_TOWN, + dStage_SaveTbl_DESERT, + dStage_SaveTbl_FISHING_POND, + + dStage_SaveTbl_LV1 = 16, + dStage_SaveTbl_LV2, + dStage_SaveTbl_LV3, + dStage_SaveTbl_LV4, + dStage_SaveTbl_LV5, + dStage_SaveTbl_LV6, + dStage_SaveTbl_LV7, + dStage_SaveTbl_LV8, + dStage_SaveTbl_LV9, + dStage_SaveTbl_CAVE1, + dStage_SaveTbl_CAVE2, + dStage_SaveTbl_GROTTO, +}; + const char* dStage_getName2(s16, s8); dStage_objectNameInf* dStage_searchName(const char*); static int dStage_stageKeepTresureInit(dStage_dt_c*, void*, int, void*); @@ -1352,7 +1410,7 @@ inline s32 dStage_roomRead_dt_c_GetTimePass(roomRead_data_class& data) { return data.field_0x2 & 3; } -inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) { +inline int dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) { return param_0 & 0x3f; } @@ -1417,7 +1475,7 @@ inline u32 dStage_stagInfo_ChkKeyDisp(stage_stag_info_class* pstag) { return pstag->field_0x09 & 1; } -inline u8 dStage_stagInfo_GetWolfDashType(stage_stag_info_class* pstag) { +inline int dStage_stagInfo_GetWolfDashType(stage_stag_info_class* pstag) { return (pstag->field_0x09 >> 6) & 3; } @@ -1485,11 +1543,11 @@ inline u16 dStage_FileList_dt_GetMsg(dStage_FileList_dt_c* p_fList) { return p_fList->mMsg; } -inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) { +inline f32 dStage_FileList2_dt_GetLeftRmX(const dStage_FileList2_dt_c* p_fList2) { return p_fList2->mLeftRmX; } -inline f32 dStage_FileList2_dt_GetRightRmX(dStage_FileList2_dt_c* p_fList2) { +inline f32 dStage_FileList2_dt_GetRightRmX(const dStage_FileList2_dt_c* p_fList2) { return p_fList2->mRightRmX; } diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h index 6784c38094..53315bacdc 100644 --- a/include/d/d_tresure.h +++ b/include/d/d_tresure.h @@ -1,10 +1,12 @@ #ifndef D_D_TRESURE_H #define D_D_TRESURE_H -#include "dolphin/mtx.h" +#include class dTres_c { public: + static const int TYPE_GROUP_ENUM_NUMBER = 17; + struct data_s { /* 0x00 */ u8 mNo; /* 0x01 */ s8 mRoomNo; @@ -21,18 +23,25 @@ public: public: data_s* getDataPointer() { return (data_s*)this; } const data_s* getConstDataPointer() const { return (data_s*)this; } - typeGroupData_c* getNextDataPointer() const { return mNextData; } - void setNextDataPointer(typeGroupData_c* data) { mNextData = data; } - void setTypeGroupNo(u8 no) { mTypeGroupNo = no; } u8 getNo() const { return mNo; } + void setNo(u8 no) { mNo = no; } + s8 getRoomNo() const { return mRoomNo; } + void setRoomNo(s8 roomNo) { mRoomNo = roomNo; } u8 getStatus() const { return mStatus; } void setStatus(u8 status) { mStatus = status; } - void setRoomNo(s8 roomNo) { mRoomNo = roomNo; } - s8 getRoomNo() const { return mRoomNo; } + void setArg1(u8 arg1) { mArg1 = arg1; } + const Vec* getPos() const { return &mPos; } void setPos(const Vec& pos) { mPos = pos; } u8 getSwBit() const { return mSwBit; } - const Vec* getPos() const { return &mPos; } + void setSwBit(u8 swBit) { mSwBit = swBit; } + void setType(u8 type) { mType = type; } + void setArg2(u8 arg2) { mArg2 = arg2; } int getAngleY() const { return mAngleY; } + void setAngleY(s8 angleY) { mAngleY = angleY; } + typeGroupData_c* getNextDataPointer() const { return mNextData; } + void setNextDataPointer(typeGroupData_c* data) { mNextData = data; } + u8 getTypeGroupNo() { return mTypeGroupNo; } + void setTypeGroupNo(u8 no) { mTypeGroupNo = no; } /* 0x14 */ typeGroupData_c* mNextData; /* 0x18 */ u8 mTypeGroupNo; @@ -63,7 +72,7 @@ public: static typeGroupData_c* getNextData(dTres_c::typeGroupData_c*); static typeGroupData_c* getNextData(dTres_c::typeGroupData_c const*); static void setPosition(int, u8, Vec const*, int); - static int getTypeGroupNoToType(u8); + static u8 getTypeGroupNoToType(u8); static u8 getTypeToTypeGroupNo(u8); static int getTypeGroupNumber(int index) { diff --git a/include/d/d_vib_pattern.h b/include/d/d_vib_pattern.h index 122015787d..55d213513b 100644 --- a/include/d/d_vib_pattern.h +++ b/include/d/d_vib_pattern.h @@ -1,7 +1,7 @@ #ifndef D_D_VIB_PATTERN_H #define D_D_VIB_PATTERN_H -#include "dolphin/types.h" +#include diff --git a/include/d/dolzel_base.pch b/include/d/dolzel_base.pch index ac3dbb96d3..d430859ca2 100644 --- a/include/d/dolzel_base.pch +++ b/include/d/dolzel_base.pch @@ -6,6 +6,7 @@ // Fixes weak .data #include // IWYU pragma: export +#include // IWYU pragma: export #include "JSystem/J3DGraphBase/J3DMatBlock.h" // IWYU pragma: export #include "Z2AudioLib/Z2Calc.h" // IWYU pragma: export @@ -17,11 +18,11 @@ #include "JSystem/JKernel/JKRDisposer.h" // IWYU pragma: export #include "JSystem/JGadget/linklist.h" // IWYU pragma: export #include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: export -#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DShapeTable.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DAnimation.h" // IWYU pragma: export +#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export #include "JSystem/JUtility/JUTGamePad.h" // IWYU pragma: export #include "JSystem/J3DGraphBase/J3DSys.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export diff --git a/include/dolphin/base/PPCArch.h b/include/dolphin/base/PPCArch.h index fa67b8a021..bb9e2845ab 100644 --- a/include/dolphin/base/PPCArch.h +++ b/include/dolphin/base/PPCArch.h @@ -4,7 +4,7 @@ #ifdef __REVOLUTION_SDK__ #include #else -#include "dolphin/types.h" +#include #ifdef __cplusplus extern "C" { diff --git a/include/dolphin/os.h b/include/dolphin/os.h index f9bd33ab5b..07eb305adb 100644 --- a/include/dolphin/os.h +++ b/include/dolphin/os.h @@ -1,7 +1,11 @@ #ifndef _DOLPHIN_OS_H_ #define _DOLPHIN_OS_H_ +#ifdef __MWERKS__ #include +#else +#include +#endif #ifdef __REVOLUTION_SDK__ #include diff --git a/include/dolphin/types.h b/include/dolphin/types.h index ea36304400..b957324094 100644 --- a/include/dolphin/types.h +++ b/include/dolphin/types.h @@ -88,7 +88,11 @@ typedef unsigned int uint; #define __REGISTER #endif +#ifdef __MWERKS__ #include +#else +#include +#endif #endif #endif diff --git a/include/f_ap/f_ap_game.h b/include/f_ap/f_ap_game.h index e0162fcf38..79bbb1b24f 100644 --- a/include/f_ap/f_ap_game.h +++ b/include/f_ap/f_ap_game.h @@ -185,6 +185,10 @@ inline u8 fapGmHIO_getGamma() { } #endif +inline u8 fapGmHIO_getMemoryBlockOff() { + return g_HIO.mMemBlockOff; +} + struct fapGm_dataMem { enum HeapType_e { HeapType_Error_e, diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index f04034459f..d743c143f2 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -91,38 +91,47 @@ enum fopAc_attention_type { /* 0x2 */ fopAc_attn_BATTLE_e, #if !PLATFORM_GCN - fopAc_attn_UNK_3, - fopAc_attn_UNK_4, - fopAc_attn_UNK_5, + /* 0x3 */ fopAc_attn_UNK_3, + /* 0x4 */ fopAc_attn_UNK_4, + /* 0x5 */ fopAc_attn_UNK_5, #endif - /* 0x3 */ fopAc_attn_SPEAK_e, - /* 0x4 */ fopAc_attn_CARRY_e, - /* 0x5 */ fopAc_attn_DOOR_e, - /* 0x6 */ fopAc_attn_JUEL_e, + /* 0x3 (0x6) */ fopAc_attn_SPEAK_e, + /* 0x4 (0x7) */ fopAc_attn_CARRY_e, + /* 0x5 (0x8) */ fopAc_attn_DOOR_e, + /* 0x6 (0x9) */ fopAc_attn_JUEL_e, #if !PLATFORM_GCN - fopAc_attn_UNK_10, + /* 0xA */ fopAc_attn_UNK_10, #endif - /* 0x7 */ fopAc_attn_ETC_e, - /* 0x8 */ fopAc_attn_CHECK_e, + /* 0x7 (0xB) */ fopAc_attn_ETC_e, + /* 0x8 (0xC) */ fopAc_attn_CHECK_e, fopAc_attn_MAX_e, }; enum fopAc_AttentionFlag_e { - /* 0x00000001 */ fopAc_AttnFlag_LOCK_e = (1 << fopAc_attn_LOCK_e), - /* 0x00000002 */ fopAc_AttnFlag_TALK_e = (1 << fopAc_attn_TALK_e), - /* 0x00000004 */ fopAc_AttnFlag_BATTLE_e = (1 << fopAc_attn_BATTLE_e), + /* 0x00000001 */ fopAc_AttnFlag_LOCK_e = (1 << fopAc_attn_LOCK_e), + /* 0x00000002 */ fopAc_AttnFlag_TALK_e = (1 << fopAc_attn_TALK_e), + /* 0x00000004 */ fopAc_AttnFlag_BATTLE_e = (1 << fopAc_attn_BATTLE_e), - /* 0x00000008 */ fopAc_AttnFlag_SPEAK_e = (1 << fopAc_attn_SPEAK_e), - /* 0x00000010 */ fopAc_AttnFlag_CARRY_e = (1 << fopAc_attn_CARRY_e), - /* 0x00000020 */ fopAc_AttnFlag_DOOR_e = (1 << fopAc_attn_DOOR_e), - /* 0x00000040 */ fopAc_AttnFlag_JUEL_e = (1 << fopAc_attn_JUEL_e), - /* 0x00000080 */ fopAc_AttnFlag_ETC_e = (1 << fopAc_attn_ETC_e), +#if !PLATFORM_GCN + /* 0x00000008 */ fopAc_AttnFlag_UNK_3_e = (1 << fopAc_attn_UNK_3), + /* 0x00000010 */ fopAc_AttnFlag_UNK_4_e = (1 << fopAc_attn_UNK_4), + /* 0x00000020 */ fopAc_AttnFlag_UNK_5_e = (1 << fopAc_attn_UNK_5), +#endif - /* 0x00000100 */ fopAc_AttnFlag_CHECK_e = (1 << fopAc_attn_CHECK_e), + /* 0x00000008 (0x00000040) */ fopAc_AttnFlag_SPEAK_e = (1 << fopAc_attn_SPEAK_e), + /* 0x00000010 (0x00000080) */ fopAc_AttnFlag_CARRY_e = (1 << fopAc_attn_CARRY_e), + /* 0x00000020 (0x00000100) */ fopAc_AttnFlag_DOOR_e = (1 << fopAc_attn_DOOR_e), + /* 0x00000040 (0x00000200) */ fopAc_AttnFlag_JUEL_e = (1 << fopAc_attn_JUEL_e), +#if !PLATFORM_GCN + /* 0x00000400 */ fopAc_AttnFlag_UNK_10_e = (1 << fopAc_attn_UNK_10), +#endif + /* 0x00000080 (0x00000800) */ fopAc_AttnFlag_ETC_e = (1 << fopAc_attn_ETC_e), + + /* 0x00000100 (0x00001000) */ fopAc_AttnFlag_CHECK_e = (1 << fopAc_attn_CHECK_e), /* 0x00200000 */ fopAc_AttnFlag_UNK_0x200000 = 0x200000, /* 0x00400000 */ fopAc_AttnFlag_UNK_0x400000 = 0x400000, @@ -155,6 +164,7 @@ enum dEvt_Condition_e { dEvtCnd_CANDEMO_e = 0x0002, dEvtCnd_CANDOOR_e = 0x0004, dEvtCnd_CANGETITEM_e = 0x0008, + dEvtCnd_10_e = 0x0010, dEvtCnd_CANTALKITEM_e = 0x0020, dEvtCnd_40_e = 0x0040, dEvtCnd_DUMMY = 0x8000, @@ -328,10 +338,10 @@ public: cXyz& getDownPos() { return mDownPos; } cXyz& getHeadLockPos() { return mHeadLockPos; } - void onCutDownHitFlg() { mFlags |= fopEn_flag_CutDownHit; } - void onWolfBiteDamage() { mFlags |= fopEn_flag_WolfBiteDamage; } - void onWolfDownStartFlg() { mFlags |= (fopEn_flag_WolfDownPull | fopEn_flag_WolfDownStart); } - void onWolfDownPullEndFlg() { mFlags |= fopEn_flag_WolfDownPullEnd; } + void onCutDownHitFlg() { mFlags |= (u16)fopEn_flag_CutDownHit; } + void onWolfBiteDamage() { mFlags |= (u16)fopEn_flag_WolfBiteDamage; } + void onWolfDownStartFlg() { mFlags |= (u16)(fopEn_flag_WolfDownPull | fopEn_flag_WolfDownStart); } + void onWolfDownPullEndFlg() { mFlags |= (u16)fopEn_flag_WolfDownPullEnd; } void onWolfNoLock() { mFlags |= (u16)fopEn_flag_WolfNoLock; } void onDownFlg() { mFlags |= (u16)fopEn_flag_Down; } void onHeadLockFlg() { mFlags |= (u16)fopEn_flag_HeadLock; } @@ -356,10 +366,10 @@ public: void setMidnaBindMode(u8 i_bindMode) { mMidnaBindMode = i_bindMode; } void setMidnaBindID(u8 i_idx, u32 i_bindID) { mMidnaBindID[i_idx] = i_bindID; } - void setThrowModeCatch() { mThrowMode |= fopEn_throwMode_Catch; } - void setThrowModeDash() { mThrowMode |= fopEn_throwMode_Dash; } - void setThrowModeThrowRight() { mThrowMode |= fopEn_throwMode_ThrowRight; } - void setThrowModeThrowLeft() { mThrowMode |= fopEn_throwMode_ThrowLeft; } + void setThrowModeCatch() { mThrowMode |= (u8)fopEn_throwMode_Catch; } + void setThrowModeDash() { mThrowMode |= (u8)fopEn_throwMode_Dash; } + void setThrowModeThrowRight() { mThrowMode |= (u8)fopEn_throwMode_ThrowRight; } + void setThrowModeThrowLeft() { mThrowMode |= (u8)fopEn_throwMode_ThrowLeft; } void setDownPos(const cXyz* i_pos) { mDownPos = *i_pos; } void setHeadLockPos(const cXyz* i_pos) { mHeadLockPos = *i_pos; } diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index a5518264b7..868671d2d8 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -12,26 +12,23 @@ #include "f_pc/f_pc_manager.h" #include "m_Do/m_Do_hostIO.h" -#define fopAcM_ct(ptr, ClassName) \ - if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \ - new (ptr) ClassName(); \ - fopAcM_OnCondition(ptr, fopAcCnd_INIT_e); \ +#define fopAcM_ct(ptr, ClassName) \ + if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \ + new (ptr) ClassName(); \ + fopAcM_OnCondition(ptr, fopAcCnd_INIT_e); \ } -#define fopAcM_RegisterDeleteID(i_this, actor_name_str) \ - const fpc_ProcID procID = fopAcM_GetID(i_this); \ - "Delete -> " actor_name_str "(id=%d)\n" +#define fopAcM_RegisterDeleteID(i_this, actor_name_str) \ + ("Delete -> " actor_name_str "(id=%d)\n", fopAcM_GetID(i_this)) -#define fopAcM_RegisterCreateID(actor_class, i_this, actor_name_str) \ - actor_class* a_this = static_cast(i_this); \ - const fpc_ProcID procID = fopAcM_GetID(i_this); \ - "Create -> " actor_name_str "(id=%d)\n" +#define fopAcM_RegisterCreateID(i_this, actor_name_str) \ + ("Create -> " actor_name_str "(id=%d)\n", fopAcM_GetID(i_this)) -#define fopAcM_RegisterDelete(i_this, actor_name_str) "Delete -> " actor_name_str "\n" +#define fopAcM_RegisterDelete(i_this, actor_name_str) \ + ("Delete -> " actor_name_str "\n") -#define fopAcM_RegisterCreate(actor_class, i_this, actor_name_str) \ - static_cast(i_this); \ - "Create -> " actor_name_str "\n" +#define fopAcM_RegisterCreate(i_this, actor_name_str) \ + ("Create -> " actor_name_str "\n") class J3DModelData; // placeholder class JKRHeap; @@ -548,10 +545,6 @@ fpc_ProcID fopAcM_create(s16 i_procName, u16 i_setId, u32 i_parameters, const cX fpc_ProcID fopAcM_create(s16 i_procName, u32 i_parameters, const cXyz* i_pos, int i_roomNo, const csXyz* i_angle, const cXyz* i_scale, s8 i_argument); -inline fpc_ProcID fopAcM_create(s16 i_procName, createFunc i_createFunc, void* params) { - return fpcM_Create(i_procName, i_createFunc, params); -} - inline fpc_ProcID fopAcM_Create(s16 i_procName, createFunc i_createFunc, void* params) { return fpcM_Create(i_procName, i_createFunc,params); } diff --git a/include/f_op/f_op_view.h b/include/f_op/f_op_view.h index e9a95de8ee..07971a7642 100644 --- a/include/f_op/f_op_view.h +++ b/include/f_op/f_op_view.h @@ -2,7 +2,7 @@ #define F_F_OP_VIEW_H_ #include "SSystem/SComponent/c_xyz.h" -#include "dolphin/mtx.h" +#include #include "f_pc/f_pc_leaf.h" struct view_process_profile_definition { diff --git a/include/f_pc/f_pc_create_iter.h b/include/f_pc/f_pc_create_iter.h index 73b68c64f7..509a0fe1c0 100644 --- a/include/f_pc/f_pc_create_iter.h +++ b/include/f_pc/f_pc_create_iter.h @@ -2,7 +2,7 @@ #ifndef F_PC_CREATE_ITER_H_ #define F_PC_CREATE_ITER_H_ -#include "dolphin/types.h" +#include typedef struct create_tag create_tag; diff --git a/include/f_pc/f_pc_deletor.h b/include/f_pc/f_pc_deletor.h index 4470217e3b..9f4cbeb014 100644 --- a/include/f_pc/f_pc_deletor.h +++ b/include/f_pc/f_pc_deletor.h @@ -2,7 +2,7 @@ #ifndef F_PC_DELETOR_H_ #define F_PC_DELETOR_H_ -#include "dolphin/types.h" +#include typedef struct base_process_class base_process_class; diff --git a/include/f_pc/f_pc_draw.h b/include/f_pc/f_pc_draw.h index 447d3926de..dc971c8c27 100644 --- a/include/f_pc/f_pc_draw.h +++ b/include/f_pc/f_pc_draw.h @@ -1,7 +1,7 @@ #ifndef F_PC_DRAW_H_ #define F_PC_DRAW_H_ -#include "dolphin/types.h" +#include typedef struct base_process_class base_process_class; diff --git a/include/f_pc/f_pc_draw_priority.h b/include/f_pc/f_pc_draw_priority.h index e6a48f5638..b34a810f70 100644 --- a/include/f_pc/f_pc_draw_priority.h +++ b/include/f_pc/f_pc_draw_priority.h @@ -2,7 +2,7 @@ #ifndef F_PC_DRAW_PRIORITY_H_ #define F_PC_DRAW_PRIORITY_H_ -#include "dolphin/types.h" +#include typedef struct draw_priority_class { s16 priority; diff --git a/include/f_pc/f_pc_layer_iter.h b/include/f_pc/f_pc_layer_iter.h index f5554b6e57..35e16fd8fa 100644 --- a/include/f_pc/f_pc_layer_iter.h +++ b/include/f_pc/f_pc_layer_iter.h @@ -1,7 +1,7 @@ #ifndef F_PC_LAYER_ITER_H_ #define F_PC_LAYER_ITER_H_ -#include "dolphin/types.h" +#include typedef struct layer_class layer_class; diff --git a/include/f_pc/f_pc_load.h b/include/f_pc/f_pc_load.h index dc5137cd3d..b71a767982 100644 --- a/include/f_pc/f_pc_load.h +++ b/include/f_pc/f_pc_load.h @@ -2,7 +2,7 @@ #ifndef F_PC_LOAD_H_ #define F_PC_LOAD_H_ -#include "dolphin/types.h" +#include BOOL fpcLd_Use(s16 i_procName); BOOL fpcLd_IsLoaded(s16 i_procName); diff --git a/include/f_pc/f_pc_method.h b/include/f_pc/f_pc_method.h index e10b756a59..b87aa81e15 100644 --- a/include/f_pc/f_pc_method.h +++ b/include/f_pc/f_pc_method.h @@ -1,7 +1,7 @@ #ifndef F_PC_METHOD_H_ #define F_PC_METHOD_H_ -#include "dolphin/types.h" +#include typedef int (*process_method_func)(void*); diff --git a/include/f_pc/f_pc_method_iter.h b/include/f_pc/f_pc_method_iter.h index c858382546..05c1de4402 100644 --- a/include/f_pc/f_pc_method_iter.h +++ b/include/f_pc/f_pc_method_iter.h @@ -2,7 +2,7 @@ #ifndef F_PC_METHOD_ITER_H_ #define F_PC_METHOD_ITER_H_ -#include "dolphin/types.h" +#include typedef struct node_list_class node_list_class; diff --git a/include/f_pc/f_pc_pause.h b/include/f_pc/f_pc_pause.h index 557734f923..0bc14c72b3 100644 --- a/include/f_pc/f_pc_pause.h +++ b/include/f_pc/f_pc_pause.h @@ -1,7 +1,7 @@ #ifndef F_PC_PAUSE_ #define F_PC_PAUSE_ -#include "dolphin/types.h" +#include int fpcPause_IsEnable(void* pProc, u8 expected); int fpcPause_Enable(void* pProc, u8 pauseMask); diff --git a/include/f_pc/f_pc_profile.h b/include/f_pc/f_pc_profile.h index 399e11460f..8bc40fadc7 100644 --- a/include/f_pc/f_pc_profile.h +++ b/include/f_pc/f_pc_profile.h @@ -2,7 +2,7 @@ #ifndef F_PC_PROFILE_H_ #define F_PC_PROFILE_H_ -#include "dolphin/types.h" +#include typedef struct nodedraw_method_class nodedraw_method_class; typedef struct leafdraw_method_class leafdraw_method_class; diff --git a/include/m_Do/m_Do_Reset.h b/include/m_Do/m_Do_Reset.h index 76272c3774..5396a1510d 100644 --- a/include/m_Do/m_Do_Reset.h +++ b/include/m_Do/m_Do_Reset.h @@ -1,7 +1,7 @@ #ifndef M_DO_M_DO_RESET_H #define M_DO_M_DO_RESET_H -#include "dolphin/types.h" +#include void mDoRst_reset(int, u32, int); void mDoRst_resetCallBack(int, void*); diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index e558bd7b98..7c456b0cfe 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -23,16 +23,16 @@ public: #endif static void onInitFlag() { mInitFlag = true; } - static bool isInitFlag() { return mInitFlag; } - static bool isResetFlag() { return mResetFlag; } + static u8 isInitFlag() { return mInitFlag; } + static u8 isResetFlag() { return mResetFlag; } static void onResetFlag() { mResetFlag = true; } static void offResetFlag() { mResetFlag = false; } static bool isBgmSet() { return mBgmSet; } static void onBgmSet() { mBgmSet = true; } static void offBgmSet() { mBgmSet = false; } - static bool mInitFlag; - static bool mResetFlag; + static u8 mInitFlag; + static u8 mResetFlag; static bool mBgmSet; }; diff --git a/include/m_Do/m_Do_dvd_thread.h b/include/m_Do/m_Do_dvd_thread.h index cbacaa9437..ad053bd051 100644 --- a/include/m_Do/m_Do_dvd_thread.h +++ b/include/m_Do/m_Do_dvd_thread.h @@ -9,6 +9,7 @@ #define mDoDvd_MOUNT_DIRECTION_HEAD 0 #define mDoDvd_MOUNT_DIRECTION_TAIL 1 +class JKRAramArchive; class JKRHeap; class JKRMemArchive; @@ -26,23 +27,6 @@ public: virtual s32 execute() = 0; }; // Size = 0x14 -class mDoDvdThd_toMainRam_c : public mDoDvdThd_command_c { -public: - mDoDvdThd_toMainRam_c(u8); - static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*); - virtual ~mDoDvdThd_toMainRam_c(); - virtual s32 execute(); - - void* getMemAddress() const { return mData; } - -private: - /* 0x14 */ u8 mMountDirection; - /* 0x18 */ s32 mEntryNum; - /* 0x1C */ void* mData; - /* 0x20 */ s32 mDataSize; - /* 0x24 */ JKRHeap* mHeap; -}; // Size = 0x28 - class mDoDvdThd_param_c { public: mDoDvdThd_param_c(); @@ -60,6 +44,46 @@ private: /* 0x30 */ OSMutex mMutext; }; // Size = 0x48 +class mDoDvdThd_callback_c : public mDoDvdThd_command_c { +public: + virtual ~mDoDvdThd_callback_c(); + mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*); + static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*); + virtual s32 execute(); + +private: + /* 0x14 */ mDoDvdThd_callback_func mFunction; + /* 0x18 */ void* mData; + /* 0x1C */ void* mResult; +}; + +class mDoDvdThd_mountArchive_c : public mDoDvdThd_command_c { +public: + virtual ~mDoDvdThd_mountArchive_c(); + mDoDvdThd_mountArchive_c(u8); + static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*); + virtual s32 execute(); + + JKRMemArchive* getArchive() const { return mArchive; } + JKRHeap* getHeap() const { return mHeap; } + +private: + /* 0x14 */ u8 mMountDirection; + /* 0x18 */ s32 mEntryNumber; + /* 0x1C */ JKRMemArchive* mArchive; + /* 0x20 */ JKRHeap* mHeap; +}; // Size = 0x24 + +class mDoDvdThd_mountAramArchive_c : public mDoDvdThd_command_c { +public: + virtual ~mDoDvdThd_mountAramArchive_c(); + virtual s32 execute(); + + /* 0x14 */ u8 mMountDirection; + /* 0x18 */ s32 mEntryNum; + /* 0x1C */ JKRAramArchive* mArchive; +}; + class mDoDvdThd_mountXArchive_c : public mDoDvdThd_command_c { public: virtual ~mDoDvdThd_mountXArchive_c(); @@ -78,35 +102,31 @@ private: /* 0x24 */ JKRHeap* mHeap; }; // Size = 0x28 -class mDoDvdThd_mountArchive_c : public mDoDvdThd_command_c { -public: - virtual ~mDoDvdThd_mountArchive_c(); - mDoDvdThd_mountArchive_c(u8); - static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*); +class mDoDvdThd_getResource_c : public mDoDvdThd_command_c { + virtual ~mDoDvdThd_getResource_c(); virtual s32 execute(); - JKRMemArchive* getArchive() const { return mArchive; } - JKRHeap* getHeap() const { return mHeap; } + /* 0x14 */ void* mResource; + /* 0x18 */ JKRArchive* mArchive; + /* 0x1C */ u16 mResourceId; +}; + +class mDoDvdThd_toMainRam_c : public mDoDvdThd_command_c { +public: + mDoDvdThd_toMainRam_c(u8); + static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*); + virtual ~mDoDvdThd_toMainRam_c(); + virtual s32 execute(); + + void* getMemAddress() const { return mData; } private: /* 0x14 */ u8 mMountDirection; - /* 0x18 */ s32 mEntryNumber; - /* 0x1C */ JKRMemArchive* mArchive; - /* 0x20 */ JKRHeap* mHeap; -}; // Size = 0x24 - -class mDoDvdThd_callback_c : public mDoDvdThd_command_c { -public: - virtual ~mDoDvdThd_callback_c(); - mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*); - static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*); - virtual s32 execute(); - -private: - /* 0x14 */ mDoDvdThd_callback_func mFunction; - /* 0x18 */ void* mData; - /* 0x1C */ void* mResult; -}; + /* 0x18 */ s32 mEntryNum; + /* 0x1C */ void* mData; + /* 0x20 */ s32 mDataSize; + /* 0x24 */ JKRHeap* mHeap; +}; // Size = 0x28 struct mDoDvdThdStack { u8 stack[4096]; @@ -127,4 +147,27 @@ struct mDoDvdThd { static u8 Report_DVDRead; }; +namespace mDoDvdHack { + typedef struct FSTEntry { + /* 0x00 */ uint isDirAndStringOff; + /* 0x04 */ uint parentOrPosition; + /* 0x08 */ uint nextEntryOrLength; + } FSTEntry; + + extern OSBootInfo* BootInfo; + extern FSTEntry* FstStart; + extern const char* FstStringStart; + extern u32 MaxEntryNum; + + void __DVDFSInit(); + const char* EntryToName(s32 entry); + const char* ConvertEntrynumToName(s32 entry); + + class Manager { + public: + Manager() { __DVDFSInit(); } + static Manager sManager; + }; +} + #endif /* M_DO_M_DO_DVD_THREAD_H */ diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index e03eb6e1ca..35e81f0059 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -297,6 +297,8 @@ struct mDoExt_MtxCalcAnmBlendTbl mDoExt_MtxCalcAnmBlendTbl(int num, mDoExt_AnmRatioPack* anmRatio) { mNum = num; mAnmRatio = anmRatio; + + f32 var_f31 = 0.0f; for (int i = 0; i < mNum; i++) { if (!mAnmRatio[i].getAnmTransform()) { mAnmRatio[i].setRatio(0.0f); @@ -597,7 +599,7 @@ private: /* 0x38 */ mDoExt_3Dline_c* mpLines; }; -class mDoExt_3DlineMat2_c : public mDoExt_3DlineMat_c { +class mDoExt_3DlineMat2_c : public mDoExt_3DlineMat1_c { public: int getMaterialID() { return 2; } void setMaterial(); diff --git a/include/m_Do/m_Do_ext2.h b/include/m_Do/m_Do_ext2.h index f6e029a0c0..2a38861509 100644 --- a/include/m_Do/m_Do_ext2.h +++ b/include/m_Do/m_Do_ext2.h @@ -7,24 +7,26 @@ class FixedMemoryCheck { public: FixedMemoryCheck(u32*, u32, JKRHeap*); - void alloc(); - void save(); - void check(); - void diff(); + BOOL alloc(); + BOOL save(); + BOOL check(); + BOOL diff(); static FixedMemoryCheck* easyCreate(void* param_1, s32 param_2) { return easyCreate(param_1, u32(param_2)); } static FixedMemoryCheck* easyCreate(void*, u32); - static void checkAll(); - static void diffAll(); - static void saveAll(); + static BOOL checkAll(); + static BOOL diffAll(); + static BOOL saveAll(); - /* 0x00 */ u32* field_0x00; - /* 0x04 */ u32 field_0x04; - /* 0x08 */ u32* field_0x08; + static FixedMemoryCheck* sFirst; + + /* 0x00 */ u32* mNowCode; + /* 0x04 */ u32 mSize; + /* 0x08 */ u32* mSaveCode; /* 0x0C */ JKRHeap* mpHeap; /* 0x10 */ int field_0x10; - /* 0x14 */ u8 field_0x14; - /* 0x18 */ FixedMemoryCheck* field_0x18; + /* 0x14 */ bool field_0x14; + /* 0x18 */ FixedMemoryCheck* mNext; }; #endif diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 01085fb9a0..aa8e3c7eca 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -91,7 +91,7 @@ inline void cMtx_multVec(const Mtx mtx, const Vec* src, Vec* dst) { mDoMtx_multVec(mtx, src, dst); } -inline void cMtx_multVecSR(Mtx mtx, const Vec* src, Vec* dst) { +inline void cMtx_multVecSR(const Mtx mtx, const Vec* src, Vec* dst) { mDoMtx_multVecSR(mtx, src, dst); } diff --git a/include/revolution/base/PPCArch.h b/include/revolution/base/PPCArch.h index cd25faae2d..5a0a21364e 100644 --- a/include/revolution/base/PPCArch.h +++ b/include/revolution/base/PPCArch.h @@ -1,7 +1,7 @@ #ifndef _REVOLUTION_PPCARCH #define _REVOLUTION_PPCARCH -#include "revolution/types.h" +#include #ifdef __cplusplus extern "C" { diff --git a/include/revolution/dvd.h b/include/revolution/dvd.h index 967390d498..06b7ecaece 100644 --- a/include/revolution/dvd.h +++ b/include/revolution/dvd.h @@ -247,6 +247,7 @@ s32 DVDCancel(DVDCommandBlock* block); int DVDCancelAllAsync(DVDCBCallback callback); s32 DVDCancelAll(void); DVDDiskID* DVDGetCurrentDiskID(void); +BOOL DVDCheckDiskAsync(DVDCommandBlock* block, DVDCBCallback callback); BOOL DVDCheckDisk(void); // DVD FATAL diff --git a/include/revolution/os/OSHardware.h b/include/revolution/os/OSHardware.h index aa4a651f70..0217f369e8 100644 --- a/include/revolution/os/OSHardware.h +++ b/include/revolution/os/OSHardware.h @@ -8,11 +8,11 @@ #ifndef _RVL_SDK_OS_HARDWARE_H #define _RVL_SDK_OS_HARDWARE_H -#include "revolution/dvd.h" -#include "revolution/os.h" -#include "revolution/os/OSContext.h" -#include "revolution/os/OSThread.h" -#include "revolution/types.h" +#include +#include +#include +#include +#include #ifdef __cplusplus extern "C" { diff --git a/include/revolution/os/OSReset.h b/include/revolution/os/OSReset.h index 5ac53552bb..9a74fe7299 100644 --- a/include/revolution/os/OSReset.h +++ b/include/revolution/os/OSReset.h @@ -28,6 +28,8 @@ struct OSShutdownFunctionInfo { void OSRegisterShutdownFunction(OSShutdownFunctionInfo* info); void OSUnregisterShutdownFunction(OSShutdownFunctionInfo* info); +void OSShutdownSystem(); +void OSRestart(u32 resetCode); void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu); u32 OSGetResetCode(); u32 OSSetBootDol(u32 dolOffset); diff --git a/src/JSystem/J2DGraph/J2DAnimation.cpp b/src/JSystem/J2DGraph/J2DAnimation.cpp index 5ca534a3a1..bf19ea1546 100644 --- a/src/JSystem/J2DGraph/J2DAnimation.cpp +++ b/src/JSystem/J2DGraph/J2DAnimation.cpp @@ -5,7 +5,7 @@ #include "JSystem/J3DGraphBase/J3DTexture.h" #include "JSystem/JUtility/JUTPalette.h" #include "JSystem/JUtility/JUTResource.h" -#include "dolphin/os.h" +#include template f32 J2DGetKeyFrameInterpolation(f32 param_0, J3DAnmKeyTableBase* param_1, T* param_2) { diff --git a/src/JSystem/J2DGraph/J2DGrafContext.cpp b/src/JSystem/J2DGraph/J2DGrafContext.cpp index 3f920bc407..9f676cd7e5 100644 --- a/src/JSystem/J2DGraph/J2DGrafContext.cpp +++ b/src/JSystem/J2DGraph/J2DGrafContext.cpp @@ -1,7 +1,7 @@ #include "JSystem/JSystem.h" // IWYU pragma: keep #include "JSystem/J2DGraph/J2DGrafContext.h" -#include "dolphin/gx.h" +#include J2DGrafContext::J2DGrafContext(f32 x, f32 y, f32 width, f32 height) : mBounds(x, y, x + width, y + height), mScissorBounds(x, y, x + width, y + height) { diff --git a/src/JSystem/J2DGraph/J2DMatBlock.cpp b/src/JSystem/J2DGraph/J2DMatBlock.cpp index f8f530924a..9bb4f87572 100644 --- a/src/JSystem/J2DGraph/J2DMatBlock.cpp +++ b/src/JSystem/J2DGraph/J2DMatBlock.cpp @@ -5,7 +5,7 @@ #include "JSystem/JUtility/JUTPalette.h" #include "JSystem/JUtility/JUTResFont.h" #include "JSystem/JUtility/JUTTexture.h" -#include "dolphin/gx.h" +#include void J2DColorBlock::initialize() { for (int i = 0; i < 2; i++) { diff --git a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp index d283a8a9ef..8cabf74f43 100644 --- a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp +++ b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp @@ -6,7 +6,7 @@ #include "JSystem/JSupport/JSupport.h" #include "JSystem/JUtility/JUTResource.h" #include -#include "dolphin/types.h" +#include J2DMaterialFactory::J2DMaterialFactory(J2DMaterialBlock const& param_0) { field_0x0 = param_0.field_0x8; diff --git a/src/JSystem/J2DGraph/J2DOrthoGraph.cpp b/src/JSystem/J2DGraph/J2DOrthoGraph.cpp index 6025c957c9..5cd6778572 100644 --- a/src/JSystem/J2DGraph/J2DOrthoGraph.cpp +++ b/src/JSystem/J2DGraph/J2DOrthoGraph.cpp @@ -1,7 +1,7 @@ #include "JSystem/JSystem.h" // IWYU pragma: keep #include "JSystem/J2DGraph/J2DOrthoGraph.h" -#include "dolphin/gx.h" +#include J2DOrthoGraph::J2DOrthoGraph() : J2DGrafContext(0, 0, 0, 0) { this->setLookat(); diff --git a/src/JSystem/J2DGraph/J2DPicture.cpp b/src/JSystem/J2DGraph/J2DPicture.cpp index 7208db3cd7..efeaca2ebf 100644 --- a/src/JSystem/J2DGraph/J2DPicture.cpp +++ b/src/JSystem/J2DGraph/J2DPicture.cpp @@ -7,7 +7,7 @@ #include "JSystem/JUtility/JUTTexture.h" #include "JSystem/JUtility/JUTResource.h" #include "JSystem/JSupport/JSURandomInputStream.h" -#include "dolphin/gx.h" +#include J2DPicture::J2DPicture() : mPalette(NULL) { for (u32 i = 0; i < 2; i++) { diff --git a/src/JSystem/J2DGraph/J2DPictureEx.cpp b/src/JSystem/J2DGraph/J2DPictureEx.cpp index eafa5619fe..27cc68cc94 100644 --- a/src/JSystem/J2DGraph/J2DPictureEx.cpp +++ b/src/JSystem/J2DGraph/J2DPictureEx.cpp @@ -5,7 +5,7 @@ #include "JSystem/J2DGraph/J2DScreen.h" #include "JSystem/JSupport/JSURandomInputStream.h" #include "JSystem/JUtility/JUTTexture.h" -#include "dolphin/types.h" +#include void J2DPictureEx::initiate(ResTIMG const* param_0, ResTLUT const* param_1) { u32 texGenNum = mMaterial->getTexGenBlock()->getTexGenNum(); diff --git a/src/JSystem/J2DGraph/J2DScreen.cpp b/src/JSystem/J2DGraph/J2DScreen.cpp index 28f90beeaa..37c9aef084 100644 --- a/src/JSystem/J2DGraph/J2DScreen.cpp +++ b/src/JSystem/J2DGraph/J2DScreen.cpp @@ -9,7 +9,7 @@ #include "JSystem/JKernel/JKRArchive.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JSupport/JSUMemoryStream.h" -#include "dolphin/types.h" +#include J2DScreen::J2DScreen() : J2DPane(NULL, true, 'root', JGeometry::TBox2(JGeometry::TVec2(0, 0), JGeometry::TVec2(640, 480))), mColor() { diff --git a/src/JSystem/J2DGraph/J2DTevs.cpp b/src/JSystem/J2DGraph/J2DTevs.cpp index de02858ce1..bc06be7b8b 100644 --- a/src/JSystem/J2DGraph/J2DTevs.cpp +++ b/src/JSystem/J2DGraph/J2DTevs.cpp @@ -9,9 +9,9 @@ #ifdef __MWERKS__ #include #else -#include "dusk/math.h" +#include #endif -#include "dolphin/gx.h" +#include void J2DTexMtx::load(u32 mtxIdx) { GXLoadTexMtxImm(mTexMtx, mtxIdx * 3 + GX_TEXMTX0, (GXTexMtxType)mInfo.mTexMtxType); diff --git a/src/JSystem/J3DGraphAnimator/J3DCluster.cpp b/src/JSystem/J3DGraphAnimator/J3DCluster.cpp index 1bb6a195f2..3f6398fda8 100644 --- a/src/JSystem/J3DGraphAnimator/J3DCluster.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DCluster.cpp @@ -4,7 +4,7 @@ #include "JSystem/J3DGraphAnimator/J3DAnimation.h" #include "JSystem/J3DGraphAnimator/J3DModel.h" #include "JSystem/JMath/JMATrigonometric.h" -#include "dolphin/base/PPCArch.h" +#include J3DDeformData::J3DDeformData() { mClusterNum = 0; diff --git a/src/JSystem/J3DGraphAnimator/J3DModel.cpp b/src/JSystem/J3DGraphAnimator/J3DModel.cpp index 076670c80c..f423f1db2f 100644 --- a/src/JSystem/J3DGraphAnimator/J3DModel.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DModel.cpp @@ -1,8 +1,9 @@ #include "JSystem/JSystem.h" // IWYU pragma: keep -#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" #include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/J3DGraphAnimator/J3DJoint.h" #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" +#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "JSystem/J3DGraphBase/J3DShapeMtx.h" #include "JSystem/J3DGraphBase/J3DSys.h" diff --git a/src/JSystem/J3DGraphAnimator/J3DModelData.cpp b/src/JSystem/J3DGraphAnimator/J3DModelData.cpp index 2cec1f6a4d..606882eb0a 100644 --- a/src/JSystem/J3DGraphAnimator/J3DModelData.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DModelData.cpp @@ -5,9 +5,10 @@ #include "JSystem/JSystem.h" // IWYU pragma: keep #include "JSystem/J3DGraphAnimator/J3DModelData.h" +#include "JSystem/J3DGraphAnimator/J3DJoint.h" #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" -#include "JSystem/J3DGraphBase/J3DMaterial.h" #include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/J3DGraphBase/J3DMaterial.h" void J3DModelData::clear() { mpRawData = 0; diff --git a/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp b/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp index 8add976ec4..daef72afec 100644 --- a/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp +++ b/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp @@ -7,7 +7,7 @@ #include "JSystem/J3DGraphLoader/J3DAnmLoader.h" #include "JSystem/J3DGraphAnimator/J3DAnimation.h" #include "JSystem/JSupport/JSupport.h" -#include "dolphin/os.h" +#include J3DAnmBase* J3DAnmLoaderDataBase::load(const void* i_data, J3DAnmLoaderDataBaseFlag flag) { const JUTDataFileHeader* header = (const JUTDataFileHeader*)i_data; diff --git a/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp b/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp index 03a0e66213..7d868d8730 100644 --- a/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp +++ b/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp @@ -8,7 +8,7 @@ #include "JSystem/J3DGraphAnimator/J3DSkinDeform.h" #include "JSystem/JSupport/JSupport.h" #include "JSystem/JKernel/JKRHeap.h" -#include "dolphin/os.h" +#include #include void* J3DClusterLoaderDataBase::load(const void* i_data) { diff --git a/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp b/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp index d8eb26ae6b..f1ed201fc8 100644 --- a/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp +++ b/src/JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp @@ -8,7 +8,7 @@ #include "JSystem/J3DGraphAnimator/J3DJoint.h" #include "JSystem/J3DGraphAnimator/J3DModelData.h" #include "JSystem/JSupport/JSupport.h" -#include "dolphin/os.h" +#include #include "global.h" u16 J3DModelLoader::countMaterialNum(const void* stream) { diff --git a/src/JSystem/J3DGraphLoader/J3DShapeFactory.cpp b/src/JSystem/J3DGraphLoader/J3DShapeFactory.cpp index d724d7cb8e..a37319a74c 100644 --- a/src/JSystem/J3DGraphLoader/J3DShapeFactory.cpp +++ b/src/JSystem/J3DGraphLoader/J3DShapeFactory.cpp @@ -5,7 +5,7 @@ #include "JSystem/J3DGraphBase/J3DShapeMtx.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JSupport/JSupport.h" -#include "dolphin/os.h" +#include #include "global.h" J3DShapeFactory::J3DShapeFactory(J3DShapeBlock const& block) { diff --git a/src/JSystem/JAudio2/JASAiCtrl.cpp b/src/JSystem/JAudio2/JASAiCtrl.cpp index 662e5e6df4..f4cdfa4d46 100644 --- a/src/JSystem/JAudio2/JASAiCtrl.cpp +++ b/src/JSystem/JAudio2/JASAiCtrl.cpp @@ -14,7 +14,7 @@ #include "JSystem/JAudio2/JASLfo.h" #include "JSystem/JKernel/JKRSolidHeap.h" #include "JSystem/JUtility/JUTAssert.h" -#include "dolphin/ai.h" +#include #include #include diff --git a/src/JSystem/JAudio2/JASAudioReseter.cpp b/src/JSystem/JAudio2/JASAudioReseter.cpp index e1198d6af8..9ef9f57b31 100644 --- a/src/JSystem/JAudio2/JASAudioReseter.cpp +++ b/src/JSystem/JAudio2/JASAudioReseter.cpp @@ -5,7 +5,7 @@ #include "JSystem/JAudio2/JASCriticalSection.h" #include "JSystem/JAudio2/JASDriverIF.h" #include "JSystem/JAudio2/JASDSPChannel.h" -#include "dolphin/types.h" +#include JASAudioReseter::JASAudioReseter() { field_0x0 = 0; diff --git a/src/JSystem/JAudio2/JASAudioThread.cpp b/src/JSystem/JAudio2/JASAudioThread.cpp index 4cf66d5abf..0277f00804 100644 --- a/src/JSystem/JAudio2/JASAudioThread.cpp +++ b/src/JSystem/JAudio2/JASAudioThread.cpp @@ -9,7 +9,7 @@ #include "JSystem/JAudio2/JASProbe.h" #include "JSystem/JAudio2/JASReport.h" #include "JSystem/JKernel/JKRSolidHeap.h" -#include "dolphin/dsp.h" +#include #include JASAudioThread::JASAudioThread(int stackSize, int msgCount, u32 threadPriority) diff --git a/src/JSystem/JAudio2/JASCmdStack.cpp b/src/JSystem/JAudio2/JASCmdStack.cpp index 1a39ab1560..22b5a340e1 100644 --- a/src/JSystem/JAudio2/JASCmdStack.cpp +++ b/src/JSystem/JAudio2/JASCmdStack.cpp @@ -6,7 +6,7 @@ #include "JSystem/JAudio2/JASCmdStack.h" #include "JSystem/JAudio2/JASCriticalSection.h" -#include "dolphin/os.h" +#include JASPortCmd::TPortHead JASPortCmd::sCommandListOnce; diff --git a/src/JSystem/JAudio2/JASHeapCtrl.cpp b/src/JSystem/JAudio2/JASHeapCtrl.cpp index 5e82d25366..ee280261f4 100644 --- a/src/JSystem/JAudio2/JASHeapCtrl.cpp +++ b/src/JSystem/JAudio2/JASHeapCtrl.cpp @@ -6,7 +6,7 @@ #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRSolidHeap.h" #include "JSystem/JUtility/JUTAssert.h" -#include "dolphin/ar.h" +#include JASHeap::JASHeap(JASDisposer* disposer) : mTree(this) { mDisposer = disposer; diff --git a/src/JSystem/JAudio2/JASWaveArcLoader.cpp b/src/JSystem/JAudio2/JASWaveArcLoader.cpp index 37086c0d4e..c2b7400444 100644 --- a/src/JSystem/JAudio2/JASWaveArcLoader.cpp +++ b/src/JSystem/JAudio2/JASWaveArcLoader.cpp @@ -6,7 +6,7 @@ #include "JSystem/JAudio2/JASMutex.h" #include "JSystem/JKernel/JKRDvdAramRipper.h" #include -#include "dolphin/os.h" +#include #include JASHeap* JASWaveArcLoader::sAramHeap; diff --git a/src/JSystem/JAudio2/JAUSectionHeap.cpp b/src/JSystem/JAudio2/JAUSectionHeap.cpp index cf037011fe..ad2b5beb95 100644 --- a/src/JSystem/JAudio2/JAUSectionHeap.cpp +++ b/src/JSystem/JAudio2/JAUSectionHeap.cpp @@ -14,7 +14,7 @@ #include "JSystem/JAudio2/JAUSoundTable.h" #include "JSystem/JAudio2/JAUStreamFileTable.h" #include "JSystem/JKernel/JKRSolidHeap.h" -#include "dolphin/dvd.h" +#include namespace { class TPushCurrentHeap { diff --git a/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp b/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp index 37e0577413..f973cb4779 100644 --- a/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp +++ b/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp @@ -7,7 +7,7 @@ #include "JSystem/JAudio2/JAUSeqDataBlockMgr.h" #include "JSystem/JAudio2/JAUSoundInfo.h" #include "JSystem/JAudio2/JASResArcLoader.h" -#include "dolphin/types.h" +#include JAUSeqDataBlock::JAUSeqDataBlock() : field_0x0(this) {} diff --git a/src/JSystem/JAudio2/osdsp.cpp b/src/JSystem/JAudio2/osdsp.cpp index ff222269ec..f147b6e81b 100644 --- a/src/JSystem/JAudio2/osdsp.cpp +++ b/src/JSystem/JAudio2/osdsp.cpp @@ -2,7 +2,7 @@ #include "JSystem/JAudio2/osdsp.h" #include "JSystem/JAudio2/osdsp_task.h" -#include "dolphin/os.h" +#include #include extern "C" void __DSP_insert_task(DSPTaskInfo*); diff --git a/src/JSystem/JFramework/JFWDisplay.cpp b/src/JSystem/JFramework/JFWDisplay.cpp index 0392ffdb0b..eb40c484e4 100644 --- a/src/JSystem/JFramework/JFWDisplay.cpp +++ b/src/JSystem/JFramework/JFWDisplay.cpp @@ -6,7 +6,7 @@ #include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JUtility/JUTDbPrint.h" #include "JSystem/JUtility/JUTProcBar.h" -#include "dolphin/gx.h" +#include #include #include "global.h" #include diff --git a/src/JSystem/JHostIO/JORServer.cpp b/src/JSystem/JHostIO/JORServer.cpp index 5a55a342c9..f6423ffebd 100644 --- a/src/JSystem/JHostIO/JORServer.cpp +++ b/src/JSystem/JHostIO/JORServer.cpp @@ -32,6 +32,7 @@ JOREventCallbackListNode::~JOREventCallbackListNode() { JORRemove(); } +#if DEBUG void JORReflexible::listen(u32 command, const JOREvent* event) { switch (command) { case JORServer::ECommand_GenObjInfo: @@ -110,6 +111,7 @@ void JORReflexible::listenPropertyEvent(const JORPropertyEvent* pEvent) { return; } } +#endif JORServer* JORServer::instance; @@ -195,9 +197,11 @@ void JORServer::receive(const char* pBuffer, s32 length) { JORNodeEvent* pEvent = (JORNodeEvent*)(pBuffer + stream.getPosition()); stream.skip(4); +#if DEBUG if (stream.isGood()) { reinterpret_cast(obj_addr)->listen(command, pEvent); } +#endif } break; case ECommand_PropertyEvent: { @@ -210,18 +214,21 @@ void JORServer::receive(const char* pBuffer, s32 length) { stream.skip(pEvent->field_0x14); } +#if DEBUG if (stream.isGood()) { reinterpret_cast(obj_addr)->listen(command, pEvent); } +#endif } break; case ECommand_GenObjInfo: { u32 obj_addr; stream.read(obj_addr); - +#if DEBUG if (stream.isGood()) { reinterpret_cast(obj_addr)->listen(command, NULL); } +#endif } break; case ECommand_FIO: diff --git a/src/JSystem/JKernel/JKRAram.cpp b/src/JSystem/JKernel/JKRAram.cpp index 7d1c573f11..ffea3d9af7 100644 --- a/src/JSystem/JKernel/JKRAram.cpp +++ b/src/JSystem/JKernel/JKRAram.cpp @@ -6,7 +6,7 @@ #include "JSystem/JKernel/JKRDecomp.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JUtility/JUTException.h" -#include "dolphin/ar.h" +#include #include #include diff --git a/src/JSystem/JKernel/JKRAramPiece.cpp b/src/JSystem/JKernel/JKRAramPiece.cpp index 7bc83cf0c2..e74cf5d5c7 100644 --- a/src/JSystem/JKernel/JKRAramPiece.cpp +++ b/src/JSystem/JKernel/JKRAramPiece.cpp @@ -4,7 +4,7 @@ #include "JSystem/JKernel/JKRAram.h" #include "JSystem/JKernel/JKRDecomp.h" #include "JSystem/JUtility/JUTException.h" -#include "dolphin/os.h" +#include JKRAMCommand* JKRAramPiece::prepareCommand(int direction, u32 src, u32 dst, u32 length, JKRAramBlock* block, diff --git a/src/JSystem/JKernel/JKRDvdAramRipper.cpp b/src/JSystem/JKernel/JKRDvdAramRipper.cpp index 8d44cc29d8..3ca276e050 100644 --- a/src/JSystem/JKernel/JKRDvdAramRipper.cpp +++ b/src/JSystem/JKernel/JKRDvdAramRipper.cpp @@ -9,7 +9,7 @@ #include "JSystem/JSupport/JSUFileStream.h" #include #include -#include "dolphin/vi.h" +#include #include "global.h" #include diff --git a/src/JSystem/JKernel/JKRDvdRipper.cpp b/src/JSystem/JKernel/JKRDvdRipper.cpp index fc792c50cd..cf84ef9eec 100644 --- a/src/JSystem/JKernel/JKRDvdRipper.cpp +++ b/src/JSystem/JKernel/JKRDvdRipper.cpp @@ -10,7 +10,7 @@ #include "JSystem/JUtility/JUTException.h" #include #include -#include "dolphin/vi.h" +#include #include static int JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*); diff --git a/src/JSystem/JKernel/JKRFile.cpp b/src/JSystem/JKernel/JKRFile.cpp index 91ac9040a9..b267e93235 100644 --- a/src/JSystem/JKernel/JKRFile.cpp +++ b/src/JSystem/JKernel/JKRFile.cpp @@ -1,7 +1,7 @@ #include "JSystem/JSystem.h" // IWYU pragma: keep #include "JSystem/JKernel/JKRFile.h" -#include "dolphin/vi.h" +#include void JKRFile::read(void* data, s32 length, s32 offset) { JUT_ASSERT(32, ( length & 0x1f ) == 0); diff --git a/src/JSystem/JKernel/JKRHeap.cpp b/src/JSystem/JKernel/JKRHeap.cpp index e4337db174..720166455a 100644 --- a/src/JSystem/JKernel/JKRHeap.cpp +++ b/src/JSystem/JKernel/JKRHeap.cpp @@ -95,7 +95,9 @@ JKRHeap::JKRFreeCallback JKRHeap::sFreeCallback; bool JKRHeap::initArena(char** memory, u32* size, int maxHeaps) { void* arenaLo = OSGetArenaLo(); void* arenaHi = OSGetArenaHi(); - OS_REPORT("original arenaLo = %p arenaHi = %p\n", arenaLo, arenaHi); +#if !PLATFORM_GCN + OSReport("original arenaLo = %p arenaHi = %p\n", arenaLo, arenaHi); +#endif if (arenaLo == arenaHi) return false; @@ -123,7 +125,9 @@ bool JKRHeap::initArena(char** memory, u32* size, int maxHeaps) { bool JKRHeap::initArena2(char** memory, u32* size, int maxHeaps) { void* arenaLo = OSGetMEM2ArenaLo(); void* arenaHi = OSGetMEM2ArenaHi(); - OS_REPORT("original arenaLo = %p arenaHi = %p\n", arenaLo, arenaHi); +#if !PLATFORM_GCN + OSReport("original arenaLo = %p arenaHi = %p\n", arenaLo, arenaHi); +#endif if (arenaLo == arenaHi) { return false; } diff --git a/src/JSystem/JKernel/JKRThread.cpp b/src/JSystem/JKernel/JKRThread.cpp index fa38270a2d..918f1012fc 100644 --- a/src/JSystem/JKernel/JKRThread.cpp +++ b/src/JSystem/JKernel/JKRThread.cpp @@ -9,6 +9,8 @@ JSUList JKRThread::sThreadList(0); +void* JKRIdleThread::sThread; + JKRThreadSwitch* JKRThreadSwitch::sManager; u32 JKRThreadSwitch::sTotalCount; @@ -99,6 +101,12 @@ JKRThread* JKRThread::searchThread(OSThread* thread) { return NULL; } +static void dummy1(JKRThread* thread, JKRThread::TLoad* load) { + load->getId(); + load->isValid(); + thread->getLoadInfo(); +} + JKRThreadSwitch::JKRThreadSwitch(JKRHeap* param_0) { mHeap = param_0; OSSetSwitchThreadCallback(JKRThreadSwitch::callback); @@ -123,6 +131,11 @@ JKRThreadSwitch* JKRThreadSwitch::createManager(JKRHeap* heap) { return sManager; } +static void dummy2(JKRThread::TLoad* load) { + load->setValid(false); + load->setId(0); +} + JKRThread* JKRThreadSwitch::enter(JKRThread* thread, int thread_id) { if (!thread) { return NULL; @@ -210,6 +223,10 @@ void JKRThreadSwitch::callback(OSThread* current, OSThread* next) { } } +void dummy3(JKRThreadSwitch* threadSw, JKRThreadName_* name) { + threadSw->draw(name); +} + void JKRThreadSwitch::draw(JKRThreadName_* thread_name_list, JUTConsole* console) { const char* print_0 = " total: switch:%3d time:%d(%df)\n"; const char* print_1 = " -------------------------------------\n"; @@ -263,15 +280,52 @@ void JKRThreadSwitch::draw(JKRThreadName_* thread_name_list, JUTConsole* console } } -void* JKRThread::run() { - return NULL; +static void dummy4(JKRTask* thread, JSULink* link) { + thread->getStack(); + delete link; } -void JKRThreadSwitch::draw(JKRThreadName_* thread_name_list) { - draw(thread_name_list, NULL); +JKRTask::~JKRTask() { + sTaskList.remove(&mTaskLink); } -JKRThreadSwitch::~JKRThreadSwitch() {} +void* JKRTask::run() { + struct TaskMessage { + void (*field_0x0)(int); + int field_0x4; + void* field_0x8; + }; + OSInitFastCast(); + while (true) { + TaskMessage* msg = (TaskMessage*)waitMessageBlock(); + if (msg->field_0x0) { + msg->field_0x0(msg->field_0x4); + check(); + if (field_0x94) { + OSSendMessage(field_0x94, msg->field_0x8, OS_MESSAGE_NOBLOCK); + } + } + msg->field_0x0 = NULL; + } +} + +int JKRTask::check() { + int result = 0; + u8* ptr = (u8*)JKRThread::getStack(); + JUT_ASSERT(1033, *((u32*)ptr) == 0xDEADBABE); + ptr += 4; + result += 4; + while (*ptr++ == 0xDE) { result++; } + return result; +} + +#if !PLATFORM_GCN +static void dummy(JKRIdleThread* thread) { + thread->run(); + delete thread; + thread->destroy(); +} +#endif #pragma push #pragma force_active on diff --git a/src/JSystem/JParticle/JPABaseShape.cpp b/src/JSystem/JParticle/JPABaseShape.cpp index 94523299c0..66b299af58 100644 --- a/src/JSystem/JParticle/JPABaseShape.cpp +++ b/src/JSystem/JParticle/JPABaseShape.cpp @@ -6,8 +6,8 @@ #include "JSystem/JParticle/JPAEmitter.h" #include "JSystem/JParticle/JPAResourceManager.h" #include "JSystem/JMath/JMATrigonometric.h" -#include "dolphin/mtx.h" -#include "dolphin/gx.h" +#include +#include void JPASetPointSize(JPAEmitterWorkData* work) { GXSetPointSize((u8)(25.0f * work->mGlobalPtclScl.x), GX_TO_ONE); diff --git a/src/JSystem/JParticle/JPAChildShape.cpp b/src/JSystem/JParticle/JPAChildShape.cpp index 906c1f1c1b..4c2a0403b5 100644 --- a/src/JSystem/JParticle/JPAChildShape.cpp +++ b/src/JSystem/JParticle/JPAChildShape.cpp @@ -3,8 +3,8 @@ #include "JSystem/JParticle/JPAChildShape.h" #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAEmitter.h" -#include "dolphin/gx.h" -#include "dolphin/os.h" +#include +#include void JPARegistChildPrmEnv(JPAEmitterWorkData* work) { JPAChildShape* csp = work->mpRes->getCsp(); diff --git a/src/JSystem/JParticle/JPAEmitter.cpp b/src/JSystem/JParticle/JPAEmitter.cpp index 1972c4f4a1..95ab4147dd 100644 --- a/src/JSystem/JParticle/JPAEmitter.cpp +++ b/src/JSystem/JParticle/JPAEmitter.cpp @@ -5,7 +5,7 @@ #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAResourceManager.h" #include "JSystem/JParticle/JPABaseShape.h" -#include "dolphin/types.h" +#include JPAEmitterCallBack::~JPAEmitterCallBack() { } diff --git a/src/JSystem/JParticle/JPAEmitterManager.cpp b/src/JSystem/JParticle/JPAEmitterManager.cpp index 51e95a46ad..40f8411134 100644 --- a/src/JSystem/JParticle/JPAEmitterManager.cpp +++ b/src/JSystem/JParticle/JPAEmitterManager.cpp @@ -6,7 +6,7 @@ #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAResourceManager.h" #include "JSystem/JUtility/JUTAssert.h" -#include "dolphin/gx.h" +#include JPAEmitterManager::JPAEmitterManager(u32 i_ptclNum, u32 i_emtrNum, JKRHeap* pHeap, u8 i_gidMax, u8 i_ridMax) { diff --git a/src/JSystem/JParticle/JPAExTexShape.cpp b/src/JSystem/JParticle/JPAExTexShape.cpp index 79e3c5a339..81e14ef556 100644 --- a/src/JSystem/JParticle/JPAExTexShape.cpp +++ b/src/JSystem/JParticle/JPAExTexShape.cpp @@ -3,7 +3,7 @@ #include "JSystem/JParticle/JPAExTexShape.h" #include "JSystem/JParticle/JPAResourceManager.h" #include "JSystem/JParticle/JPAEmitter.h" -#include "dolphin/gx.h" +#include void JPALoadExTex(JPAEmitterWorkData* work) { JPAExTexShape* ets = work->mpRes->getEts(); diff --git a/src/JSystem/JParticle/JPAExtraShape.cpp b/src/JSystem/JParticle/JPAExtraShape.cpp index 49eed254cb..09c6b45bb0 100644 --- a/src/JSystem/JParticle/JPAExtraShape.cpp +++ b/src/JSystem/JParticle/JPAExtraShape.cpp @@ -4,7 +4,7 @@ #include "JSystem/JMath/JMATrigonometric.h" #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAEmitter.h" -#include "dolphin/os.h" +#include void JPACalcScaleX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { JPAExtraShape* esp = work->mpRes->getEsp(); diff --git a/src/JSystem/JParticle/JPAResource.cpp b/src/JSystem/JParticle/JPAResource.cpp index 925726ccae..b3351be574 100644 --- a/src/JSystem/JParticle/JPAResource.cpp +++ b/src/JSystem/JParticle/JPAResource.cpp @@ -11,7 +11,7 @@ #include "JSystem/JParticle/JPAKeyBlock.h" #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAResourceManager.h" -#include "dolphin/gx.h" +#include #include "global.h" JPAResource::JPAResource() { diff --git a/src/JSystem/JStudio/JStudio/stb-data-parse.cpp b/src/JSystem/JStudio/JStudio/stb-data-parse.cpp index e9ab233d33..ec263a18e5 100644 --- a/src/JSystem/JStudio/JStudio/stb-data-parse.cpp +++ b/src/JSystem/JStudio/JStudio/stb-data-parse.cpp @@ -2,7 +2,7 @@ #include "JSystem/JStudio/JStudio/stb-data-parse.h" #include "JSystem/JUtility/JUTAssert.h" -#include "dolphin/os.h" +#include #include namespace JStudio { diff --git a/src/JSystem/JStudio/JStudioPreviewer/control.cpp b/src/JSystem/JStudio/JStudioPreviewer/control.cpp index e69de29bb2..e04e7e50eb 100644 --- a/src/JSystem/JStudio/JStudioPreviewer/control.cpp +++ b/src/JSystem/JStudio/JStudioPreviewer/control.cpp @@ -0,0 +1,8 @@ +#include "JSystem/JSystem.h" // IWYU pragma: keep + +#include "JSystem/JStudio/JStudio_JPreviewer/control.h" + + +JStudioPreviewer::TControl::TControl() : JOREventCallbackListNode(0xc0000000,0xc00000ff,false) { + +} diff --git a/src/JSystem/JUtility/JUTCacheFont.cpp b/src/JSystem/JUtility/JUTCacheFont.cpp index 3292adc78b..a4f22ab3d6 100644 --- a/src/JSystem/JUtility/JUTCacheFont.cpp +++ b/src/JSystem/JUtility/JUTCacheFont.cpp @@ -5,7 +5,7 @@ #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JKernel/JKRAram.h" -#include "dolphin/gx.h" +#include #include JUTCacheFont::JUTCacheFont(ResFONT const* p_fontRes, u32 cacheSize, JKRHeap* p_heap) { diff --git a/src/JSystem/JUtility/JUTDbPrint.cpp b/src/JSystem/JUtility/JUTDbPrint.cpp index 469db1ad3a..5fec646ae6 100644 --- a/src/JSystem/JUtility/JUTDbPrint.cpp +++ b/src/JSystem/JUtility/JUTDbPrint.cpp @@ -9,6 +9,15 @@ #include #endif +inline void enter_(int param_0, int param_1, int param_2, const char* fmt, va_list args) { + char buf[0x100]; + int ret = vsnprintf(buf, 0x100, fmt, args); + if (ret < 0) { + return; + } + JUTDbPrint::getManager()->enter(param_0, param_1, param_2, buf, ret < 0x100 ? ret : 0xFF); +} + JUTDbPrint::JUTDbPrint(JUTFont* pFont, JKRHeap* pHeap) { mFont = pFont; mFirst = NULL; @@ -53,6 +62,11 @@ void JUTDbPrint::enter(int param_0, int param_1, int param_2, const char* param_ } } +static void dummy() { + va_list args; + enter_(0, 0, 0, 0, args); +} + void JUTDbPrint::flush() { this->flush(0, 0, JUTVideo::getManager()->getFbWidth(), JUTVideo::getManager()->getEfbHeight()); } @@ -92,27 +106,13 @@ void JUTDbPrint::drawString(int posX, int posY, int len, const u8* str) { void JUTReport(int param_0, int param_1, char const* fmt, ...) { va_list args; va_start(args, fmt); - - char buf[0x100]; - int ret = vsnprintf(buf, 0x100, fmt, args); + enter_(param_0, param_1, 1, fmt, args); va_end(args); - - if (ret < 0) { - return; - } - JUTDbPrint::sDebugPrint->enter(param_0, param_1, 1, buf, ret < 0x100 ? ret : 0xFF); } void JUTReport(int param_0, int param_1, int param_2, char const* fmt, ...) { va_list args; va_start(args, fmt); - - char buf[0x100]; - int ret = vsnprintf(buf, 0x100, fmt, args); + enter_(param_0, param_1, param_2, fmt, args); va_end(args); - - if (ret < 0) { - return; - } - JUTDbPrint::sDebugPrint->enter(param_0, param_1, param_2, buf, ret < 0x100 ? ret : 0xFF); } diff --git a/src/JSystem/JUtility/JUTException.cpp b/src/JSystem/JUtility/JUTException.cpp index 19c3fafe0e..efd5157910 100644 --- a/src/JSystem/JUtility/JUTException.cpp +++ b/src/JSystem/JUtility/JUTException.cpp @@ -10,8 +10,21 @@ #include #include +struct CallbackObject { + /* 0x00 */ JUTExceptionUserCallback callback; + /* 0x04 */ u16 error; + /* 0x08 */ OSContext* context; + /* 0x0C */ int param_3; + /* 0x10 */ int param_4; +}; + OSMessageQueue JUTException::sMessageQueue = {0}; +STATIC_ASSERT(sizeof(CallbackObject) == 0x14); +static CallbackObject exCallbackObject; + +JSUList JUTException::sMapFileList(false); + static OSTime c3bcnt[4] = {0, 0, 0, 0}; const char* JUTException::sCpuExpName[17] = { @@ -38,10 +51,16 @@ JUTException* JUTException::sErrorManager; JUTExceptionUserCallback JUTException::sPreUserCallback; - JUTExceptionUserCallback JUTException::sPostUserCallback; +JUTExceptionUserCallback JUTException::sPostUserCallback; + +#if PLATFORM_GCN +const int stack_size = 0x1C00; +#else +const int stack_size = 0x4000; +#endif JUTException::JUTException(JUTDirectPrint* directPrint) - : JKRThread(0x1C00, 0x10, 0), mDirectPrint(directPrint) { + : JKRThread(stack_size, 0x10, 0), mDirectPrint(directPrint) { OSSetErrorHandler(__OS_EXCEPTION_DSI, (OSErrorHandler)errorHandler); OSSetErrorHandler(__OS_EXCEPTION_ISI, (OSErrorHandler)errorHandler); OSSetErrorHandler(__OS_EXCEPTION_PROGRAM, (OSErrorHandler)errorHandler); @@ -74,16 +93,6 @@ JUTException* JUTException::create(JUTDirectPrint* directPrint) { OSMessage JUTException::sMessageBuffer[1] = {0}; -struct CallbackObject { - /* 0x00 */ JUTExceptionUserCallback callback; - /* 0x04 */ u16 error; - /* 0x06 */ u16 pad_0x06; - /* 0x08 */ OSContext* context; - /* 0x0C */ int param_3; - /* 0x10 */ int param_4; - /* 0x14 */ -}; - void* JUTException::run() { u32 msr = PPCMfmsr(); msr &= ~0x0900; @@ -118,9 +127,6 @@ void* JUTException::run() { } } -STATIC_ASSERT(sizeof(CallbackObject) == 0x14); -static CallbackObject exCallbackObject; - void* JUTException::sConsoleBuffer; u32 JUTException::sConsoleBufferSize; @@ -154,8 +160,6 @@ void JUTException::errorHandler(OSError error, OSContext* context, u32 param_3, OSYieldThread(); } -JSUList JUTException::sMapFileList(false); - void JUTException::panic_f_va(char const* file, int line, char const* format, va_list args) { char buffer[256]; vsnprintf(buffer, sizeof(buffer) - 1, format, args); @@ -525,12 +529,8 @@ bool JUTException::isEnablePad() const { bool JUTException::readPad(u32* out_trigger, u32* out_button) { bool result = false; OSTime start_time = OSGetTime(); - OSTime ms; do { - OSTime end_time = OSGetTime(); - OSTime ticks = end_time - start_time; - ms = ticks / (OS_TIMER_CLOCK / 1000); - } while (ms < 0x32); + } while (OSTicksToMilliseconds(OSGetTime() - start_time) < 0x32); if (mGamePad == (JUTGamePad*)0xffffffff) { JUTGamePad gamePad0(JUTGamePad::EPort1); @@ -750,24 +750,19 @@ void JUTException::printContext(OSError error, OSContext* context, u32 dsisr, u3 } void JUTException::waitTime(s32 timeout_ms) { - if (timeout_ms) { - OSTime start_time = OSGetTime(); - OSTime ms; - do { - OSTime end_time = OSGetTime(); - OSTime ticks = end_time - start_time; - ms = ticks / (OS_TIMER_CLOCK / 1000); - } while (ms < timeout_ms); + if (!timeout_ms) { + return; } + + OSTime start_time = OSGetTime(); + do { + } while (OSTicksToMilliseconds(OSGetTime() - start_time) < timeout_ms); } void JUTException::createFB() { _GXRenderModeObj* renderMode = &GXNtsc480Int; void* end = (void*)OSGetArenaHi(); - u16 width = ALIGN_NEXT(renderMode->fbWidth, 16); - u16 height = renderMode->xfbHeight; - u32 pixel_count = width * height; - u32 size = pixel_count * 2; + u32 size = (u16(ALIGN_NEXT(u16(renderMode->fbWidth), 16)) * renderMode->xfbHeight) * 2; void* begin = (void*)ALIGN_PREV((uintptr_t)end - size, 32); void* object = (void*)ALIGN_PREV((s32)begin - sizeof(JUTExternalFB), 32); @@ -807,7 +802,7 @@ void JUTException::appendMapFile(char const* path) { } for (JSUListIterator iterator = sMapFileList.getFirst(); iterator != sMapFileList.getEnd(); iterator++) { - if (strcmp(path, iterator->mPath) == 0) { + if (strcmp(path, iterator.getObject()->mPath) == 0) { return; } } diff --git a/src/JSystem/JUtility/JUTGamePad.cpp b/src/JSystem/JUtility/JUTGamePad.cpp index 1918268afc..e633ebb0cf 100644 --- a/src/JSystem/JUtility/JUTGamePad.cpp +++ b/src/JSystem/JUtility/JUTGamePad.cpp @@ -50,6 +50,8 @@ void JUTGamePad::initList() { u32 JUTGamePad::sSuppressPadReset; +u8 data_8074CFA4_debug; + s32 JUTGamePad::sAnalogMode; BOOL JUTGamePad::init() { @@ -80,7 +82,7 @@ u32 JUTGamePad::sRumbleSupported; u32 JUTGamePad::read() { sRumbleSupported = PADRead(mPadStatus); - switch (getClampMode()) { + switch (sClampMode) { case EClampStick: PADClamp(mPadStatus); break; @@ -89,17 +91,18 @@ u32 JUTGamePad::read() { break; } - u32 reset_mask = 0; u32 bittest; + u32 reset_mask = 0; for (int i = 0; i < 4; i++) { bittest = PAD_CHAN0_BIT >> i; if (mPadStatus[i].err == 0) { + PADStatus* pad_status = &mPadStatus[i]; u32 stick_status; - stick_status = mPadMStick[i].update(mPadStatus[i].stickX, mPadStatus[i].stickY, sStickMode, EMainStick, mPadButton[i].mButton) << 0x18; - stick_status |= (mPadSStick[i].update(mPadStatus[i].substickX, mPadStatus[i].substickY, sStickMode, ESubStick, mPadButton[i].mButton) << 0x10); + stick_status = mPadMStick[i].update(pad_status->stickX, pad_status->stickY, sStickMode, EMainStick, mPadButton[i].mButton) << 0x18; + stick_status |= (mPadSStick[i].update(pad_status->substickX, pad_status->substickY, sStickMode, ESubStick, mPadButton[i].mButton) << 0x10); - mPadButton[i].update(&mPadStatus[i], stick_status); + mPadButton[i].update(pad_status, stick_status); } else if (mPadStatus[i].err == -1) { mPadMStick[i].update(0, 0, sStickMode, EMainStick, 0); mPadSStick[i].update(0, 0, sStickMode, ESubStick, 0); @@ -109,6 +112,9 @@ u32 JUTGamePad::read() { reset_mask |= bittest; } } else { + if (data_8074CFA4_debug) { + OS_REPORT("game pad read error (%d)\n", mPadStatus[i].err); + } mPadButton[i].mTrigger = 0; mPadButton[i].mRelease = 0; mPadButton[i].mRepeat = 0; @@ -135,9 +141,11 @@ u32 JUTGamePad::read() { } if (pad->getPadRecord() != NULL && pad->getPadRecord()->isActive()) { - int port = pad->mPortNum; - if (port >= 0 && mPadStatus[port].err == 0) { - pad->getPadRecord()->write(&mPadStatus[port]); + if (pad->mPortNum >= 0) { + int port = pad->mPortNum; + if (mPadStatus[port].err == 0) { + pad->getPadRecord()->write(&mPadStatus[port]); + } } } } @@ -388,17 +396,21 @@ u32 JUTGamePad::CStick::getButton(u32 buttons) { if (-sReleasePoint < mPosX && mPosX < sReleasePoint) { button = button & ~0x3; } else if (mPosX <= -sPressPoint) { - button = (button & ~0x2) | 1; + button = (button & ~0x2); + button |= 1; } else if (mPosX >= sPressPoint) { - button = (button & ~0x1) | 2; + button = (button & ~0x1); + button |= 2; } if (-sReleasePoint < mPosY && mPosY < sReleasePoint) { button = button & ~0xC; } else if (mPosY <= -sPressPoint) { - button = (button & ~0x8) | 4; + button = (button & ~0x8); + button |= 4; } else if (mPosY >= sPressPoint) { - button = (button & ~0x4) | 8; + button = (button & ~0x4); + button |= 8; } return button; @@ -463,7 +475,7 @@ void JUTGamePad::CRumble::update(s16 port) { stopMotorHard(port); mLength = 0; } else if (mFrameCount == 0) { - if (mStatus[port] == 0) { + if (mStatus[port] == false) { startMotor(port); } return; diff --git a/src/JSystem/JUtility/JUTPalette.cpp b/src/JSystem/JUtility/JUTPalette.cpp index a28b4184dd..23d2aa41c6 100644 --- a/src/JSystem/JUtility/JUTPalette.cpp +++ b/src/JSystem/JUtility/JUTPalette.cpp @@ -1,8 +1,8 @@ #include "JSystem/JSystem.h" // IWYU pragma: keep #include "JSystem/JUtility/JUTPalette.h" -#include "dolphin/gx.h" -#include "dolphin/os.h" +#include +#include void JUTPalette::storeTLUT(GXTlut param_0, ResTLUT* tlut) { if (tlut == NULL) { diff --git a/src/JSystem/JUtility/JUTResFont.cpp b/src/JSystem/JUtility/JUTResFont.cpp index 5a609070ca..62abfbd213 100644 --- a/src/JSystem/JUtility/JUTResFont.cpp +++ b/src/JSystem/JUtility/JUTResFont.cpp @@ -5,7 +5,7 @@ #include "JSystem/JSupport/JSupport.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTConsole.h" -#include "dolphin/gx.h" +#include JUTResFont::JUTResFont() { initialize_state(); diff --git a/src/JSystem/JUtility/JUTTexture.cpp b/src/JSystem/JUtility/JUTTexture.cpp index 0bbdc93fe0..985ea6499b 100644 --- a/src/JSystem/JUtility/JUTTexture.cpp +++ b/src/JSystem/JUtility/JUTTexture.cpp @@ -2,7 +2,7 @@ #include "JSystem/JUtility/JUTTexture.h" #include "JSystem/JUtility/JUTPalette.h" -#include "dolphin/gx.h" +#include JUTTexture::~JUTTexture() { if (getCaptureFlag()) { diff --git a/src/JSystem/JUtility/JUTVideo.cpp b/src/JSystem/JUtility/JUTVideo.cpp index b40b841c9a..823402eff4 100644 --- a/src/JSystem/JUtility/JUTVideo.cpp +++ b/src/JSystem/JUtility/JUTVideo.cpp @@ -3,7 +3,7 @@ #include "JSystem/JUtility/JUTVideo.h" #include "JSystem/JUtility/JUTDirectPrint.h" #include "JSystem/JUtility/JUTXfb.h" -#include "dolphin/gx.h" +#include #include JUTVideo* JUTVideo::sManager; @@ -56,9 +56,11 @@ JUTVideo::~JUTVideo() { } void JUTVideo::preRetraceProc(u32 retrace_count) { +#if PLATFORM_GCN if (!sManager) { return; } +#endif if (sManager->mPreCallback) { (*sManager->mPreCallback)(retrace_count); @@ -166,9 +168,11 @@ void JUTVideo::drawDoneCallback() { } void JUTVideo::postRetraceProc(u32 retrace_count) { +#if PLATFORM_GCN if (!sManager) { return; } +#endif if (sManager->mPostCallback != NULL) { sManager->mPostCallback(retrace_count); diff --git a/src/JSystem/JUtility/JUTXfb.cpp b/src/JSystem/JUtility/JUTXfb.cpp index 3557f7d8c1..8e2f0a9173 100644 --- a/src/JSystem/JUtility/JUTXfb.cpp +++ b/src/JSystem/JUtility/JUTXfb.cpp @@ -3,7 +3,7 @@ #include "JSystem/JUtility/JUTXfb.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JUtility/JUTAssert.h" -#include "dolphin/gx.h" +#include void JUTXfb::clearIndex() { mDrawingXfbIndex = -1; diff --git a/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/limits b/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/limits index 75f643aa61..5da476c21f 100644 --- a/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/limits +++ b/src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/limits @@ -73,17 +73,31 @@ class numeric_limits { public: inline static float min(); inline static float max() { return FLT_MAX; } - inline static float signaling_NaN() { return *(float*)__float_nan; } + inline static float signaling_NaN() { +#if __REVOLUTION_SDK__ + static const unsigned long x = 0x7fbfffffUL; + return *reinterpret_cast(&x); +#else + return *(float*)__float_nan; +#endif + } }; #if __REVOLUTION_SDK__ template <> class numeric_limits { public: - static const unsigned long long x = 0x7ff0000000000001ULL; inline static double min(); inline static double max(); - inline static double signaling_NaN() { return *reinterpret_cast(&x); } + inline static double signaling_NaN() { + static const unsigned long long x = 0x7ff7ffffffffffffULL; + return *reinterpret_cast(&x); + } + //TODO: this function is almost certainly fake, but for some reason the constant shows up twice in debug .rodata + inline static double signaling_NaN_2() { + static const unsigned long long x = 0x7ff7ffffffffffffULL; + return *reinterpret_cast(&x); + } }; #endif diff --git a/src/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Src/uart_console_io_gcn.c b/src/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Src/uart_console_io_gcn.c index ea52db1e2a..3916d03315 100644 --- a/src/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Src/uart_console_io_gcn.c +++ b/src/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Src/uart_console_io_gcn.c @@ -1,5 +1,5 @@ #include "uart_console_io_gcn.h" -#include "dolphin/os.h" +#include int InitializeUART(size_t); int WriteUARTN(unsigned char*, size_t); diff --git a/src/PowerPC_EABI_Support/MetroTRK/trk.h b/src/PowerPC_EABI_Support/MetroTRK/trk.h index d8fb5bc7b1..a90cf24d75 100644 --- a/src/PowerPC_EABI_Support/MetroTRK/trk.h +++ b/src/PowerPC_EABI_Support/MetroTRK/trk.h @@ -1,7 +1,7 @@ #ifndef __METROTRK_TRK_H__ #define __METROTRK_TRK_H__ -#include "dolphin/types.h" +#include #ifdef __cplusplus extern "C" { @@ -375,4 +375,4 @@ void TRKSaveExtended1Block(); } #endif -#endif /* __METROTRK_TRK_H__ */ \ No newline at end of file +#endif /* __METROTRK_TRK_H__ */ diff --git a/src/PowerPC_EABI_Support/Runtime/Inc/CPlusLibPPC.h b/src/PowerPC_EABI_Support/Runtime/Inc/CPlusLibPPC.h index ce053b3709..6ef61bc186 100644 --- a/src/PowerPC_EABI_Support/Runtime/Inc/CPlusLibPPC.h +++ b/src/PowerPC_EABI_Support/Runtime/Inc/CPlusLibPPC.h @@ -1,6 +1,6 @@ #ifndef CPLUSLIBPPC_H #define CPLUSLIBPPC_H -#include "dolphin/types.h" +#include -#endif /* CPLUSLIBPPC_H */ \ No newline at end of file +#endif /* CPLUSLIBPPC_H */ diff --git a/src/PowerPC_EABI_Support/Runtime/Inc/__init_cpp_exceptions.h b/src/PowerPC_EABI_Support/Runtime/Inc/__init_cpp_exceptions.h index 8ceb140b9e..63cc422514 100644 --- a/src/PowerPC_EABI_Support/Runtime/Inc/__init_cpp_exceptions.h +++ b/src/PowerPC_EABI_Support/Runtime/Inc/__init_cpp_exceptions.h @@ -1,6 +1,6 @@ #ifndef __INIT_CPP_EXCEPTIONS_H #define __INIT_CPP_EXCEPTIONS_H -#include "dolphin/types.h" +#include -#endif /* __INIT_CPP_EXCEPTIONS_H */ \ No newline at end of file +#endif /* __INIT_CPP_EXCEPTIONS_H */ diff --git a/src/PowerPC_EABI_Support/Runtime/Inc/runtime.h b/src/PowerPC_EABI_Support/Runtime/Inc/runtime.h index 6ae7a1e78e..b70bc02086 100644 --- a/src/PowerPC_EABI_Support/Runtime/Inc/runtime.h +++ b/src/PowerPC_EABI_Support/Runtime/Inc/runtime.h @@ -1,6 +1,6 @@ #ifndef RUNTIME_H #define RUNTIME_H -#include "dolphin/types.h" +#include -#endif /* RUNTIME_H */ \ No newline at end of file +#endif /* RUNTIME_H */ diff --git a/src/PowerPC_EABI_Support/Runtime/Src/GCN_Mem_Alloc.c b/src/PowerPC_EABI_Support/Runtime/Src/GCN_Mem_Alloc.c index f3f2c182e8..33b700446d 100644 --- a/src/PowerPC_EABI_Support/Runtime/Src/GCN_Mem_Alloc.c +++ b/src/PowerPC_EABI_Support/Runtime/Src/GCN_Mem_Alloc.c @@ -3,7 +3,7 @@ * Description: */ -#include "dolphin/os.h" +#include inline static void InitDefaultHeap(void) { void* arenaLo; diff --git a/src/SSystem/SComponent/c_list_iter.cpp b/src/SSystem/SComponent/c_list_iter.cpp index 19e502ba7b..077840f838 100644 --- a/src/SSystem/SComponent/c_list_iter.cpp +++ b/src/SSystem/SComponent/c_list_iter.cpp @@ -5,7 +5,7 @@ #include "SSystem/SComponent/c_list_iter.h" #include "SSystem/SComponent/c_list.h" -#include "dolphin/types.h" +#include int cLsIt_Method(node_list_class* list, cNdIt_MethodFunc method, void* data) { if (list->mSize > 0) diff --git a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/dolphin_trk_glue.c b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/dolphin_trk_glue.c index e22f2c565b..9bfd2e02fd 100644 --- a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/dolphin_trk_glue.c +++ b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/dolphin_trk_glue.c @@ -2,7 +2,7 @@ #include "TRK_MINNOW_DOLPHIN/Os/dolphin/DDH_Stubs.h" #include "TRK_MINNOW_DOLPHIN/Os/dolphin/GDEV_Stubs.h" #include "TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.h" -#include "dolphin/base/PPCArch.h" +#include #include "trk.h" void TRKInterruptHandler(); diff --git a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/usr_put.c b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/usr_put.c index 76d5f961b8..0a73fe5f10 100644 --- a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/usr_put.c +++ b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/usr_put.c @@ -4,7 +4,7 @@ */ #include "TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h" -// #include "dolphin/os.h" +// #include // void OSReport(char* fmt, ...) causes extra crclr instruction. // look into issue later diff --git a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/flush_cache.c b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/flush_cache.c index fcfbd12a37..53db0e46ba 100644 --- a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/flush_cache.c +++ b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/flush_cache.c @@ -3,7 +3,7 @@ * Description: */ -#include "dolphin/types.h" +#include asm void TRK_flush_cache(u32, int) { // clang-format off diff --git a/src/Z2AudioLib/Z2SoundObjMgr.cpp b/src/Z2AudioLib/Z2SoundObjMgr.cpp index c945865dd5..a1d87e6633 100644 --- a/src/Z2AudioLib/Z2SoundObjMgr.cpp +++ b/src/Z2AudioLib/Z2SoundObjMgr.cpp @@ -143,7 +143,7 @@ void Z2SoundObjMgr::searchEnemy() { Z2Calc::CURVE_POSITIVE); f32 veryFarDist = 5000.0f; - for (JSULink* i = getFirst(); i != NULL; i = i->getNext()) { + for (JSULink* i = field_0x0.getFirst(); i != NULL; i = i->getNext()) { Z2CreatureEnemy* enemy = i->getObject(); if (enemy == NULL) { JUT_WARN_DEVICE(100, 1, "%s", "[Z2SoundObjMgr::searchEnemy] remain remove enemy\n"); @@ -349,7 +349,7 @@ u8 Z2SoundObjMgr::getEnemyID(const char* enemyName, JSULink* en if (enemyName != NULL) { for (u8 i = 0; i < ARRAY_SIZEU(mEnemyInfo); i++) { if (strcmp(enemyName, mEnemyInfo[(u32)i].mName) == 0) { - append(enemyLink); + field_0x0.append(enemyLink); return i; } } @@ -379,7 +379,7 @@ void Z2SoundObjMgr::deleteEnemyAll() { JSULink* i; // not moving the pointer forward looks like a bug, but deleteObject() actually unlinks the enemy from its owning list - while (i = getFirst(), i != NULL) { + while (i = field_0x0.getFirst(), i != NULL) { Z2CreatureEnemy* enemy = i->getObject(); if (enemy == NULL) { JUT_WARN_DEVICE(367, 1, "%s", "[Z2SoundObjMgr::searchEnemy] remain remove enemy\n"); @@ -399,7 +399,7 @@ bool Z2SoundObjMgr::removeEnemy(JSULink* enemyLink) { field_0x18--; } - bool result = remove(enemyLink); + bool result = field_0x0.remove(enemyLink); return result; } diff --git a/src/d/actor/d_a_L7demo_dr.cpp b/src/d/actor/d_a_L7demo_dr.cpp index a5fe1caeaf..5408b1eb9d 100644 --- a/src/d/actor/d_a_L7demo_dr.cpp +++ b/src/d/actor/d_a_L7demo_dr.cpp @@ -289,7 +289,7 @@ static int daDr_IsDelete(daDr_c* i_this) { } int daDr_c::_delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "DR"); if (heap != NULL) { mpModelMorf->stopZelAnime(); diff --git a/src/d/actor/d_a_alink.cpp b/src/d/actor/d_a_alink.cpp index 650409f04c..6ae53c7983 100644 --- a/src/d/actor/d_a_alink.cpp +++ b/src/d/actor/d_a_alink.cpp @@ -48,7 +48,15 @@ #include "d/actor/d_a_tag_mstop.h" #include "d/actor/d_a_tag_mwait.h" #include "d/actor/d_a_canoe.h" +#include "d/actor/d_a_ni.h" +#include "d/d_s_play.h" +#include "res/Object/Alink.h" + +static int daAlink_Create(fopAc_ac_c* i_this); +static int daAlink_Delete(daAlink_c* i_this); +static int daAlink_Execute(daAlink_c* i_this); +static int daAlink_Draw(daAlink_c* i_this); static fopAc_ac_c* daAlink_searchTagKandelaar(fopAc_ac_c* i_actor, void* i_data); BOOL daAlink_c::getE3Zhint() { @@ -57,6 +65,10 @@ BOOL daAlink_c::getE3Zhint() { #include "d/actor/d_a_alink_HIO.inc" +#if DEBUG +static BOOL l_debugMode; +#endif + static const char l_wArcName[] = "Wmdl"; static const char l_bArcName[] = "Bmdl"; @@ -79,14 +91,15 @@ const char* daAlink_c::getAlinkArcName() { return l_arcName; } -static void daAlink_tgHitCallback(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fopAc_ac_c* param_2, - dCcD_GObjInf* param_3) { - static_cast(param_0)->tgHitCallback(param_2, param_1, param_3); +static void daAlink_tgHitCallback(fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjInf, fopAc_ac_c* i_atActor, + dCcD_GObjInf* i_atObjInf) { + static_cast(i_tgActor)->tgHitCallback(i_atActor, i_tgObjInf, i_atObjInf); } -static void daAlink_coHitCallback(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fopAc_ac_c* param_2, - dCcD_GObjInf* param_3) { - static_cast(param_0)->coHitCallback(param_2, param_1); +static void daAlink_coHitCallback(fopAc_ac_c* i_coActorA, dCcD_GObjInf* i_coObjInfA, fopAc_ac_c* i_coActorB, + dCcD_GObjInf* i_coObjInfB) { + UNUSED(i_coObjInfB); + static_cast(i_coActorA)->coHitCallback(i_coActorB, i_coObjInfA); } static cXyz l_waitBaseAnime(1.24279f, 102.00054f, 5.0f); @@ -647,548 +660,798 @@ f32 l_jumpTop; #endif daAlink_BckData const daAlink_c::m_mainBckShield[20] = { - {0x0025, 0x0025}, {0x0023, 0x0023}, {0x0012, 0x001B}, {0x0010, 0x001B}, {0x0021, 0x0021}, - {0x001E, 0x001E}, {0x003C, 0x003C}, {0x002C, 0x002C}, {0x003E, 0x003E}, {0x002E, 0x002E}, - {0x0030, 0x0030}, {0x0028, 0x0028}, {0x0032, 0x0032}, {0x002A, 0x002A}, {0x0274, 0x001B}, - {0x0020, 0x001B}, {0x001B, 0x001B}, {0x0026, 0x0026}, {0x0277, 0x001B}, {0x00CD, 0x001B}, + {dRes_ID_ALANM_BCK_ATRFWS_e, dRes_ID_ALANM_BCK_ATRFWS_e}, + {dRes_ID_ALANM_BCK_ATRFDS_e, dRes_ID_ALANM_BCK_ATRFDS_e}, + {dRes_ID_ALANM_BCK_ATBW_e, dRes_ID_ALANM_BCK_ATLS_e}, + {dRes_ID_ALANM_BCK_ATBD_e, dRes_ID_ALANM_BCK_ATLS_e}, + {dRes_ID_ALANM_BCK_ATRBWS_e, dRes_ID_ALANM_BCK_ATRBWS_e}, + {dRes_ID_ALANM_BCK_ATRBDS_e, dRes_ID_ALANM_BCK_ATRBDS_e}, + {dRes_ID_ALANM_BCK_ATSWLS_e, dRes_ID_ALANM_BCK_ATSWLS_e}, + {dRes_ID_ALANM_BCK_ATRSWLS_e, dRes_ID_ALANM_BCK_ATRSWLS_e}, + {dRes_ID_ALANM_BCK_ATSWRS_e, dRes_ID_ALANM_BCK_ATSWRS_e}, + {dRes_ID_ALANM_BCK_ATRSWRS_e, dRes_ID_ALANM_BCK_ATRSWRS_e}, + {dRes_ID_ALANM_BCK_ATSDLS_e, dRes_ID_ALANM_BCK_ATSDLS_e}, + {dRes_ID_ALANM_BCK_ATRSDLS_e, dRes_ID_ALANM_BCK_ATRSDLS_e}, + {dRes_ID_ALANM_BCK_ATSDRS_e, dRes_ID_ALANM_BCK_ATSDRS_e}, + {dRes_ID_ALANM_BCK_ATRSDRS_e, dRes_ID_ALANM_BCK_ATRSDRS_e}, + {dRes_ID_ALANM_BCK_WALKH_e, dRes_ID_ALANM_BCK_ATLS_e}, + {dRes_ID_ALANM_BCK_ATRBWH_e, dRes_ID_ALANM_BCK_ATLS_e}, + {dRes_ID_ALANM_BCK_ATLS_e, dRes_ID_ALANM_BCK_ATLS_e}, + {dRes_ID_ALANM_BCK_ATRS_e, dRes_ID_ALANM_BCK_ATRS_e}, + {dRes_ID_ALANM_BCK_WALKS_e, dRes_ID_ALANM_BCK_ATLS_e}, + {dRes_ID_ALANM_BCK_DASHS_e, dRes_ID_ALANM_BCK_ATLS_e}, }; daAlink_BckData const daAlink_c::m_mainBckSword[5] = { - {0x001A, 0x001A}, {0x001C, 0x001C}, {0x0277, 0x0277}, {0x00CD, 0x00CD}, {0x0243, 0x0244}, + {dRes_ID_ALANM_BCK_ATL_e, dRes_ID_ALANM_BCK_ATL_e}, + {dRes_ID_ALANM_BCK_ATR_e, dRes_ID_ALANM_BCK_ATR_e}, + {dRes_ID_ALANM_BCK_WALKS_e, dRes_ID_ALANM_BCK_WALKS_e}, + {dRes_ID_ALANM_BCK_DASHS_e, dRes_ID_ALANM_BCK_DASHS_e}, + {dRes_ID_ALANM_BCK_SWIMWAIT_e, dRes_ID_ALANM_BCK_SWIMWAITS_e}, }; daAlink_BckData const daAlink_c::m_mainBckFishing[28] = { - {0x0025, 0x0273}, {0x0023, 0x00C8}, {0x0012, 0x0273}, {0x0010, 0x00C8}, {0x0021, 0x0273}, - {0x001E, 0x00C8}, {0x003C, 0x0273}, {0x002C, 0x0273}, {0x003E, 0x0273}, {0x002E, 0x0273}, - {0x0030, 0x00C8}, {0x0028, 0x00C8}, {0x0032, 0x00C8}, {0x002A, 0x00C8}, {0x0274, 0x0273}, - {0x0020, 0x0273}, {0x001A, 0x0273}, {0x001C, 0x0273}, {0x0277, 0x0273}, {0x00CD, 0x00C8}, - {0x0243, 0x0244}, {0x0233, 0x0273}, {0x0234, 0x0273}, {0x0233, 0x0273}, {0x0234, 0x0273}, - {0x026A, 0x0273}, {0x0256, 0x0273}, {0x0257, 0x0273}, + {dRes_ID_ALANM_BCK_ATRFWS_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATRFDS_e, dRes_ID_ALANM_BCK_DASHFISHR_e}, + {dRes_ID_ALANM_BCK_ATBW_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATBD_e, dRes_ID_ALANM_BCK_DASHFISHR_e}, + {dRes_ID_ALANM_BCK_ATRBWS_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATRBDS_e, dRes_ID_ALANM_BCK_DASHFISHR_e}, + {dRes_ID_ALANM_BCK_ATSWLS_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATRSWLS_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATSWRS_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATRSWRS_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATSDLS_e, dRes_ID_ALANM_BCK_DASHFISHR_e}, + {dRes_ID_ALANM_BCK_ATRSDLS_e, dRes_ID_ALANM_BCK_DASHFISHR_e}, + {dRes_ID_ALANM_BCK_ATSDRS_e, dRes_ID_ALANM_BCK_DASHFISHR_e}, + {dRes_ID_ALANM_BCK_ATRSDRS_e, dRes_ID_ALANM_BCK_DASHFISHR_e}, + {dRes_ID_ALANM_BCK_WALKH_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATRBWH_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATL_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_ATR_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_WALKS_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_DASHS_e, dRes_ID_ALANM_BCK_DASHFISHR_e}, + {dRes_ID_ALANM_BCK_SWIMWAIT_e, dRes_ID_ALANM_BCK_SWIMWAITS_e}, + {dRes_ID_ALANM_BCK_STEPL_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_STEPR_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_STEPL_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_STEPR_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_WAITS_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_WAITB_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, + {dRes_ID_ALANM_BCK_WAITBTOA_e, dRes_ID_ALANM_BCK_WALKFISHR_e}, }; -daAlink_AnmData const daAlink_c::m_anmDataTable[414] = { - {37, 36, 254, 254, 0, 232, 0}, - {35, 34, 254, 254, 0, 232, 0}, - {18, 18, 254, 254, 0, 232, 0}, - {16, 16, 254, 254, 0, 232, 0}, - {33, 31, 254, 254, 0, 232, 0}, - {30, 29, 254, 254, 0, 232, 0}, - {60, 59, 4, 10, 0, 232, 0}, - {44, 43, 4, 10, 0, 232, 0}, - {62, 61, 4, 10, 0, 232, 0}, - {46, 45, 4, 10, 0, 232, 0}, - {48, 47, 4, 10, 0, 232, 0}, - {40, 39, 4, 10, 0, 232, 0}, - {50, 49, 4, 10, 0, 232, 0}, - {42, 41, 4, 10, 0, 232, 0}, - {628, 628, 254, 254, 0, 232, 0}, - {32, 26, 254, 254, 0, 0, 0}, - {26, 14, 254, 254, 0, 232, 0}, - {28, 14, 254, 254, 0, 232, 0}, - {631, 631, 4, 10, 0, 0, 0}, - {205, 197, 4, 10, 0, 232, 0}, - {579, 579, 254, 254, 0, 345, 0}, - {563, 563, 4, 10, 0, 0, 0}, - {564, 564, 4, 10, 0, 0, 0}, - {563, 604, 4, 10, 0, 0, 0}, - {564, 604, 4, 10, 0, 0, 0}, - {618, 618, 4, 10, 0, 0, 0}, - {598, 598, 1, 6, 0, 232, 0}, - {599, 599, 1, 6, 0, 351, 0}, - {198, 198, 1, 6, 0, 232, 0}, - {54, 54, 254, 254, 0, 328, 0}, - {56, 56, 254, 254, 0, 328, 0}, - {53, 53, 1, 6, 0, 232, 0}, - {55, 55, 1, 6, 0, 232, 0}, - {52, 52, 254, 254, 0, 328, 0}, - {51, 51, 1, 6, 0, 232, 0}, - {519, 519, 254, 254, 0, 328, 0}, - {521, 521, 254, 254, 0, 223, 0}, - {520, 520, 1, 6, 38, 335, 0}, - {518, 518, 4, 10, 0, 328, 0}, - {517, 517, 4, 10, 0, 232, 0}, - {559, 559, 254, 254, 0, 232, 0}, - {123, 123, 254, 254, 0, 0, 0}, - {126, 126, 254, 6, 0, 232, 0}, - {19, 19, 254, 6, 0, 232, 0}, - {21, 21, 254, 6, 0, 232, 0}, - {124, 124, 254, 6, 0, 232, 0}, - {23, 23, 254, 6, 0, 232, 0}, - {24, 24, 254, 6, 0, 232, 0}, - {20, 20, 1, 6, 125, 233, 0}, - {421, 421, 254, 254, 0, 327, 0}, - {419, 419, 254, 254, 0, 327, 0}, - {420, 420, 254, 254, 0, 223, 0}, - {436, 436, 254, 254, 0, 223, 0}, - {437, 437, 254, 254, 0, 223, 0}, - {617, 617, 254, 254, 0, 223, 0}, - {503, 503, 254, 254, 10, 333, 0}, - {502, 502, 254, 254, 4, 232, 0}, - {501, 501, 254, 254, 4, 232, 0}, - {500, 500, 0, 5, 11, 332, 0}, - {499, 499, 254, 254, 0, 232, 0}, - {498, 498, 0, 5, 0, 232, 0}, - {510, 510, 254, 254, 0, 223, 0}, - {511, 511, 254, 254, 0, 223, 0}, - {509, 509, 254, 254, 0, 223, 0}, - {225, 225, 4, 10, 0, 223, 0}, - {226, 226, 4, 10, 0, 223, 0}, - {565, 565, 4, 5, 0, 232, 0}, - {566, 566, 4, 5, 0, 232, 0}, - {562, 562, 4, 5, 0, 232, 0}, - {418, 418, 4, 5, 0, 232, 0}, - {416, 416, 4, 5, 0, 232, 0}, - {417, 417, 4, 5, 0, 232, 0}, - {614, 614, 4, 5, 0, 0, 0}, - {629, 629, 4, 5, 0, 0, 0}, - {630, 630, 4, 5, 0, 0, 0}, - {202, 202, 4, 5, 0, 232, 0}, - {203, 203, 4, 5, 0, 232, 0}, - {781, 614, 4, 5, 0, 0, 0}, - {221, 221, 4, 5, 0, 258, 0}, - {435, 435, 4, 5, 0, 261, 0}, - {149, 149, 100, 5, 36, 272, 0}, - {568, 568, 4, 5, 55, 338, 0}, - {569, 569, 4, 5, 56, 0, 0}, - {214, 214, 4, 10, 88, 300, 0}, - {587, 587, 4, 5, 37, 0, 0}, - {613, 613, 4, 5, 0, 232, 0}, - {560, 560, 4, 5, 109, 336, 0}, - {561, 561, 4, 5, 109, 336, 0}, - {373, 373, 4, 5, 110, 321, 0}, - {374, 374, 4, 5, 110, 321, 0}, - {588, 588, 4, 5, 114, 0, 0}, - {589, 589, 4, 5, 115, 0, 0}, - {512, 512, 254, 254, 0, 223, 0}, - {513, 513, 254, 254, 0, 223, 0}, - {227, 227, 4, 10, 0, 223, 0}, - {228, 228, 4, 10, 0, 223, 0}, - {624, 624, 254, 254, 16, 357, 0}, - {623, 623, 4, 5, 17, 356, 0}, - {127, 127, 100, 6, 46, 259, 0}, - {153, 153, 0, 6, 47, 275, 0}, - {154, 154, 0, 6, 48, 276, 0}, - {143, 143, 100, 6, 49, 267, 0}, - {144, 144, 100, 6, 49, 267, 0}, - {132, 132, 100, 6, 50, 262, 0}, - {133, 133, 100, 6, 51, 263, 0}, - {134, 134, 100, 5, 0, 261, 0}, - {138, 138, 0, 5, 0, 223, 0}, - {137, 137, 100, 5, 0, 223, 0}, - {139, 139, 100, 5, 52, 264, 0}, - {136, 136, 0, 5, 0, 223, 0}, - {135, 135, 100, 5, 0, 223, 0}, - {155, 155, 0, 6, 89, 277, 0}, - {156, 156, 0, 6, 89, 277, 0}, - {152, 152, 100, 6, 60, 274, 0}, - {151, 151, 100, 6, 61, 273, 0}, - {159, 159, 100, 6, 58, 280, 0}, - {158, 158, 100, 6, 59, 279, 0}, - {164, 164, 0, 6, 0, 232, 0}, - {165, 165, 100, 6, 0, 232, 0}, - {166, 166, 100, 6, 0, 232, 0}, - {170, 170, 0, 5, 0, 261, 0}, - {167, 167, 0, 5, 90, 285, 0}, - {168, 168, 0, 5, 0, 286, 0}, - {169, 169, 100, 5, 18, 287, 0}, - {142, 142, 0, 6, 127, 266, 0}, - {140, 140, 0, 6, 128, 265, 0}, - {141, 141, 0, 6, 0, 232, 0}, - {174, 174, 1, 6, 39, 234, 0}, - {172, 172, 1, 6, 39, 234, 0}, - {189, 189, 1, 6, 39, 234, 0}, - {190, 190, 1, 6, 39, 234, 0}, - {178, 178, 254, 254, 40, 248, 0}, - {175, 175, 254, 254, 40, 248, 0}, - {180, 180, 254, 254, 40, 248, 0}, - {182, 182, 254, 254, 40, 248, 0}, - {179, 179, 254, 254, 42, 292, 0}, - {176, 176, 254, 254, 43, 290, 0}, - {181, 181, 254, 254, 44, 293, 0}, - {183, 183, 254, 254, 44, 293, 0}, - {171, 171, 1, 6, 39, 234, 0}, - {431, 431, 1, 6, 39, 234, 0}, - {432, 432, 254, 254, 0, 223, 0}, - {324, 324, 0, 6, 6, 305, 0}, - {325, 325, 0, 10, 7, 306, 0}, - {567, 567, 4, 10, 28, 337, 0}, - {591, 591, 254, 254, 0, 223, 0}, - {592, 592, 254, 254, 0, 223, 0}, - {593, 593, 254, 254, 0, 223, 0}, - {594, 594, 254, 254, 0, 223, 0}, - {372, 372, 254, 254, 0, 223, 0}, - {378, 378, 254, 254, 0, 223, 0}, - {376, 376, 254, 254, 0, 223, 0}, - {377, 377, 254, 254, 0, 223, 0}, - {430, 430, 254, 254, 0, 223, 0}, - {428, 428, 254, 254, 0, 223, 0}, - {429, 429, 254, 254, 0, 223, 0}, - {425, 425, 254, 254, 0, 223, 0}, - {423, 423, 254, 254, 0, 223, 0}, - {424, 424, 254, 254, 0, 223, 0}, - {427, 427, 254, 254, 0, 223, 0}, - {426, 426, 254, 254, 0, 223, 0}, - {106, 106, 3, 9, 0, 232, 0}, - {112, 112, 3, 9, 0, 232, 0}, - {108, 108, 3, 9, 0, 232, 0}, - {109, 109, 3, 9, 0, 232, 0}, - {110, 110, 3, 9, 0, 232, 0}, - {111, 111, 3, 9, 0, 232, 0}, - {107, 107, 3, 9, 92, 254, 0}, - {527, 527, 3, 9, 0, 232, 0}, - {528, 528, 3, 9, 0, 232, 0}, - {522, 522, 3, 9, 0, 232, 0}, - {524, 524, 3, 9, 0, 232, 0}, - {525, 525, 3, 9, 0, 232, 0}, - {526, 526, 3, 9, 0, 232, 0}, - {523, 523, 3, 9, 0, 232, 0}, - {366, 366, 254, 254, 24, 313, 0}, - {369, 369, 254, 254, 25, 316, 0}, - {368, 368, 254, 254, 0, 315, 0}, - {379, 379, 254, 254, 26, 322, 0}, - {365, 365, 254, 254, 27, 312, 0}, - {367, 367, 254, 254, 0, 314, 0}, - {95, 95, 254, 254, 0, 223, 0}, - {604, 604, 4, 10, 1, 352, 0}, - {596, 596, 4, 10, 1, 349, 0}, - {585, 585, 4, 10, 0, 223, 0}, - {620, 620, 1, 6, 12, 355, 0}, - {157, 157, 1, 6, 13, 278, 0}, - {82, 82, 254, 254, 0, 232, 0}, - {632, 632, 1, 6, 0, 223, 0}, - {557, 557, 254, 254, 0, 223, 0}, - {555, 555, 254, 254, 0, 223, 0}, - {558, 558, 254, 254, 0, 223, 0}, - {556, 556, 254, 254, 0, 223, 0}, - {574, 574, 254, 254, 21, 342, 0}, - {578, 578, 254, 254, 22, 344, 0}, - {57, 57, 254, 254, 0, 232, 0}, - {58, 58, 254, 254, 0, 232, 0}, - {17, 17, 254, 254, 0, 232, 0}, - {570, 570, 254, 254, 3, 232, 0}, - {573, 573, 254, 254, 23, 341, 0}, - {577, 577, 254, 254, 0, 232, 0}, - {576, 576, 254, 254, 0, 232, 0}, - {193, 193, 1, 6, 39, 234, 0}, - {192, 192, 1, 6, 39, 234, 0}, - {194, 194, 1, 6, 39, 234, 0}, - {195, 195, 1, 6, 39, 234, 0}, - {196, 196, 1, 6, 39, 234, 0}, - {87, 87, 254, 254, 77, 247, 0}, - {86, 86, 254, 254, 78, 246, 0}, - {85, 85, 254, 254, 79, 245, 0}, - {361, 361, 254, 254, 0, 308, 0}, - {362, 362, 254, 254, 0, 310, 0}, - {362, 618, 254, 254, 0, 307, 0}, - {362, 381, 254, 254, 0, 307, 0}, - {586, 586, 4, 10, 41, 346, 0}, - {595, 595, 254, 254, 0, 348, 0}, - {619, 619, 254, 254, 0, 223, 0}, - {603, 602, 254, 5, 0, 223, 0}, - {603, 603, 0, 254, 0, 223, 0}, - {619, 533, 254, 5, 0, 223, 0}, - {619, 534, 0, 254, 0, 223, 0}, - {619, 531, 254, 5, 0, 223, 0}, - {619, 532, 0, 254, 0, 223, 0}, - {619, 103, 254, 5, 0, 223, 0}, - {90, 90, 2, 254, 0, 304, 0}, - {91, 91, 2, 254, 0, 304, 0}, - {92, 92, 2, 254, 0, 223, 0}, - {94, 94, 2, 5, 120, 249, 0}, - {491, 491, 254, 254, 0, 223, 0}, - {506, 506, 2, 5, 0, 223, 0}, - {508, 508, 2, 5, 0, 223, 0}, - {434, 434, 2, 5, 0, 223, 0}, - {217, 217, 4, 10, 30, 301, 0}, - {218, 218, 4, 10, 31, 302, 0}, - {215, 215, 3, 10, 0, 223, 0}, - {216, 216, 3, 10, 0, 223, 0}, - {219, 219, 254, 254, 0, 223, 0}, - {220, 220, 254, 254, 0, 223, 0}, - {492, 492, 254, 254, 29, 223, 0}, - {529, 529, 1, 6, 0, 223, 0}, - {484, 484, 1, 6, 0, 223, 0}, - {485, 485, 1, 6, 0, 223, 0}, - {552, 552, 254, 254, 0, 223, 0}, - {544, 544, 254, 254, 0, 223, 0}, - {543, 543, 254, 254, 0, 223, 0}, - {549, 549, 254, 254, 0, 223, 0}, - {547, 547, 254, 254, 0, 223, 0}, - {545, 545, 254, 254, 0, 223, 0}, - {546, 546, 254, 254, 0, 223, 0}, - {548, 548, 254, 254, 0, 223, 0}, - {551, 551, 100, 254, 0, 223, 0}, - {550, 550, 100, 254, 0, 223, 0}, - {530, 530, 254, 254, 0, 223, 0}, - {102, 102, 254, 254, 53, 252, 0}, - {105, 105, 254, 254, 54, 253, 0}, - {625, 625, 4, 10, 0, 358, 0}, - {72, 72, 3, 254, 62, 238, 0}, - {70, 70, 3, 254, 63, 236, 0}, - {71, 71, 3, 254, 64, 237, 0}, - {69, 69, 3, 254, 65, 235, 0}, - {75, 75, 3, 254, 66, 241, 0}, - {76, 76, 3, 5, 67, 242, 0}, - {73, 73, 3, 5, 68, 239, 0}, - {78, 78, 3, 254, 69, 243, 0}, - {79, 79, 3, 254, 70, 244, 0}, - {74, 74, 3, 254, 71, 240, 0}, - {77, 77, 3, 254, 0, 223, 0}, - {438, 438, 0, 10, 0, 223, 0}, - {495, 495, 0, 9, 0, 223, 0}, - {493, 493, 0, 9, 0, 223, 0}, - {494, 494, 0, 9, 0, 223, 0}, - {371, 371, 2, 254, 74, 319, 0}, - {370, 370, 2, 254, 76, 318, 0}, - {97, 97, 2, 254, 75, 251, 0}, - {621, 621, 2, 254, 75, 251, 0}, - {605, 605, 1, 6, 14, 355, 0}, - {610, 610, 1, 6, 15, 353, 0}, - {483, 483, 254, 254, 0, 223, 0}, - {212, 212, 4, 10, 80, 298, 0}, - {213, 213, 4, 10, 81, 299, 0}, - {571, 571, 254, 254, 82, 339, 0}, - {572, 572, 254, 254, 83, 340, 0}, - {114, 114, 3, 9, 0, 255, 0}, - {116, 116, 3, 9, 85, 256, 0}, - {115, 115, 3, 9, 0, 232, 0}, - {113, 113, 3, 9, 0, 232, 0}, - {117, 117, 3, 9, 0, 232, 0}, - {119, 119, 3, 9, 86, 257, 0}, - {120, 120, 3, 9, 87, 257, 0}, - {28, 121, 3, 9, 0, 232, 0}, - {122, 122, 3, 9, 0, 232, 0}, - {118, 118, 254, 254, 0, 304, 0}, - {222, 222, 4, 10, 84, 303, 0}, - {224, 224, 254, 254, 40, 248, 0}, - {8, 8, 0, 5, 0, 232, 0}, - {554, 554, 254, 254, 0, 223, 0}, - {553, 553, 254, 254, 0, 223, 0}, - {394, 394, 1, 6, 0, 232, 0}, - {395, 395, 1, 6, 0, 232, 0}, - {396, 396, 254, 254, 0, 232, 0}, - {384, 384, 1, 6, 0, 232, 0}, - {385, 385, 1, 6, 0, 232, 0}, - {386, 386, 1, 6, 0, 232, 0}, - {388, 388, 1, 6, 0, 232, 0}, - {392, 392, 1, 6, 0, 232, 0}, - {393, 393, 1, 6, 0, 232, 0}, - {390, 390, 1, 6, 0, 232, 0}, - {391, 391, 1, 6, 0, 232, 0}, - {387, 387, 1, 6, 0, 232, 0}, - {389, 389, 1, 6, 0, 232, 0}, - {398, 398, 1, 6, 0, 232, 0}, - {399, 399, 1, 6, 0, 232, 0}, - {400, 400, 1, 6, 0, 232, 0}, - {401, 401, 1, 6, 0, 232, 0}, - {404, 404, 1, 6, 0, 232, 0}, - {405, 405, 1, 6, 0, 232, 0}, - {402, 402, 1, 6, 0, 232, 0}, - {403, 403, 1, 6, 0, 232, 0}, - {504, 504, 254, 254, 0, 334, 0}, - {4142, 4142, 0, 5, 0, 223, 0}, - {4141, 4141, 0, 5, 0, 223, 0}, - {4106, 4106, 254, 254, 0, 223, 0}, - {4104, 4104, 254, 254, 0, 223, 0}, - {4105, 4105, 254, 254, 0, 223, 0}, - {4103, 4103, 254, 254, 0, 223, 0}, - {4129, 4129, 254, 254, 0, 223, 0}, - {4131, 4131, 254, 254, 0, 223, 0}, - {4130, 4130, 254, 254, 0, 223, 0}, - {4132, 4132, 254, 254, 0, 223, 0}, - {4133, 4133, 254, 254, 94, 4113, 0}, - {4136, 4136, 254, 254, 0, 223, 0}, - {4137, 4137, 254, 254, 0, 223, 0}, - {4134, 4134, 254, 254, 95, 4114, 0}, - {4135, 4135, 254, 254, 95, 4114, 0}, - {4138, 4138, 254, 254, 99, 4115, 0}, - {4121, 4121, 254, 254, 0, 223, 0}, - {4123, 4123, 254, 254, 97, 4110, 0}, - {4124, 4124, 254, 254, 98, 4111, 0}, - {4122, 4122, 254, 254, 96, 4109, 0}, - {4128, 4128, 254, 254, 95, 4114, 0}, - {4125, 4125, 254, 254, 101, 4112, 0}, - {4119, 4119, 254, 254, 100, 4108, 0}, - {4120, 4120, 254, 254, 100, 4108, 0}, - {4139, 4139, 254, 254, 0, 223, 0}, - {4140, 4140, 254, 254, 0, 223, 0}, - {4117, 4117, 254, 254, 102, 4107, 0}, - {4118, 4118, 254, 254, 102, 4107, 0}, - {4102, 4102, 254, 254, 0, 223, 0}, - {4116, 4116, 254, 254, 0, 223, 0}, - {4126, 4126, 0, 5, 0, 223, 0}, - {4127, 4127, 254, 254, 0, 223, 0}, - {177, 177, 254, 254, 93, 291, 0}, - {412, 412, 254, 5, 0, 232, 0}, - {413, 413, 254, 5, 0, 232, 0}, - {406, 406, 0, 5, 0, 232, 0}, - {411, 411, 0, 5, 0, 232, 0}, - {410, 410, 0, 5, 0, 232, 0}, - {409, 409, 0, 5, 0, 232, 0}, - {407, 407, 254, 5, 0, 232, 0}, - {408, 408, 254, 5, 0, 232, 0}, - {8204, 8204, 3, 9, 0, 232, 0}, - {8205, 8205, 3, 9, 0, 232, 0}, - {8206, 8206, 3, 9, 0, 232, 0}, - {8207, 8207, 100, 254, 0, 232, 0}, - {8201, 8201, 100, 9, 103, 232, 0}, - {8202, 8202, 100, 9, 104, 232, 0}, - {8203, 8203, 100, 10, 105, 8200, 0}, - {8208, 8208, 0, 5, 0, 223, 0}, - {20493, 20493, 1, 6, 0, 232, 0}, - {20494, 20494, 1, 6, 0, 232, 0}, - {20490, 20490, 3, 9, 0, 232, 0}, - {20491, 20491, 3, 9, 0, 232, 0}, - {20492, 20492, 100, 254, 0, 232, 0}, - {20487, 20487, 100, 9, 106, 232, 0}, - {20488, 20488, 100, 9, 107, 232, 0}, - {20489, 20489, 100, 10, 108, 20495, 0}, - {515, 515, 2, 5, 111, 232, 0}, - {516, 516, 2, 5, 112, 232, 0}, - {363, 363, 2, 10, 113, 309, 0}, - {606, 606, 3, 9, 39, 234, 0}, - {486, 486, 3, 9, 40, 248, 0}, - {487, 487, 3, 9, 40, 248, 0}, - {422, 422, 4, 5, 116, 330, 0}, - {614, 362, 254, 254, 0, 310, 0}, - {12292, 12292, 1, 6, 0, 12291, 0}, - {101, 101, 254, 254, 0, 223, 0}, - {98, 98, 3, 9, 0, 232, 0}, - {100, 100, 3, 9, 0, 232, 0}, - {99, 99, 3, 9, 0, 232, 0}, - {615, 615, 4, 10, 121, 354, 0}, - {208, 208, 4, 10, 126, 295, 0}, - {375, 375, 254, 254, 0, 223, 0}, - {633, 633, 4, 10, 0, 359, 0}, - {634, 634, 4, 10, 0, 307, 0}, - {207, 207, 0, 6, 0, 232, 0}, - {162, 162, 100, 6, 129, 283, 0}, - {163, 163, 100, 6, 129, 232, 0}, - {160, 160, 100, 6, 131, 281, 0}, - {161, 161, 100, 6, 132, 282, 0}, - {24587, 24587, 0, 10, 133, 24585, 0}, - {24588, 24588, 0, 5, 0, 232, 0}, - {24586, 24586, 100, 5, 0, 24584, 0}, - {28682, 28682, 0, 6, 0, 232, 0}, - {28683, 28683, 0, 6, 0, 232, 0}, - {28684, 28684, 0, 6, 0, 232, 0}, - {28686, 28686, 0, 6, 0, 232, 0}, - {28685, 28685, 0, 6, 0, 232, 0}, - {28680, 28680, 0, 5, 134, 28688, 0}, - {28681, 28681, 0, 5, 0, 28689, 0}, - {614, 28687, 4, 5, 135, 28690, 0}, - {415, 415, 254, 254, 0, 223, 0}, - {414, 414, 254, 254, 0, 223, 0}, - {490, 490, 254, 254, 136, 331, 0}, - {11, 11, 254, 254, 137, 231, 0}, +daAlink_AnmData const daAlink_c::m_anmDataTable[daAlink_c::ANM_MAX] = { + {dRes_ID_ALANM_BCK_ATRFWS_e, dRes_ID_ALANM_BCK_ATRFW_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATRFDS_e, dRes_ID_ALANM_BCK_ATRFD_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATBW_e, dRes_ID_ALANM_BCK_ATBW_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATBD_e, dRes_ID_ALANM_BCK_ATBD_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATRBWS_e, dRes_ID_ALANM_BCK_ATRBW_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATRBDS_e, dRes_ID_ALANM_BCK_ATRBD_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSWLS_e, dRes_ID_ALANM_BCK_ATSWL_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATRSWLS_e, dRes_ID_ALANM_BCK_ATRSWL_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSWRS_e, dRes_ID_ALANM_BCK_ATSWR_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATRSWRS_e, dRes_ID_ALANM_BCK_ATRSWR_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSDLS_e, dRes_ID_ALANM_BCK_ATSDL_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATRSDLS_e, dRes_ID_ALANM_BCK_ATRSDL_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSDRS_e, dRes_ID_ALANM_BCK_ATSDR_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATRSDRS_e, dRes_ID_ALANM_BCK_ATRSDR_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_WALKH_e, dRes_ID_ALANM_BCK_WALKH_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATRBWH_e, dRes_ID_ALANM_BCK_ATL_e, 0xFE, 0xFE, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_ATL_e, dRes_ID_ALANM_BCK_AT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATR_e, dRes_ID_ALANM_BCK_AT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_WALKS_e, dRes_ID_ALANM_BCK_WALKS_e, 0x4, 0xA, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_DASHS_e, dRes_ID_ALANM_BCK_DASHA_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMWAIT_e, dRes_ID_ALANM_BCK_SWIMWAIT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FSWIMWAIT_e, 0x0}, + {dRes_ID_ALANM_BCK_STEPL_e, dRes_ID_ALANM_BCK_STEPL_e, 0x4, 0xA, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_STEPR_e, dRes_ID_ALANM_BCK_STEPR_e, 0x4, 0xA, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_STEPL_e, dRes_ID_ALANM_BCK_WAITD_e, 0x4, 0xA, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_STEPR_e, dRes_ID_ALANM_BCK_WAITD_e, 0x4, 0xA, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_WAITS_e, dRes_ID_ALANM_BCK_WAITS_e, 0x4, 0xA, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_WAITB_e, dRes_ID_ALANM_BCK_WAITB_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITBTOA_e, dRes_ID_ALANM_BCK_WAITBTOA_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FWAITBTOA_e, 0x0}, + {dRes_ID_ALANM_BCK_DASHB_e, dRes_ID_ALANM_BCK_DASHB_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSJLST_e, dRes_ID_ALANM_BCK_ATSJLST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FJMPB_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSJRST_e, dRes_ID_ALANM_BCK_ATSJRST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FJMPB_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSJLED_e, dRes_ID_ALANM_BCK_ATSJLED_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSJRED_e, dRes_ID_ALANM_BCK_ATSJRED_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSJBST_e, dRes_ID_ALANM_BCK_ATSJBST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FJMPB_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSJBED_e, dRes_ID_ALANM_BCK_ATSJBED_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ROLLF_e, dRes_ID_ALANM_BCK_ROLLF_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FJMPB_e, 0x0}, + {dRes_ID_ALANM_BCK_ROLLFMIS_e, dRes_ID_ALANM_BCK_ROLLFMIS_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_ROLLFGOOD_e, dRes_ID_ALANM_BCK_ROLLFGOOD_e, 0x1, 0x6, FTANM_ROLLFGOOD, dRes_ID_ALANM_BCK_FROLLFGOOD_e, 0x0}, + {dRes_ID_ALANM_BCK_ROLLBST_e, dRes_ID_ALANM_BCK_ROLLBST_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FJMPB_e, 0x0}, + {dRes_ID_ALANM_BCK_ROLLBED_e, dRes_ID_ALANM_BCK_ROLLBED_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_SLIP_e, dRes_ID_ALANM_BCK_SLIP_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CROUCH_e, dRes_ID_ALANM_BCK_CROUCH_e, 0xFE, 0xFE, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_CROUCHS_e, dRes_ID_ALANM_BCK_CROUCHS_e, 0xFE, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATDEFL_e, dRes_ID_ALANM_BCK_ATDEFL_e, 0xFE, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATDEFR_e, dRes_ID_ALANM_BCK_ATDEFR_e, 0xFE, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CROUCHDEFS_e, dRes_ID_ALANM_BCK_CROUCHDEFS_e, 0xFE, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATGPUSH_e, dRes_ID_ALANM_BCK_ATGPUSH_e, 0xFE, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATGPUSHRE_e, dRes_ID_ALANM_BCK_ATGPUSHRE_e, 0xFE, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATDEFNG_e, dRes_ID_ALANM_BCK_ATDEFNG_e, 0x1, 0x6, FTANM_ATDEFNG, dRes_ID_ALANM_BCK_FATDEFNG_e, 0x0}, + {dRes_ID_ALANM_BCK_JUMPST_e, dRes_ID_ALANM_BCK_JUMPST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FJMPA_e, 0x0}, + {dRes_ID_ALANM_BCK_JUMPS_e, dRes_ID_ALANM_BCK_JUMPS_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FJMPA_e, 0x0}, + {dRes_ID_ALANM_BCK_JUMPSED_e, dRes_ID_ALANM_BCK_JUMPSED_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LIE_e, dRes_ID_ALANM_BCK_LIE_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LIEF_e, dRes_ID_ALANM_BCK_LIEF_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITPP_e, dRes_ID_ALANM_BCK_WAITPP_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_PUSHW_e, dRes_ID_ALANM_BCK_PUSHW_e, 0xFE, 0xFE, FTANM_ARELORDTAME, dRes_ID_ALANM_BCK_FPUSHW_e, 0x0}, + {dRes_ID_ALANM_BCK_PUSHTSWST_e, dRes_ID_ALANM_BCK_PUSHTSWST_e, 0xFE, 0xFE, FTANM_MABA01_L, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_PUSHTSW_e, dRes_ID_ALANM_BCK_PUSHTSW_e, 0xFE, 0xFE, FTANM_MABA01_L, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_PULLW_e, dRes_ID_ALANM_BCK_PULLW_e, 0x0, 0x5, FTANM_PUSHW, dRes_ID_ALANM_BCK_FPULLW_e, 0x0}, + {dRes_ID_ALANM_BCK_PULLTSWST_e, dRes_ID_ALANM_BCK_PULLTSWST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_PULLTSW_e, dRes_ID_ALANM_BCK_PULLTSW_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_RIDEHL_e, dRes_ID_ALANM_BCK_RIDEHL_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_RIDEHR_e, dRes_ID_ALANM_BCK_RIDEHR_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_RIDEHB_e, dRes_ID_ALANM_BCK_RIDEHB_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_FALLHL_e, dRes_ID_ALANM_BCK_FALLHL_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_FALLHR_e, dRes_ID_ALANM_BCK_FALLHR_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_STOPS_e, dRes_ID_ALANM_BCK_STOPS_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_STOPSTOSTANDS_e, dRes_ID_ALANM_BCK_STOPSTOSTANDS_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_STANDS_e, dRes_ID_ALANM_BCK_STANDS_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_JUMPHSST_e, dRes_ID_ALANM_BCK_JUMPHSST_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_JUMPHS_e, dRes_ID_ALANM_BCK_JUMPHS_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_JUMPHSED_e, dRes_ID_ALANM_BCK_JUMPHSED_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITHS_e, dRes_ID_ALANM_BCK_WAITHS_e, 0x4, 0x5, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_WALKHAS_e, dRes_ID_ALANM_BCK_WALKHAS_e, 0x4, 0x5, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_WALKHBS_e, dRes_ID_ALANM_BCK_WALKHBS_e, 0x4, 0x5, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_DASHHAS_e, dRes_ID_ALANM_BCK_DASHHAS_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_DASHHBS_e, dRes_ID_ALANM_BCK_DASHHBS_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_WSTARTH_e, dRes_ID_ALANM_BCK_WAITHS_e, 0x4, 0x5, FTANM_0, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_DSTARTHS_e, dRes_ID_ALANM_BCK_DSTARTHS_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FCUT_e, 0x0}, + {dRes_ID_ALANM_BCK_LASHS_e, dRes_ID_ALANM_BCK_LASHS_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FCUTE_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTHTB_e, dRes_ID_ALANM_BCK_CUTHTB_e, 0x64, 0x5, FTANM_CUTHTB, dRes_ID_ALANM_BCK_FCUTHTB_e, 0x0}, + {dRes_ID_ALANM_BCK_SWAITHA_e, dRes_ID_ALANM_BCK_SWAITHA_e, 0x4, 0x5, FTANM_SWAITHA, dRes_ID_ALANM_BCK_FSWAITHA_e, 0x0}, + {dRes_ID_ALANM_BCK_SWAITHB_e, dRes_ID_ALANM_BCK_SWAITHB_e, 0x4, 0x5, FTANM_SWIATHB, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_DIEHUP_e, dRes_ID_ALANM_BCK_DIEHUP_e, 0x4, 0xA, FTANM_DIEHUP, dRes_ID_ALANM_BCK_FDIEHUP_e, 0x0}, + {dRes_ID_ALANM_BCK_TURNBS_e, dRes_ID_ALANM_BCK_TURNBS_e, 0x4, 0x5, FTANM_TURNBS, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_WAITHLIE_e, dRes_ID_ALANM_BCK_WAITHLIE_e, 0x4, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_SPILLHL_e, dRes_ID_ALANM_BCK_SPILLHL_e, 0x4, 0x5, FTANM_SPILLH, dRes_ID_ALANM_BCK_FSPILLH_e, 0x0}, + {dRes_ID_ALANM_BCK_SPILLHR_e, dRes_ID_ALANM_BCK_SPILLHR_e, 0x4, 0x5, FTANM_SPILLH, dRes_ID_ALANM_BCK_FSPILLH_e, 0x0}, + {dRes_ID_ALANM_BCK_HANGHL_e, dRes_ID_ALANM_BCK_HANGHL_e, 0x4, 0x5, FTANM_HANGH, dRes_ID_ALANM_BCK_FHANGH_e, 0x0}, + {dRes_ID_ALANM_BCK_HANGHR_e, dRes_ID_ALANM_BCK_HANGHR_e, 0x4, 0x5, FTANM_HANGH, dRes_ID_ALANM_BCK_FHANGH_e, 0x0}, + {dRes_ID_ALANM_BCK_TURNLS_e, dRes_ID_ALANM_BCK_TURNLS_e, 0x4, 0x5, FTANM_TURNLS, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_TURNRS_e, dRes_ID_ALANM_BCK_TURNRS_e, 0x4, 0x5, FTANM_TURNRS, 0x0, 0x0}, + {dRes_ID_ALANM_BCK_RIDEWL_e, dRes_ID_ALANM_BCK_RIDEWL_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_RIDEWR_e, dRes_ID_ALANM_BCK_RIDEWR_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_FALLWL_e, dRes_ID_ALANM_BCK_FALLWL_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_FALLWR_e, dRes_ID_ALANM_BCK_FALLWR_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITWB_e, dRes_ID_ALANM_BCK_WAITWB_e, 0xFE, 0xFE, FTANM_WAITHDB, dRes_ID_ALANM_BCK_FWAITWB_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITWATOWB_e, dRes_ID_ALANM_BCK_WAITWATOWB_e, 0x4, 0x5, FTANM_WAITWATOWB, dRes_ID_ALANM_BCK_FWAITWATOWB_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTA_e, dRes_ID_ALANM_BCK_CUTA_e, 0x64, 0x6, FTANM_CUTA, dRes_ID_ALANM_BCK_FCUTA_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTL_e, dRes_ID_ALANM_BCK_CUTL_e, 0x0, 0x6, FTANM_CUTL, dRes_ID_ALANM_BCK_FCUTL_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTR_e, dRes_ID_ALANM_BCK_CUTR_e, 0x0, 0x6, FTANM_CUTR, dRes_ID_ALANM_BCK_FCUTR_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTFL_e, dRes_ID_ALANM_BCK_CUTFL_e, 0x64, 0x6, FTANM_CUTF, dRes_ID_ALANM_BCK_FCUTF_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTFR_e, dRes_ID_ALANM_BCK_CUTFR_e, 0x64, 0x6, FTANM_CUTF, dRes_ID_ALANM_BCK_FCUTF_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEA_e, dRes_ID_ALANM_BCK_CUTEA_e, 0x64, 0x6, FTANM_CUTEA, dRes_ID_ALANM_BCK_FCUTEA_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEB_e, dRes_ID_ALANM_BCK_CUTEB_e, 0x64, 0x6, FTANM_CUTEB, dRes_ID_ALANM_BCK_FCUTEB_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEC_e, dRes_ID_ALANM_BCK_CUTEC_e, 0x64, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FCUTE_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEF_e, dRes_ID_ALANM_BCK_CUTEF_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEE_e, dRes_ID_ALANM_BCK_CUTEE_e, 0x64, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEG_e, dRes_ID_ALANM_BCK_CUTEG_e, 0x64, 0x5, FTANM_CUTEG, dRes_ID_ALANM_BCK_FCUTEG_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEDST_e, dRes_ID_ALANM_BCK_CUTEDST_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEDED_e, dRes_ID_ALANM_BCK_CUTEDED_e, 0x64, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTREL_e, dRes_ID_ALANM_BCK_CUTREL_e, 0x0, 0x6, FTANM_CUTRE, dRes_ID_ALANM_BCK_FCUTRE_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTRER_e, dRes_ID_ALANM_BCK_CUTRER_e, 0x0, 0x6, FTANM_CUTRE, dRes_ID_ALANM_BCK_FCUTRE_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTJST_e, dRes_ID_ALANM_BCK_CUTJST_e, 0x64, 0x6, FTANM_CUTJST, dRes_ID_ALANM_BCK_FCUTJST_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTJED_e, dRes_ID_ALANM_BCK_CUTJED_e, 0x64, 0x6, FTANM_CUTJED, dRes_ID_ALANM_BCK_FCUTJED_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTTB_e, dRes_ID_ALANM_BCK_CUTTB_e, 0x64, 0x6, FTANM_CUTTB, dRes_ID_ALANM_BCK_FCUTTB_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTT_e, dRes_ID_ALANM_BCK_CUTT_e, 0x64, 0x6, FTANM_CUTT, dRes_ID_ALANM_BCK_FCUTT_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTTP_e, dRes_ID_ALANM_BCK_CUTTP_e, 0x0, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTTPWFB_e, dRes_ID_ALANM_BCK_CUTTPWFB_e, 0x64, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTTPWLR_e, dRes_ID_ALANM_BCK_CUTTPWLR_e, 0x64, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTUST_e, dRes_ID_ALANM_BCK_CUTUST_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FCUTE_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTU_e, dRes_ID_ALANM_BCK_CUTU_e, 0x0, 0x5, FTANM_CUTU, dRes_ID_ALANM_BCK_FCUTU_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTUED_e, dRes_ID_ALANM_BCK_CUTUED_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FCUTUED_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTUNG_e, dRes_ID_ALANM_BCK_CUTUNG_e, 0x64, 0x5, FTANM_CUTUNG, dRes_ID_ALANM_BCK_FCUTUNG_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEHST_e, dRes_ID_ALANM_BCK_CUTEHST_e, 0x0, 0x6, FTANM_CUTEHST, dRes_ID_ALANM_BCK_FCUTEHST_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEH_e, dRes_ID_ALANM_BCK_CUTEH_e, 0x0, 0x6, FTANM_CUTEH, dRes_ID_ALANM_BCK_FCUTEH_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTEHED_e, dRes_ID_ALANM_BCK_CUTEHED_e, 0x0, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMF_e, dRes_ID_ALANM_BCK_DAMF_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMB_e, dRes_ID_ALANM_BCK_DAMB_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_DAML_e, dRes_ID_ALANM_BCK_DAML_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMR_e, dRes_ID_ALANM_BCK_DAMR_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFF_e, dRes_ID_ALANM_BCK_DAMFF_e, 0xFE, 0xFE, FTANM_C_A, dRes_ID_ALANM_BCK_FC_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFB_e, dRes_ID_ALANM_BCK_DAMFB_e, 0xFE, 0xFE, FTANM_C_A, dRes_ID_ALANM_BCK_FC_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFL_e, dRes_ID_ALANM_BCK_DAMFL_e, 0xFE, 0xFE, FTANM_C_A, dRes_ID_ALANM_BCK_FC_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFR_e, dRes_ID_ALANM_BCK_DAMFR_e, 0xFE, 0xFE, FTANM_C_A, dRes_ID_ALANM_BCK_FC_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFFUP_e, dRes_ID_ALANM_BCK_DAMFFUP_e, 0xFE, 0xFE, FTANM_DAMFFUP, dRes_ID_ALANM_BCK_FDAMFFUP_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFBUP_e, dRes_ID_ALANM_BCK_DAMFBUP_e, 0xFE, 0xFE, FTANM_DAMFBUP, dRes_ID_ALANM_BCK_FDAMFBUP_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFLUP_e, dRes_ID_ALANM_BCK_DAMFLUP_e, 0xFE, 0xFE, FTANM_DAMFRLUP, dRes_ID_ALANM_BCK_FDAMFRLUP_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFRUP_e, dRes_ID_ALANM_BCK_DAMFRUP_e, 0xFE, 0xFE, FTANM_DAMFRLUP, dRes_ID_ALANM_BCK_FDAMFRLUP_e, 0x0}, + {dRes_ID_ALANM_BCK_DAM_e, dRes_ID_ALANM_BCK_DAM_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_LANDDAMA_e, dRes_ID_ALANM_BCK_LANDDAMA_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_LANDDAMAST_e, dRes_ID_ALANM_BCK_LANDDAMAST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_FINISHA_e, dRes_ID_ALANM_BCK_FINISHA_e, 0x0, 0x6, FTANM_MABAGOMA, dRes_ID_ALANM_BCK_FFINISHA_e, 0x0}, + {dRes_ID_ALANM_BCK_FINISHED_e, dRes_ID_ALANM_BCK_FINISHED_e, 0x0, 0xA, FTANM_DAM01, dRes_ID_ALANM_BCK_FFINISHED_e, 0x0}, + {dRes_ID_ALANM_BCK_SWAITA_e, dRes_ID_ALANM_BCK_SWAITA_e, 0x4, 0xA, FTANM_SWAITA, dRes_ID_ALANM_BCK_FSWAITA_e, 0x0}, + {dRes_ID_ALANM_BCK_VJMP_e, dRes_ID_ALANM_BCK_VJMP_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_VJMPCHA_e, dRes_ID_ALANM_BCK_VJMPCHA_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_VJMPCHB_e, dRes_ID_ALANM_BCK_VJMPCHB_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_VJMPCL_e, dRes_ID_ALANM_BCK_VJMPCL_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_HANG_e, dRes_ID_ALANM_BCK_HANG_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_HANGUP_e, dRes_ID_ALANM_BCK_HANGUP_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_HANGL_e, dRes_ID_ALANM_BCK_HANGL_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_HANGR_e, dRes_ID_ALANM_BCK_HANGR_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LADUPST_e, dRes_ID_ALANM_BCK_LADUPST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LADUPEDL_e, dRes_ID_ALANM_BCK_LADUPEDL_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LADUPEDR_e, dRes_ID_ALANM_BCK_LADUPEDR_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LADDWST_e, dRes_ID_ALANM_BCK_LADDWST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LADDWEDL_e, dRes_ID_ALANM_BCK_LADDWEDL_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LADDWEDR_e, dRes_ID_ALANM_BCK_LADDWEDR_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LADRTOL_e, dRes_ID_ALANM_BCK_LADRTOL_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LADLTOR_e, dRes_ID_ALANM_BCK_LADLTOR_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CLIMBHANG_e, dRes_ID_ALANM_BCK_CLIMBHANG_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CLIMBST_e, dRes_ID_ALANM_BCK_CLIMBST_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CLIMBL_e, dRes_ID_ALANM_BCK_CLIMBL_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CLIMBR_e, dRes_ID_ALANM_BCK_CLIMBR_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CLIMBSLIDEL_e, dRes_ID_ALANM_BCK_CLIMBSLIDEL_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CLIMBSLIDER_e, dRes_ID_ALANM_BCK_CLIMBSLIDER_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CLIMBHANGMISS_e, dRes_ID_ALANM_BCK_CLIMBHANGMISS_e, 0x3, 0x9, FTANM_CLIMBHANGMISS, dRes_ID_ALANM_BCK_FCLIMBHANGMISS_e, 0x0}, + {dRes_ID_ALANM_BCK_ROOFUP_e, dRes_ID_ALANM_BCK_ROOFUP_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ROOFWAIT_e, dRes_ID_ALANM_BCK_ROOFWAIT_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ROOFF_e, dRes_ID_ALANM_BCK_ROOFF_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ROOFL_e, dRes_ID_ALANM_BCK_ROOFL_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ROOFR_e, dRes_ID_ALANM_BCK_ROOFR_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ROOFTURN_e, dRes_ID_ALANM_BCK_ROOFTURN_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ROOFHANG_e, dRes_ID_ALANM_BCK_ROOFHANG_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_GRABP_e, dRes_ID_ALANM_BCK_GRABP_e, 0xFE, 0xFE, FTANM_GRABP, dRes_ID_ALANM_BCK_FGRABP_e, 0x0}, + {dRes_ID_ALANM_BCK_GRABUP_e, dRes_ID_ALANM_BCK_GRABUP_e, 0xFE, 0xFE, FTANM_GRABUP, dRes_ID_ALANM_BCK_FGRABUP_e, 0x0}, + {dRes_ID_ALANM_BCK_GRABTHROW_e, dRes_ID_ALANM_BCK_GRABTHROW_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FGRABTHROW_e, 0x0}, + {dRes_ID_ALANM_BCK_HEAVYTHROW_e, dRes_ID_ALANM_BCK_HEAVYTHROW_e, 0xFE, 0xFE, FTANM_HEAVYTHROW, dRes_ID_ALANM_BCK_FHEAVYTHROW_e, 0x0}, + {dRes_ID_ALANM_BCK_GRABNG_e, dRes_ID_ALANM_BCK_GRABNG_e, 0xFE, 0xFE, FTANM_GRABNG, dRes_ID_ALANM_BCK_FGRABNG_e, 0x0}, + {dRes_ID_ALANM_BCK_GRABRE_e, dRes_ID_ALANM_BCK_GRABRE_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FGRABRE_e, 0x0}, + {dRes_ID_ALANM_BCK_CARRY_e, dRes_ID_ALANM_BCK_CARRY_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITD_e, dRes_ID_ALANM_BCK_WAITD_e, 0x4, 0xA, FTANM_MABA01, dRes_ID_ALANM_BCK_FWAITD_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITATOD_e, dRes_ID_ALANM_BCK_WAITATOD_e, 0x4, 0xA, FTANM_MABA01, dRes_ID_ALANM_BCK_FWAITATOD_e, 0x0}, + {dRes_ID_ALANM_BCK_TALKA_e, dRes_ID_ALANM_BCK_TALKA_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITST_e, dRes_ID_ALANM_BCK_WAITST_e, 0x1, 0x6, FTANM_PULLW, dRes_ID_ALANM_BCK_FWAITST_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTST_e, dRes_ID_ALANM_BCK_CUTST_e, 0x1, 0x6, FTANM_WAITST, dRes_ID_ALANM_BCK_FCUTST_e, 0x0}, + {dRes_ID_ALANM_BCK_BOOMCATCH_e, dRes_ID_ALANM_BCK_BOOMCATCH_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_WALKSLOPEW_e, dRes_ID_ALANM_BCK_WALKSLOPEW_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SLIDEF_e, dRes_ID_ALANM_BCK_SLIDEF_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SLIDEB_e, dRes_ID_ALANM_BCK_SLIDEB_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SLIDEFED_e, dRes_ID_ALANM_BCK_SLIDEFED_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SLIDEBED_e, dRes_ID_ALANM_BCK_SLIDEBED_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMINGA_e, dRes_ID_ALANM_BCK_SWIMINGA_e, 0xFE, 0xFE, FTANM_SWIMINGA, dRes_ID_ALANM_BCK_FSWIMINGA_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMP_e, dRes_ID_ALANM_BCK_SWIMP_e, 0xFE, 0xFE, FTANM_SWIMP, dRes_ID_ALANM_BCK_FSWIMP_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSSWL_e, dRes_ID_ALANM_BCK_ATSSWL_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATSSWR_e, dRes_ID_ALANM_BCK_ATSSWR_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_ATBSW_e, dRes_ID_ALANM_BCK_ATBSW_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMDASH_e, dRes_ID_ALANM_BCK_SWIMDASH_e, 0xFE, 0xFE, FTANM_MABA03, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMDIVE_e, dRes_ID_ALANM_BCK_SWIMDIVE_e, 0xFE, 0xFE, FTANM_SWIMDIVE, dRes_ID_ALANM_BCK_FSWIMDIVE_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMINGST_e, dRes_ID_ALANM_BCK_SWIMINGST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMINGC_e, dRes_ID_ALANM_BCK_SWIMINGC_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMSWF_e, dRes_ID_ALANM_BCK_DAMSWF_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMSWB_e, dRes_ID_ALANM_BCK_DAMSWB_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMSWL_e, dRes_ID_ALANM_BCK_DAMSWL_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMSWR_e, dRes_ID_ALANM_BCK_DAMSWR_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMSWW_e, dRes_ID_ALANM_BCK_DAMSWW_e, 0x1, 0x6, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_BOXOPSHORT_e, dRes_ID_ALANM_BCK_BOXOPSHORT_e, 0xFE, 0xFE, FTANM_BOXOPSHORT, dRes_ID_ALANM_BCK_FBOXOPSHORT_e, 0x0}, + {dRes_ID_ALANM_BCK_BOXOPKICK_e, dRes_ID_ALANM_BCK_BOXOPKICK_e, 0xFE, 0xFE, FTANM_BOXOPKICK, dRes_ID_ALANM_BCK_FBOXOPKICK_e, 0x0}, + {dRes_ID_ALANM_BCK_BOXOP_e, dRes_ID_ALANM_BCK_BOXOP_e, 0xFE, 0xFE, FTANM_BOXOP, dRes_ID_ALANM_BCK_FBOXOP_e, 0x0}, + {dRes_ID_ALANM_BCK_GETA_e, dRes_ID_ALANM_BCK_GETA_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FGET_e, 0x0}, + {dRes_ID_ALANM_BCK_GETAWAIT_e, dRes_ID_ALANM_BCK_GETAWAIT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FGETWAIT_e, 0x0}, + {dRes_ID_ALANM_BCK_GETAWAIT_e, dRes_ID_ALANM_BCK_WAITS_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FG_e, 0x0}, + {dRes_ID_ALANM_BCK_GETAWAIT_e, dRes_ID_ALANM_BCK_HOLDOUT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FG_e, 0x0}, + {dRes_ID_ALANM_BCK_TURNBACK_e, dRes_ID_ALANM_BCK_TURNBACK_e, 0x4, 0xA, FTANM_TURNBACK, dRes_ID_ALANM_BCK_FTURNBACK_e, 0x0}, + {dRes_ID_ALANM_BCK_VJMPST_e, dRes_ID_ALANM_BCK_VJMPST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FVJMPST_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITSIT_e, dRes_ID_ALANM_BCK_WAITSIT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITCANOER_e, dRes_ID_ALANM_BCK_WAITCANOEL_e, 0xFE, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITCANOER_e, dRes_ID_ALANM_BCK_WAITCANOER_e, 0x0, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITSIT_e, dRes_ID_ALANM_BCK_ROWL_e, 0xFE, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITSIT_e, dRes_ID_ALANM_BCK_ROWR_e, 0x0, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITSIT_e, dRes_ID_ALANM_BCK_ROWBL_e, 0xFE, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITSIT_e, dRes_ID_ALANM_BCK_ROWBR_e, 0x0, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITSIT_e, dRes_ID_ALANM_BCK_CHANGEHAND_e, 0xFE, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CANOEFISHL_e, dRes_ID_ALANM_BCK_CANOEFISHL_e, 0x2, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FF_e, 0x0}, + {dRes_ID_ALANM_BCK_CANOEFISHR_e, dRes_ID_ALANM_BCK_CANOEFISHR_e, 0x2, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FF_e, 0x0}, + {dRes_ID_ALANM_BCK_CANOEREELING_e, dRes_ID_ALANM_BCK_CANOEREELING_e, 0x2, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CANORELEASE_e, dRes_ID_ALANM_BCK_CANORELEASE_e, 0x2, 0x5, FTANM_CANORELEASE, dRes_ID_ALANM_BCK_FCANORELEASE_e, 0x0}, + {dRes_ID_ALANM_BCK_PADORUTOROD_e, dRes_ID_ALANM_BCK_PADORUTOROD_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_REELING_e, dRes_ID_ALANM_BCK_REELING_e, 0x2, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_REELINGLR_e, dRes_ID_ALANM_BCK_REELINGLR_e, 0x2, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LANDINGUP_e, dRes_ID_ALANM_BCK_LANDINGUP_e, 0x2, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_DOOROPA_e, dRes_ID_ALANM_BCK_DOOROPA_e, 0x4, 0xA, FTANM_DOOROPA, dRes_ID_ALANM_BCK_FDOOROPA_e, 0x0}, + {dRes_ID_ALANM_BCK_DOOROPB_e, dRes_ID_ALANM_BCK_DOOROPB_e, 0x4, 0xA, FTANM_DOOROPB, dRes_ID_ALANM_BCK_FDOOROPB_e, 0x0}, + {dRes_ID_ALANM_BCK_DOORLOCKA_e, dRes_ID_ALANM_BCK_DOORLOCKA_e, 0x3, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_DOORLOCKB_e, dRes_ID_ALANM_BCK_DOORLOCKB_e, 0x3, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_DOOROPC_e, dRes_ID_ALANM_BCK_DOOROPC_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_DOOROPD_e, dRes_ID_ALANM_BCK_DOOROPD_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_PICKUP_e, dRes_ID_ALANM_BCK_PICKUP_e, 0xFE, 0xFE, FTANM_PICKUP, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_ROOLJMP_e, dRes_ID_ALANM_BCK_ROOLJMP_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_MROLLL_e, dRes_ID_ALANM_BCK_MROLLL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_MROLLR_e, dRes_ID_ALANM_BCK_MROLLR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHWAIT_e, dRes_ID_ALANM_BCK_SHWAIT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHFRONT_e, dRes_ID_ALANM_BCK_SHFRONT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHCROUCH_e, dRes_ID_ALANM_BCK_SHCROUCH_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHSTOP_e, dRes_ID_ALANM_BCK_SHSTOP_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHJUMPST_e, dRes_ID_ALANM_BCK_SHJUMPST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHJUMP_e, dRes_ID_ALANM_BCK_SHJUMP_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHJUMPED_e, dRes_ID_ALANM_BCK_SHJUMPED_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHKICK_e, dRes_ID_ALANM_BCK_SHKICK_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHTP_e, dRes_ID_ALANM_BCK_SHTP_e, 0x64, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SHT_e, dRes_ID_ALANM_BCK_SHT_e, 0x64, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_ROPESWING_e, dRes_ID_ALANM_BCK_ROPESWING_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CHANGEATOW_e, dRes_ID_ALANM_BCK_CHANGEATOW_e, 0xFE, 0xFE, FTANM_CHANGEATOW, dRes_ID_ALANM_BCK_FCHANGEATOW_e, 0x0}, + {dRes_ID_ALANM_BCK_CHANGEWTOA_e, dRes_ID_ALANM_BCK_CHANGEWTOA_e, 0xFE, 0xFE, FTANM_CHANGEWTOA, dRes_ID_ALANM_BCK_FCHANGEWTOA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITWIND_e, dRes_ID_ALANM_BCK_WAITWIND_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FWAITWIND_e, 0x0}, + {dRes_ID_ALANM_BCK_BINDRINKST_e, dRes_ID_ALANM_BCK_BINDRINKST_e, 0x3, 0xFE, FTANM_BINDRINKST, dRes_ID_ALANM_BCK_FBINDRINKST_e, 0x0}, + {dRes_ID_ALANM_BCK_BINDRINK_e, dRes_ID_ALANM_BCK_BINDRINK_e, 0x3, 0xFE, FTANM_BINDRINK, dRes_ID_ALANM_BCK_FBINDRINK_e, 0x0}, + {dRes_ID_ALANM_BCK_BINDRINKED_e, dRes_ID_ALANM_BCK_BINDRINKED_e, 0x3, 0xFE, FTANM_BINDRINKED, dRes_ID_ALANM_BCK_FBINDRINKED_e, 0x0}, + {dRes_ID_ALANM_BCK_BINBAD_e, dRes_ID_ALANM_BCK_BINBAD_e, 0x3, 0xFE, FTANM_BINBAD, dRes_ID_ALANM_BCK_FBINBAD_e, 0x0}, + {dRes_ID_ALANM_BCK_BINOP_e, dRes_ID_ALANM_BCK_BINOP_e, 0x3, 0xFE, FTANM_BINOP, dRes_ID_ALANM_BCK_FBINOP_e, 0x0}, + {dRes_ID_ALANM_BCK_BINOUT_e, dRes_ID_ALANM_BCK_BINOUT_e, 0x3, 0x5, FTANM_BINOUT, dRes_ID_ALANM_BCK_FBINOUT_e, 0x0}, + {dRes_ID_ALANM_BCK_BINFAIRY_e, dRes_ID_ALANM_BCK_BINFAIRY_e, 0x3, 0x5, FTANM_BINFAIRY, dRes_ID_ALANM_BCK_FBINFAIRY_e, 0x0}, + {dRes_ID_ALANM_BCK_BINSWINGS_e, dRes_ID_ALANM_BCK_BINSWINGS_e, 0x3, 0xFE, FTANM_BINSWINGS, dRes_ID_ALANM_BCK_FBINSWINGS_e, 0x0}, + {dRes_ID_ALANM_BCK_BINSWINGU_e, dRes_ID_ALANM_BCK_BINSWINGU_e, 0x3, 0xFE, FTANM_BINSWINGU, dRes_ID_ALANM_BCK_FBINSWINGU_e, 0x0}, + {dRes_ID_ALANM_BCK_BINGET_e, dRes_ID_ALANM_BCK_BINGET_e, 0x3, 0xFE, FTANM_BINGET, dRes_ID_ALANM_BCK_FBINGET_e, 0x0}, + {dRes_ID_ALANM_BCK_BINSCOOP_e, dRes_ID_ALANM_BCK_BINSCOOP_e, 0x3, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_LIGHTING_e, dRes_ID_ALANM_BCK_LIGHTING_e, 0x0, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_POURST_e, dRes_ID_ALANM_BCK_POURST_e, 0x0, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_POUR_e, dRes_ID_ALANM_BCK_POUR_e, 0x0, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_POURED_e, dRes_ID_ALANM_BCK_POURED_e, 0x0, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_GRASSAST_e, dRes_ID_ALANM_BCK_GRASSAST_e, 0x2, 0xFE, FTANM_GRASSAST, dRes_ID_ALANM_BCK_FGRASSAST_e, 0x0}, + {dRes_ID_ALANM_BCK_GRASSAPLAY_e, dRes_ID_ALANM_BCK_GRASSAPLAY_e, 0x2, 0xFE, FTANM_E_A, dRes_ID_ALANM_BCK_FGRASSAPLAY_e, 0x0}, + {dRes_ID_ALANM_BCK_CATCHTAKA_e, dRes_ID_ALANM_BCK_CATCHTAKA_e, 0x2, 0xFE, FTANM_CATCHTAKA, dRes_ID_ALANM_BCK_FCATCHTAKA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITTAKA_e, dRes_ID_ALANM_BCK_WAITTAKA_e, 0x2, 0xFE, FTANM_CATCHTAKA, dRes_ID_ALANM_BCK_FCATCHTAKA_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITDB_e, dRes_ID_ALANM_BCK_WAITDB_e, 0x1, 0x6, FTANM_CUTST, dRes_ID_ALANM_BCK_FWAITST_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITHDB_e, dRes_ID_ALANM_BCK_WAITHDB_e, 0x1, 0x6, FTANM_A_WAITST, dRes_ID_ALANM_BCK_FWAITHDB_e, 0x0}, + {dRes_ID_ALANM_BCK_MGKICK_e, dRes_ID_ALANM_BCK_MGKICK_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_DIE_e, dRes_ID_ALANM_BCK_DIE_e, 0x4, 0xA, FTANM_DIE, dRes_ID_ALANM_BCK_FDIE_e, 0x0}, + {dRes_ID_ALANM_BCK_DIEH_e, dRes_ID_ALANM_BCK_DIEH_e, 0x4, 0xA, FTANM_DIEH, dRes_ID_ALANM_BCK_FDIEH_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMDIEA_e, dRes_ID_ALANM_BCK_SWIMDIEA_e, 0xFE, 0xFE, FTANM_SWIMDIEA, dRes_ID_ALANM_BCK_FSWIMDIEA_e, 0x0}, + {dRes_ID_ALANM_BCK_SWIMDIEP_e, dRes_ID_ALANM_BCK_SWIMDIEP_e, 0xFE, 0xFE, FTANM_SWIMDIEP, dRes_ID_ALANM_BCK_FSWIMDIEP_e, 0x0}, + {dRes_ID_ALANM_BCK_COWAT_e, dRes_ID_ALANM_BCK_COWAT_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FCOWAT_e, 0x0}, + {dRes_ID_ALANM_BCK_COWCATCHST_e, dRes_ID_ALANM_BCK_COWCATCHST_e, 0x3, 0x9, FTANM_COWCATCHST, dRes_ID_ALANM_BCK_FCOWCATCHST_e, 0x0}, + {dRes_ID_ALANM_BCK_COWCATCH_e, dRes_ID_ALANM_BCK_COWCATCH_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_COWAD_e, dRes_ID_ALANM_BCK_COWAD_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_COWPRESS_e, dRes_ID_ALANM_BCK_COWPRESS_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_COWTHROWL_e, dRes_ID_ALANM_BCK_COWTHROWL_e, 0x3, 0x9, FTANM_COWTHROW_L, dRes_ID_ALANM_BCK_FCOWTHROW_e, 0x0}, + {dRes_ID_ALANM_BCK_COWTHROWR_e, dRes_ID_ALANM_BCK_COWTHROWR_e, 0x3, 0x9, FTANM_COWTHROW_R, dRes_ID_ALANM_BCK_FCOWTHROW_e, 0x0}, + {dRes_ID_ALANM_BCK_ATR_e, dRes_ID_ALANM_BCK_COWWAIT_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_COWWLR_e, dRes_ID_ALANM_BCK_COWWLR_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_COWSTROKE_e, dRes_ID_ALANM_BCK_COWSTROKE_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FF_e, 0x0}, + {dRes_ID_ALANM_BCK_ENTRANCE_e, dRes_ID_ALANM_BCK_ENTRANCE_e, 0x4, 0xA, FTANM_ENTRANCE, dRes_ID_ALANM_BCK_FENTRANCE_e, 0x0}, + {dRes_ID_ALANM_BCK_FALL_e, dRes_ID_ALANM_BCK_FALL_e, 0xFE, 0xFE, FTANM_C_A, dRes_ID_ALANM_BCK_FC_e, 0x0}, + {dRes_ID_ALANM_BCK_APPEARANCE_e, dRes_ID_ALANM_BCK_APPEARANCE_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_SJMPST_e, dRes_ID_ALANM_BCK_SJMPST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_SJMPED_e, dRes_ID_ALANM_BCK_SJMPED_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_HSJMPL_e, dRes_ID_ALANM_BCK_HSJMPL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSJMPR_e, dRes_ID_ALANM_BCK_HSJMPR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSSHOOT_e, dRes_ID_ALANM_BCK_HSSHOOT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGEDL_e, dRes_ID_ALANM_BCK_HSHANGEDL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGEDR_e, dRes_ID_ALANM_BCK_HSHANGEDR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGL_e, dRes_ID_ALANM_BCK_HSHANGL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGR_e, dRes_ID_ALANM_BCK_HSHANGR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGWAITL_e, dRes_ID_ALANM_BCK_HSHANGWAITL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGWAITR_e, dRes_ID_ALANM_BCK_HSHANGWAITR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGSHOOTL_e, dRes_ID_ALANM_BCK_HSHANGSHOOTL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGSHOOTR_e, dRes_ID_ALANM_BCK_HSHANGSHOOTR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGLH_e, dRes_ID_ALANM_BCK_HSHANGLH_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSHANGRH_e, dRes_ID_ALANM_BCK_HSHANGRH_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSWALLEDL_e, dRes_ID_ALANM_BCK_HSWALLEDL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSWALLEDR_e, dRes_ID_ALANM_BCK_HSWALLEDR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSWALLL_e, dRes_ID_ALANM_BCK_HSWALLL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSWALLR_e, dRes_ID_ALANM_BCK_HSWALLR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSWALLWAITL_e, dRes_ID_ALANM_BCK_HSWALLWAITL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSWALLWAITR_e, dRes_ID_ALANM_BCK_HSWALLWAITR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSWALLSHOOTL_e, dRes_ID_ALANM_BCK_HSWALLSHOOTL_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_HSWALLSHOOTR_e, dRes_ID_ALANM_BCK_HSWALLSHOOTR_e, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_PUTONH_e, dRes_ID_ALANM_BCK_PUTONH_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FPUTONH_e, 0x0}, + {0x102E, 0x102E, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x102D, 0x102D, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x100A, 0x100A, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1008, 0x1008, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1009, 0x1009, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1007, 0x1007, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1021, 0x1021, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1023, 0x1023, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1022, 0x1022, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1024, 0x1024, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1025, 0x1025, 0xFE, 0xFE, FTANM_UNK_94, 0x1011, 0x0}, + {0x1028, 0x1028, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1029, 0x1029, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1026, 0x1026, 0xFE, 0xFE, FTANM_UNK_95, 0x1012, 0x0}, + {0x1027, 0x1027, 0xFE, 0xFE, FTANM_UNK_95, 0x1012, 0x0}, + {0x102A, 0x102A, 0xFE, 0xFE, FTANM_UNK_99, 0x1013, 0x0}, + {0x1019, 0x1019, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x101B, 0x101B, 0xFE, 0xFE, FTANM_UNK_97, 0x100E, 0x0}, + {0x101C, 0x101C, 0xFE, 0xFE, FTANM_UNK_98, 0x100F, 0x0}, + {0x101A, 0x101A, 0xFE, 0xFE, FTANM_UNK_96, 0x100D, 0x0}, + {0x1020, 0x1020, 0xFE, 0xFE, FTANM_UNK_95, 0x1012, 0x0}, + {0x101D, 0x101D, 0xFE, 0xFE, FTANM_UNK_101, 0x1010, 0x0}, + {0x1017, 0x1017, 0xFE, 0xFE, FTANM_UNK_100, 0x100C, 0x0}, + {0x1018, 0x1018, 0xFE, 0xFE, FTANM_UNK_100, 0x100C, 0x0}, + {0x102B, 0x102B, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x102C, 0x102C, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1015, 0x1015, 0xFE, 0xFE, FTANM_UNK_102, 0x100B, 0x0}, + {0x1016, 0x1016, 0xFE, 0xFE, FTANM_UNK_102, 0x100B, 0x0}, + {0x1006, 0x1006, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x1014, 0x1014, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x101E, 0x101E, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x101F, 0x101F, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_DAMFBW_e, dRes_ID_ALANM_BCK_DAMFBW_e, 0xFE, 0xFE, FTANM_DAMFBW, dRes_ID_ALANM_BCK_FDAMFBW_e, 0x0}, + {dRes_ID_ALANM_BCK_IBWAIT_e, dRes_ID_ALANM_BCK_IBWAIT_e, 0xFE, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_IBWALK_e, dRes_ID_ALANM_BCK_IBWALK_e, 0xFE, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_IBATTACK_e, dRes_ID_ALANM_BCK_IBATTACK_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_IBTURN_e, dRes_ID_ALANM_BCK_IBTURN_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_IBTHROW_e, dRes_ID_ALANM_BCK_IBTHROW_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_IBPULL_e, dRes_ID_ALANM_BCK_IBPULL_e, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_IBCATCH_e, dRes_ID_ALANM_BCK_IBCATCH_e, 0xFE, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_IBDEF_e, dRes_ID_ALANM_BCK_IBDEF_e, 0xFE, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x200C, 0x200C, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x200D, 0x200D, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x200E, 0x200E, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x200F, 0x200F, 0x64, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x2009, 0x2009, 0x64, 0x9, FTANM_UNK_103, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x200A, 0x200A, 0x64, 0x9, FTANM_UNK_104, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x200B, 0x200B, 0x64, 0xA, FTANM_UNK_105, 0x2008, 0x0}, + {0x2010, 0x2010, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {0x500D, 0x500D, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x500E, 0x500E, 0x1, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x500A, 0x500A, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x500B, 0x500B, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x500C, 0x500C, 0x64, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x5007, 0x5007, 0x64, 0x9, FTANM_UNK_106, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x5008, 0x5008, 0x64, 0x9, FTANM_UNK_107, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x5009, 0x5009, 0x64, 0xA, FTANM_UNK_108, 0x500F, 0x0}, + {dRes_ID_ALANM_BCK_RODSWING_e, dRes_ID_ALANM_BCK_RODSWING_e, 0x2, 0x5, FTANM_RODSWING, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_RODSWINGL_e, dRes_ID_ALANM_BCK_RODSWINGL_e, 0x2, 0x5, FTANM_RODSWINGL, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_GETSWL_e, dRes_ID_ALANM_BCK_GETSWL_e, 0x2, 0xA, FTANM_GETSWL, dRes_ID_ALANM_BCK_FGETSWL_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITF_e, dRes_ID_ALANM_BCK_WAITF_e, 0x3, 0x9, FTANM_B_A, dRes_ID_ALANM_BCK_FB_e, 0x0}, + {dRes_ID_ALANM_BCK_NUMBA_e, dRes_ID_ALANM_BCK_NUMBA_e, 0x3, 0x9, FTANM_C_A, dRes_ID_ALANM_BCK_FC_e, 0x0}, + {dRes_ID_ALANM_BCK_NUMBB_e, dRes_ID_ALANM_BCK_NUMBB_e, 0x3, 0x9, FTANM_C_A, dRes_ID_ALANM_BCK_FC_e, 0x0}, + {dRes_ID_ALANM_BCK_KEYCATCHH_e, dRes_ID_ALANM_BCK_KEYCATCHH_e, 0x4, 0x5, FTANM_KEYCATCHH, dRes_ID_ALANM_BCK_FKEYCATCHH_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITHS_e, dRes_ID_ALANM_BCK_GETAWAIT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FGETWAIT_e, 0x0}, + {0x3004, 0x3004, 0x1, 0x6, FTANM_0, 0x3003, 0x0}, + {dRes_ID_ALANM_BCK_CHAINPICKUP_e, dRes_ID_ALANM_BCK_CHAINPICKUP_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_CHAIN_e, dRes_ID_ALANM_BCK_CHAIN_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CHAINFM_e, dRes_ID_ALANM_BCK_CHAINFM_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CHAINED_e, dRes_ID_ALANM_BCK_CHAINED_e, 0x3, 0x9, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_WAITINSECT_e, dRes_ID_ALANM_BCK_WAITINSECT_e, 0x4, 0xA, FTANM_WAITINSECT, dRes_ID_ALANM_BCK_FWAITINSECT_e, 0x0}, + {dRes_ID_ALANM_BCK_DEMOMHOP_e, dRes_ID_ALANM_BCK_DEMOMHOP_e, 0x4, 0xA, FTANM_DEMOMHOP, dRes_ID_ALANM_BCK_FDEMOMHOP_e, 0x0}, + {dRes_ID_ALANM_BCK_HANGIBT_e, dRes_ID_ALANM_BCK_HANGIBT_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_WARASHIBE_e, dRes_ID_ALANM_BCK_WARASHIBE_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FWARASHIBE_e, 0x0}, + {dRes_ID_ALANM_BCK_WARASHIBE_WAIT_e, dRes_ID_ALANM_BCK_WARASHIBE_WAIT_e, 0x4, 0xA, FTANM_0, dRes_ID_ALANM_BCK_FG_e, 0x0}, + {dRes_ID_ALANM_BCK_DEMO_KAMAE_e, dRes_ID_ALANM_BCK_DEMO_KAMAE_e, 0x0, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTTJP_e, dRes_ID_ALANM_BCK_CUTTJP_e, 0x64, 0x6, FTANM_CUTTJP, dRes_ID_ALANM_BCK_FCUTTJP_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTTJST_e, dRes_ID_ALANM_BCK_CUTTJST_e, 0x64, 0x6, FTANM_CUTTJP, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTTJ_e, dRes_ID_ALANM_BCK_CUTTJ_e, 0x64, 0x6, FTANM_CUTTJ, dRes_ID_ALANM_BCK_FCUTTJ_e, 0x0}, + {dRes_ID_ALANM_BCK_CUTTJED_e, dRes_ID_ALANM_BCK_CUTTJED_e, 0x64, 0x6, FTANM_CUTTJED, dRes_ID_ALANM_BCK_FCUTTJED_e, 0x0}, + {0x600B, 0x600B, 0x0, 0xA, FTANM_UNK_133, 0x6009, 0x0}, + {0x600C, 0x600C, 0x0, 0x5, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x600A, 0x600A, 0x64, 0x5, FTANM_0, 0x6008, 0x0}, + {0x700A, 0x700A, 0x0, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x700B, 0x700B, 0x0, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x700C, 0x700C, 0x0, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x700E, 0x700E, 0x0, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x700D, 0x700D, 0x0, 0x6, FTANM_0, dRes_ID_ALANM_BCK_FAT_e, 0x0}, + {0x7008, 0x7008, 0x0, 0x5, FTANM_UNK_134, 0x7010, 0x0}, + {0x7009, 0x7009, 0x0, 0x5, FTANM_0, 0x7011, 0x0}, + {dRes_ID_ALANM_BCK_WAITHS_e, 0x700F, 0x4, 0x5, FTANM_UNK_135, 0x7012, 0x0}, + {dRes_ID_ALANM_BCK_JUMPBST_e, dRes_ID_ALANM_BCK_JUMPBST_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_JUMPB_e, dRes_ID_ALANM_BCK_JUMPB_e, 0xFE, 0xFE, FTANM_0, dRes_ID_ALANM_BCK_FA_e, 0x0}, + {dRes_ID_ALANM_BCK_ODOROKU_e, dRes_ID_ALANM_BCK_ODOROKU_e, 0xFE, 0xFE, FTANM_ODOROKU, dRes_ID_ALANM_BCK_FODOROKU_e, 0x0}, + {dRes_ID_ALANM_BCK_ASHIMOTO_e, dRes_ID_ALANM_BCK_ASHIMOTO_e, 0xFE, 0xFE, FTANM_ASHIMOTO, dRes_ID_ALANM_BCK_FASHIMOTO_e, 0x0}, }; -daAlink_WlAnmData const daAlink_c::m_wlAnmDataTable[147] = { - {767, 0, 1, 2600, 255, 255}, {778, 0, 2, 270, 255, 255}, - {779, 0, 2, 270, 255, 255}, {692, 0, 12, 65535, 255, 255}, - {716, 1, 12, 65535, 255, 255}, {714, 1, 12, 65535, 255, 255}, - {715, 1, 12, 65535, 255, 255}, {773, 0, 1, 4095, 255, 255}, - {736, 0, 7, 767, 255, 255}, {735, 0, 7, 1568, 255, 255}, - {734, 0, 12, 65535, 255, 255}, {745, 1, 0, 2047, 255, 255}, - {724, 1, 12, 65535, 255, 255}, {725, 2, 12, 65535, 255, 255}, - {774, 1, 0, 511, 255, 255}, {666, 1, 7, 2559, 255, 255}, - {766, 1, 5, 2559, 255, 255}, {668, 1, 5, 1023, 255, 255}, - {667, 1, 12, 65535, 255, 255}, {765, 1, 6, 6655, 255, 255}, - {764, 1, 12, 65535, 255, 255}, {763, 0, 8, 1023, 255, 255}, - {679, 0, 12, 65535, 255, 255}, {771, 0, 3, 2590, 50, 255}, - {768, 0, 3, 1791, 255, 255}, {706, 1, 5, 1791, 255, 255}, - {750, 1, 12, 65535, 255, 255}, {762, 1, 12, 65535, 255, 255}, - {638, 0, 12, 65535, 255, 255}, {780, 1, 2, 274, 255, 255}, - {746, 1, 12, 65535, 255, 255}, {747, 1, 12, 65535, 255, 255}, - {748, 2, 12, 65535, 255, 255}, {743, 0, 2, 270, 255, 255}, - {739, 1, 5, 5375, 255, 255}, {740, 1, 5, 6911, 255, 255}, - {742, 0, 12, 65535, 255, 255}, {744, 8, 1, 6450, 255, 255}, - {741, 9, 2, 270, 30, 45}, {693, 1, 12, 65535, 255, 255}, - {684, 2, 12, 65535, 255, 255}, {682, 2, 12, 65535, 255, 255}, - {686, 2, 12, 65535, 255, 255}, {688, 2, 12, 65535, 255, 255}, - {685, 2, 10, 8447, 255, 255}, {683, 2, 11, 5375, 255, 255}, - {687, 2, 12, 65535, 255, 255}, {689, 2, 12, 65535, 255, 255}, - {752, 0, 12, 65535, 255, 255}, {770, 0, 1, 2600, 255, 255}, - {719, 0, 12, 65535, 255, 255}, {720, 0, 12, 65535, 255, 255}, - {717, 0, 12, 65535, 255, 255}, {718, 0, 12, 65535, 255, 255}, - {759, 1, 12, 65535, 255, 255}, {760, 0, 1, 3583, 255, 255}, - {758, 0, 2, 511, 255, 255}, {755, 0, 4, 1023, 255, 255}, - {753, 1, 12, 65535, 255, 255}, {775, 0, 12, 65535, 255, 255}, - {681, 1, 12, 65535, 255, 255}, {680, 1, 12, 65535, 255, 255}, - {690, 1, 12, 65535, 255, 255}, {691, 1, 12, 65535, 255, 255}, - {653, 1, 12, 65535, 255, 255}, {654, 1, 12, 65535, 255, 255}, - {655, 0, 12, 65535, 255, 255}, {656, 1, 12, 65535, 255, 255}, - {639, 0, 12, 65535, 255, 255}, {641, 0, 12, 65535, 255, 255}, - {640, 0, 12, 65535, 255, 255}, {730, 0, 12, 65535, 255, 255}, - {645, 1, 12, 65535, 255, 255}, {644, 1, 12, 65535, 255, 255}, - {647, 1, 12, 65535, 255, 255}, {646, 1, 12, 65535, 255, 255}, - {643, 1, 12, 65535, 255, 255}, {642, 1, 12, 65535, 255, 255}, - {731, 0, 12, 65535, 255, 255}, {732, 0, 9, 2047, 255, 255}, - {652, 1, 12, 65535, 255, 255}, {648, 1, 12, 65535, 255, 255}, - {649, 1, 12, 65535, 255, 255}, {651, 1, 12, 65535, 255, 255}, - {650, 1, 12, 65535, 255, 255}, {661, 2, 12, 65535, 255, 255}, - {660, 2, 12, 65535, 255, 255}, {707, 1, 12, 65535, 255, 255}, - {709, 1, 12, 65535, 255, 255}, {708, 1, 12, 65535, 255, 255}, - {676, 0, 12, 65535, 255, 255}, {678, 0, 12, 65535, 255, 255}, - {710, 0, 12, 65535, 255, 255}, {711, 1, 12, 65535, 255, 255}, - {712, 1, 12, 65535, 255, 255}, {713, 0, 1, 7935, 255, 255}, - {722, 1, 12, 65535, 255, 255}, {723, 1, 10, 1279, 255, 255}, - {665, 0, 12, 65535, 255, 255}, {662, 1, 12, 65535, 255, 255}, - {663, 1, 12, 65535, 255, 255}, {664, 1, 11, 10495, 255, 255}, - {738, 1, 12, 65535, 255, 255}, {737, 1, 12, 65535, 255, 255}, - {697, 0, 11, 16895, 255, 255}, {698, 13, 12, 65535, 255, 255}, - {761, 0, 5, 14662, 85, 255}, {749, 1, 6, 511, 255, 255}, - {721, 1, 12, 65535, 255, 255}, {733, 0, 12, 65535, 255, 255}, - {677, 0, 12, 65535, 255, 255}, {674, 0, 12, 65535, 255, 255}, - {675, 0, 12, 65535, 255, 255}, {776, 1, 12, 65535, 255, 255}, - {751, 0, 12, 65535, 255, 255}, {694, 2, 4, 511, 255, 255}, - {659, 1, 12, 65535, 255, 255}, {657, 1, 12, 65535, 255, 255}, - {700, 0, 12, 65535, 255, 255}, {703, 0, 12, 65535, 255, 255}, - {670, 2, 12, 65535, 255, 255}, {669, 2, 12, 65535, 255, 255}, - {658, 1, 5, 4351, 255, 255}, {696, 6, 12, 65535, 255, 255}, - {756, 7, 12, 65535, 255, 255}, {757, 7, 12, 65535, 255, 255}, - {772, 2, 12, 65535, 255, 255}, {769, 0, 1, 4095, 255, 255}, - {754, 0, 1, 3885, 255, 255}, {727, 0, 12, 65535, 255, 255}, - {699, 3, 12, 65535, 255, 255}, {705, 1, 12, 65535, 255, 255}, - {704, 1, 0, 1535, 255, 255}, {777, 0, 1, 511, 255, 255}, - {671, 5, 12, 65535, 255, 255}, {728, 0, 12, 65535, 255, 255}, - {729, 2, 12, 65535, 255, 255}, {16387, 0, 12, 65535, 255, 255}, - {672, 0, 12, 65535, 255, 255}, {673, 0, 12, 65535, 255, 255}, - {726, 1, 0, 5178, 255, 255}, {32808, 10, 12, 65535, 255, 255}, - {32807, 10, 12, 65535, 255, 255}, {32810, 11, 12, 65535, 255, 255}, - {32809, 11, 12, 65535, 255, 255}, {32812, 12, 12, 65535, 255, 255}, - {32811, 12, 12, 65535, 255, 255}, +daAlink_WlAnmData const daAlink_c::m_wlAnmDataTable[daAlink_c::WANM_MAX] = { + {dRes_ID_ALANM_BCK_WL_WAITA_e, 0x0, 0x1, 10, 40, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WALKA_e, 0x0, 0x2, 1, 14, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WALKB_e, 0x0, 0x2, 1, 14, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DASHA_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_JUMPAST_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_JUMPA_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_JUMPAED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITPP_e, 0x0, 0x1, 15, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_PUSHW_e, 0x0, 0x7, 2, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_PUSHTSWST_e, 0x0, 0x7, 6, 32, -1, -1}, + {dRes_ID_ALANM_BCK_WL_PUSHTSW_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SIT_e, 0x1, 0x0, 7, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_LIE_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_LIEF_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITSIT_e, 0x1, 0x0, 1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_BOXOP_e, 0x1, 0x7, 9, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_VJMPST_e, 0x1, 0x5, 9, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_BUMPST_e, 0x1, 0x5, 3, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_BUMPED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_VJMPCL_e, 0x1, 0x6, 25, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_VJMPCH_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_TURNBACK_e, 0x0, 0x8, 3, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAM_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITD_e, 0x0, 0x3, 10, 30, 50, -1}, + {dRes_ID_ALANM_BCK_WL_WAITATOD_e, 0x0, 0x3, 6, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_HANG_e, 0x1, 0x5, 6, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SLIP_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_TURN_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_AT_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WALKSLOPEW_e, 0x1, 0x2, 1, 18, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SLIDEB_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SLIDEBED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SLIDEFST_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ROPEW_e, 0x0, 0x2, 1, 14, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ROPECLL_e, 0x1, 0x5, 20, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ROPECLR_e, 0x1, 0x5, 26, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ROPETURN_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ROPEWAIT_e, 0x8, 0x1, 25, 50, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ROPEFALTER_e, 0x9, 0x2, 1, 14, 30, 45}, + {dRes_ID_ALANM_BCK_WL_DASHB_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMFF_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMFB_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMFL_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMFR_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMFFUP_e, 0x2, 0xA, 32, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMFBUP_e, 0x2, 0xB, 20, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMFLUP_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMFRUP_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWAITA_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITB_e, 0x0, 0x1, 10, 40, -1, -1}, + {dRes_ID_ALANM_BCK_WL_JUMPBST_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_JUMPBTURNST_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_JUMPB_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_JUMPBED_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWIMP_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWIMWAIT_e, 0x0, 0x1, 13, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWIMING_e, 0x0, 0x2, 1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWIMDASH_e, 0x0, 0x4, 3, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWAITB_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITST_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMF_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMB_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAML_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DAMR_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKBL_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKBR_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKBS_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKBT_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATRBW_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATRW_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATRD_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_PICKUPA_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATSJLST_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATSJLED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATSJRST_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATSJRED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATSJBST_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATSJBED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_PICKUPB_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_PICKUPTHROW_e, 0x0, 0x9, 7, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKAST_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKA_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKAED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKAEDF_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKAEDB_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKTST_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKT_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_HDHANG_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_HDHANGWAIT_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_HDHANGSW_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CUTSTL_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CUTSTR_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_HOWLA_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_HOWLB_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_HOWLC_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_HOWLED_e, 0x0, 0x1, 30, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_LANDDAMA_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_LANDDAMAST_e, 0x1, 0xA, 4, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKUST_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKU_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKUED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKUNG_e, 0x1, 0xB, 40, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ROLLBST_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ROLLBED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DIG_e, 0x0, 0xB, 65, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DIGIN_e, 0xD, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_THROUGH_e, 0x0, 0x5, 57, 70, 85, -1}, + {dRes_ID_ALANM_BCK_WL_SLIDEW_e, 0x1, 0x6, 1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_JUMPKICK_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_PULLOUT_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CUTSTP_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CHANGEATOW_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CHANGEWTOA_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITWIND_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SMELL_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DASHST_e, 0x2, 0x4, 1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKREST_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKREED_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_FLINGL_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_FLINGR_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CATCHAST_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CATCHA_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ATTACKREGD_e, 0x1, 0x5, 16, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_DIE_e, 0x6, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWIMDIEA_e, 0x7, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWIMDIEP_e, 0x7, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITF_e, 0x2, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITATOSD_e, 0x0, 0x1, 15, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_SWAITD_e, 0x0, 0x1, 15, 45, -1, -1}, + {dRes_ID_ALANM_BCK_WL_MDSHOCK_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_ENTRANCE_e, 0x3, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_GETA_e, 0x1, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_GET_e, 0x1, 0x0, 5, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_WAITYC_e, 0x0, 0x1, 1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CATCHYC_e, 0x5, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_NUMBA_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_NUMBB_e, 0x2, 0xC, -1, -1, -1, -1}, + {0x4003, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CHAIN_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_CHAINED_e, 0x0, 0xC, -1, -1, -1, -1}, + {dRes_ID_ALANM_BCK_WL_LISTEN_e, 0x1, 0x0, 20, 58, -1, -1}, + {0x8028, 0xA, 0xC, -1, -1, -1, -1}, + {0x8027, 0xA, 0xC, -1, -1, -1, -1}, + {0x802A, 0xB, 0xC, -1, -1, -1, -1}, + {0x8029, 0xB, 0xC, -1, -1, -1, -1}, + {0x802C, 0xC, 0xC, -1, -1, -1, -1}, + {0x802B, 0xC, 0xC, -1, -1, -1, -1}, }; daAlink_FaceTexData const daAlink_c::m_faceTexDataTable[] = { - 0x03DF, 0x0379, 0x03E0, 0x037A, 0x03E1, 0x037B, 0x03DF, 0x0378, 0x03DF, 0x0383, 0x03E2, 0x032C, - 0x03C6, 0x036A, 0x03D5, 0x036B, 0x03B0, 0x032D, 0x03B1, 0x032E, 0x03E6, 0x0382, 0x03E5, 0x0381, - 0x03F2, 0x0398, 0x03C3, 0x0353, 0x03AF, 0x0398, 0x03F0, 0x0396, 0x03F4, 0x032C, 0x03F3, 0x032C, - 0x03C5, 0x035C, 0x03AF, 0x0342, 0x03AF, 0x0343, 0x03EE, 0x038E, 0x03EF, 0x038F, 0x03ED, 0x038D, - 0x03D8, 0x036E, 0x03D9, 0x036F, 0x03DB, 0x0373, 0x03D7, 0x036D, 0x03E9, 0x0388, 0x03E4, 0x037D, - 0x03D1, 0x0367, 0x03D2, 0x0368, 0x03AF, 0x034A, 0x03AF, 0x034B, 0x03AF, 0x034C, 0x03AF, 0x034D, - 0x03AF, 0x034E, 0x03AF, 0x0391, 0x03E7, 0x0386, 0x03B4, 0x032C, 0x03BC, 0x032C, 0x03AF, 0x0390, - 0x03C9, 0x035E, 0x03C7, 0x035D, 0x03CA, 0x035F, 0x03AF, 0x0395, 0x03AF, 0x0341, 0x03AF, 0x0351, - 0x03AF, 0x0352, 0x03AF, 0x0349, 0x03AF, 0x0344, 0x03AF, 0x0345, 0x03AF, 0x0346, 0x03BD, 0x032C, - 0x03BE, 0x032C, 0x03EA, 0x0389, 0x03AF, 0x038A, 0x03CB, 0x032C, 0x03AF, 0x0355, 0x03AF, 0x0354, - 0x03AF, 0x0350, 0x03AF, 0x034F, 0x03B8, 0x0334, 0x03B6, 0x0332, 0x03B7, 0x0333, 0x03B5, 0x0331, - 0x03AF, 0x0336, 0x03AF, 0x0337, 0x03B9, 0x032C, 0x03AF, 0x0338, 0x03AF, 0x0339, 0x03AF, 0x0335, - 0x03DC, 0x0335, 0x03DE, 0x0335, 0x03DA, 0x0370, 0x03AF, 0x033E, 0x03D3, 0x032C, 0x03BB, 0x033C, - 0x03AF, 0x033B, 0x03BA, 0x033A, 0x03CE, 0x0364, 0x03CF, 0x0365, 0x03EB, 0x038B, 0x03EC, 0x038C, - 0x03D4, 0x0369, 0x03C0, 0x032C, 0x03C1, 0x033F, 0x03C1, 0x0340, 0x03D0, 0x0366, 0x03C2, 0x032C, - 0x03AF, 0x035A, 0x03C4, 0x035B, 0x03BF, 0x032C, 0x03C8, 0x032C, 0x1045, 0x103B, 0x1046, 0x032C, - 0x1041, 0x1037, 0x1042, 0x1038, 0x1043, 0x1039, 0x1047, 0x103C, 0x1040, 0x1036, 0x1044, 0x103A, - 0x103F, 0x032C, 0x03AF, 0x2032, 0x03AF, 0x2033, 0x2039, 0x2034, 0x03AF, 0x5054, 0x03AF, 0x5055, - 0x5059, 0x5056, 0x03E8, 0x0387, 0x03AF, 0x0372, 0x03AF, 0x0384, 0x03AF, 0x0385, 0x03D6, 0x036C, - 0x03AF, 0x0392, 0x03AF, 0x0393, 0x03AF, 0x0377, 0x03AF, 0x0361, 0x03AF, 0x0362, 0x03CD, 0x0363, - 0x03AF, 0x033D, 0x03F1, 0x0397, 0x03DC, 0x032C, 0x03DD, 0x032C, 0x03DE, 0x032C, 0x03B3, 0x0330, - 0x03CC, 0x0360, 0x03AF, 0x0348, 0x03AF, 0x0347, 0x03AF, 0x0358, 0x03AF, 0x0359, 0x03AF, 0x0356, - 0x03AF, 0x0357, 0x6018, 0x6015, 0x03AF, 0x7070, 0x03AF, 0x7071, 0x03E3, 0x037C, 0x03B2, 0x032F, - 0x03AF, 0x0394, 0x0417, 0x03A9, 0x0418, 0x03AA, 0x041A, 0x03A7, 0x041E, 0x03A7, 0x041B, 0x03A7, - 0x040E, 0x03A7, 0x040C, 0x03A7, 0x040F, 0x03A7, 0x0410, 0x03A7, 0x0420, 0x03A7, 0x0415, 0x03A7, - 0x0416, 0x03A7, 0x040B, 0x03A7, 0x0411, 0x03A7, 0x041F, 0x03A7, 0x040A, 0x03A7, 0x0409, 0x03A7, - 0x0412, 0x03A7, 0x041C, 0x03A7, 0x041D, 0x03A7, 0x0419, 0x03AB, 0x0413, 0x03A8, 0x0414, 0x03A7, - 0x040D, 0x03A7, + {dRes_ID_ALANM_BTP_FMABA01_e, dRes_ID_ALANM_BTK_FMABA01_e}, + {dRes_ID_ALANM_BTP_FMABA02_e, dRes_ID_ALANM_BTK_FMABA02_e}, + {dRes_ID_ALANM_BTP_FMABA03_e, dRes_ID_ALANM_BTK_FMABA03_e}, + {dRes_ID_ALANM_BTP_FMABA01_e, dRes_ID_ALANM_BTK_FL_e}, + {dRes_ID_ALANM_BTP_FMABA01_e, dRes_ID_ALANM_BTK_FR_e}, + {dRes_ID_ALANM_BTP_FMABAGOMA_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FDAM01_e, dRes_ID_ALANM_BTK_FFINISHA_e}, + {dRes_ID_ALANM_BTP_FFINISHA_e, dRes_ID_ALANM_BTK_FFINISHED_e}, + {dRes_ID_ALANM_BTP_FARELORD_e, dRes_ID_ALANM_BTK_FARELORD_e}, + {dRes_ID_ALANM_BTP_FARELORDTAME_e, dRes_ID_ALANM_BTK_FARELORDTAME_e}, + {dRes_ID_ALANM_BTP_FPUSHW_e, dRes_ID_ALANM_BTK_FPUSHW_e}, + {dRes_ID_ALANM_BTP_FPULLW_e, dRes_ID_ALANM_BTK_FPULLW_e}, + {dRes_ID_ALANM_BTP_FWAITST_e, dRes_ID_ALANM_BTK_FWAITST_e}, + {dRes_ID_ALANM_BTP_FCUTST_e, dRes_ID_ALANM_BTK_FCUTST_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FWAITST_e}, + {dRes_ID_ALANM_BTP_FWAITHDB_e, dRes_ID_ALANM_BTK_FWAITHDB_e}, + {dRes_ID_ALANM_BTP_FWAITWB_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FWAITWATOWB_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FCUTUNG_e, dRes_ID_ALANM_BTK_FCUTUNG_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTDL_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTDR_e}, + {dRes_ID_ALANM_BTP_FSWIMINGA_e, dRes_ID_ALANM_BTK_FSWIMINGA_e}, + {dRes_ID_ALANM_BTP_FSWIMP_e, dRes_ID_ALANM_BTK_FSWIMP_e}, + {dRes_ID_ALANM_BTP_FSWIMDIVE_e, dRes_ID_ALANM_BTK_FSWIMDIVE_e}, + {dRes_ID_ALANM_BTP_FGRABP_e, dRes_ID_ALANM_BTK_FGRABP_e}, + {dRes_ID_ALANM_BTP_FGRABUP_e, dRes_ID_ALANM_BTK_FGRABUP_e}, + {dRes_ID_ALANM_BTP_FHEAVYTHROW_e, dRes_ID_ALANM_BTK_FHEAVYTHROW_e}, + {dRes_ID_ALANM_BTP_FGRABNG_e, dRes_ID_ALANM_BTK_FGRABNG_e}, + {dRes_ID_ALANM_BTP_FSWAITA_e, dRes_ID_ALANM_BTK_FSWAITA_e}, + {dRes_ID_ALANM_BTP_FPICKUP_e, dRes_ID_ALANM_BTK_FPICKUP_e}, + {dRes_ID_ALANM_BTP_FDOOROPA_e, dRes_ID_ALANM_BTK_FDOOROPA_e}, + {dRes_ID_ALANM_BTP_FDOOROPB_e, dRes_ID_ALANM_BTK_FDOOROPB_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTHLA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTHLB_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTHRA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTHRB_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTHTB_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FTURNBS_e}, + {dRes_ID_ALANM_BTP_FROLLFGOOD_e, dRes_ID_ALANM_BTK_FROLLFGOOD_e}, + {dRes_ID_ALANM_BTP_FB_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FC_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FTURNBACK_e}, + {dRes_ID_ALANM_BTP_FDAMFFUP_e, dRes_ID_ALANM_BTK_FDAMFFUP_e}, + {dRes_ID_ALANM_BTP_FDAMFBUP_e, dRes_ID_ALANM_BTK_FDAMFBUP_e}, + {dRes_ID_ALANM_BTP_FDAMFRLUP_e, dRes_ID_ALANM_BTK_FDAMFRLUP_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FWAITATOS_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTL_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTR_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTF_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTEA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTEB_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTEG_e}, + {dRes_ID_ALANM_BTP_FCHANGEATOW_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FCHANGEWTOA_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FSWAITHA_e, dRes_ID_ALANM_BTK_FSWAITHA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FSWIATHB_e}, + {dRes_ID_ALANM_BTP_FDASHWIND_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTTB_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTT_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTJST_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTJED_e}, + {dRes_ID_ALANM_BTP_FBINDRINKST_e, dRes_ID_ALANM_BTK_FBINDRINKST_e}, + {dRes_ID_ALANM_BTP_FBINDRINK_e, dRes_ID_ALANM_BTK_FBINDRINK_e}, + {dRes_ID_ALANM_BTP_FBINDRINKED_e, dRes_ID_ALANM_BTK_FBINDRINKED_e}, + {dRes_ID_ALANM_BTP_FBINBAD_e, dRes_ID_ALANM_BTK_FBINBAD_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FBINOP_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FBINOUT_e}, + {dRes_ID_ALANM_BTP_FBINFAIRY_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FBINSWINGS_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FBINSWINGU_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FBINGET_e}, + {dRes_ID_ALANM_BTP_FI_e, dRes_ID_ALANM_BTK_FBINGET_e}, + {dRes_ID_ALANM_BTP_FK_e, dRes_ID_ALANM_BTK_FBINGET_e}, + {dRes_ID_ALANM_BTP_FGRASSAST_e, dRes_ID_ALANM_BTK_FGRASSAST_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCATCHTAKA_e}, + {dRes_ID_ALANM_BTP_FE_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FBOXOPSHORT_e, dRes_ID_ALANM_BTK_FBOXOPSHORT_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FBOXOPKICK_e}, + {dRes_ID_ALANM_BTP_FBOXOP_e, dRes_ID_ALANM_BTK_FBOXOP_e}, + {dRes_ID_ALANM_BTP_FDIE_e, dRes_ID_ALANM_BTK_FDIE_e}, + {dRes_ID_ALANM_BTP_FDIEH_e, dRes_ID_ALANM_BTK_FDIEH_e}, + {dRes_ID_ALANM_BTP_FSWIMDIEA_e, dRes_ID_ALANM_BTK_FSWIMDIEA_e}, + {dRes_ID_ALANM_BTP_FSWIMDIEP_e, dRes_ID_ALANM_BTK_FSWIMDIEP_e}, + {dRes_ID_ALANM_BTP_FENTRANCE_e, dRes_ID_ALANM_BTK_FENTRANCE_e}, + {dRes_ID_ALANM_BTP_FCOWCATCHST_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FCOWTHROW_e, dRes_ID_ALANM_BTK_FCOWTHROWL_e}, + {dRes_ID_ALANM_BTP_FCOWTHROW_e, dRes_ID_ALANM_BTK_FCOWTHROWR_e}, + {dRes_ID_ALANM_BTP_FDIEHUP_e, dRes_ID_ALANM_BTK_FDIEHUP_e}, + {dRes_ID_ALANM_BTP_FCUTRE_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTU_e}, + {dRes_ID_ALANM_BTP_FCUTUED_e, dRes_ID_ALANM_BTK_FCUTUED_e}, + {dRes_ID_ALANM_BTP_FCLIMBHANGMISS_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FDAMFBW_e, dRes_ID_ALANM_BTK_FA_e}, + {0x45 | (1 << 12), 0x3B | (1 << 12)}, + {0x46 | (1 << 12), dRes_ID_ALANM_BTK_FA_e}, + {0x41 | (1 << 12), 0x37 | (1 << 12)}, + {0x42 | (1 << 12), 0x38 | (1 << 12)}, + {0x43 | (1 << 12), 0x39 | (1 << 12)}, + {0x47 | (1 << 12), 0x3C | (1 << 12)}, + {0x40 | (1 << 12), 0x36 | (1 << 12)}, + {0x44 | (1 << 12), 0x3A | (1 << 12)}, + {0x3F | (1 << 12), dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FA_e, 0x32 | (2 << 12)}, + {dRes_ID_ALANM_BTP_FA_e, 0x33 | (2 << 12)}, + {0x39 | (2 << 12), 0x34 | (2 << 12)}, + {dRes_ID_ALANM_BTP_FA_e, 0x54 | (5 << 12)}, + {dRes_ID_ALANM_BTP_FA_e, 0x55 | (5 << 12)}, + {0x59 | (5 << 12), 0x56 | (5 << 12)}, + {dRes_ID_ALANM_BTP_FSPILLH_e, dRes_ID_ALANM_BTK_FSPILLH_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FHANGH_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FRODSWING_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FRODSWINGL_e}, + {dRes_ID_ALANM_BTP_FGETSWL_e, dRes_ID_ALANM_BTK_FGETSWL_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FTURNLS_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FTURNRS_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FKEYCATCHH_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FDEMOTALKA_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FDEMOTALKB_e}, + {dRes_ID_ALANM_BTP_FDEMOTALKC_e, dRes_ID_ALANM_BTK_FDEMOTALKC_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCANORELEASE_e}, + {dRes_ID_ALANM_BTP_FWAITINSECT_e, dRes_ID_ALANM_BTK_FWAITINSECT_e}, + {dRes_ID_ALANM_BTP_FI_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FJ_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FK_e, dRes_ID_ALANM_BTK_FA_e}, + {dRes_ID_ALANM_BTP_FATDEFNG_e, dRes_ID_ALANM_BTK_FATDEFNG_e}, + {dRes_ID_ALANM_BTP_FDEMOMHOP_e, dRes_ID_ALANM_BTK_FDEMOMHOP_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTEHST_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTEH_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTTJP_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTTJST_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTTJ_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FCUTTJED_e}, + {0x18 | (6 << 12), 0x15 | (6 << 12)}, + {dRes_ID_ALANM_BTP_FA_e, 0x70 | (7 << 12)}, + {dRes_ID_ALANM_BTP_FA_e, 0x71 | (7 << 12)}, + {dRes_ID_ALANM_BTP_FODOROKU_e, dRes_ID_ALANM_BTK_FODOROKU_e}, + {dRes_ID_ALANM_BTP_FASHIMOTO_e, dRes_ID_ALANM_BTK_FASHIMOTO_e}, + {dRes_ID_ALANM_BTP_FA_e, dRes_ID_ALANM_BTK_FUNAZUKU_e}, + {dRes_ID_ALANM_BTP_WL_FMABA01_e, dRes_ID_ALANM_BTK_WL_FMABA01_e}, + {dRes_ID_ALANM_BTP_WL_FMABA02_e, dRes_ID_ALANM_BTK_WL_FMABA02_e}, + {dRes_ID_ALANM_BTP_WL_FSWAITA_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FSWIMP_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FSWAITB_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FDAM_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FB_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FDAMFFBUP_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FDAMFLRUP_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FWAITST_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FLANDDAMA_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FLANDDAMAST_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FATTACKUNG_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FDASHWIND_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FTHROUGH_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FATTACKREST_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FATTACKREED_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FDIE_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FSWIMDIEA_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FSWIMDIEP_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FMDSHOCK_e, dRes_ID_ALANM_BTK_WL_FMDSHOCK_e}, + {dRes_ID_ALANM_BTP_WL_FENTRANCE_e, dRes_ID_ALANM_BTK_WL_FENTRANCE_e}, + {dRes_ID_ALANM_BTP_WL_FHOWLC_e, dRes_ID_ALANM_BTK_WL_FA_e}, + {dRes_ID_ALANM_BTP_WL_FC_e, dRes_ID_ALANM_BTK_WL_FA_e}, }; #include "d/actor/d_a_alink_link.inc" @@ -1743,19 +2006,19 @@ void daAlink_matAnm_c::init() { mSetFlag = 0; } -void daAlink_matAnm_c::calc(J3DMaterial* param_0) const { - J3DMaterialAnm::calc(param_0); +void daAlink_matAnm_c::calc(J3DMaterial* i_material) const { + J3DMaterialAnm::calc(i_material); if (!daAlink_getAlinkActorClass()->checkStatusWindowDraw()) { for (u32 i = 0; i < 8; i++) { if (getTexMtxAnm(i).getAnmFlag()) { - J3DTexMtxInfo* info = ¶m_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo(); + J3DTexMtxInfo* info = &i_material->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo(); if (m_morf_frame != 0) { if (!mSetFlag) { f32 var_f31 = 1.0f / (m_morf_frame + 1); info->mSRT.mTranslationX = field_0xf4 * (1.0f - var_f31) + info->mSRT.mTranslationX * var_f31; info->mSRT.mTranslationY = field_0xf8 * (1.0f - var_f31) + info->mSRT.mTranslationY * var_f31; - const_cast(mSetFlag) = 1; + mSetFlag = 1; } else { info->mSRT.mTranslationX = field_0xf4; info->mSRT.mTranslationY = field_0xf8; @@ -1765,30 +2028,31 @@ void daAlink_matAnm_c::calc(J3DMaterial* param_0) const { info->mSRT.mTranslationY = mNowOffsetY; } - const_cast(field_0xf4) = info->mSRT.mTranslationX; - const_cast(field_0xf8) = info->mSRT.mTranslationY; + field_0xf4 = info->mSRT.mTranslationX; + field_0xf8 = info->mSRT.mTranslationY; } } } } -bool daAlink_c::checkStageName(const char* stage) { - return strcmp(dComIfGp_getStartStageName(), stage) == 0; +bool daAlink_c::checkStageName(const char* i_stageName) { + return strcmp(dComIfGp_getStartStageName(), i_stageName) == 0; } void daAlink_c::tgHitCallback(fopAc_ac_c* i_atActor, dCcD_GObjInf* i_tgObjInf, dCcD_GObjInf* i_atObjInf) { + int i; if (i_atObjInf->ChkAtType(AT_TYPE_40000)) { field_0x369c = *i_atObjInf->GetAtVecP(); - for (int i = 0; i < 3; i++) { - if (i_tgObjInf == &field_0x850[i]) { + for (i = 0; i < 3; i++) { + if (i_tgObjInf == &mTgCyls[i]) { field_0x2fb8 |= (1 << i); field_0x36b4 = i_atActor->current.pos; return; } } } else { - for (int i = 0; i < 3; i++) { - if (i_tgObjInf == &field_0x850[i]) { + for (i = 0; i < 3; i++) { + if (i_tgObjInf == &mTgCyls[i]) { field_0x2fb8 &= ~(1 << i); return; } @@ -1798,8 +2062,10 @@ void daAlink_c::tgHitCallback(fopAc_ac_c* i_atActor, dCcD_GObjInf* i_tgObjInf, d void daAlink_c::coHitCallback(fopAc_ac_c* i_coHitActor, dCcD_GObjInf* i_coHitObj) { if (!checkWolf() && !checkNoResetFlg3(FLG3_UNK_20000000)) { - if (((mProcID != PROC_CUT_HEAD && mProcID != PROC_CUT_DOWN) || i_coHitActor != field_0x280c.getActor()) && (!checkModeFlg(0x10040) || fopAcM_GetName(i_coHitActor) == PROC_CSTAF)) { - field_0x372c += *field_0x814.GetCCMoveP(); + if (((mProcID != PROC_CUT_HEAD && mProcID != PROC_CUT_DOWN) || i_coHitActor != field_0x280c.getActor()) + && (!checkModeFlg(0x10040) || fopAcM_GetName(i_coHitActor) == PROC_CSTAF)) + { + field_0x372c += *mCcStts.GetCCMoveP(); } field_0x30fe++; @@ -1807,21 +2073,21 @@ void daAlink_c::coHitCallback(fopAc_ac_c* i_coHitActor, dCcD_GObjInf* i_coHitObj if (fopAcM_GetName(i_coHitActor) == PROC_Obj_WaterFall) { if (checkWolf()) { - if (i_coHitObj == &field_0x850[0]) { - onEndResetFlg1(ERFLG1_UNK_800); - } else if (i_coHitObj == &field_0x850[2]) { + if (i_coHitObj == &mTgCyls[0]) { + onEndResetFlg1(ERFLG1_WATERFALL_FRONT_HIT); + } else if (i_coHitObj == &mTgCyls[2]) { onEndResetFlg1(ERFLG1_UNK_1000); } } else { - onEndResetFlg1(ERFLG1_UNK_800); + onEndResetFlg1(ERFLG1_WATERFALL_FRONT_HIT); } } } -void daAlink_c::setMatrixWorldAxisRot(MtxP param_0, s16 param_1, s16 param_2, s16 param_3, - int param_4, cXyz const* param_5) { +void daAlink_c::setMatrixWorldAxisRot(MtxP i_mtx, s16 i_rotX, s16 i_rotY, s16 i_rotZ, + BOOL param_4, const cXyz* param_5) { cXyz tmp; - mDoMtx_multVecZero(param_0, &tmp); + mDoMtx_multVecZero(i_mtx, &tmp); if (param_5 != NULL) { mDoMtx_stack_c::transS(*param_5); } else { @@ -1830,34 +2096,35 @@ void daAlink_c::setMatrixWorldAxisRot(MtxP param_0, s16 param_1, s16 param_2, s1 concatMagneBootMtx(); mDoMtx_stack_c::YrotM(shape_angle.y); - mDoMtx_stack_c::ZXYrotM(param_1, param_2, param_3); + mDoMtx_stack_c::ZXYrotM(i_rotX, i_rotY, i_rotZ); mDoMtx_stack_c::YrotM(-shape_angle.y); concatMagneBootInvMtx(); mDoMtx_stack_c::transM(-tmp.x, -tmp.y, -tmp.z); - MTXConcat(mDoMtx_stack_c::get(), param_0, mDoMtx_stack_c::get()); - MTXCopy(mDoMtx_stack_c::get(), param_0); - if (param_4 != 0) { - MTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + mDoMtx_stack_c::concat(i_mtx); + mDoMtx_copy(mDoMtx_stack_c::get(), i_mtx); + + if (param_4) { + mDoMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); } } -int daAlink_c::jointControll(int param_0) { +int daAlink_c::jointControll(int i_jointNo) { csXyz sp18(0, 0, 0); int var_r27 = 0; J3DTransformInfo jointTrans; - J3DTransformInfo rootTrans = *field_0x2060->getOldFrameTransInfo(param_0); + J3DTransformInfo rootTrans = *field_0x2060->getOldFrameTransInfo(i_jointNo); Quaternion sp50; Quaternion sp40; Quaternion sp30; - Quaternion sp20 = *field_0x2060->getOldFrameQuaternion(param_0); + Quaternion sp20 = *field_0x2060->getOldFrameQuaternion(i_jointNo); csXyz sp10(0, 1, 2); J3DTransformInfo* oldTransInfo; if (checkWolf()) { - if (param_0 == 0) { + if (i_jointNo == 0) { if (mProcID == PROC_TOOL_DEMO) { oldTransInfo = field_0x2060->getOldFrameTransInfo(0); oldTransInfo->mTranslate.x = 0.0f; @@ -1882,29 +2149,29 @@ int daAlink_c::jointControll(int param_0) { sp10.set(2, 1, 0); jointTrans = *field_0x2060->getOldFrameTransInfo(0); var_r27 |= 2; - } else if (param_0 == 3) { + } else if (i_jointNo == 3) { sp18.set((field_0x30d6 + field_0x30b2), 0, field_0x30b0); sp10.set(2, 0, 1); - } else if (param_0 == 0x1A) { + } else if (i_jointNo == 26) { sp18.set(0, -field_0x2fec, 0); sp10.set(2, 1, 0); - } else if (param_0 >= 0x25 && param_0 <= 0x27) { - sp18.set(0, field_0x3094[param_0 - 0x25], 0); + } else if (i_jointNo >= 37 && i_jointNo <= 39) { + sp18.set(0, field_0x3094[i_jointNo - 37], 0); sp10.set(2, 1, 0); - } else if (param_0 == 2) { + } else if (i_jointNo == 2) { sp18.set(0, -field_0x2fec, 0); sp10.set(2, 1, 0); - } else if (param_0 == 4) { - sp18.set(field_0x3124, -field_0x3126, field_0x3128); + } else if (i_jointNo == 4) { + sp18.set(field_0x3124.x, -field_0x3124.y, field_0x3124.z); sp10.set(2, 1, 0); } - } else if (param_0 == 4) { - sp18.set(field_0x3124, -field_0x3126, field_0x3128); + } else if (i_jointNo == 4) { + sp18.set(field_0x3124.x, -field_0x3124.y, field_0x3124.z); sp10.set(2, 1, 0); - } else if (param_0 == 0x10) { + } else if (i_jointNo == 16) { sp18.set(field_0x3088, 0, -field_0x308a); sp10.set(2, 0, 1); - } else if (param_0 == 1) { + } else if (i_jointNo == 1) { s16 sp8; if (checkReinRide() && !checkHorseLieAnime() && mProcID != PROC_HORSE_RUN && mProcID != PROC_BOAR_RUN) { sp8 = (s16)(mBodyAngle.x - shape_angle.x); @@ -1915,11 +2182,11 @@ int daAlink_c::jointControll(int param_0) { if (sp8 || field_0x30c8 != 0 || mBodyAngle.z != 0) { setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(1), sp8, field_0x30c8, mBodyAngle.z, 1, NULL); } - } else if (param_0 == 2) { + } else if (i_jointNo == 2) { if (field_0x30c8 != 0) { setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(2), 0, field_0x30c8, 0, 1, NULL); } - } else if (param_0 == 0) { + } else if (i_jointNo == 0) { if (mProcID == PROC_TOOL_DEMO || mProcID == PROC_GANON_FINISH) { oldTransInfo = field_0x2060->getOldFrameTransInfo(0); oldTransInfo->mTranslate.x = 0.0f; @@ -1947,19 +2214,19 @@ int daAlink_c::jointControll(int param_0) { jointTrans.mTranslate.y -= field_0x384c->y; jointTrans.mTranslate.z -= field_0x384c->z; } - } else if (param_0 == 0x1B) { - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(param_0), mFootData1[0].field_0x6, 0, 0, 1, NULL); - } else if (param_0 == 0x1D) { - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(param_0), mFootData1[1].field_0x6, 0, 0, 1, NULL); - } else if (param_0 == 5) { + } else if (i_jointNo == 27) { + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(i_jointNo), mFootData1[0].field_0x6, 0, 0, 1, NULL); + } else if (i_jointNo == 29) { + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(i_jointNo), mFootData1[1].field_0x6, 0, 0, 1, NULL); + } else if (i_jointNo == 5) { if (checkReinRide() && checkBowAnime()) { var_r27 = 1; - sp50 = *field_0x2060->getOldFrameQuaternion(param_0); + sp50 = *field_0x2060->getOldFrameQuaternion(i_jointNo); JMAEulerToQuat(0, 0, 5000, &sp40); mDoMtx_QuatConcat(&sp50, &sp40, &sp30); } - } else if ((param_0 == 0xD || param_0 == 0xC) && (checkCanoeFishingWaitAnime() || checkUnderMove0BckNoArc(ANM_CANOE_FISH_LEFT) || checkUnderMove0BckNoArc(ANM_CANOE_FISH_RIGHT))) { - if (param_0 == 0xD) { + } else if ((i_jointNo == 13 || i_jointNo == 12) && (checkCanoeFishingWaitAnime() || checkUnderMove0BckNoArc(ANM_CANOE_FISH_LEFT) || checkUnderMove0BckNoArc(ANM_CANOE_FISH_RIGHT))) { + if (i_jointNo == 13) { sp18 = field_0x3160; } else { sp18 = mFishingArm1Angle; @@ -1969,7 +2236,7 @@ int daAlink_c::jointControll(int param_0) { if (sp18.x != 0 || sp18.y != 0 || sp18.z != 0) { var_r27 |= 1; if (sp18.y != 0) { - sp50 = *field_0x2060->getOldFrameQuaternion(param_0); + sp50 = *field_0x2060->getOldFrameQuaternion(i_jointNo); if (sp10.y == 0) { JMAEulerToQuat(sp18.y, 0, 0, &sp40); @@ -1981,7 +2248,7 @@ int daAlink_c::jointControll(int param_0) { mDoMtx_QuatConcat(&sp50, &sp40, &sp30); } else { - sp30 = *field_0x2060->getOldFrameQuaternion(param_0); + sp30 = *field_0x2060->getOldFrameQuaternion(i_jointNo); } if (sp18.x != 0) { @@ -2014,20 +2281,20 @@ int daAlink_c::jointControll(int param_0) { } if (var_r27 != 0) { - MtxP temp_r26 = mpLinkModel->getAnmMtx(param_0); + MtxP temp_r26 = mpLinkModel->getAnmMtx(i_jointNo); J3DTransformInfo* var_r25; if ((var_r27 & 2)) { var_r25 = &jointTrans; } else { - var_r25 = field_0x2060->getOldFrameTransInfo(param_0); + var_r25 = field_0x2060->getOldFrameTransInfo(i_jointNo); } Quaternion* spC; if ((var_r27 & 1)) { spC = &sp30; } else { - spC = field_0x2060->getOldFrameQuaternion(param_0); + spC = field_0x2060->getOldFrameQuaternion(i_jointNo); } mDoMtx_stack_c::transS(rootTrans.mTranslate.x, rootTrans.mTranslate.y, rootTrans.mTranslate.z); @@ -2068,7 +2335,7 @@ void daAlink_c::setUpperFront() { J3DSys::mCurrentMtx[1][3] = mRootMtx[1][3]; J3DSys::mCurrentMtx[2][3] = mRootMtx[2][3]; } else { - mDoMtx_stack_c::quatS(field_0x2060->getOldFrameQuaternion( 0)); + mDoMtx_stack_c::quatS(field_0x2060->getOldFrameQuaternion(0)); mDoMtx_stack_c::inverse(); cMtx_concat(J3DSys::mCurrentMtx, mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); } @@ -2077,70 +2344,70 @@ void daAlink_c::setUpperFront() { } } -void daAlink_c::changeBlendRate(int param_0) { +void daAlink_c::changeBlendRate(int i_jointNo) { if (field_0x2fb6 == 5) { - if (param_0 == 0) { + if (i_jointNo == 0) { mNowAnmPackUpper[2].setRatio(0.0f); - } else if (param_0 == 5) { + } else if (i_jointNo == 5) { mNowAnmPackUpper[2].setRatio(field_0x3444); - } else if (param_0 == 0xA) { + } else if (i_jointNo == 10) { mNowAnmPackUpper[2].setRatio(0.0f); - } else if (param_0 == 0xF) { + } else if (i_jointNo == 15) { mNowAnmPackUpper[2].setRatio(field_0x3444); } } else if (field_0x2fb6 == 1) { - if (param_0 == 0) { + if (i_jointNo == 0) { mNowAnmPackUpper[2].setRatio(0.0f); - } else if (param_0 == 5) { + } else if (i_jointNo == 5) { mNowAnmPackUpper[2].setRatio(field_0x3444); } } else if (field_0x2fb6 == 2) { - if (param_0 == 0xA) { + if (i_jointNo == 10) { mNowAnmPackUpper[2].setRatio(0.0f); - } else if (param_0 == 0xF) { + } else if (i_jointNo == 15) { mNowAnmPackUpper[2].setRatio(field_0x3444); } } else if (field_0x2fb6 == 3) { - if (param_0 == 4) { + if (i_jointNo == 4) { mNowAnmPackUpper[2].setRatio(0.0f); - } else if (param_0 == 5) { + } else if (i_jointNo == 5) { mNowAnmPackUpper[2].setRatio(field_0x3444); } } else if (field_0x2fb6 == 7) { - if (param_0 == 0) { + if (i_jointNo == 0) { mNowAnmPackUpper[2].setRatio(0.0f); - } else if (param_0 == 4) { + } else if (i_jointNo == 4) { mNowAnmPackUpper[2].setRatio(1.0f); - } else if (param_0 == 5) { + } else if (i_jointNo == 5) { mNowAnmPackUpper[2].setRatio(0.0f); - } else if (param_0 == 0xF) { + } else if (i_jointNo == 15) { mNowAnmPackUpper[2].setRatio(1.0f); } } else if (field_0x2fb6 == 6) { - if (param_0 == 4) { + if (i_jointNo == 4) { setDoubleAnimeBlendRatio(1.0f); - } else if (param_0 == 5) { + } else if (i_jointNo == 5) { setDoubleAnimeBlendRatio(0.0f); } } else if (field_0x2fb6 == 8) { - if (param_0 == 4) { + if (i_jointNo == 4) { mNowAnmPackUpper[2].setRatio(0.0f); mNowAnmPackUpper[1].setRatio(1.0f); - } else if (param_0 == 5) { + } else if (i_jointNo == 5) { mNowAnmPackUpper[2].setRatio(field_0x3444); mNowAnmPackUpper[1].setRatio(0.0f); } } else if (field_0x2fb6 == 4) { - if (param_0 == 0) { + if (i_jointNo == 0) { mNowAnmPackUpper[2].setRatio(0.0f); - } else if (param_0 == 0xD) { + } else if (i_jointNo == 13) { mNowAnmPackUpper[2].setRatio(field_0x3444); } } } void daAlink_c::resetRootMtx() { - MTXCopy(mRootMtx, J3DSys::mCurrentMtx); + cMtx_copy(mRootMtx, J3DSys::mCurrentMtx); field_0x2f90 = 0; } @@ -2161,40 +2428,41 @@ bool daAlink_c::modelCallBack(int i_jointNo) { { changeBlendRate(i_jointNo); } + return true; } -static int daAlink_modelCallBack(J3DJoint* p_joint, int param_1) { - int jntNo = p_joint->getJntNo(); - daAlink_c* alink = (daAlink_c*)j3dSys.getModel()->getUserArea(); +static int daAlink_modelCallBack(J3DJoint* i_joint, int param_1) { + int jntNo = i_joint->getJntNo(); + daAlink_c* i_this = (daAlink_c*)j3dSys.getModel()->getUserArea(); if (param_1 == 0) { - alink->modelCallBack(jntNo); - } else if (param_1 == 1 && alink->checkResetRootMtx(jntNo)) { - alink->resetRootMtx(); + i_this->modelCallBack(jntNo); + } else if (param_1 == 1 && i_this->checkResetRootMtx(jntNo)) { + i_this->resetRootMtx(); } return 1; } -int daAlink_c::headModelCallBack(int param_0) { - if (mpDemoHDTmpBck == NULL || !mpDemoHDTmpBck->getBckAnm() || (checkEndResetFlg1(ERFLG1_UNK_400000) && param_0 < 6)) { +int daAlink_c::headModelCallBack(int i_jointNo) { + if (mpDemoHDTmpBck == NULL || !mpDemoHDTmpBck->getBckAnm() || (checkEndResetFlg1(ERFLG1_UNK_400000) && i_jointNo < 6)) { if (checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW)) { mDoMtx_stack_c::copy(J3DSys::mCurrentMtx); mDoMtx_stack_c::ZrotM(-6500); - mpLinkHatModel->setAnmMtx(param_0, mDoMtx_stack_c::get()); + mpLinkHatModel->setAnmMtx(i_jointNo, mDoMtx_stack_c::get()); cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); - } else if (param_0 >= 6) { + } else if (i_jointNo >= 6) { mDoMtx_stack_c::copy(J3DSys::mCurrentMtx); - if (param_0 == 6) { + if (i_jointNo == 6) { mDoMtx_stack_c::XYZrotM(0, (field_0x3040[7] >> 1), (field_0x302c[7] >> 1)); } else { - int temp_r28 = param_0 - 7; + int temp_r28 = i_jointNo - 7; if (temp_r28 == 0) { mDoMtx_stack_c::XYZrotM(0, (field_0x3040[7] >> 1), ((field_0x302c[7] >> 1) + field_0x3066[0])); } else { - mDoMtx_stack_c::XYZrotM(0, field_0x3040[param_0], (field_0x302c[param_0] + field_0x3066[temp_r28])); + mDoMtx_stack_c::XYZrotM(0, field_0x3040[i_jointNo], (field_0x302c[i_jointNo] + field_0x3066[temp_r28])); } } @@ -2202,20 +2470,20 @@ int daAlink_c::headModelCallBack(int param_0) { mDoMtx_stack_c::scaleM(field_0x347c, 1.0f, 1.0f); } - mpLinkHatModel->setAnmMtx(param_0, mDoMtx_stack_c::get()); + mpLinkHatModel->setAnmMtx(i_jointNo, mDoMtx_stack_c::get()); cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); } else { s16 temp_r27 = shape_angle.y; shape_angle.y = field_0x3062; - setMatrixWorldAxisRot(mpLinkHatModel->getAnmMtx(param_0), field_0x302c[param_0], 0, field_0x3040[param_0], 0, NULL); + setMatrixWorldAxisRot(mpLinkHatModel->getAnmMtx(i_jointNo), field_0x302c[i_jointNo], 0, field_0x3040[i_jointNo], 0, NULL); shape_angle.y = temp_r27; } } - if (checkZoraWearAbility() && param_0 == 6) { + if (checkZoraWearAbility() && i_jointNo == 6) { mDoMtx_stack_c::copy(J3DSys::mCurrentMtx); mDoMtx_stack_c::scaleM(1.2f, 1.0f, 1.0f); - mpLinkHatModel->setAnmMtx(param_0, mDoMtx_stack_c::get()); + mpLinkHatModel->setAnmMtx(i_jointNo, mDoMtx_stack_c::get()); cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); } @@ -2224,10 +2492,10 @@ int daAlink_c::headModelCallBack(int param_0) { static int daAlink_headModelCallBack(J3DJoint* i_joint, int param_1) { int joint_no = i_joint->getJntNo(); - daAlink_c* this_ = (daAlink_c*)j3dSys.getModel()->getUserArea(); + daAlink_c* i_this = (daAlink_c*)j3dSys.getModel()->getUserArea(); if (param_1 == 0) { - this_->headModelCallBack(joint_no); + i_this->headModelCallBack(joint_no); } return 1; @@ -2247,10 +2515,10 @@ int daAlink_c::wolfModelCallBack(int i_jointNo) { static int daAlink_wolfModelCallBack(J3DJoint* i_joint, int param_1) { int joint_no = i_joint->getJntNo(); - daAlink_c* this_ = (daAlink_c*)j3dSys.getModel()->getUserArea(); + daAlink_c* i_this = (daAlink_c*)j3dSys.getModel()->getUserArea(); if (param_1 == 0) { - this_->wolfModelCallBack(joint_no); + i_this->wolfModelCallBack(joint_no); } return 1; @@ -2280,10 +2548,12 @@ void daAlink_c::setHatAngle() { mDoMtx_multVecZero(mpLinkHatModel->getAnmMtx(sp38), &spA8); BOOL sp34; - if (!checkEndResetFlg1(ERFLG1_UNK_80000) && (field_0x35b8.abs2() > 100.0f || (checkEndResetFlg0(ERFLG0_UNK_8) && (field_0x3400 * field_0x3400) + (field_0x3404 * field_0x3404) > 100.0f))) { - sp34 = 1; + if (!checkEndResetFlg1(ERFLG1_UNK_80000) + && (field_0x35b8.abs2() > SQUARE(10.0f) || (checkEndResetFlg0(ERFLG0_UNK_8) && SQUARE(field_0x3400) + SQUARE(field_0x3404) > SQUARE(10.0f)))) + { + sp34 = TRUE; } else { - sp34 = 0; + sp34 = FALSE; } f32 sp40; @@ -2439,7 +2709,7 @@ void daAlink_c::setHatAngle() { } *temp_r29 = cLib_minMaxLimit((*temp_r29 + *sp2C), -0x3800, 0x3800); - sp10 = cLib_minMaxLimit(cM_atan2s(-((sp9C.x * var_f28) - (sp9C.z * var_f29)), JMAFastSqrt((temp_f27 * temp_f27) + (sp9C.y * sp9C.y))), -0x2800, 0x2800); + sp10 = cLib_minMaxLimit(cM_atan2s(-((sp9C.x * var_f28) - (sp9C.z * var_f29)), JMAFastSqrt(SQUARE(temp_f27) + SQUARE(sp9C.y))), -0x2800, 0x2800); if (checkEndResetFlg0(ERFLG0_UNK_800000)) { *temp_r28 = sp10; @@ -2586,15 +2856,15 @@ void daAlink_c::setHairAngle(cXyz* param_0, f32 param_1, f32 param_2) { field_0x302c[5] = -7000.0f * sp8 * temp_f29; } -void daAlink_c::setLookPosFromOut(cXyz* p_pos) { +void daAlink_c::setLookPosFromOut(cXyz* i_pos) { if (checkEndResetFlg0(ERFLG0_UNK_4)) { - if (current.pos.abs2(mLookPosFromOut) < current.pos.abs2(*p_pos)) { + if (current.pos.abs2(mLookPosFromOut) < current.pos.abs2(*i_pos)) { return; } } onEndResetFlg0(ERFLG0_UNK_4); - mLookPosFromOut = *p_pos; + mLookPosFromOut = *i_pos; } bool daAlink_c::checkAttentionPosAngle(cXyz* param_0) { @@ -2602,32 +2872,31 @@ bool daAlink_c::checkAttentionPosAngle(cXyz* param_0) { return true; } - int tmp; - if (checkModeFlg(MODE_RIDING) || checkEndResetFlg0(ERFLG0_UNK_400)) { - tmp = mpHIO->mHorse.m.mSearchRangeAngle; + int search_range_angle; + if (checkModeFlg(MODE_RIDING) || checkEndResetFlg0(ERFLG0_NECK_SEARCH_WIDE)) { + search_range_angle = mpHIO->mHorse.m.mSearchRangeAngle; } else { - tmp = 0x6000; + search_range_angle = 0x6000; } - s16 targetY = cLib_targetAngleY(&field_0x34e0, param_0); - return cLib_distanceAngleS(targetY, field_0x2fe6) <= tmp; + return cLib_distanceAngleS(cLib_targetAngleY(&field_0x34e0, param_0), mPrevAngleY) <= search_range_angle; } -bool daAlink_c::checkActorPosAngle(fopAc_ac_c* param_0, cXyz** param_1) { - if (param_0 != NULL && checkAttentionPosAngle(¶m_0->eyePos)) { - s16 temp_r3 = fopAcM_GetName(param_0); +bool daAlink_c::checkActorPosAngle(fopAc_ac_c* i_actor, cXyz** o_ppos) { + if (i_actor != NULL && checkAttentionPosAngle(&i_actor->eyePos)) { + s16 actor_name = fopAcM_GetName(i_actor); - if (checkEnemyGroup(param_0)) { - field_0x3504 = param_0->eyePos; + if (checkEnemyGroup(i_actor)) { + field_0x3504 = i_actor->eyePos; field_0x311c = 0x50; } - if (temp_r3 == PROC_Obj_Wchain || (temp_r3 == PROC_B_MGN && !((daB_MGN_c*)param_0)->isDown())) { + if (actor_name == PROC_Obj_Wchain || (actor_name == PROC_B_MGN && !((daB_MGN_c*)i_actor)->isDown())) { onNoResetFlg1(FLG1_MIDNA_HAIR_ATN_POS); - mMidnaHairAtnPos = param_0->eyePos; + mMidnaHairAtnPos = i_actor->eyePos; } - *param_1 = ¶m_0->eyePos; + *o_ppos = &i_actor->eyePos; return 1; } @@ -2635,59 +2904,70 @@ bool daAlink_c::checkActorPosAngle(fopAc_ac_c* param_0, cXyz** param_1) { } cXyz* daAlink_c::getNeckAimPos(cXyz* param_0, int* param_1, int param_2) { - fopAc_ac_c* var_r29 = NULL; + fopAc_ac_c* look_actor = NULL; s16 spA = field_0x311c; field_0x311c = 0; - if (mProcID == PROC_GOAT_CATCH || mProcID == PROC_GET_ITEM || mProcID == PROC_WOLF_GANON_CATCH || mProcID == PROC_NOT_USE_ITEM || mProcID == PROC_DUNGEON_WARP_READY || mProcID == PROC_GOAT_STROKE) { - var_r29 = field_0x280c.getActor(); + if (mProcID == PROC_GOAT_CATCH + || mProcID == PROC_GET_ITEM + || mProcID == PROC_WOLF_GANON_CATCH + || mProcID == PROC_NOT_USE_ITEM + || mProcID == PROC_DUNGEON_WARP_READY + || mProcID == PROC_GOAT_STROKE) + { + look_actor = field_0x280c.getActor(); } else if (dComIfGp_checkPlayerStatus0(0, 0x10)) { if (mProcID != PROC_NOD && mProcID != PROC_EYE_AWAY && mProcID != PROC_GLARE) { - var_r29 = fopAcM_getTalkEventPartner(this); - if (var_r29 != NULL) { - daMidna_c* sp18 = (daMidna_c*)getMidnaActor(); - s16 temp_r3_3 = fopAcM_GetName(var_r29); + look_actor = fopAcM_getTalkEventPartner(this); + if (look_actor != NULL) { + daMidna_c* midna = (daMidna_c*)getMidnaActor(); + s16 actor_name = fopAcM_GetName(look_actor); - if (temp_r3_3 == PROC_MIDNA || temp_r3_3 == PROC_Tag_Wljump || (temp_r3_3 == PROC_Tag_Mhint && ((daTagMhint_c*)var_r29)->checkNoAttention()) || (temp_r3_3 == PROC_Tag_Mstop && ((daTagMstop_c*)var_r29)->checkNoAttention()) || (temp_r3_3 == PROC_Tag_Mwait && ((daTagMwait_c*)var_r29)->checkEndMessage())) { + if (actor_name == PROC_MIDNA + || actor_name == PROC_Tag_Wljump + || (actor_name == PROC_Tag_Mhint && ((daTagMhint_c*)look_actor)->checkNoAttention()) + || (actor_name == PROC_Tag_Mstop && ((daTagMstop_c*)look_actor)->checkNoAttention()) + || (actor_name == PROC_Tag_Mwait && ((daTagMwait_c*)look_actor)->checkEndMessage())) + { *param_1 = 1; - return &sp18->eyePos; + return &midna->eyePos; } - if (temp_r3_3 == PROC_Tag_Mhint || temp_r3_3 == PROC_Tag_Mstop) { - sp18->setForceNeckAimPos(var_r29->eyePos); + if (actor_name == PROC_Tag_Mhint || actor_name == PROC_Tag_Mstop) { + midna->setForceNeckAimPos(look_actor->eyePos); } } } } else if (mProcID == PROC_BOTTLE_OPEN && mEquipItem == fpcNm_ITEM_FAIRY) { - var_r29 = field_0x285c.getActor(); + look_actor = field_0x285c.getActor(); } else if (mProcID == PROC_FISHING_CAST || mProcID == PROC_CANOE_FISHING_WAIT || mProcID == PROC_CANOE_FISHING_REEL || mProcID == PROC_CANOE_FISHING_GET) { - var_r29 = mItemAcKeep.getActor(); + look_actor = mItemAcKeep.getActor(); } else { - var_r29 = mTargetedActor; + look_actor = mTargetedActor; if (checkEnemyGroup(mTargetedActor)) { - fopAc_ac_c* sp14; + fopAc_ac_c* lock_actor; if (mAttention->GetLockonList(1) != NULL) { - sp14 = mAttention->GetLockonList(1)->getActor(); + lock_actor = mAttention->GetLockonList(1)->getActor(); } else { - sp14 = NULL; + lock_actor = NULL; } if (field_0x28fc != fpcM_ERROR_PROCESS_ID_e) { fopAc_ac_c* sp10 = fopAcM_SearchByID(field_0x28fc); field_0x30f8--; - if (field_0x30f8 != 0 && sp10 != NULL && sp10 == sp14) { - var_r29 = sp10; + if (field_0x30f8 != 0 && sp10 != NULL && sp10 == lock_actor) { + look_actor = sp10; } else { field_0x30f8 = 0; field_0x28fc = fpcM_ERROR_PROCESS_ID_e; } - } else if (checkEnemyGroup(sp14)) { + } else if (checkEnemyGroup(lock_actor)) { if (field_0x30f8 == -30) { if (cM_rnd() < 0.02f) { field_0x30f8 = 30.0f + cM_rndF(30.0f); - var_r29 = sp14; - field_0x28fc = fopAcM_GetID(sp14); + look_actor = lock_actor; + field_0x28fc = fopAcM_GetID(lock_actor); } } else { field_0x30f8 -= 1; @@ -2700,12 +2980,12 @@ cXyz* daAlink_c::getNeckAimPos(cXyz* param_0, int* param_1, int param_2) { } fopAc_ac_c* spC = mAttention->LockonTarget(0); - if (var_r29 == NULL) { - var_r29 = dCam_getBody()->GetForceLockOnActor(); + if (look_actor == NULL) { + look_actor = dCam_getBody()->GetForceLockOnActor(); } cXyz* sp1C; - if (checkActorPosAngle(var_r29, &sp1C)) { + if (checkActorPosAngle(look_actor, &sp1C)) { return sp1C; } @@ -2732,7 +3012,10 @@ cXyz* daAlink_c::getNeckAimPos(cXyz* param_0, int* param_1, int param_2) { return &dComIfGp_att_getLookTarget()->eyePos; } - if ((checkActorPosAngle(field_0x27f0, &sp1C) && (field_0x27f0 == NULL || fopAcM_GetName(field_0x27f0) != PROC_Tag_WaraHowl)) || checkActorPosAngle(spC, &sp1C) || checkActorPosAngle(field_0x27f8, &sp1C)) { + if ((checkActorPosAngle(field_0x27f0, &sp1C) && (field_0x27f0 == NULL || fopAcM_GetName(field_0x27f0) != PROC_Tag_WaraHowl)) + || checkActorPosAngle(spC, &sp1C) + || checkActorPosAngle(field_0x27f8, &sp1C)) + { return sp1C; } @@ -2811,7 +3094,7 @@ cXyz* daAlink_c::getNeckAimPos(cXyz* param_0, int* param_1, int param_2) { } } } else { - u32 temp_r26 = mDemo.getDemoMode(); + u32 demoMode = mDemo.getDemoMode(); spA = 0; if (checkEndResetFlg2(ERFLG2_PORTAL_WARP_MIDNA_ATN_KEEP) && daMidna_c::checkMidnaRealBody()) { @@ -2821,7 +3104,17 @@ cXyz* daAlink_c::getNeckAimPos(cXyz* param_0, int* param_1, int param_2) { } } - if (mProcID == PROC_LOOK_WAIT || temp_r26 == 0x17 || checkDemoMoveMode(temp_r26) || temp_r26 == 1 || temp_r26 == 4 || temp_r26 == 0x2C || temp_r26 == 0x2F || temp_r26 == 0x30 || temp_r26 == 0x31 || temp_r26 == 0xC) { + if (mProcID == PROC_LOOK_WAIT + || demoMode == daPy_demo_c::DEMO_UNK_23_e + || checkDemoMoveMode(demoMode) + || demoMode == daPy_demo_c::DEMO_UNK_1_e + || demoMode == daPy_demo_c::DEMO_UNK_4_e + || demoMode == daPy_demo_c::DEMO_UNK_44_e + || demoMode == daPy_demo_c::DEMO_LOOK_UP_e + || demoMode == daPy_demo_c::DEMO_LOOK_UP_TO_GET_ITEM_e + || demoMode == daPy_demo_c::DEMO_HAND_PAT_e + || demoMode == daPy_demo_c::DEMO_UNEQUIP_e) + { spC = getDemoLookActor(); if (spC != NULL && fopAcM_GetName(spC) == PROC_MIDNA) { return &spC->eyePos; @@ -2850,10 +3143,10 @@ cXyz* daAlink_c::getNeckAimPos(cXyz* param_0, int* param_1, int param_2) { } s16 daAlink_c::getNeckAimAngle(cXyz* param_0, s16* param_1, s16* param_2, s16* param_3, - s16* param_4) { + s16* param_4) { s16 sp1A; s16 sp18; - s16 sp16 = field_0x2fe6 + mBodyAngle.y; + s16 sp16 = mPrevAngleY + mBodyAngle.y; if ((mProcID == PROC_GOAT_CATCH && mProcVar1.field_0x300a == 0) || (mProcID == PROC_HAND_PAT && mProcVar2.field_0x300c == 0)) { ADD_ANGLE_2(sp16, 0x8000); } @@ -2863,8 +3156,8 @@ s16 daAlink_c::getNeckAimAngle(cXyz* param_0, s16* param_1, s16* param_2, s16* p s16 sp14 = sp28.atan2sY_XZ(); s16 sp12 = sp28.atan2sX_Z(); - sp1A = sp14 - field_0x3124; - sp18 = (sp12 - sp16) - field_0x3126; + sp1A = sp14 - field_0x3124.x; + sp18 = (sp12 - sp16) - field_0x3124.y; if (checkModeFlg(0x08000100) && param_0 != NULL && !checkWolfHeadDamageAnime() && !checkDashDamageAnime()) { cXyz sp1C = *param_0 - field_0x34e0; @@ -2872,14 +3165,14 @@ s16 daAlink_c::getNeckAimAngle(cXyz* param_0, s16* param_1, s16* param_2, s16* p s16 temp_r24 = sp1C.atan2sY_XZ(); s16 var_r28 = sp1C.atan2sX_Z() - sp16; - if (((var_r28 > 0x7000) && (field_0x3126 < 0)) || ((var_r28 < -0x7000) && (field_0x3126 > 0))) { + if (((var_r28 > 0x7000) && (field_0x3124.y < 0)) || ((var_r28 < -0x7000) && (field_0x3124.y > 0))) { var_r28 *= -1; } s16 sp10 = temp_r24; s16 spE = var_r28; if (sp1C.absXZ() < 30.0f) { - var_r28 = field_0x3126; + var_r28 = field_0x3124.y; } if (checkWolf()) { @@ -2990,9 +3283,9 @@ void daAlink_c::setEyeMove(cXyz* param_0, s16 param_1, s16 param_2) { var_f31 = 0.00024414062f * -field_0x2fee; field_0x33f8 = var_f31; } else if (checkSwimNeckUpDown()) { - if (field_0x3124 > 0) { + if (field_0x3124.x > 0) { var_f30 = 0.5f; - } else if (field_0x3124 < 0) { + } else if (field_0x3124.x < 0) { var_f30 = -0.5f; } else { var_f30 = 0.0f; @@ -3102,14 +3395,14 @@ void daAlink_c::setNeckAngle() { } s16 sp8 = getNeckAimAngle(var_r30, &sp10, &spE, &spC, &spA); - daPy_addCalcShort(&field_0x3124, sp10, 3, 0x1000, 0x100); - daPy_addCalcShort(&field_0x3126, spE, 3, 0x1000, 0x100); + daPy_addCalcShort(&field_0x3124.x, sp10, 3, 0x1000, 0x100); + daPy_addCalcShort(&field_0x3124.y, spE, 3, 0x1000, 0x100); setEyeMove(var_r30, spC, spA); } bool daAlink_c::getStickAngleFromPlayerShape(s16* o_angle) const { if (checkInputOnR()) { - *o_angle = field_0x2fe2 - shape_angle.y; + *o_angle = mMoveAngle - shape_angle.y; return true; } @@ -3148,7 +3441,7 @@ fopAc_ac_c* daAlink_c::checkGoronRide() { } void daAlink_c::setMoveSlantAngle() { - f32 temp_f31 = fabsf(speedF / field_0x594); + f32 temp_f31 = fabsf(speedF / mMaxSpeed); if (checkModeFlg(0x02020400) || mProcID == PROC_WOLF_CARGO_CARRY) { if (!checkBoardRide()) { @@ -3171,7 +3464,7 @@ void daAlink_c::setMoveSlantAngle() { s16 var_r28; if ((mProcID == PROC_MOVE && temp_f31 > mpHIO->mMove.m.mRunChangeRate) || (mProcID == PROC_WOLF_MOVE && temp_f31 > mpHIO->mWolf.mWlMove.m.mIdleToWalkRate)) { - var_r28 = cLib_minMaxLimit((s16)(field_0x2fe6 - shape_angle.y) * 2, -0xC00, 0xC00); + var_r28 = cLib_minMaxLimit((s16)(mPrevAngleY - shape_angle.y) * 2, -0xC00, 0xC00); if (abs(var_r28) > 0x800) { int var_r27; if (var_r28 > 0) { @@ -3188,9 +3481,9 @@ void daAlink_c::setMoveSlantAngle() { if ((mProcID == PROC_WOLF_MOVE && checkAttentionState()) || temp_f31 < mpHIO->mWolf.mWlMove.m.mStandbyRunToRunRate) { var_r28 = 0; } - } else if ((mProcID == PROC_WOLF_WAIT || mProcID == PROC_WOLF_SWIM_MOVE) && shape_angle.y != field_0x2fe6) { + } else if ((mProcID == PROC_WOLF_WAIT || mProcID == PROC_WOLF_SWIM_MOVE) && shape_angle.y != mPrevAngleY) { var_r28 = 0; - var_r29 = (s16)(shape_angle.y - field_0x2fe6); + var_r29 = (s16)(shape_angle.y - mPrevAngleY); if (mProcID == PROC_WOLF_SWIM_MOVE) { if (var_r29 >= 0) { @@ -3227,7 +3520,7 @@ void daAlink_c::setMoveSlantAngle() { mBodyAngle.z = shape_angle.z; if (mProcID == PROC_MOVE || mProcID == PROC_WAIT) { - var_r29 = (s16)(shape_angle.y - field_0x2fe6) * 2; + var_r29 = (s16)(shape_angle.y - mPrevAngleY) * 2; if (mProcID == PROC_WAIT) { var_r29 *= 2; } @@ -3381,7 +3674,7 @@ void daAlink_c::setMatrixOffset(f32* param_0, f32 param_1) { } int daAlink_c::setLegAngle(f32 param_0, daAlink_footData_c* param_1, s16* param_2, - s16* param_3, int param_4) { + s16* param_3, int param_4) { cXyz spA4; cXyz sp98; cXyz sp8C; @@ -3646,7 +3939,7 @@ void daAlink_c::footBgCheck() { cLib_addCalcAngleS(&var_r29->field_0x4, spE, 2, 0x1800, 0x10); s16 spC = 0; - if (sp2C != 2 && var_r29->field_0x0 != 0 && sp28 != 0 && field_0x3174 != 8) { + if (sp2C != 2 && var_r29->field_0x0 != 0 && sp28 != 0 && mGroundCode != 8) { spC += sp20[i]; } @@ -3755,10 +4048,10 @@ JKRHeap* daAlink_c::setItemHeap() { * The left most digit is the arcNo if not 0 * The latter 3 digits are the resource ID */ -void daAlink_c::setIdxMask(u16* o_arcNo, u16* o_resID) { +void daAlink_c::setIdxMask(u16* o_arcNo, u16* o_resIdx) { if (*o_arcNo == 0xFFFF) { - u16 arc_id = (*o_resID >> 12) & 0xF; - *o_resID &= 0xFFF; + u16 arc_id = (*o_resIdx >> 12) & 0xF; + *o_resIdx &= 0xFFF; if (arc_id != 0) { *o_arcNo = arc_id; @@ -3766,23 +4059,24 @@ void daAlink_c::setIdxMask(u16* o_arcNo, u16* o_resID) { } } -J3DAnmTransform* daAlink_c::getAnimeResource(daPy_anmHeap_c* p_anmHeap, u16 i_anmID, u32 buf_size) { +J3DAnmTransform* daAlink_c::getAnimeResource(daPy_anmHeap_c* i_anmHeap, u16 i_resIdx, u32 i_bufSize) { u16 arcNo; - u16 resID = i_anmID; - p_anmHeap->setBufferSize(buf_size); + i_anmHeap->setBufferSize(i_bufSize); arcNo = 0xFFFF; - setIdxMask(&arcNo, &resID); + setIdxMask(&arcNo, &i_resIdx); if (arcNo == 0xFFFF) { - return (J3DAnmTransform*)p_anmHeap->loadDataIdx(resID); + return (J3DAnmTransform*)i_anmHeap->loadDataIdx(i_resIdx); } - return (J3DAnmTransform*)p_anmHeap->loadDataDemoRID(resID, arcNo); + return (J3DAnmTransform*)i_anmHeap->loadDataDemoRID(i_resIdx, arcNo); } -J3DModel* daAlink_c::initModel(J3DModelData* i_modelData, u32 mdlFlags, u32 diffFlags) { +J3DModel* daAlink_c::initModel(J3DModelData* i_modelData, u32 i_mdlFlags, u32 i_diffFlags) { + JUT_ASSERT(4091, i_modelData != NULL); + J3DTexture* tex = i_modelData->getTexture(); int texNo = tex->getNum() - 1; @@ -3797,10 +4091,10 @@ J3DModel* daAlink_c::initModel(J3DModelData* i_modelData, u32 mdlFlags, u32 diff if (warpMaterial) { dRes_info_c::onWarpMaterial(i_modelData); - diffFlags |= 0x2000400; + i_diffFlags |= 0x2000400; } - J3DModel* model = mDoExt_J3DModel__create(i_modelData, mdlFlags, diffFlags | 0x11000084); + J3DModel* model = mDoExt_J3DModel__create(i_modelData, i_mdlFlags, i_diffFlags | 0x11000084); if (warpMaterial) { dRes_info_c::offWarpMaterial(i_modelData); @@ -3809,22 +4103,20 @@ J3DModel* daAlink_c::initModel(J3DModelData* i_modelData, u32 mdlFlags, u32 diff return model; } -J3DModel* daAlink_c::initModel(u16 i_resNo, u32 i_flags) { - return initModel((J3DModelData*)dComIfG_getObjectRes(l_arcName, i_resNo), i_flags); +J3DModel* daAlink_c::initModel(u16 i_resIdx, u32 i_diffFlags) { + return initModel((J3DModelData*)dComIfG_getObjectRes(l_arcName, i_resIdx), i_diffFlags); } -J3DModel* daAlink_c::initModelEnv(u16 i_resNo, u32 i_flags) { - return initModelEnv((J3DModelData*)dComIfG_getObjectRes(l_arcName, i_resNo), i_flags); +J3DModel* daAlink_c::initModelEnv(u16 i_resIdx, u32 i_diffFlags) { + return initModelEnv((J3DModelData*)dComIfG_getObjectRes(l_arcName, i_resIdx), i_diffFlags); } -int daAlink_c::initDemoModel(J3DModel** i_ppmodel, char const* i_resname, u32 i_flags) { +int daAlink_c::initDemoModel(J3DModel** i_ppmodel, char const* i_resName, u32 i_diffFlags) { *i_ppmodel = NULL; - J3DModelData* modelData = - (J3DModelData*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), i_resname); + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), i_resName); if (modelData != NULL) { - *i_ppmodel = initModel(modelData, i_flags); - + *i_ppmodel = initModel(modelData, i_diffFlags); if (*i_ppmodel == NULL) { return 0; } @@ -3833,18 +4125,16 @@ int daAlink_c::initDemoModel(J3DModel** i_ppmodel, char const* i_resname, u32 i_ return 1; } -int daAlink_c::initDemoBck(mDoExt_bckAnm** p_bck, char const* resName) { - J3DAnmTransform* res = - (J3DAnmTransform*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), resName); +int daAlink_c::initDemoBck(mDoExt_bckAnm** i_ppbck, char const* i_resName) { + J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), i_resName); + if (bck != NULL) { + *i_ppbck = new mDoExt_bckAnm(); - if (res != NULL) { - *p_bck = new mDoExt_bckAnm(); - - if (*p_bck == NULL) { + if (*i_ppbck == NULL) { return 0; } - if (!(*p_bck)->init(res, 1, 2, 1.0f, 0, -1, false)) { + if (!(*i_ppbck)->init(bck, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } } @@ -3852,15 +4142,13 @@ int daAlink_c::initDemoBck(mDoExt_bckAnm** p_bck, char const* resName) { return 1; } -// move these later -static int daAlink_Create(fopAc_ac_c* i_this); -static int daAlink_Delete(daAlink_c* i_this); -static int daAlink_Execute(daAlink_c* i_this); -static int daAlink_Draw(daAlink_c* i_this); - int daAlink_c::createHeap() { - ResTIMG* sp14 = (ResTIMG*)dComIfG_getObjectRes("Always", 0x5D); - mpWarpTexData = (void*)((uintptr_t)sp14 + sp14->imageOffset); + #if DEBUG + l_HIO_before = NULL; + #endif + + ResTIMG* warpTex = (ResTIMG*)dComIfG_getObjectRes("Always", dRes_ID_ALWAYS_BTI_WARP_TEX_e); + mpWarpTexData = (void*)((uintptr_t)warpTex + warpTex->imageOffset); if (*dStage_roomControl_c::getDemoArcName() != 0) { if (!initDemoModel(&mpDemoHLTmpModel, "demo00_Link_cut00_HL_tmp.bmd", 0x1000000)) { @@ -3910,32 +4198,33 @@ int daAlink_c::createHeap() { return 0; } - if (!(mpWlChangeModel = initModel(0x2F, 0))) { + if (!(mpWlChangeModel = initModel(dRes_ID_ALINK_BMD_WL_CHANGE_e, 0))) { return 0; } - if (!(mpSwAModel = initModel(0x3C, 0x200))) { + if (!(mpSwAModel = initModel(dRes_ID_ALINK_BMD_AL_SWA_e, 0x200))) { return 0; } - if (!(mpSwMModel = initModelEnv(0x38, 0x1000200))) { + if (!(mpSwMModel = initModelEnv(dRes_ID_ALINK_BMD_AL_SWM_e, 0x1000200))) { return 0; } - if (!(mpSwASheathModel = initModel(0x3B, 0))) { + if (!(mpSwASheathModel = initModel(dRes_ID_ALINK_BMD_AL_PODA_e, 0))) { return 0; } - if (!(mpSwMSheathModel = initModelEnv(0x37, 0))) { + if (!(mpSwMSheathModel = initModelEnv(dRes_ID_ALINK_BMD_AL_PODM_e, 0))) { return 0; } - J3DTransformInfo* sp1C = new J3DTransformInfo[40]; + int sp38 = 40; + J3DTransformInfo* sp1C = new J3DTransformInfo[sp38]; if (sp1C == NULL) { return 0; } - Quaternion* sp30 = new Quaternion[40]; + Quaternion* sp30 = new Quaternion[sp38]; if (sp30 == NULL) { return 0; } @@ -3984,9 +4273,9 @@ int daAlink_c::createHeap() { return 0; } - JKRReadIdxResource(mFaceBckHeap.getBuffer(), 0xC00, 0xE8, dComIfGp_getAnmArchive()); + JKRReadIdxResource(mFaceBckHeap.getBuffer(), 0xC00, dRes_ID_ALANM_BCK_FAT_e, dComIfGp_getAnmArchive()); J3DAnmTransform* bck = (J3DAnmTransform*)J3DAnmLoaderDataBase::load(mFaceBckHeap.getBuffer()); - if (!field_0x2164.init(bck, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { + if (!mFaceBck.init(bck, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } @@ -4001,8 +4290,11 @@ int daAlink_c::createHeap() { } mpDemoFCTmpBls = (J3DDeformData*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), "demo00_Link_cut00_FC_tmp.bls"); - if (mpDemoFCTmpBls != NULL && mpDemoFCBlendModel->setDeformData(mpDemoFCTmpBls, 1)) { - return 0; + if (mpDemoFCTmpBls != NULL) { + s32 sp28 = mpDemoFCBlendModel->setDeformData(mpDemoFCTmpBls, 1); + if (sp28 != 0) { + return 0; + } } } @@ -4013,9 +4305,11 @@ static int daAlink_createHeap(fopAc_ac_c* i_this) { return ((daAlink_c*)i_this)->createHeap(); } -void daAlink_c::setSelectEquipItem(int param_0) { +void daAlink_c::setSelectEquipItem(BOOL param_0) { + J3DModel* prev_model; + if (!checkWolf()) { - J3DModel* temp = mSwordModel; + prev_model = mSwordModel; if (checkWoodSwordEquip()) { mSwordModel = mWoodSwordModel; @@ -4042,19 +4336,19 @@ void daAlink_c::setSelectEquipItem(int param_0) { } if (mClothesChangeWaitTimer == 0 && - (temp != mSwordModel || checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW))) + (prev_model != mSwordModel || checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW))) { - if (temp != mSwordModel) { + if (prev_model != mSwordModel) { mSwordChangeWaitTimer = 5; } if (checkWoodSwordEquip()) { - if (mEquipItem == 0x103 || param_0 != 0) { + if (mEquipItem == 0x103 || param_0) { mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide(); } else { mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->show(); } - } else if (mEquipItem == 0x103 || param_0 != 0) { + } else if (mEquipItem == 0x103 || param_0) { mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->show(); } else { mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide(); @@ -4104,29 +4398,31 @@ void daAlink_c::playerInit() { } u16 i; - dCcD_Cyl* cyl1 = field_0x850; - dCcD_Cyl* cyl2 = field_0xC04; - for (i = 0; i < 3; i++, cyl1++, cyl2++) { - cyl1->Set(l_cylSrc); - cyl1->SetStts(&field_0x814); - cyl1->OnTgNoConHit(); - cyl1->SetTgShieldFrontRangeYAngle(&field_0x306c); - cyl1->SetTgHitCallback(daAlink_tgHitCallback); - cyl1->SetCoHitCallback(daAlink_coHitCallback); + dCcD_Cyl* tgCyl = mTgCyls; + dCcD_Cyl* windTgCyl = mWindTgCyls; + for (i = 0; i < 3; i++, tgCyl++, windTgCyl++) { + tgCyl->Set(l_cylSrc); + tgCyl->SetStts(&mCcStts); + tgCyl->OnTgNoConHit(); + tgCyl->SetTgShieldFrontRangeYAngle(&field_0x306c); + tgCyl->SetTgHitCallback(daAlink_tgHitCallback); + tgCyl->SetCoHitCallback(daAlink_coHitCallback); - cyl2->Set(l_cylSrc); - cyl2->SetStts(&field_0x814); - cyl2->OffCoSetBit(); - cyl2->SetTgMtrl(3); - cyl2->OnTgNoHitMark(); - cyl2->SetTgType(0xD8FBFFFF); - cyl2->OnTgSPrmBit(0x20); + windTgCyl->Set(l_cylSrc); + windTgCyl->SetStts(&mCcStts); + windTgCyl->OffCoSetBit(); + windTgCyl->SetTgMtrl(dCcD_MTRL_WIND); + windTgCyl->OnTgNoHitMark(); + windTgCyl->SetTgType(0xD8FBFFFF); + windTgCyl->OnTgSPrmBit(0x20); } - field_0x850[2].SetH(90.0f); - field_0x850[1].SetH(90.0f); - field_0xFB8.Set(l_sphSrc); - field_0xFB8.SetStts(&field_0x814); - field_0xFB8.StartCAt(current.pos); + + mTgCyls[2].SetH(90.0f); + mTgCyls[1].SetH(90.0f); + + mAtSph.Set(l_sphSrc); + mAtSph.SetStts(&mCcStts); + mAtSph.StartCAt(current.pos); mAnmHeap3.setBufferSize(0x20000); mAnmHeap3.createHeap(daPy_anmHeap_c::HEAP_TYPE_4); @@ -4141,49 +4437,54 @@ void daAlink_c::playerInit() { mAnmHeap4.createHeap(daPy_anmHeap_c::HEAP_TYPE_4); setShieldModel(); + #if DEBUG + l_debugMode = FALSE; + #endif + mSwordModel = mpSwAModel; mSheathModel = mpSwASheathModel; - field_0x814.Init(120, 0xFF, this); + mCcStts.Init(120, 0xFF, this); field_0x306c = shape_angle.y + mBodyAngle.y; - for (u16 i = 0; i < 3; i++) { + for (i = 0; i < 3; i++) { mAtCps[i].Set(l_atCpsSrc); - mAtCps[i].SetStts(&field_0x814); + mAtCps[i].SetStts(&mCcStts); } + mGuardAtCps.Set(l_atCpsSrc); - mGuardAtCps.SetStts(&field_0x814); + mGuardAtCps.SetStts(&mCcStts); mGuardAtCps.SetAtType(AT_TYPE_SHIELD_ATTACK); mGuardAtCps.OnAtNoHitMark(); mGuardAtCps.SetAtHitMark(0); mGuardAtCps.SetAtAtp(0); + mAtCyl.Set(l_atCylSrc); - mAtCyl.SetStts(&field_0x814); + mAtCyl.SetStts(&mCcStts); mLinkAcch.Set(this, 3, mAcchCir); mLinkAcch.ClrWaterNone(); mLinkAcch.SetWaterCheckOffset(10000.0f); mLinkAcch.OnLineCheck(); mLinkAcch.ClrRoofNone(); - mLinkAcch.SetRoofCrrHeight(field_0x598); + mLinkAcch.SetRoofCrrHeight(mHeight); mLinkAcch.SetGndThinCellingOff(); mLinkAcch.SetWtrChkMode(2); mLinkAcch.OnWallSort(); + mAcchCir[0].SetWall(l_autoUpHeight, 35.0f); mAcchCir[1].SetWall(129.99000549316406f, 35.0f); - mAcchCir[2].SetWall(field_0x598, 35.0f); - field_0x2fe6 = shape_angle.y; + mAcchCir[2].SetWall(mHeight, 35.0f); + mPrevAngleY = shape_angle.y; - for (u16 i = 0; i < 3; i++) { - u8* underBuf = mUnderAnmHeap[0].getBuffer(); - mUnderAnmHeap[i].setBuffer(underBuf + (i * 0x2C00)); + for (i = 0; i < 3; i++) { + mUnderAnmHeap[i].setBuffer(mUnderAnmHeap[0].getBuffer() + (i * 0x2C00)); mUnderAnmHeap[i].createHeap(daPy_anmHeap_c::HEAP_TYPE_3); } mUpperAnmHeap[0].setBuffer(mUnderAnmHeap[0].getBuffer() + 0x8400); - for (u16 i = 0; i < 3; i++) { - u8* upperBuf = mUpperAnmHeap[0].getBuffer(); - mUpperAnmHeap[i].setBuffer(upperBuf + (i * 0x2C00)); + for (i = 0; i < 3; i++) { + mUpperAnmHeap[i].setBuffer(mUpperAnmHeap[0].getBuffer() + (i * 0x2C00)); mUpperAnmHeap[i].createHeap(daPy_anmHeap_c::HEAP_TYPE_3); } @@ -4191,7 +4492,7 @@ void daAlink_c::playerInit() { mFaceBtkHeap.createHeap(daPy_anmHeap_c::HEAP_TYPE_2); mFaceBckHeap.createHeap(daPy_anmHeap_c::HEAP_TYPE_3); - for (u16 i = 0; i < 2; i++) { + for (i = 0; i < 2; i++) { mItemHeap[i].setBufferSize(0x13200); mItemHeap[i].createHeap(daPy_anmHeap_c::HEAP_TYPE_4); } @@ -4201,28 +4502,31 @@ void daAlink_c::playerInit() { mZ2Link.init(¤t.pos, &eyePos, &field_0x3720); mZ2Link.initKantera(&mKandelaarFlamePos); mZ2Link.setKanteraState(0); - mProcID = 0x160; + mProcID = PROC_MAX; - m_swordBlur.m_blurTex = (ResTIMG*)dComIfG_getObjectRes(l_arcName, 0x59); // blur.bti + m_swordBlur.m_blurTex = (ResTIMG*)dComIfG_getObjectRes(l_arcName, dRes_ID_ALINK_BTI_BLUR_e); + JUT_ASSERT(4753, m_swordBlur.m_blurTex != NULL); J3DModelData* modelData = mpSwAModel->getModelData(); - m_nSwordBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 0x44); // al_swa.btk + m_nSwordBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_ID_ALINK_BTK_AL_SWA_e); + JUT_ASSERT(4759, m_nSwordBtk); m_nSwordBtk->searchUpdateMaterialID(modelData); modelData->entryTexMtxAnimator(m_nSwordBtk); J3DModelData* modelData2 = mpSwMModel->getModelData(); - m_mSwordBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 0x45); // al_swm.btk + m_mSwordBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_ID_ALINK_BTK_AL_SWM_e); + JUT_ASSERT(4767, m_mSwordBtk); m_mSwordBtk->searchUpdateMaterialID(modelData2); modelData2->entryTexMtxAnimator(m_mSwordBtk); - m_mSwordBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 0x3F); // al_swm.brk + m_mSwordBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, dRes_ID_ALINK_BRK_AL_SWM_e); + JUT_ASSERT(4774, m_mSwordBrk != NULL); m_mSwordBrk->searchUpdateMaterialID(modelData2); modelData2->entryTevRegAnimator(m_mSwordBrk); - f32 tmp = -G_CM3D_F_INF; - mWaterY = tmp; - field_0x33b8 = tmp; - field_0x33bc = tmp; + mWaterY = -G_CM3D_F_INF; + field_0x33b8 = -G_CM3D_F_INF; + field_0x33bc = -G_CM3D_F_INF; mEquipItem = fpcNm_ITEM_NONE; offSwordModel(); @@ -4236,42 +4540,42 @@ void daAlink_c::playerInit() { int startEvent = getStartEvent(); if (dComIfGp_getStartStagePoint() == -2 || dComIfGp_getStartStagePoint() == -3) { - field_0x3188 = dComIfGp_evmng_startDemo(-1); + mStartEventID = dComIfGp_evmng_startDemo(-1); } else if (dComIfGp_getStartStagePoint() == -4) { - field_0x3188 = dComIfGp_evmng_startDemo(0xD5); + mStartEventID = dComIfGp_evmng_startDemo(0xD5); } else { if (getLastSceneMode() == 9) { - field_0x3188 = dComIfGp_evmng_startDemo(0xD3); + mStartEventID = dComIfGp_evmng_startDemo(0xD3); } else if (startMode == 10) { if (startEvent != 0xFF) { - field_0x3188 = dComIfGp_evmng_startDemo(startEvent); + mStartEventID = dComIfGp_evmng_startDemo(startEvent); } else { - field_0x3188 = dComIfGp_evmng_startDemo(0xCF); + mStartEventID = dComIfGp_evmng_startDemo(0xCF); } } else if (startMode == 11) { if (startEvent != 0xFF) { - field_0x3188 = dComIfGp_evmng_startDemo(startEvent); + mStartEventID = dComIfGp_evmng_startDemo(startEvent); } else { - field_0x3188 = dComIfGp_evmng_startDemo(0xD0); + mStartEventID = dComIfGp_evmng_startDemo(0xD0); } } else if (startMode == 6) { - field_0x3188 = dComIfGp_evmng_startDemo(0xCD); + mStartEventID = dComIfGp_evmng_startDemo(0xCD); } else if (startMode == 7) { - field_0x3188 = dComIfGp_evmng_startDemo(0xCE); + mStartEventID = dComIfGp_evmng_startDemo(0xCE); } else if (startMode == 8) { if (startEvent != 0xFF) { - field_0x3188 = dComIfGp_evmng_startDemo(startEvent); + mStartEventID = dComIfGp_evmng_startDemo(startEvent); } else { - field_0x3188 = dComIfGp_evmng_startDemo(0xD4); + mStartEventID = dComIfGp_evmng_startDemo(0xD4); } } else if (startMode == 12) { - field_0x3188 = dComIfGp_evmng_startDemo(0xC9); + mStartEventID = dComIfGp_evmng_startDemo(0xC9); } else if (getLastSceneMode() == 11) { - field_0x3188 = dComIfGp_evmng_startDemo(0xFF); + mStartEventID = dComIfGp_evmng_startDemo(0xFF); } else if (getLastSceneMode() == 12) { - field_0x3188 = dComIfGp_evmng_startDemo(0xD1); + mStartEventID = dComIfGp_evmng_startDemo(0xD1); } else { - field_0x3188 = dComIfGp_evmng_startDemo(startEvent); + mStartEventID = dComIfGp_evmng_startDemo(startEvent); } } @@ -4281,49 +4585,49 @@ void daAlink_c::playerInit() { field_0x2f96 = -1; field_0x2f97 = -1; - for (int i = 0; i < 0x10; i++) { + for (int i = 0; i < 16; i++) { mShieldArrowIDs[i] = fpcM_ERROR_PROCESS_ID_e; } + mAtnActorID = fpcM_ERROR_PROCESS_ID_e; mMsgClassID = fpcM_ERROR_PROCESS_ID_e; field_0x28f8 = fpcM_ERROR_PROCESS_ID_e; field_0x28fc = fpcM_ERROR_PROCESS_ID_e; - field_0x2e54.init(&mLinkAcch, mpHIO->mBasic.m.mWaterSurfaceEffectHeight, field_0x598); + field_0x2e54.init(&mLinkAcch, mpHIO->mBasic.m.mWaterSurfaceEffectHeight, mHeight); field_0x3108 = shape_angle.y; field_0x2f20.setOldPosP(&field_0x3624, &field_0x3630); field_0x2fc3 = 10; - field_0x2f5c.mPosition = current.pos; - field_0x2f5c.mColor.r = 80; - field_0x2f5c.mColor.g = 80; - field_0x2f5c.mColor.b = 200; + mMagneBootsPlight.mPosition = current.pos; + mMagneBootsPlight.mColor.r = 80; + mMagneBootsPlight.mColor.g = 80; + mMagneBootsPlight.mColor.b = 200; - f32 tmp_0 = 0.0f; - field_0x2f5c.mPow = tmp_0; - field_0x2f5c.mFluctuation = tmp_0; - dKy_plight_set(&field_0x2f5c); + mMagneBootsPlight.mPow = 0.0f; + mMagneBootsPlight.mFluctuation = 0.0f; + dKy_plight_set(&mMagneBootsPlight); - setSelectEquipItem(0); + setSelectEquipItem(FALSE); if (checkStageName("D_MN08") || checkStageName("D_MN08B") || checkStageName("D_MN08C")) { onNoResetFlg3(FLG3_UNK_40000000); } } -BOOL daAlink_c::checkHorseStart(u32 pLastMode, int pStartMode) { - return pLastMode == 1 || pStartMode == 2 || pLastMode == 8; +BOOL daAlink_c::checkHorseStart(u32 i_lastMode, int i_startMode) { + return i_lastMode == 1 || i_startMode == 2 || i_lastMode == 8; } int daAlink_c::setStartProcInit() { - BOOL sp10 = 0; + BOOL sp10 = FALSE; int start_mode = getStartMode(); u32 last_mode = getLastSceneMode(); daHorse_c* horsep = (daHorse_c*)dComIfGp_getHorseActor(); - BOOL horse_start = checkHorseStart(last_mode, start_mode); + BOOL isHorseStart = checkHorseStart(last_mode, start_mode); - setDamagePoint(getLastSceneDamage(), last_mode == 4, 0, 1); + setDamagePoint(getLastSceneDamage(), last_mode == 4, FALSE, 1); mSwordUpTimer = getLastSceneSwordAtUpTime() * 2; if (checkWolf()) { @@ -4336,13 +4640,24 @@ int daAlink_c::setStartProcInit() { mEquipItem = 0x103; } - if (mEquipItem == 0 || !checkCastleTownUseItem(mEquipItem) || (checkCloudSea() && mEquipItem != 0x103) || checkCanoeStart() || (horse_start && mEquipItem != 0x103 && !checkBowAndSlingItem(mEquipItem) && mEquipItem != fpcNm_ITEM_BOOMERANG && mEquipItem != fpcNm_ITEM_KANTERA && !checkHookshotItem(mEquipItem))) { + if (mEquipItem == 0 + || !checkCastleTownUseItem(mEquipItem) + || (checkCloudSea() && mEquipItem != 0x103) + || checkCanoeStart() + || (isHorseStart + && mEquipItem != 0x103 + && !checkBowAndSlingItem(mEquipItem) + && mEquipItem != fpcNm_ITEM_BOOMERANG + && mEquipItem != fpcNm_ITEM_KANTERA + && !checkHookshotItem(mEquipItem)) + ) + { mEquipItem = fpcNm_ITEM_NONE; } else { setItemModel(); } - if (horse_start) { + if (isHorseStart) { horsep->setHorsePosAndAngle(¤t.pos, shape_angle.y); horsep->initHorseMtx(); initForceRideHorse(); @@ -4353,20 +4668,20 @@ int daAlink_c::setStartProcInit() { procCoPeepSubjectivityInit(); } else if (last_mode == 11) { mLinkAcch.SetGroundHit(); - procBoardWaitInit(fopAcM_SearchByID(field_0x2900)); + procBoardWaitInit(fopAcM_SearchByID(mRideActorID)); } else if (last_mode == 12) { procDungeonWarpSceneStartInit(); } else if (dComIfGp_getStartStagePoint() == -4) { procCoWarpInit(1, 1); - } else if (start_mode == 8 && field_0x3188 == 0xFF) { + } else if (start_mode == 8 && mStartEventID == 0xFF) { procCoWarpInit(1, 0); } else if (last_mode == 4 || start_mode == 12 || last_mode == 5) { if (checkHorseRide()) { procHorseComebackInit(); } else { - commonLargeDamageUpInit(-2, 1, 0, 0); + commonLargeDamageUpInit(-2, TRUE, 0, 0); if (checkWolf()) { - sp10 = 1; + sp10 = TRUE; } } } else if (last_mode == 9) { @@ -4402,34 +4717,34 @@ int daAlink_c::setStartProcInit() { if (start_mode == 3) { shape_angle.y = dComIfGs_getLastSceneAngleY(); current.angle.y = shape_angle.y; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; } - if (field_0x3188 == 0xFF) { + if (mStartEventID == 0xFF) { if (!checkModeFlg(0x400) && start_mode != 0) { mNormalSpeed = dComIfGs_getLastSceneSpeedF(); } mDemo.setStartDemoType(); - mDemo.setDemoMode(14); + mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_14_e); mDemo.setMoveAngle(current.angle.y); mDemo.setTimer(35); if (checkModeFlg(0x400)) { - daHorse_c* var_r27 = dComIfGp_getHorseActor(); - var_r27->changeOriginalDemo(); - var_r27->changeDemoMode(6, 0); + daHorse_c* horse = dComIfGp_getHorseActor(); + horse->changeOriginalDemo(); + horse->changeDemoMode(6, 0); if (start_mode == 2) { if (checkStageName("F_SP109") && fopAcM_GetRoomNo(this) == 0 && dComIfGs_getStartPoint() == 35) { - var_r27->setSpeedF(var_r27->getNormalMaxSpeedF()); + horse->setSpeedF(horse->getNormalMaxSpeedF()); } else { - var_r27->setSpeedF(0.0f); + horse->setSpeedF(0.0f); } } else if (start_mode == 1) { - var_r27->setWalkSpeedF(); + horse->setWalkSpeedF(); } else { - var_r27->setSpeedF(dComIfGs_getLastSceneSpeedF()); + horse->setSpeedF(dComIfGs_getLastSceneSpeedF()); } procHorseWaitInit(); @@ -4467,12 +4782,12 @@ int daAlink_c::setStartProcInit() { checkWaitAction(); } else if (last_mode == 2 || last_mode == 3) { mDemo.setStick(dComIfGs_getLastSceneSpeedF()); - field_0x2fe2 = shape_angle.y; + mMoveAngle = shape_angle.y; if (last_mode == 3) { shape_angle.y += 0x8000; current.angle.y = shape_angle.y; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; } if (checkWolf()) { @@ -4506,24 +4821,37 @@ int daAlink_c::setStartProcInit() { int daAlink_c::create() { fopAcM_ct(this, daAlink_c); - static int bgWaitFlg = 0; + static BOOL bgWaitFlg = FALSE; u32 sceneMode = getLastSceneMode(); s32 startMode = getStartMode(); s16 startPoint = dComIfGp_getStartStagePoint(); - BOOL horseStart = checkHorseStart(sceneMode, startMode); + BOOL isHorseStart = checkHorseStart(sceneMode, startMode); // Stage: City Room: Entrance Layer: 0 - BOOL enteringCity = checkStageName("D_MN07") && dComIfGp_roomControl_getStayNo() == 0 && - dComIfG_play_c::getLayerNo(0) == 0 && current.pos.y > 7500.0f; + BOOL isEnteringLV7 = checkStageName("D_MN07") + && dComIfGp_roomControl_getStayNo() == 0 + && dComIfG_play_c::getLayerNo(0) == 0 + && current.pos.y > 7500.0f; if (!bgWaitFlg) { + #if DEBUG + if (g_playerKind == 2) { + dComIfGs_setSelectEquipClothes(fpcNm_ITEM_WEAR_CASUAL); + } else if (g_playerKind == 3) { + dComIfGs_setSelectEquipClothes(fpcNm_ITEM_WEAR_KOKIRI); + } else if (g_playerKind == 4) { + dComIfGs_setSelectEquipClothes(fpcNm_ITEM_WEAR_ZORA); + } else if (g_playerKind == 5) { + dComIfGs_setSelectEquipClothes(fpcNm_ITEM_ARMOR); + } else + #endif // Event Flag: Finished Sewers if (checkCasualWearFlg() && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) { dComIfGs_setSelectEquipClothes(fpcNm_ITEM_WEAR_KOKIRI); } - if (enteringCity && checkMagicArmorHeavy()) { + if (isEnteringLV7 && checkMagicArmorHeavy()) { dComIfGs_setSelectEquipClothes(fpcNm_ITEM_WEAR_KOKIRI); } @@ -4537,14 +4865,30 @@ int daAlink_c::create() { current.angle.y = shape_angle.y; } - if ((!checkBossOctaIealRoom() && dComIfGs_Wolf_Change_Check() == 1) || startPoint == -4 || - sceneMode == 9) + if (( + ( + !checkBossOctaIealRoom() + #if DEBUG + && g_playerKind == 0 + #endif + ) + && dComIfGs_Wolf_Change_Check() == TRUE + ) + || + ( + #if DEBUG + g_playerKind == 1 || + #endif + startPoint == -4 + ) + || sceneMode == 9 + ) { attention_info.position.set(current.pos.x + cM_ssin(shape_angle.y) * 70.0f, current.pos.y + 80.0f, current.pos.z + cM_scos(shape_angle.y) * 70.0f); onNoResetFlg1(FLG1_IS_WOLF); - } else if (horseStart) { + } else if (isHorseStart) { attention_info.position.y = current.pos.y + 275.0f; } else { attention_info.position.y = current.pos.y + 150.0f; @@ -4566,8 +4910,12 @@ int daAlink_c::create() { if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, mpShieldArcHeap) != cPhs_COMPLEATE_e) { return cPhs_INIT_e; } + + u32 heapSize = 0x3E930; + heapSize |= 0x80000000; + heapSize |= 0x40000000; - if (!fopAcM_entrySolidHeap(this, daAlink_createHeap, 0xC003E930)) { + if (!fopAcM_entrySolidHeap(this, daAlink_createHeap, heapSize)) { return cPhs_ERROR_e; } @@ -4575,74 +4923,74 @@ int daAlink_c::create() { field_0x317c = dComIfGp_getPlayerCameraID(0); playerInit(); - bgWaitFlg = 1; + bgWaitFlg = TRUE; if (checkCanoeStart()) { - field_0x2900 = fopAcM_create(PROC_CANOE, 0, ¤t.pos, fopAcM_GetRoomNo(this), + mRideActorID = fopAcM_create(PROC_CANOE, 0, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); } else if (sceneMode == 11) { - field_0x2900 = fopAcM_create(PROC_Obj_IceLeaf, 0x1FFFF, ¤t.pos, + mRideActorID = fopAcM_create(PROC_Obj_IceLeaf, 0x1FFFF, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); } else { - field_0x2900 = fpcM_ERROR_PROCESS_ID_e; + mRideActorID = fpcM_ERROR_PROCESS_ID_e; } } mLinkAcch.CrrPos(dComIfG_Bgsp()); - void* var_r24 = NULL; + void* portalActor = NULL; - if (mLinkAcch.GetGroundH() == -G_CM3D_F_INF || - (startMode == 14 && !dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) || - (startPoint == -4 && - !(var_r24 = fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchPortal, ¤t.pos))) || - (field_0x2900 != fpcM_ERROR_PROCESS_ID_e && !fopAcM_SearchByID(field_0x2900)) || - (checkCanoeStart() && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL)) || - (checkBoarStart() && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchBoar, NULL)) || - (startMode == 13 && - (!mLinkAcch.ChkWaterHit() || mLinkAcch.m_wtr.GetHeight() < current.pos.y)) || - ((checkCarryStartLightBallA() || checkCarryStartLightBallB()) && - !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchLightBall, NULL)) || - (horseStart && dComIfGp_getHorseActor() == NULL)) + if (mLinkAcch.GetGroundH() == -G_CM3D_F_INF + || (startMode == 14 && !dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) + || (startPoint == -4 && !(portalActor = fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchPortal, ¤t.pos))) + || (mRideActorID != fpcM_ERROR_PROCESS_ID_e && !fopAcM_SearchByID(mRideActorID)) + || (checkCanoeStart() && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL)) + || (checkBoarStart() && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchBoar, NULL)) + || (startMode == 13 && (!mLinkAcch.ChkWaterHit() || mLinkAcch.m_wtr.GetHeight() < current.pos.y)) + || ((checkCarryStartLightBallA() || checkCarryStartLightBallB()) && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchLightBall, NULL)) + || (isHorseStart && dComIfGp_getHorseActor() == NULL) + ) { return cPhs_INIT_e; } - if (var_r24 != NULL) { - dComIfGp_getEvent()->setPtD(var_r24); + if (portalActor != NULL) { + dComIfGp_getEvent()->setPtD(portalActor); } - bgWaitFlg = 0; + bgWaitFlg = FALSE; dComIfGs_setRestartRoom(current.pos, shape_angle.y, getStartRoomNo()); field_0x3780 = current.pos; mLinkAcch.ClrGndThinCellingOff(); - fopAcM_SetRoomNo(this, dComIfG_Bgsp().GetRoomId(mLinkAcch.m_gnd) + 1); + + int bg_roomId = dComIfG_Bgsp().GetRoomId(mLinkAcch.m_gnd); + fopAcM_SetRoomNo(this, bg_roomId + 1); setRoomInfo(); setWaterY(); if (checkStageName("F_SP102") && fopAcM_GetRoomNo(this) == 0 && dComIfG_play_c::getLayerNo(0) == 4) { - onNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); + onNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE_1ST); } else if (checkStageName("F_SP123") && fopAcM_GetRoomNo(this) == 13 && dComIfG_play_c::getLayerNo(0) == 0) { - onNoResetFlg2(FLG2_UNK_1000000); + onNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE_2ND); } - J3DAnmTransform* at1; - J3DAnmTransform* at2; - getUnderUpperAnime(ANM_WAIT, &at1, &at2, 0, 0x2C00); - mNowAnmPackUnder[0].setAnmTransform(at1); + J3DAnmTransform* underBck; + J3DAnmTransform* upperBck; + getUnderUpperAnime(ANM_WAIT, &underBck, &upperBck, 0, 0x2C00); + mNowAnmPackUnder[0].setAnmTransform(underBck); - if (at2 != NULL) { - mNowAnmPackUpper[0].setAnmTransform(at2); + if (upperBck != NULL) { + mNowAnmPackUpper[0].setAnmTransform(upperBck); } else { - mNowAnmPackUpper[0].setAnmTransform(at1); + mNowAnmPackUpper[0].setAnmTransform(underBck); } - int prm = setStartProcInit(); - setSelectEquipItem(0); + int midna_prm = setStartProcInit(); + setSelectEquipItem(FALSE); setMatrix(); allAnimePlay(); mpLinkModel->calc(); @@ -4657,13 +5005,13 @@ int daAlink_c::create() { setBodyPartPos(); setHangWaterY(); - field_0x850[0].SetC(current.pos); + mTgCyls[0].SetC(current.pos); field_0x3454 = field_0x3834.y; setAttentionPos(); setItemActor(); if ((dComIfGs_getLastSceneMode() & 0x400000) && !checkWolf() && !checkNotHeavyBootsStage() && - !horseStart && !enteringCity) + !isHorseStart && !isEnteringLV7) { setHeavyBoots(1); } @@ -4678,14 +5026,20 @@ int daAlink_c::create() { 1, 1); } - fopAcM_create(PROC_MIDNA, prm, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); + #if DEBUG + // "Link" + mpHIO->entryHIO("リンク"); + l_jumpTop = 0.0f; + #endif + + fopAcM_create(PROC_MIDNA, midna_prm, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); checkSetNpcTks(¤t.pos, fopAcM_GetRoomNo(this), 1); if (startPoint == -4 && dComIfGp_TargetWarpPt_get() != 0xFF && !dComIfGp_TransportWarp_check()) { daTagMhint_c::createPortalWarpMissTag(0xBBE, fopAcM_GetID(this)); } - if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) == 0x11) { + if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) == dStage_SaveTbl_LV2) { if (!dComIfGs_isItemFirstBit(fpcNm_ITEM_HYLIA_SHIELD) && !dComIfGs_isItemFirstBit(fpcNm_ITEM_SHIELD) && !dComIfGs_isItemFirstBit(fpcNm_ITEM_WOOD_SHIELD)) { @@ -4698,8 +5052,10 @@ int daAlink_c::create() { return cPhs_COMPLEATE_e; } -static int daAlink_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); +static int daAlink_Create(fopAc_ac_c* actor) { + daAlink_c* i_this = (daAlink_c*)actor; + fpc_ProcID id = fopAcM_GetID(actor); + return i_this->create(); } int daAlink_c::setRoomInfo() { @@ -4711,7 +5067,7 @@ int daAlink_c::setRoomInfo() { if (roomID != fopAcM_GetRoomNo(this)) { tevStr.room_no = roomID; mVoiceReverbIntensity = dComIfGp_getReverb(roomID); - field_0x814.SetRoomId(roomID); + mCcStts.SetRoomId(roomID); fopAcM_SetRoomNo(this, roomID); } @@ -4721,29 +5077,29 @@ int daAlink_c::setRoomInfo() { } tevStr.YukaCol = dComIfG_Bgsp().GetPolyColor(mLinkAcch.m_gnd); - field_0x3174 = dComIfG_Bgsp().GetGroundCode(mLinkAcch.m_gnd); - field_0x2fbb = dComIfG_Bgsp().GetPolyAtt0(mLinkAcch.m_gnd); + mGroundCode = dComIfG_Bgsp().GetGroundCode(mLinkAcch.m_gnd); + mGndPolyAtt0 = dComIfG_Bgsp().GetPolyAtt0(mLinkAcch.m_gnd); mGndPolySpecialCode = dComIfG_Bgsp().GetSpecialCode(mLinkAcch.m_gnd); if (mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW && checkWolf()) { mGndPolySpecialCode = dBgW_SPCODE_LIGHT_SNOW; } - if (field_0x2fbd != 0xFF) { - if (field_0x2fbb == 3) { - field_0x2fbd = dComIfG_Bgsp().GetPolyAtt1(mLinkAcch.m_gnd); + if (mGndPolyAtt1 != 0xFF) { + if (mGndPolyAtt0 == 3) { + mGndPolyAtt1 = dComIfG_Bgsp().GetPolyAtt1(mLinkAcch.m_gnd); - if (field_0x2fbd == 4 && checkWolf()) { - field_0x2fbd = 0; + if (mGndPolyAtt1 == 4 && checkWolf()) { + mGndPolyAtt1 = 0; } - if (!checkEventRun() && (field_0x2fbd == 1 || field_0x2fbd == 3) && + if (!checkEventRun() && (mGndPolyAtt1 == 1 || mGndPolyAtt1 == 3) && (checkBootsOrArmorHeavy() || mSinkShapeOffset < 1.0f + field_0x3458)) { - field_0x2fbd = 2; + mGndPolyAtt1 = 2; } } else { - field_0x2fbd = 0; + mGndPolyAtt1 = 0; } } @@ -4875,7 +5231,13 @@ void daAlink_c::iceSlipBgCheck() { void daAlink_c::setIceSlipSpeed() { field_0x35d0 = field_0x35c4; - if (!checkModeFlg(0x1210C52) && !checkEventRun() && !checkHeavyStateOn(1, 1) && mGndPolySpecialCode == dBgW_SPCODE_ICE && !mLinkAcch.ChkWallHit() && mLinkAcch.ChkGroundHit()) { + if (!checkModeFlg(0x1210C52) + && !checkEventRun() + && !checkHeavyStateOn(TRUE, TRUE) + && mGndPolySpecialCode == dBgW_SPCODE_ICE + && !mLinkAcch.ChkWallHit() + && mLinkAcch.ChkGroundHit()) + { f32 var_f31, var_f30, var_f29; if (checkWolf()) { var_f31 = 0.1f; @@ -4913,15 +5275,15 @@ void daAlink_c::setIceSlipSpeed() { void daAlink_c::setPolygonSpeed() { offNoResetFlg3(daPy_FLG3(FLG3_UNK_1000 | FLG3_UNK_2000)); - if ((!checkEventRun() || checkNoResetFlg0(FLG0_UNK_14000)) && !checkMagneBootsOn()) { - cM3dGPla sp24; + if ((!checkEventRun() || checkNoResetFlg0(daPy_FLG0(FLG0_DEMO_STREAM_ACCEPT | FLG0_UNK_4000))) && !checkMagneBootsOn()) { + cM3dGPla tripla; if (checkNoResetFlg3(FLG3_MIDNA_TALK_POLY_SPEED)) { offNoResetFlg3(FLG3_MIDNA_TALK_POLY_SPEED); field_0x3594 = field_0x35a0; field_0x35a0 = cXyz::Zero; } - if ((mLinkAcch.ChkGroundHit() && !checkHeavyStateOn(1, 1) && mWaterY > 30.0f + current.pos.y) || checkModeFlg(0x40000)) { + if ((mLinkAcch.ChkGroundHit() && !checkHeavyStateOn(TRUE, TRUE) && mWaterY > 30.0f + current.pos.y) || checkModeFlg(0x40000)) { cXyz sp18; int sp8; if (fopAcM_getWaterStream(¤t.pos, mLinkAcch.m_gnd, &sp18, &sp8, 0)) { @@ -4930,7 +5292,7 @@ void daAlink_c::setPolygonSpeed() { f32 var_f31; f32 var_f30; - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { sp18 = cXyz::Zero; var_f30 = 0.5f; } else if (!checkModeFlg(0x40000)) { @@ -4969,24 +5331,29 @@ void daAlink_c::setPolygonSpeed() { } cLib_addCalcPos(&field_0x3594, sp18, 0.5f, var_f30, 0.5f); - } else if (field_0x2fbd == 4 && mLinkAcch.ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp24) && sp24.mNormal.y <= cM_scos(cM_deg2s(29.9f))) { - f32 temp_f26 = sp24.mNormal.y; - f32 temp_f27 = cM_sht2d(cM_atan2s(sp24.mNormal.absXZ(), sp24.mNormal.y)) - 29.9f; - sp24.mNormal.y = 0.0f; - sp24.mNormal.normalizeZP(); + } else if (mGndPolyAtt1 == 4 + && mLinkAcch.ChkGroundHit() + && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) + && dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &tripla) + && tripla.mNormal.y <= cM_scos(cM_deg2s(29.9f))) + { + f32 temp_f26 = tripla.mNormal.y; + f32 temp_f27 = cM_sht2d(cM_atan2s(tripla.mNormal.absXZ(), tripla.mNormal.y)) - 29.9f; + tripla.mNormal.y = 0.0f; + tripla.mNormal.normalizeZP(); f32 sp3C = cM_deg2s(field_0x3122); - f32 var_f29; + f32 maxSpeed; if (temp_f27 < sp3C - 29.9f) { if (checkWolf()) { - var_f29 = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; + maxSpeed = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; } else { - var_f29 = mpHIO->mMove.m.mMaxSpeed; + maxSpeed = mpHIO->mMove.m.mMaxSpeed; } } else if (checkWolf()) { - var_f29 = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeedWeak; + maxSpeed = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeedWeak; } else { - var_f29 = mpHIO->mSlide.m.mMaxClimbSpeed; + maxSpeed = mpHIO->mSlide.m.mMaxClimbSpeed; } f32 var_f28 = 0.016887419f * (temp_f27 * temp_f26); @@ -4994,8 +5361,8 @@ void daAlink_c::setPolygonSpeed() { var_f28 = 1.0f; } - sp24.mNormal *= 0.5f + (var_f29 * var_f28); - cLib_addCalcPos(&field_0x3594, sp24.mNormal, 0.5f, 1.0f, 0.2f); + tripla.mNormal *= 0.5f + (maxSpeed * var_f28); + cLib_addCalcPos(&field_0x3594, tripla.mNormal, 0.5f, 1.0f, 0.2f); } else { field_0x3594 = cXyz::Zero; } @@ -5009,8 +5376,8 @@ bool daAlink_c::checkWindSpeedOnAngle() const { return false; } - int tmp = cLib_distanceAngleS(field_0x30cc, shape_angle.y); - return tmp >= 0x6000 || (tmp >= 0x4000 && checkWindDashAnime()); + int angle = cLib_distanceAngleS(field_0x30cc, shape_angle.y); + return angle >= 0x6000 || (angle >= 0x4000 && checkWindDashAnime()); } bool daAlink_c::checkWindSpeedOnAngleAnime(int param_0) const { @@ -5023,7 +5390,7 @@ bool daAlink_c::checkDashAnime() const { } f32 daAlink_c::checkWindWallRate(cXyz const& param_0) { - cXyz sp24(current.pos.x, current.pos.y + (0.5f * field_0x598), current.pos.z); + cXyz sp24(current.pos.x, current.pos.y + (0.5f * mHeight), current.pos.z); cXyz sp18 = sp24 - (param_0 * mpHIO->mBasic.m.mMaxWindInfluenceDist); f32 var_f31; @@ -5040,32 +5407,32 @@ f32 daAlink_c::checkWindWallRate(cXyz const& param_0) { } void daAlink_c::setWindSpeed() { - if (!checkModeFlg(0x40000) && !checkNoResetFlg0(FLG0_UNDERWATER)) { + if (!checkModeFlg(0x40000) && !checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { cXyz sp3C; f32 var_f31; f32 sp8; - if (field_0xC04[0].ChkTgHit() || field_0xC04[1].ChkTgHit() || field_0xC04[2].ChkTgHit()) { + if (mWindTgCyls[0].ChkTgHit() || mWindTgCyls[1].ChkTgHit() || mWindTgCyls[2].ChkTgHit()) { int i = 0; for (; i < 3; i++) { - if (field_0xC04[i].ChkTgHit()) { + if (mWindTgCyls[i].ChkTgHit()) { break; } } - sp3C = *field_0xC04[i].GetTgRVecP(); + sp3C = *mWindTgCyls[i].GetTgRVecP(); f32 temp_f1 = sp3C.absXZ(); if (temp_f1 < 1.0f && !checkGrabGlide()) { - if (field_0xC04[i].GetTgHitAc() != NULL) { - sp3C = current.pos - field_0xC04[i].GetTgHitAc()->current.pos; + if (mWindTgCyls[i].GetTgHitAc() != NULL) { + sp3C = current.pos - mWindTgCyls[i].GetTgHitAc()->current.pos; } else { - sp3C = current.pos - *field_0xC04[i].GetTgHitPosP(); + sp3C = current.pos - *mWindTgCyls[i].GetTgHitPosP(); } sp3C.y = 0.0f; sp3C.normalizeZP(); - sp3C *= field_0xC04[i].GetTgRVecP()->abs(); + sp3C *= mWindTgCyls[i].GetTgRVecP()->abs(); } sp8 = sp3C.abs(); @@ -5103,7 +5470,7 @@ void daAlink_c::setWindSpeed() { cLib_addCalcPos(&field_0x35b8, sp3C, 0.5f, var_f31, 0.5f); field_0x30cc = field_0x35b8.atan2sX_Z(); - if (!checkHeavyStateOn(1, 1) && !checkNoCollisionCorret() && !checkEventRun() && !checkModeFlg(0x10)) { + if (!checkHeavyStateOn(TRUE, TRUE) && !checkNoCollisionCorret() && !checkEventRun() && !checkModeFlg(0x10)) { cLib_addCalcPos(&mWindSpeed, sp3C, 0.5f, var_f31, 0.5f); } else { mWindSpeed = cXyz::Zero; @@ -5159,15 +5526,15 @@ void daAlink_c::setBodyPartPos() { cMtx_multVec(mpLinkModel->getAnmMtx(field_0x30b4), &localHeadCenter, &field_0x34e0); cMtx_multVec(mpLinkModel->getAnmMtx(field_0x30b4), &localHeadTop, &mHeadTopPos); - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(field_0x30b8), &mLeftHandPos); - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(field_0x30ba), &mRightHandPos); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(mLeftHandJntNo), &mLeftHandPos); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(mRightHandJntNo), &mRightHandPos); mDoMtx_multVecZero(mpLinkModel->getAnmMtx(field_0x30bc), &mLeftFootPos); mDoMtx_multVecZero(mpLinkModel->getAnmMtx(field_0x30be), &mRightFootPos); } mDoMtx_multVecZero(mpLinkModel->getAnmMtx(0), &field_0x3834); mItemPos = mHeadTopPos; - field_0x5f8 = current.pos; + mViewerCurrentPos = current.pos; if (checkRootTransClearMode()) { Vec sp8; @@ -5190,14 +5557,14 @@ void daAlink_c::setBodyPartPos() { sp8.y = 0.0f; } - field_0x5f8.set((current.pos.x - (sp8.z * cM_ssin(shape_angle.y))) - sp8.x * cM_scos(shape_angle.y), current.pos.y - sp8.y, (current.pos.z - (sp8.z * cM_scos(shape_angle.y))) + sp8.x * cM_ssin(shape_angle.y)); + mViewerCurrentPos.set((current.pos.x - (sp8.z * cM_ssin(shape_angle.y))) - sp8.x * cM_scos(shape_angle.y), current.pos.y - sp8.y, (current.pos.z - (sp8.z * cM_scos(shape_angle.y))) + sp8.x * cM_ssin(shape_angle.y)); } } -int daAlink_c::setRollJump(f32 param_0, f32 param_1, s16 param_2) { - field_0x3410 = param_0; - field_0x3414 = param_1; - field_0x30ee = param_2; +int daAlink_c::setRollJump(f32 i_speedH, f32 i_speedV, s16 i_angle) { + mRollJumpSpeedH = i_speedH; + mRollJumpSpeedV = i_speedV; + mRollJumpAngle = i_angle; onEndResetFlg0(ERFLG0_UNK_100); return 1; } @@ -5212,22 +5579,22 @@ void daAlink_c::setAttentionPos() { if (mProcID == PROC_METAMORPHOSE) { attention_info.position = field_0x34e0; } else if (checkModeFlg(0x400)) { - fopAc_ac_c* temp_r29 = mRideAcKeep.getActor(); + fopAc_ac_c* rideActor = mRideAcKeep.getActor(); if (mProcID == PROC_CANOE_RIDE || mProcID == PROC_CANOE_GETOFF || (mProcID == PROC_CANOE_WAIT && mProcVar0.field_0x3008 != 0)) { attention_info.position = field_0x34e0; } else if (checkSpinnerRide() || checkBoardRide()) { attention_info.position.set(current.pos.x, 150.0f + current.pos.y, current.pos.z); - } else if (temp_r29 != NULL) { + } else if (rideActor != NULL) { if (checkCanoeRide()) { f32 var_f31 = l_canoeBaseAnime.z; - if (((daCanoe_c*)temp_r29)->checkTandem()) { + if (((daCanoe_c*)rideActor)->checkTandem()) { var_f31 += 175.0f; } - attention_info.position.set(temp_r29->current.pos.x + (var_f31 * cM_ssin(shape_angle.y)), 50.0f + (temp_r29->current.pos.y + l_canoeBaseAnime.y), temp_r29->current.pos.z + (var_f31 * cM_scos(shape_angle.y))); + attention_info.position.set(rideActor->current.pos.x + (var_f31 * cM_ssin(shape_angle.y)), 50.0f + (rideActor->current.pos.y + l_canoeBaseAnime.y), rideActor->current.pos.z + (var_f31 * cM_scos(shape_angle.y))); } else { - attention_info.position.set(temp_r29->current.pos.x, 275.0f + temp_r29->current.pos.y, temp_r29->current.pos.z); + attention_info.position.set(rideActor->current.pos.x, 275.0f + rideActor->current.pos.y, rideActor->current.pos.z); } } else { attention_info.position.set(current.pos.x, 50.0f + current.pos.y, current.pos.z); @@ -5268,29 +5635,29 @@ void daAlink_c::setAttentionPos() { mDoMtx_multVecZero(mpLinkModel->getBaseTRMtx(), &attention_info.position); attention_info.position.y += 150.0f; } else { - const Vec* var_r28; - f32 var_f30; + const Vec* offset; + f32 pos_y; if (checkModeFlg(0x800000)) { - var_r28 = &crouchOffset; - var_f30 = current.pos.y; + offset = &crouchOffset; + pos_y = current.pos.y; } else if (checkModeFlg(0x40000)) { - var_r28 = &swimOffset; - var_f30 = current.pos.y; + offset = &swimOffset; + pos_y = current.pos.y; } else { if (mProcID == PROC_LAVA_RETURN) { - var_r28 = &swimOffset; + offset = &swimOffset; } else if (checkModeFlg(0x01000000)) { - var_r28 = &crawlOffset; + offset = &crawlOffset; } else { - var_r28 = &normalOffset; + offset = &normalOffset; } - var_f30 = mpLinkModel->getBaseTRMtx()[1][3]; + pos_y = mpLinkModel->getBaseTRMtx()[1][3]; } - cMtx_multVecSR(mpLinkModel->getBaseTRMtx(), var_r28, &attention_info.position); + cMtx_multVecSR(mpLinkModel->getBaseTRMtx(), offset, &attention_info.position); attention_info.position.x += current.pos.x; - attention_info.position.y += var_f30; + attention_info.position.y += pos_y; attention_info.position.z += current.pos.z; if (mProcID == PROC_CLIMB_MOVE_SIDE) { @@ -5307,7 +5674,7 @@ void daAlink_c::setAttentionPos() { void daAlink_c::setMatrix() { f32 var_f31; - if (field_0x3174 == 8 && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) { + if (mGroundCode == 8 && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) { var_f31 = 20.0f; } else { var_f31 = 0.0f; @@ -5351,7 +5718,15 @@ void daAlink_c::setMatrix() { field_0x2fb6 = 0; if (!checkWolf()) { - if (checkKandelaarEquipAnime() || checkSwordTwirlAnime() || checkNoResetFlg0(FLG0_UNK_1000000) || (checkModeFlg(0x10000) && checkEquipAnime()) || (checkBoardRide() && checkSwordEquipAnime()) || (checkUpperGuardAnime() && checkEquipAnime())) { + if (checkKandelaarEquipAnime() + || checkSwordTwirlAnime() + || checkNoResetFlg0(FLG0_UNK_1000000) + || (checkModeFlg(0x10000) && checkEquipAnime()) + || (checkBoardRide() && checkSwordEquipAnime()) + || (checkUpperGuardAnime() && checkEquipAnime()) + || (checkKandelaarSwingAnime() && mProcID != PROC_KANDELAAR_SWING && mTargetedActor == NULL && !checkModeFlg(0x400)) + ) + { field_0x2fb6 = 5; } else if (checkReelAnime()) { field_0x2fb6 = 4; @@ -5367,7 +5742,7 @@ void daAlink_c::setMatrix() { field_0x2fb6 = 8; } else if ((mProcID == PROC_SLIDE && field_0x3198 != 0) || (checkWindDashAnime() && checkUnderMove1BckNoArc(ANM_WALK_HEAVY) && (checkModeFlg(1) || checkZeroSpeedF()))) { field_0x2fb6 = 7; - } else if (checkUpperAnime(0x96) || checkCutDashChargeAnime() || (checkReinRide() && (checkUpperReadyThrowAnime() || checkGrabAnime()))) { + } else if (checkUpperAnime(dRes_ID_ALANM_BCK_CUTHTP_e) || checkCutDashChargeAnime() || (checkReinRide() && (checkUpperReadyThrowAnime() || checkGrabAnime()))) { field_0x2fb6 = 3; } else if (checkSwordEquipAnime() && !checkShieldGet()) { field_0x2fb6 = 2; @@ -5390,7 +5765,7 @@ int daAlink_c::simpleAnmPlay(J3DAnmBase* i_anm) { return 0; } - int ret = 0; + BOOL ret = FALSE; f32 frame = i_anm->getFrame() + 1.0f; if (frame >= i_anm->getFrameMax()) { @@ -5398,12 +5773,11 @@ int daAlink_c::simpleAnmPlay(J3DAnmBase* i_anm) { frame -= i_anm->getFrameMax(); } else { frame = i_anm->getFrameMax(); - ret = 1; + ret = TRUE; } } i_anm->setFrame(frame); - return ret; } @@ -5444,7 +5818,7 @@ void daAlink_c::setItemMatrix(int param_0) { int var_r26; if (!checkNoResetFlg3(FLG3_UNK_4000000)) { if (mEquipItem == 0x103 || param_0 != 0) { - mSwordModel->setBaseTRMtx(mpLinkModel->getAnmMtx(field_0x30c0)); + mSwordModel->setBaseTRMtx(mpLinkModel->getAnmMtx(mLeftItemJntNo)); var_r26 = 1; } else { mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30b6)); @@ -5471,8 +5845,16 @@ void daAlink_c::setItemMatrix(int param_0) { mZ2Link.setLinkSwordType(var_r28, var_r26); if (mShieldChangeWaitTimer == 0) { - if (param_0 != 0 || (checkPlayerGuardAndAttack() && mEquipItem != fpcNm_ITEM_IRONBALL && !checkModeFlg(0x400)) || checkNoResetFlg0(FLG0_UNK_2) || (mProcID == PROC_TOOL_DEMO && mProcVar4.field_0x3010 != 0) || (mProcID == PROC_CUT_REVERSE && mProcVar2.field_0x300c != 0) || mProcID == PROC_GUARD_BREAK || (mEquipItem == 0x103 && !checkEndResetFlg1(ERFLG1_GANON_FINISH) && !checkModeFlg(0x400))) { - mShieldModel->setBaseTRMtx(mpLinkModel->getAnmMtx(field_0x30c2)); + if (param_0 != 0 + || (checkPlayerGuardAndAttack() && mEquipItem != fpcNm_ITEM_IRONBALL && !checkModeFlg(0x400)) + || checkNoResetFlg0(FLG0_UNK_2) + || (mProcID == PROC_TOOL_DEMO && mProcVar4.field_0x3010 != 0) + || (mProcID == PROC_CUT_REVERSE && mProcVar2.field_0x300c != 0) + || mProcID == PROC_GUARD_BREAK + || (mEquipItem == 0x103 && !checkEndResetFlg1(ERFLG1_SHIELD_BACKBONE) && !checkModeFlg(0x400)) + ) + { + mShieldModel->setBaseTRMtx(mpLinkModel->getAnmMtx(mRightItemJntNo)); if (checkShieldGet()) { field_0x2e44.offPassNum(0xF); @@ -5557,12 +5939,12 @@ void daAlink_c::setItemMatrix(int param_0) { if (mEquipItem == 0x106) { mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(4)); } else if (checkOilBottleItemNotGet(mEquipItem)) { - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c2)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(mRightItemJntNo)); mDoMtx_stack_c::transM(1.5f, -7.5f, -1.0f); mDoMtx_stack_c::XYZrotM(cM_deg2s(183.0f), cM_deg2s(176.0f), cM_deg2s(167.0f)); mHeldItemModel->setBaseTRMtx(mDoMtx_stack_c::get()); } else if (checkBottleItem(mEquipItem)) { - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c0)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(mLeftItemJntNo)); mDoMtx_stack_c::transM(-10.0f,-0.5f, -5.5f); mDoMtx_stack_c::XYZrotM(cM_deg2s(174.0f), cM_deg2s(-47.0f), cM_deg2s(94.0f)); mHeldItemModel->setBaseTRMtx(mDoMtx_stack_c::get()); @@ -5574,12 +5956,12 @@ void daAlink_c::setItemMatrix(int param_0) { } } else if (checkBowAndSlingItem(mEquipItem)) { if (checkBowGrabLeftHand()) { - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c0)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(mLeftItemJntNo)); mDoMtx_stack_c::transM(-1.3f, 0.0f, -3.0f); mDoMtx_stack_c::XYZrotM(cM_deg2s(-74.0f), cM_deg2s(43.6), cM_deg2s(1.9f)); mHeldItemModel->setBaseTRMtx(mDoMtx_stack_c::get()); } else { - mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(field_0x30c2)); + mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(mRightItemJntNo)); } } else if (checkHookshotItem(mEquipItem)) { setHookshotPos(); @@ -5594,7 +5976,7 @@ void daAlink_c::setItemMatrix(int param_0) { } } - mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(field_0x30c0)); + mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(mLeftItemJntNo)); } if (mItemBck.getBckAnm() != NULL) { @@ -5613,7 +5995,7 @@ void daAlink_c::setItemMatrix(int param_0) { if (mProcID != PROC_OPEN_TREASURE && !checkEndResetFlg1(ERFLG1_UNK_4) && (mProcID != PROC_GET_ITEM || mProcVar4.field_0x3010 == 0)) { if (mEquipItem == fpcNm_ITEM_KANTERA || checkOilBottleItemNotGet(mEquipItem)) { - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c0)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(mLeftItemJntNo)); mDoMtx_stack_c::transM(-2.0f, -0.1f, -0.7f); mDoMtx_stack_c::XYZrotM(cM_deg2s(100.0f), cM_deg2s(9.3f), cM_deg2s(183.0f)); mpKanteraModel->setBaseTRMtx(mDoMtx_stack_c::get()); @@ -5688,7 +6070,7 @@ void daAlink_c::setWolfItemMatrix() { mpHookSound->framework(0, mVoiceReverbIntensity); if (mProcID != PROC_WOLF_DOWN_AT_LAND) { - field_0x32d4 = dComIfGp_particle_set(field_0x32d4, 0x86CD, &mHeldItemRootPos, &tevStr, NULL, NULL, 0xFF, &field_0x2f38, -1, NULL, NULL, NULL); + field_0x32d4 = dComIfGp_particle_set(field_0x32d4, dPa_RM(ID_ZI_S_ID_SETB_D), &mHeldItemRootPos, &tevStr, NULL, NULL, 0xFF, &field_0x2f38, -1, NULL, NULL, NULL); } } @@ -5700,12 +6082,12 @@ void daAlink_c::setWolfItemMatrix() { } void daAlink_c::setHandIndex(daAlink_c::daAlink_ANM i_anmID) { - field_0x2f92 = getAnmData(i_anmID)->field_0x4; - field_0x2f93 = getAnmData(i_anmID)->field_0x5; + mLeftHandIndex = getAnmData(i_anmID)->m_handIndexL; + mRightHandIndex = getAnmData(i_anmID)->m_handIndexR; } void daAlink_c::setSwordAtCollision(int param_0) { - cXyz sp74; + cXyz work; if (checkCutDashAnime() && (checkCutDashEnemyHit(mAtCps[0]) || checkCutDashEnemyHit(mAtCps[1]) || checkCutDashEnemyHit(mAtCps[2]))) @@ -5714,7 +6096,7 @@ void daAlink_c::setSwordAtCollision(int param_0) { } if (mProcID == PROC_CUT_FINISH_JUMP_UP) { - sp74.set(current.pos.x + mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackOffset * cM_ssin(shape_angle.y), + work.set(current.pos.x + mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackOffset * cM_ssin(shape_angle.y), field_0x3478, current.pos.z + mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackOffset * cM_scos(shape_angle.y)); f32 height = mSwordTopPos.y - field_0x3478; @@ -5726,9 +6108,9 @@ void daAlink_c::setSwordAtCollision(int param_0) { mAtCyl.SetH(height); if (param_0 != 0) { - mAtCyl.StartCAt(sp74); + mAtCyl.StartCAt(work); } else { - mAtCyl.MoveCAt(sp74); + mAtCyl.MoveCAt(work); } dComIfG_Ccsp()->Set(&mAtCyl); @@ -5736,15 +6118,16 @@ void daAlink_c::setSwordAtCollision(int param_0) { return; } - sp74 = ((mSwordTopPos - field_0x3498) * field_0x33d0) + field_0x3498; + work = ((mSwordTopPos - field_0x3498) * field_0x33d0) + field_0x3498; cXyz sp68 = ((field_0x34b0 - field_0x34bc) * field_0x33d0) + field_0x34bc; - mAtCps[0].SetStartEnd(field_0x3498, sp74); - mAtCps[1].SetStartEnd(sp68, sp74); + mAtCps[0].SetStartEnd(field_0x3498, work); + mAtCps[1].SetStartEnd(sp68, work); mAtCps[2].SetStartEnd(field_0x3498, sp68); - mAtCps[0].OnAtSetBit(); cXyz sp5C; + mAtCps[0].OnAtSetBit(); + if (param_0 != 0) { sp5C = cXyz::Zero; } else { @@ -5764,12 +6147,15 @@ void daAlink_c::setSwordAtCollision(int param_0) { } BOOL daAlink_c::checkNoCollisionCorret() { - if (checkModeFlg(0x12800) || mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e || mProcID == PROC_DOOR_OPEN || - (checkEventRun() && - (!strcmp(dComIfGp_getEventManager().getRunEventName(), "SCENE_EXIT") || - (fopAcM_getTalkEventPartner(this) && - fopAcM_getTalkEventPartner(this) == getMidnaActor()))) || - eventInfo.checkCommandDoor()) + if (checkModeFlg(0x12800) + || mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e + || mProcID == PROC_DOOR_OPEN + || (checkEventRun() && + (strcmp(dComIfGp_getEventManager().getRunEventName(), "SCENE_EXIT") == 0 + || (fopAcM_getTalkEventPartner(this) && fopAcM_getTalkEventPartner(this) == getMidnaActor()) + ) + ) + || eventInfo.checkCommandDoor()) { return true; } @@ -5782,40 +6168,39 @@ void daAlink_c::decSwordBlur() { m_swordBlur.field_0x14 = 0; } else { m_swordBlur.field_0x14 -= 10; - m_swordBlur.traceBlur(¤t.pos, &old.pos, shape_angle.y - field_0x2fe6); + m_swordBlur.traceBlur(¤t.pos, &old.pos, shape_angle.y - mPrevAngleY); } } void daAlink_c::resetWolfAtCollision() { - if (checkNoResetFlg0(FLG0_UNK_40)) { - if (!setSwordHitVibration(&mAtCyl) && !setSwordHitVibration(&field_0x850[0]) && - !setSwordHitVibration(&field_0x850[1])) + if (checkNoResetFlg0(FLG0_CUT_AT_FLG)) { + if (!setSwordHitVibration(&mAtCyl) && !setSwordHitVibration(&mTgCyls[0]) && + !setSwordHitVibration(&mTgCyls[1])) { - setSwordHitVibration(&field_0x850[2]); + setSwordHitVibration(&mTgCyls[2]); } - field_0xFB8.OffTgWolfSpNoDamage(); + mAtSph.OffTgWolfSpNoDamage(); mAtCyl.ResetAtHit(); - offNoResetFlg0(FLG0_UNK_40); + offNoResetFlg0(FLG0_CUT_AT_FLG); - dCcD_Cyl* cyl = field_0x850; - for (int i = 0; i < 3; i++) { + dCcD_Cyl* cyl = mTgCyls; + for (int i = 0; i < 3; i++, cyl++) { cyl->OffAtSetBit(); cyl->ResetAtHit(); cyl->OffTgWolfSpNoDamage(); - cyl++; } } } void daAlink_c::setWolfAtCollision() { - cXyz sp8; + int i; if (checkResetFlg0(RFLG0_UNK_2)) { - if (!setSwordHitVibration(&mAtCyl) && !setSwordHitVibration(&field_0x850[0]) && - !setSwordHitVibration(&field_0x850[1])) + if (!setSwordHitVibration(&mAtCyl) && !setSwordHitVibration(&mTgCyls[0]) && + !setSwordHitVibration(&mTgCyls[1])) { - setSwordHitVibration(&field_0x850[2]); + setSwordHitVibration(&mTgCyls[2]); } if (mProcID == PROC_WOLF_ROLL_ATTACK) { @@ -5824,23 +6209,23 @@ void daAlink_c::setWolfAtCollision() { dComIfG_Ccsp()->Set(&mAtCyl); dComIfG_Ccsp()->SetMass(&mAtCyl, 1); } else { - sp8.set(current.pos.x + field_0x3438 * cM_ssin(shape_angle.y), current.pos.y, - current.pos.z + field_0x3438 * cM_scos(shape_angle.y)); + cXyz sp8(current.pos.x + field_0x3438 * cM_ssin(shape_angle.y), current.pos.y, + current.pos.z + field_0x3438 * cM_scos(shape_angle.y)); - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { mAtCyl.StartCAt(sp8); if (mProcID == PROC_WOLF_LOCK_ATTACK || mProcID == PROC_WOLF_JUMP_ATTACK) { - field_0xFB8.OnTgWolfSpNoDamage(); + mAtSph.OnTgWolfSpNoDamage(); - for (int i = 0; i < 3; i++) { - field_0x850[i].OnTgWolfSpNoDamage(); + for (i = 0; i < 3; i++) { + mTgCyls[i].OnTgWolfSpNoDamage(); } } - if (mCutType == 0x32 || mProcID == PROC_WOLF_LOCK_ATTACK) { - for (int i = 0; i < 3; i++) { - field_0x850[i].OnAtSetBit(); + if (mCutType == CUT_TYPE_WOLF_JUMP_S_FINISH || mProcID == PROC_WOLF_LOCK_ATTACK) { + for (i = 0; i < 3; i++) { + mTgCyls[i].OnAtSetBit(); } } } else { @@ -5851,28 +6236,31 @@ void daAlink_c::setWolfAtCollision() { dComIfG_Ccsp()->SetMass(&mAtCyl, 1); } - onNoResetFlg0(FLG0_UNK_40); + onNoResetFlg0(FLG0_CUT_AT_FLG); } else { resetWolfAtCollision(); } } -void daAlink_c::resetAtCollision(int param_0) { - if (checkNoResetFlg0(FLG0_UNK_40)) { - if (param_0 && !setSwordHitVibration(&mAtCps[0]) && !setSwordHitVibration(&mAtCps[1]) && - !setSwordHitVibration(&mAtCps[2]) && !setSwordHitVibration(&mAtCyl)) +void daAlink_c::resetAtCollision(BOOL param_0) { + if (checkNoResetFlg0(FLG0_CUT_AT_FLG)) { + if (param_0 + && !setSwordHitVibration(&mAtCps[0]) + && !setSwordHitVibration(&mAtCps[1]) + && !setSwordHitVibration(&mAtCps[2]) + && !setSwordHitVibration(&mAtCyl)) { - setSwordHitVibration(&field_0xFB8); + setSwordHitVibration(&mAtSph); } - offNoResetFlg0(FLG0_UNK_40); + offNoResetFlg0(FLG0_CUT_AT_FLG); for (int i = 0; i < 3; i++) { mAtCps[i].ResetAtHit(); mAtCps[i].OffAtSetBit(); } - field_0xFB8.ResetAtHit(); + mAtSph.ResetAtHit(); } } @@ -5885,7 +6273,7 @@ void daAlink_c::setAtCollision() { 0.0f, daCrod_c::getFlyInitY(), 0.0f }; - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; cXyz spC8; cXyz spBC; @@ -5954,36 +6342,42 @@ void daAlink_c::setAtCollision() { mGuardAtCps.ResetAtHit(); } } else if (mProcID == PROC_FRONT_ROLL) { - if (checkEquipHeavyBoots() && temp_r29->getFrame() >= mpHIO->mFrontRoll.m.mBootsAttackInitF && temp_r29->getFrame() < mpHIO->mFrontRoll.m.mBootsAttackEndF) { + if (checkEquipHeavyBoots() && framectrl->getFrame() >= mpHIO->mFrontRoll.m.mBootsAttackInitF && framectrl->getFrame() < mpHIO->mFrontRoll.m.mBootsAttackEndF) { cXyz sp98 = (mLeftFootPos + mRightFootPos) * 0.5f; - field_0xFB8.SetC(sp98); + mAtSph.SetC(sp98); sp98.set(mNormalSpeed * cM_ssin(shape_angle.y), 0.0f, mNormalSpeed * cM_scos(shape_angle.y)); - field_0xFB8.SetAtVec(sp98); + mAtSph.SetAtVec(sp98); - dComIfG_Ccsp()->Set(&field_0xFB8); + dComIfG_Ccsp()->Set(&mAtSph); } else { - field_0xFB8.ResetAtHit(); + mAtSph.ResetAtHit(); } } else if (checkHookshotItem(mEquipItem)) { - if (mItemMode == 3 || mItemMode == 1) { - f32 var_f30; - f32 var_f29; + if (mItemMode == 3 + #if !PLATFORM_GCN + || (mItemMode == 0 && mSight.getDrawFlg()) + #endif + || mItemMode == 1 + ) + { + f32 maxLength; + f32 shootSpeed; if (checkLv7BossRoom()) { - var_f29 = mpHIO->mItem.mHookshot.m.mBossShootSpeed; - var_f30 = mpHIO->mItem.mHookshot.m.mBossMaxLength; + shootSpeed = mpHIO->mItem.mHookshot.m.mBossShootSpeed; + maxLength = mpHIO->mItem.mHookshot.m.mBossMaxLength; } else { - var_f29 = mpHIO->mItem.mHookshot.m.mShootSpeed; - var_f30 = mpHIO->mItem.mHookshot.m.mMaxLength; + shootSpeed = mpHIO->mItem.mHookshot.m.mShootSpeed; + maxLength = mpHIO->mItem.mHookshot.m.mMaxLength; } f32 var_f31; if (mItemMode == 3) { spC8 = mHookshotTopPos - mHeldItemRootPos; - f32 temp_f1 = spC8.abs(); - var_f31 = 15.0f + var_f29; - if (var_f31 + temp_f1 > var_f30) { - var_f31 = var_f30 - temp_f1; + f32 len = spC8.abs(); + var_f31 = 15.0f + shootSpeed; + if (var_f31 + len > maxLength) { + var_f31 = maxLength - len; } if (cLib_distanceAngleS(spC8.atan2sX_Z(), field_0x301e) > 0x4000) { @@ -5994,7 +6388,7 @@ void daAlink_c::setAtCollision() { if (dComIfG_Bgsp().LineCross(&mRopeLinChk)) { var_f31 = -1.0f; } else { - var_f31 = var_f30; + var_f31 = maxLength; } } @@ -6019,44 +6413,52 @@ void daAlink_c::setAtCollision() { } } else if (checkKandelaarSwing(1)) { if (dComIfGs_getOil() != 0 && mUnderFrameCtrl[0].getFrame() >= field_0x347c && mUnderFrameCtrl[0].getFrame() <= field_0x3480) { - if (field_0xFB8.ChkAtSet()) { - field_0xFB8.MoveCAt(mKandelaarFlamePos); + if (mAtSph.ChkAtSet()) { + mAtSph.MoveCAt(mKandelaarFlamePos); } else { - field_0xFB8.OnAtSetBit(); - field_0xFB8.StartCAt(mKandelaarFlamePos); + mAtSph.OnAtSetBit(); + mAtSph.StartCAt(mKandelaarFlamePos); } - dComIfG_Ccsp()->Set(&field_0xFB8); - dComIfG_Ccsp()->SetMass(&field_0xFB8, 1); + dComIfG_Ccsp()->Set(&mAtSph); + dComIfG_Ccsp()->SetMass(&mAtSph, 1); } else { - field_0xFB8.ResetAtHit(); + mAtSph.ResetAtHit(); } } else if (mEquipItem == fpcNm_ITEM_IRONBALL) { if (mItemVar0.field_0x3018 == 2 || mItemVar0.field_0x3018 == 3 || mItemVar0.field_0x3018 == 4 || mItemVar0.field_0x3018 == 5 || mItemVar0.field_0x3018 == 7 || mItemVar0.field_0x3018 == 6) { - if (field_0xFB8.ChkAtSet()) { - field_0xFB8.MoveCAt(mIronBallCenterPos); + #if DEBUG + mAtSph.SetR(mpHIO->mItem.mIronBall.m.mAttackRadius); + #endif + + if (mAtSph.ChkAtSet()) { + mAtSph.MoveCAt(mIronBallCenterPos); } else { - field_0xFB8.StartCAt(mIronBallCenterPos); - field_0xFB8.OnAtSetBit(); + mAtSph.StartCAt(mIronBallCenterPos); + mAtSph.OnAtSetBit(); } - dComIfG_Ccsp()->Set(&field_0xFB8); - dComIfG_Ccsp()->SetMass(&field_0xFB8, 1); + dComIfG_Ccsp()->Set(&mAtSph); + dComIfG_Ccsp()->SetMass(&mAtSph, 1); if (mItemVar0.field_0x3018 == 5 || mItemVar0.field_0x3018 == 7 || mItemVar0.field_0x3018 == 6) { field_0x1778.SetC(mIronBallCenterPos); dComIfG_Ccsp()->Set(&field_0x1778); } } else { - field_0xFB8.ResetAtHit(); + mAtSph.ResetAtHit(); field_0x1778.ResetAtHit(); } } if (checkResetFlg0(RFLG0_UNK_2)) { - if (!setSwordHitVibration(&mAtCps[0]) && !setSwordHitVibration(&mAtCps[1]) && !setSwordHitVibration(&mAtCps[2]) && !setSwordHitVibration(&mAtCyl)) { - setSwordHitVibration(&field_0xFB8); + if (!setSwordHitVibration(&mAtCps[0]) + && !setSwordHitVibration(&mAtCps[1]) + && !setSwordHitVibration(&mAtCps[2]) + && !setSwordHitVibration(&mAtCyl)) + { + setSwordHitVibration(&mAtSph); } if (checkCutDashAnime()) { @@ -6068,25 +6470,25 @@ void daAlink_c::setAtCollision() { } if (mProcID == PROC_CUT_TURN || (mProcID == PROC_CUT_LARGE_JUMP_LAND && mProcVar2.field_0x300c != 0) || mProcID == PROC_BOARD_CUT_TURN) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { - onNoResetFlg0(FLG0_UNK_40); + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { + onNoResetFlg0(FLG0_CUT_AT_FLG); } spC8 = current.pos + (mMagneBootsTopVec * 50.0f); - field_0xFB8.SetC(spC8); + mAtSph.SetC(spC8); spC8 = cXyz::Zero; - field_0xFB8.SetAtVec(spC8); - dComIfG_Ccsp()->Set(&field_0xFB8); - dComIfG_Ccsp()->SetMass(&field_0xFB8, 1); + mAtSph.SetAtVec(spC8); + dComIfG_Ccsp()->Set(&mAtSph); + dComIfG_Ccsp()->SetMass(&mAtSph, 1); decSwordBlur(); if (mProcID == PROC_BOARD_CUT_TURN) { mProcVar5.field_0x3012 = cM_atan2s(mRightFootPos.x - mLeftFootPos.x, mRightFootPos.z - mLeftFootPos.z) - shape_angle.y; } } else if (mProcID == PROC_HORSE_CUT_TURN) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { - onNoResetFlg0(FLG0_UNK_40); + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { + onNoResetFlg0(FLG0_CUT_AT_FLG); } spC8.set(current.pos.x, current.pos.y - 80.0f, current.pos.z); @@ -6094,9 +6496,9 @@ void daAlink_c::setAtCollision() { dComIfG_Ccsp()->Set(&mAtCyl); dComIfG_Ccsp()->SetMass(&mAtCyl, 1); decSwordBlur(); - } else if (!checkNoResetFlg0(FLG0_UNK_40)) { + } else if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { setSwordAtCollision(1); - onNoResetFlg0(FLG0_UNK_40); + onNoResetFlg0(FLG0_CUT_AT_FLG); if (checkCutDashAnime()) { mAtCyl.StartCAt(spC8); @@ -6136,7 +6538,7 @@ void daAlink_c::setWolfCollisionPos() { cXyz sp44; mDoMtx_multVec(mpLinkModel->getAnmMtx(4), &localHead, &sp44); - field_0xFB8.MoveCAt(sp44); + mAtSph.MoveCAt(sp44); cXyz sp38; cXyz sp2C; @@ -6147,16 +6549,17 @@ void daAlink_c::setWolfCollisionPos() { sp44.x = 0.5f * (sp38.x + sp2C.x); sp44.z = 0.5f * (sp38.z + sp2C.z); - sp20[0] = field_0xFB8.GetC().y; + sp20[0] = mAtSph.GetC().y; sp44.y = mLeftHandPos.y > mRightHandPos.y ? mRightHandPos.y : mLeftHandPos.y; + f32 temp_f31; if (sp20[0] < sp44.y) { - f32 temp_f31 = sp20[0]; + temp_f31 = sp20[0]; sp20[0] = sp44.y; sp44.y = temp_f31; } - field_0x850[0].SetC(sp44); + mTgCyls[0].SetC(sp44); mDoMtx_multVecZero(mpLinkModel->getAnmMtx(0x1C), &sp38); mDoMtx_multVecZero(mpLinkModel->getAnmMtx(0x21), &sp2C); @@ -6167,23 +6570,24 @@ void daAlink_c::setWolfCollisionPos() { sp44.y = mLeftFootPos.y > mRightFootPos.y ? mRightFootPos.y : mLeftFootPos.y; if (sp20[2] < sp44.y) { - f32 temp_f31_2 = sp20[2]; + temp_f31 = sp20[2]; sp20[2] = sp44.y; - sp44.y = temp_f31_2; + sp44.y = temp_f31; } - field_0x850[2].SetC(sp44); - sp44 = (field_0x850[0].GetC() + field_0x850[2].GetC()) * 0.5f; + mTgCyls[2].SetC(sp44); + sp44 = (mTgCyls[0].GetC() + mTgCyls[2].GetC()) * 0.5f; sp20[1] = 0.5f * (sp20[0] + sp20[2]); - field_0x850[1].SetC(sp44); + mTgCyls[1].SetC(sp44); for (int i = 0; i < 3; i++) { - field_0x850[i].SetH(20.0f + (sp20[i] - field_0x850[i].GetC().y)); + f32 var_f30 = 20.0f + (sp20[i] - mTgCyls[i].GetC().y); + mTgCyls[i].SetH(var_f30); } - field_0x3454 = field_0x850[0].GetC().y + (field_0x850[0].GetH() * 0.5f); + field_0x3454 = mTgCyls[0].GetC().y + (mTgCyls[0].GetH() * 0.5f); } void daAlink_c::initLockAt() { @@ -6198,7 +6602,7 @@ void daAlink_c::cancelLockAt() { mAtCps[0].OffAtNoHitMark(); mAtCps[0].OnAtNoConHit(); mAtCps[0].ResetAtHit(); - field_0x814.SetAtApid(0xFFFFFFFF); + mCcStts.SetAtApid(fpcM_ERROR_PROCESS_ID_e); } void daAlink_c::setCollisionPos() { @@ -6220,8 +6624,8 @@ void daAlink_c::setCollisionPos() { var_f31 = 60.0f; } - field_0x850[2].SetC(sp68); - field_0x850[2].SetH(var_f31); + mTgCyls[2].SetC(sp68); + mTgCyls[2].SetH(var_f31); sp68 = (((mLeftFootPos + mRightFootPos) * 0.5f) + sp74) * 0.5f; f32 var_f0 = mLeftFootPos.y > mRightFootPos.y ? mRightFootPos.y : mLeftFootPos.y; @@ -6240,27 +6644,27 @@ void daAlink_c::setCollisionPos() { var_f31_2 = 60.0f; } - field_0x850[0].SetC(sp68); - field_0x850[0].SetH(var_f31_2); + mTgCyls[0].SetC(sp68); + mTgCyls[0].SetH(var_f31_2); - sp68 = (field_0x850[0].GetC() + field_0x850[2].GetC()) * 0.5f; - f32 temp_f31 = 0.5f * (field_0x850[0].GetH() + field_0x850[2].GetH()); + sp68 = (mTgCyls[0].GetC() + mTgCyls[2].GetC()) * 0.5f; + f32 temp_f31 = 0.5f * (mTgCyls[0].GetH() + mTgCyls[2].GetH()); - field_0x850[1].SetC(sp68); - field_0x850[1].SetH(temp_f31); + mTgCyls[1].SetC(sp68); + mTgCyls[1].SetH(temp_f31); field_0x3454 = field_0x3834.y; } void daAlink_c::setCollision() { - field_0x814.Move(); + mCcStts.Move(); field_0x173c.Move(); - dCcD_Cyl* var_r26 = field_0x850; - CcG_Tg_HitMark var_r3; + dCcD_Cyl* tgCyl = mTgCyls; + CcG_Tg_HitMark hitmark; if (checkMagicArmorNoDamage()) { - var_r3 = CcG_Tg_UNK_MARK_8; + hitmark = CcG_Tg_UNK_MARK_8; } else { - var_r3 = CcG_Tg_UNK_MARK_6; + hitmark = CcG_Tg_UNK_MARK_6; } if (checkIronBallWaitAnime()) { @@ -6270,45 +6674,45 @@ void daAlink_c::setCollision() { } int i; - for (i = 0; i < 3; i++, var_r26++) { - var_r26->SetTgHitMark(var_r3); + for (i = 0; i < 3; i++, tgCyl++) { + tgCyl->SetTgHitMark(hitmark); } - var_r26 = field_0x850; + tgCyl = mTgCyls; if (checkIronBallWaitAnime() || (checkPlayerGuardAndAttack() && !checkEndResetFlg1(ERFLG1_UNK_20))) { - BOOL var_r27; + BOOL isSpShield; if (field_0x3114 >= 0x3000 && field_0x3114 <= 0x5000) { - var_r27 = 1; + isSpShield = TRUE; } else { - var_r27 = 0; + isSpShield = FALSE; } - for (i = 0; i < 3; i++, var_r26++) { - if (var_r27) { - var_r26->OnTgSpShield(); - var_r26->OffTgShield(); + for (i = 0; i < 3; i++, tgCyl++) { + if (isSpShield) { + tgCyl->OnTgSpShield(); + tgCyl->OffTgShield(); } else { - var_r26->OffTgSpShield(); - var_r26->OnTgShield(); + tgCyl->OffTgSpShield(); + tgCyl->OnTgShield(); } if (checkHorseRide()) { - var_r26->OffTgShieldFrontRange(); + tgCyl->OffTgShieldFrontRange(); } else { - var_r26->OnTgShieldFrontRange(); + tgCyl->OnTgShieldFrontRange(); } } } else { - for (i = 0; i < 3; i++, var_r26++) { - var_r26->OffTgShield(); - var_r26->OffTgSpShield(); + for (i = 0; i < 3; i++, tgCyl++) { + tgCyl->OffTgShield(); + tgCyl->OffTgSpShield(); if (checkWolf()) { - var_r26->OffTgShieldFrontRange(); + tgCyl->OffTgShieldFrontRange(); } else { - var_r26->OnTgShieldFrontRange(); + tgCyl->OnTgShieldFrontRange(); } } } @@ -6325,21 +6729,21 @@ void daAlink_c::setCollision() { if (mDamageTimer != 0 || checkModeFlg(8)) { for (i = 0; i < 3; i++) { - field_0x850[i].OffTgSetBit(); - field_0x850[i].ResetTgHit(); + mTgCyls[i].OffTgSetBit(); + mTgCyls[i].ResetTgHit(); } if (checkWolf()) { - field_0xFB8.OffTgSetBit(); - field_0xFB8.ResetTgHit(); + mAtSph.OffTgSetBit(); + mAtSph.ResetTgHit(); } } else { for (i = 0; i < 3; i++) { - field_0x850[i].OnTgSetBit(); + mTgCyls[i].OnTgSetBit(); } if (checkWolf()) { - field_0xFB8.OnTgSetBit(); + mAtSph.OnTgSetBit(); } } @@ -6351,42 +6755,42 @@ void daAlink_c::setCollision() { field_0x306c = shape_angle.y + mBodyAngle.y; } - dComIfG_Ccsp()->Set(&field_0x850[0]); - dComIfG_Ccsp()->SetMass(&field_0x850[0], 1); + dComIfG_Ccsp()->Set(&mTgCyls[0]); + dComIfG_Ccsp()->SetMass(&mTgCyls[0], 1); if (checkWolf()) { setWolfAtCollision(); for (i = 1; i < 3; i++) { - dComIfG_Ccsp()->Set(&field_0x850[i]); - dComIfG_Ccsp()->SetMass(&field_0x850[i], 1); + dComIfG_Ccsp()->Set(&mTgCyls[i]); + dComIfG_Ccsp()->SetMass(&mTgCyls[i], 1); } if (checkModeFlg(0x100000)) { - field_0xFB8.OffCoSetBit(); - field_0xFB8.ResetCoHit(); + mAtSph.OffCoSetBit(); + mAtSph.ResetCoHit(); } else { - field_0xFB8.OnCoSetBit(); + mAtSph.OnCoSetBit(); } - dComIfG_Ccsp()->Set(&field_0xFB8); - dComIfG_Ccsp()->SetMass(&field_0xFB8, 1); + dComIfG_Ccsp()->Set(&mAtSph); + dComIfG_Ccsp()->SetMass(&mAtSph, 1); } else { for (i = 1; i < 3; i++) { - dComIfG_Ccsp()->Set(&field_0x850[i]); - dComIfG_Ccsp()->SetMass(&field_0x850[i], 1); + dComIfG_Ccsp()->Set(&mTgCyls[i]); + dComIfG_Ccsp()->SetMass(&mTgCyls[i], 1); } setAtCollision(); } - var_r26 = field_0x850; - dCcD_Cyl* var_r26_6 = field_0xC04; - for (i = 0; i < 3; i++, var_r26++, var_r26_6++) { - var_r26_6->SetC(var_r26->GetC()); - var_r26_6->SetR(var_r26->GetR()); - var_r26_6->SetH(var_r26->GetH()); - dComIfG_Ccsp()->Set(var_r26_6); + tgCyl = mTgCyls; + dCcD_Cyl* windTgCyl = mWindTgCyls; + for (i = 0; i < 3; i++, tgCyl++, windTgCyl++) { + windTgCyl->SetC(tgCyl->GetC()); + windTgCyl->SetR(tgCyl->GetR()); + windTgCyl->SetH(tgCyl->GetH()); + dComIfG_Ccsp()->Set(windTgCyl); } } @@ -6398,19 +6802,19 @@ f32 daAlink_c::getBaseAnimeFrame() const { return mUnderFrameCtrl[0].getFrame(); } -void daAlink_c::setAnimeFrame(f32 frame) { - mUnderFrameCtrl[0].setFrame(frame); - mUnderFrameCtrl[1].setFrame(frame); - mUnderFrameCtrl[2].setFrame(frame); +void daAlink_c::setAnimeFrame(f32 i_frame) { + mUnderFrameCtrl[0].setFrame(i_frame); + mUnderFrameCtrl[1].setFrame(i_frame); + mUnderFrameCtrl[2].setFrame(i_frame); - mUpperFrameCtrl[0].setFrame(frame); - mUpperFrameCtrl[1].setFrame(frame); - mUpperFrameCtrl[2].setFrame(frame); + mUpperFrameCtrl[0].setFrame(i_frame); + mUpperFrameCtrl[1].setFrame(i_frame); + mUpperFrameCtrl[2].setFrame(i_frame); } -void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* i_ctrl, u8 i_attr, s16 i_start, s16 i_end, +void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* i_framectrl, u8 i_attr, s16 i_start, s16 i_end, f32 i_rate, f32 i_frame) { - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { if (checkZoraWearAbility()) { i_rate *= mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; } else { @@ -6418,13 +6822,13 @@ void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* i_ctrl, u8 i_attr, s16 i_start, s } } - i_ctrl->setFrameCtrl(i_attr, i_start, i_end, i_rate, i_frame); + i_framectrl->setFrameCtrl(i_attr, i_start, i_end, i_rate, i_frame); } const daAlink_BckData* daAlink_c::getMainBckData(daAlink_c::daAlink_ANM i_anmID) const { static const daAlink_BckData kandelaarAnm[2] = { - {0x026A, 0x0268}, // waits, waitk - {0x0266, 0x0264}, // waiths, waithk + {dRes_ID_ALANM_BCK_WAITS_e, dRes_ID_ALANM_BCK_WAITK_e}, + {dRes_ID_ALANM_BCK_WAITHS_e, dRes_ID_ALANM_BCK_WAITHK_e}, }; if (mEquipItem == fpcNm_ITEM_KANTERA) { @@ -6437,21 +6841,21 @@ const daAlink_BckData* daAlink_c::getMainBckData(daAlink_c::daAlink_ANM i_anmID) } } - if (checkUpperGuardAnime() && i_anmID < 0x14) { + if (checkUpperGuardAnime() && i_anmID < ANM_SWIM_WAIT) { return &m_mainBckShield[i_anmID]; } - if ((mEquipItem == 0x103 && i_anmID < 0x15 && i_anmID >= 0x10) || + if ((mEquipItem == 0x103 && i_anmID < ANM_STEP_TURN && i_anmID >= ANM_ATN_WAIT_LEFT) || (i_anmID == ANM_SWIM_WAIT && mEquipItem != fpcNm_ITEM_NONE)) { - return &m_mainBckSword[i_anmID - 0x10]; + return &m_mainBckSword[i_anmID - ANM_ATN_WAIT_LEFT]; } - if (checkFishingRodAndLureItem() && i_anmID < 0x1C) { + if (checkFishingRodAndLureItem() && i_anmID < ANM_RUN_B) { return &m_mainBckFishing[i_anmID]; } - return &m_anmDataTable[i_anmID].field_0x0; + return &m_anmDataTable[i_anmID].m_bckData; } BOOL daAlink_c::checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM i_anmID) const { @@ -6505,61 +6909,61 @@ int daAlink_c::getUnderUpperAnime(daAlink_c::daAlink_ANM i_anmID, J3DAnmTransfor return var_r31; } -void daAlink_c::setDoubleAnimeBlendRatio(f32 param_0) { - mNowAnmPackUnder[0].setRatio(1.0f - param_0); - mNowAnmPackUnder[1].setRatio(param_0); - mNowAnmPackUpper[0].setRatio(1.0f - param_0); - mNowAnmPackUpper[1].setRatio(param_0); +void daAlink_c::setDoubleAnimeBlendRatio(f32 i_ratio) { + mNowAnmPackUnder[0].setRatio(1.0f - i_ratio); + mNowAnmPackUnder[1].setRatio(i_ratio); + mNowAnmPackUpper[0].setRatio(1.0f - i_ratio); + mNowAnmPackUpper[1].setRatio(i_ratio); } -void daAlink_c::commonDoubleAnime(J3DAnmTransform* param_0, J3DAnmTransform* param_1, - J3DAnmTransform* param_2, J3DAnmTransform* param_3, - f32 param_4, f32 param_5, f32 param_6, int param_7) { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; - daPy_frameCtrl_c* temp_r24 = &mUnderFrameCtrl[1]; +void daAlink_c::commonDoubleAnime(J3DAnmTransform* i_underBck1, J3DAnmTransform* i_upperBck1, + J3DAnmTransform* i_underBck2, J3DAnmTransform* i_upperBck2, + f32 i_blendRatio, f32 i_anmSpeed1, f32 i_anmSpeed2, int param_7) { + daPy_frameCtrl_c* framectrl0 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl1 = &mUnderFrameCtrl[1]; f32 var_f31; if (field_0x2f8c == 0) { var_f31 = 0.0f; } else { - var_f31 = temp_r29->getFrame() / temp_r29->getEnd(); + var_f31 = framectrl0->getFrame() / framectrl0->getEnd(); } - setDoubleAnimeBlendRatio(param_4); + setDoubleAnimeBlendRatio(i_blendRatio); f32 temp_f30; - f32 temp_f29 = param_0->getFrameMax(); - f32 temp_f28 = param_2->getFrameMax(); + f32 temp_f29 = i_underBck1->getFrameMax(); + f32 temp_f28 = i_underBck2->getFrameMax(); f32 temp_f27 = 1.0f / temp_f29; - temp_f30 = param_5 + (param_4 * (((param_6 * temp_f29) / temp_f28) - param_5)); + temp_f30 = i_anmSpeed1 + (i_blendRatio * (((i_anmSpeed2 * temp_f29) / temp_f28) - i_anmSpeed1)); - setFrameCtrl(temp_r29, param_0->getAttribute(), 0, temp_f29, temp_f30, var_f31 * temp_f29); - param_0->setFrame(temp_r29->getFrame()); + setFrameCtrl(framectrl0, i_underBck1->getAttribute(), 0, temp_f29, temp_f30, var_f31 * temp_f29); + i_underBck1->setFrame(framectrl0->getFrame()); - setFrameCtrl(temp_r24, param_2->getAttribute(), 0, temp_f28, temp_f27 * (temp_f30 * temp_f28), var_f31 * temp_f28); - param_2->setFrame(temp_r24->getFrame()); + setFrameCtrl(framectrl1, i_underBck2->getAttribute(), 0, temp_f28, temp_f27 * (temp_f30 * temp_f28), var_f31 * temp_f28); + i_underBck2->setFrame(framectrl1->getFrame()); - mNowAnmPackUnder[0].setAnmTransform(param_0); - mNowAnmPackUnder[1].setAnmTransform(param_2); + mNowAnmPackUnder[0].setAnmTransform(i_underBck1); + mNowAnmPackUnder[1].setAnmTransform(i_underBck2); - if (param_1 != NULL) { - f32 temp_f26 = param_1->getFrameMax(); - mNowAnmPackUpper[0].setAnmTransform(param_1); + if (i_upperBck1 != NULL) { + f32 temp_f26 = i_upperBck1->getFrameMax(); + mNowAnmPackUpper[0].setAnmTransform(i_upperBck1); - setFrameCtrl(&mUpperFrameCtrl[0], param_1->getAttribute(), 0, temp_f26, temp_f27 * (temp_f30 * temp_f26), var_f31 * temp_f26); - param_1->setFrame(mUpperFrameCtrl[0].getFrame()); + setFrameCtrl(&mUpperFrameCtrl[0], i_upperBck1->getAttribute(), 0, temp_f26, temp_f27 * (temp_f30 * temp_f26), var_f31 * temp_f26); + i_upperBck1->setFrame(mUpperFrameCtrl[0].getFrame()); } else { - mNowAnmPackUpper[0].setAnmTransform(param_0); + mNowAnmPackUpper[0].setAnmTransform(i_underBck1); } - if (param_3 != NULL) { - f32 temp_f25 = param_3->getFrameMax(); - mNowAnmPackUpper[1].setAnmTransform(param_3); + if (i_upperBck2 != NULL) { + f32 temp_f25 = i_upperBck2->getFrameMax(); + mNowAnmPackUpper[1].setAnmTransform(i_upperBck2); - setFrameCtrl(&mUpperFrameCtrl[1], param_3->getAttribute(), 0, temp_f25, temp_f27 * (temp_f30 * temp_f25), var_f31 * temp_f25); - param_3->setFrame(mUpperFrameCtrl[1].getFrame()); + setFrameCtrl(&mUpperFrameCtrl[1], i_upperBck2->getAttribute(), 0, temp_f25, temp_f27 * (temp_f30 * temp_f25), var_f31 * temp_f25); + i_upperBck2->setFrame(mUpperFrameCtrl[1].getFrame()); } else { - mNowAnmPackUpper[1].setAnmTransform(param_2); + mNowAnmPackUpper[1].setAnmTransform(i_underBck2); } if (param_7 == 4 || param_7 == 2) { @@ -6582,22 +6986,22 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB, } #endif - J3DAnmTransform* under_bckA; - J3DAnmTransform* upper_bckA; - J3DAnmTransform* under_bckB; - J3DAnmTransform* upper_bckB; + J3DAnmTransform* under_bck1; + J3DAnmTransform* upper_bck1; + J3DAnmTransform* under_bck2; + J3DAnmTransform* upper_bck2; - int temp_r3 = getUnderUpperAnime(i_anmA, &under_bckA, &upper_bckA, 0, 0x2C00); - int temp_r0 = getUnderUpperAnime(i_anmB, &under_bckB, &upper_bckB, 1, 0x2C00); + int temp_r3 = getUnderUpperAnime(i_anmA, &under_bck1, &upper_bck1, 0, 0x2C00); + temp_r3 |= getUnderUpperAnime(i_anmB, &under_bck2, &upper_bck2, 1, 0x2C00); - if ((temp_r3 | temp_r0) != 0 && i_morf < 0.0f) { + if (temp_r3 != 0 && i_morf < 0.0f) { if (i_anmA == ANM_WAIT_B && checkModeFlg(1)) { i_morf = mpHIO->mMove.m.mWaitBInterpolation; } else { i_morf = mpHIO->mBasic.m.mBasicInterpolation; } - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { if (checkZoraWearAbility()) { i_morf *= (1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed); } else { @@ -6607,7 +7011,7 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB, } else if (i_anmA == ANM_WAIT_B && checkModeFlg(1) && i_morf > 0.0f) { i_morf = mpHIO->mMove.m.mWaitBInterpolation; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { if (checkZoraWearAbility()) { i_morf *= (1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed); } else { @@ -6616,7 +7020,7 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB, } } - commonDoubleAnime(under_bckA, upper_bckA, under_bckB, upper_bckB, i_blendRate, i_anmSpeedA, + commonDoubleAnime(under_bck1, upper_bck1, under_bck2, upper_bck2, i_blendRate, i_anmSpeedA, i_anmSpeedB, param_5); if (i_morf >= 0.0f) { field_0x2060->initOldFrameMorf(i_morf, 0, 35); @@ -6630,7 +7034,8 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB, checkUnderMove0BckNoArc(ANM_HORSE_WALK_B))) { if (checkNoUpperAnime()) { - setUpperAnimeBaseMorf(0x263, mpHIO->mHorse.m.mTiredWaitInterpolation); + u16 resIdx = dRes_ID_ALANM_BCK_WAITHDS_e; + setUpperAnimeBaseMorf(resIdx, mpHIO->mHorse.m.mTiredWaitInterpolation); } setFaceBasicAnime(ANM_WAIT_TIRED); @@ -6651,59 +7056,59 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB, return 1; } -void daAlink_c::commonSingleAnime(J3DAnmTransform* param_0, J3DAnmTransform* param_1, - f32 param_2, f32 param_3, s16 param_4) { +void daAlink_c::commonSingleAnime(J3DAnmTransform* i_underBck, J3DAnmTransform* i_upperBck, + f32 i_speed, f32 i_startF, s16 i_endF) { mUnderAnmHeap[1].resetIdx(); mUpperAnmHeap[1].resetIdx(); setDoubleAnimeBlendRatio(0.0f); - mNowAnmPackUnder[0].setAnmTransform(param_0); + mNowAnmPackUnder[0].setAnmTransform(i_underBck); mNowAnmPackUnder[1].setAnmTransform(NULL); - s16 var_r30; - if (param_4 < 0) { - var_r30 = param_0->getFrameMax(); + s16 end_frame; + if (i_endF < 0) { + end_frame = i_underBck->getFrameMax(); } else { - var_r30 = param_4; + end_frame = i_endF; } - f32 var_f31; - if (param_2 < 0.0f) { - var_f31 = var_r30; + f32 frame; + if (i_speed < 0.0f) { + frame = end_frame; } else { - var_f31 = param_3; + frame = i_startF; } - if (checkNoResetFlg0(FLG0_UNDERWATER) && checkModeFlg(0x200)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE) && checkModeFlg(0x200)) { if (checkZoraWearAbility() && mProcID != PROC_FRONT_ROLL && mEquipItem == 0x103) { - param_2 *= mpHIO->mItem.mIronBoots.m.mWaterVelRateSword * (1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed); + i_speed *= mpHIO->mItem.mIronBoots.m.mWaterVelRateSword * (1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed); } else if (!checkZoraWearAbility()) { - param_2 *= mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate * (1.0f / mpHIO->mItem.mIronBoots.m.mWaterStartWalkAnmRate); + i_speed *= mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate * (1.0f / mpHIO->mItem.mIronBoots.m.mWaterStartWalkAnmRate); } } - setFrameCtrl(&mUnderFrameCtrl[0], param_0->getAttribute(), param_3, var_r30, param_2, var_f31); - param_0->setFrame(var_f31); + setFrameCtrl(&mUnderFrameCtrl[0], i_underBck->getAttribute(), i_startF, end_frame, i_speed, frame); + i_underBck->setFrame(frame); - if (param_1 != NULL) { - mNowAnmPackUpper[0].setAnmTransform(param_1); + if (i_upperBck != NULL) { + mNowAnmPackUpper[0].setAnmTransform(i_upperBck); - if (param_4 < 0) { - var_r30 = param_1->getFrameMax(); + if (i_endF < 0) { + end_frame = i_upperBck->getFrameMax(); } else { - var_r30 = param_4; + end_frame = i_endF; } - if (param_2 < 0.0f) { - var_f31 = var_r30; + if (i_speed < 0.0f) { + frame = end_frame; } else { - var_f31 = param_3; + frame = i_startF; } - setFrameCtrl(&mUpperFrameCtrl[0], param_1->getAttribute(), param_3, var_r30, param_2, var_f31); - param_1->setFrame(var_f31); + setFrameCtrl(&mUpperFrameCtrl[0], i_upperBck->getAttribute(), i_startF, end_frame, i_speed, frame); + i_upperBck->setFrame(frame); } else { - mNowAnmPackUpper[0].setAnmTransform(param_0); + mNowAnmPackUpper[0].setAnmTransform(i_underBck); } mNowAnmPackUpper[1].setAnmTransform(NULL); @@ -6711,25 +7116,32 @@ void daAlink_c::commonSingleAnime(J3DAnmTransform* param_0, J3DAnmTransform* par field_0x2f8c = 0; } -void daAlink_c::setSingleAnimeBase(daAlink_c::daAlink_ANM i_anmID) { - setSingleAnime(i_anmID, 1.0f, 0.0f, -1, 3.0f); +int daAlink_c::setSingleAnimeBase(daAlink_c::daAlink_ANM i_anmID) { + return setSingleAnime(i_anmID, 1.0f, 0.0f, -1, 3.0f); } -void daAlink_c::setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM i_anmID, f32 param_1) { - setSingleAnime(i_anmID, 1.0f, 0.0f, -1, param_1); +int daAlink_c::setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM i_anmID, f32 i_morf) { + return setSingleAnime(i_anmID, 1.0f, 0.0f, -1, i_morf); } -void daAlink_c::setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM i_anmID, f32 param_1, f32 param_2) { - setSingleAnime(i_anmID, param_1, 0.0f, -1, param_2); +int daAlink_c::setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM i_anmID, f32 i_speed, f32 i_morf) { + return setSingleAnime(i_anmID, i_speed, 0.0f, -1, i_morf); } -int daAlink_c::setSingleAnime(daAlink_c::daAlink_ANM i_anmID, f32 i_rate, f32 i_start, s16 i_end, +int daAlink_c::setSingleAnime(daAlink_c::daAlink_ANM i_anmID, f32 i_speed, f32 i_start, s16 i_end, f32 i_morf) { J3DAnmTransform* under_bck; J3DAnmTransform* upper_bck; + #if DEBUG + if (checkWolf()) { + OS_REPORT("狼なのにリンクアニメ設定\n"); + JUT_ASSERT(8861, FALSE); + } + #endif + getUnderUpperAnime(i_anmID, &under_bck, &upper_bck, 0, 0x10800); - commonSingleAnime(under_bck, upper_bck, i_rate, i_start, i_end); + commonSingleAnime(under_bck, upper_bck, i_speed, i_start, i_end); if (i_morf >= 0.0f) { field_0x2060->initOldFrameMorf(i_morf, 0, 35); @@ -6741,10 +7153,9 @@ int daAlink_c::setSingleAnime(daAlink_c::daAlink_ANM i_anmID, f32 i_rate, f32 i_ return 1; } -int daAlink_c::setSingleAnimeParam(daAlink_c::daAlink_ANM i_anmID, - daAlinkHIO_anm_c const* i_anmData) { - return setSingleAnime(i_anmID, i_anmData->mSpeed, i_anmData->mStartFrame, i_anmData->mEndFrame, - i_anmData->mInterpolation); +int daAlink_c::setSingleAnimeParam(daAlink_c::daAlink_ANM i_anmID, const daAlinkHIO_anm_c* i_anmParams) { + return setSingleAnime(i_anmID, i_anmParams->mSpeed, i_anmParams->mStartFrame, i_anmParams->mEndFrame, + i_anmParams->mInterpolation); } void daAlink_c::animePlay(J3DAnmTransform* i_anm, daPy_frameCtrl_c* i_frameCtrl) { @@ -6776,13 +7187,15 @@ void daAlink_c::allAnimePlay() { animePlay(upper1_bck, &mUpperFrameCtrl[1]); } - animePlay(getNowAnmPackUpper((daAlink_UPPER)2), &mUpperFrameCtrl[2]); + for (int i = 2; i < 3; i++) { + animePlay(getNowAnmPackUpper((daAlink_UPPER)i), &mUpperFrameCtrl[i]); + } - if (field_0x2f92 == 0xFB && mpDemoHLTmpBck != NULL) { + if (mLeftHandIndex == 0xFB && mpDemoHLTmpBck != NULL) { mpDemoHLTmpBck->play(); } - if (field_0x2f93 == 0xFB && mpDemoHRTmpBck != NULL) { + if (mRightHandIndex == 0xFB && mpDemoHRTmpBck != NULL) { mpDemoHRTmpBck->play(); } @@ -6808,14 +7221,12 @@ void daAlink_c::allAnimePlay() { simpleAnmPlay(field_0x06f8); } -void daAlink_c::setUpperAnimeMorf(f32 param_0) { - if (param_0 >= 0.0f) { +void daAlink_c::setUpperAnimeMorf(f32 i_morf) { + if (i_morf >= 0.0f) { u16 temp_r29; u16 temp_r28; - if (field_0x2060->getOldFrameRate() > 0.1f && - field_0x2060->getOldFrameStartJoint() == 0) - { + if (field_0x2060->getOldFrameRate() > 0.1f && field_0x2060->getOldFrameStartJoint() == 0) { temp_r29 = 0; temp_r28 = field_0x30c6; } else { @@ -6823,66 +7234,66 @@ void daAlink_c::setUpperAnimeMorf(f32 param_0) { temp_r28 = field_0x30aa; } - field_0x2060->initOldFrameMorf(param_0, temp_r29, temp_r28); + field_0x2060->initOldFrameMorf(i_morf, temp_r29, temp_r28); } } -void daAlink_c::setUpperAnimeBase(u16 i_anmResID) { - setUpperAnime(i_anmResID, UPPER_2, 1.0f, 0.0f, -1, 3.0f); +void daAlink_c::setUpperAnimeBase(u16 i_anmResIdx) { + setUpperAnime(i_anmResIdx, UPPER_2, 1.0f, 0.0f, -1, 3.0f); } -void daAlink_c::setUpperAnimeBaseMorf(u16 i_anmResID, f32 i_morf) { - setUpperAnime(i_anmResID, UPPER_2, 1.0f, 0.0f, -1, i_morf); +void daAlink_c::setUpperAnimeBaseMorf(u16 i_anmResIdx, f32 i_morf) { + setUpperAnime(i_anmResIdx, UPPER_2, 1.0f, 0.0f, -1, i_morf); } -void daAlink_c::setUpperAnimeBaseSpeed(u16 i_anmResID, f32 i_speed, f32 i_morf) { - setUpperAnime(i_anmResID, UPPER_2, i_speed, 0.0f, -1, i_morf); +void daAlink_c::setUpperAnimeBaseSpeed(u16 i_anmResIdx, f32 i_speed, f32 i_morf) { + setUpperAnime(i_anmResIdx, UPPER_2, i_speed, 0.0f, -1, i_morf); } -int daAlink_c::setUpperAnime(u16 i_anmResID, daAlink_c::daAlink_UPPER param_1, f32 i_speed, - f32 i_startFrame, s16 i_endFrame, f32 i_morf) { - BOOL var_r28 = 0; +int daAlink_c::setUpperAnime(u16 i_anmResIdx, daAlink_c::daAlink_UPPER i_upperIdx, f32 i_speed, + f32 i_startFrame, s16 i_endFrame, f32 i_morf) { + BOOL var_r28 = FALSE; - if (param_1 == 2) { + if (i_upperIdx == UPPER_2) { resetFacePriAnime(); offNoResetFlg1(daPy_FLG1(FLG1_UNK_10000000 | FLG1_UNK_4000000 | FLG1_UNK_100000 | FLG1_UNK_40000 | FLG1_UNK_20000 | FLG1_UNK_10000 | FLG1_UNK_40 | FLG1_UNK_8 | FLG1_UNK_2)); cancelItemUseQuake(0); if (checkFmChainGrabAnime()) { - var_r28 = 1; + var_r28 = TRUE; } } if (checkDkCaught2Anime()) { - offNoResetFlg0(FLG0_DK_CAUGHT); + offNoResetFlg0(FLG0_DK_CAUGHT2); } - J3DAnmTransform* var_r30 = getAnimeResource(&mUpperAnmHeap[param_1], i_anmResID, 0x2C00); - if (var_r30 == NULL) { - var_r30 = getNowAnmPackUpper(param_1); + J3DAnmTransform* bck = getAnimeResource(&mUpperAnmHeap[i_upperIdx], i_anmResIdx, 0x2C00); + if (bck == NULL) { + bck = getNowAnmPackUpper(i_upperIdx); } - mNowAnmPackUpper[param_1].setAnmTransform(var_r30); - mNowAnmPackUpper[param_1].setRatio(1.0f); - mUpperAnmHeap[param_1].setIdx(i_anmResID); + mNowAnmPackUpper[i_upperIdx].setAnmTransform(bck); + mNowAnmPackUpper[i_upperIdx].setRatio(1.0f); + mUpperAnmHeap[i_upperIdx].setIdx(i_anmResIdx); if (i_endFrame < 0) { - i_endFrame = var_r30->getFrameMax(); + i_endFrame = bck->getFrameMax(); } - f32 var_f31; + f32 frame; if (i_speed < 0.0f) { - var_f31 = i_endFrame; + frame = i_endFrame; } else { - var_f31 = i_startFrame; + frame = i_startFrame; } - if (!checkZoraWearAbility() && (checkEquipAnime() || checkCutDashAnime()) && (checkNoResetFlg0(FLG0_UNDERWATER) || !checkNoResetFlg0(FLG0_SWIM_UP))) { + if (!checkZoraWearAbility() && (checkEquipAnime() || checkCutDashAnime()) && (checkNoResetFlg0(FLG0_WATER_IN_MOVE) || !checkNoResetFlg0(FLG0_SWIM_UP))) { i_speed *= mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate * (1.0f / mpHIO->mItem.mIronBoots.m.mWaterStartWalkAnmRate); } - setFrameCtrl(&mUpperFrameCtrl[param_1], var_r30->getAttribute(), i_startFrame, i_endFrame, i_speed, var_f31); - var_r30->setFrame(var_f31); + setFrameCtrl(&mUpperFrameCtrl[i_upperIdx], bck->getAttribute(), i_startFrame, i_endFrame, i_speed, frame); + bck->setFrame(frame); setUpperAnimeMorf(i_morf); if (!checkBowAnime()) { @@ -6898,7 +7309,7 @@ int daAlink_c::setUpperAnime(u16 i_anmResID, daAlink_c::daAlink_UPPER param_1, f resetWolfEnemyBiteAll(); } - if (var_r28 != 0 && !checkFmChainGrabAnime()) { + if (var_r28 && !checkFmChainGrabAnime()) { cancelFmChainGrabFromOut(); } @@ -6906,34 +7317,34 @@ int daAlink_c::setUpperAnime(u16 i_anmResID, daAlink_c::daAlink_UPPER param_1, f return 1; } -void daAlink_c::setUpperAnimeParam(u16 i_anmResID, daAlink_c::daAlink_UPPER param_1, - daAlinkHIO_anm_c const* i_anmParam) { - setUpperAnime(i_anmResID, param_1, i_anmParam->mSpeed, i_anmParam->mStartFrame, +void daAlink_c::setUpperAnimeParam(u16 i_anmResIdx, daAlink_c::daAlink_UPPER i_upperIdx, + const daAlinkHIO_anm_c* i_anmParam) { + setUpperAnime(i_anmResIdx, i_upperIdx, i_anmParam->mSpeed, i_anmParam->mStartFrame, i_anmParam->mEndFrame, i_anmParam->mInterpolation); } -int daAlink_c::resetUpperAnime(daAlink_c::daAlink_UPPER param_0, f32 param_1) { - BOOL var_r29 = 0; +int daAlink_c::resetUpperAnime(daAlink_c::daAlink_UPPER i_upperIdx, f32 i_morf) { + BOOL var_r29 = FALSE; if (checkFmChainGrabAnime()) { cancelFmChainGrabFromOut(); } else if (!checkModeFlg(0x100000) && (checkGrabAnime() || checkWolfGrabAnime())) { - var_r29 = 1; + var_r29 = TRUE; } if (checkDkCaught2Anime()) { - offNoResetFlg0(FLG0_DK_CAUGHT); + offNoResetFlg0(FLG0_DK_CAUGHT2); } else if (checkWolfEnemyThrowAnime()) { resetWolfEnemyBiteAll(); } - mNowAnmPackUpper[param_0].setAnmTransform(NULL); - mNowAnmPackUpper[param_0].setRatio(0.0f); - mUpperAnmHeap[param_0].resetIdx(); - mUpperFrameCtrl[param_0].init(0); + mNowAnmPackUpper[i_upperIdx].setAnmTransform(NULL); + mNowAnmPackUpper[i_upperIdx].setRatio(0.0f); + mUpperAnmHeap[i_upperIdx].resetIdx(); + mUpperFrameCtrl[i_upperIdx].init(0); - setUpperAnimeMorf(param_1); + setUpperAnimeMorf(i_morf); - if (param_0 == 2) { + if (i_upperIdx == UPPER_2) { resetFacePriAnime(); } @@ -6952,58 +7363,58 @@ int daAlink_c::resetUpperAnime(daAlink_c::daAlink_UPPER param_0, f32 param_1) { return 1; } -void daAlink_c::setUnderAnimeMorf(f32 param_0) { - if (param_0 >= 0.0f) { +void daAlink_c::setUnderAnimeMorf(f32 i_morf) { + if (i_morf >= 0.0f) { if (field_0x2060->getOldFrameRate() > 0.1f && (field_0x2060->getOldFrameStartJoint() == 0 || field_0x2060->getOldFrameStartJoint() == 1)) { - field_0x2060->initOldFrameMorf(param_0, 0, 35); + field_0x2060->initOldFrameMorf(i_morf, 0, 35); } else { - field_0x2060->initOldFrameMorf(param_0, 16, 35); + field_0x2060->initOldFrameMorf(i_morf, 16, 35); } } } -int daAlink_c::setUnderAnime(u16 i_resID, daAlink_c::daAlink_UNDER i_packIdx, f32 i_speed, - f32 i_startF, s16 i_endF, f32 i_morf) { - J3DAnmTransform* var_r30 = getAnimeResource(&mUnderAnmHeap[i_packIdx], i_resID, 0x2C00); - if (var_r30 == NULL) { - var_r30 = getNowAnmPackUnder(i_packIdx); +int daAlink_c::setUnderAnime(u16 i_resIdx, daAlink_c::daAlink_UNDER i_underIdx, f32 i_speed, + f32 i_startF, s16 i_endF, f32 i_morf) { + J3DAnmTransform* bck = getAnimeResource(&mUnderAnmHeap[i_underIdx], i_resIdx, 0x2C00); + if (bck == NULL) { + bck = getNowAnmPackUnder(i_underIdx); } - mNowAnmPackUnder[i_packIdx].setAnmTransform(var_r30); - mNowAnmPackUnder[i_packIdx].setRatio(1.0f); - mUnderAnmHeap[i_packIdx].setIdx(i_resID); + mNowAnmPackUnder[i_underIdx].setAnmTransform(bck); + mNowAnmPackUnder[i_underIdx].setRatio(1.0f); + mUnderAnmHeap[i_underIdx].setIdx(i_resIdx); if (i_endF < 0) { - i_endF = var_r30->getFrameMax(); + i_endF = bck->getFrameMax(); } - f32 var_f31; + f32 frame; if (i_speed < 0.0f) { - var_f31 = i_endF; + frame = i_endF; } else { - var_f31 = i_startF; + frame = i_startF; } - setFrameCtrl(&mUnderFrameCtrl[i_packIdx], var_r30->getAttribute(), i_startF, i_endF, i_speed, var_f31); - var_r30->setFrame(var_f31); + setFrameCtrl(&mUnderFrameCtrl[i_underIdx], bck->getAttribute(), i_startF, i_endF, i_speed, frame); + bck->setFrame(frame); setUnderAnimeMorf(i_morf); return 1; } -int daAlink_c::setUnderAnimeParam(u16 i_resID, daAlink_c::daAlink_UNDER i_packIdx, - daAlinkHIO_anm_c const* i_anmData) { - return setUnderAnime(i_resID, i_packIdx, i_anmData->mSpeed, i_anmData->mStartFrame, - i_anmData->mEndFrame, i_anmData->mInterpolation); +int daAlink_c::setUnderAnimeParam(u16 i_resIdx, daAlink_c::daAlink_UNDER i_underIdx, + const daAlinkHIO_anm_c* i_anmParam) { + return setUnderAnime(i_resIdx, i_underIdx, i_anmParam->mSpeed, i_anmParam->mStartFrame, + i_anmParam->mEndFrame, i_anmParam->mInterpolation); } -int daAlink_c::resetUnderAnime(daAlink_c::daAlink_UNDER param_0, f32 i_morf) { - mNowAnmPackUnder[param_0].setAnmTransform(NULL); - mNowAnmPackUnder[param_0].setRatio(0.0f); - mUnderAnmHeap[param_0].resetIdx(); - mUnderFrameCtrl[param_0].init(0); +int daAlink_c::resetUnderAnime(daAlink_c::daAlink_UNDER i_underIdx, f32 i_morf) { + mNowAnmPackUnder[i_underIdx].setAnmTransform(NULL); + mNowAnmPackUnder[i_underIdx].setRatio(0.0f); + mUnderAnmHeap[i_underIdx].resetIdx(); + mUnderFrameCtrl[i_underIdx].init(0); setUnderAnimeMorf(i_morf); return 1; } @@ -7045,18 +7456,18 @@ BOOL daAlink_c::checkAtnRightAnime() { f32 daAlink_c::getMoveGroundAngleSpeedRate() { s16 gnd_angle; - if (field_0x3174 == 8 || checkMagneBootsOn() || !mLinkAcch.ChkGroundHit()) { + if (mGroundCode == 8 || checkMagneBootsOn() || !mLinkAcch.ChkGroundHit()) { gnd_angle = 0; } else { gnd_angle = getGroundAngle(&mLinkAcch.m_gnd, current.angle.y); } - return fabsf((mNormalSpeed * cM_scos(gnd_angle)) / field_0x594); + return fabsf((mNormalSpeed * cM_scos(gnd_angle)) / mMaxSpeed); } -void daAlink_c::setBlendMoveAnime(f32 param_0) { - daPy_frameCtrl_c* sp34 = &mUnderFrameCtrl[0]; - daPy_frameCtrl_c* sp30 = &mUnderFrameCtrl[1]; +void daAlink_c::setBlendMoveAnime(f32 i_morf) { + daPy_frameCtrl_c* framectrl0 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl1 = &mUnderFrameCtrl[1]; f32 var_f31 = getMoveGroundAngleSpeedRate(); f32 sp2C; @@ -7078,15 +7489,15 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { field_0x2fb3--; } - fopAc_ac_c* sp1C = mAttention->LockonTarget(0); + fopAc_ac_c* lockon_actor = mAttention->LockonTarget(0); daAlink_ANM var_r29; if (checkDkCaught2Anime()) { var_r29 = ANM_HORSE_WAIT_D_B; - } else if ((!sp24 && ((sp1C != NULL && (checkEnemyGroup(sp1C) || checkGoatCatchActor(sp1C))) || field_0x311c != 0)) || checkEndResetFlg0(ERFLG0_BOSS_ROOM_WAIT) || checkBootsOrArmorHeavy()) { + } else if ((!sp24 && ((lockon_actor != NULL && (checkEnemyGroup(lockon_actor) || checkGoatCatchActor(lockon_actor))) || field_0x311c != 0)) || checkEndResetFlg0(ERFLG0_BOSS_ROOM_WAIT) || checkBootsOrArmorHeavy()) { var_r29 = ANM_WAIT_B; field_0x2fb3 = 0x2D; - } else if (!sp24 && (field_0x2fb3 != 0 || checkNoResetFlg3(FLG3_UNK_2000) || field_0x35c4.absXZ() > 1.0f || (checkUnderMove0BckNoArc(ANM_WAIT_B) && !sp34->checkPass(0.0f)))) { + } else if (!sp24 && (field_0x2fb3 != 0 || checkNoResetFlg3(FLG3_UNK_2000) || field_0x35c4.absXZ() > 1.0f || (checkUnderMove0BckNoArc(ANM_WAIT_B) && !framectrl0->checkPass(0.0f)))) { var_r29 = ANM_WAIT_B; } else { if (checkRestHPAnime() && !checkUpperGuardAnime()) { @@ -7099,7 +7510,7 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { daAlink_ANM var_r28 = ANM_WALK; daAlink_ANM sp18; - if (mDemo.getDemoMode() == 0x26) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_38_e) { sp18 = ANM_RUN_B; } else { sp18 = ANM_RUN; @@ -7115,7 +7526,7 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { var_f31 *= 1.0f / (mHeavySpeedMultiplier * mHeavySpeedMultiplier); f32 sp14; - if (checkHeavyStateOn(1, 0) && mSinkShapeOffset < -30.0f) { + if (checkHeavyStateOn(TRUE, FALSE) && mSinkShapeOffset < -30.0f) { sp14 = 0.5f * mpHIO->mItem.mIronBoots.m.mWalkAnmSpeedMax; } else { sp14 = mpHIO->mItem.mIronBoots.m.mWalkAnmSpeedMax; @@ -7184,14 +7595,14 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { var_f30 = mpHIO->mItem.mIronBall.m.mWaitAnmSpeed; } - setDoubleAnime(0.0f, var_f30, var_f29, var_r29, var_r28, 2, param_0); + setDoubleAnime(0.0f, var_f30, var_f29, var_r29, var_r28, 2, i_morf); return; } sp10 = 2; - s16 sp8 = (shape_angle.y - field_0x2fe6); + s16 sp8 = (shape_angle.y - mPrevAngleY); - if (abs(sp8) > 100 && field_0x33a8 < 0.3f && checkInputOnR() && field_0x33a4 > 0.05f && field_0x33a4 < 0.3f && !checkAttentionLock()) { + if (abs(sp8) > 100 && mStickValue < 0.3f && checkInputOnR() && field_0x33a4 > 0.05f && field_0x33a4 < 0.3f && !checkAttentionLock()) { if (var_r29 == ANM_WAIT_TIRED) { if (sp8 > 0) { var_r28 = ANM_STEP_TURN_TIRED; @@ -7240,10 +7651,10 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { if (var_r29 == ANM_WAIT_TIRED) { if (checkUnderMove1BckNoArc(ANM_STEP_TURN)) { var_r28 = ANM_STEP_TURN_TIRED; - param_0 = 3.0f; + i_morf = 3.0f; } else if (checkUnderMove1BckNoArc(ANM_SMALL_GUARD)) { var_r28 = ANM_SMALL_GUARD_TIRED; - param_0 = 3.0f; + i_morf = 3.0f; } } } @@ -7267,36 +7678,36 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { var_f30 = 1.0f; } - setDoubleAnime(var_f28, var_f30, var_f29,var_r29, var_r28, sp10, param_0); + setDoubleAnime(var_f28, var_f30, var_f29,var_r29, var_r28, sp10, i_morf); if (var_r28 == ANM_WALK_HEAVY && ((field_0x2f8c == 2 && checkWindSpeedOnXZ()) || checkWindSpeedOnAngle())) { onEndResetFlg0(ERFLG0_UNK_2000); if (checkNoSetUpperAnime()) { - setUpperAnimeBase(0xCE); + setUpperAnimeBase(dRes_ID_ALANM_BCK_DASHWIND_e); field_0x2f96 = 1; field_0x2f97 = 6; } } } else if (var_f31 < mpHIO->mMove.m.mRunChangeRate) { var_f28 = (var_f31 - mpHIO->mMove.m.mWalkChangeRate) / (mpHIO->mMove.m.mRunChangeRate - mpHIO->mMove.m.mWalkChangeRate); - setDoubleAnime(var_f28, var_f29, sp2C, var_r28, sp18, 1, param_0); + setDoubleAnime(var_f28, var_f29, sp2C, var_r28, sp18, 1, i_morf); mSpeedModifier = sp28 * (1.0f - var_f28); - if (checkNoResetFlg0(FLG0_UNDERWATER) && var_f28 > 0.5f) { - if (sp30->checkPass(var_f27)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE) && var_f28 > 0.5f) { + if (framectrl1->checkPass(var_f27)) { field_0x2f9d = 0x20; - } else if (sp30->checkPass(var_f26)) { + } else if (framectrl1->checkPass(var_f26)) { field_0x2f9d = 0x40; } } } else { - setDoubleAnime(1.0f, sp2C, sp2C, sp18, sp18, 1, param_0); + setDoubleAnime(1.0f, sp2C, sp2C, sp18, sp18, 1, i_morf); mSpeedModifier = 0.0f; - if (sp30->checkPass(var_f27)) { + if (framectrl1->checkPass(var_f27)) { field_0x2f9d = 0x20; - } else if (sp30->checkPass(var_f26)) { + } else if (framectrl1->checkPass(var_f26)) { field_0x2f9d = 0x40; } @@ -7304,7 +7715,7 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { onEndResetFlg0(ERFLG0_UNK_2000); if (checkNoSetUpperAnime()) { - setUpperAnimeBase(0xCE); + setUpperAnimeBase(dRes_ID_ALANM_BCK_DASHWIND_e); field_0x2f96 = 1; field_0x2f97 = 6; } @@ -7312,13 +7723,13 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { } if (field_0x2f8c != 2) { - if (sp30->checkPass(var_f27)) { + if (framectrl1->checkPass(var_f27)) { onResetFlg1(RFLG1_UNK_10); if (checkBootsOrArmorHeavy()) { dComIfGp_getVibration().StartShock(1, 0xF, cXyz(0.0f, 1.0f, 0.0f)); } - } else if (sp30->checkPass(var_f26)) { + } else if (framectrl1->checkPass(var_f26)) { onResetFlg1(RFLG1_UNK_20); if (checkBootsOrArmorHeavy()) { @@ -7334,14 +7745,14 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { } } -void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { +void daAlink_c::setBlendAtnMoveAnime(f32 i_morf) { s16 spA = (current.angle.y - shape_angle.y); f32 sp44 = cM_ssin(spA); f32 sp40 = cM_scos(spA); u8 sp8 = field_0x2f98; BOOL sp3C = 0; - if (mDemo.getDemoMode() == 0x17) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_23_e) { if (mDemo.getParam1() & 1) { field_0x2f98 = 2; } else { @@ -7361,11 +7772,11 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { } } else { if (checkFmChainGrabAnime()) { - field_0x594 = 13.0f; - } else if (mTargetedActor != 0) { - field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; + mMaxSpeed = 13.0f; + } else if (mTargetedActor != NULL) { + mMaxSpeed = mpHIO->mAtnMove.m.mMaxSpeed; } else { - field_0x594 = mpHIO->mNoActAtnMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mNoActAtnMove.m.mMaxSpeed; } if (mTargetedActor != NULL && sp40 >= 0.866f) { @@ -7387,7 +7798,7 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { if (checkSetChainPullAnime(shape_angle.y)) { daAlink_ANM var_r27; - if (checkEndResetFlg1(ERFLG1_UNK_2000000)) { + if (checkEndResetFlg1(ERFLG1_CHAIN_PULL_END)) { var_r27 = ANM_CHAIN_PULL_END; } else { var_r27 = ANM_CHAIN_PULL; @@ -7409,13 +7820,13 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { } if (field_0x2f98 == 1) { - setBlendAtnBackMoveAnime(param_0); + setBlendAtnBackMoveAnime(i_morf); return; } if (sp3C) { - field_0x594 = mpHIO->mMove.m.mMaxSpeed; - setBlendMoveAnime(param_0); + mMaxSpeed = mpHIO->mMove.m.mMaxSpeed; + setBlendMoveAnime(i_morf); return; } @@ -7478,7 +7889,7 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { mSpeedModifier = 1.0f; } - setDoubleAnime(var_f31, sp24, sp20, var_r28, var_r29, sp1C, param_0); + setDoubleAnime(var_f31, sp24, sp20, var_r28, var_r29, sp1C, i_morf); } else if (sp34 < sp28) { var_f31 = (sp34 - sp2C) / (sp28 - sp2C); @@ -7503,7 +7914,7 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { var_r29 = ANM_ATN_RUN_RIGHT; } - setDoubleAnime(var_f31, sp20, var_f30, var_r28, var_r29, 3, param_0); + setDoubleAnime(var_f31, sp20, var_f30, var_r28, var_r29, 3, i_morf); mSpeedModifier = 1.0f - var_f31; } else { if (field_0x2f98 == 0) { @@ -7521,12 +7932,12 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { var_r29 = ANM_ATN_RUN_RIGHT; } - setDoubleAnime(1.0f, var_f30, var_f30, var_r29, var_r29, 3, param_0); + setDoubleAnime(1.0f, var_f30, var_f30, var_r29, var_r29, 3, i_morf); mSpeedModifier = 0.0f; } if (field_0x2f8c != 2) { - daPy_frameCtrl_c* sp18 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; f32 sp14; f32 sp10; @@ -7550,9 +7961,9 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { } } - if (sp18->checkPass(sp14)) { + if (framectrl->checkPass(sp14)) { onResetFlg1(RFLG1_UNK_10); - } else if (sp18->checkPass(sp10)) { + } else if (framectrl->checkPass(sp10)) { onResetFlg1(RFLG1_UNK_20); } @@ -7562,7 +7973,7 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { } } -void daAlink_c::setBlendAtnBackMoveAnime(f32 param_0) { +void daAlink_c::setBlendAtnBackMoveAnime(f32 i_morf) { f32 var_f27; f32 var_f31; f32 var_f26; @@ -7574,7 +7985,7 @@ void daAlink_c::setBlendAtnBackMoveAnime(f32 param_0) { daAlink_ANM var_r29; if (checkBootsMoveAnime(1)) { - field_0x594 = mpHIO->mAtnMove.m.mMaxBackwardsSpeed; + mMaxSpeed = mpHIO->mAtnMove.m.mMaxBackwardsSpeed; var_f27 = mpHIO->mAtnMove.m.mMinBackWalkFrame; var_f31 = mpHIO->mAtnMove.m.mBackWalkChangeRate; var_f26 = mpHIO->mAtnMove.m.mBackRunChangeRate; @@ -7585,7 +7996,7 @@ void daAlink_c::setBlendAtnBackMoveAnime(f32 param_0) { var_r27 = ANM_ATN_BACK_WALK_HEAVY; var_r29 = ANM_ATN_BACK_WALK_HEAVY; } else if (mTargetedActor != NULL) { - field_0x594 = mpHIO->mAtnMove.m.mMaxBackwardsSpeed; + mMaxSpeed = mpHIO->mAtnMove.m.mMaxBackwardsSpeed; var_f27 = mpHIO->mAtnMove.m.mMinBackWalkFrame; var_f31 = mpHIO->mAtnMove.m.mBackWalkChangeRate; var_f26 = mpHIO->mAtnMove.m.mBackRunChangeRate; @@ -7596,7 +8007,7 @@ void daAlink_c::setBlendAtnBackMoveAnime(f32 param_0) { var_r27 = ANM_ATN_LOCK_BACK_WALK; var_r29 = ANM_ATN_LOCK_BACK_RUN; } else { - field_0x594 = mpHIO->mNoActAtnMove.m.mMaxBackwardsSpeed; + mMaxSpeed = mpHIO->mNoActAtnMove.m.mMaxBackwardsSpeed; var_f27 = mpHIO->mNoActAtnMove.m.mMinBackWalkFrame; var_f31 = mpHIO->mNoActAtnMove.m.mBackWalkChangeRate; var_f26 = mpHIO->mNoActAtnMove.m.mBackRunChangeRate; @@ -7624,28 +8035,28 @@ void daAlink_c::setBlendAtnBackMoveAnime(f32 param_0) { var_f30 = var_f27 + (var_f30 * (1.0f - var_f27)); } - setDoubleAnime(var_f30, var_f24, var_f25, var_r26, var_r27, var_r25, param_0); + setDoubleAnime(var_f30, var_f24, var_f25, var_r26, var_r27, var_r25, i_morf); } else if (temp_f1 < var_f26) { var_f30 = (temp_f1 - var_f31) / (var_f26 - var_f31); - setDoubleAnime(var_f30, var_f25, var_f29, var_r27, var_r29, 3, param_0); + setDoubleAnime(var_f30, var_f25, var_f29, var_r27, var_r29, 3, i_morf); mSpeedModifier = 1.0f - var_f30; } else { - setDoubleAnime(1.0f, var_f29, var_f29, var_r29, var_r29, 3, param_0); + setDoubleAnime(1.0f, var_f29, var_f29, var_r29, var_r29, 3, i_morf); mSpeedModifier = 0.0f; } if (field_0x2f8c != 2) { - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; if (var_r29 == ANM_ATN_LOCK_BACK_RUN) { - if (temp_r28->checkPass(11.0f)) { + if (framectrl->checkPass(11.0f)) { onResetFlg1(RFLG1_UNK_10); - } else if (temp_r28->checkPass(8.0f)) { + } else if (framectrl->checkPass(8.0f)) { onResetFlg1(RFLG1_UNK_20); } - } else if (temp_r28->checkPass(0.0f)) { + } else if (framectrl->checkPass(0.0f)) { onResetFlg1(RFLG1_UNK_10); - } else if (temp_r28->checkPass(0.5f * temp_r28->getEnd())) { + } else if (framectrl->checkPass(0.5f * framectrl->getEnd())) { onResetFlg1(RFLG1_UNK_20); } } @@ -7655,57 +8066,62 @@ void daAlink_c::setBlendAtnBackMoveAnime(f32 param_0) { } } -void daAlink_c::setFaceBck(u16 param_0, int param_1, u16 param_2) { +void daAlink_c::setFaceBck(u16 i_resIdx, BOOL i_isPriIdx, u16 i_arcNo) { if (!checkNoResetFlg0(FLG0_SWIM_UP) && mProcID != PROC_GET_ITEM) { - param_0 = 0x157; - } else if (param_0 == 0) { - fopAc_ac_c* temp_r28 = mAttention->LockonTarget(0); - if (checkAttentionState() || (checkHorseRide() && checkEnemyGroup(temp_r28)) || checkEndResetFlg0(ERFLG0_UNK_400)) { - param_0 = 0xE8; + i_resIdx = dRes_ID_ALANM_BCK_FSWIMINGB_e; + } else if (i_resIdx == 0) { + fopAc_ac_c* lockon_actor = mAttention->LockonTarget(0); + if (checkAttentionState() || (checkHorseRide() && checkEnemyGroup(lockon_actor)) || checkEndResetFlg0(ERFLG0_NECK_SEARCH_WIDE)) { + i_resIdx = dRes_ID_ALANM_BCK_FAT_e; } else { - param_0 = 0xDF; + i_resIdx = dRes_ID_ALANM_BCK_FA_e; } } else { - setIdxMask(¶m_2, ¶m_0); + setIdxMask(&i_arcNo, &i_resIdx); } - J3DAnmTransform* var_r29; - if (param_2 != 0xFFFF) { - var_r29 = (J3DAnmTransform*)mFaceBckHeap.loadDataDemoRID(param_0, param_2); - } else if (param_1 != 0) { - var_r29 = (J3DAnmTransform*)mFaceBckHeap.loadDataPriIdx(param_0); + J3DAnmTransform* bck; + if (i_arcNo != 0xFFFF) { + bck = (J3DAnmTransform*)mFaceBckHeap.loadDataDemoRID(i_resIdx, i_arcNo); + } else if (i_isPriIdx) { + bck = (J3DAnmTransform*)mFaceBckHeap.loadDataPriIdx(i_resIdx); } else { - var_r29 = (J3DAnmTransform*)mFaceBckHeap.loadDataIdx(param_0); + bck = (J3DAnmTransform*)mFaceBckHeap.loadDataIdx(i_resIdx); } - if (var_r29 != NULL) { - field_0x2164.init(var_r29, 0, var_r29->getAttribute(), 1.0f, 0, -1, 1); - var_r29->setFrame(0.0f); + if (bck != NULL) { + mFaceBck.init(bck, FALSE, bck->getAttribute(), 1.0f, 0, -1, 1); + bck->setFrame(0.0f); } } -void daAlink_c::setFaceBtp(u16 param_0, int param_1, u16 param_2) { - setIdxMask(¶m_2, ¶m_0); +void daAlink_c::setFaceBtp(u16 i_resIdx, BOOL i_isPriIdx, u16 i_arcNo) { + setIdxMask(&i_arcNo, &i_resIdx); - J3DAnmTexPattern* var_r30; - if (param_2 != 0xFFFF) { - var_r30 = (J3DAnmTexPattern*)mFaceBtpHeap.loadDataDemoRID(param_0, param_2); - } else if (param_1 != 0) { - var_r30 = (J3DAnmTexPattern*)mFaceBtpHeap.loadDataPriIdx(param_0); + J3DAnmTexPattern* btp; + if (i_arcNo != 0xFFFF) { + btp = (J3DAnmTexPattern*)mFaceBtpHeap.loadDataDemoRID(i_resIdx, i_arcNo); + } else if (i_isPriIdx) { + btp = (J3DAnmTexPattern*)mFaceBtpHeap.loadDataPriIdx(i_resIdx); } else { - var_r30 = (J3DAnmTexPattern*)mFaceBtpHeap.loadDataIdx(param_0); + btp = (J3DAnmTexPattern*)mFaceBtpHeap.loadDataIdx(i_resIdx); } - if (var_r30 != NULL) { - field_0x2154 = var_r30; - field_0x2154->searchUpdateMaterialID(field_0x06c0); - field_0x06c0->entryTexNoAnimator(field_0x2154); + if (btp != NULL) { + mpFaceBtp = btp; + mpFaceBtp->searchUpdateMaterialID(field_0x06c0); + field_0x06c0->entryTexNoAnimator(mpFaceBtp); - if (param_2 == 0xFFFF) { - if (param_0 == 0x3E1 || (param_0 == 0x417 && checkUnderMove0BckNoArcWolf(WANM_WAIT_WIND))) { + if (i_arcNo == 0xFFFF) { + if (i_resIdx == dRes_ID_ALANM_BTP_FMABA03_e || (i_resIdx == dRes_ID_ALANM_BTP_WL_FMABA01_e && checkUnderMove0BckNoArcWolf(WANM_WAIT_WIND))) { field_0x3440 = 0.02f; onNoResetFlg1(FLG1_UNK_2000); - } else if (param_0 == 0x417 || param_0 == 0x418 || param_0 == 0x3E2 || param_0 == 0x3DF || param_0 == 0x3E0) { + } else if (i_resIdx == dRes_ID_ALANM_BTP_WL_FMABA01_e + || i_resIdx == dRes_ID_ALANM_BTP_WL_FMABA02_e + || i_resIdx == dRes_ID_ALANM_BTP_FMABAGOMA_e + || i_resIdx == dRes_ID_ALANM_BTP_FMABA01_e + || i_resIdx == dRes_ID_ALANM_BTP_FMABA02_e) + { onNoResetFlg1(FLG1_UNK_2000); field_0x3440 = 0.012f; } else { @@ -7716,8 +8132,8 @@ void daAlink_c::setFaceBtp(u16 param_0, int param_1, u16 param_2) { } field_0x2fea = 0; - field_0x2154->setFrame(0.0f); - } else if (param_2 == 0xFFFF && param_0 == 0x417) { + mpFaceBtp->setFrame(0.0f); + } else if (i_arcNo == 0xFFFF && i_resIdx == dRes_ID_ALANM_BTP_WL_FMABA01_e) { if (checkUnderMove0BckNoArcWolf(WANM_WAIT_WIND)) { field_0x3440 = 0.02f; } else { @@ -7726,17 +8142,17 @@ void daAlink_c::setFaceBtp(u16 param_0, int param_1, u16 param_2) { } } -void daAlink_c::setFaceBtk(u16 i_resID, int param_1, u16 i_arcNo) { - setIdxMask(&i_arcNo, &i_resID); +void daAlink_c::setFaceBtk(u16 i_resIdx, BOOL i_isPriIdx, u16 i_arcNo) { + setIdxMask(&i_arcNo, &i_resIdx); J3DAnmTextureSRTKey* btk; if (i_arcNo != 0xFFFF) { - btk = (J3DAnmTextureSRTKey*)mFaceBtkHeap.loadDataDemoRID(i_resID, i_arcNo); + btk = (J3DAnmTextureSRTKey*)mFaceBtkHeap.loadDataDemoRID(i_resIdx, i_arcNo); offNoResetFlg1(FLG1_UNK_2000); - } else if (param_1 != 0) { - btk = (J3DAnmTextureSRTKey*)mFaceBtkHeap.loadDataPriIdx(i_resID); + } else if (i_isPriIdx) { + btk = (J3DAnmTextureSRTKey*)mFaceBtkHeap.loadDataPriIdx(i_resIdx); } else { - btk = (J3DAnmTextureSRTKey*)mFaceBtkHeap.loadDataIdx(i_resID); + btk = (J3DAnmTextureSRTKey*)mFaceBtkHeap.loadDataIdx(i_resIdx); } if (btk != NULL) { @@ -7748,56 +8164,56 @@ void daAlink_c::setFaceBtk(u16 i_resID, int param_1, u16 i_arcNo) { } } -daAlink_c::daAlink_FTANM daAlink_c::setFaceBasicTexture(daAlink_c::daAlink_FTANM param_0) { +daAlink_c::daAlink_FTANM daAlink_c::setFaceBasicTexture(daAlink_c::daAlink_FTANM i_ftanm) { if (checkWindSpeedOnAngleAnime(0)) { - if (param_0 == FTANM_UNK_0) { - param_0 = FTANM_UNK_39; - } else if (param_0 == FTANM_UNK_8B) { - param_0 = FTANM_UNK_98; + if (i_ftanm == FTANM_0) { + i_ftanm = FTANM_DASHWIND; + } else if (i_ftanm == FTANM_WL_MABA01) { + i_ftanm = FTANM_WL_DASHWIND; } - } else if ((!checkPlayerDemoMode() && dComIfGs_getLife() <= 4) || mDemo.getDemoMode() == 0x12) { - if (param_0 == FTANM_UNK_0) { - param_0 = FTANM_UNK_1; - } else if (param_0 == FTANM_UNK_8B) { - param_0 = FTANM_UNK_8C; + } else if ((!checkPlayerDemoMode() && dComIfGs_getLife() <= 4) || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_18_e) { + if (i_ftanm == FTANM_0) { + i_ftanm = FTANM_MABA01; + } else if (i_ftanm == FTANM_WL_MABA01) { + i_ftanm = FTANM_WL_MABA02; } } - if (checkWolf() && param_0 == FTANM_UNK_0) { - param_0 = FTANM_UNK_8B; + if (checkWolf() && i_ftanm == FTANM_0) { + i_ftanm = FTANM_WL_MABA01; } - setFaceBasicBtp(getFaceTexData(param_0)->m_btpID); - setFaceBasicBtk(getFaceTexData(param_0)->m_btkID); - return param_0; + setFaceBasicBtp(getFaceTexData(i_ftanm)->m_btpID); + setFaceBasicBtk(getFaceTexData(i_ftanm)->m_btkID); + return i_ftanm; } -void daAlink_c::setFaceBasicAnime(daAlink_c::daAlink_ANM param_0) { - const daAlink_AnmData* temp_r3 = getAnmData(param_0); +void daAlink_c::setFaceBasicAnime(daAlink_c::daAlink_ANM i_anm) { + const daAlink_AnmData* anmData = getAnmData(i_anm); - daAlink_FTANM temp_r3_2 = setFaceBasicTexture((daAlink_c::daAlink_FTANM)temp_r3->m_faceTexID); - if ((temp_r3_2 != temp_r3->m_faceTexID) && !checkWolf()) { - if (temp_r3_2 == FTANM_UNK_39) { - setFaceBasicBck(0x126); - } else if (temp_r3_2 == FTANM_UNK_1) { - setFaceBasicBck(0x120); - } else if (temp_r3_2 == FTANM_UNK_5) { - setFaceBasicBck(0x137); + daAlink_FTANM ftanm = setFaceBasicTexture((daAlink_c::daAlink_FTANM)anmData->m_faceTexID); + if ((ftanm != anmData->m_faceTexID) && !checkWolf()) { + if (ftanm == FTANM_DASHWIND) { + setFaceBasicBck(dRes_ID_ALANM_BCK_FDASHWIND_e); + } else if (ftanm == FTANM_MABA01) { + setFaceBasicBck(dRes_ID_ALANM_BCK_FD_e); + } else if (ftanm == FTANM_MABA01_R) { + setFaceBasicBck(dRes_ID_ALANM_BCK_FGOMA_e); } else { - setFaceBasicBck(temp_r3->m_faceBckID); + setFaceBasicBck(anmData->m_faceBckID); } } else { - setFaceBasicBck(temp_r3->m_faceBckID); + setFaceBasicBck(anmData->m_faceBckID); } } -void daAlink_c::setFacePriTexture(daAlink_c::daAlink_FTANM i_anmID) { - setFacePriBtp(getFaceTexData(i_anmID)->m_btpID); - setFacePriBtk(getFaceTexData(i_anmID)->m_btkID); +void daAlink_c::setFacePriTexture(daAlink_c::daAlink_FTANM i_ftanm) { + setFacePriBtp(getFaceTexData(i_ftanm)->m_btpID); + setFacePriBtk(getFaceTexData(i_ftanm)->m_btkID); } -void daAlink_c::setFacePriAnime(daAlink_c::daAlink_ANM i_anmID) { - const daAlink_AnmData* anm_data = getAnmData(i_anmID); +void daAlink_c::setFacePriAnime(daAlink_c::daAlink_ANM i_anm) { + const daAlink_AnmData* anm_data = getAnmData(i_anm); setFacePriTexture((daAlink_FTANM)anm_data->m_faceTexID); setFacePriBck(anm_data->m_faceBckID); @@ -7806,42 +8222,42 @@ void daAlink_c::setFacePriAnime(daAlink_c::daAlink_ANM i_anmID) { void daAlink_c::resetFacePriBck() { if (!mFaceBckHeap.checkNoSetPriIdx()) { mFaceBckHeap.resetPriIdx(); - u16 bck_idx = mFaceBckHeap.getIdx(); - if (bck_idx == 0xFFFF) { - bck_idx = 0xDF; + u16 resIdx = mFaceBckHeap.getIdx(); + if (resIdx == 0xFFFF) { + resIdx = dRes_ID_ALANM_BCK_FA_e; } mFaceBckHeap.resetIdx(); - setFaceBasicBck(bck_idx); + setFaceBasicBck(resIdx); } } void daAlink_c::resetFacePriBtp() { if (!mFaceBtpHeap.checkNoSetPriIdx()) { mFaceBtpHeap.resetPriIdx(); - u16 btp_idx = mFaceBtpHeap.getIdx(); - if (btp_idx == 0xFFFF) { - btp_idx = 0x3DF; + u16 resIdx = mFaceBtpHeap.getIdx(); + if (resIdx == 0xFFFF) { + resIdx = dRes_ID_ALANM_BTP_FMABA01_e; } mFaceBtpHeap.resetIdx(); - setFaceBasicBtp(btp_idx); + setFaceBasicBtp(resIdx); } } void daAlink_c::resetFacePriBtk() { if (!mFaceBtkHeap.checkNoSetPriIdx()) { mFaceBtkHeap.resetPriIdx(); - u16 btk_idx = mFaceBtkHeap.getIdx(); - if (btk_idx == 0xFFFF) { - btk_idx = 0x379; + u16 resIdx = mFaceBtkHeap.getIdx(); + if (resIdx == 0xFFFF) { + resIdx = dRes_ID_ALANM_BTK_FMABA01_e; } mFaceBtkHeap.resetIdx(); - setFaceBasicBtk(btk_idx); + setFaceBasicBtk(resIdx); } } @@ -7857,22 +8273,22 @@ void daAlink_c::resetFacePriAnime() { void daAlink_c::playFaceTextureAnime() { if (checkNoResetFlg1(FLG1_UNK_200) && !mFaceBtpHeap.checkNoSetPriIdx()) { - simpleAnmPlay(field_0x2154); + simpleAnmPlay(mpFaceBtp); simpleAnmPlay(mpFaceBtk); } else { - u16 var_r29; + u16 btp_frame; if (!mFaceBtpHeap.checkNoSetPriIdx()) { - var_r29 = mUpperFrameCtrl[2].getFrame(); + btp_frame = mUpperFrameCtrl[2].getFrame(); } else if (checkUnderMove0BckNoArc(ANM_HAWK_WAIT)) { - var_r29 = mpFaceBtk->getFrameMax(); + btp_frame = mpFaceBtk->getFrameMax(); } else if (!checkNoResetFlg1(FLG1_UNK_2000)) { if (getNowAnmPackUnder(UNDER_0) != getNowAnmPackUpper(UPPER_0)) { - var_r29 = mUpperFrameCtrl[0].getFrame(); + btp_frame = mUpperFrameCtrl[0].getFrame(); } else { - var_r29 = mUnderFrameCtrl[0].getFrame(); + btp_frame = mUnderFrameCtrl[0].getFrame(); } } else { - int var_r24 = field_0x2154->getFrameMax() > mpFaceBtk->getFrameMax() ? field_0x2154->getFrameMax() : mpFaceBtk->getFrameMax(); + int var_r24 = mpFaceBtp->getFrameMax() > mpFaceBtk->getFrameMax() ? mpFaceBtp->getFrameMax() : mpFaceBtk->getFrameMax(); if (field_0x2fea != 0) { field_0x2fea++; @@ -7883,100 +8299,105 @@ void daAlink_c::playFaceTextureAnime() { field_0x2fea++; } - var_r29 = field_0x2fea; + btp_frame = field_0x2fea; } - u16 var_r26 = var_r29; + u16 btk_frame = btp_frame; - if (var_r29 > field_0x2154->getFrameMax()) { - var_r29 = field_0x2154->getFrameMax(); + if (btp_frame > mpFaceBtp->getFrameMax()) { + btp_frame = mpFaceBtp->getFrameMax(); } - if (var_r26 > mpFaceBtk->getFrameMax()) { - var_r26 = mpFaceBtk->getFrameMax(); + if (btk_frame > mpFaceBtk->getFrameMax()) { + btk_frame = mpFaceBtk->getFrameMax(); } - field_0x2154->setFrame(var_r29); - mpFaceBtk->setFrame(var_r26); + mpFaceBtp->setFrame(btp_frame); + mpFaceBtk->setFrame(btk_frame); } if (!checkWolf()) { - J3DAnmTransform* temp_r28 = field_0x2164.getBckAnm(); + J3DAnmTransform* bck = mFaceBck.getBckAnm(); if (checkNoResetFlg1(FLG1_UNK_200)) { if (!mFaceBckHeap.checkNoSetPriIdx()) { - simpleAnmPlay(temp_r28); + simpleAnmPlay(bck); return; } } - f32 var_f31; + f32 frame; if (checkUnderMove0BckNoArc(ANM_HAWK_WAIT)) { - var_f31 = temp_r28->getFrameMax(); + frame = bck->getFrameMax(); } else if (mFaceBckHeap.checkNoSetPriIdx()) { - u16 temp_r27 = mFaceBckHeap.getIdx(); + u16 resIdx = mFaceBckHeap.getIdx(); if (mFaceBckHeap.checkNoSetArcNo()) { - if (temp_r27 == 0xE8) { - var_f31 = 1.0f; - } else if (temp_r27 == 0x157 || temp_r27 == 0x120 || (checkModeFlg(0x400) && temp_r27 == 0x160)) { - var_f31 = 1.0f + temp_r28->getFrame(); - if (var_f31 >= temp_r28->getFrameMax()) { - var_f31 -= temp_r28->getFrameMax(); + if (resIdx == dRes_ID_ALANM_BCK_FAT_e) { + frame = 1.0f; + } else if (resIdx == dRes_ID_ALANM_BCK_FSWIMINGB_e + || resIdx == dRes_ID_ALANM_BCK_FD_e + || (checkModeFlg(0x400) && resIdx == dRes_ID_ALANM_BCK_FWAITD_e)) + { + frame = 1.0f + bck->getFrame(); + if (frame >= bck->getFrameMax()) { + frame -= bck->getFrameMax(); } } else { if (getNowAnmPackUnder(UNDER_0) != getNowAnmPackUpper(UPPER_0)) { - var_f31 = mUpperFrameCtrl[0].getFrame(); + frame = mUpperFrameCtrl[0].getFrame(); } else { - var_f31 = mUnderFrameCtrl[0].getFrame(); + frame = mUnderFrameCtrl[0].getFrame(); } } } else { if (getNowAnmPackUnder(UNDER_0) != getNowAnmPackUpper(UPPER_0)) { - var_f31 = mUpperFrameCtrl[0].getFrame(); + frame = mUpperFrameCtrl[0].getFrame(); } else { - var_f31 = mUnderFrameCtrl[0].getFrame(); + frame = mUnderFrameCtrl[0].getFrame(); } } } else { - var_f31 = mUpperFrameCtrl[2].getFrame(); + frame = mUpperFrameCtrl[2].getFrame(); } - if (var_f31 > temp_r28->getFrameMax()) { - var_f31 = temp_r28->getFrameMax(); + if (frame > bck->getFrameMax()) { + frame = bck->getFrameMax(); } if (mClothesChangeWaitTimer == 0 && !checkZoraWearMaskDraw()) { - field_0x2164.entry(mpLinkFaceModel->getModelData(), var_f31); + mFaceBck.entry(mpLinkFaceModel->getModelData(), frame); } } } -s16 daAlink_c::getGroundAngle(cBgS_PolyInfo* i_poly, s16 i_angle) { - if (!dComIfG_Bgsp().ChkPolySafe(*i_poly)) { +s16 daAlink_c::getGroundAngle(cBgS_PolyInfo* i_polyinfo, s16 i_angle) { + if (!dComIfG_Bgsp().ChkPolySafe(*i_polyinfo)) { return 0; } - cM3dGPla plane; - if (!dComIfG_Bgsp().GetTriPla(*i_poly, &plane) || !cBgW_CheckBGround(plane.mNormal.y)) { + cM3dGPla tripla; + if (!dComIfG_Bgsp().GetTriPla(*i_polyinfo, &tripla) || !cBgW_CheckBGround(tripla.mNormal.y)) { return 0; } - return fopAcM_getPolygonAngle(&plane, i_angle); + return fopAcM_getPolygonAngle(&tripla, i_angle); } -s16 daAlink_c::getRoofAngle(cBgS_PolyInfo* param_0, s16 param_1) { - cM3dGPla plane; +s16 daAlink_c::getRoofAngle(cBgS_PolyInfo* i_polyinfo, s16 i_angle) { + cM3dGPla tripla; - if (!dComIfG_Bgsp().GetTriPla(*param_0, &plane) || !dComIfG_Bgsp().ChkPolySafe(*param_0)) { + if (!dComIfG_Bgsp().GetTriPla(*i_polyinfo, &tripla) || !dComIfG_Bgsp().ChkPolySafe(*i_polyinfo)) { return 0; } - return fopAcM_getPolygonAngle(&plane, param_1) + 0x8000; + return fopAcM_getPolygonAngle(&tripla, i_angle) + 0x8000; } BOOL daAlink_c::getWallEdgePos(cXyz const& param_0, cM3dGPla* i_planeA, cM3dGPla* i_planeB, cXyz* o_outVec, int unused) { + UNUSED(unused); + cXyz normal(i_planeA->mNormal.z, 0.0f, -i_planeA->mNormal.x); normal.normalizeZP(); @@ -8000,15 +8421,15 @@ void daAlink_c::setFrontWallType() { if (field_0x2f91 == 0) { field_0x2f91 = 1; if (!checkMagneBootsOn()) { - cXyz chk_start_pos; - cXyz chk_end_pos; + cXyz line_start_pos; + cXyz line_end_pos; f32 sp64 = cM_ssin(shape_angle.y); f32 sp60 = cM_scos(shape_angle.y); - int var_r27; + int wall_code; int i; - BOOL sp5C = 0; - BOOL sp58 = 0; + BOOL sp5C = FALSE; + BOOL sp58 = FALSE; f32 sp54; f32 sp50; @@ -8027,63 +8448,63 @@ void daAlink_c::setFrontWallType() { } } - chk_start_pos.x = mHookshotTopPos.x - (sp64 * var_f31); - chk_start_pos.z = mHookshotTopPos.z - (sp60 * var_f31); - chk_end_pos.x = (2.0f * mHookshotTopPos.x) - chk_start_pos.x; - chk_end_pos.z = (2.0f * mHookshotTopPos.z) - chk_start_pos.z; + line_start_pos.x = mHookshotTopPos.x - (sp64 * var_f31); + line_start_pos.z = mHookshotTopPos.z - (sp60 * var_f31); + line_end_pos.x = (2.0f * mHookshotTopPos.x) - line_start_pos.x; + line_end_pos.z = (2.0f * mHookshotTopPos.z) - line_start_pos.z; sp50 = mHookshotTopPos.y; sp54 = 10.0f + mHookshotTopPos.y; } else { - chk_start_pos.x = current.pos.x; - chk_start_pos.z = current.pos.z; - chk_end_pos.x = chk_start_pos.x + (sp64 * (25.0f + var_f31)); - chk_end_pos.z = chk_start_pos.z + (sp60 * (25.0f + var_f31)); + line_start_pos.x = current.pos.x; + line_start_pos.z = current.pos.z; + line_end_pos.x = line_start_pos.x + (sp64 * (25.0f + var_f31)); + line_end_pos.z = line_start_pos.z + (sp60 * (25.0f + var_f31)); sp50 = current.pos.y; sp54 = 100.0f + current.pos.y; } - BOOL sp4C = 0; + BOOL sp4C = FALSE; for (i = 0; i < 3; i++) { - chk_start_pos.y = sp50 + mAcchCir[i].GetWallH(); - chk_end_pos.y = chk_start_pos.y; + line_start_pos.y = sp50 + mAcchCir[i].GetWallH(); + line_end_pos.y = line_start_pos.y; - if (commonLineCheck(&chk_start_pos, &chk_end_pos)) { - var_r27 = dComIfG_Bgsp().GetWallCode(mLinkLinChk); + if (commonLineCheck(&line_start_pos, &line_end_pos)) { + wall_code = dComIfG_Bgsp().GetWallCode(mLinkLinChk); - if (i == 0 && var_r27 == 3 && checkStageName("D_MN10") != 0 && fopAcM_GetRoomNo(this) == 6) { - sp4C = 1; - } else if (!checkWolf() && sp5C == 0 && ((i == 0 && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) || mProcID == PROC_HOOKSHOT_FLY) && var_r27 == 0) { - sp5C = 1; - chk_start_pos.y = sp54; - chk_end_pos.y = chk_start_pos.y; + if (i == 0 && wall_code == 3 && checkStageName("D_MN10") && fopAcM_GetRoomNo(this) == 6) { + sp4C = TRUE; + } else if (!checkWolf() && !sp5C && ((i == 0 && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) || mProcID == PROC_HOOKSHOT_FLY) && wall_code == 0) { + sp5C = TRUE; + line_start_pos.y = sp54; + line_end_pos.y = line_start_pos.y; - if (commonLineCheck(&chk_start_pos, &chk_end_pos) && checkClimbCode(mLinkLinChk)) { - sp58 = 1; + if (commonLineCheck(&line_start_pos, &line_end_pos) && checkClimbCode(mLinkLinChk)) { + sp58 = TRUE; break; } i = -1; - } else if (!checkWolf() || ((i != 0 && i != 1) || var_r27 != 7)) { + } else if (!checkWolf() || ((i != 0 && i != 1) || wall_code != 7)) { break; } } } if (i == 3) { - if (sp4C == 0) { + if (!sp4C) { offNoResetFlg3(FLG3_UNK_400000); return; } - chk_start_pos.y = sp50 + mAcchCir[0].GetWallH(); - chk_end_pos.y = chk_start_pos.y; + line_start_pos.y = sp50 + mAcchCir[0].GetWallH(); + line_end_pos.y = line_start_pos.y; - if (!commonLineCheck(&chk_start_pos, &chk_end_pos)) { + if (!commonLineCheck(&line_start_pos, &line_end_pos)) { return; } } else { - sp4C = 0; + sp4C = FALSE; } cM3dGPla linchk_tri; @@ -8099,7 +8520,7 @@ void daAlink_c::setFrontWallType() { s16 spA; if (mProcID == PROC_HOOKSHOT_FLY) { spA = 0x7FFF; - } else if (mProcID == PROC_WOLF_JUMP_ATTACK || (checkWolf() && var_r27 == 3)) { + } else if (mProcID == PROC_WOLF_JUMP_ATTACK || (checkWolf() && wall_code == 3)) { if (mProcID != PROC_WOLF_JUMP_ATTACK) { sp48 = 1; } @@ -8124,21 +8545,21 @@ void daAlink_c::setFrontWallType() { int temp_r3 = dComIfG_Bgsp().GetWallCode(mLinkLinChk); if (temp_r3 != 4 && temp_r3 != 5) { - chk_start_pos.x = current.pos.x; - chk_start_pos.z = current.pos.z; - chk_end_pos.x = chk_start_pos.x - (2.0f * sp40 * linchk_tri.mNormal.x); - chk_end_pos.z = chk_start_pos.z - (2.0f * sp40 * linchk_tri.mNormal.z); + line_start_pos.x = current.pos.x; + line_start_pos.z = current.pos.z; + line_end_pos.x = line_start_pos.x - (2.0f * sp40 * linchk_tri.mNormal.x); + line_end_pos.z = line_start_pos.z - (2.0f * sp40 * linchk_tri.mNormal.z); for (i = 0; i < 3; i++) { if (i == 0 && sp58 != 0) { - chk_start_pos.y = sp54; + line_start_pos.y = sp54; } else { - chk_start_pos.y = current.pos.y + mAcchCir[i].GetWallH(); + line_start_pos.y = current.pos.y + mAcchCir[i].GetWallH(); } - chk_end_pos.y = chk_start_pos.y; + line_end_pos.y = line_start_pos.y; - if (commonLineCheck(&chk_start_pos, &chk_end_pos)) { + if (commonLineCheck(&line_start_pos, &line_end_pos)) { dComIfG_Bgsp().GetTriPla(mLinkLinChk, &spCC); cXyz sp80 = linchk_tri.mNormal - spCC.mNormal; @@ -8158,13 +8579,13 @@ void daAlink_c::setFrontWallType() { int var_r29 = dComIfG_Bgsp().GetWallCode(mLinkLinChk); dBgW_Base* sp3C = dComIfG_Bgsp().GetBgWBasePointer(mLinkLinChk); - if ((var_r29 == 3 || var_r29 == 1) && (sp4C != 0 || (sp3C != NULL && !sp3C->ChkPushPullOk()))) { + if ((var_r29 == 3 || var_r29 == 1) && (sp4C || (sp3C != NULL && !sp3C->ChkPushPullOk()))) { var_r29 = 0; - } else if (var_r29 == 1 && mSpecialMode == 0x2B) { + } else if (var_r29 == 1 && mMode == 0x2B) { var_r29 = 0; } - if (sp48 != 0 && var_r29 != 3 && sp44 > field_0x30ae) { + if (sp48 && var_r29 != 3 && sp44 > field_0x30ae) { return; } @@ -8186,9 +8607,9 @@ void daAlink_c::setFrontWallType() { field_0x27fc = dComIfG_Bgsp().GetActorPointer(mLinkLinChk); } - if (checkNoResetFlg0(daPy_FLG0(FLG0_UNDERWATER | FLG0_SWIM_UP))) { + if (checkNoResetFlg0(daPy_FLG0(FLG0_WATER_IN_MOVE | FLG0_SWIM_UP))) { if (var_r29 == 6 && !checkModeFlg(0x40002)) { - setDoStatus(7); + setDoStatus(BUTTON_STATUS_ENTER); setLadderPosInit(); return; } @@ -8208,7 +8629,7 @@ void daAlink_c::setFrontWallType() { if (var_r29 == 1) { if (checkModeFlg(0x40002)) { if (checkModeFlg(2) && mProcID != PROC_HOOKSHOT_FLY) { - setDoStatus(0x8E); + setDoStatus(BUTTON_STATUS_UNK_142); } f32 sp34; @@ -8218,8 +8639,8 @@ void daAlink_c::setFrontWallType() { sp34 = current.pos.y; } - chk_start_pos.set(field_0x34ec.x - (15.0f * linchk_tri.mNormal.x), 150.0f + sp34, field_0x34ec.z - (15.0f * linchk_tri.mNormal.z)); - mLinkGndChk.SetPos(&chk_start_pos); + line_start_pos.set(field_0x34ec.x - (15.0f * linchk_tri.mNormal.x), 150.0f + sp34, field_0x34ec.z - (15.0f * linchk_tri.mNormal.z)); + mLinkGndChk.SetPos(&line_start_pos); f32 sp38 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); if (sp38 >= current.pos.y && dBgS_CheckBGroundPoly(mLinkGndChk)) { @@ -8252,7 +8673,7 @@ void daAlink_c::setFrontWallType() { if (var_r29 == 4) { field_0x2f91 = 4; if (checkModeFlg(2)) { - setDoStatus(0x8E); + setDoStatus(BUTTON_STATUS_UNK_142); } } else { field_0x2f91 = 5; @@ -8291,31 +8712,31 @@ void daAlink_c::setFrontWallType() { } body_height = current.pos.y + mSinkShapeOffset; - chk_start_pos.set(current.pos.x, body_height + (0.01f + hang_height), current.pos.z); - chk_end_pos.set(chk_start_pos.x + (sp64 * (50.0f + var_f31)), chk_start_pos.y, chk_start_pos.z + (sp60 * (50.0f + var_f31))); + line_start_pos.set(current.pos.x, body_height + (0.01f + hang_height), current.pos.z); + line_end_pos.set(line_start_pos.x + (sp64 * (50.0f + var_f31)), line_start_pos.y, line_start_pos.z + (sp60 * (50.0f + var_f31))); - BOOL sp24 = commonLineCheck(&chk_start_pos, &chk_end_pos); + BOOL sp24 = commonLineCheck(&line_start_pos, &line_end_pos); if (sp24) { - chk_start_pos = mLinkLinChk.GetCross(); + line_start_pos = mLinkLinChk.GetCross(); dComIfG_Bgsp().GetTriPla(mLinkLinChk, &spCC); - chk_start_pos.x = (chk_start_pos.x + (25.0f * spCC.mNormal.x)); - chk_start_pos.z = (chk_start_pos.z + (25.0f * spCC.mNormal.z)); - mLinkGndChk.SetPos(&chk_start_pos); + line_start_pos.x = (line_start_pos.x + (25.0f * spCC.mNormal.x)); + line_start_pos.z = (line_start_pos.z + (25.0f * spCC.mNormal.z)); + mLinkGndChk.SetPos(&line_start_pos); if (dComIfG_Bgsp().GroundCross(&mLinkGndChk) > current.pos.y + l_autoUpHeight) { dComIfG_Bgsp().GetTriPla(mLinkGndChk, &spCC); if (cBgW_CheckBGround(spCC.mNormal.y)) { - sp24 = 0; + sp24 = FALSE; } } } - if (sp24 == 0) { + if (!sp24) { mLinkRoofChk.SetPos(current.pos); - sp24 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - body_height > 10.0f + hang_height ? 0 : 1; + sp24 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - body_height > 10.0f + hang_height ? FALSE : TRUE; } - if (sp24 != 0) { + if (sp24) { return; } @@ -8323,12 +8744,12 @@ void daAlink_c::setFrontWallType() { bool found_gnd_tri = false; int sp20 = 0; - chk_start_pos.set(field_0x34ec.x - (7.5f * linchk_tri.mNormal.x), body_height + (0.01f + hang_height), field_0x34ec.z - (7.5f * linchk_tri.mNormal.z)); - mLinkGndChk.SetPos(&chk_start_pos); + line_start_pos.set(field_0x34ec.x - (7.5f * linchk_tri.mNormal.x), body_height + (0.01f + hang_height), field_0x34ec.z - (7.5f * linchk_tri.mNormal.z)); + mLinkGndChk.SetPos(&line_start_pos); f32 sp1C = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - chk_start_pos.set(field_0x34ec.x - (1.5f * linchk_tri.mNormal.x), body_height + (0.01f + hang_height), field_0x34ec.z - (1.5f * linchk_tri.mNormal.z)); - mLinkGndChk.SetPos(&chk_start_pos); + line_start_pos.set(field_0x34ec.x - (1.5f * linchk_tri.mNormal.x), body_height + (0.01f + hang_height), field_0x34ec.z - (1.5f * linchk_tri.mNormal.z)); + mLinkGndChk.SetPos(&line_start_pos); f32 sp38 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); if (-G_CM3D_F_INF != sp38 && fabsf(sp1C - sp38) < l_autoUpHeight) { @@ -8347,10 +8768,10 @@ void daAlink_c::setFrontWallType() { if (dComIfG_Bgsp().GetGroundCode(mLinkGndChk) != 6) { f32 sp18 = 36.5f; - chk_start_pos.set(wall_edge_pos.x + (10.0f * linchk_tri.mNormal.x), wall_edge_pos.y + l_autoUpHeight, wall_edge_pos.z + (10.0f * linchk_tri.mNormal.z)); - chk_end_pos.set(wall_edge_pos.x - (linchk_tri.mNormal.x * sp18), chk_start_pos.y, wall_edge_pos.z - (linchk_tri.mNormal.z * sp18)); + line_start_pos.set(wall_edge_pos.x + (10.0f * linchk_tri.mNormal.x), wall_edge_pos.y + l_autoUpHeight, wall_edge_pos.z + (10.0f * linchk_tri.mNormal.z)); + line_end_pos.set(wall_edge_pos.x - (linchk_tri.mNormal.x * sp18), line_start_pos.y, wall_edge_pos.z - (linchk_tri.mNormal.z * sp18)); - if (commonLineCheck(&chk_start_pos, &chk_end_pos)) { + if (commonLineCheck(&line_start_pos, &line_end_pos)) { return; } } @@ -8359,25 +8780,25 @@ void daAlink_c::setFrontWallType() { f32 temp_f29 = field_0x34ec.y - body_height; if (checkModeFlg(0x40000)) { - f32 sp14; - f32 sp10; + f32 climb_height; + f32 climb_water_surface; if (checkWolf()) { - sp14 = 0.01f + mpHIO->mWolf.mWlSwim.m.mClimbHeight; - sp10 = mpHIO->mWolf.mWlSwim.m.mClimbBelowWaterSurface; + climb_height = 0.01f + mpHIO->mWolf.mWlSwim.m.mClimbHeight; + climb_water_surface = mpHIO->mWolf.mWlSwim.m.mClimbBelowWaterSurface; } else { - sp14 = 0.01f + mpHIO->mSwim.m.mClimbHeight; - sp10 = mpHIO->mSwim.m.mClimbWaterSurfaceUnder; + climb_height = 0.01f + mpHIO->mSwim.m.mClimbHeight; + climb_water_surface = mpHIO->mSwim.m.mClimbWaterSurfaceUnder; } if (checkNoResetFlg0(FLG0_SWIM_UP)) { - if (temp_f29 <= sp14) { - if (temp_f29 >= sp10) { + if (temp_f29 <= climb_height) { + if (temp_f29 >= climb_water_surface) { field_0x2f91 = 7; } } } } else if (checkModeFlg(2)) { - if (sp38 - mLinkAcch.GetGroundH() > field_0x598 && temp_f29 < hang_height) { + if (sp38 - mLinkAcch.GetGroundH() > mHeight && temp_f29 < hang_height) { if (!checkWolf() && mProcID != PROC_HOOKSHOT_FLY && temp_f29 < mpHIO->mAutoJump.m.mGrabHeightLimit) { field_0x2f91 = 0xB; } else { @@ -8469,7 +8890,6 @@ void daAlink_c::setHangWaterY() { } field_0x33bc = sp14.y; - } void daAlink_c::setSandDownBgCheckWallH() { @@ -8483,12 +8903,12 @@ void daAlink_c::setSandDownBgCheckWallH() { void daAlink_c::setBgCheckParam() { mAcchCir[0].SetWallH(l_autoUpHeight); mAcchCir[1].SetWallH(129.99f); - mAcchCir[2].SetWallH(field_0x598); + mAcchCir[2].SetWallH(mHeight); if (checkSpinnerRide()) { mLinkAcch.SetRoofCrrHeight(80.0f); } else { - mLinkAcch.SetRoofCrrHeight(field_0x598); + mLinkAcch.SetRoofCrrHeight(mHeight); } if (checkWolf()) { @@ -8508,11 +8928,11 @@ void daAlink_c::setBgCheckParam() { mAcchCir[1].SetWallH(75.0f); mAcchCir[2].SetWallH(75.0f); } else if (mProcID == PROC_WOLF_TAG_JUMP) { - mAcchCir[0].SetWallH(0.5f * (field_0x598 + l_autoUpHeight)); - mAcchCir[1].SetWallH(0.75f * (field_0x598 + l_autoUpHeight)); + mAcchCir[0].SetWallH(0.5f * (mHeight + l_autoUpHeight)); + mAcchCir[1].SetWallH(0.75f * (mHeight + l_autoUpHeight)); mAcchCir[0].SetWallR(35.0f); } else { - mAcchCir[1].SetWallH(0.5f * (field_0x598 + l_autoUpHeight)); + mAcchCir[1].SetWallH(0.5f * (mHeight + l_autoUpHeight)); mAcchCir[0].SetWallR(35.0f); } } else if (checkModeFlg(0x200000)) { @@ -8559,7 +8979,7 @@ void daAlink_c::setBgCheckParam() { } else if (checkModeFlg(0x400) && !checkSpinnerRide() && !checkBoardRide() && mProcID != PROC_SPINNER_WAIT && mProcID != PROC_BOARD_WAIT) { mAcchCir[0].SetWallH(l_autoUpHeight - 80.0f); mAcchCir[1].SetWallH(49.990005f); - mAcchCir[2].SetWallH(field_0x598 - 80.0f); + mAcchCir[2].SetWallH(mHeight - 80.0f); } mAcchCir[0].SetWallR(35.0f); @@ -8576,91 +8996,91 @@ void daAlink_c::setBgCheckParam() { } BOOL daAlink_c::checkNotJumpSinkLimit() { - return mSinkShapeOffset < -30.0f || field_0x2fbd == 3 || - (field_0x2fbd == 4 && mSinkShapeOffset < -15.0f); + return mSinkShapeOffset < -30.0f || mGndPolyAtt1 == 3 || + (mGndPolyAtt1 == 4 && mSinkShapeOffset < -15.0f); } BOOL daAlink_c::checkNotItemSinkLimit() { return mSinkShapeOffset < -34.0f && - (field_0x2fbd == 1 || field_0x2fbd == 2 || field_0x2fbd == 3 || field_0x2fbd == 4); + (mGndPolyAtt1 == 1 || mGndPolyAtt1 == 2 || mGndPolyAtt1 == 3 || mGndPolyAtt1 == 4); } void daAlink_c::setSandShapeOffset() { f32 var_f30 = 0.0f; - f32 var_f31 = 0.0f; + f32 sink_speed = 0.0f; f32 temp_f29 = mSinkShapeOffset; - BOOL temp_r29 = checkEventRun(); + BOOL isEventRun = checkEventRun(); - if (mLinkAcch.ChkGroundHit() && (field_0x2fbb == 3 || checkSnowCode()) && !checkModeFlg(0x440)) { - if (!temp_r29 && !checkModeFlg(0x02000000)) { + if (mLinkAcch.ChkGroundHit() && (mGndPolyAtt0 == 3 || checkSnowCode()) && !checkModeFlg(0x440)) { + if (!isEventRun && !checkModeFlg(0x02000000)) { if (checkSnowCode()) { if (!checkZeroSpeedF() || mProcID == PROC_TURN_MOVE) { - var_f31 = 1.0f; + sink_speed = 1.0f; if (mGndPolySpecialCode == dBgW_SPCODE_LIGHT_SNOW) { var_f30 = -15.0f; } else { if (mSinkShapeOffset > -15.0f) { - var_f31 = 10.0f; + sink_speed = 10.0f; } var_f30 = -35.0f; } } - } else if (field_0x2fbd == 4) { + } else if (mGndPolyAtt1 == 4) { var_f30 = -25.0f; if (mSinkShapeOffset > -15.0f) { - var_f31 = 10.0f; + sink_speed = 10.0f; } else { - var_f31 = mpHIO->mBasic.m.mSandSinkSpeed; + sink_speed = mpHIO->mBasic.m.mSandSinkSpeed; } - } else if (field_0x2fbd == 2) { + } else if (mGndPolyAtt1 == 2) { var_f30 = field_0x345c; - var_f31 = 6.0f; - } else if (field_0x2fbd == 3) { + sink_speed = 6.0f; + } else if (mGndPolyAtt1 == 3) { var_f30 = field_0x3458; if (mSinkShapeOffset > -15.0f) { - var_f31 = 10.0f; + sink_speed = 10.0f; } else { - var_f31 = mpHIO->mBasic.m.mSandSinkSpeed; + sink_speed = mpHIO->mBasic.m.mSandSinkSpeed; if (checkWolf()) { - var_f31 *= 0.42857143f; + sink_speed *= 0.42857143f; } } - } else if (field_0x2fbd == 1) { + } else if (mGndPolyAtt1 == 1) { if (mNormalSpeed < 2.0f) { var_f30 = field_0x3458; if (mSinkShapeOffset > -15.0f) { - var_f31 = 10.0f; + sink_speed = 10.0f; } else { - var_f31 = mpHIO->mBasic.m.mSandSinkSpeed; + sink_speed = mpHIO->mBasic.m.mSandSinkSpeed; } if (checkWolf()) { - var_f31 *= 0.42857143f; + sink_speed *= 0.42857143f; } } else { var_f30 = -15.0f; - var_f31 = mpHIO->mBasic.m.mSandSurfaceSpeed; + sink_speed = mpHIO->mBasic.m.mSandSurfaceSpeed; } } else if (!(mNormalSpeed < 2.0f) || !(mSinkShapeOffset < -15.0f)) { var_f30 = -15.0f; if (mSinkShapeOffset < -15.0f) { - var_f31 = mpHIO->mBasic.m.mSandSurfaceSpeed; + sink_speed = mpHIO->mBasic.m.mSandSurfaceSpeed; } else { - var_f31 = mpHIO->mBasic.m.mSandSinkSpeed; + sink_speed = mpHIO->mBasic.m.mSandSinkSpeed; } } } } else { var_f30 = 0.0f; - var_f31 = 10.0f; + sink_speed = 10.0f; } - if (var_f31 > 0.0f) { - cLib_chaseF(&mSinkShapeOffset, var_f30, var_f31); + if (sink_speed > 0.0f) { + cLib_chaseF(&mSinkShapeOffset, var_f30, sink_speed); } if (mSinkShapeOffset < -15.0f) { - field_0x2fc9 = field_0x2fbb; + field_0x2fc9 = mGndPolyAtt0; int var_r28; if (mProcID == PROC_LAVA_RETURN) { @@ -8672,7 +9092,7 @@ void daAlink_c::setSandShapeOffset() { mZ2Link.setSinkDepth(var_r28); if (fabsf(temp_f29 - mSinkShapeOffset) > 0.01f) { - if (field_0x2fbb == 0xD) { + if (mGndPolyAtt0 == 0xD) { seStartOnlyReverbLevel(Z2SE_AL_SINK_SNOW_LEVEL); } else { seStartOnlyReverbLevel(Z2SE_AL_SINK_SAND_LEVEL); @@ -8688,7 +9108,7 @@ void daAlink_c::setSandShapeOffset() { field_0x2fc9 = 0x10; } - if (checkWolf() && !temp_r29 && mSinkShapeOffset < -30.0f) { + if (checkWolf() && !isEventRun && mSinkShapeOffset < -30.0f) { getMidnaActor()->onForcePanic(); } } @@ -8697,47 +9117,57 @@ bool daAlink_c::checkLv2MiddleBossBgRide(s16 i_procName) { return i_procName == PROC_OBJ_MSIMA || i_procName == PROC_B_ZANTS; } -bool daAlink_c::getSlidePolygon(cM3dGPla* param_0) { - if (!checkMagneBootsOn() && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x40000) && (mGndPolySpecialCode != 6) && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) { +bool daAlink_c::getSlidePolygon(cM3dGPla* o_tripla) { + if (!checkMagneBootsOn() + && mLinkAcch.ChkGroundHit() + && !checkModeFlg(0x40000) + && mGndPolySpecialCode != 6 + && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) + { if ((checkEquipHeavyBoots() && daTagMagne_c::checkMagnetCode(mLinkAcch.m_gnd)) || mProcID == PROC_GORON_MOVE) { return 0; } - s16 temp_r28 = getMoveBGActorName(mLinkAcch.m_gnd, 1); - if (dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, param_0) && - (!checkBootsOrArmorHeavy() || (temp_r28 != PROC_Obj_RotStair && temp_r28 != PROC_Obj_Lv3R10Saka)) && - ((field_0x3174 != 8 && (mGndPolySpecialCode == 1 || (param_0->mNormal.y < field_0x3470 && mGndPolySpecialCode != 2))) || - (mGndPolySpecialCode == 5 && !checkWolf() && (!checkInputOnR() || mProcID == PROC_SLIDE) && (param_0->mNormal.y < cM_scos(field_0x3122))) || - (!checkEquipHeavyBoots() && !dComIfGp_checkPlayerStatus0(0, 0x100) && checkLv2MiddleBossBgRide(temp_r28) && - (param_0->mNormal.y < cM_scos(cM_deg2s(mpHIO->mSlide.m.mLV2MinibossFloorSlideAngle)))))) + s16 movebg_actorName = getMoveBGActorName(mLinkAcch.m_gnd, TRUE); + if (dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, o_tripla) + && (!checkBootsOrArmorHeavy() || (movebg_actorName != PROC_Obj_RotStair && movebg_actorName != PROC_Obj_Lv3R10Saka)) + && ((mGroundCode != 8 && (mGndPolySpecialCode == 1 || (o_tripla->mNormal.y < field_0x3470 && mGndPolySpecialCode != 2))) + || (mGndPolySpecialCode == 5 && !checkWolf() && (!checkInputOnR() || mProcID == PROC_SLIDE) && (o_tripla->mNormal.y < cM_scos(field_0x3122))) + || (!checkEquipHeavyBoots() + && !dComIfGp_checkPlayerStatus0(0, 0x100) + && checkLv2MiddleBossBgRide(movebg_actorName) + && (o_tripla->mNormal.y < cM_scos(cM_deg2s(mpHIO->mSlide.m.mLV2MinibossFloorSlideAngle))) + ) + ) + ) { - return 1; + return true; } } - return 0; + return false; } BOOL daAlink_c::checkSlope() const { - return field_0x3174 != 8 && field_0x2ff0 < -field_0x3122; + return mGroundCode != 8 && field_0x2ff0 < -field_0x3122; } -void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2) { - if (checkEventRun() || param_2 != 0 || mSpecialMode != 0) { - if (p_pos != NULL) { - current.pos = *p_pos; +void daAlink_c::setPlayerPosAndAngle(const cXyz* i_pos, s16 i_angle, BOOL param_2) { + if (checkEventRun() || param_2 || mMode != 0) { + if (i_pos != NULL) { + current.pos = *i_pos; old.pos = current.pos; field_0x3798 = current.pos; onEndResetFlg0(ERFLG0_UNK_800000); onEndResetFlg2(ERFLG2_UNK_100); - if (mDemo.getDemoMode() != 0x59) { + if (mDemo.getDemoMode() != daPy_demo_c::DEMO_SWORD_PUSH_e) { speed.y = 0.0f; } } shape_angle.y = i_angle; current.angle.y = i_angle; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; if ((mProcID == PROC_TALK || mProcID == PROC_TRADE_ITEM_OUT) && !checkWolf()) { if (field_0x3198 != 0) { field_0x37c8.x = current.pos.x; @@ -8750,23 +9180,24 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2 } if (checkHorseRide()) { - dComIfGp_getHorseActor()->setHorsePosAndAngle(¤t.pos, shape_angle.y); + daHorse_c* horse = dComIfGp_getHorseActor(); + horse->setHorsePosAndAngle(¤t.pos, shape_angle.y); } else if (checkSpinnerRide()) { - fopAc_ac_c* rideAc = mRideAcKeep.getActor(); - rideAc->current.pos = current.pos; - rideAc->shape_angle.y = shape_angle.y; - rideAc->current.angle.y = shape_angle.y; - rideAc->speed.y = 0.0f; + fopAc_ac_c* rideActor = mRideAcKeep.getActor(); + rideActor->current.pos = current.pos; + rideActor->shape_angle.y = shape_angle.y; + rideActor->current.angle.y = shape_angle.y; + rideActor->speed.y = 0.0f; } - field_0x814.ClrCcMove(); + mCcStts.ClrCcMove(); } } -void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) { - if (checkEventRun() || mSpecialMode != 0) { - if (p_pos != NULL) { - current.pos = *p_pos; +void daAlink_c::setPlayerPosAndAngle(const cXyz* i_pos, const csXyz* i_angle) { + if (checkEventRun() || mMode != 0) { + if (i_pos != NULL) { + current.pos = *i_pos; old.pos = current.pos; field_0x3798 = current.pos; onEndResetFlg0(ERFLG0_UNK_800000); @@ -8774,41 +9205,51 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) { speed.y = 0.0f; } - if (p_angle != NULL) { - shape_angle = *p_angle; + if (i_angle != NULL) { + shape_angle = *i_angle; current.angle.y = shape_angle.y; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; } - field_0x814.ClrCcMove(); + mCcStts.ClrCcMove(); } } -void daAlink_c::setPlayerPosAndAngle(Mtx param_0) { - if (checkEventRun() || mSpecialMode != 0) { - current.pos.x = param_0[0][3]; - current.pos.y = param_0[1][3]; - current.pos.z = param_0[2][3]; +void daAlink_c::setPlayerPosAndAngle(Mtx i_mtx) { + if (checkEventRun() || mMode != 0) { + mDoMtx_multVecZero(i_mtx, ¤t.pos); old.pos = current.pos; field_0x3798 = current.pos; onEndResetFlg0(ERFLG0_UNK_800000); onEndResetFlg2(ERFLG2_UNK_100); - mDoMtx_MtxToRot(param_0, &shape_angle); + mDoMtx_MtxToRot(i_mtx, &shape_angle); current.angle.y = shape_angle.y; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; speed.y = 0.0f; - field_0x814.ClrCcMove(); + mCcStts.ClrCcMove(); } } -BOOL daAlink_c::itemTriggerCheck(u8 btnFlag) { - field_0x2fae |= btnFlag; - return mItemTrigger & btnFlag; +#if DEBUG +BOOL daAlink_c::checkDebugMoveInput() { + if (mDoCPd_c::isConnect(PAD_3)) { + return mDoCPd_c::getHoldB(PAD_1) + && mDoCPd_c::getAnalogR(PAD_1) > 0.8f + && mDoCPd_c::getTrigA(PAD_1); + } + + return FALSE; +} +#endif + +BOOL daAlink_c::itemTriggerCheck(u8 i_btnFlag) { + mUseButtonFlags |= i_btnFlag; + return mItemTrigger & i_btnFlag; } -BOOL daAlink_c::itemButtonCheck(u8 btnFlag) { - field_0x2fae |= btnFlag; - return mItemButton & btnFlag; +BOOL daAlink_c::itemButtonCheck(u8 i_btnFlag) { + mUseButtonFlags |= i_btnFlag; + return mItemButton & i_btnFlag; } BOOL daAlink_c::itemButton() { @@ -8832,11 +9273,11 @@ BOOL daAlink_c::midnaTalkTrigger() const { } BOOL daAlink_c::swordSwingTrigger() { - return itemTriggerCheck(BTN_B); + return swordTrigger(); } -void daAlink_c::setItemActionButtonStatus(u8 param_0) { - setRStatusEmphasys(param_0); +void daAlink_c::setItemActionButtonStatus(u8 i_status) { + setRStatusEmphasys(i_status); } BOOL daAlink_c::itemActionTrigger() { @@ -8850,21 +9291,26 @@ void daAlink_c::setStickData() { mItemButton = 0; mHeavySpeedMultiplier = 1.0f; - if (checkEventRun() && mProcID != PROC_GRASS_WHISTLE_WAIT && mProcID != PROC_WOLF_DIG_THROUGH && - mProcID != PROC_GOAT_CATCH && mProcID != PROC_WOLF_GANON_CATCH && - mProcID != PROC_TOOL_DEMO && (mProcID != PROC_METAMORPHOSE || mFallVoiceInit == 0)) + if (checkEventRun() + && mProcID != PROC_GRASS_WHISTLE_WAIT + && mProcID != PROC_WOLF_DIG_THROUGH + && mProcID != PROC_GOAT_CATCH + && mProcID != PROC_WOLF_GANON_CATCH + && mProcID != PROC_TOOL_DEMO + && (mProcID != PROC_METAMORPHOSE || mFallVoiceInit == 0) + ) { u32 demoMode = mDemo.getDemoMode(); - if (checkDemoMoveMode(demoMode)) { - if (dDemo_c::m_object->getActor(demoActorID) != NULL) { - field_0x33a8 = 1.0f; + if (checkDemoMoveMode(mDemo.getDemoMode())) { + if (dDemo_c::getActor(demoActorID) != NULL) { + mStickValue = 1.0f; } else { - field_0x33a8 = mDemo.getStick(); + mStickValue = mDemo.getStick(); } - } else if (demoMode == 14 || demoMode == 0x1A || demoMode == 0x41) { - if (demoMode == 0x1A) { - field_0x33a8 = mDemo.getStick(); + } else if (demoMode == daPy_demo_c::DEMO_UNK_14_e || demoMode == daPy_demo_c::DEMO_UNK_26_e || demoMode == daPy_demo_c::DEMO_UNK_65_e) { + if (demoMode == daPy_demo_c::DEMO_UNK_26_e) { + mStickValue = mDemo.getStick(); mDemo.setMoveAngle(getSceneExitMoveAngle()); if (checkHorseRide()) { @@ -8872,52 +9318,47 @@ void daAlink_c::setStickData() { dComIfGp_getHorseActor()->changeDemoMoveAngle(angle); } } else { - field_0x33a8 = 0.0f; + mStickValue = 0.0f; } mItemButton = field_0x2f8f; } else { - field_0x33a8 = 0.0f; + mStickValue = 0.0f; } - field_0x2fe2 = mDemo.getMoveAngle(); - field_0x33ac = field_0x33a8; + mMoveAngle = mDemo.getMoveAngle(); + mMoveValue = mStickValue; } else if (checkDeadHP() || dMeter2Info_getPauseStatus() == 1) { - field_0x33a8 = 0.0f; - field_0x33ac = 0.0f; + mStickValue = 0.0f; + mMoveValue = 0.0f; mStickAngle = 0; - field_0x2fe2 = 0; + mMoveAngle = 0; } else if (checkMidnaLockJumpPoint() && getMidnaActor()->checkNoInput()) { - field_0x33a8 = 0.0f; - field_0x33ac = 0.0f; + mStickValue = 0.0f; + mMoveValue = 0.0f; mStickAngle = 0; dComIfGp_2dShowOff(); onNoResetFlg2(FLG2_UNK_80); - var_r31 = 1; + var_r31 = TRUE; field_0x2fe4 = shape_angle.y; } else { - if (!(field_0x33ac > 0.05f)) { + if (!checkInputOnR()) { field_0x2fb9 = 0; } - bool usingFishRod = false; - if (checkFishingRodAndLureItem() && mItemAcKeep.getActor() != NULL && - (checkCanoeRide() || mProcID == PROC_FISHING_CAST)) - { - usingFishRod = true; - } + BOOL usingFishRod = checkFishingRodAndLureItem() + && mItemAcKeep.getActor() != NULL + && (checkCanoeRide() || mProcID == PROC_FISHING_CAST); if (usingFishRod) { dmg_rod_class* mg_rod = (dmg_rod_class*)mItemAcKeep.getActor(); - f32 stick_x = mg_rod->getRodStickX() * mg_rod->getRodStickX(); - f32 stick_y = mg_rod->getRodStickY() * mg_rod->getRodStickY(); - field_0x33a8 = JMAFastSqrt(stick_x + stick_y); + mStickValue = JMAFastSqrt(SQUARE(mg_rod->getRodStickX()) + SQUARE(mg_rod->getRodStickY())); mStickAngle = cM_atan2s(-mg_rod->getRodStickX(), mg_rod->getRodStickY()); } else { - field_0x33a8 = mDoCPd_c::getStickValue(PAD_1); + mStickValue = mDoCPd_c::getStickValue(PAD_1); mStickAngle = mDoCPd_c::getStickAngle3D(PAD_1) - -0x8000; } - field_0x33ac = field_0x33a8; - field_0x2fe2 = mStickAngle + dCam_getControledAngleY(dComIfGp_getCamera(field_0x317c)); + mMoveValue = mStickValue; + mMoveAngle = mStickAngle + dCam_getControledAngleY(dComIfGp_getCamera(field_0x317c)); if (checkMagneBootsOn()) { if (field_0x2fb9 == 1 || @@ -8931,9 +9372,9 @@ void daAlink_c::setStickData() { if ((field_0x2fb9 == 1 && (field_0x3114 > 0x6000 || field_0x3114 == -0x8000)) || (field_0x2fb9 == 2 && field_0x3114 != -0x8000 && field_0x3114 < 0x4000)) { - field_0x2fe2 = getMagneBootsLocalAngleY(field_0x2fe2, 0) + 0x8000; + mMoveAngle = getMagneBootsLocalAngleY(mMoveAngle, 0) + 0x8000; } else { - field_0x2fe2 = getMagneBootsLocalAngleY(field_0x2fe2, field_0x2fb9); + mMoveAngle = getMagneBootsLocalAngleY(mMoveAngle, field_0x2fb9); } } else { field_0x2fb9 = 1; @@ -8983,27 +9424,27 @@ void daAlink_c::setStickData() { mItemButton |= BTN_R; } - if (checkHeavyStateOn(1, 1) && - (!checkBootsOrArmorHeavy() || !checkNoResetFlg0(FLG0_UNDERWATER))) + if (checkHeavyStateOn(TRUE, TRUE) && + (!checkBootsOrArmorHeavy() || !checkNoResetFlg0(FLG0_WATER_IN_MOVE))) { - if (checkWolf() && checkHeavyStateOn(1, 0) && mSinkShapeOffset < -30.0f) { + if (checkWolf() && checkHeavyStateOn(TRUE, FALSE) && mSinkShapeOffset < -30.0f) { mHeavySpeedMultiplier = mpHIO->mItem.mIronBoots.m.mInputFactor * 0.7f; } else { mHeavySpeedMultiplier = mpHIO->mItem.mIronBoots.m.mInputFactor; } - field_0x33a8 *= mHeavySpeedMultiplier; + mStickValue *= mHeavySpeedMultiplier; } else if (checkBootsOrArmorHeavy()) { if (checkZoraWearAbility()) { mHeavySpeedMultiplier = mpHIO->mItem.mIronBoots.m.mZoraWaterInputFactor; } else { mHeavySpeedMultiplier = mpHIO->mItem.mIronBoots.m.mWaterInputFactor; } - field_0x33a8 *= mHeavySpeedMultiplier; + mStickValue *= mHeavySpeedMultiplier; } else if ((checkWolf() && field_0x2fbc == 11 && checkWaterPolygonUnder()) || - field_0x2fbb == 11) + mGndPolyAtt0 == 11) { - onNoResetFlg0(FLG0_UNK_40000000); - field_0x33a8 *= mpHIO->mWolf.m.mUnderwaterInputRate; + onNoResetFlg0(FLG0_HEAVY_STATE); + mStickValue *= mpHIO->mWolf.m.mUnderwaterInputRate; mHeavySpeedMultiplier = mpHIO->mWolf.m.mUnderwaterInputRate; } } @@ -9076,7 +9517,7 @@ void daAlink_c::setAtnList() { if (mAttList != NULL && mAttention->LockonTruth()) { mTargetedActor = mAttList->getActor(); field_0x27f4 = mTargetedActor; - onResetFlg0(RFLG0_UNK_10000); + onResetFlg0(RFLG0_ATTENTION_LOCK); if (checkEnemyGroup(mTargetedActor)) { onResetFlg0(RFLG0_ENEMY_ATTN_LOCK); @@ -9108,7 +9549,7 @@ void daAlink_c::setAtnList() { u8 var_r30; if (mTargetedActor != NULL) { - if (fopAcM_GetGroup(mTargetedActor) == 2) { + if (fopAcM_GetGroup(mTargetedActor) == fopAc_ENEMY_e) { var_r30 = 3; } else { var_r30 = 2; @@ -9126,37 +9567,44 @@ void daAlink_c::setAtnList() { mZ2Link.setMarkState(var_r30); } -void daAlink_c::setRStatus(u8 status) { - dComIfGp_setRStatus(status, 0); +void daAlink_c::setRStatus(u8 i_status) { + dComIfGp_setRStatus(i_status, BUTTON_STATUS_FLAG_NONE); } -void daAlink_c::setRStatusEmphasys(u8 status) { - dComIfGp_setRStatus(status, 2); +void daAlink_c::setRStatusEmphasys(u8 i_status) { + dComIfGp_setRStatus(i_status, BUTTON_STATUS_FLAG_EMPHASIS); } -void daAlink_c::setDoStatus(u8 status) { - dComIfGp_setDoStatus(status, 0); +void daAlink_c::setDoStatus(u8 i_status) { + dComIfGp_setDoStatus(i_status, BUTTON_STATUS_FLAG_NONE); } -void daAlink_c::setDoStatusEmphasys(u8 status) { - dComIfGp_setDoStatus(status, 2); +void daAlink_c::setDoStatusEmphasys(u8 i_status) { + dComIfGp_setDoStatus(i_status, BUTTON_STATUS_FLAG_EMPHASIS); } -void daAlink_c::setDoStatusContinuation(u8 status) { - dComIfGp_setDoStatus(status, 4); +void daAlink_c::setDoStatusContinuation(u8 i_status) { + dComIfGp_setDoStatus(i_status, BUTTON_STATUS_FLAG_CONTINUATION); } -void daAlink_c::setBStatus(u8 status) { - dComIfGp_setAStatus(status, 0); +void daAlink_c::setBStatus(u8 i_status) { + dComIfGp_setAStatus(i_status, BUTTON_STATUS_FLAG_NONE); } BOOL daAlink_c::checkAtnWaitAnime() { - if ((mTargetedActor != NULL && - (checkEnemyGroup(mTargetedActor) || checkGoatCatchActor(mTargetedActor) || - fopAcM_GetName(mTargetedActor) == PROC_CROD || - fopAcM_GetName(mTargetedActor) == PROC_BOOMERANG)) || - (checkGrabAnimeUp() || checkGrabAnimeSide() || mDemo.getDemoMode() == 0x17 || - checkGoatStopGame())) + if ((mTargetedActor != NULL + && (checkEnemyGroup(mTargetedActor) + || checkGoatCatchActor(mTargetedActor) + || fopAcM_GetName(mTargetedActor) == PROC_CROD + || fopAcM_GetName(mTargetedActor) == PROC_BOOMERANG + ) + ) + || (checkGrabAnimeUp() + || checkGrabAnimeSide() + || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_23_e + || checkGoatStopGame() + ) + ) { return true; } @@ -9175,9 +9623,12 @@ void daAlink_c::setTiredVoice(daPy_frameCtrl_c* i_frameCtrl) { } BOOL daAlink_c::checkRestHPAnime() { - if (!checkPlayerGuard() && (checkNoUpperAnime() || checkHorseTiredAnime()) && - mTargetedActor == NULL && !checkWindSpeedOnAngle() && - ((!checkPlayerDemoMode() && dComIfGs_getLife() <= 4) || mDemo.getDemoMode() == 0x12)) + if (!checkPlayerGuard() + && (checkNoUpperAnime() || checkHorseTiredAnime()) + && mTargetedActor == NULL + && !checkWindSpeedOnAngle() + && ((!checkPlayerDemoMode() && dComIfGs_getLife() <= 4) || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_18_e) + ) { return true; } @@ -9185,16 +9636,16 @@ BOOL daAlink_c::checkRestHPAnime() { return false; } -int daAlink_c::getDirectionFromAngle(s16 angle) { - if (abs(angle) > 0x6000) { +int daAlink_c::getDirectionFromAngle(s16 i_angle) { + if (abs(i_angle) > 0x6000) { return DIR_BACKWARD; } - if (angle >= 0x2000) { + if (i_angle >= 0x2000) { return DIR_LEFT; } - if (angle <= -0x2000) { + if (i_angle <= -0x2000) { return DIR_RIGHT; } @@ -9202,10 +9653,10 @@ int daAlink_c::getDirectionFromAngle(s16 angle) { } bool daAlink_c::checkAttentionState() { - return (checkAttentionLock() || checkFmChainGrabAnime()) || - (mTargetedActor != NULL && (mTargetedActor == mThrowBoomerangAcKeep.getActor() || mTargetedActor == mCopyRodAcKeep.getActor())) || - (checkUpperReadyThrowAnime() && mEquipItem != 0x102) || - mDemo.getDemoMode() == 0x17; + return (checkAttentionLock() || checkFmChainGrabAnime()) + || (mTargetedActor != NULL && (mTargetedActor == mThrowBoomerangAcKeep.getActor() || mTargetedActor == mCopyRodAcKeep.getActor())) + || (checkUpperReadyThrowAnime() && mEquipItem != 0x102) + || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_23_e; } s16 daAlink_c::getShapeAngleYAtnActor() { @@ -9240,7 +9691,7 @@ s16 daAlink_c::getShapeAngleYAtnActor() { return var_r29; } -bool daAlink_c::setShapeAngleToAtnActor(int param_0) { +bool daAlink_c::setShapeAngleToAtnActor(BOOL param_0) { if (mTargetedActor != NULL) { if ((mTargetedActor == mThrowBoomerangAcKeep.getActor() && (checkBoomerangThrowAnime() || !checkInputOnR())) || (mTargetedActor == mCopyRodAcKeep.getActor() && (checkCopyRodThrowAnime() || !checkInputOnR()))) @@ -9271,32 +9722,49 @@ void daAlink_c::initServiceWaitTime() { } bool daAlink_c::checkZeroSpeedF() const { - return fabsf(mNormalSpeed) < 0.0010000000474974513f; + return fabsf(mNormalSpeed) < 0.001f; } -void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) { - f32 var_f31; +void daAlink_c::setNormalSpeedF(f32 i_speed, f32 i_deceleration) { + f32 max_speed; if (getSumouMode()) { - var_f31 = field_0x33ac * (field_0x594 * field_0x33ac); + max_speed = mMoveValue * (mMaxSpeed * mMoveValue); } else { - var_f31 = field_0x33a8 * (field_0x594 * field_0x33a8); + max_speed = mStickValue * (mMaxSpeed * mStickValue); } if (checkWolfSwimDashAnime() || checkUnderMove0BckNoArc(ANM_SWIM_DASH) || getZoraSwim()) { - var_f31 = field_0x594; + max_speed = mMaxSpeed; } - if ((checkUpperReadyThrowAnime() && mLinkAcch.ChkGroundHit() && field_0x2f8c == 1) || ((checkRoomOnly() || checkCopyRodControllAnime() || checkGrabSlowMoveActor() || (checkUpperGuardAnime() && field_0x2f8c == 1) || (field_0x2fbd == 4 && mSinkShapeOffset < -15.0f)) && (mProcID == PROC_MOVE || mProcID == PROC_ATN_MOVE || mProcID == PROC_ATN_ACTOR_MOVE || mProcID == PROC_WOLF_MOVE || mProcID == PROC_WOLF_ATN_AC_MOVE || mProcID == PROC_MOVE_TURN))) { - f32 temp_f30 = field_0x594 * mpHIO->mBasic.m.mIndoorSpeedFactor; - if (var_f31 > temp_f30) { - var_f31 = temp_f30; + f32 temp_f30; + if ((checkUpperReadyThrowAnime() && mLinkAcch.ChkGroundHit() && field_0x2f8c == 1) + || ((checkRoomOnly() + || checkCopyRodControllAnime() + || checkGrabSlowMoveActor() + || (checkUpperGuardAnime() && field_0x2f8c == 1) + || (mGndPolyAtt1 == 4 && mSinkShapeOffset < -15.0f) + ) + && (mProcID == PROC_MOVE + || mProcID == PROC_ATN_MOVE + || mProcID == PROC_ATN_ACTOR_MOVE + || mProcID == PROC_WOLF_MOVE + || mProcID == PROC_WOLF_ATN_AC_MOVE + || mProcID == PROC_MOVE_TURN + ) + ) + ) + { + temp_f30 = mMaxSpeed * mpHIO->mBasic.m.mIndoorSpeedFactor; + if (max_speed > temp_f30) { + max_speed = temp_f30; } } - if (field_0x2fbd == 3 && mSinkShapeOffset < -15.0f) { - f32 temp_f30_2 = 0.5f * field_0x594; - if (var_f31 > temp_f30_2) { - var_f31 = temp_f30_2; + if (mGndPolyAtt1 == 3 && mSinkShapeOffset < -15.0f) { + temp_f30 = 0.5f * mMaxSpeed; + if (max_speed > temp_f30) { + max_speed = temp_f30; } } @@ -9309,27 +9777,34 @@ void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) { } f32 sp14 = cLib_minMaxLimit((mWaterY - (30.0f + current.pos.y)) / (sp18 - 30.0f), 0.0f, 1.0f); - f32 temp_f30_3 = field_0x594 * (1.0f - (0.5f * sp14)); - if (var_f31 > temp_f30_3) { - var_f31 = temp_f30_3; + temp_f30 = mMaxSpeed * (1.0f - (0.5f * sp14)); + if (max_speed > temp_f30) { + max_speed = temp_f30; } } cM3dGPla slide_poly; - if ((mDemo.getDemoMode() == 0xE && mDemo.getParam1() == 0) || mDemo.getDemoMode() == 0x41 || getSlidePolygon(&slide_poly)) { + if ((mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_14_e && mDemo.getParam1() == 0) + || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_65_e + || getSlidePolygon(&slide_poly) + ) + { return; } s16 var_r29 = (current.angle.y + 0x8000) - field_0x30fa; - if ((mLinkAcch.ChkWallHit() || fabsf(field_0x342c) > 1.0f || fabsf(field_0x3430) > 1.0f || (field_0x30fc != 0 && abs(var_r29) < 0x4000)) && !checkMagneBootsOn() && (!getZoraSwim() || abs(field_0x3080) <= 0x2000)) { + if ((mLinkAcch.ChkWallHit() || fabsf(field_0x342c) > 1.0f || fabsf(field_0x3430) > 1.0f || (field_0x30fc != 0 && abs(var_r29) < 0x4000)) + && !checkMagneBootsOn() + && (!getZoraSwim() || abs(field_0x3080) <= 0x2000) + ) + { dBgS_AcchCir* acch_cir = mAcchCir; if (mLinkAcch.ChkWallHit()) { - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 3; i++, acch_cir++) { if (acch_cir->ChkWallHit()) { var_r29 = (current.angle.y + 0x8000) - acch_cir->GetWallAngleY(); break; } - acch_cir++; } } else if (fabsf(field_0x342c) > 1.0f || fabsf(field_0x3430) > 1.0f) { field_0x30fc = 3; @@ -9341,9 +9816,9 @@ void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) { int temp_r3 = abs(var_r29); if (temp_r3 < 0x400) { - var_f31 = 0.0f; + max_speed = 0.0f; } else if (temp_r3 < 0x4000) { - var_f31 *= 1.0f - cM_scos(var_r29); + max_speed *= 1.0f - cM_scos(var_r29); } } @@ -9353,11 +9828,11 @@ void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) { int temp_r3_2 = abs(temp_r29); if (temp_r3_2 < 0x4000) { if (checkModeFlg(0x40000)) { - var_f31 *= 1.0f - (0.8f * cM_scos(temp_r29)); + max_speed *= 1.0f - (0.8f * cM_scos(temp_r29)); } else if (temp_r3_2 < 0x600) { - var_f31 = 0.0f; + max_speed = 0.0f; } else { - var_f31 *= 1.0f - cM_scos(temp_r29); + max_speed *= 1.0f - cM_scos(temp_r29); } if (!checkWolf() && !checkMagneBootsOn()) { @@ -9368,20 +9843,20 @@ void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) { f32 move_speed; f32 target_speed; - if (var_f31 < mNormalSpeed || 0.0f == var_f31) { - f32 temp_f29 = mNormalSpeed - var_f31; - move_speed = temp_f29 > param_1 ? param_1 : temp_f29; - i_incSpeed = 0.0f; - target_speed = var_f31; + if (max_speed < mNormalSpeed || 0.0f == max_speed) { + move_speed = mNormalSpeed - max_speed; + move_speed = move_speed > i_deceleration ? i_deceleration : move_speed; + i_speed = 0.0f; + target_speed = max_speed; } else { - move_speed = param_1; + move_speed = i_deceleration; target_speed = 0.0f; } - if (!cM3d_IsZero(i_incSpeed)) { - mNormalSpeed += i_incSpeed; - if (mNormalSpeed > var_f31) { - mNormalSpeed = var_f31; + if (!cM3d_IsZero(i_speed)) { + mNormalSpeed += i_speed; + if (mNormalSpeed > max_speed) { + mNormalSpeed = max_speed; } } else { cLib_chaseF(&mNormalSpeed, target_speed, move_speed); @@ -9392,9 +9867,9 @@ f32 daAlink_c::getStickAngleDistanceRate() { f32 rate; if (abs((s16)(mPrevStickAngle - mStickAngle)) > 0x1000) { - rate = cM_scos(field_0x2fe2 - current.angle.y); + rate = cM_scos(mMoveAngle - current.angle.y); - if (mNormalSpeed > 0.5f * field_0x594) { + if (mNormalSpeed > 0.5f * mMaxSpeed) { if (rate < 0.69999999f) { rate = 0.69999999f; } @@ -9413,13 +9888,12 @@ void daAlink_c::setSpeedAndAngleNormal() { if ((mLinkAcch.ChkWallHit() || field_0x30fc != 0) && !checkMagneBootsOn()) { if (mLinkAcch.ChkWallHit()) { - dBgS_AcchCir* var_r29 = mAcchCir; - for (int i = 0; i < 3; i++) { - if (var_r29->ChkWallHit()) { - abs((s16)((current.angle.y + 0x8000) - var_r29->GetWallAngleY())); + dBgS_AcchCir* acchCir = mAcchCir; + for (int i = 0; i < 3; i++, acchCir++) { + if (acchCir->ChkWallHit()) { + abs((s16)((current.angle.y + 0x8000) - acchCir->GetWallAngleY())); break; } - var_r29++; } } @@ -9434,79 +9908,79 @@ void daAlink_c::setSpeedAndAngleNormal() { var_r26 = true; } - f32 var_f31; + f32 speed; if (checkInputOnR()) { BOOL var_r24 = false; - f32 temp_f30 = field_0x33ac * field_0x33ac; + f32 temp_f30 = mMoveValue * mMoveValue; - if (!checkAttentionLock() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800 && mProcID != PROC_MOVE_TURN) { + if (!checkAttentionLock() && cLib_distanceAngleS(mMoveAngle, current.angle.y) > 0x7800 && mProcID != PROC_MOVE_TURN) { if (checkModeFlg(1) || speedF < 0.001f) { return; } if (mProcID == PROC_MOVE) { - if ((speedF / field_0x594) > mpHIO->mMove.m.mSlideThresholdSpeed) { + if ((speedF / mMaxSpeed) > mpHIO->mMove.m.mSlideThresholdSpeed) { if (getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) { return; } } - if ((speedF / field_0x594) <= mpHIO->mMove.m.mSlideThresholdSpeed) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); + if ((speedF / mMaxSpeed) <= mpHIO->mMove.m.mSlideThresholdSpeed) { + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); return; } var_r24 = true; } else { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); } } else { - s16 var_r28; - s16 var_r27; + s16 maxStep; + s16 minStep; if (checkEventRun()) { - var_r28 = mpHIO->mMove.m.mMaxTurnAngle; - var_r27 = mpHIO->mMove.m.mMinTurnAngle; + maxStep = mpHIO->mMove.m.mMaxTurnAngle; + minStep = mpHIO->mMove.m.mMinTurnAngle; } else { - var_r28 = mpHIO->mMove.m.mMaxTurnAngle * temp_f30; - if (var_r28 < 10) { - var_r28 = 10; + maxStep = mpHIO->mMove.m.mMaxTurnAngle * temp_f30; + if (maxStep < 10) { + maxStep = 10; } - var_r27 = mpHIO->mMove.m.mMinTurnAngle * temp_f30; - if (var_r27 < 1) { - var_r27 = 1; + minStep = mpHIO->mMove.m.mMinTurnAngle * temp_f30; + if (minStep < 1) { + minStep = 1; } } - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, var_r28, var_r27); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mMove.m.mTurnAngleRate, maxStep, minStep); } if (!var_r24) { f32 temp_f28 = getStickAngleDistanceRate(); if (checkEventRun()) { - var_f31 = temp_f28 * (mpHIO->mMove.m.mAcceleration * field_0x33a8); + speed = temp_f28 * (mpHIO->mMove.m.mAcceleration * mStickValue); } else { - f32 var_f29 = 0.3f * (1.0f - fabsf(mNormalSpeed / field_0x594)); - if (checkHeavyStateOn(1, 1)) { + f32 var_f29 = 0.3f * (1.0f - fabsf(mNormalSpeed / mMaxSpeed)); + if (checkHeavyStateOn(TRUE, TRUE)) { var_f29 *= mHeavySpeedMultiplier; } - if (field_0x33a8 > var_f29) { - var_f31 = temp_f28 * (mpHIO->mMove.m.mAcceleration * temp_f30); + if (mStickValue > var_f29) { + speed = temp_f28 * (mpHIO->mMove.m.mAcceleration * temp_f30); } else { - var_f31 = 0.0f; + speed = 0.0f; } } } else { - var_f31 = 0.0f; + speed = 0.0f; } } else { - var_f31 = 0.0f; + speed = 0.0f; } if (!checkAttentionLock() && mProcID != PROC_MOVE_TURN && checkInputOnR()) { s16 sp8 = shape_angle.y; - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle * 2, mpHIO->mMove.m.mMinTurnAngle * 2); + cLib_addCalcAngleS(&shape_angle.y, mMoveAngle, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle * 2, mpHIO->mMove.m.mMinTurnAngle * 2); int temp_r23 = (s16)(sp8 - current.angle.y) * (s16)(shape_angle.y - current.angle.y); if (temp_r23 <= 0 && temp_r23 >= -0x1000000) { @@ -9514,14 +9988,14 @@ void daAlink_c::setSpeedAndAngleNormal() { } } - setNormalSpeedF(var_f31, mpHIO->mMove.m.mDeceleration); + setNormalSpeedF(speed, mpHIO->mMove.m.mDeceleration); } void daAlink_c::setSpeedAndAngleAtn() { int var_r29 = field_0x2f98; if (checkInputOnR()) { - s16 temp_r0 = field_0x2fe2 - shape_angle.y; + s16 temp_r0 = mMoveAngle - shape_angle.y; f32 temp_f27 = cM_ssin(temp_r0); f32 temp_f29 = cM_scos(temp_r0); @@ -9540,25 +10014,25 @@ void daAlink_c::setSpeedAndAngleAtn() { } } - s16 var_r27; - s16 var_r26; - s16 var_r25; + s16 angleRate; + s16 angleMaxStep; + s16 angleMinStep; - f32 var_f31; - f32 var_f30; - f32 var_f28; + f32 acceleration; + f32 deceleration; + f32 speed; if (mTargetedActor != NULL) { - var_r27 = mpHIO->mAtnMove.m.mTurnAngleRate; - var_r26 = mpHIO->mAtnMove.m.mMaxTurnAngle; - var_r25 = mpHIO->mAtnMove.m.mMinTurnAngle; + angleRate = mpHIO->mAtnMove.m.mTurnAngleRate; + angleMaxStep = mpHIO->mAtnMove.m.mMaxTurnAngle; + angleMinStep = mpHIO->mAtnMove.m.mMinTurnAngle; if (var_r29 == 1) { - var_f31 = mpHIO->mAtnMove.m.mBackAcceleration; - var_f30 = mpHIO->mAtnMove.m.mBackDeceleration; + acceleration = mpHIO->mAtnMove.m.mBackAcceleration; + deceleration = mpHIO->mAtnMove.m.mBackDeceleration; } else { - var_f31 = mpHIO->mAtnMove.m.mAcceleration; - var_f30 = mpHIO->mAtnMove.m.mDeceleration; + acceleration = mpHIO->mAtnMove.m.mAcceleration; + deceleration = mpHIO->mAtnMove.m.mDeceleration; } } else { if (var_r29 == 0) { @@ -9568,7 +10042,7 @@ void daAlink_c::setSpeedAndAngleAtn() { mNormalSpeed *= -1.0f; } if (checkZeroSpeedF()) { - current.angle.y = field_0x2fe2; + current.angle.y = mMoveAngle; } } @@ -9576,16 +10050,16 @@ void daAlink_c::setSpeedAndAngleAtn() { return; } - var_r27 = mpHIO->mNoActAtnMove.m.mTurnAngleRate; - var_r26 = mpHIO->mNoActAtnMove.m.mMaxTurnAngle; - var_r25 = mpHIO->mNoActAtnMove.m.mMinTurnAngle; + angleRate = mpHIO->mNoActAtnMove.m.mTurnAngleRate; + angleMaxStep = mpHIO->mNoActAtnMove.m.mMaxTurnAngle; + angleMinStep = mpHIO->mNoActAtnMove.m.mMinTurnAngle; if (var_r29 == 1) { - var_f31 = mpHIO->mNoActAtnMove.m.mBackAcceleration; - var_f30 = mpHIO->mNoActAtnMove.m.mBackDeceleration; + acceleration = mpHIO->mNoActAtnMove.m.mBackAcceleration; + deceleration = mpHIO->mNoActAtnMove.m.mBackDeceleration; } else { - var_f31 = mpHIO->mNoActAtnMove.m.mAcceleration; - var_f30 = mpHIO->mNoActAtnMove.m.mDeceleration; + acceleration = mpHIO->mNoActAtnMove.m.mAcceleration; + deceleration = mpHIO->mNoActAtnMove.m.mDeceleration; } } @@ -9595,27 +10069,27 @@ void daAlink_c::setSpeedAndAngleAtn() { mNormalSpeed *= -1.0f; } - s16 var_r28; + s16 targetAngle; if (checkUnderMove0BckNoArc(ANM_CHAIN_PULL_END)) { - var_r28 = getChainStickAngleY(shape_angle.y); + targetAngle = getChainStickAngleY(shape_angle.y); } else { - var_r28 = field_0x2fe2; + targetAngle = mMoveAngle; } if (checkZeroSpeedF()) { - current.angle.y = var_r28; + current.angle.y = targetAngle; } s16 temp_r23 = current.angle.y; - cLib_addCalcAngleS(¤t.angle.y, var_r28, var_r27, var_r26, var_r25); + cLib_addCalcAngleS(¤t.angle.y, targetAngle, angleRate, angleMaxStep, angleMinStep); - if (field_0x33a8 > (0.3f * (1.0f - fabsf(mNormalSpeed / field_0x594)))) { - var_f28 = var_f31 * field_0x33a8 * cM_scos((current.angle.y - temp_r23)); + if (mStickValue > (0.3f * (1.0f - fabsf(mNormalSpeed / mMaxSpeed)))) { + speed = acceleration * mStickValue * cM_scos((current.angle.y - temp_r23)); } else { - var_f28 = 0.0f; + speed = 0.0f; } } else { - var_f28 = 0.0f; + speed = 0.0f; } if (mTargetedActor != NULL) { @@ -9624,12 +10098,12 @@ void daAlink_c::setSpeedAndAngleAtn() { shape_angle.y = field_0x2fe4; } - setNormalSpeedF(var_f28, var_f30); + setNormalSpeedF(speed, deceleration); } -int daAlink_c::checkRequestTalkActor(dAttList_c* param_0, fopAc_ac_c* param_1) { - if (param_0 != NULL && - (param_0->mType == fopAc_attn_SPEAK_e || (param_0->mType == fopAc_attn_TALK_e && mTargetedActor == param_1))) +int daAlink_c::checkRequestTalkActor(dAttList_c* i_attList, fopAc_ac_c* i_actor) { + if (i_attList != NULL && + (i_attList->mType == fopAc_attn_SPEAK_e || (i_attList->mType == fopAc_attn_TALK_e && mTargetedActor == i_actor))) { return true; } @@ -9642,9 +10116,9 @@ bool daAlink_c::checkServiceWaitMode() { !checkEndResetFlg0(ERFLG0_BOSS_ROOM_WAIT) && checkNoUpperAnime() && !checkWindSpeedOnXZ() && - field_0x3126 == 0 && - field_0x3128 == 0 && - field_0x3124 == 0 && + field_0x3124.y == 0 && + field_0x3124.z == 0 && + field_0x3124.x == 0 && !checkFishingRodAndLureItem() && mSinkShapeOffset >= -30.0f; } @@ -9675,21 +10149,22 @@ void daAlink_c::setMidnaMsg() { } BOOL daAlink_c::notTalk() { - BOOL safe_poly; + BOOL isSafePoly; if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && dBgS_CheckBGroundPoly(mLinkAcch.m_gnd)) { - safe_poly = true; + isSafePoly = true; } else { - safe_poly = false; + isSafePoly = false; } - if ((mMidnaTalkDelayTimer != 0 || - (checkMagneBootsOn() && !cBgW_CheckBGround(mMagneBootsTopVec.y))) || - !checkModeFlg(MODE_SWIMMING | MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | - MODE_RIDING | MODE_NO_COLLISION | MODE_CLIMB | MODE_JUMP) && - !safe_poly) + if ((mMidnaTalkDelayTimer != 0 || (checkMagneBootsOn() && !cBgW_CheckBGround(mMagneBootsTopVec.y))) + || (!checkModeFlg(MODE_SWIMMING | MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_RIDING | MODE_NO_COLLISION | MODE_CLIMB | MODE_JUMP) + && !isSafePoly + ) + ) { return true; } + return false; } @@ -9700,26 +10175,26 @@ BOOL daAlink_c::setTalkStatus() { if (checkRequestTalkActor(mAttList, field_0x27f4)) { if (notTalk()) { - setDoStatus(0x90); + setDoStatus(BUTTON_STATUS_UNK_144); } else { if (field_0x27f4->attention_info.flags & fopAc_AttnFlag_NOTALK_e) { return 0; } if (field_0x27f4->attention_info.flags & fopAc_AttnFlag_UNK_0x800000) { - setDoStatus(0x3B); + setDoStatus(BUTTON_STATUS_LISTEN); } else if (field_0x27f4->attention_info.flags & fopAc_AttnFlag_TALKCHECK_e) { if (fopAcM_GetName(field_0x27f4) == PROC_OBJ_SSDRINK) { - setDoStatus(0x3C); + setDoStatus(BUTTON_STATUS_DRINK); } else { - setDoStatus(8); + setDoStatus(BUTTON_STATUS_CHECK); } } else if (field_0x27f4->attention_info.flags & fopAc_AttnFlag_TALKREAD_e) { - setDoStatus(0x80); + setDoStatus(BUTTON_STATUS_UNK_128); } else if (field_0x27f4->attention_info.flags & fopAc_AttnFlag_UNK_0x8000000) { - setDoStatus(0x1B); + setDoStatus(BUTTON_STATUS_LOOK); } else { - setDoStatus(0x1C); + setDoStatus(BUTTON_STATUS_SPEAK); } } @@ -9730,7 +10205,7 @@ BOOL daAlink_c::setTalkStatus() { } f32 daAlink_c::getFrontRollRate() { - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { return 0.75f * mHeavySpeedMultiplier; } else { return 0.75f; @@ -9738,62 +10213,66 @@ f32 daAlink_c::getFrontRollRate() { } void daAlink_c::decideCommonDoStatus() { - if (!checkFmChainGrabAnime() && dComIfGp_getDoStatus() == 0) { - bool temp_r3 = checkStageName("R_SP127"); + if (!checkFmChainGrabAnime() && dComIfGp_getDoStatus() == BUTTON_STATUS_NONE) { + bool isFshopStage = checkStageName("R_SP127"); - if (checkRoomOnly() && !checkWolf() && !temp_r3) { + if (checkRoomOnly() && !checkWolf() && !isFshopStage) { if ((checkNoUpperAnime() || checkIronBallWaitAnime()) && (mEquipItem != fpcNm_ITEM_NONE && checkModeFlg(4) && mEquipItem != 0x102)) { if (checkCopyRodControllAnime()) { - setDoStatus(0x2A); + setDoStatus(BUTTON_STATUS_QUIT); } else { - setDoStatus(4); + setDoStatus(BUTTON_STATUS_PUT_AWAY); } } else if (mFastShotTime != 0) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } } else if (checkWolf()) { if (checkDownAttackState()) { - setDoStatusEmphasys(0x30); + setDoStatusEmphasys(BUTTON_STATUS_FINISH); } else if (checkCutHeadState()) { - setDoStatusEmphasys(0x77); + setDoStatusEmphasys(BUTTON_STATUS_HELM_SPLITTER); } else if (checkWolfSideStep()) { - setDoStatusEmphasys(0x19); + setDoStatusEmphasys(BUTTON_STATUS_JUMP); } else { if (mTargetedActor != NULL) { if (fopAcM_GetName(mTargetedActor) == PROC_Tag_Wljump) { if (static_cast(mTargetedActor)->getLockPos() != NULL) { if (!getMidnaActor()->checkNoInput()) { - setDoStatus(0x93); + setDoStatus(BUTTON_STATUS_UNK_147); } - onResetFlg0(RFLG0_UNK_20000); - field_0x3738 = - *static_cast(mTargetedActor)->getLockPos(); + onResetFlg0(RFLG0_WOLF_TAG_LOCK_JUMP_READY); + field_0x3738 = *static_cast(mTargetedActor)->getLockPos(); } } else { - setDoStatus(0x8B); + setDoStatus(BUTTON_STATUS_UNK_139); } } else if (checkAttentionLock()) { - setDoStatus(0x8B); + setDoStatus(BUTTON_STATUS_UNK_139); } else if (field_0x30d2 == 0 && - (field_0x33a8 > getFrontRollRate() || checkAttentionLock())) + (mStickValue > getFrontRollRate() || checkAttentionLock())) { - setDoStatus(9); + setDoStatus(BUTTON_STATUS_DASH); } } if (checkNotJumpSinkLimit() && - (dComIfGp_getDoStatus() == 0x8B || dComIfGp_getDoStatus() == 0x30 || - dComIfGp_getDoStatus() == 0x77 || dComIfGp_getDoStatus() == 0x19 || - dComIfGp_getDoStatus() == 9 || dComIfGp_getDoStatus() == 0x93)) + (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_139 + || dComIfGp_getDoStatus() == BUTTON_STATUS_FINISH + || dComIfGp_getDoStatus() == BUTTON_STATUS_HELM_SPLITTER + || dComIfGp_getDoStatus() == BUTTON_STATUS_JUMP + || dComIfGp_getDoStatus() == BUTTON_STATUS_DASH + || dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_147 + ) + ) { - setDoStatus(0); + setDoStatus(BUTTON_STATUS_NONE); } } else { int direction = getDirectionFromShapeAngle(); - f32 temp_f31 = getFrontRollRate(); + f32 frontRollRate = getFrontRollRate(); if (checkAttentionLock() || (mTargetedActor != NULL && (mTargetedActor == mThrowBoomerangAcKeep.getActor() || @@ -9801,73 +10280,78 @@ void daAlink_c::decideCommonDoStatus() { { if (checkInputOnR() && direction != DIR_FORWARD) { if (mEquipItem == 0x103 && checkDownAttackState()) { - setDoStatusEmphasys(0x30); + setDoStatusEmphasys(BUTTON_STATUS_FINISH); } else if (mEquipItem == 0x103 && checkCutHeadState()) { - setDoStatusEmphasys(0x77); + setDoStatusEmphasys(BUTTON_STATUS_HELM_SPLITTER); } else { - setDoStatusEmphasys(0x19); + setDoStatusEmphasys(BUTTON_STATUS_JUMP); } - } else if (!checkSmallUpperGuardAnime() && - (mEquipItem == 0x103 || mEquipItem == 0x102)) - { + } else if (!checkSmallUpperGuardAnime() && (mEquipItem == 0x103 || mEquipItem == 0x102)) { if (mEquipItem == 0x102) { - setDoStatus(0x13); + setDoStatus(BUTTON_STATUS_THROW); } else if (mEquipItem == 0x103 && checkDownAttackState()) { - setDoStatusEmphasys(0x30); + setDoStatusEmphasys(BUTTON_STATUS_FINISH); } else if (mEquipItem == 0x103 && checkCutHeadState()) { - setDoStatusEmphasys(0x77); + setDoStatusEmphasys(BUTTON_STATUS_HELM_SPLITTER); } else { - setDoStatus(0x86); + setDoStatus(BUTTON_STATUS_UNK_134); } } else { - setDoStatus(0x79); + setDoStatus(BUTTON_STATUS_UNK_121); } } else if (((checkNoUpperAnime()) || checkIronBallWaitAnime() || checkCopyRodControllAnime()) && - mEquipItem != fpcNm_ITEM_NONE && checkModeFlg(4) && field_0x33a8 <= temp_f31) + mEquipItem != fpcNm_ITEM_NONE && checkModeFlg(4) && mStickValue <= frontRollRate) { if (mEquipItem == 0x102) { if (checkAttentionState()) { - setDoStatus(0x13); + setDoStatus(BUTTON_STATUS_THROW); } else { - setDoStatus(0x14); + setDoStatus(BUTTON_STATUS_PLACE); } } else { - setDoStatus(4); + setDoStatus(BUTTON_STATUS_PUT_AWAY); } - } else if (field_0x33a8 > temp_f31) { + } else if (mStickValue > frontRollRate) { if (mEquipItem == 0x102) { - setDoStatus(0x13); + setDoStatus(BUTTON_STATUS_THROW); } else { - setDoStatus(0x79); + setDoStatus(BUTTON_STATUS_UNK_121); } } else if (mFastShotTime != 0) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } - if ((((checkMagneBootsOn() || checkIronBallWaitAnime() || checkNotJumpSinkLimit()) && - (dComIfGp_getDoStatus() == 0x79 || dComIfGp_getDoStatus() == 0x86 || - dComIfGp_getDoStatus() == 0x30 || dComIfGp_getDoStatus() == 0x77 || - dComIfGp_getDoStatus() == 0x19)) || - (dComIfGp_getDoStatus() == 0x79 && - (checkKandelaarSwingAnime() || mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || checkCopyRodThrowAnime() || - checkBoomerangThrowAnime()))) && - (!checkMagneBootsOn() || dComIfGp_getDoStatus() != 0x79 || - !cBgW_CheckBGround(mMagneBootsTopVec.y))) + if ((((checkMagneBootsOn() || checkIronBallWaitAnime() || checkNotJumpSinkLimit()) + && (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_121 + || dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_134 + || dComIfGp_getDoStatus() == BUTTON_STATUS_FINISH + || dComIfGp_getDoStatus() == BUTTON_STATUS_HELM_SPLITTER + || dComIfGp_getDoStatus() == BUTTON_STATUS_JUMP + ) + ) || (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_121 + && (checkKandelaarSwingAnime() + || mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW + || checkCopyRodThrowAnime() + || checkBoomerangThrowAnime() + ) + ) + ) && (!checkMagneBootsOn() || dComIfGp_getDoStatus() != BUTTON_STATUS_UNK_121 || !cBgW_CheckBGround(mMagneBootsTopVec.y)) + ) { if (mEquipItem == 0x42 && checkModeFlg(4)) { - setDoStatus(4); + setDoStatus(BUTTON_STATUS_PUT_AWAY); } else { - setDoStatus(0); + setDoStatus(BUTTON_STATUS_NONE); } } - if (temp_r3 && dComIfGp_getDoStatus() == 0x19) { - setDoStatus(0); + if (isFshopStage && dComIfGp_getDoStatus() == BUTTON_STATUS_JUMP) { + setDoStatus(BUTTON_STATUS_NONE); } - if (dComIfGp_getDoStatus() == 4 && checkCopyRodControllAnime()) { - setDoStatus(0x2A); + if (dComIfGp_getDoStatus() == BUTTON_STATUS_PUT_AWAY && checkCopyRodControllAnime()) { + setDoStatus(BUTTON_STATUS_QUIT); } } } @@ -9876,18 +10360,18 @@ void daAlink_c::decideCommonDoStatus() { void daAlink_c::decideDoStatus() { if (!checkFmChainGrabAnime()) { if (checkNoResetFlg0(FLG0_UNK_1000000)) { - setDoStatusEmphasys(0x62); + setDoStatusEmphasys(BUTTON_STATUS_DRAW); } if (mTargetedActor == NULL && mAttList == NULL && checkResetFlg0(RFLG0_UNK_8)) { - setWallGrabStatus(0x15, 2); + setWallGrabStatus(BUTTON_STATUS_GRAB, BUTTON_STATUS_FLAG_EMPHASIS); if (field_0x2f91 == 7 || field_0x2f91 == 8 || field_0x2f91 == 6 || field_0x2f91 == 9) { - setDoStatus(0x20); + setDoStatus(BUTTON_STATUS_UNK_32); } } else { if (searchFmChainPos()) { - setChainGrabStatus(0x96); + setChainGrabStatus(BUTTON_STATUS_UNK_150); } else if (mAttList != NULL) { s16 actor_name = fopAcM_GetName(field_0x27f4); @@ -9895,25 +10379,25 @@ void daAlink_c::decideDoStatus() { (mAttList->mType == fopAc_attn_JUEL_e && (!checkWolf() || static_cast(field_0x27f4)->checkSmallTbox()))) { - setDoStatus(6); + setDoStatus(BUTTON_STATUS_OPEN); } else if (mAttList->mType == fopAc_attn_ETC_e && actor_name == PROC_KYTAG05) { - setDoStatus(0x89); + setDoStatus(BUTTON_STATUS_UNK_137); } else if (checkWolf()) { if (mAttList->mType == fopAc_attn_CARRY_e && !fopAcM_checkCarryNow(field_0x27f4) && fopAcM_CheckCarryType(field_0x27f4, fopAcM_CARRY_LIGHT)) { if (actor_name == PROC_B_MGN) { - setDoStatus(0x91); + setDoStatus(BUTTON_STATUS_UNK_145); } else if (actor_name == PROC_Obj_Yobikusa) { - setDoStatusEmphasys(5); + setDoStatusEmphasys(BUTTON_STATUS_HOWL); } else if (actor_name == PROC_Obj_Stone) { - setDoStatus(0x47); + setDoStatus(BUTTON_STATUS_ROLL); } else if (actor_name == PROC_Obj_Drop || actor_name == PROC_Obj_Sword || actor_name == PROC_Obj_SmallKey) { - setDoStatusEmphasys(0x39); + setDoStatusEmphasys(BUTTON_STATUS_UNK_57); } else if (!checkGoatCatchActor(field_0x27f4) && !checkGrabLineCheck()) { - setDoStatusEmphasys(0xC); + setDoStatusEmphasys(BUTTON_STATUS_PICK_UP); } } else if (mTargetedActor != NULL && fopAcM_GetName(mTargetedActor) == PROC_B_MGN && @@ -9921,7 +10405,7 @@ void daAlink_c::decideDoStatus() { mAttention->getActionBtnB()->mType == fopAc_attn_CARRY_e && mAttention->getActionBtnB()->getActor() == mTargetedActor) { - setDoStatus(0x91); + setDoStatus(BUTTON_STATUS_UNK_145); } else if (mTargetedActor != NULL && fopAcM_GetName(mTargetedActor) == PROC_E_YM && mAttention->getActionBtnB() != NULL && @@ -9930,7 +10414,7 @@ void daAlink_c::decideDoStatus() { { onEndResetFlg1(ERFLG1_UNK_100000); if (mWolfEyeUp != 0) { - setWolfDigStatus(2); + setWolfDigStatus(BUTTON_STATUS_FLAG_EMPHASIS); } } else if (mAttList->mType == fopAc_attn_ETC_e && field_0x27f4 != NULL) { if (actor_name == PROC_Obj_Digpl || actor_name == PROC_Obj_Digholl || @@ -9939,21 +10423,21 @@ void daAlink_c::decideDoStatus() { { onEndResetFlg1(ERFLG1_UNK_100000); if (mWolfEyeUp != 0) { - setWolfDigStatus(2); + setWolfDigStatus(BUTTON_STATUS_FLAG_EMPHASIS); } } else if (actor_name == PROC_TAG_HOWL || actor_name == PROC_Obj_WindStone || actor_name == PROC_Obj_SmWStone || actor_name == PROC_Tag_WaraHowl) { - setDoStatusEmphasys(5); + setDoStatusEmphasys(BUTTON_STATUS_HOWL); } else if (actor_name == PROC_KYTAG03) { - setDoStatusEmphasys(0x45); + setDoStatusEmphasys(BUTTON_STATUS_SNIFF); } } else if (mTargetedActor != NULL && field_0x27f4 == mTargetedActor && actor_name == PROC_Obj_Wchain) { - setDoStatusEmphasys(0x7B); + setDoStatusEmphasys(BUTTON_STATUS_UNK_123); } else { setTalkStatus(); } @@ -9963,17 +10447,17 @@ void daAlink_c::decideDoStatus() { checkReinRideBgCheck()) || actor_name == PROC_CANOE || actor_name == PROC_Obj_IceLeaf) { - setDoStatus(0x17); + setDoStatus(BUTTON_STATUS_GET_ON); } else if (actor_name == PROC_COW) { - setDoStatus(0x38); + setDoStatus(BUTTON_STATUS_PET); } else if (actor_name == PROC_Obj_YIblltray) { - setDoStatusEmphasys(0x99); + setDoStatusEmphasys(BUTTON_STATUS_UNK_153); } else if (actor_name == PROC_Tag_Lv6Gate || (actor_name == PROC_TAG_KMSG && static_cast(field_0x27f4)->getType() == 3)) { if (!checkEquipAnime() && checkMasterSwordEquip()) { - setDoStatus(0x63); + setDoStatus(BUTTON_STATUS_STRIKE); } } } else if (mTargetedActor != NULL && checkGoatCatchActor(mTargetedActor) && @@ -9981,24 +10465,24 @@ void daAlink_c::decideDoStatus() { mAttention->getActionBtnB()->mType == fopAc_attn_CARRY_e && mAttention->getActionBtnB()->getActor() == mTargetedActor) { - setDoStatus(0x91); + setDoStatus(BUTTON_STATUS_UNK_145); } else if (mAttList->mType == fopAc_attn_CARRY_e) { if (!fopAcM_checkCarryNow(field_0x27f4)) { if (checkGoatCatchActor(field_0x27f4)) { - setDoStatus(0x91); + setDoStatus(BUTTON_STATUS_UNK_145); } else if (!checkMagneBootsOn()) { if (checkInsectActorName(field_0x27f4)) { - setDoStatusEmphasys(0x98); + setDoStatusEmphasys(BUTTON_STATUS_UNK_152); } else if (actor_name == PROC_Obj_SmallKey) { - setDoStatusEmphasys(0x39); + setDoStatusEmphasys(BUTTON_STATUS_UNK_57); } else if (!checkGrabLineCheck()) { if (actor_name == PROC_Obj_Yobikusa) { - setDoStatus(0x2B); + setDoStatus(BUTTON_STATUS_PICK); } else if (fopAcM_CheckCarryType(field_0x27f4, fopAcM_CARRY_TYPE_8)) { - setDoStatusEmphasys(0x34); + setDoStatusEmphasys(BUTTON_STATUS_UNK_52); } else if (actor_name != PROC_B_MGN) { - setDoStatusEmphasys(0x1F); + setDoStatusEmphasys(BUTTON_STATUS_UNK_31); } } } @@ -10021,7 +10505,7 @@ BOOL daAlink_c::checkWaitAction() { return procWolfWaitInit(); } - if (checkNoUpperAnime() && checkRestHPAnime() && shape_angle.y == field_0x2fe6 && (!checkAttentionState() || shape_angle.y == field_0x2fe4)) { + if (checkNoUpperAnime() && checkRestHPAnime() && shape_angle.y == mPrevAngleY && (!checkAttentionState() || shape_angle.y == field_0x2fe4)) { return procWolfTiredWaitInit(); } @@ -10063,7 +10547,7 @@ BOOL daAlink_c::checkWaitAction() { return procSwimWaitInit(0); } - if (mSpecialMode == 1) { + if (mMode == 1) { return procSumouReadyInit(); } @@ -10075,7 +10559,13 @@ BOOL daAlink_c::checkWaitAction() { return 0; } - if (checkRestHPAnime() && !checkPlayerGuardAndAttack() && shape_angle.y == field_0x2fe6 && !checkEndResetFlg0(ERFLG0_UNK_8000000) && !checkUnderMove0BckNoArc(ANM_WAIT_B) && !checkUnderMove0BckNoArc(ANM_WAIT_B_TO_A)) { + if (checkRestHPAnime() + && !checkPlayerGuardAndAttack() + && shape_angle.y == mPrevAngleY + && !checkEndResetFlg0(ERFLG0_UNK_8000000) + && !checkUnderMove0BckNoArc(ANM_WAIT_B) + && !checkUnderMove0BckNoArc(ANM_WAIT_B_TO_A)) + { return procTiredWaitInit(); } @@ -10100,43 +10590,43 @@ void daAlink_c::setLandPassiveData() { } void daAlink_c::setStepLandVibration() { - int shock; + int shockMode; if (checkBootsOrArmorHeavy()) { - shock = 3; + shockMode = VIBMODE_S_POWER3; } else { - shock = 1; + shockMode = VIBMODE_S_POWER1; } - dComIfGp_getVibration().StartShock(shock, 15, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(shockMode, 15, cXyz(0.0f, 1.0f, 0.0f)); } BOOL daAlink_c::checkLandAction(int param_0) { f32 temp_f31 = 0.0099999998f * (mFallHeight - current.pos.y); - int temp_r3 = getDirectionFromCurrentAngle(); - int temp_r27 = getDirectionFromAngle(current.angle.y - shape_angle.y); - BOOL var_r29 = field_0x33a8 > 0.8f && temp_r27 != 1 && !checkGrabAnime() && - mProcID != PROC_CUT_HEAD && temp_r3 == DIR_FORWARD; + int face_direction = getDirectionFromCurrentAngle(); + int move_direction = getDirectionFromAngle(current.angle.y - shape_angle.y); + BOOL isRollLand = mStickValue > 0.8f && move_direction != DIR_BACKWARD && !checkGrabAnime() && + mProcID != PROC_CUT_HEAD && face_direction == DIR_FORWARD; if ((param_0 || temp_f31 >= mpHIO->mDamage.mDamFall.m.mMinRollHeight) && - temp_f31 < mpHIO->mDamage.mDamFall.m.mMaxRollHeight && var_r29) + temp_f31 < mpHIO->mDamage.mDamFall.m.mMaxRollHeight && isRollLand) { - if (temp_r27 == DIR_FORWARD) { + if (move_direction == DIR_FORWARD) { procFrontRollInit(); } else { - procSideRollInit(temp_r27); + procSideRollInit(move_direction); } } else if (checkNoLandDamageSlidePolygon() || temp_f31 < mpHIO->mDamage.mDamFall.m.mSmallDmgHeight) { if (param_0) { procLandDamageInit(0); - } else if (var_r29 && field_0x30f0 > 0x32) { - if (temp_r27 == DIR_FORWARD) { + } else if (isRollLand && field_0x30f0 > 50) { + if (move_direction == DIR_FORWARD) { procFrontRollInit(); } else { - procSideRollInit(temp_r27); + procSideRollInit(move_direction); } - } else if (checkInputOnR() && temp_r27 == DIR_FORWARD && temp_r3 == DIR_FORWARD && + } else if (checkInputOnR() && move_direction == DIR_FORWARD && face_direction == DIR_FORWARD && mNormalSpeed > 5.0f) { if (mNormalSpeed > mpHIO->mMove.m.mMaxSpeed) { @@ -10148,31 +10638,23 @@ BOOL daAlink_c::checkLandAction(int param_0) { setFootEffectProcType(2); field_0x2f9d = 4; resetBasAnime(); - seStartMapInfo(0x30001); + seStartMapInfo(Z2SE_FN_JUMP_DUMMY); - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(1, 15, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(1, 15, cXyz(0.0f, 1.0f, 0.0f)); } else { procLandInit(temp_f31); } } else { - int var_r4; - if (temp_f31 < mpHIO->mDamage.mDamFall.m.mBigDmgHeight) { - var_r4 = 1; - } else { - var_r4 = 2; - } - - procLandDamageInit(var_r4); + procLandDamageInit(temp_f31 < mpHIO->mDamage.mDamFall.m.mBigDmgHeight ? 1 : 2); } return 1; } BOOL daAlink_c::checkSlideAction() { - cM3dGPla sp28; - if (getSlidePolygon(&sp28)) { - s16 var_r29 = sp28.mNormal.atan2sX_Z(); + cM3dGPla tripla; + if (getSlidePolygon(&tripla)) { + s16 angle = tripla.mNormal.atan2sX_Z(); if (field_0x2f8c != 0) { cLib_chaseF(&mNormalSpeed, 0.0f, field_0x3424); field_0x3090--; @@ -10183,14 +10665,15 @@ BOOL daAlink_c::checkSlideAction() { } if (checkWolf()) { - return procWolfSlideInit(var_r29, 0); + return procWolfSlideInit(angle, 0); } else { - return procSlideInit(var_r29); + return procSlideInit(angle); } } else { field_0x3090 = 8; - return false; } + + return false; } BOOL daAlink_c::checkAutoJumpAction() { @@ -10198,7 +10681,7 @@ BOOL daAlink_c::checkAutoJumpAction() { return 1; } - if (field_0x2fbd == 0xFF || checkFlyAtnWait()) { + if (mGndPolyAtt1 == 0xFF || checkFlyAtnWait()) { return 1; } @@ -10206,8 +10689,15 @@ BOOL daAlink_c::checkAutoJumpAction() { return 0; } - if (!checkModeFlg(0x70C12) && mProcID != PROC_DOOR_OPEN && mProcID != PROC_WARP && !getSumouMode() && mDemo.getDemoType() != daPy_demo_c::DEMO_TYPE_SPECIAL_e && !checkMagneBootsOn() && !mLinkAcch.ChkGroundHit()) { - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (!checkModeFlg(0x70C12) + && mProcID != PROC_DOOR_OPEN + && mProcID != PROC_WARP + && !getSumouMode() + && mDemo.getDemoType() != daPy_demo_c::DEMO_TYPE_SPECIAL_e + && !checkMagneBootsOn() + && !mLinkAcch.ChkGroundHit()) + { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { speed.y = 0.0f; return procSwimWaitInit(0); } @@ -10222,12 +10712,12 @@ BOOL daAlink_c::checkAutoJumpAction() { f32 var_f30 = field_0x35c4.z + (mWindSpeed.z + (speed.z + field_0x3594.z)); BOOL var_r28 = true; - f32 var_f29 = JMAFastSqrt((var_f31 * var_f31) + (var_f30 * var_f30)); + f32 var_f29 = JMAFastSqrt(SQUARE(var_f31) + SQUARE(var_f30)); if (var_f29 < 0.001f) { var_f31 = current.pos.x - field_0x3540.x; var_f30 = current.pos.z - field_0x3540.z; - var_f29 = JMAFastSqrt((var_f31 * var_f31) + (var_f30 * var_f30)); + var_f29 = JMAFastSqrt(SQUARE(var_f31) + SQUARE(var_f30)); if (var_f29 < 0.001f) { var_r28 = false; } @@ -10236,9 +10726,9 @@ BOOL daAlink_c::checkAutoJumpAction() { f32 sp24; if (var_r28) { s16 temp_r26 = cM_atan2s(var_f31, var_f30); - f32 temp_f29 = 1.0f / var_f29; - f32 sp20 = var_f31 * temp_f29; - f32 sp1C = var_f30 * temp_f29; + var_f29 = 1.0f / var_f29; + f32 sp20 = var_f31 * var_f29; + f32 sp1C = var_f30 * var_f29; current.pos.y -= speed.y; @@ -10299,7 +10789,15 @@ BOOL daAlink_c::checkAutoJumpAction() { if (dComIfGs_getLife() != 0 || dComIfGs_checkBottle(fpcNm_ITEM_FAIRY)) { if (!checkGoronSideMove() && (!checkNotAutoJumpStage() || checkWolf())) { if (field_0x3178 != 3 && !checkEndResetFlg0(ERFLG0_NOT_AUTO_JUMP)) { - if (sp14 >= sp10 && (!checkBootsOrArmorHeavy() || checkIronBallWaitAnime()) && (field_0x33a8 > 0.85f || (checkIronBallWaitAnime() && field_0x33ac > 0.85f) || mProcID == PROC_WOLF_GIANT_PUZZLE || checkEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP)) && cLib_distanceAngleS(temp_r26, shape_angle.y) < 0x800) { + if (sp14 >= sp10 + && (!checkBootsOrArmorHeavy() || checkIronBallWaitAnime()) + && (mStickValue > 0.85f + || (checkIronBallWaitAnime() && mMoveValue > 0.85f) + || mProcID == PROC_WOLF_GIANT_PUZZLE + || checkEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP) + ) + && cLib_distanceAngleS(temp_r26, shape_angle.y) < 0x800) + { if (var_r29) { current.pos.x = mLinkLinChk.GetCross().x; current.pos.z = mLinkLinChk.GetCross().z; @@ -10317,7 +10815,17 @@ BOOL daAlink_c::checkAutoJumpAction() { } } - if (!checkEndResetFlg0(ERFLG0_NOT_HANG) && mSpecialMode != 0x2B && var_r29 && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 2 && sp28 < -mpHIO->mWallHang.m.hang_foot_pos_height && current.pos.y - mWaterY > sp18 && (fabsf(sp44.mNormal.y) <= 0.05f || (sp44.mNormal.y < 0.05f && var_r27 && getWallEdgePos(mLinkLinChk.GetCross(), &sp44, &sp58, mLinkLinChk.GetCrossP(), 0)))) { + if (!checkEndResetFlg0(ERFLG0_NOT_HANG) + && mMode != 0x2B + && var_r29 + && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 2 + && sp28 < -mpHIO->mWallHang.m.hang_foot_pos_height + && current.pos.y - mWaterY > sp18 + && (fabsf(sp44.mNormal.y) <= 0.05f + || (sp44.mNormal.y < 0.05f && var_r27 && getWallEdgePos(mLinkLinChk.GetCross(), &sp44, &sp58, mLinkLinChk.GetCrossP(), 0)) + ) + ) + { current.pos.x = mLinkLinChk.GetCross().x; current.pos.z = mLinkLinChk.GetCross().z; @@ -10351,9 +10859,12 @@ BOOL daAlink_c::checkAutoJumpAction() { current.pos.x += field_0x3428 * spC; current.pos.z += field_0x3428 * sp8; - if (checkWolf() && cLib_distanceAngleS(cM_atan2s(spC, sp8), shape_angle.y) >= 0x4000) { - current.pos.x -= 75.0f * cM_ssin(shape_angle.y); - current.pos.z -= 75.0f * cM_scos(shape_angle.y); + if (checkWolf()) { + int var_r25 = cLib_distanceAngleS(cM_atan2s(spC, sp8), shape_angle.y); + if (var_r25 >= 0x4000) { + current.pos.x -= 75.0f * cM_ssin(shape_angle.y); + current.pos.z -= 75.0f * cM_scos(shape_angle.y); + } } } else { sp24 = mpHIO->mAutoJump.m.mFallInterpolation; @@ -10379,7 +10890,7 @@ BOOL daAlink_c::checkAutoJumpAction() { BOOL daAlink_c::checkCutJumpInFly() { if ((mEquipItem == 0x103 && checkResetFlg0(RFLG0_UNK_80)) || checkForceSwordSwing()) { - return procCutJumpInit(1); + return procCutJumpInit(TRUE); } return false; } @@ -10439,7 +10950,7 @@ BOOL daAlink_c::checkFrontWallTypeAction() { } } else if (!checkResetFlg0(RFLG0_UNK_8)) { if (!checkWolf()) { - if (checkNoResetFlg3(FLG3_UNK_400000) && abs((s16)(field_0x2fe2 - field_0x306e)) < 0x7800) { + if (checkNoResetFlg3(FLG3_UNK_400000) && abs((s16)(mMoveAngle - field_0x306e)) < 0x7800) { return 0; } @@ -10518,7 +11029,7 @@ int daAlink_c::checkItemActionInitStart() { return procCopyRodSwingInit(); } } else if (checkFishingRodItem(mEquipItem)) { - onResetFlg1(RFLG1_UNK_80); + onResetFlg1(RFLG0_FISHINGROD_USE_START); return 1; } else if (mEquipItem == fpcNm_ITEM_IRONBALL) { if (!checkIronBallAnime()) { @@ -10577,13 +11088,14 @@ void daAlink_c::cancelItemUseQuake(int param_0) { } } -int daAlink_c::cancelUpperItemReadyAnime(int param_0) { - if ((dComIfGp_getDoStatus() == 0x12 || param_0 != 0) && - ((param_0 == 0 && doTrigger()) || - (checkCanoeSlider() && - (subjectCancelTrigger() || checkEndResetFlg1(ERFLG1_UNK_20000000))))) +int daAlink_c::cancelUpperItemReadyAnime(BOOL param_0) { + if ((dComIfGp_getDoStatus() == BUTTON_STATUS_BACK || param_0) + && ((param_0 == 0 && doTrigger()) + || (checkCanoeSlider() && (subjectCancelTrigger() || checkEndResetFlg1(ERFLG1_CANOE_ITEM_CANCEL))) + ) + ) { - seStartSystem(0x6F); + seStartSystem(Z2SE_SY_ITEM_USE_CANCEL); if (mEquipItem == fpcNm_ITEM_IRONBALL) { mItemVar0.field_0x3018 = 8; @@ -10692,7 +11204,7 @@ BOOL daAlink_c::checkUpperItemAction() { if (field_0x2fa3 == 0) { resetUpperAnime(UPPER_2, 3.0f); } else { - if (checkEndResetFlg1(ERFLG1_UNK_1000000) && !checkWolf()) { + if (checkEndResetFlg1(ERFLG1_CHAIN_FORCE_PULL) && !checkWolf()) { return procFmChainStrongPullInit(); } @@ -10706,9 +11218,11 @@ BOOL daAlink_c::checkUpperItemAction() { } } - setChainGrabStatus(0x96); + setChainGrabStatus(BUTTON_STATUS_UNK_150); - if ((!checkWolf() && (checkUnderMove0BckNoArc(ANM_CHAIN_PULL) || checkUnderMove0BckNoArc(ANM_CHAIN_PULL_END))) || (checkWolf() && (checkUnderMove0BckNoArcWolf(WANM_CHAIN_PULL) || checkUnderMove0BckNoArcWolf(WANM_CHAIN_PULL_END)))) { + if ((!checkWolf() && (checkUnderMove0BckNoArc(ANM_CHAIN_PULL) || checkUnderMove0BckNoArc(ANM_CHAIN_PULL_END))) + || (checkWolf() && (checkUnderMove0BckNoArcWolf(WANM_CHAIN_PULL) || checkUnderMove0BckNoArcWolf(WANM_CHAIN_PULL_END)))) + { mNowAnmPackUpper[2].setRatio(0.0f); } else { mNowAnmPackUpper[2].setRatio(1.0f); @@ -10725,17 +11239,17 @@ BOOL daAlink_c::checkUpperItemAction() { } u8 btn_status; - if (field_0x33a8 > getGrabThrowRate() || checkAttentionLock()) { - btn_status = 0x13; + if (mStickValue > getGrabThrowRate() || checkAttentionLock()) { + btn_status = BUTTON_STATUS_THROW; } else { - btn_status = 0x14; + btn_status = BUTTON_STATUS_PLACE; } setBStatus(btn_status); setDoStatus(btn_status); if ((btn_status == dComIfGp_getDoStatus() && doTrigger()) || (btn_status == getBStatus() && swordTrigger())) { - if (btn_status == 0x13) { + if (btn_status == BUTTON_STATUS_THROW) { return procWolfGrabThrowInit(); } return procWolfGrabPutInit(); @@ -10756,7 +11270,7 @@ BOOL daAlink_c::checkUpperItemAction() { field_0x30f6 -= mpHIO->mDamage.mDamCaught.m.mInputFadeTime; } - if (field_0x30f6 < 0 || !checkNoResetFlg0(FLG0_DK_CAUGHT)) { + if (field_0x30f6 < 0 || !checkNoResetFlg0(FLG0_DK_CAUGHT2)) { voiceStart(Z2SE_AL_V_ZENTEN_FAIL_2); if (mLinkAcch.ChkGroundHit()) { @@ -10801,8 +11315,10 @@ BOOL daAlink_c::checkUpperItemAction() { void daAlink_c::orderPeep() { mPeepExitID = ((kytag05_class*)field_0x27f4)->getSceneListID(); - field_0x2ff2 = 20; + field_0x2ff2 = AREG_S(4) + 20; + fopAcM_orderOtherEvent(this, field_0x27f4, l_peepEventName, 0xFFFF, 1, 0); + if (checkWolf()) { procWolfWaitInit(); } else { @@ -10817,10 +11333,14 @@ int daAlink_c::orderTalk(int i_checkZTalk) { return 0; } - if ((dComIfGp_getDoStatus() == 0x1C || dComIfGp_getDoStatus() == 0x1B || - dComIfGp_getDoStatus() == 0x80 || dComIfGp_getDoStatus() == 0x3B || - dComIfGp_getDoStatus() == 0x3C || dComIfGp_getDoStatus() == 0x8) && - talkTrigger()) + if ((dComIfGp_getDoStatus() == BUTTON_STATUS_SPEAK + || dComIfGp_getDoStatus() == BUTTON_STATUS_LOOK + || dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_128 + || dComIfGp_getDoStatus() == BUTTON_STATUS_LISTEN + || dComIfGp_getDoStatus() == BUTTON_STATUS_DRINK + || dComIfGp_getDoStatus() == BUTTON_STATUS_CHECK + ) + && talkTrigger()) { fopAcM_orderTalkEvent(this, field_0x27f4, 0, 0); return 1; @@ -10828,10 +11348,8 @@ int daAlink_c::orderTalk(int i_checkZTalk) { if (!checkWolf() && checkRequestTalkActor(mAttList2, field_0x27f8)) { for (int i = 0; i < 2; i++) { - u8 item = dComIfGp_getSelectItem(i); - // check if pressed X or Y and if item on button is a trade item - if (checkTradeItem(item) && itemTriggerCheck(1 << i)) { + if (checkTradeItem(dComIfGp_getSelectItem(i)) && itemTriggerCheck(1 << i)) { fopAcM_orderTalkItemBtnEvent(itemTalkType[i], this, field_0x27f8, 0, 0); return 1; } @@ -10846,6 +11364,8 @@ int daAlink_c::orderTalk(int i_checkZTalk) { } static void* daAlink_searchBouDoor(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_NPC_BOU && ((daNpc_Bou_c*)i_actor)->speakTo()) { return i_actor; } @@ -10854,6 +11374,8 @@ static void* daAlink_searchBouDoor(fopAc_ac_c* i_actor, void* i_data) { } static void* daAlink_searchKolin(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_NPC_KOLIN && ((daNpc_Kolin_c*)i_actor)->orderNoRideEvt()) { return i_actor; } @@ -10862,26 +11384,27 @@ static void* daAlink_searchKolin(fopAc_ac_c* i_actor, void* i_data) { } int daAlink_c::orderZTalk() { - if ((!checkReinRide() && !checkModeFlg(0x40000) && !checkMagneBootsOn() - && (!mLinkAcch.ChkGroundHit() || checkModeFlg(0x70C52))) || mThrowBoomerangAcKeep.getActor() != NULL - || dComIfGp_checkPlayerStatus0(0, 0x8000000) || mProcID == PROC_CRAWL_END || checkHorseZelda() - || checkCloudSea() || checkStageName("D_MN08A") || (checkStageName("D_MN09A") - && ((fopAcM_GetRoomNo(this) == 50 && dComIfG_play_c::getLayerNo(0) == 0) - || fopAcM_GetRoomNo(this) == 51)) || (checkMagneBootsOn() && (!checkStageName("D_MN04B") - || !cBgW_CheckBGround(mMagneBootsTopVec.y))) - /* dSv_event_flag_c::F_0800 - Cutscene - After returning to Ordon Woods, until Midna comes out of the shadows - (If 800 is ON, Midna can't be called) */ - || dComIfGs_isEventBit(0x6140)) { + if ((!checkReinRide() && !checkModeFlg(0x40000) && !checkMagneBootsOn() && (!mLinkAcch.ChkGroundHit() || checkModeFlg(0x70C52))) + || mThrowBoomerangAcKeep.getActor() != NULL + || dComIfGp_checkPlayerStatus0(0, 0x8000000) + || mProcID == PROC_CRAWL_END + || checkHorseZelda() + || checkCloudSea() + || checkStageName("D_MN08A") + || (checkStageName("D_MN09A") && ((fopAcM_GetRoomNo(this) == 50 && dComIfG_play_c::getLayerNo(0) == 0) || fopAcM_GetRoomNo(this) == 51)) + || (checkMagneBootsOn() && (!checkStageName("D_MN04B") || !cBgW_CheckBGround(mMagneBootsTopVec.y))) + || dComIfGs_isEventBit(dSv_event_flag_c::F_0800)) + { return 0; } if (checkMidnaRide()) { fopAc_ac_c* zhint = dComIfGp_att_getZHint(); if (zhint != NULL) { - setMidnaTalkStatus(8); + setMidnaTalkStatus(BUTTON_STATUS_CHECK); } - dMeter2Info_onUseButton(0x800); + dMeter2Info_onUseButton(METER2_USEBUTTON_Z); if (midnaTalkTrigger() #if DEBUG @@ -10915,11 +11438,11 @@ int daAlink_c::checkNormalAction() { int wall_grab_status = getWallGrabStatus(); if (wallGrabTrigger()) { - if (wall_grab_status == 0x15) { + if (wall_grab_status == BUTTON_STATUS_GRAB) { return procCoPushPullWaitInit(1); } - if (wall_grab_status == 0x96 && searchFmChainPos()) { + if (wall_grab_status == BUTTON_STATUS_UNK_150 && searchFmChainPos()) { if (checkWolf()) { return procWolfChainUpInit(); } else { @@ -10928,17 +11451,17 @@ int daAlink_c::checkNormalAction() { } } - if (orderTalk(1)) { + if (orderTalk(TRUE)) { return 1; } if (doTrigger()) { - if (dComIfGp_getDoStatus() == 0x89) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_137) { orderPeep(); return 1; } - if (dComIfGp_getDoStatus() == 7) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_ENTER) { if (checkWolf()) { return procWolfLieStartInit(1); } else { @@ -10946,19 +11469,19 @@ int daAlink_c::checkNormalAction() { } } - if (dComIfGp_getDoStatus() == 12) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_PICK_UP) { return procWolfGrabUpInit(); } - if (dComIfGp_getDoStatus() == 0x7B) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_123) { return procWolfChainReadyInit(); } - if (dComIfGp_getDoStatus() == 0x47) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_ROLL) { return procWolfPushInit(); } - if (dComIfGp_getDoStatus() == 0x17) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_GET_ON) { if (fopAcM_GetName(field_0x27f4) == PROC_Obj_IceLeaf) { return procBoardRideInit(); } @@ -10980,7 +11503,7 @@ int daAlink_c::checkNormalAction() { } } - if (dComIfGp_getDoStatus() == 0x20) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_32) { if (checkWolf()) { return procWolfHangReadyInit(); } else { @@ -10992,7 +11515,7 @@ int daAlink_c::checkNormalAction() { } } - if (dComIfGp_getDoStatus() == 6) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_OPEN) { if (mAttList->mType == fopAc_attn_DOOR_e) { if (!checkStageName("F_SP103") || !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchBouDoor, NULL)) @@ -11007,15 +11530,15 @@ int daAlink_c::checkNormalAction() { return 1; } - if (dComIfGp_getDoStatus() == 0x2B) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_PICK) { return procGrassWhistleGetInit(); } - if (dComIfGp_getDoStatus() == 0x38) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_PET) { return procGoatStrokeInit(); } - if (dComIfGp_getDoStatus() == 0x63) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_STRIKE) { if (fopAcM_GetName(field_0x27f4) == PROC_Tag_Lv6Gate) { static_cast(field_0x27f4)->stabMasterSword(); } else { @@ -11026,7 +11549,7 @@ int daAlink_c::checkNormalAction() { return 1; } - if (dComIfGp_getDoStatus() == 0x91) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_145) { onNoResetFlg0(FLG0_UNK_10000000); if (field_0x27f4->current.pos.abs2XZ(current.pos) < getGoatCatchDistance2()) { @@ -11036,10 +11559,10 @@ int daAlink_c::checkNormalAction() { return procGoatCatchInit(field_0x27f4, 0.0f); } } - } else if (dComIfGp_getDoStatus() == 0x98) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_152) { return procInsectCatchInit(); - } else if (dComIfGp_getDoStatus() == 0x1F || dComIfGp_getDoStatus() == 0x39 || - dComIfGp_getDoStatus() == 0x34) + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_31 || dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_57 || + dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_52) { if (checkWolf()) { return procWolfGrabUpInit(); @@ -11050,35 +11573,35 @@ int daAlink_c::checkNormalAction() { return procGrabReadyInit(); } } - } else if (dComIfGp_getDoStatus() == 0x99) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_153) { return procHangLeverDownInit(); - } else if (dComIfGp_getDoStatus() == 0x30) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_FINISH) { if (checkWolf()) { return procWolfDownAttackInit(); } else { return checkDoCutAction(); } - } else if (dComIfGp_getDoStatus() == 0x77) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_HELM_SPLITTER) { if (checkWolf()) { return procWolfJumpAttackInit(1); } else { return checkDoCutAction(); } - } else if (dComIfGp_getDoStatus() == 0x8B) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_139) { return procWolfJumpAttackInit(1); - } else if (dComIfGp_getDoStatus() == 0x62) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_DRAW) { changeCutFast(); return 1; - } else if (dComIfGp_getDoStatus() == 0x86) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_134) { return checkDoCutAction(); - } else if (dComIfGp_getDoStatus() == 5) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_HOWL) { return procWolfHowlDemoInit(); - } else if (dComIfGp_getDoStatus() == 0x45) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_SNIFF) { return procWolfGetSmellInit(); - } else if (dComIfGp_getDoStatus() == 0x93) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_147) { return procWolfTagJumpInit(field_0x27f4); } - } else if (checkNoResetFlg0(FLG0_UNK_10000000) && dComIfGp_getDoStatus() == 0x91) { + } else if (checkNoResetFlg0(FLG0_UNK_10000000) && dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_145) { if (field_0x27f4->current.pos.abs2XZ(current.pos) < getGoatCatchDistance2()) { if (checkWolf()) { return procWolfGanonCatchInit(); @@ -11092,9 +11615,11 @@ int daAlink_c::checkNormalAction() { } bool daAlink_c::checkReadyItem() { + #if PLATFORM_GCN if (mEquipItem == fpcNm_ITEM_NONE) { return false; } + #endif return getReadyItem() == mEquipItem; } @@ -11132,9 +11657,9 @@ BOOL daAlink_c::checkItemAction() { if (mEquipItem == 0x103) { daPy_frameCtrl_c* frame_ctrl = &mUpperFrameCtrl[2]; - if ((checkUpperAnime(0x80) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashLeft.m.mCutAnm.mCancelFrame) || - (checkUpperAnime(0x81) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashRight.m.mCutAnm.mCancelFrame) || - (checkUpperAnime(0x82) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashCharge.m.mCutAnm.mCancelFrame) || + if ((checkUpperAnime(dRes_ID_ALANM_BCK_CUTDL_e) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashLeft.m.mCutAnm.mCancelFrame) || + (checkUpperAnime(dRes_ID_ALANM_BCK_CUTDR_e) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashRight.m.mCutAnm.mCancelFrame) || + (checkUpperAnime(dRes_ID_ALANM_BCK_CUTDT_e) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashCharge.m.mCutAnm.mCancelFrame) || checkModeFlg(0x40000)) { return false; @@ -11160,7 +11685,7 @@ BOOL daAlink_c::checkItemAction() { if (checkNoResetFlg2(FLG2_UNK_4)) { offNoResetFlg2(FLG2_UNK_4); - setUpperAnimeBase(0x83); + setUpperAnimeBase(dRes_ID_ALANM_BCK_CUTDTP_e); return true; } @@ -11177,7 +11702,7 @@ BOOL daAlink_c::checkItemAction() { } if (swordSwingTrigger() || checkComboReserb()) { - if (checkNoResetFlg2(FLG2_UNK_2)) { + if (checkNoResetFlg2(FLG2_COMBO_RESERB)) { clearComboReserb(); if (checkBoardRide()) { @@ -11207,28 +11732,28 @@ BOOL daAlink_c::checkItemAction() { return checkCutAction(); } } else if (checkFishingRodItem(mEquipItem) && mLinkAcch.ChkGroundHit()) { - if (checkNoResetFlg2(FLG2_UNK_20000000)) { + if (checkNoResetFlg2(FLG2_FISHING_CAST_WAIT)) { return procFishingCastInit(); } } else if (mEquipItem == 0x102) { if (doTrigger()) { - if (dComIfGp_getDoStatus() == 0x13) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_THROW) { setThrowBoomerangAnime(); return true; } - if (dComIfGp_getDoStatus() == 0x14) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_PLACE) { return procPickPutInit(0); } } - } else if (doTrigger() && dComIfGp_getDoStatus() == 0x2A && mCopyRodAcKeep.getActor() != NULL) { + } else if (doTrigger() && dComIfGp_getDoStatus() == BUTTON_STATUS_QUIT && mCopyRodAcKeep.getActor() != NULL) { ((daCrod_c*)mCopyRodAcKeep.getActor())->offControll(); resetUpperAnime(UPPER_2, 3.0f); return true; } if (!checkFishingRodItem(mEquipItem) || !(mWaterY - current.pos.y > 70.0f)) { - onResetFlg1(RFLG1_UNK_200); + onResetFlg1(RFLG0_FISHINGROD_USE_ACCEPT); if (checkReadyItem() && (itemTrigger() || (checkBoomerangCatchAnime() && itemButton()))) { int var_r28 = checkItemActionInitStart(); @@ -11238,12 +11763,16 @@ BOOL daAlink_c::checkItemAction() { } } - /* dSv_event_flag_c::F_0338 - Secret techniques - Obtained 1 secret techinques - Shield attack */ - if (((dComIfGs_isEventBit(0x2908) - || checkNoResetFlg3(FLG3_UNK_8)) && checkGuardActionChange() && !checkUpperReadyThrowAnime() - && !checkModeFlg(0x70C52) && checkShieldGet() && !checkNotBattleStage()) - && ((mLinkAcch.ChkGroundHit() || checkMagneBootsOn()) && dComIfGp_getRStatus() == 0)) { - setRStatus(0x3A); + if (((dComIfGs_isEventBit(dSv_event_flag_c::F_0338) || checkNoResetFlg3(FLG3_TRANING_SHIELD_ATTACK)) + && checkGuardActionChange() + && !checkUpperReadyThrowAnime() + && !checkModeFlg(0x70C52) + && checkShieldGet() + && !checkNotBattleStage() + ) && ((mLinkAcch.ChkGroundHit() || checkMagneBootsOn()) && dComIfGp_getRStatus() == 0) + ) + { + setRStatus(BUTTON_STATUS_SHIELD_ATTACK); if (spActionTrigger()) { return procGuardAttackInit(); @@ -11260,7 +11789,7 @@ BOOL daAlink_c::checkRAction() { BOOL daAlink_c::checkMoveDoAction() { if (doTrigger()) { - if (dComIfGp_getDoStatus() == 0x19) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_JUMP) { if (checkWolf()) { return procWolfSideStepInit(0); } @@ -11273,15 +11802,15 @@ BOOL daAlink_c::checkMoveDoAction() { return procSideStepInit(direction); } - if (dComIfGp_getDoStatus() == 0x79) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_121) { if (!checkAttentionLock() && checkInputOnR()) { - shape_angle.y = field_0x2fe2; + shape_angle.y = mMoveAngle; } return procFrontRollInit(); } - if (dComIfGp_getDoStatus() == 0x9) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_DASH) { return procWolfDashInit(); } } @@ -11290,8 +11819,10 @@ BOOL daAlink_c::checkMoveDoAction() { } BOOL daAlink_c::checkSideRollAction(int param_0) { - if (checkNotJumpSinkLimit() || checkHeavyStateOn(1, 1) || !checkInputOnR() || - !checkCutBackState()) + if (checkNotJumpSinkLimit() + || checkHeavyStateOn(TRUE, TRUE) + || !checkInputOnR() + || !checkCutBackState()) { return false; } @@ -11300,9 +11831,7 @@ BOOL daAlink_c::checkSideRollAction(int param_0) { return procSideRollInit(param_0); } - if (checkEnemyGroup(mTargetedActor) && - mTargetedActor->current.pos.abs2XZ(current.pos) < 250000.0f) - { + if (checkEnemyGroup(mTargetedActor) && mTargetedActor->current.pos.abs2XZ(current.pos) < SQUARE(500.0f)) { return procTurnMoveInit(param_0); } @@ -11310,12 +11839,15 @@ BOOL daAlink_c::checkSideRollAction(int param_0) { } BOOL daAlink_c::checkNoUpperAnime() const { - return checkNoSetUpperAnime() || checkSwimMoveHandAnime() || checkWindDashAnime() || - checkSwordTwirlAnime() || checkKandelaarEquipAnime(); + return checkNoSetUpperAnime() + || checkSwimMoveHandAnime() + || checkWindDashAnime() + || checkSwordTwirlAnime() + || checkKandelaarEquipAnime(); } BOOL daAlink_c::checkOneHandItemEquipAnime() const { - return checkUpperAnime(0x247) || checkUpperAnime(0x248); + return checkUpperAnime(dRes_ID_ALANM_BCK_TAKEL_e) || checkUpperAnime(dRes_ID_ALANM_BCK_TAKER_e); } BOOL daAlink_c::checkItemEquipAnime() const { @@ -11327,23 +11859,23 @@ BOOL daAlink_c::checkEquipAnime() const { } BOOL daAlink_c::checkWindDashAnime() const { - return checkUpperAnime(0x2B7) || (checkUpperAnime(0xCE) && mProcID != PROC_SLIDE); + return checkUpperAnime(dRes_ID_ALANM_BCK_WL_DASHWIND_e) || (checkUpperAnime(dRes_ID_ALANM_BCK_DASHWIND_e) && mProcID != PROC_SLIDE); } BOOL daAlink_c::checkSwordTwirlAnime() const { - return checkUpperAnime(0x40) || checkUpperAnime(0x3F); + return checkUpperAnime(dRes_ID_ALANM_BCK_ATTWIRLR_e) || checkUpperAnime(dRes_ID_ALANM_BCK_ATTWIRLL_e); } -void daAlink_c::swordEquip(int param_0) { +void daAlink_c::swordEquip(BOOL param_0) { if (checkSwordGet()) { field_0x2fde = 0x103; if (checkReinRide()) { - setUpperAnimeParam(0x261, UPPER_2, &mpHIO->mCut.m.mEquipAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_WAITHATOHS_e, UPPER_2, &mpHIO->mCut.m.mEquipAnm); offNoResetFlg3(FLG3_UNK_8000); } else { u32 var_r29 = checkNoResetFlg0(FLG0_UNK_1000000); - setUpperAnimeParam(0x255, UPPER_2, &mpHIO->mCut.m.mEquipAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_WAITATOS_e, UPPER_2, &mpHIO->mCut.m.mEquipAnm); if (var_r29) { mUpperFrameCtrl[2].setFrame(12); @@ -11356,8 +11888,8 @@ void daAlink_c::swordEquip(int param_0) { } } - setFacePriTexture(FTANM_UNK_2D); - setFacePriBck(0x15E); + setFacePriTexture(FTANM_WAITATOS); + setFacePriBck(dRes_ID_ALANM_BCK_FWAITATOS_e); if (checkEventRun() && checkStageName("F_SP102") && fopAcM_GetRoomNo(this) == 0 && dComIfGp_getStartStageLayer() == 0) { mUpperFrameCtrl[2].setRate(-0.8f); @@ -11381,13 +11913,13 @@ void daAlink_c::swordUnequip() { anm_speed = mpHIO->mCut.m.mUnequipAnm.mSpeed; } - u16 anm_id = checkReinRide() ? (u16)0x261 : (u16)0x255; + u16 anm_id = checkReinRide() ? (u16)dRes_ID_ALANM_BCK_WAITHATOHS_e : (u16)dRes_ID_ALANM_BCK_WAITATOS_e; setUpperAnime(anm_id, UPPER_2, anm_speed, mpHIO->mCut.m.mUnequipAnm.mStartFrame, mpHIO->mCut.m.mUnequipAnm.mEndFrame, mpHIO->mCut.m.mUnequipAnm.mInterpolation); - setFacePriTexture(FTANM_UNK_2D); - setFaceBck(0x15E, 1, 0xFFFF); + setFacePriTexture(FTANM_WAITATOS); + setFacePriBck(dRes_ID_ALANM_BCK_FWAITATOS_e); } void daAlink_c::itemEquip(u16 i_itemID) { @@ -11401,8 +11933,8 @@ void daAlink_c::itemEquip(u16 i_itemID) { /** * This handles setting the animation for both equipping and unequipping items - * When `param_1` is positive, it will play the unequip animation - * When `param_1` is negative, it will play the equip animation + * When `i_playSpeed` is positive, it will play the unequip animation + * When `i_playSpeed` is negative, it will play the equip animation * */ void daAlink_c::itemUnequip(u16 i_itemID, f32 i_playSpeed) { @@ -11412,19 +11944,23 @@ void daAlink_c::itemUnequip(u16 i_itemID, f32 i_playSpeed) { if (i_itemID == fpcNm_ITEM_BOOMERANG || i_itemID == fpcNm_ITEM_COPY_ROD || i_itemID == fpcNm_ITEM_KANTERA || i_itemID == fpcNm_ITEM_HOOKSHOT || checkBottleItem(i_itemID)) { - anm_id = 0x247; + anm_id = dRes_ID_ALANM_BCK_TAKEL_e; anm_data = &mpHIO->mItem.m.mOneHandEquipAnm; } else if (checkBowAndSlingItem(i_itemID)) { - anm_id = checkBowGrabLeftHand() ? (u16)0x247 : (u16)0x248; + if (checkBowGrabLeftHand()) { + anm_id = (u16)dRes_ID_ALANM_BCK_TAKEL_e; + } else { + anm_id = (u16)dRes_ID_ALANM_BCK_TAKER_e; + } anm_data = &mpHIO->mItem.m.mOneHandEquipAnm; } else { - anm_id = 0x245; + anm_id = dRes_ID_ALANM_BCK_TAKE_e; anm_data = &mpHIO->mItem.m.mTwoHandEquipAnm; } f32 anm_speed; if (i_playSpeed > 0.0f && checkFastUnequip()) { - if (anm_id == 0x245) { + if (anm_id == dRes_ID_ALANM_BCK_TAKE_e) { anm_speed = mpHIO->mItem.m.mTwoHandReleaseAnmSpeed; } else { anm_speed = mpHIO->mItem.m.mOneHandReleaseAnmSpeed; @@ -11441,8 +11977,8 @@ bool daAlink_c::checkFastUnequip() { return mProcID == PROC_PREACTION_UNEQUIP || mProcID == PROC_HORSE_GETOFF || checkEventRun(); } -void daAlink_c::allUnequip(int param_0) { - if (checkNoResetFlg2(FLG2_UNK_1) && param_0 != 0 && !checkCanoeRide() && +void daAlink_c::allUnequip(BOOL param_0) { + if (checkNoResetFlg2(FLG2_UNK_1) && param_0 && !checkCanoeRide() && mEquipItem != fpcNm_ITEM_KANTERA) { for (u8 i = 0; i < 2; i++) { @@ -11456,7 +11992,7 @@ void daAlink_c::allUnequip(int param_0) { } else if (mEquipItem == 0x103) { swordUnequip(); } else if (mEquipItem == 0x102) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); field_0x2060->initOldFrameMorf(5.0f, 0, 35); } else { itemUnequip(mEquipItem, 1.0f); @@ -11466,20 +12002,33 @@ void daAlink_c::allUnequip(int param_0) { } BOOL daAlink_c::checkItemChangeFromButton() { - if (checkModeFlg(4) && !checkEquipAnime() && !checkBoomerangThrowAnime() && - !checkCopyRodThrowAnime() && !checkKandelaarSwingAnime() && !checkKandelaarSwingAnime()) + if (checkModeFlg(4) + && !checkEquipAnime() + && !checkBoomerangThrowAnime() + && !checkCopyRodThrowAnime() + && !checkKandelaarSwingAnime() + && !checkKandelaarSwingAnime()) { - if (dComIfGs_getSelectEquipSword() != fpcNm_ITEM_NONE && !checkNotBattleStage() && - !checkCanoeRide() && (!checkModeFlg(0x40000) || checkEquipHeavyBoots()) && - mEquipItem != 0x103 && swordTrigger()) + if ( + #if PLATFORM_GCN + dComIfGs_getSelectEquipSword() != fpcNm_ITEM_NONE && + #endif + !checkNotBattleStage() + && !checkCanoeRide() + && (!checkModeFlg(0x40000) || checkEquipHeavyBoots()) + && mEquipItem != 0x103 + && swordTrigger()) { - if (checkEndResetFlg1(ERFLG1_UNK_40000000)) { + if (checkEndResetFlg1(ERFLG1_SWORD_TRIGGER_NON)) { return 0; } - swordEquip(1); - } else if (checkCanoeRide() && !checkStageName("F_SP103") && !checkCanoeSlider() && - !checkFisingRodLure() && swordTrigger()) + swordEquip(TRUE); + } else if (checkCanoeRide() + && !checkStageName("F_SP103") + && !checkCanoeSlider() + && !checkFisingRodLure() + && swordTrigger()) { itemEquip(0x105); } else { @@ -11487,11 +12036,12 @@ BOOL daAlink_c::checkItemChangeFromButton() { for (i = 0; i < 2; i++) { int proc_type = checkNewItemChange(i); if (proc_type != 0 && itemTriggerCheck(1 << i)) { - return changeItemTriggerKeepProc(i, proc_type); + BOOL var_r27 = changeItemTriggerKeepProc(i, proc_type); + return var_r27; } } - if (doTrigger() && dComIfGp_getDoStatus() == 4) { + if (doTrigger() && dComIfGp_getDoStatus() == BUTTON_STATUS_PUT_AWAY) { if (mEquipItem != fpcNm_ITEM_KANTERA && checkNoResetFlg2(FLG2_UNK_1)) { offKandelaarModel(); } else if (mSwordFlourishTimer != 0 && mEquipItem == 0x103 && @@ -11499,7 +12049,7 @@ BOOL daAlink_c::checkItemChangeFromButton() { { return procSwordUnequipSpInit(); } else { - allUnequip(1); + allUnequip(TRUE); } } else if (mEquipItem == fpcNm_ITEM_NONE && mThrowBoomerangAcKeep.getActor() == NULL && !checkCanoeRide() && checkNoUpperAnime() && checkNoResetFlg2(FLG2_UNK_1)) @@ -11515,12 +12065,8 @@ BOOL daAlink_c::checkItemChangeFromButton() { } else if (mEquipItem != 0x103 && mEquipItem != fpcNm_ITEM_NONE && mEquipItem != 0x10B && mEquipItem != 0x102 && (!checkCanoeRide() || !checkFisingRodLure())) { - if (!checkEventRun() || - strcmp(dComIfGp_getEventManager().getRunEventName(), "ANGER")) - { - if (strcmp(dComIfGp_getEventManager().getRunEventName(), "ANGER2") && - checkItemSetButton(mEquipItem) == 2) - { + if (!checkEventRun() || strcmp(dComIfGp_getEventManager().getRunEventName(), "ANGER") != 0) { + if (strcmp(dComIfGp_getEventManager().getRunEventName(), "ANGER2") != 0 && checkItemSetButton(mEquipItem) == 2) { allUnequip(1); } } @@ -11545,14 +12091,16 @@ BOOL daAlink_c::checkNextActionFromButton() { } if (checkModeFlg(0x400)) { - if (dComIfGp_getDoStatus() == 0 && checkCanoeRide() && checkFisingRodLure()) { - setDoStatus(4); + if (dComIfGp_getDoStatus() == BUTTON_STATUS_NONE && checkCanoeRide() && checkFisingRodLure()) { + setDoStatus(BUTTON_STATUS_PUT_AWAY); } } else if (!checkModeFlg(0x40000)) { - if ((checkWolf() && !checkWolfGrabAnime()) || - (!checkWolf() && getCopyRodControllActor() == NULL && - (checkEquipAnime() || checkNoResetFlg0(FLG0_UNK_1000000) || checkUpperGuardAnime() || - checkIronBallWaitAnime() || checkNoUpperAnime()))) + if ((checkWolf() && !checkWolfGrabAnime()) + || (!checkWolf() + && getCopyRodControllActor() == NULL + && (checkEquipAnime() || checkNoResetFlg0(FLG0_UNK_1000000) || checkUpperGuardAnime() || checkIronBallWaitAnime() || checkNoUpperAnime()) + ) + ) { decideDoStatus(); @@ -11591,7 +12139,7 @@ BOOL daAlink_c::checkNextActionFromButton() { BOOL daAlink_c::checkGroundSpecialMode() { if (mLinkAcch.ChkGroundHit() && !checkModeFlg(MODE_PLAYER_FLY) && !checkMagneBootsOn() && - checkEndResetFlg0(ERFLG0_UNK_2)) + checkEndResetFlg0(ERFLG0_FORCE_WOLF_CHANGE)) { return procCoMetamorphoseInit(); } @@ -11604,7 +12152,7 @@ BOOL daAlink_c::checkGroundSpecialMode() { return procGoatMoveInit(); } - if (mSpecialMode == 1) { + if (mMode == 1) { return procSumouReadyInit(); } @@ -11620,12 +12168,12 @@ BOOL daAlink_c::checkGroundSpecialMode() { return 1; } - fopAc_ac_c* actor = checkGoronRide(); - if (actor != NULL) { - return procGoronRideWaitInit(actor); + fopAc_ac_c* goronActor = checkGoronRide(); + if (goronActor != NULL) { + return procGoronRideWaitInit(goronActor); } - if (checkEndResetFlg1(ERFLG1_UNK_1)) { + if (checkEndResetFlg1(ERFLG1_NS_SCREAM)) { return procScreamWaitInit(); } @@ -11641,7 +12189,7 @@ int daAlink_c::commonCheckNextAction(int param_0) { } int daAlink_c::checkNextAction(int param_0) { - f32 temp_f31 = field_0x594; + f32 prev_maxSpeed = mMaxSpeed; if (checkDeadAction(1)) { return 1; @@ -11651,18 +12199,16 @@ int daAlink_c::checkNextAction(int param_0) { return 1; } - u32 procID = mProcID; - if (procID != PROC_MOVE_TURN && (param_0 == 0 || checkInputOnR()) && - (procID != PROC_HOOKSHOT_MOVE || checkHookshotWait())) + if (mProcID != PROC_MOVE_TURN && (param_0 == 0 || checkInputOnR()) && + (mProcID != PROC_HOOKSHOT_MOVE || checkHookshotWait())) { if (mTargetedActor != NULL || checkAttentionLock()) { setSpeedAndAngleAtn(); - } else if (((!checkUpperReadyThrowAnime() || mFastShotTime != 0) || - (checkBoomerangThrowAnime() && - (mThrowBoomerangAcKeep.getActor() != NULL || mEquipItem == 0x102 || - checkNoResetFlg1(FLG1_UNK_2)))) || - (checkCopyRodThrowAnime() && - (mCopyRodAcKeep.getActor() != NULL || checkNoResetFlg1(FLG1_UNK_10000)))) + } else if (((!checkUpperReadyThrowAnime() || mFastShotTime != 0) + || (checkBoomerangThrowAnime() + && (mThrowBoomerangAcKeep.getActor() != NULL || mEquipItem == 0x102 || checkNoResetFlg1(FLG1_UNK_2)) + ) + ) || (checkCopyRodThrowAnime() && (mCopyRodAcKeep.getActor() != NULL || checkNoResetFlg1(FLG1_UNK_10000)))) { setSpeedAndAngleNormal(); } @@ -11670,19 +12216,19 @@ int daAlink_c::checkNextAction(int param_0) { setFrontWallType(); - bool attention_state = checkAttentionState(); - if (attention_state) { + bool isAttention = checkAttentionState(); + if (isAttention) { if (checkFmChainGrabAnime()) { - field_0x594 = 13.0f; + mMaxSpeed = 13.0f; } else if (mTargetedActor != NULL) { - field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mAtnMove.m.mMaxSpeed; } else { - field_0x594 = mpHIO->mNoActAtnMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mNoActAtnMove.m.mMaxSpeed; } } else if (checkSlope()) { - field_0x594 = mpHIO->mSlide.m.mMaxClimbSpeed; + mMaxSpeed = mpHIO->mSlide.m.mMaxClimbSpeed; } else { - field_0x594 = mpHIO->mMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mMove.m.mMaxSpeed; } if (checkEndResetFlg0(ERFLG0_UNK_100000) && mLinkAcch.ChkGroundHit() && @@ -11700,12 +12246,12 @@ int daAlink_c::checkNextAction(int param_0) { } if (param_0 != 0 && !checkInputOnR() && !checkEquipAnime()) { - field_0x594 = temp_f31; + mMaxSpeed = prev_maxSpeed; return 0; } int ret; - if (attention_state) { + if (isAttention) { if (checkBowAnime()) { ret = checkNextActionBow(); } else if (checkBoomerangAnimeAndReturnWait() && mEquipItem != 0x102) { @@ -11716,7 +12262,7 @@ int daAlink_c::checkNextAction(int param_0) { ret = checkNextActionHookshot(); } else if (checkIronBallAnime()) { ret = checkNextActionIronBall(); - } else if (mTargetedActor != NULL || mDemo.getDemoMode() == 0x17) { + } else if (mTargetedActor != NULL || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_23_e) { if (checkZeroSpeedF()) { ret = procAtnActorWaitInit(); } else { @@ -11731,7 +12277,7 @@ int daAlink_c::checkNextAction(int param_0) { field_0x2f98 = 4; if (checkZeroSpeedF()) { - if (cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800 && checkInputOnR()) { + if (cLib_distanceAngleS(mMoveAngle, current.angle.y) > 0x7800 && checkInputOnR()) { ret = procWaitTurnInit(); if (!ret && !checkEventRun()) { ret = checkWaitAction(); @@ -11741,8 +12287,8 @@ int daAlink_c::checkNextAction(int param_0) { } } else if (mProcID == PROC_MOVE_TURN && current.angle.y != shape_angle.y) { ret = procMoveTurnInit(0); - } else if (checkInputOnR() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800) { - if (speedF / field_0x594 > mpHIO->mMove.m.mSlideThresholdSpeed && + } else if (checkInputOnR() && cLib_distanceAngleS(mMoveAngle, current.angle.y) > 0x7800) { + if (speedF / mMaxSpeed > mpHIO->mMove.m.mSlideThresholdSpeed && mGndPolySpecialCode != dBgW_SPCODE_ICE && !checkGrabAnime() && getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) { @@ -11750,9 +12296,7 @@ int daAlink_c::checkNextAction(int param_0) { } else { ret = procMoveTurnInit(1); } - } else if (checkInputOnR() && - getDirectionFromAngle(field_0x2fe2 - current.angle.y) == DIR_BACKWARD) - { + } else if (checkInputOnR() && getDirectionFromCurrentAngle() == DIR_BACKWARD) { ret = procMoveTurnInit(1); } else { ret = procMoveInit(); @@ -11801,7 +12345,12 @@ void daAlink_c::commonChangeItem() { onNoResetFlg1(FLG1_UNK_40000); - if (!checkEventRun() && !checkNoResetFlg1(FLG1_UNK_40) && (mEquipItem != 0x103 || !checkNoResetFlg3(FLG3_UNK_8000)) && !checkFishingRodAndLureItem() && (checkAttentionLock() || mEquipItem != 0x103 || var_r30)) { + if (!checkEventRun() + && !checkNoResetFlg1(FLG1_UNK_40) + && (mEquipItem != 0x103 || !checkNoResetFlg3(FLG3_UNK_8000)) + && !checkFishingRodAndLureItem() + && (checkAttentionLock() || mEquipItem != 0x103 || var_r30)) + { onResetFlg0(RFLG0_UNK_80); } @@ -11914,16 +12463,16 @@ void daAlink_c::setItemAction() { } else { const daAlinkHIO_cutDash_c1* cut_hio; - if (checkUpperAnime(0x80)) { + if (checkUpperAnime(dRes_ID_ALANM_BCK_CUTDL_e)) { cut_hio = &mpHIO->mCut.mCutDashLeft.m; - } else if (checkUpperAnime(0x81)) { + } else if (checkUpperAnime(dRes_ID_ALANM_BCK_CUTDR_e)) { cut_hio = &mpHIO->mCut.mCutDashRight.m; } else { cut_hio = &mpHIO->mCut.mCutDashCharge.m; } if (frame_ctrl->getFrame() >= cut_hio->mAttackStartFrame && frame_ctrl->getFrame() < cut_hio->mAttackEndFrame) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_S); } @@ -11933,7 +12482,7 @@ void daAlink_c::setItemAction() { if (!checkDashAnime() && mProcID != PROC_BOARD_CUT) { clearComboReserb(); } else if (field_0x2fce == 0 && swordSwingTrigger()) { - onNoResetFlg2(FLG2_UNK_2); + onNoResetFlg2(FLG2_COMBO_RESERB); } offNoResetFlg2(FLG2_UNK_4); @@ -11966,24 +12515,27 @@ BOOL daAlink_c::checkNextActionFromCrouch(int param_0) { } int daAlink_c::checkUpperReadyThrowAnime() const { - return checkBoomerangAnime() || checkCopyRodAnime() || checkHookshotAnime() || - checkIronBallAnime() || checkBowAnime(); + return checkBoomerangAnime() + || checkCopyRodAnime() + || checkHookshotAnime() + || checkIronBallAnime() + || checkBowAnime(); } void daAlink_c::getBodyAngleXBasePos(cXyz* o_pos) { - int mtx_id; + int jointNo; if (mProcID == PROC_HOOKSHOT_WALL_SHOOT || mProcID == PROC_HOOKSHOT_ROOF_SHOOT) { if (field_0x3020 == 0) { - mtx_id = 7; + jointNo = 7; } else { - mtx_id = 12; + jointNo = 12; } } else { - mtx_id = 1; + jointNo = 1; } - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(mtx_id), o_pos); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(jointNo), o_pos); } s16 daAlink_c::getBodyAngleXAtnActor(int param_0) { @@ -12023,14 +12575,14 @@ void daAlink_c::setBodyAngleXReadyAnime(int param_0) { s16 angle_x = getBodyAngleXAtnActor(param_0); if (checkUpperGuardAnime()) { - angle_x >>= 1; // divide by 2 adds extra addze? + angle_x >>= 1; } cLib_addCalcAngleS(&mBodyAngle.x, angle_x, 4, 0x0C00, 0x0180); field_0x310a = mBodyAngle.x; } -void daAlink_c::setMagicArmorBrk(int param_0) { +void daAlink_c::setMagicArmorBrk(int i_status) { static const char* bodyBrkName[3] = { "ml_body_power_down.brk", "ml_body_power_up_a.brk", @@ -12043,19 +12595,19 @@ void daAlink_c::setMagicArmorBrk(int param_0) { "ml_head_power_up_b.brk", }; - J3DModelData* model_data = mpLinkModel->getModelData(); - mMagicArmorBodyBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_mArcName, bodyBrkName[param_0]); - mMagicArmorBodyBrk->searchUpdateMaterialID(model_data); - model_data->entryTevRegAnimator(mMagicArmorBodyBrk); + J3DModelData* modelData = mpLinkModel->getModelData(); + mMagicArmorBodyBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_mArcName, bodyBrkName[i_status]); + mMagicArmorBodyBrk->searchUpdateMaterialID(modelData); + modelData->entryTevRegAnimator(mMagicArmorBodyBrk); mMagicArmorBodyBrk->setFrame(0.0f); - J3DModelData* head_model_data = mpLinkHatModel->getModelData(); - mMagicArmorHeadBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_mArcName, headBrkName[param_0]); - mMagicArmorHeadBrk->searchUpdateMaterialID(head_model_data); - head_model_data->entryTevRegAnimator(mMagicArmorHeadBrk); + modelData = mpLinkHatModel->getModelData(); + mMagicArmorHeadBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_mArcName, headBrkName[i_status]); + mMagicArmorHeadBrk->searchUpdateMaterialID(modelData); + modelData->entryTevRegAnimator(mMagicArmorHeadBrk); mMagicArmorHeadBrk->setFrame(0.0f); - field_0x2fd7 = param_0; + field_0x2fd7 = i_status; } BOOL daAlink_c::checkMagicArmorHeavy() const { @@ -12067,15 +12619,18 @@ BOOL daAlink_c::checkBootsOrArmorHeavy() const { } // param_0 something related to boots -BOOL daAlink_c::checkHeavyStateOn(int param_0, int param_1) { +BOOL daAlink_c::checkHeavyStateOn(BOOL param_0, BOOL param_1) { if (!checkEventRun()) { - if ((param_1 != 0 && mSinkShapeOffset < -30.0f) || - (param_0 != 0 && checkIronBallWaitAnime()) || checkIronBallAnime() || - checkMagicArmorHeavy() || getHeavyStateAndBoots()) + if ((param_1 && mSinkShapeOffset < -30.0f) + || (param_0 && checkIronBallWaitAnime()) + || checkIronBallAnime() + || checkMagicArmorHeavy() + || getHeavyStateAndBoots()) { return true; } } + return false; } @@ -12098,7 +12653,7 @@ void daAlink_c::initGravity() { if (checkWolf()) { if (checkModeFlg(MODE_SWIMMING)) { - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { gravity = -mpHIO->mWolf.mWlSwim.m.mHeavyBuoyancy; max_fall_speed = mpHIO->mWolf.mWlSwim.m.mHeavyMaxFallSpeed; } else { @@ -12109,9 +12664,9 @@ void daAlink_c::initGravity() { gravity = mpHIO->mWolf.mWlAutoJump.m.mGravity; max_fall_speed = mpHIO->mWolf.mWlAutoJump.m.mMaxFallSpeed; } - } else if (checkModeFlg(MODE_SWIMMING) || checkNoResetFlg0(FLG0_UNDERWATER)) { + } else if (checkModeFlg(MODE_SWIMMING) || checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { max_fall_speed = getSwimMaxFallSpeed(); - if (checkHeavyStateOn(1, 1) && mProcID != PROC_OCTAIEAL_SPIT) { + if (checkHeavyStateOn(TRUE, TRUE) && mProcID != PROC_OCTAIEAL_SPIT) { gravity = mpHIO->mSwim.m.mBootsGravity; } else { gravity = -mpHIO->mSwim.m.mBuoyancy; @@ -12121,11 +12676,11 @@ void daAlink_c::initGravity() { max_fall_speed = mpHIO->mAutoJump.m.mMaxFallSpeed; } - setSpecialGravity(gravity, max_fall_speed, 1); + setSpecialGravity(gravity, max_fall_speed, TRUE); } -void daAlink_c::setSpecialGravity(f32 i_gravity, f32 i_speed, int i_offFlag) { - if (i_offFlag) { +void daAlink_c::setSpecialGravity(f32 i_gravity, f32 i_speed, BOOL i_isOffFlag) { + if (i_isOffFlag) { offNoResetFlg3(FLG3_UNK_4000); } else { onNoResetFlg3(FLG3_UNK_4000); @@ -12285,7 +12840,7 @@ void daAlink_c::setFootSpeed() { s16 temp_r0 = current.angle.y - shape_angle.y; var_f31 = fabsf(sp8.z * cM_scos(temp_r0)) + fabsf(sp8.x * cM_ssin(temp_r0)); - if (fabsf(mSpeedModifier) < 1.0f && checkInputOnR() && fabsf(field_0x33a4 - field_0x33a8) < 0.2f) { + if (fabsf(mSpeedModifier) < 1.0f && checkInputOnR() && fabsf(field_0x33a4 - mStickValue) < 0.2f) { var_f31 = (0.3f * var_f31) + (0.7f * field_0x33a0); } } else { @@ -12304,10 +12859,9 @@ void daAlink_c::setFootSpeed() { } void daAlink_c::posMove() { - cXyz sp108; - f32 temp_f30 = cM_ssin(shape_angle.y); f32 temp_f29 = cM_scos(shape_angle.y); + cXyz sp108; if (!checkNoResetFlg3(FLG3_UNK_4000)) { initGravity(); @@ -12319,7 +12873,7 @@ void daAlink_c::posMove() { if (checkModeFlg(MODE_SWIMMING)) { var_r26 = field_0x3080; } else if (!mLinkAcch.ChkGroundHit() || checkMagneBootsOn() || - (checkModeFlg(MODE_PLAYER_FLY) && !checkBoardRide()) || field_0x3174 == 8) + (checkModeFlg(MODE_PLAYER_FLY) && !checkBoardRide()) || mGroundCode == 8) { var_r26 = 0; } else { @@ -12353,7 +12907,7 @@ void daAlink_c::posMove() { } if (mProcID == PROC_AUTO_JUMP && checkGrabGlide() && - (field_0xC04[0].ChkTgHit() || field_0xC04[1].ChkTgHit() || field_0xC04[2].ChkTgHit())) + (mWindTgCyls[0].ChkTgHit() || mWindTgCyls[1].ChkTgHit() || mWindTgCyls[2].ChkTgHit())) { speedF *= 0.5f; } @@ -12403,7 +12957,7 @@ void daAlink_c::posMove() { { speed.y = 0.0f; } else if (checkWolf()) { - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { speed.y += mpHIO->mWolf.mWlSwim.m.mHeavyBuoyancy; if (speed.y > mpHIO->mWolf.mWlSwim.m.mHeavyMaxSurfacingSpeed) { @@ -12447,8 +13001,8 @@ void daAlink_c::posMove() { } } } else if (!checkModeFlg(0x400)) { - if (checkHeavyStateOn(1, 1) && mProcID != PROC_SPINNER_READY && - !checkNoResetFlg0(FLG0_UNDERWATER)) + if (checkHeavyStateOn(TRUE, TRUE) && mProcID != PROC_SPINNER_READY && + !checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { speed.y += gravity * 2.25f; @@ -12490,7 +13044,7 @@ void daAlink_c::posMove() { current.pos.x += field_0x342c; current.pos.z += field_0x3430; - if (checkEndResetFlg1(ERFLG1_UNK_800) && checkStageName("F_SP113")) { + if (checkEndResetFlg1(ERFLG1_WATERFALL_FRONT_HIT) && checkStageName("F_SP113")) { current.pos.y -= 50.0f; } } @@ -12514,11 +13068,11 @@ void daAlink_c::posMove() { if (!checkNoCollisionCorret() && !checkModeFlg(0x40)) { if (!checkNoResetFlg3(FLG3_UNK_20000000)) { - current.pos += *field_0x814.GetCCMoveP(); + current.pos += *mCcStts.GetCCMoveP(); } if (!eventRunning) { - if (!checkEndResetFlg0(ERFLG0_UNK_8) || !checkHeavyStateOn(1, 1)) { + if (!checkEndResetFlg0(ERFLG0_UNK_8) || !checkHeavyStateOn(TRUE, TRUE)) { current.pos.x += field_0x3400; current.pos.z += field_0x3404; } @@ -12530,7 +13084,7 @@ void daAlink_c::posMove() { s16 angle2 = getGroundAngle(&mLinkAcch.m_gnd, 0x4000); current.pos.x += field_0x35c4.x * cM_scos(angle2); - if (checkZeroSpeedF() && field_0x35c4.abs2() > 9.0f) { + if (checkZeroSpeedF() && field_0x35c4.abs2() > SQUARE(3.0f)) { seStartOnlyReverbLevel(Z2SE_AL_ICE_SLIP); } } @@ -12543,13 +13097,13 @@ void daAlink_c::posMove() { current.pos.x += mWindSpeed.x; current.pos.z += mWindSpeed.z; } - } else if (checkNoResetFlg0(FLG0_UNK_14000)) { + } else if (checkNoResetFlg0(daPy_FLG0(FLG0_DEMO_STREAM_ACCEPT | FLG0_UNK_4000))) { current.pos += field_0x3594; } } else if (checkOctaIealSpecialCollect()) { f32 temp_f1 = getHookshotTopPos()->abs(current.pos); - current.pos += *field_0x814.GetCCMoveP(); + current.pos += *mCcStts.GetCCMoveP(); f32 temp_f31 = getHookshotTopPos()->abs(current.pos); if (temp_f31 > temp_f1) { @@ -12559,11 +13113,12 @@ void daAlink_c::posMove() { mProcID == PROC_CLIMB_MOVE_UPDOWN || mProcID == PROC_CLIMB_WAIT || mProcID == PROC_HANG_WAIT)) { - f32 temp_f31 = field_0x814.GetCCMoveP()->absXZ(); + f32 temp_f31 = mCcStts.GetCCMoveP()->absXZ(); var_r27 = TRUE; if (temp_f31 > 1.0f) { - if ((s16)(field_0x814.GetCCMoveP()->atan2sX_Z() - shape_angle.y) >= 0) { + s16 var_r23 = (s16)(mCcStts.GetCCMoveP()->atan2sX_Z() - shape_angle.y); + if (var_r23 >= 0) { current.pos.x += temp_f31 * temp_f29; current.pos.z -= temp_f31 * temp_f30; } else { @@ -12576,10 +13131,7 @@ void daAlink_c::posMove() { if (checkModeFlg(MODE_SWIMMING) && checkNoResetFlg0(FLG0_SWIM_UP)) { cXyz sp84 = current.pos - field_0x3798; - f32 temp_f3 = sp84.absXZ(); - s16 gnd_angle = getGroundAngle(&mLinkAcch.m_wtr, sp84.atan2sX_Z()); - temp_f3 *= cM_ssin(gnd_angle); - + f32 temp_f3 = sp84.absXZ() * cM_ssin(getGroundAngle(&mLinkAcch.m_wtr, sp84.atan2sX_Z())); if (temp_f3 < 0.0f) { temp_f3 = 0.0f; } @@ -12591,7 +13143,7 @@ void daAlink_c::posMove() { field_0x3400 = 0.0f; field_0x3404 = 0.0f; - field_0x814.ClrCcMove(); + mCcStts.ClrCcMove(); offNoResetFlg3(FLG3_UNK_20000000); field_0x3464 = 0.0f; field_0x3468 = 0.0f; @@ -12692,6 +13244,7 @@ void daAlink_c::autoGroundHit() { offNoResetFlg0(FLG0_UNK_2000); if (checkMagneBootsOn()) { + BOOL var_r27 = FALSE; cXyz sp68; cXyz sp5C; cXyz sp50; @@ -12781,7 +13334,7 @@ void daAlink_c::autoGroundHit() { if (checkReinRide() || checkSpinnerRide()) { if ((current.pos.y - mLinkAcch.GetGroundH() > 1500.0f) || (checkSpinnerRide() && mRideAcKeep.getActor() != NULL && ((daSpinner_c*)mRideAcKeep.getActor())->getJumpFlg())) { - if (checkNoResetFlg3(FLG3_UNK_80000) == 0) { + if (!checkNoResetFlg3(FLG3_UNK_80000)) { onNoResetFlg3(FLG3_UNK_80000); mLastJumpPos = current.pos; mFallHeight = mLastJumpPos.y; @@ -12817,15 +13370,23 @@ bool daAlink_c::startPeepChange() { } void daAlink_c::setLastSceneDamage(int i_dmgAmount, u32* o_mode) { - if (i_dmgAmount <= 0) { - return; - } + if ( + #if DEBUG + !mpHIO->mDamage.m.mInvincible && + #endif + i_dmgAmount > 0 + ) + { + if (i_dmgAmount >= 128) { + JUT_ASSERT(19795, FALSE); - if (0x80 <= i_dmgAmount) { - i_dmgAmount = 0x7F; - } + #if !DEBUG + i_dmgAmount = 127; + #endif + } - *o_mode |= i_dmgAmount << 4; + *o_mode |= i_dmgAmount << 4; + } } void daAlink_c::setLastSceneMode(u32* o_mode) { @@ -12862,16 +13423,16 @@ void daAlink_c::setLastSceneMode(u32* o_mode) { } } -int daAlink_c::startRestartRoom(u32 i_mode, int param_1, int i_dmgAmount, int i_eventRun) { +int daAlink_c::startRestartRoom(u32 i_mode, int param_1, int i_dmgAmount, BOOL i_isEventRun) { if (!checkNoResetFlg0(FLG0_UNK_4000) && - (i_eventRun != 0 || dComIfGp_event_compulsory(this, NULL, 0xFFFF))) + (i_isEventRun || dComIfGp_event_compulsory(this, NULL, 0xFFFF))) { if (!checkRestartDead(i_dmgAmount, i_mode == 4)) { onNoResetFlg0(FLG0_UNK_4000); - if (i_eventRun == 0) { + if (!i_isEventRun) { mDemo.setOriginalDemoType(); - mDemo.setDemoMode(1); + mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_1_e); } int start_mode = getStartMode(); @@ -12881,8 +13442,7 @@ int daAlink_c::startRestartRoom(u32 i_mode, int param_1, int i_dmgAmount, int i_ start_mode = 0; } - // event flag 0x2008 = cleared snowpeak ruins - if (!dComIfGs_isEventBit(0x2008) && (checkBoardRide() || checkBoardRestart())) { + if (!dComIfGs_isEventBit(dSv_event_flag_c::F_0266) && (checkBoardRide() || checkBoardRestart())) { i_mode = 11; } else if (checkBoarSingleBattle() || (start_mode == 2 && !checkFinalBattle() && i_mode == 5)) @@ -12891,8 +13451,7 @@ int daAlink_c::startRestartRoom(u32 i_mode, int param_1, int i_dmgAmount, int i_ } setLastSceneDamage(i_dmgAmount, &i_mode); - u32 params = setParamData(dComIfGs_getRestartRoomNo(), start_mode, param_1, 0); - dStage_restartRoom(params, i_mode, 0); + dStage_restartRoom(setParamData(dComIfGs_getRestartRoomNo(), start_mode, param_1, 0), i_mode, 0); if (mProcID != PROC_DEAD) { seStartSystem(Z2SE_FORCE_BACK); @@ -12919,28 +13478,25 @@ void daAlink_c::checkRoofRestart() { spinner = NULL; } - if (mLinkAcch.ChkRoofHit() && - (mLinkAcch.ChkGroundHit() || - (spinner != NULL && spinner->checkGroundHit() && spinner->getJumpFlg() == 0)) && - !checkMagneBootsOn() && - (mProcID != PROC_CRAWL_START && mProcID != PROC_CRAWL_END && !checkCoachGuardGame())) + if (mLinkAcch.ChkRoofHit() + && (mLinkAcch.ChkGroundHit() || (spinner != NULL && spinner->checkGroundHit() && spinner->getJumpFlg() == 0)) + && !checkMagneBootsOn() + && (mProcID != PROC_CRAWL_START && mProcID != PROC_CRAWL_END && !checkCoachGuardGame())) { - s16 ac_name = getMoveBGActorName(mLinkAcch.m_roof, TRUE); - if (ac_name == PROC_OBJ_SO || ac_name == PROC_Obj_SCannon) { + s16 bg_actorName = getMoveBGActorName(mLinkAcch.m_roof, TRUE); + if (bg_actorName == PROC_OBJ_SO || bg_actorName == PROC_Obj_SCannon) { return; } f32 roof_height = mLinkAcch.GetRoofHeight(); if (roof_height > mLinkAcch.GetGroundH()) { f32 head_pos = mHeadTopPos.y - 10.0f; - f32 temp_f0 = 10.0f + current.pos.y; - - if (head_pos < temp_f0) { - head_pos = temp_f0; + if (head_pos < 10.0f + current.pos.y) { + head_pos = 10.0f + current.pos.y; } if (roof_height < head_pos) { - startRestartRoom(5, 0xC9, 4, 0); + startRestartRoom(5, 0xC9, 4, FALSE); } } } @@ -12949,18 +13505,21 @@ void daAlink_c::checkRoofRestart() { BOOL daAlink_c::checkRestartRoom() { if (checkMagneBootsOn()) { if (checkNoResetFlg0(FLG0_UNK_2000) && (dKy_pol_argument_get(&mMagneLineChk) & 0x80)) { - startRestartRoom(5, 0xC9, 4, 0); + startRestartRoom(5, 0xC9, 4, FALSE); return true; } - } else if (mLinkAcch.ChkGroundHit() && field_0x2fbd == 2) { - return procCoLavaReturnInit(1); - } else if ((checkModeFlg(0x40000) || (checkNoResetFlg0(FLG0_UNK_80) && mWaterY - current.pos.y > mpHIO->mSwim.m.mStartHeight)) && fopAcM_GetRoomNo(this) == 0 && checkStageName("F_SP114")) { + } else if (mLinkAcch.ChkGroundHit() && mGndPolyAtt1 == 2) { + return procCoLavaReturnInit(TRUE); + } else if ((checkModeFlg(0x40000) || (checkNoResetFlg0(FLG0_UNK_80) && mWaterY - current.pos.y > mpHIO->mSwim.m.mStartHeight)) + && fopAcM_GetRoomNo(this) == 0 + && checkStageName("F_SP114")) + { return procCoSwimFreezeReturnInit(); - } else if (!checkCargoCarry() && (field_0x3174 == 4 || field_0x3174 == 10 || (-G_CM3D_F_INF == mLinkAcch.GetGroundH() && !checkModeFlg(0x40000)))) { + } else if (!checkCargoCarry() && (mGroundCode == 4 || mGroundCode == 10 || (-G_CM3D_F_INF == mLinkAcch.GetGroundH() && !checkModeFlg(0x40000)))) { BOOL temp_r28 = mWaterY > mLinkAcch.GetGroundH(); f32 var_f31; - if (field_0x3174 == 10) { + if (mGroundCode == 10) { var_f31 = current.pos.y - mLinkAcch.GetGroundH(); } else { var_f31 = field_0x33c8 - current.pos.y; @@ -12975,24 +13534,28 @@ BOOL daAlink_c::checkRestartRoom() { var_f30 = 2000.0f; } - if ((field_0x3174 != 10 && ((temp_r28 && checkModeFlg(0x40000)) || (!temp_r28 && (checkModeFlg(2) || checkNoResetFlg3(FLG3_UNK_80000)) && mProcID != PROC_HOOKSHOT_FLY && !checkModeFlg(0x800) && var_f31 > var_f30))) || (field_0x3174 == 10 && var_f31 <= 3000.0f) || (checkSpinnerRide() && mRideAcKeep.getActor() != NULL && ((daSpinner_c*)mRideAcKeep.getActor())->checkGroundHit()) || (mLinkAcch.ChkGroundHit() && mProcID != PROC_HOOKSHOT_FLY)) { - int var_r29; - s8 var_r27; + if ((mGroundCode != 10 && ((temp_r28 && checkModeFlg(0x40000)) || (!temp_r28 && (checkModeFlg(2) || checkNoResetFlg3(FLG3_UNK_80000)) && mProcID != PROC_HOOKSHOT_FLY && !checkModeFlg(0x800) && var_f31 > var_f30))) + || (mGroundCode == 10 && var_f31 <= 3000.0f) + || (checkSpinnerRide() && mRideAcKeep.getActor() != NULL && ((daSpinner_c*)mRideAcKeep.getActor())->checkGroundHit()) + || (mLinkAcch.ChkGroundHit() && mProcID != PROC_HOOKSHOT_FLY)) + { + int exitID; + s8 roomNo; - if (field_0x3174 == 4 || field_0x3174 == 10) { + if (mGroundCode == 4 || mGroundCode == 10) { if (checkCoachGuardGame()) { - var_r29 = 0; - var_r27 = -1; + exitID = 0; + roomNo = -1; } else { - var_r29 = dComIfG_Bgsp().GetExitId(mLinkAcch.m_gnd); - var_r27 = (s8)current.roomNo; + exitID = dComIfG_Bgsp().GetExitId(mLinkAcch.m_gnd); + roomNo = fopAcM_GetRoomNo(this); } if (checkModeFlg(2)) { mLinkAcch.ClrGroundHit(); } } else { - var_r29 = 0x3F; + exitID = 0x3F; } if (!checkNoResetFlg0(FLG0_UNK_40000) && checkWolf()) { @@ -13000,11 +13563,11 @@ BOOL daAlink_c::checkRestartRoom() { onNoResetFlg0(FLG0_UNK_40000); } - if (var_r29 != 0x3F) { - if (!checkNoResetFlg0(FLG0_UNK_4000) && dComIfGp_event_compulsory(this, NULL, 0xFFFF) && !checkRestartDead(4, 0)) { + if (exitID != 0x3F) { + if (!checkNoResetFlg0(FLG0_UNK_4000) && dComIfGp_event_compulsory(this, NULL, 0xFFFF) && !checkRestartDead(4, FALSE)) { mDemo.setOriginalDemoType(); if (checkSpinnerRide()) { - mDemo.setDemoMode(0xE); + mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_14_e); mDemo.setParam0(2); } else { mDemo.setDemoMode(1); @@ -13012,24 +13575,30 @@ BOOL daAlink_c::checkRestartRoom() { onNoResetFlg0(FLG0_UNK_4000); - u32 sp8 = 5; - setLastSceneDamage(4, &sp8); - seStartSystem(0x33); - dStage_changeScene(var_r29, 0.0f, sp8, var_r27, shape_angle.y, -1); + u32 mode = 5; + setLastSceneDamage(4, &mode); + seStartSystem(Z2SE_FORCE_BACK); + dStage_changeScene(exitID, 0.0f, mode, roomNo, shape_angle.y, -1); } - } else if (startRestartRoom(5, 0xC9, 4, 0) && checkSpinnerRide()) { - mDemo.setDemoMode(0xE); + } else if (startRestartRoom(5, 0xC9, 4, FALSE) && checkSpinnerRide()) { + mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_14_e); mDemo.setParam0(2); } return true; } - } else if ((mLinkAcch.ChkGroundHit() && (dKy_pol_argument_get(&mLinkAcch.m_gnd) & 0x80)) || (checkWaterPolygonUnder() && checkNoResetFlg0(FLG0_UNK_80) && (dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x80)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -G_CM3D_F_INF != field_0x33b8 && (field_0x2fc6 & 0x80)) || (field_0x2fbc == 6 && checkNoResetFlg0(FLG0_UNK_80) && checkWaterPolygonUnder() && mWaterY > (mpHIO->mBasic.m.mLavaDeathDepth + mLinkAcch.GetGroundH())) || (field_0x2fc5 == 6 && -G_CM3D_F_INF != field_0x33b8 && field_0x33bc < field_0x33b8 && checkModeFlg(0x40) && field_0x33b8 > (field_0x33d8 + mpHIO->mBasic.m.mLavaDeathDepth))) { + } else if ((mLinkAcch.ChkGroundHit() && (dKy_pol_argument_get(&mLinkAcch.m_gnd) & 0x80)) + || (checkWaterPolygonUnder() && checkNoResetFlg0(FLG0_UNK_80) && (dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x80)) + || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -G_CM3D_F_INF != field_0x33b8 && (field_0x2fc6 & 0x80)) + || (field_0x2fbc == 6 && checkNoResetFlg0(FLG0_UNK_80) && checkWaterPolygonUnder() && mWaterY > (mpHIO->mBasic.m.mLavaDeathDepth + mLinkAcch.GetGroundH())) + || (field_0x2fc5 == 6 && -G_CM3D_F_INF != field_0x33b8 && field_0x33bc < field_0x33b8 && checkModeFlg(0x40) && field_0x33b8 > (field_0x33d8 + mpHIO->mBasic.m.mLavaDeathDepth)) + ) + { if (field_0x2fbc == 6 || (checkModeFlg(0x40) && field_0x2fc5 == 6)) { - return procCoLavaReturnInit(0); + return procCoLavaReturnInit(FALSE); } - startRestartRoom(5, 0xC9, 4, 0); + startRestartRoom(5, 0xC9, 4, FALSE); return true; } @@ -13049,40 +13618,47 @@ s16 daAlink_c::getSceneExitMoveAngle() { f32 var_f29; if (checkHorseRide()) { - var_f29 = 10000.0f; + var_f29 = SQUARE(100.0f); } else { - var_f29 = 2500.0f; + var_f29 = SQUARE(50.0f); } - if (dx * dx + dz * dz < var_f29) { + if (SQUARE(dx) + SQUARE(dz) < var_f29) { field_0x2fc2++; if (field_0x2f58->m_num == field_0x2fc2) { return mDemo.getMoveAngle(); } - dx = var_r30[1].m_position.x - current.pos.x; - dz = var_r30[1].m_position.z - current.pos.z; + var_r30++; + dx = var_r30->m_position.x - current.pos.x; + dz = var_r30->m_position.z - current.pos.z; } return cM_atan2s(dx, dz); } -int daAlink_c::checkSceneChange(int exitID) { - BOOL var_r3 = mProcID != PROC_FOG_DEAD && (field_0x3174 == 9 || checkNoResetFlg2(FLG2_UNK_4000)); +int daAlink_c::checkSceneChange(int i_exitID) { + BOOL var_r3 = mProcID != PROC_FOG_DEAD && (mGroundCode == 9 || checkNoResetFlg2(FLG2_FOG_FADE)); - if (field_0x3174 == 4 || field_0x3174 == 10) { - exitID = 0x3F; + if (mGroundCode == 4 || mGroundCode == 10) { + i_exitID = 0x3F; } if (var_r3 || - ((exitID != 0x3F || mExitID != 0x3F) && - (checkModeFlg(0x40000) || checkModeFlg(0x400) || mLinkAcch.ChkGroundHit() || - mProcID == PROC_DOOR_OPEN || mProcID == PROC_WARP || mProcID == PROC_WOLF_DIG_THROUGH || - (field_0x3174 == 5 && field_0x33c8 - current.pos.y > 500.0f))) || - (mExitID & 0x8000 && checkModeFlg(2))) + ((i_exitID != 0x3F || mExitID != 0x3F) + && (checkModeFlg(0x40000) + || checkModeFlg(0x400) + || mLinkAcch.ChkGroundHit() + || mProcID == PROC_DOOR_OPEN + || mProcID == PROC_WARP + || mProcID == PROC_WOLF_DIG_THROUGH + || (mGroundCode == 5 && field_0x33c8 - current.pos.y > 500.0f) + ) + ) || ((mExitID & 0x8000) && checkModeFlg(2)) + ) { - if (field_0x3174 == 5 || (mExitID & 0x8000 && mExitDirection == 0xFF)) { + if (mGroundCode == 5 || ((mExitID & 0x8000) && mExitDirection == 0xFF)) { mLinkAcch.ClrGroundHit(); } @@ -13144,7 +13720,7 @@ int daAlink_c::checkSceneChange(int exitID) { if (is_horse_ride) { exit_mode = 1; } else if (checkModeFlg(0x1000000)) { - exit_speed = field_0x33a8; + exit_speed = mStickValue; if (mUnderFrameCtrl[0].getRate() >= 0.0f) { exit_mode = 2; } else { @@ -13156,21 +13732,24 @@ int daAlink_c::checkSceneChange(int exitID) { exit_mode = 0; } - if (eventInfo.checkCommandDoor() || mProcID == PROC_WARP || mProcID == PROC_WOLF_DIG || - mProcID == PROC_WOLF_DIG_THROUGH || field_0x3106 != 0 || - dComIfGp_event_compulsory(this, NULL, -1)) + if (eventInfo.checkCommandDoor() + || mProcID == PROC_WARP + || mProcID == PROC_WOLF_DIG + || mProcID == PROC_WOLF_DIG_THROUGH + || field_0x3106 != 0 + || dComIfGp_event_compulsory(this, NULL, -1)) { - BOOL scn_changed = false; + BOOL isScnChange = false; if (var_r3) { mDemo.setOriginalDemoType(); - mDemo.setDemoMode(0x34); + mDemo.setDemoMode(daPy_demo_c::DEMO_FOG_DEAD_e); } else { if (mExitID != 0x3F) { - scn_changed = dStage_changeScene(mExitID & 0xFF, exit_speed, exit_mode, + isScnChange = dStage_changeScene(mExitID & 0xFF, exit_speed, exit_mode, fopAcM_GetRoomNo(this), shape_angle.y, -1); - if (scn_changed) { - onNoResetFlg2(FLG2_SCN_CHG_START); + if (isScnChange) { + onNoResetFlg2(FLG2_SCENE_CHANGE_START); if (mpScnChg != NULL && fopAcM_GetName(mpScnChg) == PROC_SCENE_EXIT) { mpScnChg->setSceneChangeOK(); } @@ -13180,14 +13759,14 @@ int daAlink_c::checkSceneChange(int exitID) { field_0x2f58 = dPath_GetRoomPath(mExitDirection, fopAcM_GetRoomNo(this)); } } else { - scn_changed = dStage_changeSceneExitId(mLinkAcch.m_gnd, exit_speed, exit_mode, + isScnChange = dStage_changeSceneExitId(mLinkAcch.m_gnd, exit_speed, exit_mode, fopAcM_GetRoomNo(this), shape_angle.y); field_0x2f58 = dPath_GetRoomPath(dComIfG_Bgsp().GetRoomPathId(mLinkAcch.m_gnd), fopAcM_GetRoomNo(this)); } } - if (scn_changed) { + if (isScnChange) { onNoResetFlg0(FLG0_UNK_4000); if (!eventInfo.checkCommandDoor()) { @@ -13197,10 +13776,10 @@ int daAlink_c::checkSceneChange(int exitID) { resetUpperAnime(UPPER_2, 3.0f); } - if (field_0x3174 == 5) { - mDemo.setDemoMode(0x11); + if (mGroundCode == 5) { + mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_17_e); } else { - mDemo.setDemoMode(0x1A); + mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_26_e); mDemo.setStick(demo_stick); } @@ -13221,67 +13800,67 @@ int daAlink_c::checkSceneChange(int exitID) { return 0; } -void daAlink_c::voiceStart(u32 i_seID) { - mZ2Link.startLinkVoice(i_seID, mVoiceReverbIntensity); +void daAlink_c::voiceStart(u32 i_soundID) { + mZ2Link.startLinkVoice(i_soundID, mVoiceReverbIntensity); } -void daAlink_c::voiceStartLevel(u32 i_seID) { - mZ2Link.startLinkVoiceLevel(i_seID, mVoiceReverbIntensity); +void daAlink_c::voiceStartLevel(u32 i_soundID) { + mZ2Link.startLinkVoiceLevel(i_soundID, mVoiceReverbIntensity); } -void daAlink_c::seStartSwordCut(u32 i_seID) { - mZ2Link.startLinkSwordSound(i_seID, 0, mVoiceReverbIntensity); +void daAlink_c::seStartSwordCut(u32 i_soundID) { + mZ2Link.startLinkSwordSound(i_soundID, 0, mVoiceReverbIntensity); } -void daAlink_c::seStartOnlyReverb(u32 i_seID) { - mZ2Link.startLinkSound(i_seID, 0, mVoiceReverbIntensity); +void daAlink_c::seStartOnlyReverb(u32 i_soundID) { + mZ2Link.startLinkSound(i_soundID, 0, mVoiceReverbIntensity); } -void daAlink_c::seStartOnlyReverbLevel(u32 i_seID) { - mZ2Link.startLinkSoundLevel(i_seID, 0, mVoiceReverbIntensity); +void daAlink_c::seStartOnlyReverbLevel(u32 i_soundID) { + mZ2Link.startLinkSoundLevel(i_soundID, 0, mVoiceReverbIntensity); } -void daAlink_c::seStartMapInfo(u32 i_seID) { - mZ2Link.startLinkSound(i_seID, mPolySound, mVoiceReverbIntensity); +void daAlink_c::seStartMapInfo(u32 i_soundID) { + mZ2Link.startLinkSound(i_soundID, mPolySound, mVoiceReverbIntensity); } -void daAlink_c::seStartMapInfoLevel(u32 i_seID) { - mZ2Link.startLinkSoundLevel(i_seID, mPolySound, mVoiceReverbIntensity); +void daAlink_c::seStartMapInfoLevel(u32 i_soundID) { + mZ2Link.startLinkSoundLevel(i_soundID, mPolySound, mVoiceReverbIntensity); } -void daAlink_c::setBasAnime(daAlink_c::daAlink_UNDER param_0) { - daPy_anmHeap_c* temp_r29 = &mUnderAnmHeap[param_0]; - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[param_0]; +void daAlink_c::setBasAnime(daAlink_c::daAlink_UNDER i_underIdx) { + daPy_anmHeap_c* anmHeap = &mUnderAnmHeap[i_underIdx]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[i_underIdx]; - if (!temp_r29->checkNoSetArcNo()) { - void* temp_r3 = ((mDoExt_transAnmBas*)getNowAnmPackUnder(UNDER_0))->getBas(); - if (temp_r3 == NULL) { + if (!anmHeap->checkNoSetArcNo()) { + void* bas = ((mDoExt_transAnmBas*)getNowAnmPackUnder(UNDER_0))->getBas(); + if (bas == NULL) { resetBasAnime(); } else { - if (field_0x3084 == temp_r29->getIdx() && field_0x3086 == temp_r29->getArcNo()) { - if (field_0x33d4 * temp_r28->getRate() >= 0.0f) { - field_0x2d7c = temp_r28; + if (field_0x3084 == anmHeap->getIdx() && field_0x3086 == anmHeap->getArcNo()) { + if (field_0x33d4 * framectrl->getRate() >= 0.0f) { + field_0x2d7c = framectrl; return; } } - field_0x2d80 = temp_r3; - field_0x2d7c = temp_r28; - field_0x3084 = temp_r29->getIdx(); - field_0x3086 = temp_r29->getArcNo(); - field_0x33d4 = temp_r28->getRate(); + field_0x2d80 = bas; + field_0x2d7c = framectrl; + field_0x3084 = anmHeap->getIdx(); + field_0x3086 = anmHeap->getArcNo(); + field_0x33d4 = framectrl->getRate(); initBasAnime(); } } else { - u8* temp_r3_2 = temp_r29->getBuffer(); + u8* temp_r3_2 = anmHeap->getBuffer(); if (*(u32*)(temp_r3_2 + 0x1C) == 0xFFFFFFFF) { resetBasAnime(); return; } - if (field_0x3084 == temp_r29->getIdx() && field_0x3086 == temp_r29->getArcNo()) { - if (field_0x33d4 * temp_r28->getRate() >= 0.0f) { - field_0x2d7c = temp_r28; + if (field_0x3084 == anmHeap->getIdx() && field_0x3086 == anmHeap->getArcNo()) { + if (field_0x33d4 * framectrl->getRate() >= 0.0f) { + field_0x2d7c = framectrl; return; } } @@ -13291,11 +13870,11 @@ void daAlink_c::setBasAnime(daAlink_c::daAlink_UNDER param_0) { const u32 l_basAnmBufferSize = 0x800; JUT_ASSERT(20661, dataSize < l_basAnmBufferSize); - cLib_memCpy(field_0x2d78, temp_r29->getBuffer() + *(u32*)(temp_r3_2 + 0x1C), dataSize); - field_0x2d7c = temp_r28; - field_0x3084 = temp_r29->getIdx(); - field_0x3086 = temp_r29->getArcNo(); - field_0x33d4 = temp_r28->getRate(); + cLib_memCpy(field_0x2d78, anmHeap->getBuffer() + *(u32*)(temp_r3_2 + 0x1C), dataSize); + field_0x2d7c = framectrl; + field_0x3084 = anmHeap->getIdx(); + field_0x3086 = anmHeap->getArcNo(); + field_0x33d4 = framectrl->getRate(); field_0x2d80 = 0; initBasAnime(); } @@ -13306,7 +13885,6 @@ void daAlink_c::initBasAnime() { f32 var_f31; if (field_0x2d7c->getAttribute() == J3DFrameCtrl::EMode_LOOP) { var_f31 = field_0x2d7c->getFrame() - field_0x2d7c->getRate(); - if (var_f31 <= field_0x2d7c->getStart()) { var_f31 = field_0x2d7c->getEnd() - var_f31; } else if (var_f31 >= field_0x2d7c->getEnd()) { @@ -13331,16 +13909,16 @@ void daAlink_c::resetBasAnime() { field_0x2d80 = NULL; } -BOOL daAlink_c::checkSightLine(f32 param_0, cXyz* param_1) { +BOOL daAlink_c::checkSightLine(f32 i_maxDist, cXyz* o_sightPos) { camera_class* camera = dComIfGp_getCamera(field_0x317c); - cXyz* var_r29 = fopCamM_GetEye_p(camera); + cXyz* line_start_pos = fopCamM_GetEye_p(camera); cXyz sp3C; cXyz sp30(mHeldItemRootPos); if (checkHookshotItem(mEquipItem) || mEquipItem == fpcNm_ITEM_PACHINKO) { - var_r29 = &sp30; + line_start_pos = &sp30; } else if (checkBowItem(mEquipItem) && mItemAcKeep.getActor() != NULL) { - var_r29 = &mItemAcKeep.getActor()->current.pos; + line_start_pos = &mItemAcKeep.getActor()->current.pos; } s16 temp_r27 = shape_angle.y + mBodyAngle.y; @@ -13351,14 +13929,14 @@ BOOL daAlink_c::checkSightLine(f32 param_0, cXyz* param_1) { mDoMtx_multVecSR(mMagneBootMtx, &sp3C, &sp3C); } - *param_1 = (sp3C * param_0) + *var_r29; + *o_sightPos = (sp3C * i_maxDist) + *line_start_pos; if (checkHookshotItem(mEquipItem)) { mRopeLinChk.Set(&field_0x3834, &mHeldItemRootPos, this); if (dComIfG_Bgsp().LineCross(&mRopeLinChk)) { - *param_1 = mRopeLinChk.GetCross(); - onResetFlg0(RFLG0_UNK_2000000); + *o_sightPos = mRopeLinChk.GetCross(); + onResetFlg0(RFLG0_ITEM_SIGHT_BG_HIT); return 1; } @@ -13367,36 +13945,37 @@ BOOL daAlink_c::checkSightLine(f32 param_0, cXyz* param_1) { return 0; } - dBgS_LinChk* var_r30; + dBgS_LinChk* linechk; if (mEquipItem == fpcNm_ITEM_BOOMERANG) { - var_r30 = &mBoomerangLinChk; + linechk = &mBoomerangLinChk; } else if (mProcID == PROC_HAWK_SUBJECT) { - var_r30 = &mLinkLinChk; + linechk = &mLinkLinChk; } else if (checkBowAndSlingItem(mEquipItem)) { - var_r30 = &mArrowLinChk; + linechk = &mArrowLinChk; } else { - var_r30 = &mRopeLinChk; + linechk = &mRopeLinChk; } - var_r30->Set(var_r29, param_1, this); + linechk->Set(line_start_pos, o_sightPos, this); - BOOL temp_r3 = dComIfG_Bgsp().LineCross(var_r30); - if (temp_r3) { - *param_1 = var_r30->GetCross(); - onResetFlg0(RFLG0_UNK_2000000); + BOOL isLineCross = dComIfG_Bgsp().LineCross(linechk); + if (isLineCross) { + *o_sightPos = linechk->GetCross(); + onResetFlg0(RFLG0_ITEM_SIGHT_BG_HIT); } - return temp_r3; + return isLineCross; } -void daAlink_c::setMetamorphoseModel(int param_0) { - J3DAnmTransform* bck = - (J3DAnmTransform*)mAnmHeap9.loadDataIdx(param_0 != 0 ? (u16)0x27C : (u16)0x27D); +void daAlink_c::setMetamorphoseModel(BOOL i_isChangeToWolf) { + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(i_isChangeToWolf ? (u16)dRes_ID_ALANM_BCK_WFCHANGEATOW_e : (u16)dRes_ID_ALANM_BCK_WFCHANGEWTOA_e); JKRHeap* heap = setItemHeap(); - J3DModelData* model_data = loadAramBmd(0x31B, 0x6000); - mHeldItemModel = initModel(model_data, 0); - mItemBck.init(bck, 0, 2, 1.0f, 0, -1, false); + mHeldItemModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_AL_WF_e, 0x6000), 0); + + if (!mItemBck.init(bck, FALSE, 2, 1.0f, 0, -1, false)) { + JUT_ASSERT(20842, FALSE); + } mDoExt_setCurrentHeap(heap); mEquipItem = 0x106; @@ -13428,7 +14007,11 @@ BOOL daAlink_c::setItemModel() { if (mEquipItem == fpcNm_ITEM_COPY_ROD) { setCopyRodModel(); - return mCopyRodAcKeep.getActor() != NULL ? 1 : 0; + if (mCopyRodAcKeep.getActor() == NULL) { + return FALSE; + } else { + return TRUE; + } } if (mEquipItem == fpcNm_ITEM_KANTERA) { @@ -13454,16 +14037,21 @@ BOOL daAlink_c::setItemModel() { if (mEquipItem == fpcNm_ITEM_IRONBALL) { setIronBallModel(); setIronBallWaitUpperAnime(1); - return mItemAcKeep.getActor() != NULL ? 1 : 0; + if (mItemAcKeep.getActor() == NULL) { + return FALSE; + } else { + return TRUE; + } } return 0; } BOOL daAlink_c::setItemActor() { + fopAc_ac_c* actor; if (mEquipItem == fpcNm_ITEM_BOOMERANG) { - fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_BOOMERANG, 0, ¤t.pos, -1, - NULL, NULL, -1, NULL, NULL); + actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_BOOMERANG, 0, ¤t.pos, -1, + NULL, NULL, -1, NULL, NULL); if (actor == NULL) { deleteEquipItem(FALSE, FALSE); return 0; @@ -13475,8 +14063,8 @@ BOOL daAlink_c::setItemActor() { } if (mEquipItem == fpcNm_ITEM_COPY_ROD) { - fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_CROD, 0, ¤t.pos, -1, NULL, - NULL, -1, NULL, NULL); + actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_CROD, 0, ¤t.pos, -1, NULL, + NULL, -1, NULL, NULL); if (actor == NULL) { deleteEquipItem(FALSE, FALSE); return 0; @@ -13488,12 +14076,13 @@ BOOL daAlink_c::setItemActor() { } if (mEquipItem == fpcNm_ITEM_IRONBALL) { - fopAc_ac_c* actor = daCrod_c::makeIronBallDummy(this); + actor = daCrod_c::makeIronBallDummy(this); if (actor == NULL) { if (checkIronBallWaitAnime()) { resetUpperAnime(UPPER_2, -1.0f); } + deleteEquipItem(FALSE, FALSE); return 0; } @@ -13504,8 +14093,7 @@ BOOL daAlink_c::setItemActor() { } if (checkFisingRodLure()) { - u32 id = fopAcM_create(PROC_MG_ROD, 0x10D, &mLeftHandPos, -1, NULL, NULL, 0xFF); - mItemAcKeep.setID(id); + mItemAcKeep.setID(fopAcM_create(PROC_MG_ROD, 0x10D, &mLeftHandPos, -1, NULL, NULL, 0xFF)); initFishingRodHand(); return 1; } @@ -13517,8 +14105,11 @@ BOOL daAlink_c::setItemActor() { if (checkBombItem(mEquipItem)) { if (checkHorseRide()) { - if (dComIfGp_getHorseActor()->checkNoBombProc() && - (mProcID != PROC_HORSE_TURN || !checkModeFlg(MODE_DISABLE_ITEMS))) + if (dComIfGp_getHorseActor()->checkNoBombProc() + #if PLATFORM_GCN + && (mProcID != PROC_HORSE_TURN || !checkModeFlg(MODE_DISABLE_ITEMS)) + #endif + ) { mEquipItem = fpcNm_ITEM_NONE; return 1; @@ -13563,35 +14154,41 @@ BOOL daAlink_c::checkMagicArmorWearAbility() const { return (!checkWolf() && checkMagicArmorWearFlg()) && !checkNoResetFlg2(FLG2_UNK_80000); } -J3DModelData* daAlink_c::loadAramBmd(u16 i_resID, u32 i_bufSize) { - JKRArchive* anm_arc = dComIfGp_getAnmArchive(); +J3DModelData* daAlink_c::loadAramBmd(u16 i_resIdx, u32 i_bufSize) { + JKRArchive* anmArchive = dComIfGp_getAnmArchive(); u8* tmpBuffer = new (0x20) u8[i_bufSize]; - anm_arc->readIdxResource(tmpBuffer, i_bufSize, i_resID); + JKRReadIdxResource(tmpBuffer, i_bufSize, i_resIdx, anmArchive); + #if DEBUG + daPy_aramBufferCheck(tmpBuffer, i_bufSize); + #endif u32 type = 'BMWR'; - JKRArchive::SDIDirEntry* dir = anm_arc->mNodes; - for (int i = 0; i < anm_arc->countDirectory(); i++) { - if (i_resID >= dir->first_file_index && i_resID < dir->first_file_index + dir->num_entries) + JKRArchive::SDIDirEntry* dir = anmArchive->mNodes; + for (int i = 0; i < anmArchive->countDirectory(); i++, dir++) { + if (i_resIdx >= dir->first_file_index && i_resIdx < dir->first_file_index + dir->num_entries) { type = dir->type; break; } - dir++; } return dRes_info_c::loaderBasicBmd(type, tmpBuffer); } -void* daAlink_c::loadAram(u16 i_resID, u32 i_bufSize) { +void* daAlink_c::loadAram(u16 i_resIdx, u32 i_bufSize) { u8* tmpBuffer = new (0x20) u8[i_bufSize]; - dComIfGp_getAnmArchive()->readIdxResource(tmpBuffer, i_bufSize, i_resID); - return J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0); + JKRReadIdxResource(tmpBuffer, i_bufSize, i_resIdx, dComIfGp_getAnmArchive()); + #if DEBUG + daPy_aramBufferCheck(tmpBuffer, i_bufSize); + #endif + + return J3DAnmLoaderDataBase::load(tmpBuffer); } -J3DAnmTevRegKey* daAlink_c::loadAramItemBrk(u16 i_resID, J3DModel* i_model) { +J3DAnmTevRegKey* daAlink_c::loadAramItemBrk(u16 i_resIdx, J3DModel* i_model) { J3DModelData* model_data = i_model->getModelData(); - J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)loadAram(i_resID, 0x400); + J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)loadAram(i_resIdx, 0x400); brk->setFrame(0.0f); brk->searchUpdateMaterialID(model_data); @@ -13600,9 +14197,9 @@ J3DAnmTevRegKey* daAlink_c::loadAramItemBrk(u16 i_resID, J3DModel* i_model) { return brk; } -J3DAnmTextureSRTKey* daAlink_c::loadAramItemBtk(u16 i_resID, J3DModel* i_model) { +J3DAnmTextureSRTKey* daAlink_c::loadAramItemBtk(u16 i_resIdx, J3DModel* i_model) { J3DModelData* model_data = i_model->getModelData(); - J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)loadAram(i_resID, 0x400); + J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)loadAram(i_resIdx, 0x400); btk->setFrame(0.0f); btk->searchUpdateMaterialID(model_data); @@ -13611,9 +14208,9 @@ J3DAnmTextureSRTKey* daAlink_c::loadAramItemBtk(u16 i_resID, J3DModel* i_model) return btk; } -J3DAnmTexPattern* daAlink_c::loadAramItemBtp(u16 i_resID, J3DModel* i_model) { +J3DAnmTexPattern* daAlink_c::loadAramItemBtp(u16 i_resIdx, J3DModel* i_model) { J3DModelData* model_data = i_model->getModelData(); - J3DAnmTexPattern* btp = (J3DAnmTexPattern*)loadAram(i_resID, 0x400); + J3DAnmTexPattern* btp = (J3DAnmTexPattern*)loadAram(i_resIdx, 0x400); btp->setFrame(0.0f); btp->searchUpdateMaterialID(model_data); @@ -13622,8 +14219,8 @@ J3DAnmTexPattern* daAlink_c::loadAramItemBtp(u16 i_resID, J3DModel* i_model) { return btp; } -void daAlink_c::changeItemBck(u16 i_resID, f32 param_1) { - J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(i_resID); +void daAlink_c::changeItemBck(u16 i_resIdx, f32 param_1) { + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(i_resIdx); if (bck != NULL) { mItemBck.changeBckOnly(bck); } @@ -13635,7 +14232,7 @@ void daAlink_c::changeItemBck(u16 i_resID, f32 param_1) { } } -int daAlink_c::checkGroupItem(int i_itemNo, int i_selItem) const { +BOOL daAlink_c::checkGroupItem(int i_itemNo, int i_selItem) const { if (i_itemNo == 0x107) { return checkDrinkBottleItem(i_selItem); } else if (i_itemNo == 0x108) { @@ -13707,7 +14304,7 @@ bool daAlink_c::checkRoomSpecial() { bool daAlink_c::checkRoom() { return checkRoomOnly() || checkRoomSpecial() || - checkStageName("R_SP161") && !dComIfGs_isOneZoneSwitch(14, -1); + (checkStageName("R_SP161") && !dComIfGs_isOneZoneSwitch(14, -1)); } bool daAlink_c::checkNotBattleStage() { @@ -13724,18 +14321,20 @@ bool daAlink_c::checkNotAutoJumpStage() { bool daAlink_c::checkCastleTownUseItem(u16 i_itemNo) { if (checkNotBattleStage()) { - if (i_itemNo == fpcNm_ITEM_KANTERA || checkTradeItem(i_itemNo) || - (i_itemNo == fpcNm_ITEM_DUNGEON_BACK && checkLv7DungeonShop()) || - (checkRoomSpecial() && (i_itemNo == fpcNm_ITEM_EMPTY_BOTTLE || checkDungeonWarpItem(i_itemNo))) || - (checkStageName("R_SP128") && i_itemNo == fpcNm_ITEM_COPY_ROD) || - (checkLv2DungeonRoomSpecial() && i_itemNo == fpcNm_ITEM_HVY_BOOTS) || - (checkBottleItem(i_itemNo) && i_itemNo != fpcNm_ITEM_EMPTY_BOTTLE)) + if (i_itemNo == fpcNm_ITEM_KANTERA + || checkTradeItem(i_itemNo) + || (i_itemNo == fpcNm_ITEM_DUNGEON_BACK && checkLv7DungeonShop()) + || (checkRoomSpecial() && (i_itemNo == fpcNm_ITEM_EMPTY_BOTTLE || checkDungeonWarpItem(i_itemNo))) + || (checkStageName("R_SP128") && i_itemNo == fpcNm_ITEM_COPY_ROD) + || (checkLv2DungeonRoomSpecial() && i_itemNo == fpcNm_ITEM_HVY_BOOTS) + || (checkBottleItem(i_itemNo) && i_itemNo != fpcNm_ITEM_EMPTY_BOTTLE)) { return true; } else { return false; } } + return true; } @@ -13795,7 +14394,7 @@ int daAlink_c::changeItemTriggerKeepProc(u8 i_selItemIdx, int i_procType) { } else if (i_procType == ITEM_PROC_BOTTLE_SWING) { procBottleSwingInit(NULL, 0); } else if (i_procType == ITEM_PROC_NOT_USE_ITEM) { - procNotUseItemInit(sel_item); + procNotUseItemInit((u16)sel_item); } else if (i_procType == ITEM_PROC_SUBJECTIVITY) { procCoSubjectivityInit(); dComIfGp_setPlayerStatus0(0, 0x200000); @@ -13828,45 +14427,42 @@ int daAlink_c::changeItemTriggerKeepProc(u8 i_selItemIdx, int i_procType) { * @return a `daAlink_ItemProc` value corresponding to the `PROC` function to run in * `changeItemTriggerKeepProc` */ -int daAlink_c::checkNewItemChange(u8 param_0) { - u32 sel_item = dComIfGp_getSelectItem(param_0); +int daAlink_c::checkNewItemChange(u8 i_selItemIdx) { + u16 sel_item = dComIfGp_getSelectItem(i_selItemIdx); - if (checkSpinnerRide() || sel_item == fpcNm_ITEM_BOMB_BAG_LV1 || - ((sel_item == fpcNm_ITEM_KANTERA || checkOilBottleItem(sel_item)) && - checkWaterInKandelaarOffset(mWaterY)) || - (checkCanoeRide() && checkStageName("F_SP127")) || checkCloudSea() || - ((checkModeFlg(0x40000) || checkNoResetFlg0(FLG0_UNDERWATER)) && - !checkAcceptUseItemInWater(sel_item)) || - (checkModeFlg(0x40000) && sel_item == fpcNm_ITEM_WATER_BOMB) || !checkCastleTownUseItem(sel_item) || - (checkBoardRide() && sel_item != 0x103) || - (checkModeFlg(0x400) && - (sel_item == fpcNm_ITEM_EMPTY_BOTTLE || sel_item == fpcNm_ITEM_POKE_BOMB || sel_item == fpcNm_ITEM_IRONBALL || - sel_item == fpcNm_ITEM_COPY_ROD || checkFishingRodItem(sel_item))) || - ((mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || field_0x2fbd == 1 || field_0x2fbd == 2 || - mWaterY - current.pos.y > 45.0f || - (field_0x2fbc == 6 && mWaterY - current.pos.y >= 0.0f) || field_0x2fbd == 3) && - sel_item == fpcNm_ITEM_SPINNER) || - (checkBossRoom() && checkDungeonWarpItem(sel_item)) || - (sel_item == fpcNm_ITEM_DUNGEON_EXIT && - (checkLv7DungeonShop() || - (checkStageName("D_MN07") && fopAcM_isSwitch(this, 0x4D) && - !fopAcM_isSwitch(this, 0x18)) || - (checkStageName("D_MN10") && fopAcM_GetRoomNo(this) == 15))) || - (checkMagneBootsOn() && sel_item != 0x103 && !checkDrinkBottleItem(sel_item) && - sel_item != fpcNm_ITEM_HVY_BOOTS && !checkBowItem(sel_item))) + if (checkSpinnerRide() + || sel_item == fpcNm_ITEM_BOMB_BAG_LV1 + || ((sel_item == fpcNm_ITEM_KANTERA || checkOilBottleItem(sel_item)) && checkWaterInKandelaarOffset(mWaterY)) + || (checkCanoeRide() && checkStageName("F_SP127")) + || checkCloudSea() + || ((checkModeFlg(0x40000) || checkNoResetFlg0(FLG0_WATER_IN_MOVE)) && !checkAcceptUseItemInWater(sel_item)) + || (checkModeFlg(0x40000) && sel_item == fpcNm_ITEM_WATER_BOMB) + || !checkCastleTownUseItem(sel_item) + || (checkBoardRide() && sel_item != 0x103) + || (checkModeFlg(0x400) && (sel_item == fpcNm_ITEM_EMPTY_BOTTLE || sel_item == fpcNm_ITEM_POKE_BOMB || sel_item == fpcNm_ITEM_IRONBALL || sel_item == fpcNm_ITEM_COPY_ROD || checkFishingRodItem(sel_item))) + || ((mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || mGndPolyAtt1 == 1 || mGndPolyAtt1 == 2 || mWaterY - current.pos.y > (daSpinner_c::getWaterSinkLimit() - 5.0f) || (field_0x2fbc == 6 && mWaterY - current.pos.y >= 0.0f) || mGndPolyAtt1 == 3) && sel_item == fpcNm_ITEM_SPINNER) + || (checkBossRoom() && checkDungeonWarpItem(sel_item)) + || (sel_item == fpcNm_ITEM_DUNGEON_EXIT && (checkLv7DungeonShop() || (checkStageName("D_MN07") && fopAcM_isSwitch(this, 0x4D) && !fopAcM_isSwitch(this, 0x18)) || (checkStageName("D_MN10") && fopAcM_GetRoomNo(this) == 15))) + || (checkMagneBootsOn() && sel_item != 0x103 && !checkDrinkBottleItem(sel_item) && sel_item != fpcNm_ITEM_HVY_BOOTS && !checkBowItem(sel_item)) + ) { return ITEM_PROC_NONE; - } else if (sel_item == fpcNm_ITEM_HVY_BOOTS || checkDungeonWarpItem(sel_item) || - checkTradeItem(sel_item) || - (checkBottleItem(sel_item) && sel_item != fpcNm_ITEM_EMPTY_BOTTLE) || sel_item == fpcNm_ITEM_SPINNER || - sel_item == fpcNm_ITEM_POKE_BOMB || sel_item == fpcNm_ITEM_HORSE_FLUTE || sel_item == fpcNm_ITEM_HAWK_EYE) + } else if (sel_item == fpcNm_ITEM_HVY_BOOTS + || checkDungeonWarpItem(sel_item) + || checkTradeItem(sel_item) + || (checkBottleItem(sel_item) && sel_item != fpcNm_ITEM_EMPTY_BOTTLE) + || sel_item == fpcNm_ITEM_SPINNER + || sel_item == fpcNm_ITEM_POKE_BOMB + || sel_item == fpcNm_ITEM_HORSE_FLUTE + || sel_item == fpcNm_ITEM_HAWK_EYE + ) { if (checkReinRide() || checkCanoeRide()) { if (checkDrinkBottleItem(sel_item)) { return ITEM_PROC_BOTTLE_DRINK; } - if (checkOilBottleItem(sel_item) && checkItemSetButton(0x48) != 2) { + if (checkOilBottleItem(sel_item) && checkItemSetButton(fpcNm_ITEM_KANTERA) != 2) { return ITEM_PROC_KANDELAAR_POUR; } } else if (sel_item == fpcNm_ITEM_HVY_BOOTS) { @@ -13914,15 +14510,15 @@ int daAlink_c::checkNewItemChange(u8 param_0) { } else if (checkItemSetButton(0x108) != 2 && (sel_item == fpcNm_ITEM_WORM || sel_item == fpcNm_ITEM_BEE_CHILD)) { - int temp_r3_8 = dComIfGp_getSelectItem(checkItemSetButton(0x108)); - if (temp_r3_8 == fpcNm_ITEM_WORM_ROD || temp_r3_8 == fpcNm_ITEM_JEWEL_WORM_ROD) { + int itemNo = dComIfGp_getSelectItem(checkItemSetButton(0x108)); + if (itemNo == fpcNm_ITEM_WORM_ROD || itemNo == fpcNm_ITEM_JEWEL_WORM_ROD) { if (sel_item == fpcNm_ITEM_BEE_CHILD) { return ITEM_PROC_BOTTLE_DRINK; } return ITEM_PROC_NONE; } if (sel_item == fpcNm_ITEM_BEE_CHILD && - (temp_r3_8 == fpcNm_ITEM_BEE_ROD || temp_r3_8 == fpcNm_ITEM_JEWEL_BEE_ROD)) + (itemNo == fpcNm_ITEM_BEE_ROD || itemNo == fpcNm_ITEM_JEWEL_BEE_ROD)) { return ITEM_PROC_BOTTLE_DRINK; } @@ -13941,7 +14537,7 @@ int daAlink_c::checkNewItemChange(u8 param_0) { if (acceptSubjectModeChange()) { return ITEM_PROC_SUBJECTIVITY; } - } else if (sel_item == fpcNm_ITEM_POKE_BOMB && dComIfGp_getSelectItemNum(param_0) && + } else if (sel_item == fpcNm_ITEM_POKE_BOMB && dComIfGp_getSelectItemNum(i_selItemIdx) && field_0x2fcf < 2) { return ITEM_PROC_PICK_PUT; @@ -13949,26 +14545,25 @@ int daAlink_c::checkNewItemChange(u8 param_0) { } } } else if (sel_item != fpcNm_ITEM_NONE && mEquipItem != sel_item) { - if ((checkBombItem(sel_item) && !dComIfGp_getSelectItemNum(param_0)) || - ((sel_item == fpcNm_ITEM_NORMAL_BOMB || sel_item == fpcNm_ITEM_WATER_BOMB) && mActiveBombNum >= 3) || - (sel_item == fpcNm_ITEM_IRONBALL && (!mLinkAcch.ChkGroundHit() || checkModeFlg(0x70C52))) || - (sel_item == fpcNm_ITEM_KANTERA && (checkNoResetFlg0(FLG0_UNDERWATER) || - checkEndResetFlg1(ERFLG1_UNK_4) || checkModeFlg(0x40000)))) + if ((checkBombItem(sel_item) && !dComIfGp_getSelectItemNum(i_selItemIdx)) + || ((sel_item == fpcNm_ITEM_NORMAL_BOMB || sel_item == fpcNm_ITEM_WATER_BOMB) && mActiveBombNum >= 3) + || (sel_item == fpcNm_ITEM_IRONBALL && (!mLinkAcch.ChkGroundHit() || checkModeFlg(0x70C52))) + || (sel_item == fpcNm_ITEM_KANTERA && (checkNoResetFlg0(FLG0_WATER_IN_MOVE) || checkEndResetFlg1(ERFLG1_UNK_4) || checkModeFlg(0x40000)))) { return ITEM_PROC_NONE; } return ITEM_PROC_COMMON_CHANGE_ITEM; } - if (mEquipItem == sel_item && mSelectItemId != param_0 && mEquipItem == fpcNm_ITEM_EMPTY_BOTTLE) { + if (mEquipItem == sel_item && mSelectItemId != i_selItemIdx && mEquipItem == fpcNm_ITEM_EMPTY_BOTTLE) { return ITEM_PROC_BOTTLE_SWING; } return ITEM_PROC_NONE; } -void daAlink_c::deleteEquipItem(BOOL i_playSound, BOOL i_deleteKantera) { - if (i_deleteKantera || mProcID == PROC_UNEQUIP) { +void daAlink_c::deleteEquipItem(BOOL i_isPlaySound, BOOL i_isDeleteKantera) { + if (i_isDeleteKantera || mProcID == PROC_UNEQUIP) { offKandelaarModel(); } else if (mEquipItem == fpcNm_ITEM_KANTERA && checkNoResetFlg2(FLG2_UNK_1)) { mZ2Link.setKanteraState(2); @@ -13980,7 +14575,7 @@ void daAlink_c::deleteEquipItem(BOOL i_playSound, BOOL i_deleteKantera) { fopAc_ac_c* item_actor = mItemAcKeep.getActor(); - if (i_playSound) { + if (i_isPlaySound) { if (mEquipItem == 0x103) { if (checkWoodSwordEquip()) { seStartOnlyReverb(Z2SE_AL_ITEM_TAKEOUT_FAST); @@ -14074,8 +14669,8 @@ void daAlink_c::deleteEquipItem(BOOL i_playSound, BOOL i_deleteKantera) { field_0x2f94 = 0xFF; field_0x2f95 = 0xFF; - offNoResetFlg2(FLG2_UNK_20000000); - offNoResetFlg1(FLG1_UNK_8000); + offNoResetFlg2(FLG2_FISHING_CAST_WAIT); + offNoResetFlg1(FLG1_FISHING_ROD_CASTING_END); if (mpHookSound != NULL) { mpHookSound->deleteObject(); @@ -14084,24 +14679,24 @@ void daAlink_c::deleteEquipItem(BOOL i_playSound, BOOL i_deleteKantera) { } void daAlink_c::setLight() { - const daAlinkHIO_huLight_c1* light_m = &daAlinkHIO_huLight_c0::m; + const daAlinkHIO_huLight_c1* light_m = &mpHIO->mItem.mLanternPL.m; BOOL var_r28 = false; if (checkWolf()) { offNoResetFlg1(FLG1_UNK_80); } else { if (checkNoResetFlg2(FLG2_UNK_1) || checkEndResetFlg1(ERFLG1_UNK_4)) { - if (dComIfGs_getOil() != 0 && !checkNoResetFlg2(FLG2_UNK_10000000) && ((checkNoResetFlg2(FLG2_UNK_1) && !checkFreezeDamage()) || checkEndResetFlg1(ERFLG1_UNK_10))) { + if (dComIfGs_getOil() != 0 && !checkNoResetFlg2(FLG2_KANDELAAR_LIGHT_OFF) && ((checkNoResetFlg2(FLG2_UNK_1) && !checkFreezeDamage()) || checkEndResetFlg1(ERFLG1_UNK_10))) { onNoResetFlg1(FLG1_UNK_80); if (!checkEventRun() && !checkEndResetFlg1(ERFLG1_UNK_4)) { dComIfGp_setItemOilCount(-mpHIO->mItem.mLantern.m.mNormalOilLoss); } - u16 ptcl_id; + u16 effName; dPa_levelEcallBack* callbackp; if (checkKandelaarSwingAnime() || mProcID == PROC_KANDELAAR_SWING) { - ptcl_id = 0x362; + effName = ID_ZI_J_KANTERA_SWINGFIRE; callbackp = &field_0x2f20; JPABaseEmitter* emitterp = dComIfGp_particle_getEmitter(field_0x31c4); @@ -14109,11 +14704,11 @@ void daAlink_c::setLight() { emitterp->stopDrawParticle(); } } else { - ptcl_id = 0x2BC; + effName = ID_ZI_J_KANTERA_FIRE; callbackp = NULL; } - field_0x31c4 = dComIfGp_particle_set(field_0x31c4, ptcl_id, &mKandelaarFlamePos, &tevStr, &shape_angle, NULL, 0xFF, callbackp, -1, NULL, NULL, NULL); + field_0x31c4 = dComIfGp_particle_set(field_0x31c4, effName, &mKandelaarFlamePos, &tevStr, &shape_angle, NULL, 0xFF, callbackp, -1, NULL, NULL, NULL); mZ2Link.getKantera().startLevelSound(Z2SE_AL_KANTERA_BURNING, 0, mVoiceReverbIntensity); } else if (checkNoResetFlg1(FLG1_UNK_80)) { mZ2Link.getKantera().startSound(Z2SE_AL_KANTERA_OFF, 0, mVoiceReverbIntensity); @@ -14130,10 +14725,7 @@ void daAlink_c::setLight() { cLib_addCalc(&field_0x3448, scale_targ, 0.5f, 0.3f, 0.1f); - Vec glow_scale = {0.0f, 0.0f, 0.0f}; - glow_scale.x = field_0x3448; - glow_scale.y = field_0x3448; - glow_scale.z = field_0x3448; + Vec glow_scale = {field_0x3448, field_0x3448, field_0x3448}; mpKanteraGlowModel->setBaseScale(glow_scale); } else { offNoResetFlg1(FLG1_UNK_80); @@ -14165,7 +14757,7 @@ void daAlink_c::setLight() { f32 var_f29; if (mProcID == PROC_METAMORPHOSE && mProcVar5.field_0x3012 != 0) { var_f29 = 0.05f; - } else if (checkEndResetFlg2(ERFLG2_UNK_10)) { + } else if (checkEndResetFlg2(ERFLG2_LIGHT_SWORD_GET_EFFECT)) { var_f30 = 0.28f; var_f29 = 0.01f; var_f31 = 1.5f; @@ -14188,7 +14780,7 @@ void daAlink_c::setLight() { spC4.z = light_m->mZOffset; f32 var_f26; - if ((uintptr_t)light_m == (uintptr_t)&daAlinkHIO_wlLight_c0::m) { + if ((uintptr_t)light_m == (uintptr_t)&mpHIO->mWolf.mLight.m) { cXyz spD0 = eyePos - field_0x34e0; s16 sp104 = spD0.atan2sY_XZ(); s16 sp106 = spD0.atan2sX_Z(); @@ -14225,21 +14817,26 @@ void daAlink_c::setFrontRollCrashShock(u8 param_0) { dKy_Sound_set(current.pos, 100, fopAcM_GetID(this), 5); } -MtxP daAlink_c::getModelJointMtx(u16 param_0) { - if (param_0 >= field_0x30c6) { +MtxP daAlink_c::getModelJointMtx(u16 i_jointNo) { + if (i_jointNo >= field_0x30c6) { + JUT_ASSERT(22489, 0); + + #if !DEBUG return mpLinkModel->mBaseTransformMtx; + #endif } - return mpLinkModel->getAnmMtx(param_0); + + return mpLinkModel->getAnmMtx(i_jointNo); } -void daAlink_c::onFrollCrashFlg(u8 param_0, BOOL param_1) { +void daAlink_c::onFrollCrashFlg(u8 i_flg, BOOL param_1) { if (param_1) { onNoResetFlg0(FLG0_UNK_10); } else { onNoResetFlg0(FLG0_UNK_8); } - mRollCrashFlg = param_0; + mRollCrashFlg = i_flg; } void daAlink_c::changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE i_matMode) { @@ -14308,7 +14905,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { field_0x280c.clearData(); if (mProcID == PROC_BOTTLE_SWING) { - offNoResetFlg2(FLG2_UNK_10000000); + offNoResetFlg2(FLG2_KANDELAAR_LIGHT_OFF); } } else if (mProcID == PROC_HOOKSHOT_FLY) { cancelHookshotCarry(); @@ -14330,7 +14927,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { shape_angle.y += 0x8000; field_0x2fe4 = shape_angle.y; shape_angle.x = -shape_angle.x; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; if (mProcID != PROC_WOLF_SLIDE_READY) { current.angle.y = shape_angle.y; } @@ -14345,7 +14942,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { { dComIfGp_getVibration().StopQuake(0x1F); } else if (mProcID == PROC_GUARD_BREAK) { - field_0x814.SetTgApid(fpcM_ERROR_PROCESS_ID_e); + mCcStts.SetTgApid(fpcM_ERROR_PROCESS_ID_e); } if (mProcID == PROC_CHAIN_UP || mProcID == PROC_WOLF_CHAIN_UP) { @@ -14429,7 +15026,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { !mItemAcKeep.getActor()->eventInfo.checkCommandDemoAccrpt()) && !checkEndResetFlg0(ERFLG0_UNK_1000)) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); resetUpperAnime(UPPER_2, -1.0f); } @@ -14526,10 +15123,10 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { offNoResetFlg2(FLG2_UNK_200); } - offNoResetFlg2(daPy_FLG2(0x11102)); + offNoResetFlg2(daPy_FLG2(FLG2_WOLF_DASH_AUTO_JUMP | FLG2_PRESSED_DAMAGE | FLG2_UNK_100 | FLG2_COMBO_RESERB)); offResetFlg0(RFLG0_UNK_2); - offNoResetFlg1(daPy_FLG1(0x48004001)); - offNoResetFlg0(daPy_FLG0(0x80018)); + offNoResetFlg1(daPy_FLG1(FLG1_FREEZE_DAMAGE | FLG1_UNK_8000000 | FLG1_THROW_DAMAGE | FLG1_DK_CAUGHT)); + offNoResetFlg0(daPy_FLG0(FLG0_FAST_SWORD_CUT | FLG0_UNK_10 | FLG0_UNK_8)); field_0x28f8 = -1; mSight.offDrawFlg(); @@ -14544,7 +15141,11 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { field_0x3078 = 0; - if (((!checkEquipAnime() || !checkModeFlg(4)) && (!checkModeFlg(0x40000) || !checkWolfEnemyThrowAnime()) && !checkModeFlg(0x1000)) || (checkSwordTwirlAnime() && mProcID != PROC_ATN_ACTOR_WAIT && mProcID != PROC_ATN_ACTOR_MOVE) || (checkWolf() && checkFmChainGrabAnime() && checkModeFlg(0x40)) || checkNoResetFlg1(FLG1_UNK_10000000)) { + if (((!checkEquipAnime() || !checkModeFlg(4)) && (!checkModeFlg(0x40000) || !checkWolfEnemyThrowAnime()) && !checkModeFlg(0x1000)) + || (checkSwordTwirlAnime() && mProcID != PROC_ATN_ACTOR_WAIT && mProcID != PROC_ATN_ACTOR_MOVE) + || (checkWolf() && checkFmChainGrabAnime() && checkModeFlg(0x40)) + || checkNoResetFlg1(FLG1_UNK_10000000)) + { if ((!checkDkCaught2Anime() || mProcID != PROC_DAMAGE) && !checkNoSetUpperAnime()) { resetUpperAnime(UPPER_2, mpHIO->mBasic.m.mBasicInterpolation); } @@ -14564,7 +15165,8 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { } if ((dComIfGp_checkPlayerStatus0(0, 8) && !checkModeFlg(MODE_VINE_CLIMB) && mProcID != PROC_HANG_CLIMB) || - ((dComIfGp_checkPlayerStatus1(0, 0x2000000) && mProcID != PROC_HOOKSHOT_WALL_SHOOT && mProcID != PROC_HOOKSHOT_WALL_WAIT))) { + ((dComIfGp_checkPlayerStatus1(0, 0x2000000) && mProcID != PROC_HOOKSHOT_WALL_SHOOT && mProcID != PROC_HOOKSHOT_WALL_WAIT))) + { if (mProcID == PROC_CLIMB_TO_ROOF) { current.pos.x += 10.0f * cM_ssin(shape_angle.y); current.pos.z += 10.0f * cM_scos(shape_angle.y); @@ -14613,12 +15215,12 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { if (checkModeFlg(MODE_VINE_CLIMB | MODE_NO_COLLISION)) { if (checkWolf()) { - field_0x814.SetWeight(0xFF); + mCcStts.SetWeight(0xFF); } else { - field_0x814.SetWeight(0xFE); + mCcStts.SetWeight(0xFE); } } else { - field_0x814.SetWeight(0x78); + mCcStts.SetWeight(0x78); } dComIfGp_setAdvanceDirection(0); @@ -14629,7 +15231,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { if (prev_flg_40000 && !checkModeFlg(MODE_SWIMMING)) { if (mProcID != PROC_CAUGHT && mProcID != PROC_HOOKSHOT_FLY && - !checkNoResetFlg0(FLG0_UNDERWATER)) + !checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { swimOutAfter(0); } @@ -14638,7 +15240,8 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { setBgCheckParam(); if ((checkNoResetFlg2(FLG2_WOLF_ENEMY_HANG_BITE) && mProcID != PROC_WOLF_ENEMY_HANG_BITE) || - (checkNoResetFlg2(FLG2_UNK_8) && mProcID != PROC_WOLF_ENEMY_THROW && !checkWolfEnemyThrowAnime())) { + (checkNoResetFlg2(FLG2_UNK_8) && mProcID != PROC_WOLF_ENEMY_THROW && !checkWolfEnemyThrowAnime())) + { resetWolfEnemyBiteAll(); } @@ -14654,11 +15257,11 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { } } -BOOL daAlink_c::commonProcInitNotSameProc(daAlink_PROC procID) { - if (mProcID == procID) { +BOOL daAlink_c::commonProcInitNotSameProc(daAlink_PROC i_procID) { + if (mProcID == i_procID) { return false; } else { - commonProcInit(procID); + commonProcInit(i_procID); return true; } } @@ -14750,7 +15353,7 @@ int daAlink_c::procServiceWaitInit() { int daAlink_c::procServiceWait() { J3DFrameCtrl* frameCtrl_p = mUnderFrameCtrl; if ((!checkNextAction(0) && !checkFrontWallTypeAction()) && - (checkEventRun() || checkGuardActionChange() || shape_angle.y != field_0x2fe6)) + (checkEventRun() || checkGuardActionChange() || shape_angle.y != mPrevAngleY)) { frameCtrl_p->setRate(0.0f); procWaitInit(); @@ -14780,16 +15383,16 @@ int daAlink_c::procTiredWaitInit() { ((tired_anm && mNowAnmPackUnder[0].getRatio() < 0.75f) || checkUnderMove1BckNoArc(ANM_STEP_TURN) || checkUnderMove1BckNoArc(ANM_SMALL_GUARD))) { - f32 var_f31; + f32 frame; if (tired_anm) { - var_f31 = mUnderFrameCtrl[0].getFrame(); + frame = mUnderFrameCtrl[0].getFrame(); } else { - var_f31 = mUpperFrameCtrl[1].getFrame(); + frame = mUpperFrameCtrl[1].getFrame(); } setSingleAnimeBase(ANM_WAIT_TIRED); - mUnderFrameCtrl[0].setFrame(var_f31); - getNowAnmPackUnder(UNDER_0)->setFrame(var_f31); + mUnderFrameCtrl[0].setFrame(frame); + getNowAnmPackUnder(UNDER_0)->setFrame(frame); } else { setSingleAnimeBase(ANM_WAIT_TO_TIRED); } @@ -14801,7 +15404,7 @@ int daAlink_c::procTiredWait() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (!checkNextAction(0)) { - if (frameCtrl_p->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl_p)) { setSingleAnimeBase(ANM_WAIT_TIRED); } else if (frameCtrl_p->getAttribute() == 2) { setTiredVoice(frameCtrl_p); @@ -14820,7 +15423,7 @@ int daAlink_c::procWaitInit() { return 0; } - if (!checkEventRun() && mProcID == PROC_SERVICE_WAIT && !mUnderFrameCtrl[0].checkAnmEnd() && + if (!checkEventRun() && mProcID == PROC_SERVICE_WAIT && !checkAnmEnd(mUnderFrameCtrl) && checkNoUpperAnime()) { return 0; @@ -14854,26 +15457,26 @@ int daAlink_c::procWaitInit() { } int daAlink_c::procWait() { - BOOL anm_wait_b = checkUnderMove0BckNoArc(ANM_WAIT_B); + BOOL isPrevAnmWaitB = checkUnderMove0BckNoArc(ANM_WAIT_B); if (!checkNextAction(0) && !checkFrontWallTypeAction()) { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - field_0x33f0 = (s16)(shape_angle.y - field_0x2fe6) * 0.005f; + field_0x33f0 = (s16)(shape_angle.y - mPrevAngleY) * 0.005f; - if (frameCtrl_p->checkAnmEnd() || checkUpperGuardAnime() || + if (checkAnmEnd(frameCtrl_p) || checkUpperGuardAnime() || !checkUnderMove0BckNoArc(ANM_WAIT_B_TO_A)) { - if (checkRestHPAnime() && shape_angle.y == field_0x2fe6) { + if (checkRestHPAnime() && shape_angle.y == mPrevAngleY) { return procTiredWaitInit(); } setBlendMoveAnime(-1.0f); - if (anm_wait_b && !checkUnderMove0BckNoArc(ANM_WAIT_B)) { + if (isPrevAnmWaitB && !checkUnderMove0BckNoArc(ANM_WAIT_B)) { setSingleAnimeBase(ANM_WAIT_B_TO_A); } } else if (frameCtrl_p->checkPass(30.0f)) { - field_0x2f92 = 4; - field_0x2f93 = 10; + mLeftHandIndex = 4; + mRightHandIndex = 10; } if (checkServiceWaitMode() && checkUnderMove0BckNoArc(ANM_WAIT)) { @@ -14905,14 +15508,14 @@ int daAlink_c::procMoveInit() { int daAlink_c::procMove() { setFootEffectProcType(3); if (!checkNextAction(0) && !checkFrontWallTypeAction()) { - if (mDemo.getDemoMode() == 2 && - mNormalSpeed > field_0x594 * mpHIO->mMove.m.mWalkChangeRate) + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_2_e && + mNormalSpeed > mMaxSpeed * mpHIO->mMove.m.mWalkChangeRate) { - mNormalSpeed = field_0x594 * mpHIO->mMove.m.mWalkChangeRate; + mNormalSpeed = mMaxSpeed * mpHIO->mMove.m.mWalkChangeRate; } setBlendMoveAnime(-1.0f); - if (field_0x3174 != 8) { + if (mGroundCode != 8) { field_0x30a0 = cLib_minMaxLimit((s16)(field_0x2ff0 >> 1), mpHIO->mBasic.m.mHeadMaxTurnUp, mpHIO->mBasic.m.mHeadMaxTurnDown); @@ -14946,8 +15549,11 @@ int daAlink_c::procAtnActorWaitInit() { return 0; } + s16 var_r30; if (mTargetedActor != NULL) { - fopAcM_searchActorAngleY(this, mTargetedActor); + var_r30 = fopAcM_searchActorAngleY(this, mTargetedActor); + } else { + var_r30 = 0; } mNormalSpeed = 0.0f; @@ -15006,7 +15612,7 @@ int daAlink_c::procWaitTurnInit() { mNormalSpeed = 0.0f; } - mProcVar3.field_0x300e = field_0x2fe2; + mProcVar3.field_0x300e = mMoveAngle; current.angle.y = shape_angle.y; return 1; } @@ -15018,22 +15624,22 @@ int daAlink_c::procWaitTurn() { return 1; } else if (checkEndResetFlg0(ERFLG0_UNK_100000)) { return procFloorDownReboundInit(); - } else { - s16 angle = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e, 30, 0x3CDF, 8000); - current.angle.y = shape_angle.y; + } - if (checkNextActionFromButton()) { - return 1; - } else if (angle == 0) { - if (checkEventRun()) { - if (mDemo.getDemoMode() == 5) { - dComIfGp_evmng_cutEnd(mAlinkStaffId); - } else if (!checkNextAction(0)) { - checkWaitAction(); - } - } else { - checkNextAction(0); + s16 angle = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e, 30, 0x3CDF, 8000); + current.angle.y = shape_angle.y; + + if (checkNextActionFromButton()) { + return 1; + } else if (angle == 0) { + if (checkEventRun()) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_WAIT_TURN_e) { + dComIfGp_evmng_cutEnd(mAlinkStaffId); + } else if (!checkNextAction(0)) { + checkWaitAction(); } + } else { + checkNextAction(0); } } @@ -15052,7 +15658,7 @@ int daAlink_c::procMoveTurnInit(int param_0) { mProcVar3.field_0x300e = (mpHIO->mMove.m.mMaxTurnAngle * 4) + 19030; mProcVar4.field_0x3010 = mpHIO->mMove.m.mMaxTurnAngle * 2; mProcVar1.field_0x300a = 2; - current.angle.y = field_0x2fe2; + current.angle.y = mMoveAngle; mNormalSpeed *= 0.5f; } else { mProcVar3.field_0x300e = mpHIO->mMove.m.mMaxTurnAngle * 2; @@ -15076,25 +15682,25 @@ int daAlink_c::procMoveTurn() { return 1; } -int daAlink_c::procSideStepInit(int jump_type) { - if (jump_type == 1 && !checkHeavyStateOn(1, 1) && - (checkNoUpperAnime() || checkEquipAnime() || field_0x2fcc != 0 && checkUpperGuardAnime())) +int daAlink_c::procSideStepInit(int i_jumpDirection) { + if (i_jumpDirection == DIR_BACKWARD && !checkHeavyStateOn(TRUE, TRUE) && + (checkNoUpperAnime() || checkEquipAnime() || (field_0x2fcc != 0 && checkUpperGuardAnime()))) { return procBackJumpInit(0); } commonProcInit(PROC_SIDESTEP); - field_0x2f98 = jump_type; + field_0x2f98 = i_jumpDirection; - if (field_0x2f98 == 1) { + daAlink_ANM anm_id; + if (field_0x2f98 == DIR_BACKWARD) { current.angle.y = shape_angle.y + 0x8000; setSingleAnimeParam(ANM_BACK_JUMP, &mpHIO->mSideStep.m.mBackJumpAnm); mNormalSpeed = mpHIO->mSideStep.m.mBackJumpSpeedH; speed.y = mpHIO->mSideStep.m.mBackJumpSpeedV; mProcVar1.field_0x300a = 0; } else { - daAlink_ANM anm_id; - if (field_0x2f98 == 2) { + if (field_0x2f98 == DIR_LEFT) { anm_id = ANM_SIDE_JUMP_LEFT; current.angle.y = shape_angle.y + 0x4000; } else { @@ -15108,7 +15714,7 @@ int daAlink_c::procSideStepInit(int jump_type) { mProcVar1.field_0x300a = 1; } - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; } @@ -15121,8 +15727,7 @@ int daAlink_c::procSideStepInit(int jump_type) { int daAlink_c::procSideStep() { if (mTargetedActor != NULL && mProcVar1.field_0x300a != 0) { - s16 actor_angle = fopAcM_searchActorAngleY(this, mTargetedActor); - cLib_addCalcAngleS(&shape_angle.y, actor_angle, 5, 0x5E8, 0x13C); + cLib_addCalcAngleS(&shape_angle.y, fopAcM_searchActorAngleY(this, mTargetedActor), 5, 0x5E8, 0x13C); if (field_0x2f98 == 2) { current.angle.y = shape_angle.y + 0x4000; @@ -15145,7 +15750,7 @@ int daAlink_c::procSideStep() { } } else if (checkNoUpperAnime() && checkForceSwordSwing()) { setCutDash(1, 0); - } else if (mDemo.getDemoMode() != 16 && + } else if (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_16_e && current.pos.y < mLastJumpPos.y - mpHIO->mSideStep.m.mFallHeight) { return procFallInit(2, mpHIO->mSideStep.m.mFallInterpolation); @@ -15169,13 +15774,13 @@ int daAlink_c::procSideStepLandInit() { field_0x2fcc = 10; } else { daAlink_ANM anm_id; - u16 uvar3; + u16 anmResIdx; if (field_0x2f98 == 2) { anm_id = ANM_SIDE_JUMP_LEFT_LAND; - uvar3 = 0x3F; + anmResIdx = dRes_ID_ALANM_BCK_ATTWIRLL_e; } else { anm_id = ANM_SIDE_JUMP_RIGHT_LAND; - uvar3 = 0x40; + anmResIdx = dRes_ID_ALANM_BCK_ATTWIRLR_e; } setSingleAnimeParam(anm_id, &mpHIO->mSideStep.m.mSideLandAnm); @@ -15185,7 +15790,7 @@ int daAlink_c::procSideStepLandInit() { field_0x2fcc = 0; if (checkEnemyGroup(mTargetedActor) && mEquipItem == 0x103 && checkNoUpperAnime()) { - setUpperAnimeBaseSpeed(uvar3, mpHIO->mAtnMove.m.mWaitAnmSpeed, -1.0f); + setUpperAnimeBaseSpeed(anmResIdx, mpHIO->mAtnMove.m.mWaitAnmSpeed, -1.0f); seStartSwordCut(Z2SE_AL_WAIT_SWORD_SWING); } } @@ -15212,8 +15817,8 @@ int daAlink_c::procSideStepLand() { mProcVar2.field_0x300c = 1; } - if (frameCtrl_p->checkAnmEnd()) { - if (mDemo.getDemoMode() == 16) { + if (checkAnmEnd(frameCtrl_p)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_16_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); @@ -15231,7 +15836,7 @@ int daAlink_c::procSideStepLand() { int daAlink_c::procSlideInit(s16 param_0) { commonProcInit(PROC_SLIDE); - field_0x814.SetWeight(255); + mCcStts.SetWeight(255); field_0x3090 = 8; current.angle.y = param_0; @@ -15250,7 +15855,7 @@ int daAlink_c::procSlideInit(s16 param_0) { onModeFlg(MODE_UNK_20000000); mNormalSpeed = 0.0f; field_0x2f9d = 4; - setUpperAnimeBaseMorf(0xCE, -1.0f); + setUpperAnimeBaseMorf(dRes_ID_ALANM_BCK_DASHWIND_e, -1.0f); onNoResetFlg1(FLG1_UNK_10000000); setFootEffectProcType(0); } else { @@ -15261,7 +15866,7 @@ int daAlink_c::procSlideInit(s16 param_0) { setFootEffectProcType(1); } - field_0x594 = mpHIO->mSlide.m.mMaxSpeed; + mMaxSpeed = mpHIO->mSlide.m.mMaxSpeed; field_0x33cc = 0.0f; mProcVar2.field_0x300c = 0; mProcVar4.field_0x3010 = 0; @@ -15274,7 +15879,7 @@ int daAlink_c::procSlide() { if (getSlidePolygon(&slide_poly)) { s16 angleY = slide_poly.mNormal.atan2sX_Z(); if (field_0x3198 != 0) { - f32 sin = field_0x33a8 * cM_ssin(field_0x2fe2 - shape_angle.y); + f32 sin = mStickValue * cM_ssin(mMoveAngle - shape_angle.y); if (checkInputOnR()) { mProcVar2.field_0x300c = @@ -15302,17 +15907,16 @@ int daAlink_c::procSlide() { if (field_0x3198 == 0 || mUnderFrameCtrl[0].getFrame() > 6.0f) { f32 accel = mpHIO->mSlide.m.mAcceleration; - f32 var_f6 = field_0x594; + f32 max_speed = mMaxSpeed; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { accel *= 0.3f; - var_f6 *= 0.3f; + max_speed *= 0.3f; } - mNormalSpeed += accel * ((1.0f - slide_poly.mNormal.y) * 0.5f + 1.0f) * - cM_scos(current.angle.y - angleY); - if (mNormalSpeed > var_f6) { - mNormalSpeed = var_f6; + mNormalSpeed += accel * ((1.0f - slide_poly.mNormal.y) * 0.5f + 1.0f) * cM_scos(current.angle.y - angleY); + if (mNormalSpeed > max_speed) { + mNormalSpeed = max_speed; } if (field_0x3198 != 0) { @@ -15344,7 +15948,7 @@ int daAlink_c::procSlideLandInit(int param_0) { field_0x3198 = 0; } - field_0x814.SetWeight(255); + mCcStts.SetWeight(255); mNormalSpeed *= 0.5f; return 1; } @@ -15357,15 +15961,15 @@ int daAlink_c::procSlideLand() { field_0x2f99 = 4; } - if (frameCtrl_p->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl_p)) { current.angle.y = shape_angle.y; checkNextAction(0); } else if (frameCtrl_p->getFrame() > field_0x3478) { - s16 tmp_angle = current.angle.y; + s16 prev_angle = current.angle.y; current.angle.y = shape_angle.y; if (!checkNextAction(1)) { - current.angle.y = tmp_angle; + current.angle.y = prev_angle; } } @@ -15375,7 +15979,7 @@ int daAlink_c::procSlideLand() { int daAlink_c::procFrontRollInit() { BOOL is_guard_anime = checkUpperGuardAnime(); - if (mProcID == PROC_FRONT_ROLL && mDemo.getDemoMode() == 0x28) { + if (mProcID == PROC_FRONT_ROLL && mDemo.getDemoMode() == daPy_demo_c::DEMO_FRONT_ROLL_e) { return 0; } @@ -15388,21 +15992,20 @@ int daAlink_c::procFrontRollInit() { mpHIO->mFrontRoll.m.mRollAnm.mEndFrame, mpHIO->mFrontRoll.m.mRollAnm.mInterpolation); - mNormalSpeed = - speedF * mpHIO->mFrontRoll.m.mSpeedRate + mpHIO->mFrontRoll.m.mInitSpeed; + mNormalSpeed = speedF * mpHIO->mFrontRoll.m.mSpeedRate + mpHIO->mFrontRoll.m.mInitSpeed; - f32 var_f30 = mpHIO->mFrontRoll.m.mInitSpeed + mpHIO->mMove.m.mMaxSpeed * mpHIO->mFrontRoll.m.mSpeedRate; - if (mNormalSpeed > var_f30) { - mNormalSpeed = var_f30; + f32 max_speed = mpHIO->mFrontRoll.m.mInitSpeed + mpHIO->mMove.m.mMaxSpeed * mpHIO->mFrontRoll.m.mSpeedRate; + if (mNormalSpeed > max_speed) { + mNormalSpeed = max_speed; } if (mNormalSpeed < mpHIO->mFrontRoll.m.mMinSpeed) { mNormalSpeed = mpHIO->mFrontRoll.m.mMinSpeed; } - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; - } else if (checkHeavyStateOn(1, 1)) { + } else if (checkHeavyStateOn(TRUE, TRUE)) { mNormalSpeed *= mHeavySpeedMultiplier; } @@ -15416,14 +16019,14 @@ int daAlink_c::procFrontRollInit() { } if (checkEquipHeavyBoots()) { - field_0xFB8.SetAtType(AT_TYPE_HEAVY_BOOTS); - field_0xFB8.SetAtHitMark(1); - field_0xFB8.SetAtSe(9); - field_0xFB8.SetAtAtp(2); - field_0xFB8.SetAtMtrl(dCcD_MTRL_NONE); - field_0xFB8.ResetAtHit(); - field_0xFB8.SetR(mpHIO->mFrontRoll.m.mBootsAttackRadius); - field_0xFB8.OnAtSetBit(); + mAtSph.SetAtType(AT_TYPE_HEAVY_BOOTS); + mAtSph.SetAtHitMark(1); + mAtSph.SetAtSe(dCcD_SE_METAL); + mAtSph.SetAtAtp(2); + mAtSph.SetAtMtrl(dCcD_MTRL_NONE); + mAtSph.ResetAtHit(); + mAtSph.SetR(mpHIO->mFrontRoll.m.mBootsAttackRadius); + mAtSph.OnAtSetBit(); } return 1; @@ -15439,7 +16042,7 @@ int daAlink_c::procFrontRoll() { } if (checkInputOnR()) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mFrontRoll.m.mTurnRate, + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mFrontRoll.m.mTurnRate, mpHIO->mFrontRoll.m.mMaxTurnAngle, mpHIO->mFrontRoll.m.mTurnMinAngle); shape_angle.y = current.angle.y; @@ -15449,8 +16052,8 @@ int daAlink_c::procFrontRoll() { setUpperGuardAnime(-1.0f); } - if (frameCtrl_p->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x28) { + if (checkAnmEnd(frameCtrl_p)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_FRONT_ROLL_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { if (!checkInputOnR()) { @@ -15475,19 +16078,20 @@ int daAlink_c::procFrontRoll() { } else if (!checkNextAction(1)) { cLib_chaseF(&mNormalSpeed, 0.0f, 2.5f); } - } else if (mDemo.getDemoMode() != 0x28 && - speedF >= mpHIO->mFrontRoll.m.mCrashSpeedThreshold && - (checkNoResetFlg0(FLG0_UNK_18) || - (mAcchCir[0].ChkWallHit() && - !dComIfG_Bgsp().GetPolyAttackThrough(mAcchCir[0])) && - dComIfG_Bgsp().GetWallCode(mAcchCir[0]) != 7 && - cLib_distanceAngleS(current.angle.y + 0x8000, - mAcchCir[0].GetWallAngleY()) <= - mpHIO->mFrontRoll.m.mCrashAngleThreshold && - frameCtrl_p->getFrame() >= mpHIO->mFrontRoll.m.mCrashInitF && - frameCtrl_p->getFrame() <= mpHIO->mFrontRoll.m.mCrashEndF)) + } else if (mDemo.getDemoMode() != daPy_demo_c::DEMO_FRONT_ROLL_e + && speedF >= mpHIO->mFrontRoll.m.mCrashSpeedThreshold + && + (checkNoResetFlg0(daPy_FLG0(FLG0_UNK_10 | FLG0_UNK_8)) + || ((mAcchCir[0].ChkWallHit() && !dComIfG_Bgsp().GetPolyAttackThrough(mAcchCir[0])) + && dComIfG_Bgsp().GetWallCode(mAcchCir[0]) != 7 + && cLib_distanceAngleS(current.angle.y + 0x8000, mAcchCir[0].GetWallAngleY()) <= mpHIO->mFrontRoll.m.mCrashAngleThreshold + && frameCtrl_p->getFrame() >= mpHIO->mFrontRoll.m.mCrashInitF + && frameCtrl_p->getFrame() <= mpHIO->mFrontRoll.m.mCrashEndF + ) + ) + ) { - if (!checkNoResetFlg0(FLG0_UNK_18)) { + if (!checkNoResetFlg0(daPy_FLG0(FLG0_UNK_10 | FLG0_UNK_8))) { mRollCrashFlg = dKy_pol_sound_get(&mAcchCir[0]); } @@ -15511,8 +16115,8 @@ int daAlink_c::procFrontRoll() { if (frameCtrl_p->getFrame() > 16.0f) { if (frameCtrl_p->getFrame() >= 18.0f) { - field_0x2f92 = 1; - field_0x2f93 = 6; + mLeftHandIndex = 1; + mRightHandIndex = 6; } cLib_chaseF(&mNormalSpeed, 0.0f, 1.0f); @@ -15534,7 +16138,7 @@ int daAlink_c::procFrontRollCrashInit() { mNormalSpeed = mpHIO->mFrontRoll.m.mCrashSpeedH; speed.y = mpHIO->mFrontRoll.m.mCrashSpeedV; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; } @@ -15551,15 +16155,15 @@ int daAlink_c::procFrontRollCrash() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; if (!checkModeFlg(2)) { - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextAction(0); } else if (frameCtrl->getFrame() > mpHIO->mFrontRoll.m.mCrashAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } else if (frameCtrl->getFrame() >= 18.0f) { - field_0x2f92 = 4; + mLeftHandIndex = 4; } else if (frameCtrl->getFrame() >= 14.0f) { - field_0x2f93 = 10; + mRightHandIndex = 10; } } else if ((mLinkAcch.ChkGroundHit() || checkEndResetFlg2(ERFLG2_UNK_100) || checkMagneBootsOn()) && @@ -15568,6 +16172,11 @@ int daAlink_c::procFrontRollCrash() { mNormalSpeed = 0.0f; setWaterInAnmRate(frameCtrl, mpHIO->mFrontRoll.m.mCrashAnm.mSpeed); frameCtrl->offEndFlg(); + + #if DEBUG + mpHIO->jumpStateUpdate(&mLastJumpPos, ¤t.pos, l_jumpTop); + #endif + current.angle.y = shape_angle.y; voiceStart(Z2SE_AL_V_ZENTEN_FAIL_2); offModeFlg(2); @@ -15578,13 +16187,13 @@ int daAlink_c::procFrontRollCrash() { } int daAlink_c::procFrontRollSuccessInit() { - BOOL dk_caught = mProcID == PROC_DK_CAUGHT; + BOOL is_prev_dkCaught = mProcID == PROC_DK_CAUGHT; commonProcInit(PROC_FRONT_ROLL_SUCCESS); setSingleAnimeParam(ANM_BARRIER_RECOIL, &mpHIO->mFrontRoll.m.mCrashHitAnm); mNormalSpeed = 0.0f; - if (!dk_caught) { + if (!is_prev_dkCaught) { setFrontRollCrashShock(mRollCrashFlg); onResetFlg0(RFLG0_FRONT_ROLL_CRASH); } else { @@ -15606,7 +16215,7 @@ int daAlink_c::procFrontRollSuccess() { field_0x2f99 = 4; onEndResetFlg0(ERFLG0_UNK_8000000); - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { current.angle.y = shape_angle.y; checkNextAction(0); } else if (frameCtrl->getFrame() > mpHIO->mFrontRoll.m.mCrashHitAnm.mCancelFrame) { @@ -15614,8 +16223,8 @@ int daAlink_c::procFrontRollSuccess() { current.angle.y = shape_angle.y; checkNextAction(1); } else if (frameCtrl->getFrame() >= 14.0f) { - field_0x2f92 = 1; - field_0x2f93 = 6; + mLeftHandIndex = 1; + mRightHandIndex = 6; } else if (frameCtrl->getFrame() > 9.0f) { field_0x2f9d = 0x60; } @@ -15624,7 +16233,7 @@ int daAlink_c::procFrontRollSuccess() { } int daAlink_c::procSideRollInit(int param_0) { - BOOL guard_anime = checkUpperGuardAnime(); + BOOL is_prev_guardAnm = checkUpperGuardAnime(); if (!commonProcInitNotSameProc(PROC_SIDE_ROLL)) { return 0; @@ -15647,9 +16256,9 @@ int daAlink_c::procSideRollInit(int param_0) { mpHIO->mGuard.mTurnMove.m.mTurnAnm.mInterpolation); mNormalSpeed = mpHIO->mGuard.mTurnMove.m.mSideRollSpeed; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; - } else if (checkHeavyStateOn(1, 1)) { + } else if (checkHeavyStateOn(TRUE, TRUE)) { mNormalSpeed *= mHeavySpeedMultiplier; } @@ -15657,19 +16266,18 @@ int daAlink_c::procSideRollInit(int param_0) { field_0x2f9d = 4; voiceStart(Z2SE_AL_V_SOTOMO_ROLL); - if (guard_anime) { + if (is_prev_guardAnm) { onNoResetFlg0(FLG0_UNK_2); } - mProcVar2.field_0x300c = 0; + mProcVar2.field_0x300c = 0; return 1; } int daAlink_c::procSideRoll() { onEndResetFlg0(ERFLG0_UNK_8000000); if (mTargetedActor != NULL) { - s16 actor_angle = fopAcM_searchActorAngleY(this, mTargetedActor); - cLib_addCalcAngleS(&shape_angle.y, actor_angle, 5, 0x5E8, 0x13C); + cLib_addCalcAngleS(&shape_angle.y, fopAcM_searchActorAngleY(this, mTargetedActor), 5, 0x5E8, 0x13C); if (field_0x2f98 == 2) { current.angle.y = shape_angle.y + 0x4000; @@ -15691,8 +16299,8 @@ int daAlink_c::procSideRoll() { setUpperGuardAnime(-1.0f); } - if (frameCtrl_p->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x49) { + if (checkAnmEnd(frameCtrl_p)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_73_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { if (!checkAttentionLock()) { @@ -15728,7 +16336,7 @@ int daAlink_c::procSideRoll() { void daAlink_c::backJumpSpeedDec() { if (mLinkAcch.ChkGroundHit()) { if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) { - f32 jump_speed; + f32 jump_speed = mNormalSpeed; if (dBgS_CheckBWallPoly(mLinkAcch.m_gnd)) { jump_speed = 0.0f; } else { @@ -15746,9 +16354,9 @@ void daAlink_c::backJumpSpeedDec() { } int daAlink_c::procBackJumpInit(int param_0) { - u32 horse_ride = checkHorseRide(); - BOOL guard_anime = checkUpperGuardAnime(); - BOOL ganon_finish = mProcID == PROC_GANON_FINISH; + u32 isHorseRide = checkHorseRide(); + BOOL is_prev_guardAnm = checkUpperGuardAnime(); + BOOL is_prev_ganonFinish = mProcID == PROC_GANON_FINISH; commonProcInit(PROC_BACK_JUMP); @@ -15766,14 +16374,14 @@ int daAlink_c::procBackJumpInit(int param_0) { field_0x3478 = mNormalSpeed; - if (horse_ride) { + if (isHorseRide) { onModeFlg(0x2000); mProcVar0.field_0x3008 = 5; } else { mProcVar0.field_0x3008 = 0; } - if (ganon_finish) { + if (is_prev_ganonFinish) { shape_angle.y -= -0x8000; setOldRootQuaternion(0, -0x8000, 0); field_0x2060->getOldFrameTransInfo(0)->mTranslate.z += 55.0f; @@ -15783,7 +16391,7 @@ int daAlink_c::procBackJumpInit(int param_0) { current.angle.y = shape_angle.y - -0x8000; field_0x3198 = 2; - if (guard_anime) { + if (is_prev_guardAnm) { onNoResetFlg0(FLG0_UNK_2); } @@ -15803,7 +16411,7 @@ int daAlink_c::procBackJump() { backJumpSpeedDec(); - if (mLinkAcch.ChkGroundHit() && mUnderFrameCtrl[0].checkAnmEnd()) { + if (mLinkAcch.ChkGroundHit() && checkAnmEnd(mUnderFrameCtrl)) { procBackJumpLandInit(field_0x3198); } else if (mDemo.getDemoMode() != 0x10 && current.pos.y < mLastJumpPos.y - mpHIO->mBackJump.m.mFallHeight) @@ -15841,9 +16449,9 @@ int daAlink_c::procBackJumpLand() { onEndResetFlg0(ERFLG0_UNK_8000000); - if (frameCtrl->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x10) { - dComIfGp_getPEvtManager()->cutEnd(mAlinkStaffId); + if (checkAnmEnd(frameCtrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_16_e) { + dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { if (!checkAttentionLock()) { offNoResetFlg2(FLG2_UNK_8000000); @@ -15880,7 +16488,7 @@ int daAlink_c::procSlip() { if (checkInputOnR()) { current.angle.y = shape_angle.y + 0x8000; shape_angle.y += 0x100; - mNormalSpeed = field_0x594 * 0.5f; + mNormalSpeed = mMaxSpeed * 0.5f; procMoveTurnInit(0); } else { checkNextAction(0); @@ -15890,7 +16498,7 @@ int daAlink_c::procSlip() { cXyz sp8; mProcVar0.field_0x3008--; - if (mLinkAcch.ChkWallHit() || (field_0x3174 == 8 && mProcVar0.field_0x3008 == 0)) { + if (mLinkAcch.ChkWallHit() || (mGroundCode == 8 && mProcVar0.field_0x3008 == 0)) { mNormalSpeed = 0.0f; checkNextAction(0); return 1; @@ -15916,18 +16524,14 @@ int daAlink_c::procSlip() { return 1; } -// TODO: Move / setup later -class ni_class : public fopAc_ac_c { -public: - bool checkGold() { return mType == 3; } - - /* 0x568 */ u8 field_0x568[0x5F0 - 0x568]; - /* 0x5F0 */ s8 mType; -}; - int daAlink_c::procAutoJumpInit(int param_0) { u32 chk_mode_400 = checkModeFlg(0x400); - BOOL not_front_roll = mProcID != PROC_FRONT_ROLL ? TRUE : FALSE; + BOOL not_front_roll; + if (mProcID == PROC_FRONT_ROLL) { + not_front_roll = FALSE; + } else { + not_front_roll = TRUE; + } if (checkIronBallWaitAnime()) { resetUpperAnime(UPPER_2, -1.0f); @@ -15944,7 +16548,7 @@ int daAlink_c::procAutoJumpInit(int param_0) { mProcVar0.field_0x3008 = 0; - if (chk_mode_400 || (mDemo.getDemoMode() == 0x18 && mDemo.getParam0() == 1)) { + if (chk_mode_400 || (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_24_e && mDemo.getParam0() == 1)) { if (chk_mode_400) { onModeFlg(0x2000); mProcVar0.field_0x3008 = 5; @@ -15972,27 +16576,27 @@ int daAlink_c::procAutoJumpInit(int param_0) { } s16 angle = mpHIO->mAutoJump.m.mJumpAngle; - BOOL cucco_jump = false; + BOOL isCuccoJump = false; field_0x3478 = -10.0f; if (grab_actor_name == PROC_NI || grab_actor_name == PROC_NPC_TKJ2) { if (grab_actor_name == PROC_NI && ((ni_class*)mGrabItemAcKeep.getActor())->checkGold() == true) { - field_0x594 = 30.0f; + mMaxSpeed = 30.0f; } else { if (checkStageName("F_SP115")) { - field_0x594 = 27.0f; + mMaxSpeed = 27.0f; field_0x3478 = -10.0f; } else { - field_0x594 = mpHIO->mAutoJump.m.mCuccoJumpMaxSpeed; + mMaxSpeed = mpHIO->mAutoJump.m.mCuccoJumpMaxSpeed; field_0x3478 = mpHIO->mAutoJump.m.mCuccoFallMaxSpeed; } angle = mpHIO->mAutoJump.m.mCuccoJumpAngle; - cucco_jump = true; + isCuccoJump = true; } } else { - field_0x594 = mpHIO->mAutoJump.m.mMaxJumpSpeed; + mMaxSpeed = mpHIO->mAutoJump.m.mMaxJumpSpeed; } if (checkGrabGlide()) { @@ -16000,12 +16604,12 @@ int daAlink_c::procAutoJumpInit(int param_0) { } if (chk_mode_400) { - speedF = field_0x594 * 0.75f; + speedF = mMaxSpeed * 0.75f; } else { - if (speedF > field_0x594 || param_0 || + if (speedF > mMaxSpeed || param_0 || mpHIO->mAutoJump.m.mAlwaysMaxSpeedJump == true) { - speedF = field_0x594; + speedF = mMaxSpeed; } else if (speedF < mpHIO->mAutoJump.m.mMinJumpSpeed) { speedF = mpHIO->mAutoJump.m.mMinJumpSpeed; } @@ -16015,7 +16619,7 @@ int daAlink_c::procAutoJumpInit(int param_0) { speed.y = mNormalSpeed * cM_ssin(angle); mNormalSpeed *= cM_scos(angle); - if (cucco_jump) { + if (isCuccoJump) { mNormalSpeed = mpHIO->mAutoJump.m.mCuccoStartSpeed; } @@ -16024,7 +16628,7 @@ int daAlink_c::procAutoJumpInit(int param_0) { offNoResetFlg0(FLG0_UNK_40000); mProcVar2.field_0x300c = 0; - onResetFlg0(RFLG0_UNK_100); + onResetFlg0(RFLG0_AUTO_JUMP_START); mFallVoiceInit = false; return 1; } @@ -16032,10 +16636,21 @@ int daAlink_c::procAutoJumpInit(int param_0) { int daAlink_c::procAutoJump() { int direction = getDirectionFromCurrentAngle(); + #if VERSION == VERSION_SHIELD_DEBUG + if (!checkStageName("F_SP115") && mGrabItemAcKeep.getActor() != NULL) { + if ((fopAcM_GetName(mGrabItemAcKeep.getActor()) == PROC_NI && ((ni_class*)mGrabItemAcKeep.getActor())->checkGold() != TRUE) || + (fopAcM_GetName(mGrabItemAcKeep.getActor()) == PROC_NPC_TKJ2)) + { + mMaxSpeed = mpHIO->mAutoJump.m.mCuccoJumpMaxSpeed; + field_0x3478 = mpHIO->mAutoJump.m.mCuccoFallMaxSpeed; + } + } + #endif + if (checkInputOnR() && direction == DIR_BACKWARD) { - cLib_chaseF(&mNormalSpeed, 0.0f, field_0x33a8 * 0.2f); + cLib_chaseF(&mNormalSpeed, 0.0f, mStickValue * 0.2f); } else if (checkGrabGlide()) { - cLib_chaseF(&mNormalSpeed, field_0x594, 0.1f); + cLib_chaseF(&mNormalSpeed, mMaxSpeed, 0.1f); } else if (!checkInputOnR()) { cLib_chaseF(&mNormalSpeed, 0.0f, 0.1f); } @@ -16061,16 +16676,15 @@ int daAlink_c::procAutoJump() { } if (!checkGrabAnime()) { - dCcD_Cyl* cyl_p = field_0x850; - for (int i = 0; i < 3; i++) { - fopAc_ac_c* hit_ac = cyl_p->GetCoHitAc(); + dCcD_Cyl* cyl_p = mTgCyls; + fopAc_ac_c* hit_ac; + for (int i = 0; i < 3; i++, cyl_p++) { + hit_ac = cyl_p->GetCoHitAc(); if (cyl_p->ChkCoHit() && hit_ac != NULL) { if (fopAcM_GetName(hit_ac) == PROC_Obj_SwHang) { return procRoofSwitchHangInit(hit_ac); } } - - cyl_p++; } if (checkFrontWallTypeAction() || checkCutJumpInFly()) { @@ -16083,7 +16697,7 @@ int daAlink_c::procAutoJump() { } if (mProcVar2.field_0x300c != 0) { - setDoStatus(1); + setDoStatus(BUTTON_STATUS_LET_GO); if (doTrigger()) { freeGrabItem(); @@ -16092,7 +16706,7 @@ int daAlink_c::procAutoJump() { if (!checkGrabGlide()) { setSpecialGravity(mpHIO->mAutoJump.m.mGravity, - mpHIO->mAutoJump.m.mMaxFallSpeed, 1); + mpHIO->mAutoJump.m.mMaxFallSpeed, TRUE); mProcVar2.field_0x300c = 0; resetUpperAnime(UPPER_1, 3.0f); field_0x30a0 = 0; @@ -16102,15 +16716,15 @@ int daAlink_c::procAutoJump() { if (!checkBootsOrArmorHeavy()) { mFallHeight = current.pos.y; - setSpecialGravity(-1.0f, field_0x3478, 0); + setSpecialGravity(-1.0f, field_0x3478, FALSE); } else { setSpecialGravity(mpHIO->mAutoJump.m.mGravity, - mpHIO->mAutoJump.m.mMaxFallSpeed * 0.6666667f, 0); + mpHIO->mAutoJump.m.mMaxFallSpeed * 0.6666667f, FALSE); } s16 diff; if (checkInputOnR() && direction != DIR_BACKWARD) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, 5, 200, 50); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, 5, 200, 50); diff = current.angle.y - shape_angle.y; shape_angle.y = current.angle.y; } else { @@ -16130,7 +16744,7 @@ int daAlink_c::procAutoJump() { field_0x3198 = 0x8C; } else if (speed.y < -gravity && field_0x2f99 == 4) { if (checkGrabGlide()) { - setSpecialGravity(-1.0f, field_0x3478, 0); + setSpecialGravity(-1.0f, field_0x3478, FALSE); mProcVar2.field_0x300c = 1; } @@ -16138,12 +16752,12 @@ int daAlink_c::procAutoJump() { mpHIO->mAutoJump.m.mJumpFallInterpolation); if (mProcVar2.field_0x300c != 0) { - setUpperAnime(0x276, UPPER_1, 1.0f, 0.0f, -1, 3.0f); + setUpperAnime(dRes_ID_ALANM_BCK_WALKHBS_e, UPPER_1, 1.0f, 0.0f, -1, 3.0f); } field_0x2f99 = 0x20; field_0x3198 = 0x33; - } else if (field_0x3198 == 0x31 && mUnderFrameCtrl[0].checkAnmEnd()) { + } else if (field_0x3198 == 0x31 && checkAnmEnd(mUnderFrameCtrl)) { setSingleAnimeBaseSpeed(ANM_JUMP, 0.0f, mpHIO->mAutoJump.m.mAirborneInterpolation); field_0x3198 = 0x32; } @@ -16183,7 +16797,7 @@ int daAlink_c::procDiveJump() { } if (mProcVar2.field_0x300c == 0) { - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { setSingleAnimeParam(ANM_DIVE, &mpHIO->mAutoJump.m.mDiveConnectAnm); mProcVar2.field_0x300c = 1; field_0x2f99 = 2; @@ -16204,12 +16818,12 @@ int daAlink_c::procRollJumpInit() { setSingleAnimeBaseSpeed(ANM_ROLL_JUMP, 0.0f, mpHIO->mAutoJump.m.mSpinJumpInterpolation); - field_0x3478 = field_0x3410; - mNormalSpeed = field_0x3410; - speed.y = field_0x3414; + field_0x3478 = mRollJumpSpeedH; + mNormalSpeed = mRollJumpSpeedH; + speed.y = mRollJumpSpeedV; - field_0x2fe6 = field_0x30ee; - shape_angle.y = field_0x30ee; + mPrevAngleY = mRollJumpAngle; + shape_angle.y = mRollJumpAngle; current.angle.y = shape_angle.y; mLinkAcch.ClrGroundHit(); @@ -16244,8 +16858,7 @@ int daAlink_c::procRollJump() { } cLib_chaseF(&field_0x347c, - field_0x33a8 * cM_scos(field_0x2fe2 - shape_angle.y) * - mpHIO->mAutoJump.m.mSpinJumpAddSpeed, + mStickValue * cM_scos(mMoveAngle - shape_angle.y) * mpHIO->mAutoJump.m.mSpinJumpAddSpeed, mpHIO->mAutoJump.m.mSpinJumpAccel); mNormalSpeed = field_0x3478 + field_0x347c; } @@ -16253,16 +16866,14 @@ int daAlink_c::procRollJump() { return 1; } -#include "d/d_com_inf_game.h" - -int daAlink_c::procFallInit(int param_0, f32 param_1) { - if (mDemo.getDemoMode() == 0x11) { +int daAlink_c::procFallInit(int param_0, f32 i_morf) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_17_e) { mLinkAcch.SetGrndNone(); mLinkAcch.OnLineCheckNone(); } u32 var_r3 = checkModeFlg(0x10000) && !dComIfGp_checkPlayerStatus0(0, 8); - u8 temp_r30 = mProcID != PROC_CANOE_GETOFF; + BOOL temp_r30 = mProcID != PROC_CANOE_GETOFF; BOOL temp_r29 = mProcID == PROC_ROOF_HANG_FRONT_MOVE; if (mProcID == PROC_HORSE_GETOFF) { @@ -16273,8 +16884,8 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) { return 0; } - if (checkNoResetFlg0(FLG0_UNDERWATER)) { - offNoResetFlg0(FLG0_UNDERWATER); + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + offNoResetFlg0(FLG0_WATER_IN_MOVE); } mProcVar5.field_0x3012 = 0; @@ -16304,7 +16915,7 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) { } mProcVar4.field_0x3010 = temp_r30; - setSingleAnimeBaseSpeed(ANM_JUMP_LAND, 0.0f, param_1); + setSingleAnimeBaseSpeed(ANM_JUMP_LAND, 0.0f, i_morf); resetBasAnime(); if (param_0 != 4 && current.angle.y == shape_angle.y && !checkGrabAnime()) { @@ -16357,7 +16968,7 @@ int daAlink_c::procFall() { setFrontWallType(); if ((field_0x32cc != 0 || - ((checkInputOnR() && getDirectionFromShapeAngle() == 0) || doTrigger())) && + ((checkInputOnR() && getDirectionFromShapeAngle() == DIR_FORWARD) || doTrigger())) && checkFrontWallTypeAction()) { return 1; @@ -16396,9 +17007,8 @@ int daAlink_c::procLandInit(f32 param_0) { if (checkGrabGlide()) { mUnderFrameCtrl[0].setRate(0.5f); - } else if (checkNoResetFlg0(FLG0_UNDERWATER)) { - f32 rate = mUnderFrameCtrl[0].getRate() * 0.34999999f; - mUnderFrameCtrl[0].setRate(rate); + } else if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + mUnderFrameCtrl[0].setRate(mUnderFrameCtrl[0].getRate() * 0.34999999f); } field_0x2f9d = 4; @@ -16414,24 +17024,23 @@ int daAlink_c::procLandInit(f32 param_0) { int daAlink_c::procLand() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextAction(0); } else if (frameCtrl->getFrame() > mpHIO->mAutoJump.m.mLandAnm.mCancelFrame) { checkNextAction(1); } else if (frameCtrl->checkPass(4.0f)) { - int var_r4; + int vibmode; if (checkBootsOrArmorHeavy()) { - var_r4 = 3; - } else if (checkNoResetFlg0(FLG0_UNDERWATER) || + vibmode = VIBMODE_S_POWER3; + } else if (checkNoResetFlg0(FLG0_WATER_IN_MOVE) || field_0x3478 < mpHIO->mDamage.mDamFall.m.mMinRollHeight) { - var_r4 = 1; + vibmode = VIBMODE_S_POWER1; } else { - var_r4 = 2; + vibmode = VIBMODE_S_POWER2; } - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(var_r4, 15, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(vibmode, 15, cXyz(0.0f, 1.0f, 0.0f)); } return 1; @@ -16498,9 +17107,8 @@ int daAlink_c::procSmallJump() { setJumpMode(); mNormalSpeed = mpHIO->mWallHang.mSmallJump.m.mSpeedH; - if (checkHeavyStateOn(1, 1) && !checkNoResetFlg0(FLG0_UNDERWATER)) { - f32 temp = mpHIO->mWallHang.mSmallJump.m.mTargetHeightOffset + - (field_0x3478 - current.pos.y); + if (checkHeavyStateOn(TRUE, TRUE) && !checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + f32 temp = mpHIO->mWallHang.mSmallJump.m.mTargetHeightOffset + (field_0x3478 - current.pos.y); // fakematch speed.y = JMAFastSqrt(2.0f * (temp * -(gravity * 2.25f))); } else { speed.y = @@ -16531,7 +17139,6 @@ int daAlink_c::procStepMoveInit() { mProcVar2.field_0x300c = 0; field_0x3588 = l_waitBaseAnime; - return 1; } @@ -16541,7 +17148,7 @@ int daAlink_c::procStepMove() { if (mProcVar2.field_0x300c != 0) { field_0x2f99 = 4; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { return checkNextAction(0); } @@ -16554,7 +17161,7 @@ int daAlink_c::procStepMove() { mNormalSpeed = 0.0f; } - } else if (frameCtrl->checkAnmEnd()) { + } else if (checkAnmEnd(frameCtrl)) { setSingleAnimeParam(ANM_S_JUMP_END, &mpHIO->mWallHang.mSmallJump.m.mStepLandAnm); current.pos.set(field_0x34ec.x + cM_ssin(shape_angle.y) * 2.0f, field_0x34ec.y, field_0x34ec.z + cM_scos(shape_angle.y) * 2.0f); @@ -16580,12 +17187,12 @@ int daAlink_c::procCrouch() { cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); if (checkAttentionState()) { - setFaceBasicBck(0xE8); + setFaceBasicBck(dRes_ID_ALANM_BCK_FAT_e); } else { setFaceBasicBck(0); } - if (mDemo.getDemoMode() != 0x29 && + if (mDemo.getDemoMode() != daPy_demo_c::DEMO_CROUCH_e && (mSinkShapeOffset <= -80.0f || (checkAttentionLock() && checkGuardAccept()))) { checkNextActionFromCrouch(0); @@ -16617,8 +17224,8 @@ int daAlink_c::procCoMetamorphoseInit() { field_0x347c = 1.0f; mFallVoiceInit = 0; - if ((checkWolf() && mDemo.getDemoMode() == 0x39) || - (!checkWolf() && mDemo.getDemoMode() == 0x3A)) + if ((checkWolf() && mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_UNK1_e) || + (!checkWolf() && mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_UNK2_e)) { mProcVar1.field_0x300a = 1; speed.y = 0.0f; @@ -16630,7 +17237,7 @@ int daAlink_c::procCoMetamorphoseInit() { } else { deleteEquipItem(FALSE, TRUE); - if (checkEndResetFlg0(ERFLG0_UNK_2) && checkStageName("D_MN08")) { + if (checkEndResetFlg0(ERFLG0_FORCE_WOLF_CHANGE) && checkStageName("D_MN08")) { mProcVar4.field_0x3010 = 1; } mProcVar1.field_0x300a = 0; @@ -16647,16 +17254,16 @@ int daAlink_c::procCoMetamorphoseInit() { if (checkMidnaRide() && daMidna_c::checkMidnaRealBody() && midna->checkDemoTypeNone()) { midna->changeOriginalDemo(); - midna->changeDemoMode(15); + midna->changeDemoMode(daPy_demo_c::DEMO_UNK_15_e); } } else { // Transform Human -> Wolf - if (mDemo.getDemoMode() == 0x39 && mDemo.getParam1() == 1) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_UNK1_e && mDemo.getParam1() == 1) { voiceStart(Z2SE_AL_V_TRANSFORM); } setSingleAnimeBase(ANM_TRANSFORM_TO_WOLF); - setMetamorphoseModel(1); + setMetamorphoseModel(TRUE); field_0x3588 = l_waitBaseAnime; field_0x3480 = mpHIO->mBasic.m.mLinkToWolfCancelFrame; @@ -16721,7 +17328,7 @@ int daAlink_c::procCoMetamorphose() { return 1; } - daPy_frameCtrl_c* temp_r29 = mUnderFrameCtrl; + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; if (!mLinkAcch.ChkGroundHit()) { current.pos.y = field_0x3484; speed.y = 0.0f; @@ -16735,7 +17342,7 @@ int daAlink_c::procCoMetamorphose() { if (mClothesChangeWaitTimer == 0) { mProcVar5.field_0x3012 = 1; - if (mDemo.getParam0() == 1 && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) { + if (mDemo.getParam0() == 1 && (mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_UNK1_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_UNK2_e)) { dComIfGp_evmng_cutEnd(mAlinkStaffId); if (checkWolf()) { @@ -16750,7 +17357,8 @@ int daAlink_c::procCoMetamorphose() { } Vec sp8 = {0.0f, 0.0f, 0.0f}; - sp8.z = l_wolfBaseAnime.z - l_waitBaseAnime.z; + f32 var_f29 = l_wolfBaseAnime.z - l_waitBaseAnime.z; + sp8.z = var_f29; if (!checkWolf()) { setSingleAnimeBaseMorf(ANM_TRANSFORM_TO_HUMAN, -1.0f); @@ -16773,9 +17381,12 @@ int daAlink_c::procCoMetamorphose() { } } - } else if (checkAnmEnd(temp_r29) || ((mDemo.getParam0() == 1) && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) || (mProcVar5.field_0x3012 != 0 && temp_r29->getFrame() > field_0x3480 && (checkInputOnR() || doTrigger() || grassCancelTrigger()))) { + } else if (checkAnmEnd(framectrl) + || ((mDemo.getParam0() == 1) && (mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_UNK1_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_UNK2_e)) + || (mProcVar5.field_0x3012 != 0 && framectrl->getFrame() > field_0x3480 && (checkInputOnR() || doTrigger() || grassCancelTrigger()))) + { if (mProcVar5.field_0x3012 != 0) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); if (field_0x3198 != 0) { resetSpecialEvent(); @@ -16800,16 +17411,16 @@ int daAlink_c::procCoMetamorphose() { mProcVar0.field_0x3008 = 1; if (mProcVar4.field_0x3010 != 0) { - /* dSv_event_flag_c::F_0776 - Palace of Twilight - Link first turned to wolf due to fog in Palace of Twilight */ - dComIfGs_onEventBit(0x5E40); + dComIfGs_onEventBit(dSv_event_flag_c::F_0776); } } - field_0x33dc = temp_r29->getFrame(); + field_0x33dc = framectrl->getFrame(); + f32 var_f31; if (mProcVar5.field_0x3012 != 0) { if (checkWolf()) { - f32 var_f31 = 1.0f - (0.03846154f * field_0x33dc); + var_f31 = 1.0f - (0.03846154f * field_0x33dc); if (var_f31 < 0.0f) { var_f31 = 0.0f; } @@ -16818,24 +17429,24 @@ int daAlink_c::procCoMetamorphose() { } else if (field_0x33dc < 14.0f) { mProcVar3.field_0x300e = 15.0 + (49.0 * (1.0 - (0.07142857142857142 * field_0x33dc))); } else { - f32 var_f31_2 = 1.0f - (0.2f * (field_0x33dc - 14.0f)); - if (var_f31_2 < 0.0f) { - var_f31_2 = 0.0f; + var_f31 = 1.0f - (0.2f * (field_0x33dc - 14.0f)); + if (var_f31 < 0.0f) { + var_f31 = 0.0f; } - mProcVar3.field_0x300e = 15.0f * var_f31_2; + mProcVar3.field_0x300e = 15.0f * var_f31; } } else if (checkWolf() != 0) { mProcVar3.field_0x300e = -64.0 * (0.07142857142857142 * field_0x33dc); } else if (field_0x33dc < 9.0f) { mProcVar3.field_0x300e = -15.0 * (0.1111111111111111 * field_0x33dc); } else { - f32 var_f31_3 = 0.2f * (field_0x33dc - 9.0f); - if (var_f31_3 > 1.0f) { - var_f31_3 = 1.0f; + var_f31 = 0.2f * (field_0x33dc - 9.0f); + if (var_f31 > 1.0f) { + var_f31 = 1.0f; } - mProcVar3.field_0x300e = -(15.0f + (49.0f * var_f31_3)); + mProcVar3.field_0x300e = -(15.0f + (49.0f * var_f31)); } if (!checkWolf()) { @@ -16873,9 +17484,9 @@ int daAlink_c::procCoMetamorphoseOnlyInit() { return 1; } - deleteEquipItem(0, 1); - if ((checkWolf() && mDemo.getDemoMode() == 0x46) || - (!checkWolf() && mDemo.getDemoMode() == 0x47)) + deleteEquipItem(FALSE, TRUE); + if ((checkWolf() && mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_ONLY_UNK1_e) || + (!checkWolf() && mDemo.getDemoMode() == daPy_demo_c::DEMO_METAMORPHOSE_ONLY_UNK2_e)) { mProcVar2.field_0x300c = 1; mProcVar3.field_0x300e = 1; @@ -16886,7 +17497,7 @@ int daAlink_c::procCoMetamorphoseOnlyInit() { mNormalSpeed = 0.0f; speed.y = 0.0f; - setSpecialGravity(0.0f, maxFallSpeed, 0); + setSpecialGravity(0.0f, maxFallSpeed, FALSE); return 1; } @@ -16927,7 +17538,7 @@ int daAlink_c::procFloorDownReboundInit() { int daAlink_c::procFloorDownRebound() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextAction(0); } else if (frameCtrl->getFrame() > mpHIO->mAutoJump.m.mLandAnm.mCancelFrame) { checkNextAction(1); @@ -16936,14 +17547,14 @@ int daAlink_c::procFloorDownRebound() { return 1; } -int daAlink_c::procGoronRideWaitInit(fopAc_ac_c* param_0) { +int daAlink_c::procGoronRideWaitInit(fopAc_ac_c* i_goronActor) { if (!commonProcInitNotSameProc(PROC_GORON_RIDE_WAIT)) { return 0; } mNormalSpeed = 0.0f; - current.pos.x = param_0->current.pos.x; - current.pos.z = param_0->current.pos.z; + current.pos.x = i_goronActor->current.pos.x; + current.pos.z = i_goronActor->current.pos.z; field_0x2f99 = 0x50; current.angle.y = shape_angle.y; setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); @@ -16956,27 +17567,27 @@ int daAlink_c::procGoronRideWait() { checkNextAction(0); } else { if (checkInputOnR()) { - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, 2, 500, 100); + cLib_addCalcAngleS(&shape_angle.y, mMoveAngle, 2, 500, 100); } s16 temp_r0 = shape_angle.y - current.angle.y; - daAlink_ANM var_r28; + daAlink_ANM anm; if (temp_r0 > 0) { - var_r28 = ANM_STEP_TURN; + anm = ANM_STEP_TURN; } else if (temp_r0 < 0) { - var_r28 = ANM_SMALL_GUARD; + anm = ANM_SMALL_GUARD; } else { - var_r28 = ANM_WAIT; + anm = ANM_WAIT; } - f32 var_f31 = 0.8f + (0.002f * abs(temp_r0)); - if (var_f31 > 1.0f) { - var_f31 = 1.0f; + f32 blendRate = 0.8f + (0.002f * abs(temp_r0)); + if (blendRate > 1.0f) { + blendRate = 1.0f; } - var_f31 = 1.0f - var_f31; + blendRate = 1.0f - blendRate; - setDoubleAnime(var_f31, mpHIO->mBasic.m.mRotationASpeed, mpHIO->mMove.m.mWaitAnmSpeed, var_r28, ANM_WAIT, 2, -1.0f); + setDoubleAnime(blendRate, mpHIO->mBasic.m.mRotationASpeed, mpHIO->mMove.m.mWaitAnmSpeed, anm, ANM_WAIT, 2, -1.0f); current.angle.y = shape_angle.y; } @@ -16991,7 +17602,8 @@ int daAlink_c::execute() { } if (field_0x30fe != 0) { - *field_0x814.GetCCMoveP() = field_0x372c * (1.0f / (f32)field_0x30fe); + f32 var_f26 = 1.0f / (f32)field_0x30fe; + *mCcStts.GetCCMoveP() = field_0x372c * var_f26; } if (checkHorseRide() && checkBoarSingleBattle() && dComIfGp_getHorseActor() != NULL) { @@ -17003,12 +17615,30 @@ int daAlink_c::execute() { shape_angle.y = field_0x3108; } + #if VERSION == VERSION_SHIELD_DEBUG + if (checkWolf()) { + l_autoUpHeight = mpHIO->mWolf.mWlWallHang.m.mAutoWalkHeight + 0.1f; + field_0x3470 = cM_scos(cM_deg2s(mpHIO->mWolf.mWlSlide.m.mSlidingAngle)); + field_0x3122 = cM_deg2s(mpHIO->mWolf.mWlSlide.m.mClimbingAngle); + } else { + l_autoUpHeight = mpHIO->mWallHang.m.auto_walk_height + 0.1f; + field_0x3470 = cM_scos(cM_deg2s(mpHIO->mSlide.m.mSlideAngle)); + field_0x3122 = cM_deg2s(mpHIO->mSlide.m.mClimbAngle); + + if (checkBoardRide()) { + mMaxSpeed = mpHIO->mItem.mBoard.m.mMaxSpeed; + } + } + + l_autoDownHeight = -l_autoUpHeight; + #endif + if (checkNoResetFlg2(FLG2_UNK_1) && mEquipItem != fpcNm_ITEM_KANTERA && checkItemSetButton(fpcNm_ITEM_KANTERA) == 2) { offKandelaarModel(); } mSwordChangeWaitTimer = 0; - setSelectEquipItem(0); + setSelectEquipItem(FALSE); if (dComIfGp_event_runCheck()) { mAlinkStaffId = dComIfGp_evmng_getMyStaffId("Alink", this, 0); @@ -17051,10 +17681,13 @@ int daAlink_c::execute() { field_0x34c8.y += (current.pos.y - pos_y) * 0.1f; } } - } else if (mProcID != PROC_HOOKSHOT_FLY && !checkModeFlg(MODE_VINE_CLIMB | MODE_UNK_800) && - mProcID != PROC_TOOL_DEMO && mLinkAcch.GetGroundH() != -G_CM3D_F_INF && - dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && - dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) + } else if (mProcID != PROC_HOOKSHOT_FLY + && !checkModeFlg(MODE_VINE_CLIMB | MODE_UNK_800) + && mProcID != PROC_TOOL_DEMO + && mLinkAcch.GetGroundH() != -G_CM3D_F_INF + && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) + && dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd) + ) { bool uvar23; if (mProcID == PROC_SPINNER_READY) { @@ -17071,9 +17704,9 @@ int daAlink_c::execute() { } field_0x3798 = old.pos; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; mPrevStickAngle = mStickAngle; - field_0x33a4 = field_0x33ac; + field_0x33a4 = mMoveValue; if (checkResetFlg0(RFLG0_UNK_8000000) && !checkCutDashAnime()) { mCutType = 0; @@ -17094,30 +17727,29 @@ int daAlink_c::execute() { deleteEquipItem(FALSE, FALSE); } - field_0x2fae = 0; + mUseButtonFlags = 0; - setDoStatus(0); - setRStatus(0); - set3DStatus(0, 0); - setMidnaTalkStatus(0); + setDoStatus(BUTTON_STATUS_NONE); + setRStatus(BUTTON_STATUS_NONE); + set3DStatus(BUTTON_STATUS_NONE, 0); + setMidnaTalkStatus(BUTTON_STATUS_NONE); if (checkWolf()) { - setBStatus(ACTION_STR_ATTACK); - setWolfDigStatus(ACTION_STR_NONE); + setBStatus(BUTTON_STATUS_ATTACK); + setWolfDigStatus(BUTTON_STATUS_NONE); - // Have wolf sense ability - if (dComIfGs_isEventBit(0x4308)) { - setWolfSenceStatus(ACTION_STR_SENSE); + if (dComIfGs_isEventBit(dSv_event_flag_c::F_0550)) { + setWolfSenceStatus(BUTTON_STATUS_SENSE); } else { - setWolfSenceStatus(ACTION_STR_NONE); + setWolfSenceStatus(BUTTON_STATUS_NONE); } } else { if (checkCanoeRide() && checkStageName("F_SP127")) { - setBStatus(ACTION_STR_NONE5); + setBStatus(BUTTON_STATUS_UNK_79); } else if (checkSwordGet()) { - setBStatus(ACTION_STR_NONE3); + setBStatus(BUTTON_STATUS_UNK_38); } else { - setBStatus(ACTION_STR_NONE); + setBStatus(BUTTON_STATUS_NONE); } } @@ -17130,10 +17762,10 @@ int daAlink_c::execute() { field_0x280c.setActor(); mRideAcKeep.setActor(); - if (checkNoResetFlg2(FLG2_UNK_58)) { + if (checkNoResetFlg2(daPy_FLG2(FLG2_WOLF_ENEMY_HANG_BITE | FLG2_UNK_10 | FLG2_UNK_8))) { field_0x281c.setActor(); if (field_0x281c.getActor() == NULL) { - offNoResetFlg2(FLG2_UNK_58); + offNoResetFlg2(daPy_FLG2(FLG2_WOLF_ENEMY_HANG_BITE | FLG2_UNK_10 | FLG2_UNK_8)); } } else { field_0x281c.clearData(); @@ -17256,21 +17888,30 @@ int daAlink_c::execute() { event_name = NULL; } - if (event_name != NULL && (!strcmp(event_name, "kiko_yami") || !strcmp(event_name, "fire_insect") || - (checkStageName("F_SP108") && - (!strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "yami_mog"))) || - (checkStageName("R_SP109") && - (!strcmp(event_name, "MapToolCamera1") || !strcmp(event_name, "MapToolCamera2") || - !strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "fire_insect"))) || - (checkStageName("F_SP115") && !strcmp(event_name, "MapToolCamera23")))) + if (event_name != NULL && + (strcmp(event_name, "kiko_yami") == 0 + || strcmp(event_name, "fire_insect") == 0 + || (checkStageName("F_SP108") && (strcmp(event_name, "MapToolCamera19") == 0 || strcmp(event_name, "yami_mog") == 0)) + || (checkStageName("R_SP109") && (strcmp(event_name, "MapToolCamera1") == 0 + || strcmp(event_name, "MapToolCamera2") == 0 + || strcmp(event_name, "MapToolCamera19") == 0 + || strcmp(event_name, "fire_insect") == 0 + ) + ) + || (checkStageName("F_SP115") && strcmp(event_name, "MapToolCamera23") == 0) + ) + ) { - mWolfEyeUp = mpHIO->mWolf.m.mSensesLingerTime + 1; - } else if (checkEndResetFlg1(ERFLG1_WOLF_EYE_KEEP) || (checkDungeon() && eventInfo.checkCommandDoor()) || - mProcID == PROC_WOLF_GET_SMELL || mProcID == PROC_WOLF_DIG || - mProcID == PROC_WOLF_DIG_THROUGH || checkNoResetFlg0(FLG0_UNK_4000) || - dComIfGp_checkPlayerStatus1(0, 0x1000000) || - (checkEventRun() && partner != NULL && (partner->attention_info.flags & fopAc_AttnFlag_UNK_0x400000)) || - !strcmp(dComIfGp_getEventManager().getRunEventName(), l_defaultGetEventName)) + mWolfEyeUp = mpHIO->mWolf.m.mSensesLingerTime + 1; + } else if (checkEndResetFlg1(ERFLG1_WOLF_EYE_KEEP) + || (checkDungeon() && eventInfo.checkCommandDoor()) + || mProcID == PROC_WOLF_GET_SMELL + || mProcID == PROC_WOLF_DIG + || mProcID == PROC_WOLF_DIG_THROUGH + || checkNoResetFlg0(FLG0_UNK_4000) + || dComIfGp_checkPlayerStatus1(0, 0x1000000) + || (checkEventRun() && partner != NULL && (partner->attention_info.flags & fopAc_AttnFlag_UNK_0x400000)) + || strcmp(dComIfGp_getEventManager().getRunEventName(), l_defaultGetEventName) == 0) { mWolfEyeUp = mpHIO->mWolf.m.mSensesLingerTime; } else if (mTargetedActor != NULL || dComIfGp_checkPlayerStatus0(0, 0x2000)) { @@ -17288,647 +17929,719 @@ int daAlink_c::execute() { mSwordFlourishTimer = mpHIO->mCut.m.mFlourishTime; } - if ((checkWolf() && field_0x2fbc == 11 && checkWaterPolygonUnder()) || field_0x2fbb == 11) { - onNoResetFlg0(FLG0_UNK_40000000); + if ((checkWolf() && field_0x2fbc == 11 && checkWaterPolygonUnder()) || mGndPolyAtt0 == 11) { + onNoResetFlg0(FLG0_HEAVY_STATE); } fopAc_ac_c* item_actor = mGrabItemAcKeep.getActor(); if (item_actor != NULL && (!fopAcM_checkCarryNow(item_actor) || - (checkNoResetFlg0(FLG0_UNDERWATER) && + (checkNoResetFlg0(FLG0_WATER_IN_MOVE) && (checkGrabRooster() || fopAcM_GetName(item_actor) == PROC_E_NEST || checkGrabCarryActor())))) { freeGrabItem(); + item_actor = NULL; } - allAnimePlay(); - - if (mDamageTimer != 0) { - damageTimerCount(); + BOOL isTrigDebugMoveInput = FALSE; + #if DEBUG + if (daPy_getPlayerActorClass() == this && checkDebugMoveInput()) { + isTrigDebugMoveInput = TRUE; + if (l_debugMode) { + l_debugMode = FALSE; + } else { + l_debugMode = TRUE; + } } - if (checkEquipHeavyBoots()) { - int temp_r3_22 = checkItemSetButton(fpcNm_ITEM_HVY_BOOTS); - if (temp_r3_22 == 2 || checkNotHeavyBootsStage()) { - if (!dComIfGp_checkPlayerStatus1(0, 0x10000) || !checkHookshotRoofLv7Boss()) { - setHeavyBoots(0); + if (l_debugMode) { + if (checkModeFlg(0x400) && !checkBoardRide() && !checkSpinnerRide()) { + if (checkCanoeRide()) { + setSyncCanoePos(); + } else { + setSyncRide(0); } } else { - dMeter2Info_onDirectUseItem(temp_r3_22); - } - } - - checkWarpStart(); - - if (!checkSpecialDemoMode() && mClothesChangeWaitTimer == 0) { - if (!checkDemoAction() && !checkDeadAction(0) && !checkNoResetFlg0(FLG0_UNK_100000) && - !checkAutoJumpAction()) - { - checkSwimAction(0); - } - - if (checkDamageAction() && mProcID == PROC_LARGE_DAMAGE && checkMagneBootsOn()) { - cancelMagneBootsOn(); - } - - checkBoomerangCatchAction(); - } - - offNoResetFlg1(FLG1_UNK_20); - - if (checkWolf()) { - checkWolfComboCnt(); - - if (checkWolfEnemyThrowAnime()) { - checkWolfEnemyThrowAction(); - } - } else { - checkItemButtonChange(); - setItemAction(); - checkComboCnt(); - setShieldGuard(); - - if (checkCutFastReady()) { - if (checkNoUpperAnime()) { - setUpperAnime(0x255, UPPER_2, mpHIO->mCut.m.mEquipAnm.mSpeed, 12.0f, - mpHIO->mCut.m.mEquipAnm.mEndFrame, - mpHIO->mCut.m.mEquipAnm.mInterpolation); - onNoResetFlg0(FLG0_UNK_1000000); - } - } else if (checkNoResetFlg0(FLG0_UNK_1000000)) { - resetUpperAnime(UPPER_2, 5.0f); - } - - if (mEquipItem == fpcNm_ITEM_KANTERA && checkNoUpperAnime() && !checkKandelaarEquipAnime() && - (checkModeFlg(MODE_UNK_1000) || mProcID == PROC_CROUCH)) - { - if (checkReinRide()) { - setUpperAnimeBase(0x264); + f32 moveSpeed; + if (mDoCPd_c::getHoldLockR(PAD_1)) { + moveSpeed = 100.0f; } else { - setUpperAnimeBase(0x268); + moveSpeed = 50.0f; } - mNowAnmPackUpper[2].setRatio(0.0f); + if (mDoCPd_c::getHoldY(PAD_1)) { + current.pos.y += moveSpeed; + } else if (mDoCPd_c::getHoldX(PAD_1)) { + current.pos.y -= moveSpeed; + } + + current.pos.x += moveSpeed * mStickValue * cM_ssin(mMoveAngle); + current.pos.z += moveSpeed * mStickValue * cM_scos(mMoveAngle); } - } - checkLightSwordMtrl(); - (this->*mpProcFunc)(); + setMatrix(); + mpLinkModel->calc(); - if (!checkEndResetFlg0(ERFLG0_UNK_2000) && checkWindDashAnime()) { - resetUpperAnime(UPPER_2, 3.0f); - } - - playFaceTextureAnime(); + if (!checkWolf()) { + setItemMatrix(0); + } else { + setWolfItemMatrix(); + } + setBodyPartPos(); + setAttentionPos(); + } else + #endif { - cXyz old_pos = current.pos; - posMove(); + if (isTrigDebugMoveInput) { + mItemButton = 0; + mItemTrigger = 0; + } + + allAnimePlay(); + + if (mDamageTimer != 0) { + damageTimerCount(); + } + + if (checkEquipHeavyBoots()) { + int itemButton = checkItemSetButton(fpcNm_ITEM_HVY_BOOTS); + if (itemButton == 2 || checkNotHeavyBootsStage()) { + if (!dComIfGp_checkPlayerStatus1(0, 0x10000) || !checkHookshotRoofLv7Boss()) { + setHeavyBoots(0); + } + } else { + dMeter2Info_onDirectUseItem(itemButton); + } + } + + checkWarpStart(); + + if (!checkSpecialDemoMode() && mClothesChangeWaitTimer == 0) { + if (!checkDemoAction() && !checkDeadAction(0) && !checkNoResetFlg0(FLG0_UNK_100000) && + !checkAutoJumpAction()) + { + checkSwimAction(0); + } + + if (checkDamageAction() && mProcID == PROC_LARGE_DAMAGE && checkMagneBootsOn()) { + cancelMagneBootsOn(); + } + + checkBoomerangCatchAction(); + } + + offNoResetFlg1(FLG1_UNK_20); if (checkWolf()) { - wolfBgCheck(); - } else if (checkModeFlg(MODE_SWIMMING)) { - swimBgCheck(120.0f); - } + checkWolfComboCnt(); - cXyz pos = current.pos; - field_0x3528 = speed; + if (checkWolfEnemyThrowAnime()) { + checkWolfEnemyThrowAction(); + } + } else { + checkItemButtonChange(); + setItemAction(); + checkComboCnt(); + setShieldGuard(); - mLinkAcch.ClrGroundHit(); - mLinkAcch.CrrPos(dComIfG_Bgsp()); - - if (checkMagneBootsOn()) { - current.pos = pos; - } - - if (!mLinkAcch.ChkGroundHit() && !mLinkAcch.ChkRoofHit() && getZoraSwim()) { - current.pos.y = pos.y; - } - - iceSlipBgCheck(); - setWaterY(); - autoGroundHit(); - - if (checkNoResetFlg0(FLG0_UNDERWATER) || - (checkPossibleWaterInMode() && !checkNoResetFlg0(FLG0_SWIM_UP))) - { - f32 var_f31; - if (mProcID == PROC_HOOKSHOT_FLY) { - var_f31 = current.pos.y - (field_0x598 * 0.5f); - } else if (dComIfGp_checkPlayerStatus1(0, 0x2000000)) { - var_f31 = (current.pos.y + -65.0f) - (mpHIO->mSwim.m.mStartHeight - 5.0f); - } else { - var_f31 = current.pos.y; + if (checkCutFastReady()) { + if (checkNoUpperAnime()) { + setUpperAnime(dRes_ID_ALANM_BCK_WAITATOS_e, UPPER_2, mpHIO->mCut.m.mEquipAnm.mSpeed, 12.0f, + mpHIO->mCut.m.mEquipAnm.mEndFrame, + mpHIO->mCut.m.mEquipAnm.mInterpolation); + onNoResetFlg0(FLG0_UNK_1000000); + } + } else if (checkNoResetFlg0(FLG0_UNK_1000000)) { + resetUpperAnime(UPPER_2, 5.0f); } - if (!checkNoResetFlg0(FLG0_UNK_80) || - mWaterY - var_f31 <= mpHIO->mSwim.m.mStartHeight - 5.0f) + if (mEquipItem == fpcNm_ITEM_KANTERA && checkNoUpperAnime() && !checkKandelaarEquipAnime() && + (checkModeFlg(MODE_UNK_1000) || mProcID == PROC_CROUCH)) { - swimOutAfter(0); + if (checkReinRide()) { + setUpperAnimeBase(dRes_ID_ALANM_BCK_WAITHK_e); + } else { + setUpperAnimeBase(dRes_ID_ALANM_BCK_WAITK_e); + } + + mNowAnmPackUpper[2].setRatio(0.0f); } } - if (mProcID == PROC_TOOL_DEMO || mProcID == PROC_GANON_FINISH) { - J3DTransformInfo ti; - field_0x1f20->getAnm(0)->getTransform(0, &ti); - mDoMtx_stack_c::transS(old_pos); - mDoMtx_stack_c::YrotM(shape_angle.y); + checkLightSwordMtrl(); + (this->*mpProcFunc)(); - Vec tmp = {0.0f, 0.0f, 0.0f}; - tmp.x = ti.mTranslate.x; - tmp.z = ti.mTranslate.z; - mDoMtx_stack_c::multVec(&tmp, ¤t.pos); - speed.y = 0.0f; + if (!checkEndResetFlg0(ERFLG0_UNK_2000) && checkWindDashAnime()) { + resetUpperAnime(UPPER_2, 3.0f); + } - if (field_0x3198 != 0) { - if (mLinkAcch.GetGroundH() != -G_CM3D_F_INF) { - current.pos.y = mLinkAcch.GetGroundH(); + playFaceTextureAnime(); + + { + cXyz old_pos = current.pos; + posMove(); + + if (checkWolf()) { + wolfBgCheck(); + } else if (checkModeFlg(MODE_SWIMMING)) { + swimBgCheck(120.0f); + } + + cXyz pos = current.pos; + field_0x3528 = speed; + + mLinkAcch.ClrGroundHit(); + mLinkAcch.CrrPos(dComIfG_Bgsp()); + + if (checkMagneBootsOn()) { + current.pos = pos; + } + + if (!mLinkAcch.ChkGroundHit() && !mLinkAcch.ChkRoofHit() && getZoraSwim()) { + current.pos.y = pos.y; + } + + iceSlipBgCheck(); + setWaterY(); + autoGroundHit(); + + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE) || + (checkPossibleWaterInMode() && !checkNoResetFlg0(FLG0_SWIM_UP))) + { + f32 var_f31; + if (mProcID == PROC_HOOKSHOT_FLY) { + var_f31 = current.pos.y - (mHeight * 0.5f); + } else if (dComIfGp_checkPlayerStatus1(0, 0x2000000)) { + var_f31 = (current.pos.y + -65.0f) - (mpHIO->mSwim.m.mStartHeight - 5.0f); + } else { + var_f31 = current.pos.y; + } + + if (!checkNoResetFlg0(FLG0_UNK_80) || + mWaterY - var_f31 <= mpHIO->mSwim.m.mStartHeight - 5.0f) + { + swimOutAfter(0); } } - } else if (mProcID == PROC_HOOKSHOT_FLY || mProcID == PROC_MAGNE_BOOTS_FLY || - (checkModeFlg(MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_RIDING) && - mProcID != PROC_HORSE_GETOFF && mProcID != PROC_WOLF_CHAIN_READY && - !checkBoardRide())) - { - current.pos = pos; - } else if (checkModeFlg(MODE_UNK_4000)) { - if (mProcID == PROC_DOOR_OPEN || mProcID == PROC_HANG_LEVER_DOWN) { + + if (mProcID == PROC_TOOL_DEMO || mProcID == PROC_GANON_FINISH) { + J3DTransformInfo ti; + field_0x1f20->getAnm(0)->getTransform(0, &ti); + mDoMtx_stack_c::transS(old_pos); + mDoMtx_stack_c::YrotM(shape_angle.y); + + Vec tmp = {0.0f, 0.0f, 0.0f}; + tmp.x = ti.mTranslate.x; + tmp.z = ti.mTranslate.z; + mDoMtx_stack_c::multVec(&tmp, ¤t.pos); + speed.y = 0.0f; + + if (field_0x3198 != 0) { + if (mLinkAcch.GetGroundH() != -G_CM3D_F_INF) { + current.pos.y = mLinkAcch.GetGroundH(); + } + } + } else if (mProcID == PROC_HOOKSHOT_FLY + || mProcID == PROC_MAGNE_BOOTS_FLY + || (checkModeFlg(MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_RIDING) + && mProcID != PROC_HORSE_GETOFF + && mProcID != PROC_WOLF_CHAIN_READY + && !checkBoardRide() + ) + ) + { + current.pos = pos; + } else if (checkModeFlg(MODE_UNK_4000)) { + if (mProcID == PROC_DOOR_OPEN || mProcID == PROC_HANG_LEVER_DOWN) { + current.pos.y = old_pos.y; + speed.y = 0.0f; + } + current.pos.x = pos.x; + current.pos.z = pos.z; + } else if (checkFlyAtnWait() || mProcID == PROC_WARP) { current.pos.y = old_pos.y; speed.y = 0.0f; } - current.pos.x = pos.x; - current.pos.z = pos.z; - } else if (checkFlyAtnWait() || mProcID == PROC_WARP) { - current.pos.y = old_pos.y; - speed.y = 0.0f; - } - field_0x3178 = field_0x3174; + field_0x3178 = mGroundCode; - if (mLinkAcch.GetGroundH() != -G_CM3D_F_INF) { - setRoomInfo(); + if (mLinkAcch.GetGroundH() != -G_CM3D_F_INF) { + setRoomInfo(); - if (!checkModeFlg(MODE_PLAYER_FLY) && !checkMagneBootsOn() && mProcID != PROC_TOOL_DEMO && - mProcID != PROC_GANON_FINISH && mProcID != PROC_DUNGEON_WARP && - (field_0x2f8c == 1 || field_0x2f8c == 3)) - { - setStepsOffset(); - } else { - field_0x2b9c = 0.0f; - if (!checkModeFlg(MODE_SWIMMING)) { - field_0x2b98 = 0.0f; - } - } - - if (checkModeFlg(MODE_UNK_2000000)) { - setShapeAngleOnGround(); - } - - if (!checkRestartRoom() && !checkDeadHP()) { - checkSceneChange(dComIfG_Bgsp().GetExitId(mLinkAcch.m_gnd)); - } - - if (mLinkAcch.ChkGroundHit()) { - if (dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) { - dComIfG_Bgsp().MoveBgTransPos(mLinkAcch.m_gnd, true, &field_0x34ec, NULL, NULL); - } - - if (checkNoResetFlg0(FLG0_UNK_80) && !checkNoResetFlg0(FLG0_UNDERWATER) && - mWaterY >= mLinkAcch.GetGroundH()) + if (!checkModeFlg(MODE_PLAYER_FLY) + && !checkMagneBootsOn() + && mProcID != PROC_TOOL_DEMO + && mProcID != PROC_GANON_FINISH + && mProcID != PROC_DUNGEON_WARP + && (field_0x2f8c == 1 || field_0x2f8c == 3)) { - mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); - } else if (checkEndResetFlg0(ERFLG0_UNK_200000)) { - mPolySound = 11; + setStepsOffset(); } else { - mPolySound = dKy_pol_sound_get(&mLinkAcch.m_gnd); + field_0x2b9c = 0.0f; + if (!checkModeFlg(MODE_SWIMMING)) { + field_0x2b98 = 0.0f; + } } - field_0x2ff0 = getGroundAngle(&mLinkAcch.m_gnd, shape_angle.y); - } else { - if (mProcID == PROC_TOOL_DEMO || mProcID == PROC_GANON_FINISH) { - if (checkNoResetFlg0(FLG0_UNK_80) && mWaterY >= mLinkAcch.GetGroundH()) { + if (checkModeFlg(MODE_UNK_2000000)) { + setShapeAngleOnGround(); + } + + if (!checkRestartRoom() && !checkDeadHP()) { + checkSceneChange(dComIfG_Bgsp().GetExitId(mLinkAcch.m_gnd)); + } + + if (mLinkAcch.ChkGroundHit()) { + if (dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) { + dComIfG_Bgsp().MoveBgTransPos(mLinkAcch.m_gnd, true, &field_0x34ec, NULL, NULL); + } + + if (checkNoResetFlg0(FLG0_UNK_80) && !checkNoResetFlg0(FLG0_WATER_IN_MOVE) && + mWaterY >= mLinkAcch.GetGroundH()) + { mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); - } else if (checkEndResetFlg0(ERFLG0_UNK_200000)) { + } else if (checkEndResetFlg0(ERFLG0_LEAF_SE)) { mPolySound = 11; } else { mPolySound = dKy_pol_sound_get(&mLinkAcch.m_gnd); } - } else if (checkModeFlg(MODE_SWIMMING) && checkNoResetFlg0(FLG0_UNK_80)) { + + field_0x2ff0 = getGroundAngle(&mLinkAcch.m_gnd, shape_angle.y); + } else { + if (mProcID == PROC_TOOL_DEMO || mProcID == PROC_GANON_FINISH) { + if (checkNoResetFlg0(FLG0_UNK_80) && mWaterY >= mLinkAcch.GetGroundH()) { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); + } else if (checkEndResetFlg0(ERFLG0_LEAF_SE)) { + mPolySound = 11; + } else { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_gnd); + } + } else if (checkModeFlg(MODE_SWIMMING) && checkNoResetFlg0(FLG0_UNK_80)) { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); + } else { + mPolySound = 0; + } + + field_0x2ff0 = 0; + } + mDoAud_setLinkGroupInfo(dComIfG_Bgsp().GetGrpSoundId(mLinkAcch.m_gnd)); + } else { + mGroundCode = -1; + field_0x2ff0 = 0; + mGndPolyAtt0 = 16; + mGndPolyAtt1 = 0; + mGndPolySpecialCode = dBgW_SPCODE_NORMAL; + + if (checkModeFlg(MODE_SWIMMING) && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr)) { mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); } else { mPolySound = 0; } - field_0x2ff0 = 0; - } - mDoAud_setLinkGroupInfo(dComIfG_Bgsp().GetGrpSoundId(mLinkAcch.m_gnd)); - } else { - field_0x3174 = -1; - field_0x2ff0 = 0; - field_0x2fbb = 16; - field_0x2fbd = 0; - mGndPolySpecialCode = dBgW_SPCODE_NORMAL; - - if (checkModeFlg(MODE_SWIMMING) && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr)) { - mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); - } else { - mPolySound = 0; - } - - if (!checkRestartRoom() && !checkDeadHP()) { - checkSceneChange(0x3F); - } - } - - if (checkMagneBootsOn()) { - field_0x2fbd = 0; - field_0x2f5c.mPosition = current.pos; - field_0x2f5c.mPow = 100.0f; - - if (checkNoResetFlg0(FLG0_UNK_2000)) { - mPolySound = dKy_pol_sound_get(&mMagneLineChk); - field_0x2ff0 = 0; - field_0x3174 = dComIfG_Bgsp().GetGroundCode(mMagneLineChk); - field_0x2fbb = dComIfG_Bgsp().GetPolyAtt0(mMagneLineChk); - mGndPolySpecialCode = dComIfG_Bgsp().GetSpecialCode(mMagneLineChk); - setMagneBootsMtx(&mMagneLineChk, 0); - } else { - mPolySound = 0; - field_0x2ff0 = 0; - field_0x3174 = -1; - field_0x2fbb = 16; - mGndPolySpecialCode = dBgW_SPCODE_NORMAL; - } - } else { - field_0x2f5c.mPow = 0.0f; - if (mProcID != PROC_MAGNE_BOOTS_FLY) { - mMagneBootsTopVec = cXyz::BaseY; - } - } - - if (dComIfGp_evmng_startCheck(l_peepEventName)) { - if (field_0x2ff2 > 0) { - field_0x2ff2--; - } else if (dComIfGp_evmng_startCheck(l_peepEventName)) { - startPeepChange(); - } - } - - if (checkModeFlg(MODE_VINE_CLIMB) && mProcVar2.field_0x300c != 0 && - dComIfG_Bgsp().ChkPolySafe(mPolyInfo1)) - { - mZ2Link.framework(dKy_pol_sound_get(&mPolyInfo1), mVoiceReverbIntensity); - } else { - mZ2Link.framework(mPolySound, mVoiceReverbIntensity); - } - - if (field_0x2d7c != NULL) { - mZ2Link.updateAnime(field_0x2d7c->getFrame(), field_0x2d7c->getRate()); - } - - if (mProcID != PROC_DAMAGE && mProcID != PROC_SWIM_DAMAGE && mProcID != PROC_HORSE_DAMAGE) { - setMoveSlantAngle(); - - if (checkReinRide() && checkUpperGuardAnime()) { - setBodyAngleRideReadyAnime(); - } else if (!checkSmallUpperGuardAnime() && !checkWolf()) { - if (!checkModeFlg(MODE_UNK_20000000)) { - if (checkUpperGuardAnime()) { - setBodyAngleXReadyAnime(0); - } else if (!checkUpperReadyThrowAnime()) { - cLib_addCalcAngleS(&mBodyAngle.x, 0, 4, 0x0C00, 0x0180); - } - } - - if (!checkModeFlg(MODE_UNK_40000000)) { - cLib_addCalcAngleS(&mBodyAngle.y, 0, 4, 0x0C00, 0x0180); + if (!checkRestartRoom() && !checkDeadHP()) { + checkSceneChange(0x3F); } } - } - setMatrix(); - setNeckAngle(); + if (checkMagneBootsOn()) { + mGndPolyAtt1 = 0; + mMagneBootsPlight.mPosition = current.pos; + mMagneBootsPlight.mPow = 100.0f; - if (field_0x2fcc != 0) { - field_0x2fcc--; - } - - if (!checkWolf()) { - setHatAngle(); - - if (field_0x2fb0 != 0) { - field_0x2fb0--; + if (checkNoResetFlg0(FLG0_UNK_2000)) { + mPolySound = dKy_pol_sound_get(&mMagneLineChk); + field_0x2ff0 = 0; + mGroundCode = dComIfG_Bgsp().GetGroundCode(mMagneLineChk); + mGndPolyAtt0 = dComIfG_Bgsp().GetPolyAtt0(mMagneLineChk); + mGndPolySpecialCode = dComIfG_Bgsp().GetSpecialCode(mMagneLineChk); + setMagneBootsMtx(&mMagneLineChk, 0); + } else { + mPolySound = 0; + field_0x2ff0 = 0; + mGroundCode = -1; + mGndPolyAtt0 = 16; + mGndPolySpecialCode = dBgW_SPCODE_NORMAL; + } + } else { + mMagneBootsPlight.mPow = 0.0f; + if (mProcID != PROC_MAGNE_BOOTS_FLY) { + mMagneBootsTopVec = cXyz::BaseY; + } } - footBgCheck(); - handBgCheck(); + if (dComIfGp_evmng_startCheck(l_peepEventName)) { + if (field_0x2ff2 > 0) { + field_0x2ff2--; + } else if (dComIfGp_evmng_startCheck(l_peepEventName)) { + startPeepChange(); + } + } - field_0x30c8 = mBodyAngle.y >> 1; - modelCalc(mpLinkModel); + if (checkModeFlg(MODE_VINE_CLIMB) && mProcVar2.field_0x300c != 0 && + dComIfG_Bgsp().ChkPolySafe(mPolyInfo1)) + { + mZ2Link.framework(dKy_pol_sound_get(&mPolyInfo1), mVoiceReverbIntensity); + } else { + mZ2Link.framework(mPolySound, mVoiceReverbIntensity); + } - if (field_0x2fcb != 0) { - if (checkWoodShieldEquip() && mWaterY < mShieldModel->getBaseTRMtx()[1][3]) { - field_0x2fcb--; + if (field_0x2d7c != NULL) { + mZ2Link.updateAnime(field_0x2d7c->getFrame(), field_0x2d7c->getRate()); + } - if (field_0x2fcb == 0) { - dMeter2Info_setShield(fpcNm_ITEM_NONE, true); - stickArrowIncrement(1); - setWoodShieldBurnOutEffect(); + if (mProcID != PROC_DAMAGE && mProcID != PROC_SWIM_DAMAGE && mProcID != PROC_HORSE_DAMAGE) { + setMoveSlantAngle(); - // "Your shield burned up..." - dMeter2Info_setFloatingMessage(2047, 90, false); - - stage_stag_info_class* pstag = dComIfGp_getStage()->getStagInfo(); - if (dStage_stagInfo_GetSaveTbl(pstag) == 0x11 && - !dComIfGs_isItemFirstBit(fpcNm_ITEM_HYLIA_SHIELD)) - { - fopAcM_onSwitch(this, 0x6F); + if (checkReinRide() && checkUpperGuardAnime()) { + setBodyAngleRideReadyAnime(); + } else if (!checkSmallUpperGuardAnime() && !checkWolf()) { + if (!checkModeFlg(MODE_UNK_20000000)) { + if (checkUpperGuardAnime()) { + setBodyAngleXReadyAnime(0); + } else if (!checkUpperReadyThrowAnime()) { + cLib_addCalcAngleS(&mBodyAngle.x, 0, 4, 0xC00, 0x180); } - seStartOnlyReverb(Z2SE_AL_WOOD_SHIELD_BURN); } - } else { - clearWoodShieldBurnEffect(); + + if (!checkModeFlg(MODE_UNK_40000000)) { + cLib_addCalcAngleS(&mBodyAngle.y, 0, 4, 0xC00, 0x180); + } } } - if (checkShieldGet() && !checkWoodShieldEquip()) { - stickArrowIncrement(1); + setMatrix(); + setNeckAngle(); + + if (field_0x2fcc != 0) { + field_0x2fcc--; } - setItemMatrix(0); - } else { - daMidna_c* pmidna = (daMidna_c*)getMidnaActor(); - - if (mClothesChangeWaitTimer == 0) { - if ((pmidna->checkMidnaTired() || pmidna->checkForceTiredColor()) && - !pmidna->checkForceNormalColor()) - { - mpWlMidnaModel->getModelData()->entryTevRegAnimator(mpDMidnaBrk); - mpWlMidnaMaskModel->getModelData()->entryTevRegAnimator(mpDMidnaMaskBrk); - mpWlMidnaHandModel->getModelData()->entryTevRegAnimator(mpDMidnaHandBrk); - mpWlMidnaHairModel->getModelData()->entryTevRegAnimator(mpDMidnaHairHandBrk); - } else { - mpWlMidnaModel->getModelData()->removeTevRegAnimator(mpDMidnaBrk); - mpWlMidnaMaskModel->getModelData()->removeTevRegAnimator(mpDMidnaMaskBrk); - mpWlMidnaHandModel->getModelData()->removeTevRegAnimator(mpDMidnaHandBrk); - mpWlMidnaHairModel->getModelData()->removeTevRegAnimator(mpDMidnaHairHandBrk); - } - } - - wolfFootBgCheck(); - setWolfTailAngle(); - modelCalc(mpLinkModel); - checkWolfUseAbility(); - - if (checkWolfEyeUp() != 0) { - mWolfEyeUpTimer++; - if (mWolfEyeUpTimer > 30) { - mWolfEyeUpTimer = 30; - } - } else if (mWolfEyeUpTimer != 0) { - mWolfEyeUpTimer--; - } - - setWolfItemMatrix(); - } - - if (checkFmChainGrabAnime()) { - mNowAnmPackUpper[2].setRatio(1.0f); - } - - setBodyPartPos(); - - if (!checkWolf() && checkEndResetFlg0(ERFLG0_UNK_800000)) { - setHatAngle(); - modelCalc(mpLinkModel); - } - - setHangWaterY(); - setCollision(); - setAttentionPos(); - setLight(); - setEffect(); - - if (mClothesChangeWaitTimer != 0) { - mDoMtx_stack_c::copy(mpLinkModel->getBaseTRMtx()); if (!checkWolf()) { - mDoMtx_stack_c::transM(0.0f, 0.0f, 30.0f); + setHatAngle(); + + if (field_0x2fb0 != 0) { + field_0x2fb0--; + } + + footBgCheck(); + handBgCheck(); + + field_0x30c8 = mBodyAngle.y >> 1; + modelCalc(mpLinkModel); + + if (field_0x2fcb != 0) { + if (checkWoodShieldEquip() && mWaterY < mShieldModel->getBaseTRMtx()[1][3]) { + field_0x2fcb--; + + if (field_0x2fcb == 0) { + dMeter2Info_setShield(fpcNm_ITEM_NONE, true); + stickArrowIncrement(1); + setWoodShieldBurnOutEffect(); + + // "Your shield burned up..." + dMeter2Info_setFloatingMessage(2047, 90, false); + + if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) == dStage_SaveTbl_LV2 && + !dComIfGs_isItemFirstBit(fpcNm_ITEM_HYLIA_SHIELD)) + { + fopAcM_onSwitch(this, 0x6F); + } + seStartOnlyReverb(Z2SE_AL_WOOD_SHIELD_BURN); + } + } else { + clearWoodShieldBurnEffect(); + } + } + + if (checkShieldGet() && !checkWoodShieldEquip()) { + stickArrowIncrement(1); + } + setItemMatrix(0); + } else { + daMidna_c* pmidna = (daMidna_c*)getMidnaActor(); + + if (mClothesChangeWaitTimer == 0) { + if ((pmidna->checkMidnaTired() || pmidna->checkForceTiredColor()) && + !pmidna->checkForceNormalColor()) + { + mpWlMidnaModel->getModelData()->entryTevRegAnimator(mpDMidnaBrk); + mpWlMidnaMaskModel->getModelData()->entryTevRegAnimator(mpDMidnaMaskBrk); + mpWlMidnaHandModel->getModelData()->entryTevRegAnimator(mpDMidnaHandBrk); + mpWlMidnaHairModel->getModelData()->entryTevRegAnimator(mpDMidnaHairHandBrk); + } else { + mpWlMidnaModel->getModelData()->removeTevRegAnimator(mpDMidnaBrk); + mpWlMidnaMaskModel->getModelData()->removeTevRegAnimator(mpDMidnaMaskBrk); + mpWlMidnaHandModel->getModelData()->removeTevRegAnimator(mpDMidnaHandBrk); + mpWlMidnaHairModel->getModelData()->removeTevRegAnimator(mpDMidnaHairHandBrk); + } + } + + wolfFootBgCheck(); + setWolfTailAngle(); + modelCalc(mpLinkModel); + checkWolfUseAbility(); + + if (checkWolfEyeUp() != 0) { + mWolfEyeUpTimer++; + if (mWolfEyeUpTimer > 30) { + mWolfEyeUpTimer = 30; + } + } else if (mWolfEyeUpTimer != 0) { + mWolfEyeUpTimer--; + } + + setWolfItemMatrix(); } - mpWlChangeModel->setBaseTRMtx(mDoMtx_stack_c::get()); - mpWlChangeModel->calc(); - } + if (checkFmChainGrabAnime()) { + mNowAnmPackUpper[2].setRatio(1.0f); + } - mSight.mLockCursor.update(); - setGrabItemPos(); + setBodyPartPos(); - checkRoofRestart(); - mExitID = 0x3F; - mpScnChg = NULL; + if (!checkWolf() && checkEndResetFlg0(ERFLG0_UNK_800000)) { + setHatAngle(); + modelCalc(mpLinkModel); + } - static Vec const localBoomCatchPos = {18.7f, 146.3f, 69.2f}; - cMtx_multVec(mpLinkModel->getAnmMtx(0), &localBoomCatchPos, &field_0x3534); + setHangWaterY(); + setCollision(); + setAttentionPos(); + setLight(); + setEffect(); - if (checkResetFlg0(RFLG0_UNK_10)) { - mZ2Link.setResumeAttack(true); - } else { - mZ2Link.setResumeAttack(false); - } + if (mClothesChangeWaitTimer != 0) { + mDoMtx_stack_c::copy(mpLinkModel->getBaseTRMtx()); - if (!checkEventRun() && checkNoResetFlg0(FLG0_UNK_80) && - (mWaterY > current.pos.y + 40.0f || checkModeFlg(MODE_SWIMMING)) && - getMoveBGActorName(mLinkAcch.m_wtr, TRUE) == PROC_Obj_Onsen) - { - if (mHotspringRecoverTimer != 0) { - mHotspringRecoverTimer--; + if (!checkWolf()) { + mDoMtx_stack_c::transM(0.0f, 0.0f, 30.0f); + } + + mpWlChangeModel->setBaseTRMtx(mDoMtx_stack_c::get()); + mpWlChangeModel->calc(); + } + + mSight.update(); + setGrabItemPos(); + + checkRoofRestart(); + mExitID = 0x3F; + mpScnChg = NULL; + + static Vec const localBoomCatchPos = {18.7f, 146.3f, 69.2f}; + cMtx_multVec(mpLinkModel->getAnmMtx(0), &localBoomCatchPos, &field_0x3534); + + if (checkResetFlg0(RFLG0_UNK_10)) { + mZ2Link.setResumeAttack(true); + } else { + mZ2Link.setResumeAttack(false); + } + + if (!checkEventRun() && checkNoResetFlg0(FLG0_UNK_80) && + (mWaterY > current.pos.y + 40.0f || checkModeFlg(MODE_SWIMMING)) && + getMoveBGActorName(mLinkAcch.m_wtr, TRUE) == PROC_Obj_Onsen) + { + if (mHotspringRecoverTimer != 0) { + mHotspringRecoverTimer--; + } else { + mHotspringRecoverTimer = mpHIO->mBasic.m.mHotspringRecoverTime; + dComIfGp_setItemLifeCount(1.0f, 1); + } } else { mHotspringRecoverTimer = mpHIO->mBasic.m.mHotspringRecoverTime; - dComIfGp_setItemLifeCount(1.0f, 1); } - } else { - mHotspringRecoverTimer = mpHIO->mBasic.m.mHotspringRecoverTime; - } - if (checkAttentionLock() || (!checkUpperReadyThrowAnime() && - mProcID != PROC_HOOKSHOT_WALL_SHOOT && mProcID != PROC_HOOKSHOT_ROOF_SHOOT)) - { - mFastShotTime = 0; - } + if (checkAttentionLock() || (!checkUpperReadyThrowAnime() && + mProcID != PROC_HOOKSHOT_WALL_SHOOT && mProcID != PROC_HOOKSHOT_ROOF_SHOOT)) + { + mFastShotTime = 0; + } - if (checkDeadHP()) { - eventInfo.offCondition(fopAcCnd_NOEXEC_e); - } else if (!checkMagneBootsOn()) { - f32 var_f31_2; - if (mLinkAcch.ChkGroundHit()) { - cM3dGPla plane; - dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &plane); - var_f31_2 = plane.mNormal.y; + if (checkDeadHP()) { + eventInfo.offCondition(fopAcCnd_NOEXEC_e); + } else + #if DEBUG + if (!l_debugMode) + #endif + { + if (!checkMagneBootsOn()) { + f32 gnd_nrm_y; + if (mLinkAcch.ChkGroundHit()) { + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &tripla); + gnd_nrm_y = tripla.mNormal.y; + } else { + gnd_nrm_y = -1.0f; + } + + if (cBgW_CheckBGround(gnd_nrm_y) && !checkModeFlg(MODE_PLAYER_FLY)) { + eventInfo.onCondition(dEvtCnd_40_e | dEvtCnd_10_e | dEvtCnd_CANGETITEM_e | dEvtCnd_CANDOOR_e | dEvtCnd_CANTALK_e); + } else if (checkModeFlg(MODE_SWIMMING) || mProcID == PROC_WOLF_ROPE_MOVE || + ((checkReinRide() || checkCanoeRide() || checkSpinnerRide()) && + !checkNoResetFlg3(FLG3_UNK_80000) && !checkModeFlg(MODE_JUMP))) + { + eventInfo.onCondition(dEvtCnd_CANTALK_e); + if (checkReinRide() || checkCanoeRide()) { + eventInfo.onCondition(dEvtCnd_CANGETITEM_e); + } + } + } else if (checkMagneBootsOn() && cBgW_CheckBGround(mMagneBootsTopVec.y)) { + eventInfo.onCondition(dEvtCnd_CANTALK_e); + } + } + + if (checkEndResetFlg1(ERFLG1_UNK_40000) && checkMidnaRide() && checkWolf()) { + getMidnaActor()->onForcePanic(); + } + + field_0x30fe = 0; + field_0x372c = cXyz::Zero; + field_0x2fb8 = 0; + + if (checkMagicArmorWearAbility() && mClothesChangeWaitTimer == 0) { + if (checkMagicArmorNoDamage() && !checkEventRun()) { + if (field_0x2fc3 == 0) { + field_0x2fc3 = 10; + dComIfGp_setItemRupeeCount(-1); + } else { + field_0x2fc3--; + } + } + + if (dComIfGs_getRupee() == 0 && field_0x2fd7 != 0) { + setMagicArmorBrk(0); + seStartOnlyReverb(Z2SE_AL_M_ARMER_TURNOFF); + mZ2Link.setLinkState(5); + } else if (dComIfGs_getRupee() != 0 && field_0x2fd7 == 0) { + setMagicArmorBrk(1); + seStartOnlyReverb(Z2SE_AL_M_ARMER_RECOVER); + mZ2Link.setLinkState(4); + } + } + + if (!checkWolf()) { + for (u8 i = 0; i < 2; i++) { + u8 tmp = (i + 1) % 2; + if (dComIfGp_getSelectItem(i) == fpcNm_ITEM_EMPTY_BOTTLE && (mUseButtonFlags & (1 << i)) && + dComIfGp_getSelectItem(tmp) == fpcNm_ITEM_EMPTY_BOTTLE) + { + mUseButtonFlags |= (u8)(1 << tmp); + } + } + } + + for (int i = 0; i < 2; i++) { + if (!(mUseButtonFlags & (1 << i)) && !(field_0x2faf & (1 << i))) { + dMeter2Info_offUseButton(METER2_USEBUTTON_X << i); + } + } + + if (!(mUseButtonFlags & BTN_R) && !(field_0x2faf & BTN_R)) { + dMeter2Info_offUseButton(METER2_USEBUTTON_R); + } + + if (!(mUseButtonFlags & BTN_B) && !(field_0x2faf & BTN_B)) { + dMeter2Info_offUseButton(METER2_USEBUTTON_B); + + #if PLATFORM_GCN + if (getSumouMode()) { + dMeter2Info_offUseButton(METER2_USEBUTTON_A); + } + #endif + } + + field_0x2faf = mUseButtonFlags; + + for (int i = 0; i < 4; i++) { + cXyz tmp(current.pos.x + 500.0f, current.pos.y + 500.0f, current.pos.z + 500.0f); + if (i != field_0x2fa3 - 1) { + field_0x354c[i] = tmp; + } + } + + if (checkEventRun()) { + if (mProcID != PROC_GRASS_WHISTLE_WAIT) { + setDoStatus(BUTTON_STATUS_NONE); + } + setRStatus(BUTTON_STATUS_NONE); } else { - var_f31_2 = -1.0f; - } - - if (cBgW_CheckBGround(var_f31_2) && !checkModeFlg(MODE_PLAYER_FLY)) { - eventInfo.onCondition(0x5D); - } else if (checkModeFlg(MODE_SWIMMING) || mProcID == PROC_WOLF_ROPE_MOVE || - ((checkReinRide() || checkCanoeRide() || checkSpinnerRide()) && - !checkNoResetFlg3(FLG3_UNK_80000) && !checkModeFlg(MODE_JUMP))) - { - eventInfo.onCondition(dEvtCnd_CANTALK_e); - if (checkReinRide() || checkCanoeRide()) { - eventInfo.onCondition(dEvtCnd_CANGETITEM_e); - } - } - } else if (checkMagneBootsOn() && cBgW_CheckBGround(mMagneBootsTopVec.y)) { - eventInfo.onCondition(dEvtCnd_CANTALK_e); - } - - if (checkEndResetFlg1(ERFLG1_UNK_40000) && checkMidnaRide() && checkWolf()) { - getMidnaActor()->onForcePanic(); - } - - field_0x30fe = 0; - field_0x372c = cXyz::Zero; - field_0x2fb8 = 0; - - if (checkMagicArmorWearAbility() && mClothesChangeWaitTimer == 0) { - if (checkMagicArmorNoDamage() && !checkEventRun()) { - if (field_0x2fc3 == 0) { - field_0x2fc3 = 10; - dComIfGp_setItemRupeeCount(-1); - } else { - field_0x2fc3--; - } - } - - if (dComIfGs_getRupee() == 0 && field_0x2fd7 != 0) { - setMagicArmorBrk(0); - seStartOnlyReverb(Z2SE_AL_M_ARMER_TURNOFF); - mZ2Link.setLinkState(5); - } else if (dComIfGs_getRupee() != 0 && field_0x2fd7 == 0) { - setMagicArmorBrk(1); - seStartOnlyReverb(Z2SE_AL_M_ARMER_RECOVER); - mZ2Link.setLinkState(4); - } - } - - if (!checkWolf()) { - for (u8 i = 0; i < 2; i++) { - u8 tmp = (i + 1) % 2; - if (dComIfGp_getSelectItem(i) == fpcNm_ITEM_EMPTY_BOTTLE && (field_0x2fae & (1 << i)) && - dComIfGp_getSelectItem(tmp) == fpcNm_ITEM_EMPTY_BOTTLE) + if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_134 || dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_139) { + setDoStatus(BUTTON_STATUS_ATTACK); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_137) { + setDoStatus(BUTTON_STATUS_CHECK); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_147) { + setDoStatusEmphasys(BUTTON_STATUS_JUMP); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_142) { + setDoStatusEmphasys(BUTTON_STATUS_GRAB); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_140) { + setDoStatus(BUTTON_STATUS_NONE); + } else if (checkStageName("F_SP127") && checkCanoeRide() && dComIfGp_getDoStatus() == BUTTON_STATUS_PUT_AWAY) { + setDoStatus(BUTTON_STATUS_NONE); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_144) { + setDoStatus(BUTTON_STATUS_NONE); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_152) { + setDoStatusEmphasys(BUTTON_STATUS_UNK_57); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_153) { + setDoStatusEmphasys(BUTTON_STATUS_GRAB); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_145) { + if (checkWolf() || + (field_0x27f4 != NULL && + (field_0x27f4->speedF > 0.1f || + (checkGoatCatchActor(field_0x27f4) && fopAcM_GetName(field_0x27f4) != PROC_COW)))) + { + setDoStatusEmphasys(BUTTON_STATUS_GRAB); + } else { + setDoStatus(BUTTON_STATUS_NONE); + } + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_151) { + if (current.pos.y + 200.0f < mWaterY) { + setDoStatus(BUTTON_STATUS_SWIM); + } else { + setDoStatus(BUTTON_STATUS_NONE); + } + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_JUMP && dComIfGp_getHorseActor() != NULL && + dComIfGp_getHorseActor()->getZeldaActor() != NULL) { - field_0x2fae |= (u8)(1 << tmp); - } - } - } - - for (int i = 0; i < 2; i++) { - if (!(field_0x2fae & (1 << i)) && !(field_0x2faf & (1 << i))) { - dMeter2Info_offUseButton(4 << i); - } - } - - if (!(field_0x2fae & 0x40) && !(field_0x2faf & 0x40)) { - dMeter2Info_offUseButton(0x40); - } - - if (!(field_0x2fae & 0x8) && !(field_0x2faf & 0x8)) { - dMeter2Info_offUseButton(2); - if (getSumouMode()) { - dMeter2Info_offUseButton(1); - } - } - - field_0x2faf = field_0x2fae; - - for (int i = 0; i < 4; i++) { - cXyz tmp(current.pos.x + 500.0f, current.pos.y + 500.0f, current.pos.z + 500.0f); - if (i != field_0x2fa3 - 1) { - field_0x354c[i] = tmp; - } - } - - if (checkEventRun()) { - if (mProcID != PROC_GRASS_WHISTLE_WAIT) { - setDoStatus(0); - } - setRStatus(0); - } else { - if (dComIfGp_getDoStatus() == 0x86 || dComIfGp_getDoStatus() == 0x8B) { - setDoStatus(3); - } else if (dComIfGp_getDoStatus() == 0x89) { - setDoStatus(8); - } else if (dComIfGp_getDoStatus() == 0x93) { - setDoStatusEmphasys(0x19); - } else if (dComIfGp_getDoStatus() == 0x8E) { - setDoStatusEmphasys(0x15); - } else if (dComIfGp_getDoStatus() == 0x8C) { - setDoStatus(0); - } else if (checkStageName("F_SP127") && checkCanoeRide() && dComIfGp_getDoStatus() == 4) { - setDoStatus(0); - } else if (dComIfGp_getDoStatus() == 0x90) { - setDoStatus(0); - } else if (dComIfGp_getDoStatus() == 0x98) { - setDoStatusEmphasys(0x39); - } else if (dComIfGp_getDoStatus() == 0x99) { - setDoStatusEmphasys(0x15); - } else if (dComIfGp_getDoStatus() == 0x91) { - if (checkWolf() || - (field_0x27f4 != NULL && - (field_0x27f4->speedF > 0.1f || - (checkGoatCatchActor(field_0x27f4) && fopAcM_GetName(field_0x27f4) != PROC_COW)))) + setDoStatus(BUTTON_STATUS_JUMP); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_HOWL && field_0x27f4 != NULL && + (fopAcM_GetName(field_0x27f4) == PROC_Obj_WindStone || + fopAcM_GetName(field_0x27f4) == PROC_Obj_SmWStone)) { - setDoStatusEmphasys(0x15); - } else { - setDoStatus(0); + setDoStatusEmphasys(BUTTON_STATUS_LISTEN); + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_PLACE) { + if (checkEndResetFlg1(ERFLG1_DO_EXCHANGE_PUT_IN)) { + setDoStatusEmphasys(BUTTON_STATUS_INSERT); + } else if (checkEndResetFlg1(ERFLG1_DO_PUT_EMPHASYS)) { + setDoStatusEmphasys(BUTTON_STATUS_PLACE); + } } - } else if (dComIfGp_getDoStatus() == 0x97) { - if (current.pos.y + 200.0f < mWaterY) { - setDoStatus(0x4C); + + int grab_status = getWallGrabStatus(); + if (checkWolf()) { + if (grab_status == BUTTON_STATUS_GRAB) { + setWallGrabStatus(BUTTON_STATUS_PUSH, BUTTON_STATUS_FLAG_EMPHASIS); + } else if (grab_status == BUTTON_STATUS_UNK_150) { + setWallGrabStatus(BUTTON_STATUS_PICK_UP, checkChainEmphasys()); + } } else { - setDoStatus(0); - } - } else if (dComIfGp_getDoStatus() == 0x19 && dComIfGp_getHorseActor() != NULL && - dComIfGp_getHorseActor()->getZeldaActor() != NULL) - { - setDoStatus(0x19); - } else if (dComIfGp_getDoStatus() == 5 && field_0x27f4 != NULL && - (fopAcM_GetName(field_0x27f4) == PROC_Obj_WindStone || - fopAcM_GetName(field_0x27f4) == PROC_Obj_SmWStone)) - { - setDoStatusEmphasys(0x3B); - } else if (dComIfGp_getDoStatus() == 0x14) { - if (checkEndResetFlg1(ERFLG1_UNK_4000000)) { - setDoStatusEmphasys(0x61); - } else if (checkEndResetFlg1(ERFLG1_UNK_10000000)) { - setDoStatusEmphasys(0x14); + if (grab_status == BUTTON_STATUS_UNK_150) { + setWallGrabStatus(BUTTON_STATUS_GRAB, checkChainEmphasys()); + } + + if (dComIfGp_getRStatus() == BUTTON_STATUS_SHIELD_ATTACK && checkShieldAttackEmphasys() == 0) { + setRStatus(BUTTON_STATUS_NONE); + } } } - int grab_status = getWallGrabStatus(); - if (checkWolf()) { - if (grab_status == 0x15) { - setWallGrabStatus(0x3F, 2); - } else if (grab_status == 0x96) { - setWallGrabStatus(0xC, checkChainEmphasys()); - } - } else { - if (grab_status == 0x96) { - setWallGrabStatus(0x15, checkChainEmphasys()); - } - - if (dComIfGp_getRStatus() == 0x3A && checkShieldAttackEmphasys() == 0) { - setRStatus(0); - } - } + mDoAud_setLinkHp(dComIfGs_getLife(), dComIfGs_getMaxLifeGauge()); } - - mDoAud_setLinkHp(dComIfGs_getLife(), dComIfGs_getMaxLifeGauge()); } if (dComIfGp_att_getCatghTarget() != NULL && !checkWolf()) { if (!checkRideOn() && checkCastleTownUseItem(fpcNm_ITEM_EMPTY_BOTTLE)) { - dComIfGp_setBottleStatus(0x6C, 0); + dComIfGp_setBottleStatus(BUTTON_STATUS_SCOOP, 0); } } @@ -17938,7 +18651,7 @@ int daAlink_c::execute() { mDoAud_seStartLevel(Z2SE_AL_HAWK_EYE_PAN, NULL, 0, 0); } - offNoResetFlg0(FLG0_UNK_40000000); + offNoResetFlg0(FLG0_HEAVY_STATE); mEndResetFlg0 = 0; if (checkEndResetFlg1(ERFLG1_UNK_4)) { @@ -17970,6 +18683,15 @@ int daAlink_c::execute() { shape_angle.y = mCargoCarryAcKeep.getActor()->shape_angle.y; } + #if DEBUG + if (checkModeFlg(2)) { + f32 var_f27 = current.pos.y - mLastJumpPos.y; + if (var_f27 > l_jumpTop) { + l_jumpTop = var_f27; + } + } + #endif + return 1; } @@ -17996,10 +18718,10 @@ void daAlink_c::setDrawHand() { var_r29 = 0xFE; } } else if (mProcID == PROC_TOOL_DEMO) { - var_r30 = field_0x2f92; - var_r29 = field_0x2f93; + var_r30 = mLeftHandIndex; + var_r29 = mRightHandIndex; } else { - if (field_0x2f92 == 0x64) { + if (mLeftHandIndex == 0x64) { if (mProcID == PROC_BOSS_BODY_HANG || mProcID == PROC_MASTER_SWORD_PULL || (mProcID == PROC_CUT_DOWN_LAND && mProcVar2.field_0x300c != 0)) { var_r30 = mProcVar4.field_0x3010; } else if (checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE) && mUnderFrameCtrl[0].getFrame() < 6.0f) { @@ -18014,7 +18736,7 @@ void daAlink_c::setDrawHand() { if (checkBowGrabLeftHand()) { var_r30 = 0; } else { - var_r30 = field_0x2f92; + var_r30 = mLeftHandIndex; } } else if (field_0x2f94 == 0x65) { if (mUpperAnmHeap[0].getIdx() == 0xC7) { @@ -18025,14 +18747,14 @@ void daAlink_c::setDrawHand() { var_r30 = 2; } } else if (field_0x2f94 == 0 && mProcID == PROC_SWORD_UNEQUIP_SP) { - var_r30 = field_0x2f92; + var_r30 = mLeftHandIndex; } else if (field_0x2f94 == 0 && mEquipItem == 0x103 && (checkHorseRide() || checkUnderMove0BckNoArc(ANM_SWIM_DIE))) { var_r30 = 2; } else { var_r30 = field_0x2f94; } } else { - var_r30 = field_0x2f92; + var_r30 = mLeftHandIndex; } if ((mCutType == CUT_TYPE_FINISH_STAB || mCutType == CUT_TYPE_DOWN) && mProcID != PROC_BOSS_BODY_HANG) { @@ -18044,7 +18766,7 @@ void daAlink_c::setDrawHand() { if (mItemVar0.field_0x3018 == 1) { var_r29 = 5; } else { - var_r29 = field_0x2f93; + var_r29 = mRightHandIndex; } } else { var_r29 = field_0x2f95; @@ -18052,7 +18774,7 @@ void daAlink_c::setDrawHand() { } else if (!field_0x2e44.checkPassNum(0xF)) { var_r29 = 6; } else { - var_r29 = field_0x2f93; + var_r29 = mRightHandIndex; } } @@ -18099,19 +18821,13 @@ void daAlink_c::setDrawHand() { } bool daAlink_c::checkSwordDraw() { - return ((checkSwordGet() && mSwordChangeWaitTimer == 0) && - !checkNoResetFlg2(FLG2_UNK_2080000)) && - (!checkWolf() - /* dSv_event_flag_c::M_068 - Main Event - when OFF, wolf carries sword and shield on back */ - || !dComIfGs_isEventBit(0x0C08)); + return ((checkSwordGet() && mSwordChangeWaitTimer == 0) && !checkNoResetFlg2(FLG2_UNK_2080000)) + && (!checkWolf() || !dComIfGs_isEventBit(dSv_event_flag_c::M_068)); } bool daAlink_c::checkShieldDraw() { - return ((checkShieldGet() && mShieldChangeWaitTimer == 0) && - !checkNoResetFlg2(FLG2_UNK_4080000)) && - (!checkWolf() - /* dSv_event_flag_c::M_068 - Main Event - when OFF, wolf carries sword and shield on back */ - || !dComIfGs_isEventBit(0x0C08)); + return ((checkShieldGet() && mShieldChangeWaitTimer == 0) && !checkNoResetFlg2(FLG2_UNK_4080000)) && + (!checkWolf() || !dComIfGs_isEventBit(dSv_event_flag_c::M_068)); } bool daAlink_c::checkItemDraw() { @@ -18122,6 +18838,7 @@ bool daAlink_c::checkItemDraw() { return true; } } + return false; } @@ -18129,14 +18846,14 @@ int daAlink_c::initShadowScaleLight() { dKy_shadow_mode_set(4); if (checkWolf()) { - f32 temp_f26 = 0.5f * field_0x850[0].GetH(); - field_0x850[0].GetC(); + f32 temp_f26 = 0.5f * mTgCyls[0].GetH(); + mTgCyls[0].GetC(); } cXyz sp20(tevStr.mLightPosWorld.x - field_0x3834.x, tevStr.mLightPosWorld.y - field_0x3454, tevStr.mLightPosWorld.z - field_0x3834.z); field_0x2ff6 = sp20.atan2sX_Z(); - fopAc_ac_c* temp_r29 = fopAcM_getTalkEventPartner(this); + fopAc_ac_c* talkActor = fopAcM_getTalkEventPartner(this); f32 var_f30; if (dComIfGp_checkPlayerStatus0(0, 0x100000)) { @@ -18147,8 +18864,8 @@ int daAlink_c::initShadowScaleLight() { BOOL var_r28; f32 var_f31; - if (temp_r29 != NULL && ((fopAcM_GetName(temp_r29) == PROC_Tag_Mhint && !((daTagMhint_c*)temp_r29)->checkNoAttention()) || (fopAcM_GetName(temp_r29) == PROC_Tag_Mstop && !((daTagMstop_c*)temp_r29)->checkNoAttention()))) { - field_0x2ff8 = cLib_targetAngleY(&temp_r29->eyePos, ¤t.pos); + if (talkActor != NULL && ((fopAcM_GetName(talkActor) == PROC_Tag_Mhint && !((daTagMhint_c*)talkActor)->checkNoAttention()) || (fopAcM_GetName(talkActor) == PROC_Tag_Mstop && !((daTagMstop_c*)talkActor)->checkNoAttention()))) { + field_0x2ff8 = cLib_targetAngleY(&talkActor->eyePos, ¤t.pos); var_r28 = 1; } else { field_0x2ff8 = shape_angle.y + 0x8000; @@ -18243,8 +18960,8 @@ int daAlink_c::moveShadowScaleLight() { } void daAlink_c::shadowDraw() { - daMidna_c* temp_r3 = getMidnaActor(); - if (temp_r3 != NULL && ((temp_r3->checkShadowModelDraw() && (field_0x2ff4 >= 0x3FF0 || !checkMidnaRide())) || temp_r3->checkShadowModelDrawDemoForce())) { + daMidna_c* midna = getMidnaActor(); + if (midna != NULL && ((midna->checkShadowModelDraw() && (field_0x2ff4 >= 0x3FF0 || !checkMidnaRide())) || midna->checkShadowModelDrawDemoForce())) { return; } @@ -18253,11 +18970,11 @@ void daAlink_c::shadowDraw() { tevStr.field_0x344 = field_0x3484; } - u32 var_r29; + u32 shadowID; if (checkHorseRide()) { - var_r29 = ((daHorse_c*)dComIfGp_getHorseActor())->getShadowID(); - if (var_r29 != 0) { - dComIfGd_addRealShadow(var_r29, mpLinkModel); + shadowID = ((daHorse_c*)dComIfGp_getHorseActor())->getShadowID(); + if (shadowID != 0) { + dComIfGd_addRealShadow(shadowID, mpLinkModel); } } else { f32 var_f31; @@ -18271,13 +18988,13 @@ void daAlink_c::shadowDraw() { f32 var_f30; if (!checkWolf()) { - if (field_0x850[0].GetC().y > field_0x850[2].GetC().y) { - var_f30 = field_0x850[2].GetC().y; + if (mTgCyls[0].GetC().y > mTgCyls[2].GetC().y) { + var_f30 = mTgCyls[2].GetC().y; } else { - var_f30 = field_0x850[0].GetC().y; + var_f30 = mTgCyls[0].GetC().y; } } else { - var_f30 = field_0x850[0].GetC().y; + var_f30 = mTgCyls[0].GetC().y; } s8 sp8; @@ -18288,55 +19005,55 @@ void daAlink_c::shadowDraw() { } field_0x31a4 = dComIfGd_setShadow(field_0x31a4, sp8, mpLinkModel, &spC, 800.0f, 0.0f, var_f30, var_f31, mLinkAcch.m_gnd, &tevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); - var_r29 = field_0x31a4; + shadowID = field_0x31a4; } - if (var_r29 != 0) { + if (shadowID != 0) { if (checkSwordDraw()) { if (!checkNoResetFlg3(FLG3_UNK_80000000)) { - dComIfGd_addRealShadow(var_r29, mSwordModel); + dComIfGd_addRealShadow(shadowID, mSwordModel); } if (!checkWoodSwordEquip()) { - dComIfGd_addRealShadow(var_r29, mSheathModel); + dComIfGd_addRealShadow(shadowID, mSheathModel); } } if (checkShieldDraw()) { - dComIfGd_addRealShadow(var_r29, mShieldModel); + dComIfGd_addRealShadow(shadowID, mShieldModel); } if (checkWolf()) { - if (checkMidnaRide() && !checkCloudSea() && !temp_r3->checkShadowNoDraw() && !temp_r3->checkShadowModelDraw()) { - dComIfGd_addRealShadow(var_r29, mpWlMidnaModel); + if (checkMidnaRide() && !checkCloudSea() && !midna->checkShadowNoDraw() && !midna->checkShadowModelDraw()) { + dComIfGd_addRealShadow(shadowID, mpWlMidnaModel); - if (!temp_r3->checkNoMaskDraw() ) { - dComIfGd_addRealShadow(var_r29, mpWlMidnaMaskModel); + if (!midna->checkNoMaskDraw() ) { + dComIfGd_addRealShadow(shadowID, mpWlMidnaMaskModel); } - dComIfGd_addRealShadow(var_r29, mpWlMidnaHairModel); + dComIfGd_addRealShadow(shadowID, mpWlMidnaHairModel); } } else { - dComIfGd_addRealShadow(var_r29, mpLinkFaceModel); - dComIfGd_addRealShadow(var_r29, mpLinkHatModel); - dComIfGd_addRealShadow(var_r29, mpLinkHandModel); + dComIfGd_addRealShadow(shadowID, mpLinkFaceModel); + dComIfGd_addRealShadow(shadowID, mpLinkHatModel); + dComIfGd_addRealShadow(shadowID, mpLinkHandModel); - if (field_0x2f92 == 0xFB) { - dComIfGd_addRealShadow(var_r29, mpDemoHLTmpModel); + if (mLeftHandIndex == 0xFB) { + dComIfGd_addRealShadow(shadowID, mpDemoHLTmpModel); } - if (field_0x2f93 == 0xFB) { - dComIfGd_addRealShadow(var_r29, mpDemoHRTmpModel); + if (mRightHandIndex == 0xFB) { + dComIfGd_addRealShadow(shadowID, mpDemoHRTmpModel); } if (mEquipItem == fpcNm_ITEM_BOOMERANG) { if (mItemAcKeep.getActor() != NULL) { - dComIfGd_addRealShadow(var_r29, mItemAcKeep.getActor()->model); + dComIfGd_addRealShadow(shadowID, mItemAcKeep.getActor()->model); } } else if (checkItemDraw()) { if (mEquipItem == fpcNm_ITEM_IRONBALL) { if (mItemVar0.field_0x3018 == 0 || mItemVar0.field_0x3018 == 8) { - dComIfGd_addRealShadow(var_r29, mHeldItemModel); + dComIfGd_addRealShadow(shadowID, mHeldItemModel); } else { if (fopAcM_gc_c::gndCheck(&mIronBallBgChkPos)) { field_0x32d4 = dComIfGd_setShadow(field_0x32d4, 0, mHeldItemModel, &mIronBallCenterPos, 150.0f, 32.0f, mIronBallBgChkPos.y, fopAcM_gc_c::getGroundY(), *fopAcM_gc_c::getGroundCheck(), &tevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); @@ -18344,18 +19061,18 @@ void daAlink_c::shadowDraw() { } } else { changeHookshotDrawModel(); - dComIfGd_addRealShadow(var_r29, mHeldItemModel); + dComIfGd_addRealShadow(shadowID, mHeldItemModel); if (checkHookshotItem(mEquipItem)) { if (checkHookshotWait() && !dComIfGp_checkPlayerStatus1(0, 0x10000)) { - dComIfGd_addRealShadow(var_r29, mpHookTipModel); + dComIfGd_addRealShadow(shadowID, mpHookTipModel); } if (mEquipItem == fpcNm_ITEM_W_HOOKSHOT && !checkPlayerGuardAndAttack() && !checkNoResetFlg0(FLG0_UNK_2)) { - dComIfGd_addRealShadow(var_r29, field_0x0710); + dComIfGd_addRealShadow(shadowID, field_0x0710); if (!dComIfGp_checkPlayerStatus1(0, 0x10000)) { - dComIfGd_addRealShadow(var_r29, field_0x0714); + dComIfGd_addRealShadow(shadowID, field_0x0714); } } } @@ -18365,43 +19082,43 @@ void daAlink_c::shadowDraw() { } if (checkNoResetFlg2(FLG2_UNK_1)) { - dComIfGd_addRealShadow(var_r29, mpKanteraModel); + dComIfGd_addRealShadow(shadowID, mpKanteraModel); } if (checkEquipHeavyBoots()) { for (int i = 0; i < 2; i++) { - dComIfGd_addRealShadow(var_r29, mpLinkBootModels[i]); + dComIfGd_addRealShadow(shadowID, mpLinkBootModels[i]); } } if (checkSpinnerRide()) { - fopAc_ac_c* temp_r3_6 = fopAcM_SearchByID(mRideAcKeep.getID()); - if (temp_r3_6 != NULL) { - dComIfGd_addRealShadow(var_r29, temp_r3_6->model); + fopAc_ac_c* spinnerActor = fopAcM_SearchByID(mRideAcKeep.getID()); + if (spinnerActor != NULL) { + dComIfGd_addRealShadow(shadowID, spinnerActor->model); } } } if (mGrabItemAcKeep.getID() != fpcM_ERROR_PROCESS_ID_e) { - fopAc_ac_c* temp_r3_7 = fopAcM_SearchByID(mGrabItemAcKeep.getID()); - if (temp_r3_7 != NULL && temp_r3_7->model != NULL) { - dComIfGd_addRealShadow(var_r29, temp_r3_7->model); + fopAc_ac_c* grabActor = fopAcM_SearchByID(mGrabItemAcKeep.getID()); + if (grabActor != NULL && grabActor->model != NULL) { + dComIfGd_addRealShadow(shadowID, grabActor->model); } } if (dComIfGp_checkPlayerStatus1(0, 0x10000) && mCargoCarryAcKeep.getID() != fpcM_ERROR_PROCESS_ID_e) { - fopAc_ac_c* temp_r3_8 = fopAcM_SearchByID(mCargoCarryAcKeep.getID()); - if (temp_r3_8 != NULL && temp_r3_8->model != NULL) { - dComIfGd_addRealShadow(var_r29, temp_r3_8->model); + fopAc_ac_c* carryActor = fopAcM_SearchByID(mCargoCarryAcKeep.getID()); + if (carryActor != NULL && carryActor->model != NULL) { + dComIfGd_addRealShadow(shadowID, carryActor->model); } } } } } -void daAlink_c::modelCalc(J3DModel* p_model) { +void daAlink_c::modelCalc(J3DModel* i_model) { if (mClothesChangeWaitTimer == 0) { - p_model->calc(); + i_model->calc(); } } @@ -18491,7 +19208,9 @@ int daAlink_c::draw() { initTevCustomColor(); if (mSight.getDrawFlg() && !checkEventRun()) { + #if PLATFORM_GCN mSight.setSight(); + #endif } if (checkNoResetFlg1(FLG1_UNK_80)) { @@ -18522,9 +19241,9 @@ int daAlink_c::draw() { return 1; } - BOOL temp_r30 = checkPlayerNoDraw(); - BOOL var_r29 = 0; - BOOL var_r31 = 1; + BOOL isPlayerNoDraw = checkPlayerNoDraw(); + BOOL var_r29 = FALSE; + BOOL var_r31 = TRUE; if (field_0x06f4 != NULL) { field_0x06f4->getTevColorReg(0, &tevStr.TevColor); @@ -18572,19 +19291,16 @@ int daAlink_c::draw() { f32 temp_f4 = 1.0f - (mIceDamageWaitTimer * (1.0f / mpHIO->mDamage.m.mFreezeTime)); f32 temp_f3 = 1.0f - temp_f4; - tevStr.TevColor.r = (temp_f4 * mpHIO->mDamage.m.mFreezeInitR) + - (temp_f3 * mpHIO->mDamage.m.mFreezeR); - tevStr.TevColor.g = (temp_f4 * mpHIO->mDamage.m.mFreezeInitG) + - (temp_f3 * mpHIO->mDamage.m.mFreezeG); - tevStr.TevColor.b = (temp_f4 * mpHIO->mDamage.m.mFreezeInitB) + - (temp_f3 * mpHIO->mDamage.m.mFreezeB); + tevStr.TevColor.r = (temp_f4 * mpHIO->mDamage.m.mFreezeInitR) + (temp_f3 * mpHIO->mDamage.m.mFreezeR); + tevStr.TevColor.g = (temp_f4 * mpHIO->mDamage.m.mFreezeInitG) + (temp_f3 * mpHIO->mDamage.m.mFreezeG); + tevStr.TevColor.b = (temp_f4 * mpHIO->mDamage.m.mFreezeInitB) + (temp_f3 * mpHIO->mDamage.m.mFreezeB); } else if (field_0x32b0[0].r != 0) { tevStr.TevColor.r = field_0x32b0[0].r; tevStr.TevColor.g = field_0x32b0[0].g; tevStr.TevColor.b = field_0x32b0[0].b; - var_r29 = 1; + var_r29 = TRUE; } else { - var_r31 = 0; + var_r31 = FALSE; } if (!checkWolf()) { @@ -18614,12 +19330,11 @@ int daAlink_c::draw() { if (checkWolf()) { dComIfGd_setListDark(); - modelDraw(mpLinkModel, temp_r30); + modelDraw(mpLinkModel, isPlayerNoDraw); - /* dSv_event_flag_c::M_011 - Inside Hyrule Castle - Midna removes wolf's chains in prison */ - if (dComIfGs_isEventBit(0x510)) { + if (dComIfGs_isEventBit(dSv_event_flag_c::M_011)) { for (int i = 0; i < 4; i++) { - modelDraw(mpWlChainModels[i], temp_r30); + modelDraw(mpWlChainModels[i], isPlayerNoDraw); } } @@ -18628,12 +19343,12 @@ int daAlink_c::draw() { tevStr.TevKColor.b = 0; if (checkSwordDraw()) { - modelDraw(mSwordModel, temp_r30); - modelDraw(mSheathModel, temp_r30); + modelDraw(mSwordModel, isPlayerNoDraw); + modelDraw(mSheathModel, isPlayerNoDraw); } if (checkShieldDraw()) { - modelDraw(mShieldModel, temp_r30); + modelDraw(mShieldModel, isPlayerNoDraw); } if (mHeldItemModel != NULL) { @@ -18643,7 +19358,7 @@ int daAlink_c::draw() { mHeldItemModel->getModelData()->entryTexMtxAnimator(field_0x0718); } - modelDraw(mHeldItemModel, temp_r30); + modelDraw(mHeldItemModel, isPlayerNoDraw); } dComIfGd_setList(); @@ -18666,7 +19381,7 @@ int daAlink_c::draw() { } } - modelDraw(mpLinkModel, temp_r30); + modelDraw(mpLinkModel, isPlayerNoDraw); if (dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x20)) { if (checkHookshotReadyMaterialOffMode()) { @@ -18690,16 +19405,16 @@ int daAlink_c::draw() { } } - modelDraw(mpLinkHandModel, temp_r30); - if (field_0x2f92 == 0xFB) { - modelDraw(mpDemoHLTmpModel, temp_r30); + modelDraw(mpLinkHandModel, isPlayerNoDraw); + if (mLeftHandIndex == 0xFB) { + modelDraw(mpDemoHLTmpModel, isPlayerNoDraw); } - if (field_0x2f93 == 0xFB) { - modelDraw(mpDemoHRTmpModel, temp_r30); + if (mRightHandIndex == 0xFB) { + modelDraw(mpDemoHRTmpModel, isPlayerNoDraw); } - BOOL var_r3 = temp_r30 || dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x20); + BOOL var_r3 = isPlayerNoDraw || dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x20); modelDraw(mpLinkHatModel, var_r3); @@ -18751,39 +19466,39 @@ int daAlink_c::draw() { if (checkItemDraw()) { changeHookshotDrawModel(); - modelDraw(mHeldItemModel, temp_r30); + modelDraw(mHeldItemModel, isPlayerNoDraw); if (mpHookTipModel != NULL) { - modelDraw(mpHookTipModel, temp_r30); + modelDraw(mpHookTipModel, isPlayerNoDraw); } if (mEquipItem == fpcNm_ITEM_W_HOOKSHOT && !checkPlayerGuardAndAttack() && !checkNoResetFlg0(FLG0_UNK_2)) { if (field_0x0710 != NULL) { - modelDraw(field_0x0710, temp_r30); + modelDraw(field_0x0710, isPlayerNoDraw); } if (field_0x0714 != NULL) { - modelDraw(field_0x0714, temp_r30); + modelDraw(field_0x0714, isPlayerNoDraw); } } changeHookshotDrawModel(); - if (mpHookChain != NULL && !temp_r30 && - ((checkHookshotItem(mEquipItem) && (mHeldItemRootPos.abs(mHookshotTopPos) > 1.0f || - field_0x3810.abs(mIronBallBgChkPos) > 1.0f)) || - mEquipItem == fpcNm_ITEM_IRONBALL)) + if (mpHookChain != NULL && !isPlayerNoDraw && + ((checkHookshotItem(mEquipItem) && (mHeldItemRootPos.abs(mHookshotTopPos) > 1.0f || field_0x3810.abs(mIronBallBgChkPos) > 1.0f)) + || mEquipItem == fpcNm_ITEM_IRONBALL) + ) { dComIfGd_getOpaListDark()->entryImm(mpHookChain, 0); } } if (checkNoResetFlg2(FLG2_UNK_1)) { - modelDraw(mpKanteraModel, temp_r30); + modelDraw(mpKanteraModel, isPlayerNoDraw); preKandelaarDraw(); - modelDraw(mpKanteraGlowModel, temp_r30); + modelDraw(mpKanteraGlowModel, isPlayerNoDraw); } else if (checkNoResetFlg2(FLG2_UNK_20000)) { basicModelDraw(mpKanteraModel); preKandelaarDraw(); @@ -18803,7 +19518,7 @@ int daAlink_c::draw() { tevStr.TevColor = color; } - modelDraw(mpLinkBootModels[i], temp_r30); + modelDraw(mpLinkBootModels[i], isPlayerNoDraw); } tevStr.TevColor = color; @@ -18811,7 +19526,7 @@ int daAlink_c::draw() { } if (!checkCanoeRide() && !dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x10000) && - !checkNoResetFlg2(FLG2_PLAYER_SHADOW)) + !checkNoResetFlg2(FLG2_PLAYER_SHADOW_NO_DRAW)) { shadowDraw(); } @@ -18831,6 +19546,10 @@ daAlink_c::~daAlink_c() { dComIfGp_clearPlayerStatus0(0, ~0x400030); dComIfGp_clearPlayerStatus1(0, 0x7FB7B78); + #if DEBUG + mpHIO->removeHIO(); + #endif + mZ2Link.deleteKantera(); mZ2Link.deleteObject(); if (mpHookSound != NULL) { @@ -18857,13 +19576,15 @@ daAlink_c::~daAlink_c() { mDoExt_destroyExpHeap(mpShieldArcHeap); } - dKy_plight_cut(&field_0x2f5c); + dKy_plight_cut(&mMagneBootsPlight); dComIfGp_setPlayer(0, NULL); dComIfGp_setLinkPlayer(NULL); } static int daAlink_Delete(daAlink_c* i_this) { + fpc_ProcID id = fopAcM_GetID(i_this); + if (i_this->getClothesChangeWaitTimer() != 0) { i_this->loadModelDVD(); return 0; diff --git a/src/d/actor/d_a_alink_HIO.inc b/src/d/actor/d_a_alink_HIO.inc index 52392eec13..aec8ad2a89 100644 --- a/src/d/actor/d_a_alink_HIO.inc +++ b/src/d/actor/d_a_alink_HIO.inc @@ -12,124 +12,124 @@ static void daAlinkHIO_setAnmGenMessage(daAlinkHIO_anm_c* i_anmP, JORMContext* ctx, char* param_3, f32 param_4, int param_5) { size_t sVar1; - char acStack_94[100]; + char labelbuf[100]; sVar1 = strlen(param_3); - sprintf(acStack_94, param_3); + sprintf(labelbuf, param_3); // A Speed - sprintf(acStack_94 + sVar1, "A速度"); - ctx->genSlider(acStack_94, &i_anmP->mSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + sprintf(labelbuf + sVar1, "A速度"); + ctx->genSlider(labelbuf, &i_anmP->mSpeed, 0.0f, 10.0f); // Starting F - sprintf(acStack_94 + sVar1, "開始F"); - ctx->genSlider(acStack_94, &i_anmP->mStartFrame, 0.0f, param_4, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + sprintf(labelbuf + sVar1, "開始F"); + ctx->genSlider(labelbuf, &i_anmP->mStartFrame, 0.0f, param_4); // Ending F - sprintf(acStack_94 + sVar1, "終了F"); - ctx->genSlider(acStack_94, &i_anmP->mEndFrame, 0, param_4, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + sprintf(labelbuf + sVar1, "終了F"); + ctx->genSlider(labelbuf, &i_anmP->mEndFrame, 0, param_4); if (param_5 != 0) { - sprintf(acStack_94 + sVar1, "CF"); - ctx->genSlider(acStack_94, &i_anmP->mCancelFrame, -1.0f, param_4 + 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + sprintf(labelbuf + sVar1, "CF"); + ctx->genSlider(labelbuf, &i_anmP->mCancelFrame, -1.0f, param_4 + 1.0f); } // Interpolation - sprintf(acStack_94 + sVar1, "補間"); - ctx->genSlider(acStack_94, &i_anmP->mInterpolation, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + sprintf(labelbuf + sVar1, "補間"); + ctx->genSlider(labelbuf, &i_anmP->mInterpolation, 0.0f, 20.0f); } static void daAlinkHIO_setReverseAnmGenMessage(daAlinkHIO_anm_c* i_anmP, JORMContext* ctx, char* param_3, f32 param_4, int param_5) { size_t sVar1; - char acStack_94[100]; + char labelbuf[100]; sVar1 = strlen(param_3); - sprintf(acStack_94, param_3); + sprintf(labelbuf, param_3); // A Speed - sprintf(acStack_94 + sVar1, "A速度"); - ctx->genSlider(acStack_94, &i_anmP->mSpeed, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + sprintf(labelbuf + sVar1, "A速度"); + ctx->genSlider(labelbuf, &i_anmP->mSpeed, -10.0f, 0.0f); // Starting F - sprintf(acStack_94 + sVar1, "開始F"); - ctx->genSlider(acStack_94, &i_anmP->mEndFrame, 0, param_4, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + sprintf(labelbuf + sVar1, "開始F"); + ctx->genSlider(labelbuf, &i_anmP->mEndFrame, 0, param_4); // Ending F - sprintf(acStack_94 + sVar1, "終了F"); - ctx->genSlider(acStack_94, &i_anmP->mStartFrame, 0.0f, param_4, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + sprintf(labelbuf + sVar1, "終了F"); + ctx->genSlider(labelbuf, &i_anmP->mStartFrame, 0.0f, param_4); if (param_5 != 0) { - sprintf(acStack_94 + sVar1, "CF"); - ctx->genSlider(acStack_94, &i_anmP->mCancelFrame, -1.0f, param_4 + 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + sprintf(labelbuf + sVar1, "CF"); + ctx->genSlider(labelbuf, &i_anmP->mCancelFrame, -1.0f, param_4 + 1.0f); } // Interpolation - sprintf(acStack_94 + sVar1, "補間"); - ctx->genSlider(acStack_94, &i_anmP->mInterpolation, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + sprintf(labelbuf + sVar1, "補間"); + ctx->genSlider(labelbuf, &i_anmP->mInterpolation, 0.0f, 20.0f); } -// DEBUG NONMATCHING - regalloc + extra mr instruction -void daAlinkHIO_data_c::setStructData(char* param_1) { - u8* pfVar2; - u8* pfVar4; +void daAlinkHIO_data_c::setStructData(char* o_data) { + int i, j; + s16* ps16data; + f32* pf32data; + daAlinkHIO_anm_c* panmdata; + u8* pu8data; - sprintf(param_1 + strlen(param_1), m_name_string); - pfVar2 = (u8*)mp_data; + // open struct data string + sprintf(o_data + strlen(o_data), m_name_string); + panmdata = (daAlinkHIO_anm_c*)mp_data; - for (int i = 0; i < m_anm_num; i++) { - sprintf(param_1 + strlen(param_1), "\t{\n"); - pfVar4 = pfVar2; + // create daAlinkHIO_anm_c data string + for (i = 0; i < m_anm_num; i++) { + sprintf(o_data + strlen(o_data), "\t{\n"); - for (int i = 0; i < 2; i++) { - sprintf(param_1 + strlen(param_1), "\t\t%d,\n", *(s16*)pfVar4); - pfVar4 += 2; + ps16data = (s16*)panmdata; + for (j = 0; j < 2; j++) { + sprintf(o_data + strlen(o_data), "\t\t%d,\n", *ps16data); + ps16data++; } - pfVar4 = pfVar2; - - for (int i = 0; i < 4; i++) { - sprintf(param_1 + strlen(param_1), "\t\t%ff,\n", *(f32*)pfVar4); - pfVar4 += 4; + pf32data = (f32*)ps16data; + for (j = 0; j < 4; j++) { + sprintf(o_data + strlen(o_data), "\t\t%ff,\n", *pf32data); + pf32data++; } - pfVar2 += 0x14; - sprintf(param_1 + strlen(param_1), "\t},\n"); + panmdata++; + sprintf(o_data + strlen(o_data), "\t},\n"); } - pfVar4 = pfVar2; - - for (int i = 0; i < m_u8_num; i++) { - sprintf(param_1 + strlen(param_1), "\t%d,\n", *(u8*)pfVar2); - pfVar2++; + // create u8 data string + pu8data = (u8*)panmdata; + for (i = 0; i < m_u8_num; i++) { + sprintf(o_data + strlen(o_data), "\t%d,\n", *pu8data); + pu8data++; } - for (int i = 0; i < m_s16_num; i++) { - sprintf(param_1 + strlen(param_1), "\t%d,\n", *(s16*)pfVar2); - pfVar2 += 2; + // create s16 data string + ps16data = (s16*)pu8data; + for (i = 0; i < m_s16_num; i++) { + sprintf(o_data + strlen(o_data), "\t%d,\n", *ps16data); + ps16data++; } - for (int i = 0; i < m_f32_num; i++) { - sprintf(param_1 + strlen(param_1), "\t%ff,\n", *(f32*)pfVar2); - pfVar2 += 4; + // create f32 data string + pf32data = (f32*)ps16data; + for (i = 0; i < m_f32_num; i++) { + sprintf(o_data + strlen(o_data), "\t%ff,\n", *pf32data); + pf32data++; } - sprintf(param_1 + strlen(param_1), "};\n\n"); + // close struct data string + sprintf(o_data + strlen(o_data), "};\n\n"); } daAlinkHIO_data_c* l_HIO_before; daAlinkHIO_data_c* l_HIO_top; void daAlinkHIO_data_c::checkDataSize() { - u32 dataSize = (m_u8_num + m_anm_num * 0x14) + (m_s16_num * 2) + (m_f32_num * 4); + u32 dataSize = (m_u8_num + m_anm_num * sizeof(daAlinkHIO_anm_c)) + (m_s16_num * sizeof(s16)) + (m_f32_num * sizeof(f32)); JUT_ASSERT(188, dataSize == m_len); if (l_HIO_before != NULL) { @@ -146,49 +146,65 @@ void daAlinkHIO_data_c::baseCopy() { cLib_memCpy(mp_data, mp_src_data, m_len); } -// DEBUG NONMATCHING void daAlinkHIO_data_c::update() { + int i, j; + s16* ps16data; + u8* pu8data; + f32* pf32data; + daAlinkHIO_anm_c* panmdata; + baseCopy(); + JORMContext* ctx = attachJORMContext(8); ctx->startUpdateNode(this); - u8* local_20 = (u8*)mp_data; - for (int i = 0; i < m_anm_num; i++) { - ctx->updateSlider(2, (s16*)local_20, 0, 0, 0); + panmdata = (daAlinkHIO_anm_c*)mp_data; + for (i = 0; i < m_anm_num; i++) { + ps16data = (s16*)panmdata; + ctx->updateSlider(2, ps16data, 0, 0, 0); + ps16data++; + ps16data++; - for (int j = 0; j < 4; local_20 += 4, j++) { - ctx->updateSlider(2, (f32*)local_20, 0.0f, 0.0f, 0); + pf32data = (f32*)ps16data; + for (j = 0; j < 4; j++) { + ctx->updateSlider(2, pf32data, 0.0f, 0.0f, 0); + pf32data++; } + + panmdata++; } - for (int i = 0; i < f14; i++) { - ctx->updateCheckBox(2, local_20, 1, 0); + pu8data = (u8*)panmdata; + for (i = 0; i < f14; i++) { + ctx->updateCheckBox(2, pu8data, 1, 0); + pu8data++; } - for (int i = 0; i < f18; i++) { - ctx->updateComboBox(2, local_20, 0); - // local_20++; + for (i = 0; i < f18; i++) { + ctx->updateComboBox(2, pu8data, 0); + pu8data++; } - for (int i = 0; i < (m_u8_num - f14 + f18); i++) { - // local_20++; + int spC = m_u8_num - (f14 + f18); + for (i = 0; i < spC; i++) { + pu8data++; } - int iVar1 = f1c; - int iVar3 = m_s16_num; - - for (int i = 0; i < iVar3 - iVar1; i++) { - ctx->updateSlider(2, (s16*)local_20, 0, 0, 0); - // local_20 += 2; + ps16data = (s16*)pu8data; + int sp8 = m_s16_num - f1c; + for (i = 0; i < sp8; i++) { + ctx->updateSlider(2, ps16data, 0, 0, 0); + ps16data++; } - for (int i = 0; i < f1c; i++) { - // local_20 += 2; + for (i = 0; i < f1c; i++) { + ps16data++; } - for (int i = 0; i < m_f32_num; i++) { - ctx->updateSlider(2, (f32*)local_20, 0.0f, 0.0f, 0); - // local_20 += 4; + pf32data = (f32*)ps16data; + for (i = 0; i < m_f32_num; i++) { + ctx->updateSlider(2, pf32data, 0.0f, 0.0f, 0); + pf32data++; } ctx->endUpdateNode(); @@ -205,78 +221,55 @@ void daAlinkHIO_data_c::listenPropertyEvent(const JORPropertyEvent* event) { void daAlinkHIO_basic_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Basic Interpolation - ctx->genSlider("基本補間", &m.mBasicInterpolation, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("基本補間", &m.mBasicInterpolation, 0.0f, 50.0f); // Rotation A Speed - ctx->genSlider("旋回A速度", &m.mRotationASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回A速度", &m.mRotationASpeed, 0.0f, 10.0f); // Max horizontal head turn - ctx->genSlider("首横向き最大", &m.mHeadMaxTurnHorizontal, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("首横向き最大", &m.mHeadMaxTurnHorizontal, 0, 0x7fff); // Max vertical head turn up - ctx->genSlider("首上向き最大", &m.mHeadMaxTurnUp, -0x7fff, 0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("首上向き最大", &m.mHeadMaxTurnUp, -0x7fff, 0); // Max vertical head turn down - ctx->genSlider("首下向き最大", &m.mHeadMaxTurnDown, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("首下向き最大", &m.mHeadMaxTurnDown, 0, 0x7fff); // Standing guard interpolation - ctx->genSlider("立ち防御補間", &m.mStandingGuardInterpolation, 0.0f, 50.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("立ち防御補間", &m.mStandingGuardInterpolation, 0.0f, 50.0f); // One hit death - ctx->genCheckBox("一撃死", (u8*)(&m.mOneHitKill), 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox("一撃死", (u8*)(&m.mOneHitKill), 0x1); // Adult water effect height - ctx->genSlider("大人水面エフェクト高さ", &m.mWaterSurfaceEffectHeight, 0.0f, 100.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("大人水面エフェクト高さ", &m.mWaterSurfaceEffectHeight, 0.0f, 100.0f); // Wolf water effect height - ctx->genSlider("狼水面エフェクト高さ", &m.mWolfWaterSurfaceEffectHeight, 0.0f, 100.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("狼水面エフェクト高さ", &m.mWolfWaterSurfaceEffectHeight, 0.0f, 100.0f); // Max wind influence distance - ctx->genSlider("風影響最大距離", &m.mMaxWindInfluenceDist, 0.0f, 1000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("風影響最大距離", &m.mMaxWindInfluenceDist, 0.0f, 1000.0f); // No wind influence distance - ctx->genSlider("風影響無し距離", &m.mNoWindInfluenceDist, 0.0f, 1000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("風影響無し距離", &m.mNoWindInfluenceDist, 0.0f, 1000.0f); // Max wind speed - ctx->genSlider("風最大速度", &m.mMaxWindSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("風最大速度", &m.mMaxWindSpeed, 0.0f, 100.0f); // Lava instant death depth - ctx->genSlider("溶岩即死深さ", &m.mLavaDeathDepth, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("溶岩即死深さ", &m.mLavaDeathDepth, 0.0f, 100.0f); // Link -> Wolf Cancel Frame - ctx->genSlider("リンク→狼CF", &m.mLinkToWolfCancelFrame, 0.0f, 35.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("リンク→狼CF", &m.mLinkToWolfCancelFrame, 0.0f, 35.0f); // Wolf -> Link Cancel Frame - ctx->genSlider("狼→リンクCF", &m.mWolfToLinkCancelFrame, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("狼→リンクCF", &m.mWolfToLinkCancelFrame, 0.0f, 30.0f); // Room speed rate - ctx->genSlider("部屋速度率", &m.mIndoorSpeedFactor, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("部屋速度率", &m.mIndoorSpeedFactor, 0.0f, 1.0f); // Hot spring heal time - ctx->genSlider("温泉回復時間", &m.mHotspringRecoverTime, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("温泉回復時間", &m.mHotspringRecoverTime, 0, 0xff); // Sand sinking speed - ctx->genSlider("砂沈み速度", &m.mSandSinkSpeed, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("砂沈み速度", &m.mSandSinkSpeed, 0.0f, 5.0f); // Sand floating speed - ctx->genSlider("砂浮上速度", &m.mSandSurfaceSpeed, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("砂浮上速度", &m.mSandSurfaceSpeed, 0.0f, 5.0f); // Wii perspective camera speed (horizontal) - ctx->genSlider("Wii主観カメラ速度横", &m.mWiiCamSpeedH, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("Wii主観カメラ速度横", &m.mWiiCamSpeedH, 0, 0x7fff); // Wii perspective camera speed (vertical) - ctx->genSlider("Wii主観カメラ速度縦", &m.mWiiCamSpeedV, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("Wii主観カメラ速度縦", &m.mWiiCamSpeedV, 0, 0x7fff); // Transformation prohibit distance (near) - ctx->genSlider("変身禁止距離(近)", &m.mTransformBlockNearDis, 0.0f, 10000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("変身禁止距離(近)", &m.mTransformBlockNearDis, 0.0f, 10000.0f); // Transformation prohibit distance (far) - ctx->genSlider("変身禁止距離(遠)", &m.mTransformBlockFarDis, 0.0, 10000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("変身禁止距離(遠)", &m.mTransformBlockFarDis, 0.0, 10000.0f); // Transformation prohibit angle (far) - ctx->genSlider("変身禁止角度(遠)", &m.mTransformBlockFarAngle, 0, 0x7fff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("変身禁止角度(遠)", &m.mTransformBlockFarAngle, 0, 0x7fff); } daAlinkHIO_basic_c::daAlinkHIO_basic_c() { @@ -301,56 +294,45 @@ daAlinkHIO_data_c::daAlinkHIO_data_c() {} void daAlinkHIO_move_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Max speed - ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0, 50.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0, 50.0); // Acceleration - ctx->genSlider("加速度", &m.mAcceleration, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速度", &m.mAcceleration, 0.0, 10.0); // Wait A speed - ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.01, 10.0); // Walking A speed - ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.01, 10.0); // Running A speed - ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.01, 10.0); // Walking change rate - ctx->genSlider("歩き変更率", &m.mWalkChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩き変更率", &m.mWalkChangeRate, 0.0, 1.0); // Running change rate - ctx->genSlider("走り変更率", &m.mRunChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("走り変更率", &m.mRunChangeRate, 0.0, 1.0); // Walking minimum synthesis rate - ctx->genSlider("歩き最低合成率", &m.mMinWalkRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩き最低合成率", &m.mMinWalkRate, 0.0, 1.0); // Tired walking minimum synthesis rate - ctx->genSlider("疲れ歩き最低合成率", &m.mMinTiredWalkRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("疲れ歩き最低合成率", &m.mMinTiredWalkRate, 0.0, 1.0); // Rotation angle max - ctx->genSlider("旋回角度最大", &m.mMaxTurnAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最大", &m.mMaxTurnAngle, 0, 0x4000); // Rotation angle min - ctx->genSlider("旋回角度最小", &m.mMinTurnAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最小", &m.mMinTurnAngle, 0, 0x4000); // Rotation angle rate - ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0, 20.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0, 20.0); // Slide daAlinkHIO_setAnmGenMessage(&m.mSlideAnm, ctx, "滑り", 11.0f, 0); // Slide start - ctx->genSlider("滑り開始", &m.mSlideThresholdSpeed, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り開始", &m.mSlideThresholdSpeed, 0.0, 1.0); // Slide initial speed rate - ctx->genSlider("滑り初速率", &m.mSlideSpeed, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("滑り初速率", &m.mSlideSpeed, 0.0, 10.0); // Slide deceleration - ctx->genSlider("滑り減速", &m.mSlideDeceleration, 0.0, 20.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り減速", &m.mSlideDeceleration, 0.0, 20.0); // Foot propotional placement when walking - ctx->genSlider("歩き時足位置比率", &m.mFootPositionRatio, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩き時足位置比率", &m.mFootPositionRatio, 0.0, 1.0); // Light stance interpolation - ctx->genSlider("軽く構え補間", &m.mWaitBInterpolation, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("軽く構え補間", &m.mWaitBInterpolation, 0.0, 10.0); } daAlinkHIO_move_c::daAlinkHIO_move_c() { @@ -372,67 +354,51 @@ daAlinkHIO_move_c::daAlinkHIO_move_c() { void daAlinkHIO_atnMove_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Max speed - ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0, 50.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0, 50.0); // Acceleration - ctx->genSlider("加速度", &m.mAcceleration, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速度", &m.mAcceleration, 0.0, 10.0); // Idle A speed - ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.01, 10.0); // Walking A speed - ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.01, 10.0); // Running A speed - ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.01, 10.0); // Walking update rate - ctx->genSlider("歩き変更率", &m.mWalkChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩き変更率", &m.mWalkChangeRate, 0.0, 1.0); // Running update rate - ctx->genSlider("走り変更率", &m.mRunChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("走り変更率", &m.mRunChangeRate, 0.0, 1.0); // Walking minimum synthesis rate - ctx->genSlider("歩き最低合成率", &m.mMinWalkFrame, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩き最低合成率", &m.mMinWalkFrame, 0.0, 1.0); // Forward walk A speed - ctx->genSlider("前歩きA速度", &m.mWalkForwardAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前歩きA速度", &m.mWalkForwardAnmSpeed, 0.01, 10.0); // Forward run A speed - ctx->genSlider("前走りA速度", &m.mRunForwardAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前走りA速度", &m.mRunForwardAnmSpeed, 0.01, 10.0); // Max rotation angle - ctx->genSlider("旋回角度最大", &m.mMaxTurnAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最大", &m.mMaxTurnAngle, 0, 0x4000); // Min rotation angle - ctx->genSlider("旋回角度最小", &m.mMinTurnAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最小", &m.mMinTurnAngle, 0, 0x4000); // Rotation angle rate - ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0, 20.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0, 20.0); // Max speed backwards - ctx->genSlider("後方最高速度", &m.mMaxBackwardsSpeed, 0.0, 50.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方最高速度", &m.mMaxBackwardsSpeed, 0.0, 50.0); // Acceleration backwards - ctx->genSlider("後方加速度", &m.mBackAcceleration, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方加速度", &m.mBackAcceleration, 0.0, 10.0); // Back walk A speed - ctx->genSlider("後歩A速度", &m.mBackWalkAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後歩A速度", &m.mBackWalkAnmSpeed, 0.01, 10.0); // Back run A speed - ctx->genSlider("後走A速度", &m.mBackRunAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後走A速度", &m.mBackRunAnmSpeed, 0.01, 10.0); // Back walk rate of change - ctx->genSlider("後歩変更率", &m.mBackWalkChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後歩変更率", &m.mBackWalkChangeRate, 0.0, 1.0); // Back run rate of change - ctx->genSlider("後走変更率", &m.mBackRunChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後走変更率", &m.mBackRunChangeRate, 0.0, 1.0); // Back walk minimum synthesis rate - ctx->genSlider("後歩最低合成率", &m.mMinBackWalkFrame, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後歩最低合成率", &m.mMinBackWalkFrame, 0.0, 1.0); // Back walk deceleration - ctx->genSlider("後方減速", &m.mBackDeceleration, 0.0, 20.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方減速", &m.mBackDeceleration, 0.0, 20.0); } daAlinkHIO_atnMove_c::daAlinkHIO_atnMove_c() { @@ -454,67 +420,51 @@ daAlinkHIO_atnMove_c::daAlinkHIO_atnMove_c() { void daAlinkHIO_noActAtnMove_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Max speed - ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0, 50.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0, 50.0); // Acceleration - ctx->genSlider("加速度", &m.mAcceleration, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速度", &m.mAcceleration, 0.0, 10.0); // Wait A speed - ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.01, 10.0); // Walk A speed - ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.01, 10.0); // Run A speed - ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.01, 10.0); // Walk rate of change - ctx->genSlider("歩き変更率", &m.mWalkChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩き変更率", &m.mWalkChangeRate, 0.0, 1.0); // Run rate of change - ctx->genSlider("走り変更率", &m.mRunChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("走り変更率", &m.mRunChangeRate, 0.0, 1.0); // Walk minimum synthesis rate - ctx->genSlider("歩き最低合成率", &m.mMinWalkFrame, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩き最低合成率", &m.mMinWalkFrame, 0.0, 1.0); // Max rotation angle - ctx->genSlider("旋回角度最大", &m.mMaxTurnAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最大", &m.mMaxTurnAngle, 0, 0x4000); // Min rotation angle - ctx->genSlider("旋回角度最小", &m.mMinTurnAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最小", &m.mMinTurnAngle, 0, 0x4000); // Rotation angle rate - ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0, 20.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0, 20.0); // Max backwards speed - ctx->genSlider("後方最高速度", &m.mMaxBackwardsSpeed, 0.0, 50.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方最高速度", &m.mMaxBackwardsSpeed, 0.0, 50.0); // Backwards acceleration - ctx->genSlider("後方加速度", &m.mBackAcceleration, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方加速度", &m.mBackAcceleration, 0.0, 10.0); // Back walk A speed - ctx->genSlider("後歩A速度", &m.mBackWalkAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後歩A速度", &m.mBackWalkAnmSpeed, 0.01, 10.0); // Back run A speed - ctx->genSlider("後走A速度", &m.mBackRunAnmSpeed, 0.01, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後走A速度", &m.mBackRunAnmSpeed, 0.01, 10.0); // Backwards walk rate of change - ctx->genSlider("後歩変更率", &m.mBackWalkChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後歩変更率", &m.mBackWalkChangeRate, 0.0, 1.0); // Backwards run rate of change - ctx->genSlider("後走変更率", &m.mBackRunChangeRate, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後走変更率", &m.mBackRunChangeRate, 0.0, 1.0); // Minimum back walk synthesis rate - ctx->genSlider("後歩最低合成率", &m.mMinBackWalkFrame, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後歩最低合成率", &m.mMinBackWalkFrame, 0.0, 1.0); // Backwards deceleration - ctx->genSlider("後方減速", &m.mBackDeceleration, 0.0, 20.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方減速", &m.mBackDeceleration, 0.0, 20.0); // Minimum rotation A speed - ctx->genSlider("旋回A速度最小", &m.mWalkForwardAnmSpeed, 0.0, 5.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("旋回A速度最小", &m.mWalkForwardAnmSpeed, 0.0, 5.0); // Maximum backwards A speed - ctx->genSlider("後方A速度最大", &m.mRunForwardAnmSpeed, 0.0, 5.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("後方A速度最大", &m.mRunForwardAnmSpeed, 0.0, 5.0); } daAlinkHIO_noActAtnMove_c::daAlinkHIO_noActAtnMove_c() { @@ -537,52 +487,41 @@ daAlinkHIO_noActAtnMove_c::daAlinkHIO_noActAtnMove_c() { void daAlinkHIO_frontRoll_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Forward roll daAlinkHIO_setAnmGenMessage(&m.mRollAnm, ctx, "前転", 29.0, 1); // Initial speed - ctx->genSlider("初速", &m.mInitSpeed, 0.0, 50.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("初速", &m.mInitSpeed, 0.0, 50.0); // Speed rate of change - ctx->genSlider("速度率", &m.mSpeedRate, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("速度率", &m.mSpeedRate, 0.0f, 5.0f); // Minimum speed - ctx->genSlider("最低速度", &m.mMinSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最低速度", &m.mMinSpeed, 0.0f, 50.0f); // Rotation rate - ctx->genSlider("旋回率", &m.mTurnRate, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回率", &m.mTurnRate, 0, 100); // Max rotation angle - ctx->genSlider("旋回最大角度", &m.mMaxTurnAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回最大角度", &m.mMaxTurnAngle, 0, 0x7fff); // Min rotation angle - ctx->genSlider("旋回最小角度", &m.mTurnMinAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回最小角度", &m.mTurnMinAngle, 0, 0x7fff); // Boots attack start F - ctx->genSlider("ブーツ攻撃開始F", &m.mBootsAttackInitF, 0.0f, 33.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ブーツ攻撃開始F", &m.mBootsAttackInitF, 0.0f, 33.0f); // Boots attack end F - ctx->genSlider("ブーツ攻撃終了F", &m.mBootsAttackEndF, 0.0f, 33.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ブーツ攻撃終了F", &m.mBootsAttackEndF, 0.0f, 33.0f); // Boots attack radius - ctx->genSlider("ブーツ攻撃半径", &m.mBootsAttackRadius, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ブーツ攻撃半径", &m.mBootsAttackRadius, 0.0f, 100.0f); // Required impact speed - ctx->genSlider("衝突必要速度", &m.mCrashSpeedThreshold, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("衝突必要速度", &m.mCrashSpeedThreshold, 0.0f, 50.0f); // Required impact angle - ctx->genSlider("衝突必要角度", &m.mCrashAngleThreshold, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("衝突必要角度", &m.mCrashAngleThreshold, 0, 0x7fff); // Impact allowed start F - ctx->genSlider("衝突許可開始F", &m.mCrashInitF, 0.0f, 29.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("衝突許可開始F", &m.mCrashInitF, 0.0f, 29.0f); // Impact allowed end F - ctx->genSlider("衝突許可終了F", &m.mCrashEndF, 0.0f, 29.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("衝突許可終了F", &m.mCrashEndF, 0.0f, 29.0f); // Impact daAlinkHIO_setAnmGenMessage(&m.mCrashAnm, ctx, "衝突", 29.0f, 1); // Impact horizontal speed - ctx->genSlider("衝突水平速度", &m.mCrashSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("衝突水平速度", &m.mCrashSpeedH, 0.0f, 50.0f); // Impact vertical speed - ctx->genSlider("衝突垂直速度", &m.mCrashSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("衝突垂直速度", &m.mCrashSpeedV, 0.0f, 50.0f); // Impact success daAlinkHIO_setAnmGenMessage(&m.mCrashHitAnm, ctx, "衝突成功", 33.0f, 1); } @@ -606,22 +545,19 @@ daAlinkHIO_frontRoll_c::daAlinkHIO_frontRoll_c() { void daAlinkHIO_backJump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Backflip daAlinkHIO_setAnmGenMessage(&m.mBackflipAnm, ctx, "バク転", 9.0f, 0); // Backflip horizontal speed - ctx->genSlider("バク転水平速度", &m.mBackflipSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("バク転水平速度", &m.mBackflipSpeedH, 0.0f, 50.0f); // Backflip vertical speed - ctx->genSlider("バク転垂直速度", &m.mBackflipSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("バク転垂直速度", &m.mBackflipSpeedV, 0.0f, 50.0f); // Landing daAlinkHIO_setAnmGenMessage(&m.mLandAnm, ctx, "着地", 17.0f, 1); // Fall height - ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f); // Fall interpolation - ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 30.0f); } daAlinkHIO_backJump_c::daAlinkHIO_backJump_c() { @@ -643,32 +579,27 @@ daAlinkHIO_backJump_c::daAlinkHIO_backJump_c() { void daAlinkHIO_sideStep_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Side step daAlinkHIO_setAnmGenMessage(&m.mSideJumpAnm, ctx, "横飛", 5.0f, 0); // Side step horizontal speed - ctx->genSlider("横飛水平速度", &m.mSideJumpSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("横飛水平速度", &m.mSideJumpSpeedH, 0.0f, 50.0f); // Side step vertical speed - ctx->genSlider("横飛垂直速度", &m.mSideJumpSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("横飛垂直速度", &m.mSideJumpSpeedV, 0.0f, 50.0f); // Side landing daAlinkHIO_setAnmGenMessage(&m.mSideLandAnm, ctx, "横着地", 9.0f, 1); // Back step daAlinkHIO_setAnmGenMessage(&m.mBackJumpAnm, ctx, "後飛", 6.0f, 0); // Back step horizontal speed - ctx->genSlider("後飛水平速度", &m.mBackJumpSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後飛水平速度", &m.mBackJumpSpeedH, 0.0f, 50.0f); // Back step vertical speed - ctx->genSlider("後飛垂直速度", &m.mBackJumpSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後飛垂直速度", &m.mBackJumpSpeedV, 0.0f, 50.0f); // Back landing daAlinkHIO_setAnmGenMessage(&m.mBackLandAnm, ctx, "後着地", 9.0f, 1); // Fall height - ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f); // Fall interpolation - ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 30.0f); } daAlinkHIO_sideStep_c::daAlinkHIO_sideStep_c() { @@ -690,41 +621,35 @@ daAlinkHIO_sideStep_c::daAlinkHIO_sideStep_c() { void daAlinkHIO_slide_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Slide angle - ctx->genSlider("滑り角度", &m.mSlideAngle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("滑り角度", &m.mSlideAngle, 0.0f, 90.0f); // Slope climb angle - ctx->genSlider("登坂角度", &m.mClimbAngle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("登坂角度", &m.mClimbAngle, 0.0f, 90.0f); // Slope climb A minimum speed - ctx->genSlider("登坂A速度最小", &m.mClimbAnmMinSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("登坂A速度最小", &m.mClimbAnmMinSpeed, 0.0f, 10.0f); // Slope climb A max speed - ctx->genSlider("登坂A速度最大", &m.mMaxClimbAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("登坂A速度最大", &m.mMaxClimbAnmSpeed, 0.0f, 10.0f); // Slope climb max speed - ctx->genSlider("登坂最高速度", &m.mMaxClimbSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("登坂最高速度", &m.mMaxClimbSpeed, 0.0f, 100.0f); // Forward slide daAlinkHIO_setAnmGenMessage(&m.mForwardSlideAnm, ctx, "前滑り", 14.0f, 0); // Back slide daAlinkHIO_setAnmGenMessage(&m.mBackwardSlideAnm, ctx, "後滑り", 6.0f, 0); // Max speed - ctx->genSlider("最大速度", &m.mMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大速度", &m.mMaxSpeed, 0.0f, 100.0f); // Acceleration - ctx->genSlider("加速度", &m.mAcceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速度", &m.mAcceleration, 0.0f, 10.0f); // Forward landing daAlinkHIO_setAnmGenMessage(&m.mForwardLandAnm, ctx, "前着地", 15.0f, 1); // Backward landing daAlinkHIO_setAnmGenMessage(&m.mBackwardLandAnm, ctx, "後着地", 20.0f, 1); // Lava floor slide angle - ctx->genSlider("溶岩床滑り角度", &m.mLV2MinibossFloorSlideAngle, 0.0f, 90.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("溶岩床滑り角度", &m.mLV2MinibossFloorSlideAngle, 0.0f, 90.0f); // Lava floor weak slide angle - ctx->genSlider("溶岩床弱滑り角度", &m.mLV2MinibossFloorWeakSlideAngle, 0.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("溶岩床弱滑り角度", &m.mLV2MinibossFloorWeakSlideAngle, 0.0f, 90.0f); // Lava floor weak slide speed - ctx->genSlider("溶岩床弱滑り速度", &m.mLV2MinibossFloorWeakSlideSpeed, 0.0f, 100.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("溶岩床弱滑り速度", &m.mLV2MinibossFloorWeakSlideSpeed, 0.0f, 100.0f); } daAlinkHIO_slide_c::daAlinkHIO_slide_c() { @@ -746,17 +671,15 @@ daAlinkHIO_slide_c::daAlinkHIO_slide_c() { void daAlinkHIO_cutNormal_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", field_0x34, 1); // Speed - ctx->genSlider("速度", &m.mSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("速度", &m.mSpeed, 0.0f, 50.0f); // Attack start F - ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34); // Attack end F - ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34); } daAlinkHIO_cutNormal_c::daAlinkHIO_cutNormal_c(int param_0, float param_1) { @@ -789,28 +712,23 @@ daAlinkHIO_cutNormal_c::daAlinkHIO_cutNormal_c(int param_0, float param_1) { void daAlinkHIO_cutFinish_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", field_0x34, 1); // Speed - ctx->genSlider("速度", &m.mSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("速度", &m.mSpeed, 0.0f, 50.0f); // Attack start F - ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34); // Attack end F - ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34); // Stop time - ctx->genSlider("停止時間", &m.mStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("停止時間", &m.mStopTime, 0, 300); // Mid-combo start F - ctx->genSlider("コンボ中開始F", &m.mComboStartFrame, 0.0f, field_0x34 + 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("コンボ中開始F", &m.mComboStartFrame, 0.0f, field_0x34 + 1.0f); // Mid-combo CF - ctx->genSlider("コンボ中CF", &m.mComboCheckFrame, 0.0f, field_0x34 + 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("コンボ中CF", &m.mComboCheckFrame, 0.0f, field_0x34 + 1.0f); // Mid-combo stop time - ctx->genSlider("コンボ中停止時間", &m.mComboStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("コンボ中停止時間", &m.mComboStopTime, 0, 300); } daAlinkHIO_cutFinish_c::daAlinkHIO_cutFinish_c(int param_0, float param_1) { @@ -846,43 +764,35 @@ daAlinkHIO_cutFinish_c::daAlinkHIO_cutFinish_c(int param_0, float param_1) { void daAlinkHIO_cutFnJU_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", 19.0f, 0); // Horizontal speed - ctx->genSlider("水平速度", &m.mSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("水平速度", &m.mSpeedH, 0.0f, 50.0f); // Vertical speed - ctx->genSlider("垂直速度", &m.mSpeedV, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("垂直速度", &m.mSpeedV, 0.0f, 100.0f); // Attack start F - ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, 19.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, 19.0f); // Attack end F - ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, 19.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, 19.0f); // Stop time - ctx->genSlider("停止時間", &m.mStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("停止時間", &m.mStopTime, 0, 300); // Mid-combo start F - ctx->genSlider("コンボ中開始F", &m.mComboStartFrame, 0.0f, 19.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("コンボ中開始F", &m.mComboStartFrame, 0.0f, 19.0f); // Landing daAlinkHIO_setAnmGenMessage(&m.mLandAnm, ctx, "着地", 17.0f, 1); // Mid-combo CF - ctx->genSlider("コンボ中CF", &m.mComboCheckFrame, 0.0f, 18.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("コンボ中CF", &m.mComboCheckFrame, 0.0f, 18.0f); // Mid-combo stop time - ctx->genSlider("コンボ中停止時間", &m.mComboStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("コンボ中停止時間", &m.mComboStopTime, 0, 300); // Fall height - ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 1000.0f); // Fall interpolation - ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 50.0f); // Attack radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 200.0f); // Attack offset - ctx->genSlider("攻撃オフセット", &m.mAttackOffset, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃オフセット", &m.mAttackOffset, 0.0f, 1000.0f); } daAlinkHIO_cutFnJU_c::daAlinkHIO_cutFnJU_c() { @@ -904,15 +814,13 @@ daAlinkHIO_cutFnJU_c::daAlinkHIO_cutFnJU_c() { void daAlinkHIO_cutDash_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", field_0x34, 1); // Attack start F - ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34); // Attack end F - ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34); } daAlinkHIO_cutDash_c::daAlinkHIO_cutDash_c(int param_0, float param_1) { @@ -947,32 +855,25 @@ daAlinkHIO_cutDash_c::daAlinkHIO_cutDash_c(int param_0, float param_1) { void daAlinkHIO_cutJump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", 17.0f, 0); // Attack start F - ctx->genSlider("攻撃開始F", &m.mStartAttackFrame, 0.0f, 17.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃開始F", &m.mStartAttackFrame, 0.0f, 17.0f); // Attack end F - ctx->genSlider("攻撃終了F", &m.mEndAttackFrame, 0.0f, 14.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃終了F", &m.mEndAttackFrame, 0.0f, 14.0f); // Horizontal cut speed - ctx->genSlider("斬り水平速度", &m.mBaseJumpSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("斬り水平速度", &m.mBaseJumpSpeedH, 0.0f, 50.0f); // Vertical cut speed - ctx->genSlider("斬り垂直速度", &m.mBaseJumpSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("斬り垂直速度", &m.mBaseJumpSpeedV, 0.0f, 50.0f); // Cut short horizontal speed - ctx->genSlider("斬り短い水平速度", &m.mAirJumpSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("斬り短い水平速度", &m.mAirJumpSpeedH, 0.0f, 50.0f); // Cut short vertical speed - ctx->genSlider("斬り短い垂直速度", &m.mAirJumpSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("斬り短い垂直速度", &m.mAirJumpSpeedV, 0.0f, 50.0f); // Landing daAlinkHIO_setAnmGenMessage(&m.mLandAnm, ctx, "着地", 29.0f, 1); // Spin attack CF - ctx->genSlider("回転斬りCF", &m.mJumpSpinDelay, 0.0f, 29.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("回転斬りCF", &m.mJumpSpinDelay, 0.0f, 29.0f); } daAlinkHIO_cutJump_c::daAlinkHIO_cutJump_c() { @@ -994,79 +895,59 @@ daAlinkHIO_cutJump_c::daAlinkHIO_cutJump_c() { void daAlinkHIO_cutTurn_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Right spin daAlinkHIO_setAnmGenMessage(&m.mRightTurnAnm, ctx, "右回り", 47.0f, 1); // Right mid-combo start F - ctx->genSlider("右コンボ中開始F", &m.mRightComboStartFrame, 0.0f, 47.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("右コンボ中開始F", &m.mRightComboStartFrame, 0.0f, 47.0f); // Right spin input time start F - ctx->genSlider("右回転入力時開始F", &m.mRightTurnInputStartFrame, 0.0f, 47.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("右回転入力時開始F", &m.mRightTurnInputStartFrame, 0.0f, 47.0f); // Right attack start F - ctx->genSlider("右攻撃開始F", &m.mRightAttackStartFrame, 0.0f, 47.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("右攻撃開始F", &m.mRightAttackStartFrame, 0.0f, 47.0f); // Right attack end F - ctx->genSlider("右攻撃終了F", &m.mRightAttackEndFrame, 0.0f, 47.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("右攻撃終了F", &m.mRightAttackEndFrame, 0.0f, 47.0f); // Left spin daAlinkHIO_setAnmGenMessage(&m.mLeftTurnAnm, ctx, "左回り", 42.0f, 1); // Left mid-combo start F - ctx->genSlider("左コンボ中開始F", &m.mLeftComboStartFrame, 0.0f, 42.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("左コンボ中開始F", &m.mLeftComboStartFrame, 0.0f, 42.0f); // Left spin input time start F - ctx->genSlider("左回転入力時開始F", &m.mLeftTurnInputStartFrame, 0.0f, 42.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("左回転入力時開始F", &m.mLeftTurnInputStartFrame, 0.0f, 42.0f); // Left attack start F - ctx->genSlider("左攻撃開始F", &m.mLeftAttackStartFrame, 0.0f, 42.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("左攻撃開始F", &m.mLeftAttackStartFrame, 0.0f, 42.0f); // Left attack end F - ctx->genSlider("左攻撃終了F", &m.mLeftAttackEndFrame, 0.0f, 42.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("左攻撃終了F", &m.mLeftAttackEndFrame, 0.0f, 42.0f); // Stop time - ctx->genSlider("停止時間", &m.mStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("停止時間", &m.mStopTime, 0, 300); // Charge movement daAlinkHIO_setAnmGenMessage(&m.mChargeAnm, ctx, "ため移行", 9.0f, 0); // Forward/back movement A speed - ctx->genSlider("前後移動A速度", &m.mMoveFBAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前後移動A速度", &m.mMoveFBAnmSpeed, 0.0f, 10.0f); // Forward/back movement interpolation - ctx->genSlider("前後移動補間", &m.mMoveFBInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前後移動補間", &m.mMoveFBInterpolation, 0.0f, 10.0f); // Left/right movement A speed - ctx->genSlider("左右移動A速度", &m.mMoveLRAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("左右移動A速度", &m.mMoveLRAnmSpeed, 0.0f, 10.0f); // Left/right movement interpolation - ctx->genSlider("左右移動補間", &m.mMoveLRInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("左右移動補間", &m.mMoveLRInterpolation, 0.0f, 10.0f); // Max speed - ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 30.0f); // Charge movement acceleration - ctx->genSlider("ため移動加速", &m.mChargeMoveAccel, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ため移動加速", &m.mChargeMoveAccel, 0.0f, 5.0f); // Charge movement deceleration - ctx->genSlider("ため移動減速", &m.mChargeMoveDecel, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ため移動減速", &m.mChargeMoveDecel, 0.0f, 5.0f); // Speed - ctx->genSlider("速度", &m.mSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("速度", &m.mSpeed, 0.0f, 50.0f); // Attack radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 500.0f); // Attack radius speed increase - ctx->genSlider("攻撃半径増加速度", &m.mAttackRadiusAccel, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃半径増加速度", &m.mAttackRadiusAccel, 0.0f, 100.0f); // Light sword attack radius - ctx->genSlider("光攻撃半径", &m.mLightAttackRadius, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("光攻撃半径", &m.mLightAttackRadius, 0.0f, 1000.0f); // Light sword attack radius speed increase - ctx->genSlider("光攻撃半径増加速度", &m.mLightAttackRadiusAccel, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("光攻撃半径増加速度", &m.mLightAttackRadiusAccel, 0.0f, 100.0f); // Big attack radius - ctx->genSlider("大攻撃半径", &m.mLargeAttackRadius, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("大攻撃半径", &m.mLargeAttackRadius, 0.0f, 1000.0f); // Big attack radius speed increase - ctx->genSlider("大攻撃半径増加速度", &m.mLargeAttackAccel, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("大攻撃半径増加速度", &m.mLargeAttackAccel, 0.0f, 100.0f); } daAlinkHIO_cutTurn_c::daAlinkHIO_cutTurn_c() { @@ -1088,18 +969,15 @@ daAlinkHIO_cutTurn_c::daAlinkHIO_cutTurn_c() { void daAlinkHIO_hoCut_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", field_0x34, 1); // Post-cut interpolation - ctx->genSlider("斬り後補間", &m.mAfterCutMorf, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("斬り後補間", &m.mAfterCutMorf, 0.0f, 10.0f); // Attack start F - ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34); // Attack end F - ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34); } daAlinkHIO_hoCut_c::daAlinkHIO_hoCut_c(int param_0, float param_1) { @@ -1136,32 +1014,27 @@ daAlinkHIO_hoCut_c::daAlinkHIO_hoCut_c(int param_0, float param_1) { void daAlinkHIO_hoCutCharge_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Charge daAlinkHIO_setAnmGenMessage(&m.mChargeAnm, ctx, "ため", 6.0f, 0); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", 21.0f, 0); // Cut attack start F - ctx->genSlider("斬り攻撃開始F", &m.mCutAttackStartFrame, 0.0f, 21.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("斬り攻撃開始F", &m.mCutAttackStartFrame, 0.0f, 21.0f); // Cut attack end F - ctx->genSlider("斬り攻撃終了F", &m.mCutAttackEndFrame, 0.0f, 21.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("斬り攻撃終了F", &m.mCutAttackEndFrame, 0.0f, 21.0f); // Cut stop time - ctx->genSlider("斬り停止時間", &m.mCutStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("斬り停止時間", &m.mCutStopTime, 0, 300); // Spin daAlinkHIO_setAnmGenMessage(&m.mSpinAnm, ctx, "回転", 49.0f, 1); // Spin attack start F - ctx->genSlider("回転攻撃開始F", &m.mSpinAttackStartFrame, 0.0f, 49.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("回転攻撃開始F", &m.mSpinAttackStartFrame, 0.0f, 49.0f); // Spin attack end F - ctx->genSlider("回転攻撃終了F", &m.mSpinAttackEndFrame, 0.0f, 49.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("回転攻撃終了F", &m.mSpinAttackEndFrame, 0.0f, 49.0f); // Spin attack radius - ctx->genSlider("回転攻撃半径", &m.mSpinAttackRadius, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("回転攻撃半径", &m.mSpinAttackRadius, 0.0f, 500.0f); // Spin stop time - ctx->genSlider("回転停止時間", &m.mSpinStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("回転停止時間", &m.mSpinStopTime, 0, 300); } daAlinkHIO_hoCutCharge_c::daAlinkHIO_hoCutCharge_c() { @@ -1184,10 +1057,9 @@ daAlinkHIO_hoCutCharge_c::daAlinkHIO_hoCutCharge_c() { void daAlinkHIO_cutDown_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Vertical speed - ctx->genSlider("垂直速度", &m.mRecoverSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("垂直速度", &m.mRecoverSpeedH, 0.0f, 50.0f); // Jump daAlinkHIO_setAnmGenMessage(&m.mJumpAnm, ctx, "飛出", 8.0f, 0); // Brace @@ -1195,15 +1067,13 @@ void daAlinkHIO_cutDown_c::genMessage(JORMContext* ctx) { // Landing daAlinkHIO_setAnmGenMessage(&m.mLandAnm, ctx, "着地", 16.0f, 0); // Success stop time - ctx->genSlider("成功停止時間", &m.mSuccessStopTime, 0, 0x96, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("成功停止時間", &m.mSuccessStopTime, 0, 0x96); // Failure stop time - ctx->genSlider("失敗停止時間", &m.mFailStopTime, 0, 0x96, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("失敗停止時間", &m.mFailStopTime, 0, 0x96); // Return horizontal speed - ctx->genSlider("戻り水平速度", &m.mRecoverSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("戻り水平速度", &m.mRecoverSpeedV, 0.0f, 50.0f); // Return vertical speed - ctx->genSlider("戻り垂直速度", &m.mSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("戻り垂直速度", &m.mSpeedV, 0.0f, 50.0f); // Return daAlinkHIO_setAnmGenMessage(&m.mRecoverAnm, ctx, "戻り", 9.0f, 0); // Failure @@ -1229,34 +1099,29 @@ daAlinkHIO_cutDown_c::daAlinkHIO_cutDown_c() { void daAlinkHIO_cutHead_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Jump daAlinkHIO_setAnmGenMessage(&m.mJumpAnm, ctx, "飛出", 8.0f, 0); // Gravity - ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f); // Max height - ctx->genSlider("最大高さ", &m.mMaxHeight, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大高さ", &m.mMaxHeight, 0.0f, 1000.0f); // Max distance - ctx->genSlider("最大距離", &m.mMaxDistance, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大距離", &m.mMaxDistance, 0.0f, 1000.0f); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", 21.0f, 0); // Attack start F - ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, 21.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, 21.0f); // Attack end F - ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, 21.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, 21.0f); // Sword length ratio - ctx->genSlider("剣長さ比率", &m.mSwordLength, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("剣長さ比率", &m.mSwordLength, 0.0f, 5.0f); // Sword radius - ctx->genSlider("剣半径", &m.mSwordRadius, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("剣半径", &m.mSwordRadius, 0.0f, 100.0f); // Additional vertical speed - ctx->genSlider("追加垂直速度", &m.mAddSpeedV, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("追加垂直速度", &m.mAddSpeedV, 0.0f, 100.0f); // Additional horizontal speed - ctx->genSlider("追加水平速度", &m.mAddSpeedH, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("追加水平速度", &m.mAddSpeedH, 0.0f, 100.0f); // Landing daAlinkHIO_setAnmGenMessage(&m.mLandAnm, ctx, "着地", 21.0f, 1); } @@ -1280,42 +1145,33 @@ daAlinkHIO_cutHead_c::daAlinkHIO_cutHead_c() { void daAlinkHIO_cutLargeJump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Charge daAlinkHIO_setAnmGenMessage(&m.mChargeAnm, ctx, "ため", 29.0f, 0); // Jump forward daAlinkHIO_setAnmGenMessage(&m.mChargeMoveAnm, ctx, "飛前", 6.0f, 0); // Jump forward attack start F - ctx->genSlider("飛前攻撃開始F", &m.mJumpAttackStartFrame, 0.0f, 6.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("飛前攻撃開始F", &m.mJumpAttackStartFrame, 0.0f, 6.0f); // Jump forward attack end F - ctx->genSlider("飛前攻撃終了F", &m.mJumpAttackEndFrame, 0.0f, 6.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("飛前攻撃終了F", &m.mJumpAttackEndFrame, 0.0f, 6.0f); // Cut daAlinkHIO_setAnmGenMessage(&m.mCutAnm, ctx, "斬り", 16.0f, 0); // Cut attack start F - ctx->genSlider("斬り攻撃開始F", &m.mCutInitFrame, 0.0f, 16.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("斬り攻撃開始F", &m.mCutInitFrame, 0.0f, 16.0f); // Cut horizontal speed - ctx->genSlider("斬り水平速度", &m.mCutSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("斬り水平速度", &m.mCutSpeedH, 0.0f, 50.0f); // Cut vertical speed - ctx->genSlider("斬り垂直速度", &m.mCutSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("斬り垂直速度", &m.mCutSpeedV, 0.0f, 50.0f); // Landing daAlinkHIO_setAnmGenMessage(&m.mLandAnm, ctx, "着地", 35.0f, 1); // Spin attack CF - ctx->genSlider("回転斬りCF", &m.mSpinSlashCheckFrame, 0.0f, 35.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("回転斬りCF", &m.mSpinSlashCheckFrame, 0.0f, 35.0f); // Landing attack start F - ctx->genSlider("着地攻撃開始F", &m.mLandAttackInitFrame, 0.0f, 35.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("着地攻撃開始F", &m.mLandAttackInitFrame, 0.0f, 35.0f); // Landing attack end F - ctx->genSlider("着地攻撃終了F", &m.mLandAttackEndFrame, 0.0f, 35.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("着地攻撃終了F", &m.mLandAttackEndFrame, 0.0f, 35.0f); // Landing attack radius - ctx->genSlider("着地攻撃半径", &m.mLandAttackRadius, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("着地攻撃半径", &m.mLandAttackRadius, 0.0f, 500.0f); } daAlinkHIO_cutLargeJump_c::daAlinkHIO_cutLargeJump_c() { @@ -1338,7 +1194,7 @@ daAlinkHIO_cutLargeJump_c::daAlinkHIO_cutLargeJump_c() { void daAlinkHIO_cut_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Vertical ctx->genNode("縦", &mCutVertical, 0, 0); // Left @@ -1394,77 +1250,57 @@ void daAlinkHIO_cut_c::genMessage(JORMContext* ctx) { // Cancel daAlinkHIO_setAnmGenMessage(&m.mUnequipAnm, ctx, "解除", 22.0f, 0); // Early cancel A speed - ctx->genSlider("早解除A速度", &m.mFastUnequipAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("早解除A速度", &m.mFastUnequipAnmSpeed, 0.0f, 10.0f); // Combo continue time - ctx->genSlider("コンボ持続時間", &m.mComboDuration, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("コンボ持続時間", &m.mComboDuration, 0, 300); // Jump back daAlinkHIO_setAnmGenMessage(&m.mRecoilAnm, ctx, "跳返", 45.0f, 1); // Jump back speed - ctx->genSlider("跳返速度", &m.mRecoilSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("跳返速度", &m.mRecoilSpeed, 0.0f, 100.0f); // Jump back deceleration - ctx->genSlider("跳返減速", &m.mRecoilDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("跳返減速", &m.mRecoilDeceleration, 0.0f, 10.0f); // Blur alpha - ctx->genSlider("ブラーアルファ", &m.mBlurAlpha, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ブラーアルファ", &m.mBlurAlpha, 0, 0xff); // Dash blur alpha - ctx->genSlider("ダッシュブラーアルファ", &m.mDashBlurAlpha, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ダッシュブラーアルファ", &m.mDashBlurAlpha, 0, 0xff); // Special sword cancel A speed - ctx->genSlider("特殊剣解除A速度", &m.mFlourishAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("特殊剣解除A速度", &m.mFlourishAnmSpeed, 0.0f, 10.0f); // Special sword cancel finish A speed - ctx->genSlider("特殊剣解除終了A速度", &m.mFlourishEndAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("特殊剣解除終了A速度", &m.mFlourishEndAnmSpeed, 0.0f, 10.0f); // Special sword cancel CF - ctx->genSlider("特殊剣解除CF", &m.mFlourishControlStartFrame, 0.0f, 59.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("特殊剣解除CF", &m.mFlourishControlStartFrame, 0.0f, 59.0f); // Special sword cancel accept time - ctx->genSlider("特殊剣解除受付時間", &m.mFlourishTime, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("特殊剣解除受付時間", &m.mFlourishTime, 0, 1000); // Sword length ratio - ctx->genSlider("剣長さ比率", &m.mSwordLength, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("剣長さ比率", &m.mSwordLength, 0.0f, 10.0f); // Sword radius - ctx->genSlider("剣半径", &m.mSwordRadius, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("剣半径", &m.mSwordRadius, 0.0f, 100.0f); // Mounted sword length ratio - ctx->genSlider("馬上剣長さ比率", &m.mSwordLengthHorseback, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("馬上剣長さ比率", &m.mSwordLengthHorseback, 0.0f, 10.0f); // Mounted sword radius - ctx->genSlider("馬上剣半径", &m.mSwordRadiusHorseback, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("馬上剣半径", &m.mSwordRadiusHorseback, 0.0f, 100.0f); // Running sword length ratio - ctx->genSlider("走り剣長さ比率", &m.mRunCutLength, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("走り剣長さ比率", &m.mRunCutLength, 0.0f, 10.0f); // Running sword radius - ctx->genSlider("走り剣半径", &m.mRunCutRadius, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("走り剣半径", &m.mRunCutRadius, 0.0f, 100.0f); // Normal sword swing decision time - ctx->genSlider("通常剣振り判定時間", &m.mNormalSwingDuration, 0, 0x1e, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("通常剣振り判定時間", &m.mNormalSwingDuration, 0, 0x1e); // Force hit combo - ctx->genCheckBox("強制ヒットコンボ", (u8*)&m.mForceHitCombo, 1, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genCheckBox("強制ヒットコンボ", (u8*)&m.mForceHitCombo, 0x1); // Mounted duel sword length ratio - ctx->genSlider("一騎打ち馬上剣長さ比率", &m.mSwordLengthHorsebackFight, 0.0f, 10.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("一騎打ち馬上剣長さ比率", &m.mSwordLengthHorsebackFight, 0.0f, 10.0f); // Mounted duel sword radius - ctx->genSlider("一騎打ち馬上剣半径", &m.mSwordRadiusHorsebackFight, 0.0f, 100.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("一騎打ち馬上剣半径", &m.mSwordRadiusHorsebackFight, 0.0f, 100.0f); // Mortal draw time - ctx->genSlider("居合時間", &m.mUnkTime, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("居合時間", &m.mUnkTime, 0, 1000); // Max body face up - ctx->genSlider("体上向き最大", &m.mUnkBodyUpwards, -0x7fff, 0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("体上向き最大", &m.mUnkBodyUpwards, -0x7fff, 0); // Max body face down - ctx->genSlider("体下向き最大", &m.mUnkBodyDownwards, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("体下向き最大", &m.mUnkBodyDownwards, 0, 0x7fff); // OI stab daAlinkHIO_setAnmGenMessage(&m.mStabAnm, ctx, "OI刺し", 47.0f, 1); // Spin attack wait - ctx->genSlider("回転斬り待ち", &m.mSpinSlashWait, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("回転斬り待ち", &m.mSpinSlashWait, 0, 1000); } daAlinkHIO_cut_c::daAlinkHIO_cut_c() @@ -1505,20 +1341,17 @@ daAlinkHIO_cutNormal_c::~daAlinkHIO_cutNormal_c() {} void daAlinkHIO_guardAttack_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Attack daAlinkHIO_setAnmGenMessage(&m.mAttackAnm, ctx, "攻撃", field_0x34, 1); // Slash check frame - ctx->genSlider("剣振りCF", &m.mSlashCheckFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("剣振りCF", &m.mSlashCheckFrame, 0.0f, field_0x34); // Speed - ctx->genSlider("速度", &m.mSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("速度", &m.mSpeed, 0.0f, 50.0f); // Attack start F - ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃開始F", &m.mAttackStartFrame, 0.0f, field_0x34); // Attack end F - ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃終了F", &m.mAttackEndFrame, 0.0f, field_0x34); } daAlinkHIO_guardAttack_c::daAlinkHIO_guardAttack_c(int param_0, float param_1) { @@ -1551,33 +1384,25 @@ daAlinkHIO_guardAttack_c::daAlinkHIO_guardAttack_c(int param_0, float param_1) { void daAlinkHIO_turnMove_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // daAlinkHIO_setAnmGenMessage((daAlinkHIO_anm_c*)(this + 0x34), ctx, "回込", 27.0, 1); // - ctx->genSlider("半回転回込A速度", (float*)(this + 0x50), 0.0, 10.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("半回転回込A速度", (float*)(this + 0x50), 0.0, 10.0); // - ctx->genSlider("斬上げCF", (float*)(this + 0x54), 0.0, 28.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("斬上げCF", (float*)(this + 0x54), 0.0, 28.0); // - ctx->genSlider("回転速度率", (short*)(this + 0x48), 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("回転速度率", (short*)(this + 0x48), 0, 100); // - ctx->genSlider("回転速度最大", (short*)(this + 0x4a), 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("回転速度最大", (short*)(this + 0x4a), 0, 0x7fff); // - ctx->genSlider("回転速度最小", (short*)(this + 0x4c), 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("回転速度最小", (short*)(this + 0x4c), 0, 0x7fff); // - ctx->genSlider("半回転速度最大", (short*)(this + 0x4e), 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("半回転速度最大", (short*)(this + 0x4e), 0, 0x7fff); // - ctx->genSlider("通常側転A速度", (float*)(this + 0x58), 0.0, 10.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("通常側転A速度", (float*)(this + 0x58), 0.0, 10.0); // - ctx->genSlider("通常側転速度", (float*)(this + 0x5c), 0.0, 100.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("通常側転速度", (float*)(this + 0x5c), 0.0, 100.0); } daAlinkHIO_turnMove_c::daAlinkHIO_turnMove_c() { @@ -1599,57 +1424,43 @@ daAlinkHIO_turnMove_c::daAlinkHIO_turnMove_c() { void daAlinkHIO_guard_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Shield ctx->genNode("盾", &mAtPush, 0, 0); // Sidestep ctx->genNode("回り込み", &mTurnMove, 0, 0); // Crouch guard anm speed - ctx->genSlider("しゃがみ防御A速度", &m.mCrouchGuardAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("しゃがみ防御A速度", &m.mCrouchGuardAnmSpeed, 0.0f, 10.0f); // Crouch guard interpolation - ctx->genSlider("しゃがみ防御補間", &m.mCrouchGuardInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("しゃがみ防御補間", &m.mCrouchGuardInterpolation, 0.0f, 10.0f); // Guard hit daAlinkHIO_setAnmGenMessage(&m.mGuardHitAnm, ctx, "防御ヒット", 11.0f, 0); // Crouch guard hit daAlinkHIO_setAnmGenMessage(&m.mCrouchGuardHitAnm, ctx, "しゃがみ防御ヒット", 11.0f, 0); // Guard speed normal - ctx->genSlider("防御通常速度", &m.mGuardSpeedNormal, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("防御通常速度", &m.mGuardSpeedNormal, 0.0f, 100.0f); // Guard speed large - ctx->genSlider("防御大速度", &m.mGuardSpeedLarge, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("防御大速度", &m.mGuardSpeedLarge, 0.0f, 100.0f); // Guard speed huge - ctx->genSlider("防御強大速度", &m.mGuardSpeedHuge, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("防御強大速度", &m.mGuardSpeedHuge, 0.0f, 100.0f); // Magne guard speed - ctx->genSlider("大マグネ速度", &m.mMagneGuardSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("大マグネ速度", &m.mMagneGuardSpeed, 0.0f, 100.0f); // Magne heavy guard speed - ctx->genSlider("大マグネ重い速度", &m.mMagneHvyGuardSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("大マグネ重い速度", &m.mMagneHvyGuardSpeed, 0.0f, 100.0f); // Guard front-back body angle max - ctx->genSlider("防御前後体角度最大", &m.mGuardFBAngleMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("防御前後体角度最大", &m.mGuardFBAngleMax, 0, 0x7fff); // Guard left-right body angle max - ctx->genSlider("防御左右体角度最大", &m.mGuardLRAngleMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("防御左右体角度最大", &m.mGuardLRAngleMax, 0, 0x7fff); // Guard body interpolation - ctx->genSlider("防御体角度補間", &m.mGuardBodyInterpolation, 0, 0x1e, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("防御体角度補間", &m.mGuardBodyInterpolation, 0, 0x1e); // Attack position offset - ctx->genSlider("攻撃位置オフセット", &m.mAttackPosOffset, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃位置オフセット", &m.mAttackPosOffset, 0.0f, 500.0f); // Attack radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 300.0f); // Small guard front-back body angle max - ctx->genSlider("小防御前後体角度最大", &m.mSmallGuardFBAngleMax, 0, 0x7fff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("小防御前後体角度最大", &m.mSmallGuardFBAngleMax, 0, 0x7fff); // Small guard left-right body angle max - ctx->genSlider("小防御左右体角度最大", &m.mSmallGuardLRAngleMax, 0, 0x7fff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("小防御左右体角度最大", &m.mSmallGuardLRAngleMax, 0, 0x7fff); // Recoil daAlinkHIO_setAnmGenMessage(&m.mRecoilAnm, ctx, "跳返", 19.0f, 1); // Guard break @@ -1679,38 +1490,29 @@ daAlinkHIO_guardAttack_c::~daAlinkHIO_guardAttack_c() {} void daAlinkHIO_crouch_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Crouch animation speed - ctx->genSlider("しゃがみA速度", &m.mCrouchAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("しゃがみA速度", &m.mCrouchAnmSpeed, 0.0f, 10.0f); // Crouch interpolation - ctx->genSlider("しゃがみ補間", &m.mCrouchInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("しゃがみ補間", &m.mCrouchInterpolation, 0.0f, 10.0f); // Stand interpolation - ctx->genSlider("立ち上がり補間", &m.mStandInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("立ち上がり補間", &m.mStandInterpolation, 0.0f, 10.0f); // Crawl start daAlinkHIO_setAnmGenMessage(&m.mCrawlStartAnm, ctx, "ほふく開始", 9.0f, 1); // Crawl minimum animation speed - ctx->genSlider("ほふく最小A速度", &m.mCrawlAnmSpeedMin, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ほふく最小A速度", &m.mCrawlAnmSpeedMin, 0.0f, 10.0f); // Crawl maximum animation speed - ctx->genSlider("ほふく最大A速度", &m.mCrawlAnmSpeedMax, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ほふく最大A速度", &m.mCrawlAnmSpeedMax, 0.0f, 10.0f); // Crawl movement interpolation - ctx->genSlider("ほふく移動補間", &m.mCrawlInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ほふく移動補間", &m.mCrawlInterpolation, 0.0f, 10.0f); // Crawl movement rate - ctx->genSlider("ほふく移動率", &m.mCrawlMoveRate, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ほふく移動率", &m.mCrawlMoveRate, 0.0f, 30.0f); // Crawl turn rate - ctx->genSlider("ほふく旋回率", &m.mCrawlTurnRate, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ほふく旋回率", &m.mCrawlTurnRate, 0, 100); // Crawl turn maximum - ctx->genSlider("ほふく旋回最大", &m.mCrawlTurnMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ほふく旋回最大", &m.mCrawlTurnMax, 0, 0x7fff); // Crawl turn minimum - ctx->genSlider("ほふく旋回最小", &m.mCrawlTurnMin, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ほふく旋回最小", &m.mCrawlTurnMin, 0, 0x7fff); // Crawl end daAlinkHIO_setReverseAnmGenMessage(&m.mCrawlEndAnm, ctx, "ほふく終了", 9.0f, 1); } @@ -1734,93 +1536,69 @@ daAlinkHIO_crouch_c::daAlinkHIO_crouch_c() { void daAlinkHIO_autoJump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Gravity - ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f); // Max fall speed - ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -300.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -300.0f, 0.0f); // Jump daAlinkHIO_setAnmGenMessage(&m.mJumpAnm, ctx, "ジャンプ", 6.0f, 0); // Jump speed limit - ctx->genSlider("ジャンプ限度速度", &m.mJumpSpeedLimit, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ限度速度", &m.mJumpSpeedLimit, 0.0f, 50.0f); // Min jump speed - ctx->genSlider("ジャンプ最低速度", &m.mMinJumpSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ最低速度", &m.mMinJumpSpeed, 0.0f, 50.0f); // Max jump speed - ctx->genSlider("ジャンプ最高速度", &m.mMaxJumpSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ最高速度", &m.mMaxJumpSpeed, 0.0f, 50.0f); // Jump speed rate - ctx->genSlider("ジャンプ速度率", &m.mJumpSpeedRate, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ジャンプ速度率", &m.mJumpSpeedRate, 0.0f, 5.0f); // Jump angle - ctx->genSlider("ジャンプ角度", &m.mJumpAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ角度", &m.mJumpAngle, 0, 0x4000); // Airborne interpolation - ctx->genSlider("滞空補間", &m.mAirborneInterpolation, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("滞空補間", &m.mAirborneInterpolation, 0.0f, 50.0f); // Jump fall interpolation - ctx->genSlider("ジャンプ落下補間", &m.mJumpFallInterpolation, 0.0f, 50.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ落下補間", &m.mJumpFallInterpolation, 0.0f, 50.0f); // Always max speed jump - ctx->genCheckBox("必ず最高速度ジャンプ", (u8*)&m.mAlwaysMaxSpeedJump, 1, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox("必ず最高速度ジャンプ", (u8*)&m.mAlwaysMaxSpeedJump, 0x1); // Land daAlinkHIO_setAnmGenMessage(&m.mLandAnm, ctx, "着地", 7.0f, 1); // Fall interpolation - ctx->genSlider("通常落下補間", &m.mFallInterpolation, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("通常落下補間", &m.mFallInterpolation, 0.0f, 50.0f); // Spin jump interpolation - ctx->genSlider("回転ジャンプ補間", &m.mSpinJumpInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("回転ジャンプ補間", &m.mSpinJumpInterpolation, 0.0f, 10.0f); // Spin jump rotate speed - ctx->genSlider("回転ジャンプ回転速度", &m.mSpinJumpRotateSpeed, 0, 0x7fff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("回転ジャンプ回転速度", &m.mSpinJumpRotateSpeed, 0, 0x7fff); // Spin jump fall interpolation - ctx->genSlider("回転ジャンプ落下補間", &m.mSpinJumpFallInterpolation, 0.0f, 20.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("回転ジャンプ落下補間", &m.mSpinJumpFallInterpolation, 0.0f, 20.0f); // Spin jump land stop time - ctx->genSlider("回転ジャンプ着地停止時間", &m.mSpinJumpLandStopTime, 0, 100, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("回転ジャンプ着地停止時間", &m.mSpinJumpLandStopTime, 0, 100); // Spin jump add speed - ctx->genSlider("回転ジャンプ追加速度", &m.mSpinJumpAddSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("回転ジャンプ追加速度", &m.mSpinJumpAddSpeed, 0.0f, 100.0f); // Spin jump accel - ctx->genSlider("回転ジャンプ加速度", &m.mSpinJumpAccel, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("回転ジャンプ加速度", &m.mSpinJumpAccel, 0.0f, 10.0f); // Hang height limit - ctx->genSlider("ぶら下がり限界高さ", &m.mHangHeightLimit, 0.0f, 1000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり限界高さ", &m.mHangHeightLimit, 0.0f, 1000.0f); // Grab height limit - ctx->genSlider("掴まり限界高さ", &m.mGrabHeightLimit, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("掴まり限界高さ", &m.mGrabHeightLimit, 0.0f, 1000.0f); // Ooccoo jump max speed - ctx->genSlider("天空人滑空ジャンプ最高速度", &m.mOoccooJumpMaxSpeed, 0.0f, 50.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("天空人滑空ジャンプ最高速度", &m.mOoccooJumpMaxSpeed, 0.0f, 50.0f); // Dive daAlinkHIO_setAnmGenMessage(&m.mDiveAnm, ctx, "飛込", 4.0f, 0); // Dive connect daAlinkHIO_setAnmGenMessage(&m.mDiveConnectAnm, ctx, "飛込繋", 10.0f, 0); // Dive horizontal speed - ctx->genSlider("飛込水平速度", &m.mDiveSpeedH, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("飛込水平速度", &m.mDiveSpeedH, 0.0f, 100.0f); // Dive vertical speed - ctx->genSlider("飛込垂直速度", &m.mDiveSpeedV, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("飛込垂直速度", &m.mDiveSpeedV, 0.0f, 100.0f); // Dive gravity - ctx->genSlider("飛込重力", &m.mDiveGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("飛込重力", &m.mDiveGravity, -10.0f, 0.0f); // Cucco jump max speed - ctx->genSlider("コッコジャンプ最高速度", &m.mCuccoJumpMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("コッコジャンプ最高速度", &m.mCuccoJumpMaxSpeed, 0.0f, 50.0f); // Cucco jump angle - ctx->genSlider("コッコジャンプ角度", &m.mCuccoJumpAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("コッコジャンプ角度", &m.mCuccoJumpAngle, 0, 0x4000); // Cucco max fall speed - ctx->genSlider("コッコ最大落下速度", &m.mCuccoFallMaxSpeed, -300.0f, 0.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("コッコ最大落下速度", &m.mCuccoFallMaxSpeed, -300.0f, 0.0f); // Cucco start speed - ctx->genSlider("コッコ初速", &m.mCuccoStartSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("コッコ初速", &m.mCuccoStartSpeed, 0.0f, 50.0f); } daAlinkHIO_autoJump_c::daAlinkHIO_autoJump_c() { @@ -1842,17 +1620,15 @@ daAlinkHIO_autoJump_c::daAlinkHIO_autoJump_c() { void daAlinkHIO_smallJump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Small jump daAlinkHIO_setAnmGenMessage(&m.mSmallJumpAnm, ctx, "小ジャンプ", 8.0f, 0); // Horizontal speed - ctx->genSlider("水平速度", &m.mSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("水平速度", &m.mSpeedH, 0.0f, 50.0f); // Target height offset - ctx->genSlider("目標高さオフセット", &m.mTargetHeightOffset, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("目標高さオフセット", &m.mTargetHeightOffset, 0.0f, 200.0f); // Fall interpolation - ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 100.0f); // Step climb daAlinkHIO_setAnmGenMessage(&m.mStepClimbAnm, ctx, "段差登", 5.0f, 0); // Step land @@ -1878,7 +1654,7 @@ daAlinkHIO_smallJump_c::daAlinkHIO_smallJump_c() { void daAlinkHIO_wallCatch_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Grab A daAlinkHIO_setAnmGenMessage(&m.mGrabAAnm, ctx, "掴みA", 19.0f, 1); // Grab B @@ -1886,8 +1662,7 @@ void daAlinkHIO_wallCatch_c::genMessage(JORMContext* ctx) { // Climb daAlinkHIO_setAnmGenMessage(&m.mClimbAnm, ctx, "よじ登り", 29.0f, 1); // Climb midway start F - ctx->genSlider("よじ登り途中開始F", &m.mClimbStartFrame, 0.0f, 29.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("よじ登り途中開始F", &m.mClimbStartFrame, 0.0f, 29.0f); // Jump daAlinkHIO_setAnmGenMessage(&m.mJumpAnm, ctx, "ジャンプ", 13.0f, 0); } @@ -1911,7 +1686,7 @@ daAlinkHIO_wallCatch_c::daAlinkHIO_wallCatch_c() { void daAlinkHIO_wallFall_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // One hand grab daAlinkHIO_setAnmGenMessage(&m.mOneHandGrabAnm, ctx, "片手掴み", 22.0f, 0); // Two hand grab @@ -1936,19 +1711,17 @@ daAlinkHIO_wallFall_c::daAlinkHIO_wallFall_c() { void daAlinkHIO_wallMove_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Minimum animation speed - ctx->genSlider("最小A速度", &m.mMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最小A速度", &m.mMinAnmSpeed, 0.0f, 10.0f); // Maximum animation speed - ctx->genSlider("最大A速度", &m.mMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大A速度", &m.mMaxAnmSpeed, 0.0f, 10.0f); // Interpolation - ctx->genSlider("補間", &m.mInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("補間", &m.mInterpolation, 0.0f, 30.0f); // Minimum speed - ctx->genSlider("最小移動速度", &m.mMinSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最小移動速度", &m.mMinSpeed, 0.0f, 50.0f); // Maximum speed - ctx->genSlider("最大移動速度", &m.mMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大移動速度", &m.mMaxSpeed, 0.0f, 50.0f); } daAlinkHIO_wallMove_c::daAlinkHIO_wallMove_c() { @@ -1970,7 +1743,7 @@ daAlinkHIO_wallMove_c::daAlinkHIO_wallMove_c() { void daAlinkHIO_wallHang_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Small Jump ctx->genNode("小ジャンプ", &mSmallJump, 0, 0); // Wall Catch @@ -1980,29 +1753,21 @@ void daAlinkHIO_wallHang_c::genMessage(JORMContext* ctx) { // Wall Move ctx->genNode("掴み移動", &mWallMove, 0, 0); // Auto walk height - ctx->genSlider("自動歩き高さ", &m.auto_walk_height, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("自動歩き高さ", &m.auto_walk_height, 0.0f, 300.0f); // Small jump height - ctx->genSlider("小ジャンプ高さ", &m.small_jump_height, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("小ジャンプ高さ", &m.small_jump_height, 0.0f, 300.0f); // Climb height - ctx->genSlider("よじ登り高さ", &m.climb_height, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("よじ登り高さ", &m.climb_height, 0.0f, 300.0f); // Jump climb height - ctx->genSlider("ジャンプ登り高さ", &m.jump_climb_height, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ登り高さ", &m.jump_climb_height, 0.0f, 300.0f); // Jump hang height - ctx->genSlider("ジャンプぶら下がり高さ", &m.jump_hang_height, 0.0f, 300.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプぶら下がり高さ", &m.jump_hang_height, 0.0f, 300.0f); // Hang foot position height - ctx->genSlider("ぶら下がり足位置高さ", &m.hang_foot_pos_height, 0.0f, 300.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり足位置高さ", &m.hang_foot_pos_height, 0.0f, 300.0f); // Small jump key input time - ctx->genSlider("小ジャンプキー入力時間", &m.small_jump_input_time, 0, 0x1e, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("小ジャンプキー入力時間", &m.small_jump_input_time, 0, 0x1e); // Grab key input time - ctx->genSlider("掴みキー入力時間", &m.grab_input_time, 0, 0x1e, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("掴みキー入力時間", &m.grab_input_time, 0, 0x1e); } daAlinkHIO_wallHang_c::daAlinkHIO_wallHang_c() @@ -2030,60 +1795,43 @@ daAlinkHIO_smallJump_c::~daAlinkHIO_smallJump_c() {} void daAlinkHIO_pushpull_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Standby A speed - ctx->genSlider("待機A速度", &m.mStandbyASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mStandbyASpeed, 0.0f, 10.0f); // Standby interpolation - ctx->genSlider("待機補間", &m.mStandbyInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("待機補間", &m.mStandbyInterpolation, 0.0f, 10.0f); // Push A speed - ctx->genSlider("押しA速度", &m.mPushASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("押しA速度", &m.mPushASpeed, 0.0f, 10.0f); // Push A speed (heavy) - ctx->genSlider("押しA速度(重)", &m.mPushASpeedHeavy, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("押しA速度(重)", &m.mPushASpeedHeavy, 0.0f, 10.0f); // Push interpolation - ctx->genSlider("押し補間", &m.mPushInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("押し補間", &m.mPushInterpolation, 0.0f, 10.0f); // Pull interpolation - ctx->genSlider("引き補間", &m.mPullInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("引き補間", &m.mPullInterpolation, 0.0f, 10.0f); // Sumo push A speed - ctx->genSlider("相撲押しA速度", &m.mSumoPushASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("相撲押しA速度", &m.mSumoPushASpeed, 0.0f, 10.0f); // Sumo push additional A speed - ctx->genSlider("相撲押し追加A速度", &m.mSumoPushAddASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("相撲押し追加A速度", &m.mSumoPushAddASpeed, 0.0f, 10.0f); // Sumo pushed A speed - ctx->genSlider("相撲押されA速度", &m.mSumoPushedASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("相撲押されA速度", &m.mSumoPushedASpeed, 0.0f, 10.0f); // Sumo pushed additional A speed - ctx->genSlider("相撲押され追加A速度", &m.mSumoPushedAddASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("相撲押され追加A速度", &m.mSumoPushedAddASpeed, 0.0f, 10.0f); // Sumo max gauge - ctx->genSlider("相撲最大ゲージ", &m.mSumoMaxGauge, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("相撲最大ゲージ", &m.mSumoMaxGauge, 0, 0x7fff); // Sumo increase gauge - ctx->genSlider("相撲増加ゲージ", &m.mSumoIncreaseGauge, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("相撲増加ゲージ", &m.mSumoIncreaseGauge, 0, 0x7fff); // Sumo penalty time - ctx->genSlider("相撲ペナルティ時間", &m.mSumoPenaltyTime, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("相撲ペナルティ時間", &m.mSumoPenaltyTime, 0, 0x7fff); // Sumo power 3/2 switch - ctx->genSlider("相撲パワー3・2境界", &m.mSumoPower3To2Switch, 0, 0x7fff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("相撲パワー3・2境界", &m.mSumoPower3To2Switch, 0, 0x7fff); // Sumo power 2/1 switch - ctx->genSlider("相撲パワー2・1境界", &m.mSumoPower2To1Switch, 0, 0x7fff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("相撲パワー2・1境界", &m.mSumoPower2To1Switch, 0, 0x7fff); // Sumo rotation allow power - ctx->genSlider("相撲旋回許可パワー", &m.mSumoRotationAllowPower, 0, 3, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("相撲旋回許可パワー", &m.mSumoRotationAllowPower, 0, 3); // Sumo rotation angle - ctx->genSlider("相撲旋回角度", &m.mSumoRotationAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("相撲旋回角度", &m.mSumoRotationAngle, 0, 0x7fff); // Sumo wait rotation allow - ctx->genCheckBox("相撲待機旋回許可", &m.mEnableSumoWaitRotation, '\x01', 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox("相撲待機旋回許可", &m.mEnableSumoWaitRotation, '\x01'); } daAlinkHIO_pushpull_c::daAlinkHIO_pushpull_c() { @@ -2105,7 +1853,7 @@ daAlinkHIO_pushpull_c::daAlinkHIO_pushpull_c() { void daAlinkHIO_damNormal_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Front daAlinkHIO_setAnmGenMessage(&m.mFrontAnm, ctx, "前方", 22.0f, 1); // Rear @@ -2115,21 +1863,17 @@ void daAlinkHIO_damNormal_c::genMessage(JORMContext* ctx) { // Right daAlinkHIO_setAnmGenMessage(&m.mRightAnm, ctx, "右方", 19.0f, 1); // Front-back body angle maximum - ctx->genSlider("前後体角度最大", &m.mFrontBackBodyMaxAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前後体角度最大", &m.mFrontBackBodyMaxAngle, 0, 0x7fff); // Left-right body angle maximum - ctx->genSlider("左右体角度最大", &m.mLeftRightBodyMaxAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("左右体角度最大", &m.mLeftRightBodyMaxAngle, 0, 0x7fff); // Initial speed - ctx->genSlider("初速", &m.mInitialSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("初速", &m.mInitialSpeed, 0.0f, 100.0f); // Attack speed rate - ctx->genSlider("攻撃速度率", &m.mAttackSpeedRate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃速度率", &m.mAttackSpeedRate, 0.0f, 10.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f); // Ice damage A speed - ctx->genSlider("氷ダメージA速度", &m.mIceDamageASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("氷ダメージA速度", &m.mIceDamageASpeed, 0.0f, 10.0f); } daAlinkHIO_damNormal_c::daAlinkHIO_damNormal_c() { @@ -2151,26 +1895,21 @@ daAlinkHIO_damNormal_c::daAlinkHIO_damNormal_c() { void daAlinkHIO_damLaHu_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Damage interpolation - ctx->genSlider("ダメージ補間", &m.mDamageBlend, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ダメージ補間", &m.mDamageBlend, 0.0f, 20.0f); // Gravity - ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f); // Horizontal speed - ctx->genSlider("水平速度", &m.mHorizontalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("水平速度", &m.mHorizontalSpeed, 0.0f, 100.0f); // Vertical speed - ctx->genSlider("垂直速度", &m.mVerticalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("垂直速度", &m.mVerticalSpeed, 0.0f, 100.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f); // Bounce speed - ctx->genSlider("跳ね返り速度", &m.mBounceSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("跳ね返り速度", &m.mBounceSpeed, 0.0f, 100.0f); // Body rotation speed - ctx->genSlider("体回転速度", &m.mBodyRotateRate, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("体回転速度", &m.mBodyRotateRate, 0, 0x7fff); // Front get up daAlinkHIO_setAnmGenMessage(&m.mFrontGetUpAnm, ctx, "前起", 49.0f, 1); // Back get up @@ -2217,17 +1956,15 @@ daAlinkHIO_damLaHu_c::daAlinkHIO_damLaHu_c(int param_0) { void daAlinkHIO_damHorse_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // No direction daAlinkHIO_setAnmGenMessage(&m.mNoDirectionAnm, ctx, "方向なし", 9.0f, 0); // With direction daAlinkHIO_setAnmGenMessage(&m.mWithDirectionAnm, ctx, "方向あり", 11.0f, 0); // Front-back body angle maximum - ctx->genSlider("前後体角度最大", &m.mFrontBackBodyMaxAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前後体角度最大", &m.mFrontBackBodyMaxAngle, 0, 0x7fff); // Left-right body angle maximum - ctx->genSlider("左右体角度最大", &m.mLeftRightBodyMaxAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("左右体角度最大", &m.mLeftRightBodyMaxAngle, 0, 0x7fff); } daAlinkHIO_damHorse_c::daAlinkHIO_damHorse_c() { @@ -2249,34 +1986,27 @@ daAlinkHIO_damHorse_c::daAlinkHIO_damHorse_c() { void daAlinkHIO_damFall_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Min safe landing height - ctx->genSlider("受身可能最小高さ", &m.mMinRollHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("受身可能最小高さ", &m.mMinRollHeight, 0.0f, 100.0f); // Max safe landing height - ctx->genSlider("受身可能最大高さ", &m.mMaxRollHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("受身可能最大高さ", &m.mMaxRollHeight, 0.0f, 100.0f); // Small damage height - ctx->genSlider("小ダメージ高さ", &m.mSmallDmgHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("小ダメージ高さ", &m.mSmallDmgHeight, 0.0f, 100.0f); // Large damage height - ctx->genSlider("大ダメージ高さ", &m.mBigDmgHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("大ダメージ高さ", &m.mBigDmgHeight, 0.0f, 100.0f); // Fall animation transition height - ctx->genSlider("空中アニメ移行高さ", &m.mFallAnmTransitionHeight, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("空中アニメ移行高さ", &m.mFallAnmTransitionHeight, 0.0f, 100.0f); // Fall animation interpolation - ctx->genSlider("空中アニメ補間", &m.mFallAnmMorf, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("空中アニメ補間", &m.mFallAnmMorf, 0.0f, 20.0f); // Landing daAlinkHIO_setAnmGenMessage(&m.mLandAnm, ctx, "着地", 11.0f, 0); // Small damage landing start F - ctx->genSlider("小ダメージ着地開始F", &m.mSmallDmgLandStartFrame, 0.0f, 11.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("小ダメージ着地開始F", &m.mSmallDmgLandStartFrame, 0.0f, 11.0f); // Small stop time - ctx->genSlider("小停止時間", &m.mSmallStopTime, 0, 0x96, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("小停止時間", &m.mSmallStopTime, 0, 0x96); // Large stop time - ctx->genSlider("大停止時間", &m.mBigStopTime, 0, 0x96, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("大停止時間", &m.mBigStopTime, 0, 0x96); // Aerial get up daAlinkHIO_setAnmGenMessage(&m.mStandAnm, ctx, "起上り", 17.0f, 1); } @@ -2300,18 +2030,15 @@ daAlinkHIO_damFall_c::daAlinkHIO_damFall_c() { void daAlinkHIO_damCaught_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Grab duration - ctx->genSlider("捕まり時間", &m.mGrabDuration, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("捕まり時間", &m.mGrabDuration, 0, 1000); // Input fade time - ctx->genSlider("入力減り時間", &m.mInputFadeTime, 0, 0x1e, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("入力減り時間", &m.mInputFadeTime, 0, 0x1e); // Standby add A speed - ctx->genSlider("待機追加A速度", &m.mStandbyAddASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("待機追加A速度", &m.mStandbyAddASpeed, 0.0f, 10.0f); // Standby interpolation - ctx->genSlider("待機補間", &m.mStandbyInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機補間", &m.mStandbyInterp, 0.0f, 10.0f); // Escape daAlinkHIO_setAnmGenMessage(&m.mEscapeAnm, ctx, "脱出", 59.0f, 1); } @@ -2335,7 +2062,7 @@ daAlinkHIO_damCaught_c::daAlinkHIO_damCaught_c() { void daAlinkHIO_damSwim_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Front daAlinkHIO_setAnmGenMessage(&m.mFrontAnm, ctx, "前", 22.0f, 1); // Rear @@ -2345,20 +2072,17 @@ void daAlinkHIO_damSwim_c::genMessage(JORMContext* ctx) { // Right daAlinkHIO_setAnmGenMessage(&m.mRightAnm, ctx, "右", 19.0f, 1); // Front-back body angle maximum - ctx->genSlider("前後体角度最大", &m.mFrontBackBodyMaxAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前後体角度最大", &m.mFrontBackBodyMaxAngle, 0, 0x7fff); // Left-right body angle maximum - ctx->genSlider("左右体角度最大", &m.mLeftRightBodyMaxAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("左右体角度最大", &m.mLeftRightBodyMaxAngle, 0, 0x7fff); // Initial speed - ctx->genSlider("初速", &m.mInitialSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("初速", &m.mInitialSpeed, 0.0f, 100.0f); // Attack speed rate - ctx->genSlider("攻撃速度率", &m.mAttackSpeedRate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃速度率", &m.mAttackSpeedRate, 0.0f, 10.0f); // Max speed - ctx->genSlider("最高速", &m.mMaxSpeed, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速", &m.mMaxSpeed, 0.0f, 30.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f); // Sink daAlinkHIO_setAnmGenMessage(&m.mSinkAnm, ctx, "下沈", 10.0f, 0); // Water surface @@ -2384,7 +2108,7 @@ daAlinkHIO_damSwim_c::daAlinkHIO_damSwim_c() { void daAlinkHIO_damage_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Normal ctx->genNode("通常", &mDamNormal, 0, 0); // Large @@ -2400,57 +2124,51 @@ void daAlinkHIO_damage_c::genMessage(JORMContext* ctx) { // Swim ctx->genNode("泳ぎ", &mDamSwim, 0, 0); // Invincible state - ctx->genCheckBox("無敵状態", &m.mInvincible, '\x01', 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox("無敵状態", &m.mInvincible, '\x01'); // Invincible time - ctx->genSlider("無敵時間", &m.mInvincibleTime, 0, 0x96, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("無敵時間", &m.mInvincibleTime, 0, 0x96); // Wolf floor invincible time - ctx->genSlider("狼ポリゴン時無敵時間", &m.mWolfFloorInvincibleTime, 0, 0x96, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("狼ポリゴン時無敵時間", &m.mWolfFloorInvincibleTime, 0, 0x96); // Floor get up daAlinkHIO_setAnmGenMessage(&m.mFloorDmgAnm, ctx, "床起き", 14.0f, 1); // Dash daAlinkHIO_setAnmGenMessage(&m.mDashDmgAnm, ctx, "ダッシュ", 9.0f, 0); // Recover stand anm speed - ctx->genSlider("復帰起き上がりA速度", &m.mRecoverStandAnmSpeed, 1.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("復帰起き上がりA速度", &m.mRecoverStandAnmSpeed, 1.0f, 10.0f); // Inverted fall interpolation - ctx->genSlider("逆さま落下補間", &m.mInvertedFallInterpolation, 0.0f, 50.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("逆さま落下補間", &m.mInvertedFallInterpolation, 0.0f, 50.0f); // Freeze wait time - ctx->genSlider("凍り待ち時間", &m.mFreezeTime, 1, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("凍り待ち時間", &m.mFreezeTime, 1, 0x7fff); // Freeze initial R - ctx->genSlider("凍り初期R", &m.mFreezeInitR, -0x40, 0x40, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("凍り初期R", &m.mFreezeInitR, -0x40, 0x40); // Freeze initial G - ctx->genSlider("凍り初期G", &m.mFreezeInitG, -0x40, 0x40, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("凍り初期G", &m.mFreezeInitG, -0x40, 0x40); // Freeze initial B - ctx->genSlider("凍り初期B", &m.mFreezeInitB, -0x40, 0x40, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("凍り初期B", &m.mFreezeInitB, -0x40, 0x40); // Freeze middle R - ctx->genSlider("凍り中R", &m.mFreezeR, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("凍り中R", &m.mFreezeR, -0xff, 0xff); // Freeze middle G - ctx->genSlider("凍り中G", &m.mFreezeG, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("凍り中G", &m.mFreezeG, -0xff, 0xff); // Freeze middle B - ctx->genSlider("凍り中B", &m.mFreezeB, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("凍り中B", &m.mFreezeB, -0xff, 0xff); // Damage R0 - ctx->genSlider("ダメージR0", &m.mDamageR0, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージR0", &m.mDamageR0, 0, 0xff); // Damage G0 - ctx->genSlider("ダメージG0", &m.mDamageG0, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージG0", &m.mDamageG0, 0, 0xff); // Damage B0 - ctx->genSlider("ダメージB0", &m.mDamageB0, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージB0", &m.mDamageB0, 0, 0xff); // Damage R1 - ctx->genSlider("ダメージR1", &m.mDamageR1, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージR1", &m.mDamageR1, 0, 0xff); // Damage G1 - ctx->genSlider("ダメージG1", &m.mDamageG1, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージG1", &m.mDamageG1, 0, 0xff); // Damage B1 - ctx->genSlider("ダメージB1", &m.mDamageB1, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージB1", &m.mDamageB1, 0, 0xff); // Damage R2 - ctx->genSlider("ダメージR2", &m.mDamageR2, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージR2", &m.mDamageR2, 0, 0xff); // Damage G2 - ctx->genSlider("ダメージG2", &m.mDamageG2, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージG2", &m.mDamageG2, 0, 0xff); // Damage B2 - ctx->genSlider("ダメージB2", &m.mDamageB2, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダメージB2", &m.mDamageB2, 0, 0xff); } daAlinkHIO_damage_c::daAlinkHIO_damage_c() @@ -2480,44 +2198,35 @@ daAlinkHIO_damNormal_c::~daAlinkHIO_damNormal_c() {} void daAlinkHIO_horse_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Sword up Animation speed - ctx->genSlider("剣上A速度", &m.mSwordUpAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("剣上A速度", &m.mSwordUpAnmSpeed, 0.0f, 10.0f); // Sword up interpolation - ctx->genSlider("剣上補間", &m.mSwordUpInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("剣上補間", &m.mSwordUpInterpolation, 0.0f, 10.0f); // Sword up time - ctx->genSlider("剣上時間", &m.mSwordUpTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("剣上時間", &m.mSwordUpTime, 0, 300); // Search range angle - ctx->genSlider("サーチ範囲角度", &m.mSearchRangeAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("サーチ範囲角度", &m.mSearchRangeAngle, 0, 0x7fff); // Walk out prohibition time - ctx->genSlider("歩出禁止時間", &m.mWalkOutProhibitionTime, 0, 500, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩出禁止時間", &m.mWalkOutProhibitionTime, 0, 500); // Walk out daAlinkHIO_setAnmGenMessage(&m.mWalkOutAnm, ctx, "歩出", 18.0f, 0); // Run out daAlinkHIO_setAnmGenMessage(&m.mRunOutAnm, ctx, "走出", 22.0f, 0); // Horse walk start F - ctx->genSlider("馬歩出開始F", &m.mHorseWalkStartFrame, 0.0f, 18.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("馬歩出開始F", &m.mHorseWalkStartFrame, 0.0f, 18.0f); // Whip(ctx, daAlinkHIO_setAnmGenMessage(&m.mWhipAnm, ctx, "鞭", 43.0f, 0); // Whip run out daAlinkHIO_setAnmGenMessage(&m.mWhipRunOutAnm, ctx, "鞭走出", 22.0f, 0); // Tired wait interpolation - ctx->genSlider("疲れ待機補間", &m.mTiredWaitInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("疲れ待機補間", &m.mTiredWaitInterpolation, 0.0f, 10.0f); // Whip wait time - ctx->genSlider("鞭打ち待ち時間", &m.mWhipWaitTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("鞭打ち待ち時間", &m.mWhipWaitTime, 0, 300); // Subjective downward max angle - ctx->genSlider("主観下向最大角度", &m.mSubjectiveDownwardMaxAngle, 0, 0x4000, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("主観下向最大角度", &m.mSubjectiveDownwardMaxAngle, 0, 0x4000); // Subjective upward max angle - ctx->genSlider("主観上向最大角度", &m.mSubjectiveUpwardMaxAngle, -0x4000, 0, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("主観上向最大角度", &m.mSubjectiveUpwardMaxAngle, -0x4000, 0); } daAlinkHIO_horse_c::daAlinkHIO_horse_c() { @@ -2539,51 +2248,37 @@ daAlinkHIO_horse_c::daAlinkHIO_horse_c() { void daAlinkHIO_canoe_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Stick rowing animation speed - ctx->genSlider("スティック漕ぎA速度", &m.mStickRowAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("スティック漕ぎA速度", &m.mStickRowAnmSpeed, 0.0f, 10.0f); // Button rowing animation speed - ctx->genSlider("ボタン漕ぎA速度", &m.mBtnRowAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ボタン漕ぎA速度", &m.mBtnRowAnmSpeed, 0.0f, 10.0f); // Stick rowing start animation speed - ctx->genSlider("スティック漕ぎ始めA速度", &m.mStickRowStartAnmSpeed, 0.0f, 10.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("スティック漕ぎ始めA速度", &m.mStickRowStartAnmSpeed, 0.0f, 10.0f); // Button rowing start animation speed - ctx->genSlider("ボタン漕ぎ始めA速度", &m.mBtnRowStartAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ボタン漕ぎ始めA速度", &m.mBtnRowStartAnmSpeed, 0.0f, 10.0f); // Canoe speed rate - ctx->genSlider("カヌー速度率", &m.mSpeedRate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("カヌー速度率", &m.mSpeedRate, 0.0f, 10.0f); // Canoe maximum speed - ctx->genSlider("カヌー最高速度", &m.mMaxSpeed, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("カヌー最高速度", &m.mMaxSpeed, 0.0f, 30.0f); // Canoe backward speed rate - ctx->genSlider("カヌー後退速度率", &m.mBackSpeedRate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("カヌー後退速度率", &m.mBackSpeedRate, 0.0f, 10.0f); // Canoe backward maximum speed - ctx->genSlider("カヌー後退最高速度", &m.mBackMaxSpeed, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("カヌー後退最高速度", &m.mBackMaxSpeed, 0.0f, 30.0f); // Canoe deceleration value - ctx->genSlider("カヌー減速値", &m.mDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("カヌー減速値", &m.mDeceleration, 0.0f, 10.0f); // Canoe maximum turning angle - ctx->genSlider("カヌー最高旋回角度", &m.mMaxTurnAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("カヌー最高旋回角度", &m.mMaxTurnAngle, 0, 0x7fff); // Left-right grip change daAlinkHIO_setAnmGenMessage(&m.mLeftRightChangeAnm, ctx, "左右持替", 23.0f, 0); // Downriver canoe maximum turning angle - ctx->genSlider("川下りカヌー最高旋回角度", &m.mMaxTurnAngle_RiverRide, 0, 0x7fff, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("川下りカヌー最高旋回角度", &m.mMaxTurnAngle_RiverRide, 0, 0x7fff); // Downriver canoe maximum speed - ctx->genSlider("川下りカヌー最高速度", &m.mMaxSpeed_RiverRide, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("川下りカヌー最高速度", &m.mMaxSpeed_RiverRide, 0.0f, 200.0f); // Downriver canoe speed rate - ctx->genSlider("川下りカヌー速度率", &m.mSpeedRate_RiverRide, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("川下りカヌー速度率", &m.mSpeedRate_RiverRide, 0.0f, 100.0f); // Downriver canoe deceleration value - ctx->genSlider("川下りカヌー減速値", &m.mDeceleration_RiverRide, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("川下りカヌー減速値", &m.mDeceleration_RiverRide, 0.0f, 10.0f); } daAlinkHIO_canoe_c::daAlinkHIO_canoe_c() { @@ -2605,66 +2300,49 @@ daAlinkHIO_canoe_c::daAlinkHIO_canoe_c() { void daAlinkHIO_bow_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Shoot daAlinkHIO_setAnmGenMessage(&m.mShootAnm, ctx, "撃つ", 9.0f, 1); // Load daAlinkHIO_setAnmGenMessage(&m.mLoadAnm, ctx, "装填", 6.0f, 0); // Start interpolation - ctx->genSlider("開始補間", &m.mStartInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("開始補間", &m.mStartInterpolation, 0.0f, 10.0f); // Arrow speed - ctx->genSlider("矢速度", &m.mArrowSpeed, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("矢速度", &m.mArrowSpeed, 0.0f, 1000.0f); // Arrow distance - ctx->genSlider("矢飛距離", &m.mArrowDistance, 0.0f, 100000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("矢飛距離", &m.mArrowDistance, 0.0f, 100000.0f); // Charge time - ctx->genSlider("ため時間", &m.mChargeArrowTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ため時間", &m.mChargeArrowTime, 0, 300); // Charge arrow speed - ctx->genSlider("ため矢速度", &m.mChargeArrowSpeed, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ため矢速度", &m.mChargeArrowSpeed, 0.0f, 1000.0f); // Charge arrow distance - ctx->genSlider("ため矢飛距離", &m.mChargeArrowDistance, 0.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ため矢飛距離", &m.mChargeArrowDistance, 0.0f, 100000.0f); // Scope arrow speed - ctx->genSlider("スコープ矢速度", &m.mScopeArrowSpeed, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("スコープ矢速度", &m.mScopeArrowSpeed, 0.0f, 1000.0f); // Scope arrow distance - ctx->genSlider("スコープ矢飛距離", &m.mScopeArrowDistance, 0.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("スコープ矢飛距離", &m.mScopeArrowDistance, 0.0f, 100000.0f); // Arrow additional attack radius - ctx->genSlider("矢追加攻撃半径", &m.mArrowAttackRadius, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("矢追加攻撃半径", &m.mArrowAttackRadius, 0.0f, 300.0f); // Arrow additional attack radius start - ctx->genSlider("矢追加攻撃半径開始", &m.mArrowIncAttackMaxStart, 0.0f, 100000.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("矢追加攻撃半径開始", &m.mArrowIncAttackMaxStart, 0.0f, 100000.0f); // Arrow additional attack radius max - ctx->genSlider("矢追加攻撃半径最大", &m.mArrowIncAttackMax, 0.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("矢追加攻撃半径最大", &m.mArrowIncAttackMax, 0.0f, 100000.0f); // Bomb arrow speed - ctx->genSlider("爆弾矢速度", &m.mBombArrowSpeed, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("爆弾矢速度", &m.mBombArrowSpeed, 0.0f, 1000.0f); // Bomb arrow distance - ctx->genSlider("爆弾矢飛距離", &m.mBombArrowDistance, 0.0f, 100000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("爆弾矢飛距離", &m.mBombArrowDistance, 0.0f, 100000.0f); // Charge bomb arrow speed - ctx->genSlider("ため爆弾矢速度", &m.mChargeBombArrowSpeed, 0.0f, 1000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ため爆弾矢速度", &m.mChargeBombArrowSpeed, 0.0f, 1000.0f); // Charge bomb arrow distance - ctx->genSlider("ため爆弾矢飛距離", &m.mChargeBombArrowDistance, 0.0f, 100000.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ため爆弾矢飛距離", &m.mChargeBombArrowDistance, 0.0f, 100000.0f); // Arrow wait time - ctx->genSlider("矢待ち時間", &m.mBombArrowHoldTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("矢待ち時間", &m.mBombArrowHoldTime, 0, 300); // Bomb arrow fly explode time - ctx->genSlider("爆弾矢飛行爆発時間", &m.mBombArrowFlyExplodeTime, 0, 1000, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("爆弾矢飛行爆発時間", &m.mBombArrowFlyExplodeTime, 0, 1000); // Slingshot speed - ctx->genSlider("パチンコ速度", &m.mSlingshotSpeed, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("パチンコ速度", &m.mSlingshotSpeed, 0.0f, 1000.0f); // Slingshot distance - ctx->genSlider("パチンコ飛距離", &m.mSlingshotDistance, 0.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("パチンコ飛距離", &m.mSlingshotDistance, 0.0f, 100000.0f); } daAlinkHIO_bow_c::daAlinkHIO_bow_c() { @@ -2686,39 +2364,31 @@ daAlinkHIO_bow_c::daAlinkHIO_bow_c() { void daAlinkHIO_boom_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Throw daAlinkHIO_setAnmGenMessage(&m.mThrowAnm, ctx, "投げ", 21.0f, 1); // Catch daAlinkHIO_setAnmGenMessage(&m.mCatchAnm, ctx, "キャッチ", 25.0f, 1); // Idle animation speed - ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f); // Start interpolation - ctx->genSlider("開始補間", &m.mStartInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("開始補間", &m.mStartInterpolation, 0.0f, 10.0f); // Fly speed - ctx->genSlider("飛行速度", &m.mFlySpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("飛行速度", &m.mFlySpeed, 0.0f, 100.0f); // Charge fly speed - ctx->genSlider("ため飛行速度", &m.mChargeFlySpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ため飛行速度", &m.mChargeFlySpeed, 0.0f, 100.0f); // Entangling fly speed - ctx->genSlider("巻込飛行速度", &m.mCatchSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("巻込飛行速度", &m.mCatchSpeed, 0.0f, 100.0f); // Fly distance max - ctx->genSlider("飛行距離", &m.mFlyDistMax, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("飛行距離", &m.mFlyDistMax, 0.0f, 10000.0f); // Horseback fly distance max - ctx->genSlider("馬上飛行距離", &m.mHorsebackFlyDistMax, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("馬上飛行距離", &m.mHorsebackFlyDistMax, 0.0f, 10000.0f); // Charge time - ctx->genSlider("ため時間", &m.mChargeTime, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ため時間", &m.mChargeTime, 0, 0x7fff); // Lock distance max - ctx->genSlider("ロック距離", &m.mLockDistMax, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ロック距離", &m.mLockDistMax, 0.0f, 10000.0f); // Wall piercing time - ctx->genSlider("壁突き抜け時間", &m.mBgThroughTime, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("壁突き抜け時間", &m.mBgThroughTime, 0, 1000); } daAlinkHIO_boom_c::daAlinkHIO_boom_c() { @@ -2740,63 +2410,47 @@ daAlinkHIO_boom_c::daAlinkHIO_boom_c() { void daAlinkHIO_bomb_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Explode time - ctx->genSlider("爆発時間", &m.mExplodeTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("爆発時間", &m.mExplodeTime, 0, 300); // Gravity - ctx->genSlider("重力", &m.mGravity, -5.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &m.mGravity, -5.0f, 0.0f); // Max fall speed - ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -500.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -500.0f, 0.0f); // Throw horizontal speed - ctx->genSlider("投げ水平速度", &m.mThrowSpeedH, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("投げ水平速度", &m.mThrowSpeedH, 0.0f, 100.0f); // Throw vertical speed - ctx->genSlider("投げ垂直速度", &m.mThrowSpeedV, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("投げ垂直速度", &m.mThrowSpeedV, 0.0f, 100.0f); // Bound rate - ctx->genSlider("バウンド率", &m.mBoundRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("バウンド率", &m.mBoundRate, 0.0f, 1.0f); // Vertical stop speed - ctx->genSlider("垂直停止速度", &m.mStopSpeedY, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("垂直停止速度", &m.mStopSpeedY, 0.0f, 20.0f); // Bounce time max speed - ctx->genSlider("跳返時最大速度", &m.mMaxSpeedY, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("跳返時最大速度", &m.mMaxSpeedY, 0.0f, 100.0f); // Effect scale - ctx->genSlider("爆発エフェクトスケール", &m.mEffScale, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("爆発エフェクトスケール", &m.mEffScale, 0.0f, 10.0f); // Underwater explode switch - ctx->genSlider("水中爆発切替え", &m.mExplodeWaterEffectLimit, 0.0f, 1000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("水中爆発切替え", &m.mExplodeWaterEffectLimit, 0.0f, 1000.0f); // Explode attack radius - ctx->genSlider("爆発攻撃半径", &m.mAttackRadius, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("爆発攻撃半径", &m.mAttackRadius, 0.0f, 500.0f); // Bomb insect red blink - ctx->genSlider("爆弾虫赤点滅", &m.mEnemyBombColorR, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("爆弾虫赤点滅", &m.mEnemyBombColorR, 0, 0xff); // Bomb insect effect track rate - ctx->genSlider("爆弾虫エフェクト追従率", &m.mPokeBombTrackRate, 0.0f, 5.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("爆弾虫エフェクト追従率", &m.mPokeBombTrackRate, 0.0f, 5.0f); // Water gravity - ctx->genSlider("水中重力", &m.mWaterGravity, -5.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("水中重力", &m.mWaterGravity, -5.0f, 0.0f); // Water max fall speed - ctx->genSlider("水中最大落下速度", &m.mWaterMaxFallSpeed, -500.0f, 0.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("水中最大落下速度", &m.mWaterMaxFallSpeed, -500.0f, 0.0f); // Water throw horizontal speed - ctx->genSlider("水中投げ水平速度", &m.mWaterThrowSpeedH, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("水中投げ水平速度", &m.mWaterThrowSpeedH, 0.0f, 100.0f); // Water throw vertical speed - ctx->genSlider("水中投げ垂直速度", &m.mWaterThrowSpeedV, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("水中投げ垂直速度", &m.mWaterThrowSpeedV, 0.0f, 100.0f); // Wolf throw horizontal speed - ctx->genSlider("狼投げ水平速度", &m.mWolfThrowSpeedH, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("狼投げ水平速度", &m.mWolfThrowSpeedH, 0.0f, 100.0f); // Wolf throw vertical speed - ctx->genSlider("狼投げ垂直速度", &m.mWolfThrowSpeedV, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("狼投げ垂直速度", &m.mWolfThrowSpeedV, 0.0f, 100.0f); // Poke insect limit angle - ctx->genSlider("ポケムシ制限角度", &m.mBombInsectLimitAngle, 0, 0x5a, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ポケムシ制限角度", &m.mBombInsectLimitAngle, 0, 0x5a); } daAlinkHIO_bomb_c::daAlinkHIO_bomb_c() { @@ -2818,28 +2472,25 @@ daAlinkHIO_bomb_c::daAlinkHIO_bomb_c() { void daAlinkHIO_light_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // X angle - ctx->genSlider("X角度", &m.mXAngle, -0xb4, 0xb4, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("X角度", &m.mXAngle, -0xb4, 0xb4); // Power - ctx->genSlider("パワー", &m.mPower, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("パワー", &m.mPower, 0.0f, 200.0f); // Width - ctx->genSlider("幅", &m.mWidth, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("幅", &m.mWidth, 0.0f, 200.0f); // Y offset - ctx->genSlider("Yずらし", &m.mYOffset, -10000.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("Yずらし", &m.mYOffset, -10000.0f, 10000.0f); // Z offset - ctx->genSlider("Zずらし", &m.mZOffset, -10000.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("Zずらし", &m.mZOffset, -10000.0f, 10000.0f); // Color R - ctx->genSlider("色R", &m.mColorR, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("色R", &m.mColorR, 0, 0xff); // Color G - ctx->genSlider("色G", &m.mColorG, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("色G", &m.mColorG, 0, 0xff); // Color B - ctx->genSlider("色B", &m.mColorB, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("色B", &m.mColorB, 0, 0xff); // Distance attenuation - ctx->startComboBox("距離減衰", &m.mDistanceAttenuationType, 0, NULL, 0xffff, 0xffff, 0x100, - 0x1a); + ctx->startComboBox("距離減衰", &m.mDistanceAttenuationType); // No attenuation [GX_DA_OFF] ctx->genComboBoxItem("減衰なし [GX_DA_OFF]", 0); // Gentle [GX_DA_GENTLE] @@ -2850,7 +2501,7 @@ void daAlinkHIO_light_c::genMessage(JORMContext* ctx) { ctx->genComboBoxItem("険しい [GX_DA_STEEP]", 3); ctx->endComboBox(); // Angle attenuation - ctx->startComboBox("角度減衰", &m.mAngleAttenuationType, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + ctx->startComboBox("角度減衰", &m.mAngleAttenuationType); // Point [GX_SP_OFF] ctx->genComboBoxItem("ポイント [GX_SP_OFF]", 0); // Right angle [GX_SP_FLAT] @@ -2899,32 +2550,31 @@ daAlinkHIO_light_c::daAlinkHIO_light_c(int param_0) { void daAlinkHIO_kandelaar_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Shake daAlinkHIO_setAnmGenMessage(&m.mShakeAnm, ctx, "振る", 30.0f, 1); // Color Reg 1 R - ctx->genSlider("カラレジ1R", &m.mColorReg1R, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("カラレジ1R", &m.mColorReg1R, 0, 0xff); // Color Reg 1 G - ctx->genSlider("カラレジ1G", &m.mColorReg1G, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("カラレジ1G", &m.mColorReg1G, 0, 0xff); // Color Reg 1 B - ctx->genSlider("カラレジ1B", &m.mColorReg1B, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("カラレジ1B", &m.mColorReg1B, 0, 0xff); // Color Reg 2 R - ctx->genSlider("カラレジ2R", &m.mColorReg2R, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("カラレジ2R", &m.mColorReg2R, 0, 0xff); // Color Reg 2 G - ctx->genSlider("カラレジ2G", &m.mColorReg2G, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("カラレジ2G", &m.mColorReg2G, 0, 0xff); // Color Reg 2 B - ctx->genSlider("カラレジ2B", &m.mColorReg2B, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("カラレジ2B", &m.mColorReg2B, 0, 0xff); // Flame Track Rate - ctx->genSlider("炎追従率", &m.mFlameTrackRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("炎追従率", &m.mFlameTrackRate, 0.0f, 1.0f); // Pour Begin daAlinkHIO_setAnmGenMessage(&m.mBeginUnkAnm, ctx, "注始", 11.0f, 0); // Pour End daAlinkHIO_setAnmGenMessage(&m.mEndUnkAnm, ctx, "注終", 17.0f, 0); // Normal Oil Loss - ctx->genSlider("通常油減り", &m.mNormalOilLoss, 0, 30000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("通常油減り", &m.mNormalOilLoss, 0, 30000); // Shake Oil Loss - ctx->genSlider("振り油減り", &m.mShakeOilLoss, 0, 30000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("振り油減り", &m.mShakeOilLoss, 0, 30000); } daAlinkHIO_kandelaar_c::daAlinkHIO_kandelaar_c() { @@ -2946,50 +2596,37 @@ daAlinkHIO_kandelaar_c::daAlinkHIO_kandelaar_c() { void daAlinkHIO_magneBoots_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Equip daAlinkHIO_setAnmGenMessage(&m.mEquipAnm, ctx, "装備", 29.0f, 1); // Key input rate - ctx->genSlider("キー入力率", &m.mInputFactor, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("キー入力率", &m.mInputFactor, 0.0f, 1.0f); // Foot position ratio - ctx->genSlider("足位置比率", &m.mFeetPositionRatio, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("足位置比率", &m.mFeetPositionRatio, 0.0f, 1.0f); // Walk A speed max - ctx->genSlider("歩きA速度最大", &m.mWalkAnmSpeedMax, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩きA速度最大", &m.mWalkAnmSpeedMax, 0.0f, 10.0f); // Walk A speed min - ctx->genSlider("歩きA速度最小", &m.mWalkAnmSpeedMin, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩きA速度最小", &m.mWalkAnmSpeedMin, 0.0f, 10.0f); // Underwater key input rate - ctx->genSlider("水中キー入力率", &m.mWaterInputFactor, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("水中キー入力率", &m.mWaterInputFactor, 0.0f, 1.0f); // Underwater A speed rate - ctx->genSlider("水中A速度率", &m.mWaterStartWalkAnmRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("水中A速度率", &m.mWaterStartWalkAnmRate, 0.0f, 1.0f); // Underwater A speed rate (slow) - ctx->genSlider("水中A速度率(遅)", &m.mWaterWalkAnmRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("水中A速度率(遅)", &m.mWaterWalkAnmRate, 0.0f, 1.0f); // Underwater A speed rate (sword) - ctx->genSlider("水中A速度率(剣)", &m.mWaterVelRateSword, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("水中A速度率(剣)", &m.mWaterVelRateSword, 0.0f, 1.0f); // Max fly speed - ctx->genSlider("最大飛び速度", &m.mMaxMagneFlySpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最大飛び速度", &m.mMaxMagneFlySpeed, 0.0f, 100.0f); // Fly acceleration - ctx->genSlider("飛び加速度", &m.mMagneFlyAccelRate, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("飛び加速度", &m.mMagneFlyAccelRate, 0.0f, 100.0f); // Underwater vertical speed rate - ctx->genSlider("水中垂直速度率", &m.mWaterVelocityY, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("水中垂直速度率", &m.mWaterVelocityY, 0.0f, 1.0f); // Underwater horizontal speed rate - ctx->genSlider("水中平面速度率", &m.mWaterVelocityX, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("水中平面速度率", &m.mWaterVelocityX, 0.0f, 1.0f); // Underwater key input rate (Zora) - ctx->genSlider("水中キー入力率(ゾーラ)", &m.mZoraWaterInputFactor, 0.0f, 1.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("水中キー入力率(ゾーラ)", &m.mZoraWaterInputFactor, 0.0f, 1.0f); // Underwater A speed rate (Zora) - ctx->genSlider("水中A速度率(ゾーラ)", &m.mZoraWaterAnmSpeed, 0.0f, 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("水中A速度率(ゾーラ)", &m.mZoraWaterAnmSpeed, 0.0f, 1.0f); } daAlinkHIO_magneBoots_c::daAlinkHIO_magneBoots_c() { @@ -3011,7 +2648,7 @@ daAlinkHIO_magneBoots_c::daAlinkHIO_magneBoots_c() { void daAlinkHIO_fmChain_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Grip daAlinkHIO_setAnmGenMessage(&m.mGripAnm, ctx, "掴み", 20.0f, 1); // Unfinished @@ -3037,48 +2674,39 @@ daAlinkHIO_fmChain_c::daAlinkHIO_fmChain_c() { void daAlinkHIO_hookshot_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Idle A speed - ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.0f, 10.0f); // Start interpolation - ctx->genSlider("開始補間", &m.mStartInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("開始補間", &m.mStartInterpolation, 0.0f, 10.0f); // Maximum length - ctx->genSlider("最大長さ", &m.mMaxLength, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大長さ", &m.mMaxLength, 0.0f, 10000.0f); // Launch speed - ctx->genSlider("発射速度", &m.mShootSpeed, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("発射速度", &m.mShootSpeed, 0.0f, 500.0f); // Return speed - ctx->genSlider("戻り速度", &m.mReturnSpeed, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("戻り速度", &m.mReturnSpeed, 0.0f, 500.0f); // Pierce return speed - ctx->genSlider("刺戻り速度", &m.mStickReturnSpeed, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("刺戻り速度", &m.mStickReturnSpeed, 0.0f, 500.0f); // Shoot daAlinkHIO_setAnmGenMessage(&m.mShootAnm, ctx, "撃つ", 12.0f, 0); // Throw wait daAlinkHIO_setAnmGenMessage(&m.mRoofHangAnm, ctx, "天井停止", 39.0f, 1); // Ceiling ascent speed - ctx->genSlider("天井上昇速度", &m.mRoofHangRiseSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("天井上昇速度", &m.mRoofHangRiseSpeed, 0.0f, 50.0f); // Ceiling descent speed - ctx->genSlider("天井降下速度", &m.mRoofHangDecendSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("天井降下速度", &m.mRoofHangDecendSpeed, 0.0f, 50.0f); // Wall wait daAlinkHIO_setAnmGenMessage(&m.mWallHangAnm, ctx, "壁停止", 28.0f, 1); // Forced pierce - ctx->genCheckBox("強制刺さり", &m.mForceStick, '\x01', 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox("強制刺さり", &m.mForceStick, '\x01'); // Boss battle maximum length - ctx->genSlider("ボス戦最大長さ", &m.mBossMaxLength, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ボス戦最大長さ", &m.mBossMaxLength, 0.0f, 10000.0f); // Boss battle launch speed - ctx->genSlider("ボス戦発射速度", &m.mBossShootSpeed, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ボス戦発射速度", &m.mBossShootSpeed, 0.0f, 500.0f); // Boss battle return speed - ctx->genSlider("ボス戦戻り速度", &m.mBossReturnSpeed, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ボス戦戻り速度", &m.mBossReturnSpeed, 0.0f, 500.0f); // Boss battle pierce return speed - ctx->genSlider("ボス戦刺戻り速度", &m.mBossStickReturnSpeed, 0.0f, 500.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ボス戦刺戻り速度", &m.mBossStickReturnSpeed, 0.0f, 500.0f); } daAlinkHIO_hookshot_c::daAlinkHIO_hookshot_c() { @@ -3100,44 +2728,35 @@ daAlinkHIO_hookshot_c::daAlinkHIO_hookshot_c() { void daAlinkHIO_spinner_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Gravity - ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f); // Max fall speed - ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -100.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -100.0f, 0.0f); // Jump rate - ctx->genSlider("ジャンプ比率", &m.mJumpRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ比率", &m.mJumpRate, 0.0f, 1.0f); // Board wait time - ctx->genSlider("乗込待ち時間", &m.mBoardWaitTime, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("乗込待ち時間", &m.mBoardWaitTime, 0, 1000); // Ride move time - ctx->genSlider("乗り移動時間", &m.mRideMoveTime, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("乗り移動時間", &m.mRideMoveTime, 0, 0x7fff); // Ride speed - ctx->genSlider("乗り速度", &m.mRideSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("乗り速度", &m.mRideSpeed, 0.0f, 100.0f); // Ride decel max - ctx->genSlider("乗り減速最大", &m.mDecelSpeedMax, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("乗り減速最大", &m.mDecelSpeedMax, 0.0f, 50.0f); // Ride decel min - ctx->genSlider("乗り減速最小", &m.mDecelSpeedMin, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("乗り減速最小", &m.mDecelSpeedMin, 0.0f, 50.0f); // Ride decel rate - ctx->genSlider("乗り減速率", &m.mDecelRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("乗り減速率", &m.mDecelRate, 0.0f, 1.0f); // Ride rot max - ctx->genSlider("乗り旋回最大", &m.mRideRotAngleMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("乗り旋回最大", &m.mRideRotAngleMax, 0, 0x7fff); // Ride rot min - ctx->genSlider("乗り旋回最小", &m.mRideRotAngleMin, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("乗り旋回最小", &m.mRideRotAngleMin, 0, 0x7fff); // Kick daAlinkHIO_setAnmGenMessage(&m.mKickAnm, ctx, "蹴り", 21.0f, 1); // Boss ride move time - ctx->genSlider("ボス乗り移動時間", &m.mBossRideMoveTime, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ボス乗り移動時間", &m.mBossRideMoveTime, 0, 0x7fff); // Boss ride speed - ctx->genSlider("ボス乗り速度", &m.mBossRideSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ボス乗り速度", &m.mBossRideSpeed, 0.0f, 100.0f); } daAlinkHIO_spinner_c::daAlinkHIO_spinner_c() { @@ -3159,96 +2778,69 @@ daAlinkHIO_spinner_c::daAlinkHIO_spinner_c() { void daAlinkHIO_ironBall_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Idle A speed - ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.0f, 10.0f); // Foot position ratio - ctx->genSlider("足位置比率", &m.mFeetPosRatio, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("足位置比率", &m.mFeetPosRatio, 0.0f, 1.0f); // Walk A speed max - ctx->genSlider("歩きA速度最大", &m.mWalkAnmSpeedMax, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩きA速度最大", &m.mWalkAnmSpeedMax, 0.0f, 10.0f); // Walk A speed min - ctx->genSlider("歩きA速度最小", &m.mWalkAnmSpeedMin, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩きA速度最小", &m.mWalkAnmSpeedMin, 0.0f, 10.0f); // Prepare A speed - ctx->genSlider("準備A速度", &m.mPrepareAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("準備A速度", &m.mPrepareAnmSpeed, 0.0f, 10.0f); // Prepare interpolation - ctx->genSlider("準備補間", &m.mPrepareInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("準備補間", &m.mPrepareInterpolation, 0.0f, 10.0f); // Swing A speed - ctx->genSlider("回しA速度", &m.mTurnAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("回しA速度", &m.mTurnAnmSpeed, 0.0f, 10.0f); // Swing interpolation - ctx->genSlider("回し補間", &m.mTurnInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("回し補間", &m.mTurnInterpolation, 0.0f, 10.0f); // Pre-throw A speed - ctx->genSlider("投げ前A速度", &m.mPreThrowAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("投げ前A速度", &m.mPreThrowAnmSpeed, 0.0f, 10.0f); // Pre-throw interpolation - ctx->genSlider("投げ前補間", &m.mPreThrowAnmInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("投げ前補間", &m.mPreThrowAnmInterpolation, 0.0f, 10.0f); // Throw A speed - ctx->genSlider("投げA速度", &m.mThrowAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("投げA速度", &m.mThrowAnmSpeed, 0.0f, 10.0f); // Throw interpolation - ctx->genSlider("投げ補間", &m.mThrowInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("投げ補間", &m.mThrowInterpolation, 0.0f, 10.0f); // Pull A speed - ctx->genSlider("引きA速度", &m.mPullAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("引きA速度", &m.mPullAnmSpeed, 0.0f, 10.0f); // Pull interpolation - ctx->genSlider("引き補間", &m.mPullInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("引き補間", &m.mPullInterpolation, 0.0f, 10.0f); // Catch daAlinkHIO_setAnmGenMessage(&m.mCatchAnm, ctx, "キャッチ", 19.0f, 1); // Ball gravity - ctx->genSlider("球重力", &m.mBallGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("球重力", &m.mBallGravity, -10.0f, 0.0f); // Ball max fall speed - ctx->genSlider("球最大落下速度", &m.mBallMaxFallSpeed, -300.0f, 0.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("球最大落下速度", &m.mBallMaxFallSpeed, -300.0f, 0.0f); // Throw ball gravity - ctx->genSlider("投げ球重力", &m.mThrowBallGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("投げ球重力", &m.mThrowBallGravity, -10.0f, 0.0f); // Throw ball speed Z - ctx->genSlider("投げ球速度Z", &m.mThrowSpeedZ, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("投げ球速度Z", &m.mThrowSpeedZ, 0.0f, 100.0f); // Throw ball speed Y - ctx->genSlider("投げ球速度Y", &m.mThrowSpeedY, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("投げ球速度Y", &m.mThrowSpeedY, 0.0f, 100.0f); // Return ball gravity - ctx->genSlider("戻り球重力", &m.mReturnBallGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("戻り球重力", &m.mReturnBallGravity, -10.0f, 0.0f); // Chain speed rate - ctx->genSlider("鎖速度率", &m.mChainSpeedRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("鎖速度率", &m.mChainSpeedRate, 0.0f, 1.0f); // Chain gravity - ctx->genSlider("鎖重力", &m.mChainGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("鎖重力", &m.mChainGravity, -10.0f, 0.0f); // Throw chain gravity - ctx->genSlider("投げ鎖重力", &m.mThrowChainGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("投げ鎖重力", &m.mThrowChainGravity, -10.0f, 0.0f); // Throw chain accel Z - ctx->genSlider("投げ鎖付加速度Z", &m.mThrowChainAccelZ, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("投げ鎖付加速度Z", &m.mThrowChainAccelZ, 0.0f, 100.0f); // Throw chain accel Y - ctx->genSlider("投げ鎖付加速度Y", &m.mThrowChainAccelY, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("投げ鎖付加速度Y", &m.mThrowChainAccelY, 0.0f, 100.0f); // Throw chain add num - ctx->genSlider("投げ鎖追加数", &m.mThrowChainNum, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("投げ鎖追加数", &m.mThrowChainNum, 0, 100); // Return chain accel Y - ctx->genSlider("戻り鎖付加速度Y", &m.mReturnChainAccelY, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("戻り鎖付加速度Y", &m.mReturnChainAccelY, 0.0f, 30.0f); // Return chain add rate - ctx->genSlider("戻り鎖付加率", &m.mReturnChainRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("戻り鎖付加率", &m.mReturnChainRate, 0.0f, 1.0f); // Return chain reduce num - ctx->genSlider("戻り鎖減少数", &m.mReturnChainRemoveNum, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("戻り鎖減少数", &m.mReturnChainRemoveNum, 0, 100); // Attack radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 200.0f); } daAlinkHIO_ironBall_c::daAlinkHIO_ironBall_c() { @@ -3270,22 +2862,19 @@ daAlinkHIO_ironBall_c::daAlinkHIO_ironBall_c() { void daAlinkHIO_copyRod_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Swing daAlinkHIO_setAnmGenMessage(&m.mSwingAnm, ctx, "振り", 19.0f, 1); // Swing end daAlinkHIO_setAnmGenMessage(&m.mBigSwingAnm, ctx, "振り大", 39.0f, 1); // Ball speed - ctx->genSlider("ボール速度", &m.mBallSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ボール速度", &m.mBallSpeed, 0.0f, 100.0f); // Ball return speed - ctx->genSlider("ボール戻速度", &m.mBallReturnSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ボール戻速度", &m.mBallReturnSpeed, 0.0f, 100.0f); // Ball fly distance - ctx->genSlider("ボール飛距離", &m.mBallMaxDistance, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ボール飛距離", &m.mBallMaxDistance, 0.0f, 10000.0f); // Boss battle ball fly distance - ctx->genSlider("ボス戦ボール飛距離", &m.mBossBallMaxDistance, 0.0f, 10000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ボス戦ボール飛距離", &m.mBossBallMaxDistance, 0.0f, 10000.0f); } daAlinkHIO_copyRod_c::daAlinkHIO_copyRod_c() { @@ -3307,7 +2896,7 @@ daAlinkHIO_copyRod_c::daAlinkHIO_copyRod_c() { void daAlinkHIO_pickUp_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Grab daAlinkHIO_setAnmGenMessage(&m.mGrabAnm, ctx, "掴み", 18.0f, 1); // Place @@ -3333,53 +2922,39 @@ daAlinkHIO_pickUp_c::daAlinkHIO_pickUp_c() { void daAlinkHIO_board_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Max speed - ctx->genSlider("最大速度", &m.mMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大速度", &m.mMaxSpeed, 0.0f, 100.0f); // Paddling acceleration - ctx->genSlider("漕ぎ加速", &m.mPushAccel, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("漕ぎ加速", &m.mPushAccel, 0.0f, 100.0f); // Paddling max speed - ctx->genSlider("漕ぎ最大速度", &m.mMaxPushSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("漕ぎ最大速度", &m.mMaxPushSpeed, 0.0f, 100.0f); // Start min speed - ctx->genSlider("開始最低速度", &m.mStartMinSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("開始最低速度", &m.mStartMinSpeed, 0.0f, 100.0f); // Start add speed - ctx->genSlider("開始追加速度", &m.mStartAddSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("開始追加速度", &m.mStartAddSpeed, 0.0f, 100.0f); // Min jump Y speed - ctx->genSlider("最低ジャンプY速度", &m.mMinJumpSpeedY, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最低ジャンプY速度", &m.mMinJumpSpeedY, 0.0f, 100.0f); // Max jump Y speed - ctx->genSlider("最高ジャンプY速度", &m.mMaxJumpSpeedY, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最高ジャンプY速度", &m.mMaxJumpSpeedY, 0.0f, 100.0f); // Stand A speed - ctx->genSlider("立ちA速度", &m.mStandAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("立ちA速度", &m.mStandAnmSpeed, 0.0f, 10.0f); // Stand interpolation - ctx->genSlider("立ち補間", &m.mStandInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("立ち補間", &m.mStandInterpolation, 0.0f, 10.0f); // Sit A speed - ctx->genSlider("座りA速度", &m.mSitAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("座りA速度", &m.mSitAnmSpeed, 0.0f, 10.0f); // Sit interpolation - ctx->genSlider("座り補間", &m.mSitInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("座り補間", &m.mSitInterpolation, 0.0f, 10.0f); // Paddling max A speed - ctx->genSlider("漕ぎ最高A速度", &m.mPushAnmMaxSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("漕ぎ最高A速度", &m.mPushAnmMaxSpeed, 0.0f, 10.0f); // Paddling min A speed - ctx->genSlider("漕ぎ最小A速度", &m.mPushAnmMinSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("漕ぎ最小A速度", &m.mPushAnmMinSpeed, 0.0f, 10.0f); // Paddling interpolation - ctx->genSlider("漕ぎ補間", &m.mPushInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("漕ぎ補間", &m.mPushInterpolation, 0.0f, 10.0f); // Fast paddling switch speed - ctx->genSlider("早漕ぎ切替速度", &m.mFastPushSwitchSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("早漕ぎ切替速度", &m.mFastPushSwitchSpeed, 0.0f, 100.0f); // Fast paddling interpolation - ctx->genSlider("早漕ぎ補間", &m.mFastPushInterpolation, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("早漕ぎ補間", &m.mFastPushInterpolation, 0.0f, 20.0f); // Fly out / Jump daAlinkHIO_setAnmGenMessage(&m.mJumpAnm, ctx, "飛出", 9.0f, 0); // Airborne @@ -3389,14 +2964,11 @@ void daAlinkHIO_board_c::genMessage(JORMContext* ctx) { // Rotation slash daAlinkHIO_setAnmGenMessage(&m.mSpinAnm, ctx, "回転斬り", 24.0f, 0); // Rotation slash min jump Y speed - ctx->genSlider("回転斬最低ジャンプY速度", &m.mSpinMinJumpSpeedY, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("回転斬最低ジャンプY速度", &m.mSpinMinJumpSpeedY, 0.0f, 100.0f); // Rotation slash max jump Y speed - ctx->genSlider("回転斬最高ジャンプY速度", &m.mSpinMaxJumpSpeedY, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("回転斬最高ジャンプY速度", &m.mSpinMaxJumpSpeedY, 0.0f, 100.0f); // Dedicated effect max speed - ctx->genSlider("専用エフェクト最大速度", &m.mEffectMaxSpeed, 0.1f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("専用エフェクト最大速度", &m.mEffectMaxSpeed, 0.1f, 200.0f); } daAlinkHIO_board_c::daAlinkHIO_board_c() { @@ -3418,7 +2990,7 @@ daAlinkHIO_board_c::daAlinkHIO_board_c() { void daAlinkHIO_bottle_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, (JOREventListener*)0x0, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Start drink daAlinkHIO_setAnmGenMessage(&m.mStartDrinkAnm, ctx, "飲む始め", 56.0f, 0); // End drink @@ -3458,7 +3030,7 @@ daAlinkHIO_bottle_c::daAlinkHIO_bottle_c() { void daAlinkHIO_item_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Bow ctx->genNode("弓", &mBow, 0, 0); // Boomerang @@ -3492,28 +3064,21 @@ void daAlinkHIO_item_c::genMessage(JORMContext* ctx) { // Bag hold equip daAlinkHIO_setAnmGenMessage(&m.mOneHandEquipAnm, ctx, "片手装備", 12.0f, 1); // Bag hold quick release A speed - ctx->genSlider("片手早解除A速度", &m.mOneHandReleaseAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("片手早解除A速度", &m.mOneHandReleaseAnmSpeed, 0.0f, 10.0f); // Two-hand hold equip daAlinkHIO_setAnmGenMessage(&m.mTwoHandEquipAnm, ctx, "両手装備", 14.0f, 1); // Two-hand hold quick release A speed - ctx->genSlider("両手早解除A速度", &m.mTwoHandReleaseAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("両手早解除A速度", &m.mTwoHandReleaseAnmSpeed, 0.0f, 10.0f); // Item first-person long press time - ctx->genSlider("アイテム主観長押時間", &m.mItemFPTransitionTimer, 0, 0x78, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("アイテム主観長押時間", &m.mItemFPTransitionTimer, 0, 0x78); // First-person downward max min move interval - ctx->genSlider("主観下方最大", &m.mItemFPMaxUnk, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("主観下方最大", &m.mItemFPMaxUnk, 0, 0x4000); // First-person camera downward max min move interval - ctx->genSlider("主観上方最大", &m.mItemFPUpMaxUnk, -0x4000, 0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("主観上方最大", &m.mItemFPUpMaxUnk, -0x4000, 0); // First-person upward max min move interval - ctx->genSlider("Wii主観カメラ下方最大", &m.mWiiItemFPDownMaxUnk, 0, 0x4000, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Wii主観カメラ下方最大", &m.mWiiItemFPDownMaxUnk, 0, 0x4000); // First-person camera upward max min move interval - ctx->genSlider("Wii主観カメラ上方最大", &m.mWiiItemFPUpMaxUnk, -0x4000, 0, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Wii主観カメラ上方最大", &m.mWiiItemFPUpMaxUnk, -0x4000, 0); } daAlinkHIO_item_c::daAlinkHIO_item_c() @@ -3552,64 +3117,47 @@ daAlinkHIO_bow_c::~daAlinkHIO_bow_c() {} void daAlinkHIO_ladder_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Climb up start A speed - ctx->genSlider("登開始A速度", &m.mClimbUpStartASpeed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + ctx->genSlider("登開始A速度", &m.mClimbUpStartASpeed, 0.0f, 10.0f); // Climb up start interpolation - ctx->genSlider("登開始補間", &m.mClimbUpStartInterp, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + ctx->genSlider("登開始補間", &m.mClimbUpStartInterp, 0.0f, 10.0f); // Climb up end A speed - ctx->genSlider("登終了A速度", &m.mClimbUpEndASpeed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + ctx->genSlider("登終了A速度", &m.mClimbUpEndASpeed, 0.0f, 10.0f); // Climb up end CF (transition frame?) - ctx->genSlider("登終了CF", &m.mClimbUpEndCF, 0.0f, 45.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + ctx->genSlider("登終了CF", &m.mClimbUpEndCF, 0.0f, 45.0f); // Climb up end interpolation - ctx->genSlider("登終了補間", &m.mClimbUpEndInterp, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + ctx->genSlider("登終了補間", &m.mClimbUpEndInterp, 0.0f, 10.0f); // Climb down start A speed - ctx->genSlider("降開始A速度", &m.mClimbDownStartASpeed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + ctx->genSlider("降開始A速度", &m.mClimbDownStartASpeed, 0.0f, 10.0f); // Climb down start interpolation - ctx->genSlider("降開始補間", &m.mClimbDownStartInterp, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + ctx->genSlider("降開始補間", &m.mClimbDownStartInterp, 0.0f, 10.0f); // Climb down end A speed - ctx->genSlider("降終了A速度", &m.mClimbDownEndASpeed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + ctx->genSlider("降終了A速度", &m.mClimbDownEndASpeed, 0.0f, 10.0f); // Climb down end CF (transition frame?) - ctx->genSlider("降終了CF", &m.mClimbDownEndCF, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + ctx->genSlider("降終了CF", &m.mClimbDownEndCF, 0.0f, 20.0f); // Climb down end interpolation - ctx->genSlider("降終了補間", &m.mClimbDownEndInterp, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + ctx->genSlider("降終了補間", &m.mClimbDownEndInterp, 0.0f, 10.0f); // Movement minimum A speed - ctx->genSlider("移動最低A速度", &m.mMoveMinASpeed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + ctx->genSlider("移動最低A速度", &m.mMoveMinASpeed, 0.0f, 10.0f); // Movement maximum speed - ctx->genSlider("移動最高A速度", &m.mMoveMaxSpeed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + ctx->genSlider("移動最高A速度", &m.mMoveMaxSpeed, 0.0f, 10.0f); // Movement interpolation - ctx->genSlider("移動補間", &m.mMoveInterp, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("移動補間", &m.mMoveInterp, 0.0f, 10.0f); // Wall attach animation daAlinkHIO_setAnmGenMessage(&m.mWallAttachAnm, ctx, "壁飛付", 13.0f, 1); // Wall approach offset - ctx->genSlider("壁飛付オフセット", &m.mWallApproachOffset, 0.0f, 300.0f, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + ctx->genSlider("壁飛付オフセット", &m.mWallApproachOffset, 0.0f, 300.0f); // Wall attach miss animation daAlinkHIO_setAnmGenMessage(&m.mWallAttachMissAnm, ctx, "壁飛付ミス", 47.0f, 1); // Wall vertical movement minimum anm speed - ctx->genSlider("壁縦移動最低A速度", &m.mWallVerticalMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + ctx->genSlider("壁縦移動最低A速度", &m.mWallVerticalMinAnmSpeed, 0.0f, 10.0f); // Wall vertical movement maximum anm speed - ctx->genSlider("壁縦移動最高A速度", &m.mWallVerticalMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + ctx->genSlider("壁縦移動最高A速度", &m.mWallVerticalMaxAnmSpeed, 0.0f, 10.0f); // Wall horizontal movement minimum anm speed - ctx->genSlider("壁横移動最低A速度", &m.mWallHorizontalMinAnmSpeed, 0.0f, 10.0f, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("壁横移動最低A速度", &m.mWallHorizontalMinAnmSpeed, 0.0f, 10.0f); // Wall horizontal movement maximum anm speed - ctx->genSlider("壁横移動最高A速度", &m.mWallHorizontalMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("壁横移動最高A速度", &m.mWallHorizontalMaxAnmSpeed, 0.0f, 10.0f); } daAlinkHIO_ladder_c::daAlinkHIO_ladder_c() { @@ -3631,52 +3179,39 @@ daAlinkHIO_ladder_c::daAlinkHIO_ladder_c() { void daAlinkHIO_roofHang_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Roof hang daAlinkHIO_setAnmGenMessage(&m.mRoofHangAnm, ctx, "張付", 34.0f, 1); // Standby A speed - ctx->genSlider("待機A速度", &m.mStandbyASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mStandbyASpeed, 0.0f, 10.0f); // Standby interpolation - ctx->genSlider("待機補間", &m.mStandbyInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機補間", &m.mStandbyInterp, 0.0f, 10.0f); // Vertical movement minimum A speed - ctx->genSlider("縦移動最低A速度", &m.mVertMoveMinASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("縦移動最低A速度", &m.mVertMoveMinASpeed, 0.0f, 10.0f); // Vertical movement maximum A speed - ctx->genSlider("縦移動最高A速度", &m.mVertMoveMaxASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("縦移動最高A速度", &m.mVertMoveMaxASpeed, 0.0f, 10.0f); // Vertical movement interpolation - ctx->genSlider("縦移動補間", &m.mVertMoveInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("縦移動補間", &m.mVertMoveInterp, 0.0f, 10.0f); // Vertical movement minimum speed - ctx->genSlider("縦移動最低速度", &m.mVertMoveMinSpeed, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("縦移動最低速度", &m.mVertMoveMinSpeed, 0.0f, 20.0f); // Vertical movement maximum speed - ctx->genSlider("縦移動最高速度", &m.mVertMoveMaxSpeed, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("縦移動最高速度", &m.mVertMoveMaxSpeed, 0.0f, 20.0f); // Horizontal movement minimum A speed - ctx->genSlider("横移動最低A速度", &m.mHorizMoveMinASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("横移動最低A速度", &m.mHorizMoveMinASpeed, 0.0f, 10.0f); // Horizontal movement maximum A speed - ctx->genSlider("横移動最高A速度", &m.mHorizMoveMaxASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("横移動最高A速度", &m.mHorizMoveMaxASpeed, 0.0f, 10.0f); // Horizontal movement interpolation - ctx->genSlider("横移動補間", &m.mHorizMoveInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("横移動補間", &m.mHorizMoveInterp, 0.0f, 10.0f); // Turn angle rate - ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14); // Maximum turn angle - ctx->genSlider("旋回角度最大", &m.mMaxTurnAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最大", &m.mMaxTurnAngle, 0, 0x7fff); // Minimum turn angle - ctx->genSlider("旋回角度最小", &m.mMinTurnAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最小", &m.mMinTurnAngle, 0, 0x7fff); // Invert A speed - ctx->genSlider("反転A速度", &m.mInvertASpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("反転A速度", &m.mInvertASpeed, 0.0f, 10.0f); // Invert interpolation - ctx->genSlider("反転補間", &m.mInvertInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("反転補間", &m.mInvertInterp, 0.0f, 10.0f); } daAlinkHIO_roofHang_c::daAlinkHIO_roofHang_c() { @@ -3698,9 +3233,9 @@ daAlinkHIO_roofHang_c::daAlinkHIO_roofHang_c() { void daAlinkHIO_grab_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Force weight specification - ctx->genSlider("強制重さ指定", &m.mForceWeightSpec, 0, 3, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("強制重さ指定", &m.mForceWeightSpec, 0, 3); // Preparation daAlinkHIO_setAnmGenMessage(&m.mPrepareAnm, ctx, "準備", 4.0f, 0); // Lift up @@ -3718,7 +3253,7 @@ void daAlinkHIO_grab_c::genMessage(JORMContext* ctx) { // Failure daAlinkHIO_setAnmGenMessage(&m.mFailAnm, ctx, "失敗", 19.0f, 1); // Failure stop time - ctx->genSlider("失敗停止時間", &m.mFailStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("失敗停止時間", &m.mFailStopTime, 0, 300); // Carry lift daAlinkHIO_setAnmGenMessage(&m.mCarryLiftAnm, ctx, "抱え上げ", 39.0f, 0); // Carry place reverse @@ -3746,141 +3281,103 @@ daAlinkHIO_grab_c::daAlinkHIO_grab_c() { void daAlinkHIO_swim_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Start height - ctx->genSlider("開始高さ", &m.mStartHeight, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("開始高さ", &m.mStartHeight, 0.0f, 200.0f); // Float up height - ctx->genSlider("浮上高さ", &m.mFloatUpHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("浮上高さ", &m.mFloatUpHeight, 0.0f, 100.0f); // Float up daAlinkHIO_setAnmGenMessage(&m.mFloatUpAnm, ctx, "浮上", 25.0f, 1); // Turn rate - ctx->genSlider("旋回率", &m.mTurnRate, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回率", &m.mTurnRate, 0, 100); // Max turn - ctx->genSlider("旋回最大", &m.mMaxTurn, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回最大", &m.mMaxTurn, 0, 0x7fff); // Min turn - ctx->genSlider("旋回最小", &m.mMinTurn, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回最小", &m.mMinTurn, 0, 0x7fff); // Underwater turn rate - ctx->genSlider("水中旋回率", &m.mUnderwaterTurnRate, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("水中旋回率", &m.mUnderwaterTurnRate, 0, 100); // Underwater max turn - ctx->genSlider("水中旋回最大", &m.mUnderwaterMaxTurn, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("水中旋回最大", &m.mUnderwaterMaxTurn, 0, 0x7fff); // Underwater min turn - ctx->genSlider("水中旋回最小", &m.mUnderwaterMinTurn, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("水中旋回最小", &m.mUnderwaterMinTurn, 0, 0x7fff); // Forward min speed - ctx->genSlider("前最小速度", &m.mForwardMinSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("前最小速度", &m.mForwardMinSpeed, 0.0f, 50.0f); // Forward max speed - ctx->genSlider("前最高速度", &m.mForwardMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("前最高速度", &m.mForwardMaxSpeed, 0.0f, 50.0f); // Strafe max speed - ctx->genSlider("横最高速度", &m.mStrafeMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("横最高速度", &m.mStrafeMaxSpeed, 0.0f, 50.0f); // Backward max speed - ctx->genSlider("後最高速度", &m.mBackwardMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後最高速度", &m.mBackwardMaxSpeed, 0.0f, 50.0f); // Underwater max speed - ctx->genSlider("水中最高速度", &m.mUnderwaterMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("水中最高速度", &m.mUnderwaterMaxSpeed, 0.0f, 50.0f); // Underwater button additional speed - ctx->genSlider("水中ボタン追加速度", &m.mUnderwaterButtonAdditionalSpeed, 0.0f, 50.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("水中ボタン追加速度", &m.mUnderwaterButtonAdditionalSpeed, 0.0f, 50.0f); // Underwater fall max speed - ctx->genSlider("水中落下時最高速度", &m.mUnderwaterFallMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("水中落下時最高速度", &m.mUnderwaterFallMaxSpeed, 0.0f, 50.0f); // Acceleration - ctx->genSlider("加速", &m.mAcceleration, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速", &m.mAcceleration, 0.0f, 20.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 20.0f); // Max fall speed - ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -100.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -100.0f, 0.0f); // Standing max fall speed - ctx->genSlider("立ち最大落下速度", &m.mStandingMaxFallSpeed, -100.0f, 0.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("立ち最大落下速度", &m.mStandingMaxFallSpeed, -100.0f, 0.0f); // Boots gravity - ctx->genSlider("ブーツ重力", &m.mBootsGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ブーツ重力", &m.mBootsGravity, -10.0f, 0.0f); // Boots max fall speed - ctx->genSlider("ブーツ最大落下速度", &m.mBootsMaxFallSpeed, -100.0f, 0.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ブーツ最大落下速度", &m.mBootsMaxFallSpeed, -100.0f, 0.0f); // Max float up speed - ctx->genSlider("最大浮上速度", &m.mMaxFloatUpSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最大浮上速度", &m.mMaxFloatUpSpeed, 0.0f, 100.0f); // Buoyancy - ctx->genSlider("浮力", &m.mBuoyancy, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("浮力", &m.mBuoyancy, 0.0f, 10.0f); // Wait anm speed - ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.0f, 10.0f); // Wait interpolation - ctx->genSlider("待機補間", &m.mWaitInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機補間", &m.mWaitInterpolation, 0.0f, 30.0f); // Wait up down shake amount - ctx->genSlider("待機上下揺れ量", &m.mWaitUpDownShakeAmount, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("待機上下揺れ量", &m.mWaitUpDownShakeAmount, 0.0f, 10.0f); // Forward min anm speed - ctx->genSlider("前最小A速度", &m.mForwardMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前最小A速度", &m.mForwardMinAnmSpeed, 0.0f, 10.0f); // Forward max anm speed - ctx->genSlider("前最大A速度", &m.mForwardMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("前最大A速度", &m.mForwardMaxAnmSpeed, 0.0f, 10.0f); // Strafe min anm speed - ctx->genSlider("横最小A速度", &m.mStrafeMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("横最小A速度", &m.mStrafeMinAnmSpeed, 0.0f, 10.0f); // Strafe max anm speed - ctx->genSlider("横最大A速度", &m.mStrafeMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("横最大A速度", &m.mStrafeMaxAnmSpeed, 0.0f, 10.0f); // Backward min anm speed - ctx->genSlider("後最小A速度", &m.mBackwardMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("後最小A速度", &m.mBackwardMinAnmSpeed, 0.0f, 10.0f); // Backward max anm speed - ctx->genSlider("後最大A速度", &m.mBackwardMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("後最大A速度", &m.mBackwardMaxAnmSpeed, 0.0f, 10.0f); // Underwater min anm speed - ctx->genSlider("水中最小A速度", &m.mUnderwaterMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("水中最小A速度", &m.mUnderwaterMinAnmSpeed, 0.0f, 10.0f); // Underwater max anm speed - ctx->genSlider("水中最大A速度", &m.mUnderwaterMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("水中最大A速度", &m.mUnderwaterMaxAnmSpeed, 0.0f, 10.0f); // Underwater additional A speed - ctx->genSlider("水中追加A速度", &m.mUnderwaterAdditionalAnmSpeed, 0.0f, 5.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("水中追加A速度", &m.mUnderwaterAdditionalAnmSpeed, 0.0f, 5.0f); // Movement interpolation - ctx->genSlider("移動補間", &m.mMoveInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("移動補間", &m.mMoveInterpolation, 0.0f, 30.0f); // Climb height - ctx->genSlider("よじ登り高さ", &m.mClimbHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("よじ登り高さ", &m.mClimbHeight, 0.0f, 100.0f); // Climb water surface under - ctx->genSlider("よじ登り水面下", &m.mClimbWaterSurfaceUnder, -100.0f, 0.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("よじ登り水面下", &m.mClimbWaterSurfaceUnder, -100.0f, 0.0f); // Normal buoyancy water depth - ctx->genSlider("通常浮力水深", &m.mNormalBuoyancyWaterDepth, 0.0f, 1000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("通常浮力水深", &m.mNormalBuoyancyWaterDepth, 0.0f, 1000.0f); // Zora clothes buoyancy - ctx->genSlider("ゾーラ服浮力", &m.mZoraClothesBuoyancy, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ゾーラ服浮力", &m.mZoraClothesBuoyancy, 0.0f, 10.0f); // Dive daAlinkHIO_setAnmGenMessage(&m.mDiveAnm, ctx, "潜り", 23.0f, 0); // Underwater dive daAlinkHIO_setAnmGenMessage(&m.mUnderwaterDiveAnm, ctx, "水中潜り", 23.0f, 0); // Float up swim speed rate - ctx->genSlider("浮上泳ぎ速度率", &m.mFloatUpSwimSpeedRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("浮上泳ぎ速度率", &m.mFloatUpSwimSpeedRate, 0.0f, 1.0f); // Dash max speed - ctx->genSlider("D最高速度", &m.mDashMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("D最高速度", &m.mDashMaxSpeed, 0.0f, 50.0f); // Dash deceleration - ctx->genSlider("D減速", &m.mDashDeceleration, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("D減速", &m.mDashDeceleration, 0.0f, 20.0f); // Dash min A speed - ctx->genSlider("D最小A速度", &m.mDashMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("D最小A速度", &m.mDashMinAnmSpeed, 0.0f, 10.0f); // Dash max A speed - ctx->genSlider("D最大A速度", &m.mDashMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("D最大A速度", &m.mDashMaxAnmSpeed, 0.0f, 10.0f); // Dash daAlinkHIO_setAnmGenMessage(&m.mDashAnm, ctx, "ダッシュ", 37.0f, 0); } @@ -3904,152 +3401,111 @@ daAlinkHIO_swim_c::daAlinkHIO_swim_c() { void daAlinkHIO_wlMove_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Max speed - ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 100.0f); // Idle A speed - ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f); // Walk A speed - ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.0f, 10.0f); // Brisk walk A speed - ctx->genSlider("速歩A速度", &m.mBriskWalkAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("速歩A速度", &m.mBriskWalkAnmSpeed, 0.0f, 10.0f); // Run A speed - ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.0f, 10.0f); // Quick run A speed - ctx->genSlider("速走A速度", &m.mQuickRunAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("速走A速度", &m.mQuickRunAnmSpeed, 0.0f, 10.0f); // Idle to walk rate - ctx->genSlider("待機→歩き率", &m.mIdleToWalkRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機→歩き率", &m.mIdleToWalkRate, 0.0f, 1.0f); // Walk to brisk walk rate - ctx->genSlider("歩き→速歩率", &m.mWalkToBriskWalkRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩き→速歩率", &m.mWalkToBriskWalkRate, 0.0f, 1.0f); // Standby run to run rate - ctx->genSlider("待走→走り率", &m.mStandbyRunToRunRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("待走→走り率", &m.mStandbyRunToRunRate, 0.0f, 1.0f); // Run to quick run rate - ctx->genSlider("走り→速走率", &m.mRunToQuickRunRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("走り→速走率", &m.mRunToQuickRunRate, 0.0f, 1.0f); // Run A minimum blend rate - ctx->genSlider("走りA最低合成率", &m.mRunAnmMinBlendRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("走りA最低合成率", &m.mRunAnmMinBlendRate, 0.0f, 1.0f); // Normal interpolation - ctx->genSlider("通常補間", &m.mNormalInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("通常補間", &m.mNormalInterpolation, 0.0f, 10.0f); // Walk-run interpolation - ctx->genSlider("歩き走り補間", &m.mWalkRunInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩き走り補間", &m.mWalkRunInterpolation, 0.0f, 30.0f); // Idle interpolation - ctx->genSlider("待機補間", &m.mIdleInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機補間", &m.mIdleInterpolation, 0.0f, 10.0f); // Turn maximum - ctx->genSlider("旋回最大", &m.mTurnMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回最大", &m.mTurnMax, 0, 0x7fff); // Turn minimum - ctx->genSlider("旋回最小", &m.mTurnMin, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回最小", &m.mTurnMin, 0, 0x7fff); // Turn angle rate - ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14); // Acceleration - ctx->genSlider("加速", &m.mAcceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速", &m.mAcceleration, 0.0f, 10.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f); // Slip daAlinkHIO_setAnmGenMessage(&m.mSlipAnm, ctx, "滑り", 14.0f, 0); // Slip start rate - ctx->genSlider("滑り開始率", &m.mSlipStartRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り開始率", &m.mSlipStartRate, 0.0f, 1.0f); // Slip initial speed rate - ctx->genSlider("滑り初速率", &m.mSlipInitSpeedRate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り初速率", &m.mSlipInitSpeedRate, 0.0f, 10.0f); // Slip deceleration - ctx->genSlider("滑り減速", &m.mSlipDeceleration, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り減速", &m.mSlipDeceleration, 0.0f, 20.0f); // Reverse turn daAlinkHIO_setAnmGenMessage(&m.mReverseAnm, ctx, "反転", 14.0f, 1); // Idle reverse start frame - ctx->genSlider("待機反転開始F", &m.mIdleReverseStartFrame, 0.0f, 14.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("待機反転開始F", &m.mIdleReverseStartFrame, 0.0f, 14.0f); // Reverse speed - ctx->genSlider("反転速度", &m.mReverseSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("反転速度", &m.mReverseSpeed, 0.0f, 50.0f); // Reverse fall height - ctx->genSlider("反転落下高さ", &m.mReverseFallHeight, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("反転落下高さ", &m.mReverseFallHeight, 0.0f, 500.0f); // Reverse fall interpolation - ctx->genSlider("反転落下補間", &m.mReverseFallInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("反転落下補間", &m.mReverseFallInterpolation, 0.0f, 30.0f); // Gaze max speed - ctx->genSlider("注目最高速度", &m.mGazeMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("注目最高速度", &m.mGazeMaxSpeed, 0.0f, 100.0f); // Gaze idle A speed - ctx->genSlider("注目待機A速度", &m.mGazeIdleAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("注目待機A速度", &m.mGazeIdleAnmSpeed, 0.0f, 10.0f); // A Dash daAlinkHIO_setAnmGenMessage(&m.mADashAnm, ctx, "Aダッシュ", 19.0f, 1); // A Dash duration - ctx->genSlider("Aダッシュ時間", &m.mADashDuration, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("Aダッシュ時間", &m.mADashDuration, 0, 300); // A Dash cooldown time - ctx->genSlider("Aダッシュ禁止時間", &m.mADashCooldownTime, 0, 300, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("Aダッシュ禁止時間", &m.mADashCooldownTime, 0, 300); // A Dash max speed - ctx->genSlider("Aダッシュ最高速度", &m.mADashMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("Aダッシュ最高速度", &m.mADashMaxSpeed, 0.0f, 100.0f); // A Dash initial speed - ctx->genSlider("Aダッシュ初速", &m.mADashInitSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("Aダッシュ初速", &m.mADashInitSpeed, 0.0f, 100.0f); // A Dash quick run A speed - ctx->genSlider("Aダッシュ速走A速度", &m.mADashQuickRunAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ速走A速度", &m.mADashQuickRunAnmSpeed, 0.0f, 10.0f); // A Dash acceleration - ctx->genSlider("Aダッシュ加速", &m.mADashAcceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("Aダッシュ加速", &m.mADashAcceleration, 0.0f, 10.0f); // A Dash duration (slow) - ctx->genSlider("Aダッシュ時間(遅)", &m.mADashDurationSlow, 0, 300, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("Aダッシュ時間(遅)", &m.mADashDurationSlow, 0, 300); // A Dash cooldown time (slow) - ctx->genSlider("Aダッシュ禁止時間(遅)", &m.mADashCooldownTimeSlow, 0, 300, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ禁止時間(遅)", &m.mADashCooldownTimeSlow, 0, 300); // A Dash max speed (slow) - ctx->genSlider("Aダッシュ最高速度(遅)", &m.mADashMaxSpeedSlow, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ最高速度(遅)", &m.mADashMaxSpeedSlow, 0.0f, 100.0f); // A Dash initial speed (slow) - ctx->genSlider("Aダッシュ初速(遅)", &m.mADashInitSpeedSlow, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ初速(遅)", &m.mADashInitSpeedSlow, 0.0f, 100.0f); // A Dash quick run A speed (slow) - ctx->genSlider("Aダッシュ速走A速度(遅)", &m.mADashQuickRunASpeedSlow, 0.0f, 10.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ速走A速度(遅)", &m.mADashQuickRunASpeedSlow, 0.0f, 10.0f); // A Dash acceleration (slow) - ctx->genSlider("Aダッシュ加速(遅)", &m.mADashAccelerationSlow, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ加速(遅)", &m.mADashAccelerationSlow, 0.0f, 10.0f); // A Dash duration (slow 2) - ctx->genSlider("Aダッシュ時間(遅2)", &m.mADashDurationSlow2, 0, 300, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ時間(遅2)", &m.mADashDurationSlow2, 0, 300); // A Dash cooldown time (slow 2) - ctx->genSlider("Aダッシュ禁止時間(遅2)", &m.mADashCooldownTimeSlow2, 0, 300, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ禁止時間(遅2)", &m.mADashCooldownTimeSlow2, 0, 300); // A Dash max speed (slow 2) - ctx->genSlider("Aダッシュ最高速度(遅2)", &m.mADashMaxSpeedSlow2, 0.0f, 100.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ最高速度(遅2)", &m.mADashMaxSpeedSlow2, 0.0f, 100.0f); // A Dash initial speed (slow 2) - ctx->genSlider("Aダッシュ初速(遅2)", &m.mADashInitSpeedSlow2, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ初速(遅2)", &m.mADashInitSpeedSlow2, 0.0f, 100.0f); // A Dash quick run A speed (slow 2) - ctx->genSlider("Aダッシュ速走A速度(遅2)", &m.mADashQuickRunASpeedSlow2, 0.0f, 10.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ速走A速度(遅2)", &m.mADashQuickRunASpeedSlow2, 0.0f, 10.0f); // A Dash acceleration (slow 2) - ctx->genSlider("Aダッシュ加速(遅2)", &m.mADashAccelerationSlow2, 0.0f, 10.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Aダッシュ加速(遅2)", &m.mADashAccelerationSlow2, 0.0f, 10.0f); // Dash rebound daAlinkHIO_setAnmGenMessage(&m.mDashReboundAnm, ctx, "ダッシュ跳返", 41.0f, 1); // Dash rebound horizontal speed - ctx->genSlider("ダッシュ跳返水平速度", &m.mDashReboundHorizontalSpeed, 0.0f, 100.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダッシュ跳返水平速度", &m.mDashReboundHorizontalSpeed, 0.0f, 100.0f); // Dash rebound vertical speed - ctx->genSlider("ダッシュ跳返垂直速度", &m.mDashReboundVerticalSpeed, 0.0f, 100.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ダッシュ跳返垂直速度", &m.mDashReboundVerticalSpeed, 0.0f, 100.0f); } daAlinkHIO_wlMove_c::daAlinkHIO_wlMove_c() { @@ -4071,57 +3527,45 @@ daAlinkHIO_wlMove_c::daAlinkHIO_wlMove_c() { void daAlinkHIO_wlMoveNoP_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Max speed - ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 100.0f); // Idle animation speed - ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f); // Walk animation speed - ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.0f, 10.0f); // Jog animation speed - ctx->genSlider("速歩A速度", &m.mJogAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("速歩A速度", &m.mJogAnmSpeed, 0.0f, 10.0f); // Run animation speed - ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.0f, 10.0f); // Idle to walk rate - ctx->genSlider("待機→歩き率", &m.mIdleToWalkRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機→歩き率", &m.mIdleToWalkRate, 0.0f, 1.0f); // Walk to jog rate - ctx->genSlider("歩き→速歩率", &m.mWalkToJogRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩き→速歩率", &m.mWalkToJogRate, 0.0f, 1.0f); // Jog to run rate - ctx->genSlider("待走→走り率", &m.mJogToRunRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待走→走り率", &m.mJogToRunRate, 0.0f, 1.0f); // Run animation minimum blend rate - ctx->genSlider("走りA最低合成率", &m.mRunAnmMinBlendRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("走りA最低合成率", &m.mRunAnmMinBlendRate, 0.0f, 1.0f); // Walk run interpolation - ctx->genSlider("歩き走り補間", &m.mWalkRunInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("歩き走り補間", &m.mWalkRunInterpolation, 0.0f, 30.0f); // Max turn - ctx->genSlider("旋回最大", &m.mTurnMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回最大", &m.mTurnMax, 0, 0x7fff); // Min turn - ctx->genSlider("旋回最小", &m.mTurnMin, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回最小", &m.mTurnMin, 0, 0x7fff); // Turn angle rate - ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14); // Acceleration - ctx->genSlider("加速", &m.mAcceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速", &m.mAcceleration, 0.0f, 10.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f); // Slide start rate - ctx->genSlider("滑り開始率", &m.mSlideStartRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り開始率", &m.mSlideStartRate, 0.0f, 1.0f); // Slide initial speed - ctx->genSlider("滑り初速率", &m.mSlideInitSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り初速率", &m.mSlideInitSpeed, 0.0f, 10.0f); // Slide deceleration - ctx->genSlider("滑り減速", &m.mSlideDeceleration, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り減速", &m.mSlideDeceleration, 0.0f, 20.0f); // Reverse speed - ctx->genSlider("反転速度", &m.mReverseSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("反転速度", &m.mReverseSpeed, 0.0f, 50.0f); } daAlinkHIO_wlMoveNoP_c::daAlinkHIO_wlMoveNoP_c() { @@ -4143,48 +3587,37 @@ daAlinkHIO_wlMoveNoP_c::daAlinkHIO_wlMoveNoP_c() { void daAlinkHIO_wlAtnMove_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Max speed - ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 50.0f); // Acceleration - ctx->genSlider("加速度", &m.mAcceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速度", &m.mAcceleration, 0.0f, 10.0f); // Walk animation speed - ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.01f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩きA速度", &m.mWalkAnmSpeed, 0.01f, 10.0f); // Run animation speed - ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.01f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("走りA速度", &m.mRunAnmSpeed, 0.01f, 10.0f); // Walk change rate - ctx->genSlider("歩き変更率", &m.mWalkChangeRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("歩き変更率", &m.mWalkChangeRate, 0.0f, 1.0f); // Run change rate - ctx->genSlider("走り変更率", &m.mRunChangeRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("走り変更率", &m.mRunChangeRate, 0.0f, 1.0f); // Turn angle max - ctx->genSlider("旋回角度最大", &m.mTurnAngleMax, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最大", &m.mTurnAngleMax, 0, 0x4000); // Turn angle min - ctx->genSlider("旋回角度最小", &m.mTurnAngleMin, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("旋回角度最小", &m.mTurnAngleMin, 0, 0x4000); // Turn angle rate - ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回角度率", &m.mTurnAngleRate, 0, 0x14); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 20.0f); // Rear max speed - ctx->genSlider("後方最高速度", &m.mRearMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方最高速度", &m.mRearMaxSpeed, 0.0f, 50.0f); // Rear acceleration - ctx->genSlider("後方加速度", &m.mRearAcceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方加速度", &m.mRearAcceleration, 0.0f, 10.0f); // Rear walk animation speed - ctx->genSlider("後歩A速度", &m.mRearWalkAnmSpeed, 0.01f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後歩A速度", &m.mRearWalkAnmSpeed, 0.01f, 10.0f); // Rear walk change rate - ctx->genSlider("後歩変更率", &m.mRearWalkChangeRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後歩変更率", &m.mRearWalkChangeRate, 0.0f, 1.0f); // Rear deceleration - ctx->genSlider("後方減速", &m.mRearDeceleration, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("後方減速", &m.mRearDeceleration, 0.0f, 20.0f); } daAlinkHIO_wlAtnMove_c::daAlinkHIO_wlAtnMove_c() { @@ -4206,7 +3639,7 @@ daAlinkHIO_wlAtnMove_c::daAlinkHIO_wlAtnMove_c() { void daAlinkHIO_wlHowl_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Howl animation daAlinkHIO_setAnmGenMessage(&m.mHowlAnm, ctx, "遠吠え", 49.0f, 1); // Sitting howl animation @@ -4216,17 +3649,13 @@ void daAlinkHIO_wlHowl_c::genMessage(JORMContext* ctx) { // Threat stance animation daAlinkHIO_setAnmGenMessage(&m.mThreatStanceAnm, ctx, "威嚇ため", 17.0f, 0); // Threat move interpolation - ctx->genSlider("威嚇移動補間", &m.mThreatMoveInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("威嚇移動補間", &m.mThreatMoveInterp, 0.0f, 10.0f); // Threat move min anm speed - ctx->genSlider("威嚇移動最小A速度", &m.mThreatMoveMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("威嚇移動最小A速度", &m.mThreatMoveMinAnmSpeed, 0.0f, 10.0f); // Threat move max anm speed - ctx->genSlider("威嚇移動最大A速度", &m.mThreatMoveMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("威嚇移動最大A速度", &m.mThreatMoveMaxAnmSpeed, 0.0f, 10.0f); // Threat move rate - ctx->genSlider("威嚇移動率", &m.mThreatMoveRate, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("威嚇移動率", &m.mThreatMoveRate, 0.0f, 30.0f); } daAlinkHIO_wlHowl_c::daAlinkHIO_wlHowl_c() { @@ -4248,31 +3677,27 @@ daAlinkHIO_wlHowl_c::daAlinkHIO_wlHowl_c() { void daAlinkHIO_wlSideStep_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Side jump animation daAlinkHIO_setAnmGenMessage(&m.mSideJumpAnm, ctx, "横飛", 4.0f, 0); // Side jump horizontal speed - ctx->genSlider("横飛水平速度", &m.mSideJumpHorizSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("横飛水平速度", &m.mSideJumpHorizSpeed, 0.0f, 50.0f); // Side jump vertical speed - ctx->genSlider("横飛垂直速度", &m.mSideJumpVertSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("横飛垂直速度", &m.mSideJumpVertSpeed, 0.0f, 50.0f); // Side landing animation daAlinkHIO_setAnmGenMessage(&m.mSideLandAnm, ctx, "横着地", 23.0f, 1); // Back jump animation daAlinkHIO_setAnmGenMessage(&m.mBackJumpAnm, ctx, "後飛", 4.0f, 0); // Back jump horizontal speed - ctx->genSlider("後飛水平速度", &m.mBackJumpHorizSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("後飛水平速度", &m.mBackJumpHorizSpeed, 0.0f, 50.0f); // Back jump vertical speed - ctx->genSlider("後飛垂直速度", &m.mBackJumpVertSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("後飛垂直速度", &m.mBackJumpVertSpeed, 0.0f, 50.0f); // Back landing animation daAlinkHIO_setAnmGenMessage(&m.mBackLandAnm, ctx, "後着地", 23.0f, 1); // Fall height - ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f); // Fall interpolation - ctx->genSlider("落下補間", &m.mFallInterp, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下補間", &m.mFallInterp, 0.0f, 30.0f); } daAlinkHIO_wlSideStep_c::daAlinkHIO_wlSideStep_c() { @@ -4294,21 +3719,19 @@ daAlinkHIO_wlSideStep_c::daAlinkHIO_wlSideStep_c() { void daAlinkHIO_wlBackJump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Back jump animation daAlinkHIO_setAnmGenMessage(&m.mBackJumpAnm, ctx, "ジャンプ", 11.0f, 0); // Back jump horizontal speed - ctx->genSlider("水平速度", &m.mBackJumpHorizSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("水平速度", &m.mBackJumpHorizSpeed, 0.0f, 50.0f); // Back jump vertical speed - ctx->genSlider("垂直速度", &m.mBackJumpVertSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("垂直速度", &m.mBackJumpVertSpeed, 0.0f, 50.0f); // Back landing animation daAlinkHIO_setAnmGenMessage(&m.mBackLandAnm, ctx, "着地", 28.0f, 1); // Fall height - ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f); // Fall interpolation - ctx->genSlider("落下補間", &m.mFallInterp, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下補間", &m.mFallInterp, 0.0f, 30.0f); } daAlinkHIO_wlBackJump_c::daAlinkHIO_wlBackJump_c() { @@ -4330,62 +3753,47 @@ daAlinkHIO_wlBackJump_c::daAlinkHIO_wlBackJump_c() { void daAlinkHIO_wlAutoJump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Gravity - ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f); // Max fall speed - ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -300.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -300.0f, 0.0f); // Jump animation daAlinkHIO_setAnmGenMessage(&m.mJumpAnm, ctx, "ジャンプ", 3.0f, 0); // Climb animation daAlinkHIO_setAnmGenMessage(&m.mClimbAnm, ctx, "空中", 6.0f, 0); // Jump limit speed - ctx->genSlider("ジャンプ限度速度", &m.mJumpLimitSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ限度速度", &m.mJumpLimitSpeed, 0.0f, 100.0f); // Jump min speed - ctx->genSlider("ジャンプ最低速度", &m.mJumpMinSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ最低速度", &m.mJumpMinSpeed, 0.0f, 100.0f); // Jump max speed - ctx->genSlider("ジャンプ最高速度", &m.mJumpMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ最高速度", &m.mJumpMaxSpeed, 0.0f, 100.0f); // Jump speed rate - ctx->genSlider("ジャンプ速度率", &m.mJumpSpeedRate, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ジャンプ速度率", &m.mJumpSpeedRate, 0.0f, 5.0f); // Jump angle - ctx->genSlider("ジャンプ角度", &m.mJumpAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ角度", &m.mJumpAngle, 0, 0x4000); // Jump fall interpolation - ctx->genSlider("ジャンプ落下補間", &m.mJumpFallInterp, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ落下補間", &m.mJumpFallInterp, 0.0f, 50.0f); // Always max speed jump - ctx->genCheckBox("必ず最高速度ジャンプ", &m.mAlwaysMaxSpeedJump, '\x01', 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox("必ず最高速度ジャンプ", &m.mAlwaysMaxSpeedJump, '\x01'); // Landing animation daAlinkHIO_setAnmGenMessage(&m.mLandingAnm, ctx, "着地", 24.0f, 1); // Normal fall interpolation - ctx->genSlider("通常落下補間", &m.mNormalFallInterp, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("通常落下補間", &m.mNormalFallInterp, 0.0f, 50.0f); // Weak jump anm speed - ctx->genSlider("ジャンプA速度(弱)", &m.mWeakJumpAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプA速度(弱)", &m.mWeakJumpAnmSpeed, 0.0f, 10.0f); // Weak jump limit speed - ctx->genSlider("ジャンプ限度速度(弱)", &m.mWeakJumpLimitSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ限度速度(弱)", &m.mWeakJumpLimitSpeed, 0.0f, 100.0f); // Weak jump min speed - ctx->genSlider("ジャンプ最低速度(弱)", &m.mWeakJumpMinSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ最低速度(弱)", &m.mWeakJumpMinSpeed, 0.0f, 100.0f); // Weak jump max speed - ctx->genSlider("ジャンプ最高速度(弱)", &m.mWeakJumpMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ最高速度(弱)", &m.mWeakJumpMaxSpeed, 0.0f, 100.0f); // Weak jump speed rate - ctx->genSlider("ジャンプ速度率(弱)", &m.mWeakJumpSpeedRate, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ速度率(弱)", &m.mWeakJumpSpeedRate, 0.0f, 5.0f); // Weak jump angle - ctx->genSlider("ジャンプ角度(弱)", &m.mWeakJumpAngle, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ジャンプ角度(弱)", &m.mWeakJumpAngle, 0, 0x4000); // Hang limit height - ctx->genSlider("ぶら下がり限界高さ", &m.mHangLimitHeight, 0.0f, 1000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり限界高さ", &m.mHangLimitHeight, 0.0f, 1000.0f); } daAlinkHIO_wlAutoJump_c::daAlinkHIO_wlAutoJump_c() { @@ -4407,20 +3815,17 @@ daAlinkHIO_wlAutoJump_c::daAlinkHIO_wlAutoJump_c() { void daAlinkHIO_wlPush_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Idle Anm Speed - ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f); // Idle Interpolation - ctx->genSlider("待機補間", &m.mIdleInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("待機補間", &m.mIdleInterp, 0.0f, 10.0f); // Push Anm Speed - ctx->genSlider("押しA速度", &m.mPushAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("押しA速度", &m.mPushAnmSpeed, 0.0f, 10.0f); // Heavy Push Anm Speed - ctx->genSlider("押しA速度(重)", &m.mHeavyPushAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("押しA速度(重)", &m.mHeavyPushAnmSpeed, 0.0f, 10.0f); // Push Interpolation - ctx->genSlider("押し補間", &m.mPushInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("押し補間", &m.mPushInterp, 0.0f, 10.0f); } daAlinkHIO_wlPush_c::daAlinkHIO_wlPush_c() { @@ -4442,40 +3847,31 @@ daAlinkHIO_wlPush_c::daAlinkHIO_wlPush_c() { void daAlinkHIO_wlLie_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Sitting animation daAlinkHIO_setAnmGenMessage(&m.mSittingAnm, ctx, "座り", 14.0f, 1); // Sitting idle anm speed - ctx->genSlider("座り待機A速度", &m.mSittingIdleAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("座り待機A速度", &m.mSittingIdleAnmSpeed, 0.0f, 10.0f); // Sitting idle interp - ctx->genSlider("座り待機補間", &m.mSittingIdleInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("座り待機補間", &m.mSittingIdleInterp, 0.0f, 10.0f); // Stand up interp - ctx->genSlider("立ち上がり補間", &m.mStandUpInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("立ち上がり補間", &m.mStandUpInterp, 0.0f, 10.0f); // Prone start animation daAlinkHIO_setAnmGenMessage(&m.mProneStartAnm, ctx, "伏せ開始", 11.0f, 1); // Prone min anm speed - ctx->genSlider("伏せ最小A速度", &m.mProneMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("伏せ最小A速度", &m.mProneMinAnmSpeed, 0.0f, 10.0f); // Prone max anm speed - ctx->genSlider("伏せ最大A速度", &m.mProneMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("伏せ最大A速度", &m.mProneMaxAnmSpeed, 0.0f, 10.0f); // Prone move interp - ctx->genSlider("伏せ移動補間", &m.mProneMoveInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("伏せ移動補間", &m.mProneMoveInterp, 0.0f, 10.0f); // Prone move rate - ctx->genSlider("伏せ移動率", &m.mProneMoveRate, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("伏せ移動率", &m.mProneMoveRate, 0.0f, 30.0f); // Prone turn rate - ctx->genSlider("伏せ旋回率", &m.mProneTurnRate, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("伏せ旋回率", &m.mProneTurnRate, 0, 100); // Prone turn max - ctx->genSlider("伏せ旋回最大", &m.mProneTurnMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("伏せ旋回最大", &m.mProneTurnMax, 0, 0x7fff); // Prone turn min - ctx->genSlider("伏せ旋回最小", &m.mProneTurnMin, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("伏せ旋回最小", &m.mProneTurnMin, 0, 0x7fff); } daAlinkHIO_wlLie_c::daAlinkHIO_wlLie_c() { @@ -4497,31 +3893,23 @@ daAlinkHIO_wlLie_c::daAlinkHIO_wlLie_c() { void daAlinkHIO_wlWallHang_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Auto walk height - ctx->genSlider("自動歩き高さ", &m.mAutoWalkHeight, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("自動歩き高さ", &m.mAutoWalkHeight, 0.0f, 300.0f); // Small jump height - ctx->genSlider("小ジャンプ高さ", &m.mSmallJumpHeight, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("小ジャンプ高さ", &m.mSmallJumpHeight, 0.0f, 300.0f); // Wall grab height - ctx->genSlider("壁掴み高さ", &m.mWallGrabHeight, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("壁掴み高さ", &m.mWallGrabHeight, 0.0f, 300.0f); // Climb height - ctx->genSlider("よじ登り高さ", &m.mClimbHeight, 0.0f, 300.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("よじ登り高さ", &m.mClimbHeight, 0.0f, 300.0f); // Hanging foot height - ctx->genSlider("ぶら下がり足位置高さ", &m.mHangingFootHeight, 0.0f, 300.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり足位置高さ", &m.mHangingFootHeight, 0.0f, 300.0f); // Jump horizontal speed - ctx->genSlider("ジャンプ水平速度", &m.mJumpHorizontalSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ水平速度", &m.mJumpHorizontalSpeed, 0.0f, 50.0f); // Jump target height offset - ctx->genSlider("ジャンプ目標高さオフセット", &m.mJumpTargetHeightOffset, 0.0f, 200.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ジャンプ目標高さオフセット", &m.mJumpTargetHeightOffset, 0.0f, 200.0f); // Jump to fall interpolation - ctx->genSlider("ジャンプ→落下補間", &m.mJumpToFallInterp, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ジャンプ→落下補間", &m.mJumpToFallInterp, 0.0f, 100.0f); // Pre-grab jump animation daAlinkHIO_setAnmGenMessage(&m.mPreGrabJumpAnm, ctx, "掴前ジャンプ", 13.0f, 0); // Wall grab animation @@ -4531,8 +3919,7 @@ void daAlinkHIO_wlWallHang_c::genMessage(JORMContext* ctx) { // Fall grab animation daAlinkHIO_setAnmGenMessage(&m.mFallGrabAnm, ctx, "落下掴み", 39.0f, 0); // Hanging fall interpolation - ctx->genSlider("ぶら下がり落下補間", &m.mHangingFallInterp, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり落下補間", &m.mHangingFallInterp, 0.0f, 200.0f); // Ledge climb animation daAlinkHIO_setAnmGenMessage(&m.mLedgeClimbAnm, ctx, "段差登", 6.0f, 0); // Ledge land animation @@ -4558,7 +3945,7 @@ daAlinkHIO_wlWallHang_c::daAlinkHIO_wlWallHang_c() { void daAlinkHIO_wlDamNormal_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Forward animation daAlinkHIO_setAnmGenMessage(&m.mForwardAnm, ctx, "前方", 9.0f, 1); // Backward animation @@ -4568,15 +3955,13 @@ void daAlinkHIO_wlDamNormal_c::genMessage(JORMContext* ctx) { // Right animation daAlinkHIO_setAnmGenMessage(&m.mRightAnm, ctx, "右方", 9.0f, 1); // Initial speed - ctx->genSlider("初速", &m.mInitSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("初速", &m.mInitSpeed, 0.0f, 100.0f); // Attack speed rate - ctx->genSlider("攻撃速度率", &m.mAttackSpeedRate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃速度率", &m.mAttackSpeedRate, 0.0f, 10.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f); // Ice damage A speed - ctx->genSlider("氷ダメージA速度", &m.mIceDamageAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("氷ダメージA速度", &m.mIceDamageAnmSpeed, 0.0f, 10.0f); } daAlinkHIO_wlDamNormal_c::daAlinkHIO_wlDamNormal_c() { @@ -4599,26 +3984,21 @@ daAlinkHIO_wlDamNormal_c::daAlinkHIO_wlDamNormal_c() { void daAlinkHIO_wlDamLaHu_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Damage interpolation - ctx->genSlider("ダメージ補間", &m.mDamageInterp, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ダメージ補間", &m.mDamageInterp, 0.0f, 20.0f); // Gravity - ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &m.mGravity, -10.0f, 0.0f); // Horizontal speed - ctx->genSlider("水平速度", &m.mHorizontalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("水平速度", &m.mHorizontalSpeed, 0.0f, 100.0f); // Vertical speed - ctx->genSlider("垂直速度", &m.mVerticalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("垂直速度", &m.mVerticalSpeed, 0.0f, 100.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 10.0f); // Bounce speed - ctx->genSlider("跳ね返り速度", &m.mBounceSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("跳ね返り速度", &m.mBounceSpeed, 0.0f, 100.0f); // Body rotation speed - ctx->genSlider("体回転速度", &m.mBodyRotationSpeed, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("体回転速度", &m.mBodyRotationSpeed, 0, 0x7fff); // Front rise animation daAlinkHIO_setAnmGenMessage(&m.mFrontRiseAnm, ctx, "前起", 49.0f, 1); // Back rise animation @@ -4657,17 +4037,15 @@ daAlinkHIO_wlDamLaHu_c::daAlinkHIO_wlDamLaHu_c(int param_0) { void daAlinkHIO_wlDamCaught_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Caught time - ctx->genSlider("捕まり時間", &m.mCaughtTime, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("捕まり時間", &m.mCaughtTime, 0, 1000); // Input decay time - ctx->genSlider("入力減り時間", &m.mInputDecayTime, 0, 0x1e, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("入力減り時間", &m.mInputDecayTime, 0, 0x1e); // Wait additional anm speed - ctx->genSlider("待機追加A速度", &m.mWaitAddAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("待機追加A速度", &m.mWaitAddAnmSpeed, 0.0f, 10.0f); // Wait interpolation - ctx->genSlider("待機補間", &m.mWaitInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("待機補間", &m.mWaitInterp, 0.0f, 10.0f); } daAlinkHIO_wlDamCaught_c::daAlinkHIO_wlDamCaught_c() { @@ -4690,28 +4068,23 @@ daAlinkHIO_wlDamCaught_c::daAlinkHIO_wlDamCaught_c() { void daAlinkHIO_wlDamFall_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Small damage height - ctx->genSlider("小ダメージ高さ", &m.mSmallDamageHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("小ダメージ高さ", &m.mSmallDamageHeight, 0.0f, 100.0f); // Large damage height - ctx->genSlider("大ダメージ高さ", &m.mLargeDamageHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("大ダメージ高さ", &m.mLargeDamageHeight, 0.0f, 100.0f); // Air animation transition height - ctx->genSlider("空中アニメ移行高さ", &m.mAirAnmTransitionHeight, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("空中アニメ移行高さ", &m.mAirAnmTransitionHeight, 0.0f, 100.0f); // Air animation interpolation - ctx->genSlider("空中アニメ補間", &m.mAirAnmInterp, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("空中アニメ補間", &m.mAirAnmInterp, 0.0f, 20.0f); // Landing animation daAlinkHIO_setAnmGenMessage(&m.mLandingAnm, ctx, "着地", 11.0f, 0); // Small damage landing start frame - ctx->genSlider("小ダメージ着地開始F", &m.mSmallDamageLandingStartFrame, 0.0f, 11.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("小ダメージ着地開始F", &m.mSmallDamageLandingStartFrame, 0.0f, 11.0f); // Small stop time - ctx->genSlider("小停止時間", &m.mSmallStopTime, 0, 0x96, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("小停止時間", &m.mSmallStopTime, 0, 0x96); // Large stop time - ctx->genSlider("大停止時間", &m.mLargeStopTime, 0, 0x96, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("大停止時間", &m.mLargeStopTime, 0, 0x96); // Right rise animation daAlinkHIO_setAnmGenMessage(&m.mRightRiseAnm, ctx, "起上り", 17.0f, 1); } @@ -4735,7 +4108,7 @@ daAlinkHIO_wlDamFall_c::daAlinkHIO_wlDamFall_c() { void daAlinkHIO_wlDamage_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Normal ctx->genNode("通常", &mNormal, 0, 0); // Large @@ -4751,8 +4124,7 @@ void daAlinkHIO_wlDamage_c::genMessage(JORMContext* ctx) { // Polygon animation daAlinkHIO_setAnmGenMessage(&m.mPolygonAnm, ctx, "ポリゴン", 9.0f, 1); // Return wake-up anm speed - ctx->genSlider("復帰起き上がりA速度", &m.mReturnWakeupAnmSpeed, 1.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("復帰起き上がりA速度", &m.mReturnWakeupAnmSpeed, 1.0f, 10.0f); } daAlinkHIO_wlDamage_c::daAlinkHIO_wlDamage_c() @@ -4780,46 +4152,37 @@ daAlinkHIO_wlDamNormal_c::~daAlinkHIO_wlDamNormal_c() {} void daAlinkHIO_wlSlide_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Sliding angle - ctx->genSlider("滑り角度", &m.mSlidingAngle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("滑り角度", &m.mSlidingAngle, 0.0f, 90.0f); // Climbing angle - ctx->genSlider("登坂角度", &m.mClimbingAngle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("登坂角度", &m.mClimbingAngle, 0.0f, 90.0f); // Climbing anm speed - ctx->genSlider("登坂A速度", &m.mClimbingAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("登坂A速度", &m.mClimbingAnmSpeed, 0.0f, 10.0f); // Climbing max speed - ctx->genSlider("登坂最高速度", &m.mClimbingMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("登坂最高速度", &m.mClimbingMaxSpeed, 0.0f, 100.0f); // Front slide animation daAlinkHIO_setAnmGenMessage(&m.mFrontSlideAnm, ctx, "前滑り", 24.0f, 0); // Back slide animation daAlinkHIO_setAnmGenMessage(&m.mBackSlideAnm, ctx, "後滑り", 7.0f, 0); // Max speed - ctx->genSlider("最大速度", &m.mMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大速度", &m.mMaxSpeed, 0.0f, 100.0f); // Acceleration - ctx->genSlider("加速度", &m.mAcceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("加速度", &m.mAcceleration, 0.0f, 10.0f); // Landing animation daAlinkHIO_setAnmGenMessage(&m.mLandingAnm, ctx, "着地", 14.0f, 1); // Climbing anm speed (weak) - ctx->genSlider("登坂A速度(弱)", &m.mClimbingAnmSpeedWeak, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("登坂A速度(弱)", &m.mClimbingAnmSpeedWeak, 0.0f, 10.0f); // Climbing max speed (weak) - ctx->genSlider("登坂最高速度(弱)", &m.mClimbingMaxSpeedWeak, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("登坂最高速度(弱)", &m.mClimbingMaxSpeedWeak, 0.0f, 100.0f); // Slip down acceleration - ctx->genSlider("ずり落ち加速度", &m.mSlipDownAcceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ずり落ち加速度", &m.mSlipDownAcceleration, 0.0f, 10.0f); // Slip down max speed - ctx->genSlider("ずり落ち最高速度", &m.mSlipDownMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ずり落ち最高速度", &m.mSlipDownMaxSpeed, 0.0f, 100.0f); // Slip down rotation max - ctx->genSlider("ずり落ち回転最大", (short*)&m.mSlipDownRotationMax, 0, 0x7fff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ずり落ち回転最大", (short*)&m.mSlipDownRotationMax, 0, 0x7fff); // Slip down rotation min - ctx->genSlider("ずり落ち回転最小", (short*)&m.mSlipDownRotationMin, 0, 0x7fff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ずり落ち回転最小", (short*)&m.mSlipDownRotationMin, 0, 0x7fff); // Slip down recovery animation daAlinkHIO_setAnmGenMessage(&m.mSlipDownRecoveryAnm, ctx, "ずり落ち復帰", 29.0f, 1); } @@ -4843,35 +4206,27 @@ daAlinkHIO_wlSlide_c::daAlinkHIO_wlSlide_c() { void daAlinkHIO_wlRope_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Movement Min Anm Speed - ctx->genSlider("移動最小A速度", &m.mMovementMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("移動最小A速度", &m.mMovementMinAnmSpeed, 0.0f, 10.0f); // Movement Max Anm Speed - ctx->genSlider("移動最大A速度", &m.mMovementMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("移動最大A速度", &m.mMovementMaxAnmSpeed, 0.0f, 10.0f); // Back Movement Max Anm Speed - ctx->genSlider("後移動最大A速度", &m.mBackMovementMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("後移動最大A速度", &m.mBackMovementMaxAnmSpeed, 0.0f, 10.0f); // Movement Interpolation - ctx->genSlider("移動補間", &m.mMovementInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("移動補間", &m.mMovementInterpolation, 0.0f, 10.0f); // Movement Rate - ctx->genSlider("移動率", &m.mMovementRate, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("移動率", &m.mMovementRate, 0.0f, 30.0f); // Twist Climb Anm Speed - ctx->genSlider("よじ登りA速度", &m.mTwistClimbAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("よじ登りA速度", &m.mTwistClimbAnmSpeed, 0.0f, 10.0f); // Fall Interpolation - ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 10.0f); // Twist Climb Interpolation - ctx->genSlider("よじ登り補間", &m.mTwistClimbInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("よじ登り補間", &m.mTwistClimbInterpolation, 0.0f, 10.0f); // Flip daAlinkHIO_setAnmGenMessage(&m.mFlipAnm, ctx, "反転", 16.0f, 0); // Movement Sway Transition Time - ctx->genSlider("移動ふらつき移行時間", &m.mMovementSwayTransitionTime, 0, 0x7fff, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("移動ふらつき移行時間", &m.mMovementSwayTransitionTime, 0, 0x7fff); } daAlinkHIO_wlRope_c::daAlinkHIO_wlRope_c() { @@ -4893,40 +4248,31 @@ daAlinkHIO_wlRope_c::daAlinkHIO_wlRope_c() { void daAlinkHIO_wlAtWait_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Attack animation daAlinkHIO_setAnmGenMessage(&m.mAttackAnm, ctx, "攻撃", field_0x34, 1); // Speed - ctx->genSlider("速度", &m.mSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("速度", &m.mSpeed, 0.0f, 100.0f); // Speed addition F - ctx->genSlider("速度追加F", &m.mSpeedAddForward, 0.0f, field_0x34, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("速度追加F", &m.mSpeedAddForward, 0.0f, field_0x34); // Attack judgment start F - ctx->genSlider("攻撃判定開始F", &m.mAttackJudgmentStartForward, 0.0f, field_0x34, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃判定開始F", &m.mAttackJudgmentStartForward, 0.0f, field_0x34); // Attack judgment end F - ctx->genSlider("攻撃判定終了F", &m.mAttackJudgmentEndForward, 0.0f, field_0x34, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃判定終了F", &m.mAttackJudgmentEndForward, 0.0f, field_0x34); // Stop time - ctx->genSlider("停止時間", (short*)&m.mStopTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("停止時間", (short*)&m.mStopTime, 0, 300); // Combo mid start F - ctx->genSlider("コンボ中開始F", &m.mComboMidStartF, 0.0f, field_0x34 + 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("コンボ中開始F", &m.mComboMidStartF, 0.0f, field_0x34 + 1.0f); // Combo mid C F - ctx->genSlider("コンボ中CF", &m.mComboMidCF, 0.0f, field_0x34 + 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("コンボ中CF", &m.mComboMidCF, 0.0f, field_0x34 + 1.0f); // Combo mid stop time - ctx->genSlider("コンボ中停止時間", (short*)&m.mComboMidStopTime, 0, 300, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("コンボ中停止時間", (short*)&m.mComboMidStopTime, 0, 300); // Attack radius offset - ctx->genSlider("攻撃半径オフセット", &m.mAttackRadiusOffset, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃半径オフセット", &m.mAttackRadiusOffset, 0.0f, 200.0f); // Attack radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 250.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 250.0f); // Attack height - ctx->genSlider("攻撃高さ", &m.mAttackHeight, 0.0f, 250.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃高さ", &m.mAttackHeight, 0.0f, 250.0f); } daAlinkHIO_wlAtWait_c::daAlinkHIO_wlAtWait_c(int param_0, float param_1) { @@ -4961,17 +4307,15 @@ daAlinkHIO_wlAtWait_c::daAlinkHIO_wlAtWait_c(int param_0, float param_1) { void daAlinkHIO_wlAtRoll_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Attack animation daAlinkHIO_setAnmGenMessage(&m.mAttackAnm, ctx, "攻撃", 40.0f, 1); // Spider thread escape start F - ctx->genSlider("クモ糸脱出時開始F", &m.mSpiderThreadEscapeStartF, 0.0f, 40.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("クモ糸脱出時開始F", &m.mSpiderThreadEscapeStartF, 0.0f, 40.0f); // Attack radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 1000.0f); // Attack speed - ctx->genSlider("攻撃速度", &m.mAttackSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃速度", &m.mAttackSpeed, 0.0f, 100.0f); } daAlinkHIO_wlAtRoll_c::daAlinkHIO_wlAtRoll_c() { @@ -4993,39 +4337,29 @@ daAlinkHIO_wlAtRoll_c::daAlinkHIO_wlAtRoll_c() { void daAlinkHIO_wlAtNjump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Aerial Attack daAlinkHIO_setAnmGenMessage(&m.mAerialAttackAnm, ctx, "攻撃", 6.0f, 0); // Attack Initial Speed - ctx->genSlider("攻撃初速", &m.mAttackInitSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃初速", &m.mAttackInitSpeed, 0.0f, 50.0f); // Max Horizontal Speed - ctx->genSlider("最高水平速度", &m.mMaxHorizontalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最高水平速度", &m.mMaxHorizontalSpeed, 0.0f, 100.0f); // Min Horizontal Speed - ctx->genSlider("最低水平速度", &m.mMinHorizontalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最低水平速度", &m.mMinHorizontalSpeed, 0.0f, 100.0f); // Max Vertical Speed - ctx->genSlider("最高垂直速度", &m.mMaxVerticalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最高垂直速度", &m.mMaxVerticalSpeed, 0.0f, 100.0f); // Min Vertical Speed - ctx->genSlider("最低垂直速度", &m.mMinVerticalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最低垂直速度", &m.mMinVerticalSpeed, 0.0f, 100.0f); // Aerial Anm Speed - ctx->genSlider("空中A速度", &m.mAerialAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("空中A速度", &m.mAerialAnmSpeed, 0.0f, 10.0f); // Aerial Interpolation - ctx->genSlider("空中補間", &m.mAerialInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("空中補間", &m.mAerialInterpolation, 0.0f, 10.0f); // Attack Radius Offset - ctx->genSlider("攻撃半径オフセット", &m.mAttackRadiusOffset, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃半径オフセット", &m.mAttackRadiusOffset, 0.0f, 200.0f); // Attack Radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 250.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 250.0f); // Attack Height - ctx->genSlider("攻撃高さ", &m.mAttackHeight, 0.0f, 250.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃高さ", &m.mAttackHeight, 0.0f, 250.0f); } daAlinkHIO_wlAtNjump_c::daAlinkHIO_wlAtNjump_c() { @@ -5047,55 +4381,41 @@ daAlinkHIO_wlAtNjump_c::daAlinkHIO_wlAtNjump_c() { void daAlinkHIO_wlAtCjump_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Aerial Attack daAlinkHIO_setAnmGenMessage(&m.mAerialAttackAnm, ctx, "攻撃", 3.0f, 0); // Attack Initial Speed - ctx->genSlider("攻撃初速", &m.mAttackInitSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃初速", &m.mAttackInitSpeed, 0.0f, 50.0f); // Max Horizontal Speed - ctx->genSlider("最高水平速度", &m.mMaxHorizontalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最高水平速度", &m.mMaxHorizontalSpeed, 0.0f, 100.0f); // Min Horizontal Speed - ctx->genSlider("最低水平速度", &m.mMinHorizontalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最低水平速度", &m.mMinHorizontalSpeed, 0.0f, 100.0f); // Max Vertical Speed - ctx->genSlider("最高垂直速度", &m.mMaxVerticalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最高垂直速度", &m.mMaxVerticalSpeed, 0.0f, 100.0f); // Min Vertical Speed - ctx->genSlider("最低垂直速度", &m.mMinVerticalSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最低垂直速度", &m.mMinVerticalSpeed, 0.0f, 100.0f); // Aerial Anm Speed - ctx->genSlider("空中A速度", &m.mAerialAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("空中A速度", &m.mAerialAnmSpeed, 0.0f, 10.0f); // Aerial Interpolation - ctx->genSlider("空中補間", &m.mAerialInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("空中補間", &m.mAerialInterpolation, 0.0f, 10.0f); // Attack Radius Offset - ctx->genSlider("攻撃半径オフセット", &m.mAttackRadiusOffset, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃半径オフセット", &m.mAttackRadiusOffset, 0.0f, 200.0f); // Attack Radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 250.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 250.0f); // Attack Height - ctx->genSlider("攻撃高さ", &m.mAttackHeight, 0.0f, 250.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃高さ", &m.mAttackHeight, 0.0f, 250.0f); // Flip Kick daAlinkHIO_setAnmGenMessage(&m.mFlipKickAnm, ctx, "反転蹴り", 7.0f, 0); // Flip Kick Post Start F - ctx->genSlider("反転蹴り後開始F", &m.mFlipKickPostStartF, 0.0f, 11.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("反転蹴り後開始F", &m.mFlipKickPostStartF, 0.0f, 11.0f); // Flip Kick Post Anm Speed - ctx->genSlider("反転蹴り後A速度", &m.mFlipKickPostAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("反転蹴り後A速度", &m.mFlipKickPostAnmSpeed, 0.0f, 10.0f); // Hit Decel Rate - ctx->genSlider("ヒット時減速率", &m.mHitDecelRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ヒット時減速率", &m.mHitDecelRate, 0.0f, 1.0f); // Hit Min Speed - ctx->genSlider("ヒット時最低速度", &m.mHitMinSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ヒット時最低速度", &m.mHitMinSpeed, 0.0f, 100.0f); // Hit Decel - ctx->genSlider("ヒット時減速", &m.mHitDecel, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ヒット時減速", &m.mHitDecel, 0.0f, 10.0f); } daAlinkHIO_wlAtCjump_c::daAlinkHIO_wlAtCjump_c() { @@ -5117,7 +4437,7 @@ daAlinkHIO_wlAtCjump_c::daAlinkHIO_wlAtCjump_c() { void daAlinkHIO_wlAtLand_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Normal Landing daAlinkHIO_setAnmGenMessage(&m.mNormalLandingAnm, ctx, "通常着地", 19.0f, 1); // Front Slide @@ -5125,8 +4445,7 @@ void daAlinkHIO_wlAtLand_c::genMessage(JORMContext* ctx) { // Back Slide daAlinkHIO_setAnmGenMessage(&m.mBackSlideAnm, ctx, "後滑", 19.0f, 1); // Slide Deceleration - ctx->genSlider("滑り減速", &m.mSlideDeceleration, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("滑り減速", &m.mSlideDeceleration, 0.0f, 10.0f); } daAlinkHIO_wlAtLand_c::daAlinkHIO_wlAtLand_c() { static const char plabel[] = "const daAlinkHIO_wlAtLand_c1 daAlinkHIO_wlAtLand_c0::m = {\n"; @@ -5147,14 +4466,13 @@ daAlinkHIO_wlAtLand_c::daAlinkHIO_wlAtLand_c() { void daAlinkHIO_wlAtDown_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Low Stance daAlinkHIO_setAnmGenMessage(&m.mLowStanceAnm, ctx, "開始", 3.0f, 0); // Push Down daAlinkHIO_setAnmGenMessage(&m.mPushDownAnm, ctx, "滞空", 16.0f, 0); // Side Roll Movement Width - ctx->genSlider("垂直速度", &m.mSideRollMovementWidth, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("垂直速度", &m.mSideRollMovementWidth, 0.0f, 200.0f); // Front Roll daAlinkHIO_setAnmGenMessage(&m.mFrontRollAnm, ctx, "着地", 21.0f, 0); // Crouch @@ -5164,16 +4482,13 @@ void daAlinkHIO_wlAtDown_c::genMessage(JORMContext* ctx) { // Back Roll daAlinkHIO_setAnmGenMessage(&m.mBackRollAnm, ctx, "後転", 11.0f, 0); // Landing Side Roll Movement Width - ctx->genSlider("後転垂直速度", &m.mLandingSideRollMovementWidth, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("後転垂直速度", &m.mLandingSideRollMovementWidth, 0.0f, 200.0f); // Landing Front-Back Movement Width - ctx->genSlider("後転水平速度", &m.mLandingFrontBackMovementWidth, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("後転水平速度", &m.mLandingFrontBackMovementWidth, 0.0f, 200.0f); // Roll Over daAlinkHIO_setAnmGenMessage(&m.mRollOverAnm, ctx, "失敗", 84.0f, 1); // Fall Duration - ctx->genSlider("停止時間", (s16*)&m.mFallDuration, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("停止時間", (s16*)&m.mFallDuration, 0, 0x7fff); } daAlinkHIO_wlAtDown_c::daAlinkHIO_wlAtDown_c() { @@ -5195,41 +4510,33 @@ daAlinkHIO_wlAtDown_c::daAlinkHIO_wlAtDown_c() { void daAlinkHIO_wlAtLock_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Start Radius - ctx->genSlider("開始半径", &m.mStartRadius, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("開始半径", &m.mStartRadius, 0.0f, 10000.0f); // Max Radius - ctx->genSlider("最大半径", &m.mMaxRadius, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大半径", &m.mMaxRadius, 0.0f, 10000.0f); // Radius Acceleration - ctx->genSlider("半径加速", &m.mRadiusAcceleration, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("半径加速", &m.mRadiusAcceleration, 0.0f, 100.0f); // Attack Speed - ctx->genSlider("攻撃速度", &m.mAttackSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃速度", &m.mAttackSpeed, 0.0f, 100.0f); // Attack Radius Offset - ctx->genSlider("攻撃半径オフセット", &m.mAttackRadiusOffset, 0.0f, 200.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃半径オフセット", &m.mAttackRadiusOffset, 0.0f, 200.0f); // Attack Radius - ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 250.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃半径", &m.mAttackRadius, 0.0f, 250.0f); // Attack Height - ctx->genSlider("攻撃高さ", &m.mAttackHeight, 0.0f, 250.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("攻撃高さ", &m.mAttackHeight, 0.0f, 250.0f); // Auto Activation Time - ctx->genSlider("自動発動時間", &m.mAutoActivationTime, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("自動発動時間", &m.mAutoActivationTime, 0, 0x7fff); // Front Landing Anm daAlinkHIO_setAnmGenMessage(&m.mFrontLandingAnm, ctx, "前着地", 14.0f, 0); // Rear Landing Anm daAlinkHIO_setAnmGenMessage(&m.mRearLandingAnm, ctx, "後着地", 19.0f, 0); // Gravity - ctx->genSlider("重力", &m.mGravity, -15.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &m.mGravity, -15.0f, 0.0f); // Max Jump Height - ctx->genSlider("最大ジャンプ高さ", &m.mMaxJumpHeight, 0.0f, 5000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最大ジャンプ高さ", &m.mMaxJumpHeight, 0.0f, 5000.0f); // Max Jump Distance - ctx->genSlider("最大ジャンプ距離", &m.mMaxJumpDistance, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最大ジャンプ距離", &m.mMaxJumpDistance, 0.0f, 10000.0f); } daAlinkHIO_wlAtLock_c::daAlinkHIO_wlAtLock_c() { @@ -5251,50 +4558,37 @@ daAlinkHIO_wlAtLock_c::daAlinkHIO_wlAtLock_c() { void daAlinkHIO_wlAtBite_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Enemy Bite Throw Anm Speed - ctx->genSlider("敵咥投げA速度", &m.mEnemyBiteThrowAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("敵咥投げA速度", &m.mEnemyBiteThrowAnmSpeed, 0.0f, 10.0f); // Enemy Bite Throw Interpolation - ctx->genSlider("敵咥投げ補間", &m.mEnemyBiteThrowInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("敵咥投げ補間", &m.mEnemyBiteThrowInterpolation, 0.0f, 10.0f); // Enemy Bite Throw CF - ctx->genSlider("敵咥投げCF", &m.mEnemyBiteThrowCF, 0.0f, 45.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("敵咥投げCF", &m.mEnemyBiteThrowCF, 0.0f, 45.0f); // Bite Attach Time - ctx->genSlider("噛付き時間", &m.mBiteAttachTime, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("噛付き時間", &m.mBiteAttachTime, 0, 0x7fff); // Bite Preparation daAlinkHIO_setAnmGenMessage(&m.mBitePreparationAnm, ctx, "噛準備", 5.0f, 0); // Bite Preparation Mid Start F - ctx->genSlider("噛準備途中開始F", &m.mBitePreparationMidStartF, 0.0f, 5.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("噛準備途中開始F", &m.mBitePreparationMidStartF, 0.0f, 5.0f); // Bite Mid Anm Speed Min - ctx->genSlider("噛中A速度最小", &m.mBiteMidAnmSpeedMin, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("噛中A速度最小", &m.mBiteMidAnmSpeedMin, 0.0f, 10.0f); // Bite Mid Anm Speed Max - ctx->genSlider("噛中A速度最大", &m.mBiteMidAnmSpeedMax, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("噛中A速度最大", &m.mBiteMidAnmSpeedMax, 0.0f, 10.0f); // Bite Mid Anm Speed Acceleration - ctx->genSlider("噛中A速度加速", &m.mBiteMidAnmSpeedAcceleration, 0.0f, 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("噛中A速度加速", &m.mBiteMidAnmSpeedAcceleration, 0.0f, 1.0f); // Bite Mid Anm Speed Deceleration - ctx->genSlider("噛中A速度減速", &m.mBiteMidAnmSpeedDeceleration, 0.0f, 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("噛中A速度減速", &m.mBiteMidAnmSpeedDeceleration, 0.0f, 1.0f); // Hanging Bite Preparation daAlinkHIO_setAnmGenMessage(&m.mHangingBitePreparationAnm, ctx, "ぶら下がり噛準備", 31.0f, 0); // Hanging Bite Mid Anm Speed Min - ctx->genSlider("ぶら下がり噛中A速度最小", &m.mHangingBiteMidAnmSpeedMin, 0.0f, 10.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり噛中A速度最小", &m.mHangingBiteMidAnmSpeedMin, 0.0f, 10.0f); // Hanging Bite Mid Anm Speed Max - ctx->genSlider("ぶら下がり噛中A速度最大", &m.mHangingBiteMidAnmSpeedMax, 0.0f, 10.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり噛中A速度最大", &m.mHangingBiteMidAnmSpeedMax, 0.0f, 10.0f); // Hanging Bite Mid Anm Speed Acceleration - ctx->genSlider("ぶら下がり噛中A速度加速", &m.mHangingBiteMidAnmSpeedAcceleration, 0.0f, 1.0f, - 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり噛中A速度加速", &m.mHangingBiteMidAnmSpeedAcceleration, 0.0f, 1.0f); // Hanging Bite Mid Anm Speed Deceleration - ctx->genSlider("ぶら下がり噛中A速度減速", &m.mHangingBiteMidAnmSpeedDeceleration, 0.0f, 1.0f, - 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ぶら下がり噛中A速度減速", &m.mHangingBiteMidAnmSpeedDeceleration, 0.0f, 1.0f); } daAlinkHIO_wlAtBite_c::daAlinkHIO_wlAtBite_c() { @@ -5316,7 +4610,7 @@ daAlinkHIO_wlAtBite_c::daAlinkHIO_wlAtBite_c() { void daAlinkHIO_wlAttack_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Horizontal ctx->genNode("左右", &mHorizontalAttack, 0, 0); // Scratch @@ -5338,35 +4632,27 @@ void daAlinkHIO_wlAttack_c::genMessage(JORMContext* ctx) { // Bite ctx->genNode("噛付き", &mWlAtBite, 0, 0); // Attack Preparation Interpolation - ctx->genSlider("攻撃準備補間", &m.mReadyInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("攻撃準備補間", &m.mReadyInterpolation, 0.0f, 30.0f); // Charge Time - ctx->genSlider("ため時間", &m.mChargeTime, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ため時間", &m.mChargeTime, 0, 300); // Fall Height - ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下高さ", &m.mFallHeight, 0.0f, 500.0f); // Fall Interpolation - ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("落下補間", &m.mFallInterpolation, 0.0f, 30.0f); // Combo Duration Time - ctx->genSlider("コンボ持続時間", &m.mComboDuration, 0, 300, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("コンボ持続時間", &m.mComboDuration, 0, 300); // Stationary Attack Distance - ctx->genSlider("その場攻撃距離", &m.mAttackRange, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("その場攻撃距離", &m.mAttackRange, 0.0f, 1000.0f); // Jump Back Landing daAlinkHIO_setAnmGenMessage(&m.mJumpBackLandAnm, ctx, "跳返着地", 59.0f, 1); // Jump Back Horizontal Speed - ctx->genSlider("跳返水平速度", &m.mJumpBackSpeedH, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("跳返水平速度", &m.mJumpBackSpeedH, 0.0f, 50.0f); // Jump Back Vertical Speed - ctx->genSlider("跳返垂直速度", &m.mJumpBackSpeedV, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("跳返垂直速度", &m.mJumpBackSpeedV, 0.0f, 50.0f); // A Attack Vertical Speed - ctx->genSlider("A攻撃垂直速度", &m.mJumpAttackSpeedV, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("A攻撃垂直速度", &m.mJumpAttackSpeedV, 0.0f, 100.0f); // A Attack Horizontal Speed - ctx->genSlider("A攻撃水平速度", &m.mJumpAttackSpeedH, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("A攻撃水平速度", &m.mJumpAttackSpeedH, 0.0f, 100.0f); } daAlinkHIO_wlAttack_c::daAlinkHIO_wlAttack_c() @@ -5399,48 +4685,37 @@ daAlinkHIO_wlAtWait_c::~daAlinkHIO_wlAtWait_c() {} void daAlinkHIO_wlPoint_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Idle Anm Speed - ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f); // Idle Interpolation - ctx->genSlider("待機補間", &m.mIdleInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機補間", &m.mIdleInterpolation, 0.0f, 10.0f); // Forward Jump daAlinkHIO_setAnmGenMessage(&m.mForwardJumpAnm, ctx, "前ジャンプ", 6.0f, 0); // Backward Jump daAlinkHIO_setAnmGenMessage(&m.mBackwardJumpAnm, ctx, "後ジャンプ", 7.0f, 0); // Aerial Interpolation - ctx->genSlider("空中補間", &m.mAerialInterpolation, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("空中補間", &m.mAerialInterpolation, 0.0f, 10.0f); // Jump Speed - ctx->genSlider("ジャンプ速度", &m.mJumpSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("ジャンプ速度", &m.mJumpSpeed, 0.0f, 100.0f); // Landing daAlinkHIO_setAnmGenMessage(&m.mLandingAnm, ctx, "着地", 11.0f, 1); // Failure Jump Speed - ctx->genSlider("失敗時ジャンプ速度", &m.mFailureJumpSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("失敗時ジャンプ速度", &m.mFailureJumpSpeed, 0.0f, 100.0f); // Tag Jump Speed - ctx->genSlider("タグジャンプ速度", &m.mTagJumpSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("タグジャンプ速度", &m.mTagJumpSpeed, 0.0f, 100.0f); // Tag Landing daAlinkHIO_setAnmGenMessage(&m.mTagLandingAnm, ctx, "タグ着地", 14.0f, 1); // Lock Landing Ice Initial Speed - ctx->genSlider("ロック着地氷初期速度", &m.mLockLandingIceInitSpeed, 0.0f, 50.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ロック着地氷初期速度", &m.mLockLandingIceInitSpeed, 0.0f, 50.0f); // Lock Landing Ice Deceleration Rate - ctx->genSlider("ロック着地氷減速率", &m.mLockLandingIceDecelRate, 0.0f, 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ロック着地氷減速率", &m.mLockLandingIceDecelRate, 0.0f, 1.0f); // Lock Landing Ice Max Deceleration - ctx->genSlider("ロック着地氷減速最大", &m.mLockLandingIceMaxDecel, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ロック着地氷減速最大", &m.mLockLandingIceMaxDecel, 0.0f, 10.0f); // Lock Landing Ice Min Deceleration - ctx->genSlider("ロック着地氷減速最小", &m.mLockLandingIceMinDecel, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("ロック着地氷減速最小", &m.mLockLandingIceMinDecel, 0.0f, 10.0f); // Lock Jump Stop Time - ctx->genSlider("ロックジャンプ停止時間", &m.mLockJumpStopTime, 0, 100, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("ロックジャンプ停止時間", &m.mLockJumpStopTime, 0, 100); } daAlinkHIO_wlPoint_c::daAlinkHIO_wlPoint_c() { @@ -5462,36 +4737,31 @@ daAlinkHIO_wlPoint_c::daAlinkHIO_wlPoint_c() { void daAlinkHIO_wlChain_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Lowering start daAlinkHIO_setAnmGenMessage(&m.mLoweringStartAnm, ctx, "下がり始め", 49.0f, 0); // Wait Anm Speed - ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mWaitAnmSpeed, 0.0f, 10.0f); // Wait Interp - ctx->genSlider("待機補間", &m.mWaitInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("待機補間", &m.mWaitInterp, 0.0f, 10.0f); // Swing Anm Speed - ctx->genSlider("振りA速度", &m.mSwingAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("振りA速度", &m.mSwingAnmSpeed, 0.0f, 10.0f); // Swing Interp - ctx->genSlider("振り補間", &m.mSwingInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("振り補間", &m.mSwingInterp, 0.0f, 10.0f); // Tension Wait Time - ctx->genSlider("引張り待ち時間", &m.mTensionWaitTime, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("引張り待ち時間", &m.mTensionWaitTime, 0, 1000); // Fall Speed - ctx->genSlider("落下速度", &m.mFallSpeed, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("落下速度", &m.mFallSpeed, 0.0f, 30.0f); // Release Wait Time - ctx->genSlider("放し待ち時間", &m.mReleaseWaitTime, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("放し待ち時間", &m.mReleaseWaitTime, 0, 1000); // Dig daAlinkHIO_setAnmGenMessage(&m.mDigAnm, ctx, "掘る", 81.0f, 0); // Dig fall daAlinkHIO_setAnmGenMessage(&m.mDigFallAnm, ctx, "掘落下", 47.0f, 0); // Sniff Anm Speed - ctx->genSlider("嗅ぐA速度", &m.mSniffAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("嗅ぐA速度", &m.mSniffAnmSpeed, 0.0f, 10.0f); // Sniff Interp - ctx->genSlider("嗅ぐ補間", &m.mSniffInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("嗅ぐ補間", &m.mSniffInterp, 0.0f, 10.0f); } daAlinkHIO_wlChain_c::daAlinkHIO_wlChain_c() { @@ -5513,91 +4783,71 @@ daAlinkHIO_wlChain_c::daAlinkHIO_wlChain_c() { void daAlinkHIO_wlSwim_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Start Height - ctx->genSlider("開始高さ", &m.mStartHeight, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("開始高さ", &m.mStartHeight, 0.0f, 200.0f); // Surfacing Height - ctx->genSlider("浮上高さ", &m.mSurfacingHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("浮上高さ", &m.mSurfacingHeight, 0.0f, 100.0f); // Surfacing daAlinkHIO_setAnmGenMessage(&m.mSurfacingAnm, ctx, "浮上", 25.0f, 1); // Turn Rate - ctx->genSlider("旋回率", &m.mTurnRate, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回率", &m.mTurnRate, 0, 100); // Turn Max - ctx->genSlider("旋回最大", &m.mTurnMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回最大", &m.mTurnMax, 0, 0x7fff); // Turn Min - ctx->genSlider("旋回最小", &m.mTurnMin, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("旋回最小", &m.mTurnMin, 0, 0x7fff); // Idle Turn Rate - ctx->genSlider("待機旋回率", &m.mIdleTurnRate, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("待機旋回率", &m.mIdleTurnRate, 0, 100); // Idle Turn Max - ctx->genSlider("待機旋回最大", &m.mIdleTurnMax, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機旋回最大", &m.mIdleTurnMax, 0, 0x7fff); // Idle Turn Min - ctx->genSlider("待機旋回最小", &m.mIdleTurnMin, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機旋回最小", &m.mIdleTurnMin, 0, 0x7fff); // Max Speed - ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最高速度", &m.mMaxSpeed, 0.0f, 50.0f); // Deceleration - ctx->genSlider("減速", &m.mDeceleration, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("減速", &m.mDeceleration, 0.0f, 20.0f); // Max Fall Speed - ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -100.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最大落下速度", &m.mMaxFallSpeed, -100.0f, 0.0f); // Max Surfacing Speed - ctx->genSlider("最大浮上速度", &m.mMaxSurfacingSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("最大浮上速度", &m.mMaxSurfacingSpeed, 0.0f, 100.0f); // Buoyancy - ctx->genSlider("浮力", &m.mBuoyancy, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("浮力", &m.mBuoyancy, 0.0f, 10.0f); // Idle Anm Speed - ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("待機A速度", &m.mIdleAnmSpeed, 0.0f, 10.0f); // Idle Interp - ctx->genSlider("待機補間", &m.mIdleInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("待機補間", &m.mIdleInterp, 0.0f, 10.0f); // Idle Up-Down Sway Amount - ctx->genSlider("待機上下揺れ量", &m.mIdleUpDownSwayAmount, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("待機上下揺れ量", &m.mIdleUpDownSwayAmount, 0.0f, 10.0f); // Move Min Anm Speed - ctx->genSlider("移動最小A速度", &m.mMoveMinAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("移動最小A速度", &m.mMoveMinAnmSpeed, 0.0f, 10.0f); // Move Max Anm Speed - ctx->genSlider("移動最大A速度", &m.mMoveMaxAnmSpeed, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("移動最大A速度", &m.mMoveMaxAnmSpeed, 0.0f, 10.0f); // Move Interp - ctx->genSlider("移動補間", &m.mMoveInterp, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("移動補間", &m.mMoveInterp, 0.0f, 10.0f); // Climb Height - ctx->genSlider("よじ登り高さ", &m.mClimbHeight, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("よじ登り高さ", &m.mClimbHeight, 0.0f, 100.0f); // Climb Below Water Surface - ctx->genSlider("よじ登り水面下", &m.mClimbBelowWaterSurface, -100.0f, 0.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("よじ登り水面下", &m.mClimbBelowWaterSurface, -100.0f, 0.0f); // Max Speed (Weak) - ctx->genSlider("最高速度(弱)", &m.mMaxSpeedWeak, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("最高速度(弱)", &m.mMaxSpeedWeak, 0.0f, 50.0f); // Deceleration (Weak) - ctx->genSlider("減速(弱)", &m.mDecelerationWeak, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("減速(弱)", &m.mDecelerationWeak, 0.0f, 20.0f); // Idle Anm Speed (Weak) - ctx->genSlider("待機A速度(弱)", &m.mIdleAnmSpeedWeak, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("待機A速度(弱)", &m.mIdleAnmSpeedWeak, 0.0f, 10.0f); // Move Min Anm Speed (Weak) - ctx->genSlider("移動最小A速度(弱)", &m.mMoveMinAnmSpeedWeak, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("移動最小A速度(弱)", &m.mMoveMinAnmSpeedWeak, 0.0f, 10.0f); // Move Max Anm Speed (Weak) - ctx->genSlider("移動最大A速度(弱)", &m.mMoveMaxAnmSpeedWeak, 0.0f, 10.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("移動最大A速度(弱)", &m.mMoveMaxAnmSpeedWeak, 0.0f, 10.0f); // Water Splash Idle daAlinkHIO_setAnmGenMessage(&m.mWaterSplashIdleAnm, ctx, "水弾き待機", 45.0f, 1); // Heavy Idle Up-Down Sway Amount - ctx->genSlider("重時待機上下揺れ量", &m.mHeavyIdleUpDownSwayAmount, 0.0f, 10.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重時待機上下揺れ量", &m.mHeavyIdleUpDownSwayAmount, 0.0f, 10.0f); // Heavy Buoyancy - ctx->genSlider("重時浮力", &m.mHeavyBuoyancy, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("重時浮力", &m.mHeavyBuoyancy, 0.0f, 10.0f); // Heavy Max Fall Speed - ctx->genSlider("重時最大落下速度", &m.mHeavyMaxFallSpeed, -100.0f, 0.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("重時最大落下速度", &m.mHeavyMaxFallSpeed, -100.0f, 0.0f); // Heavy Max Surfacing Speed - ctx->genSlider("重時最大浮上速度", &m.mHeavyMaxSurfacingSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("重時最大浮上速度", &m.mHeavyMaxSurfacingSpeed, 0.0f, 100.0f); // Dash daAlinkHIO_setAnmGenMessage(&m.mDashAnm, ctx, "ダッシュ", 31.0f, 1); } @@ -5621,7 +4871,7 @@ daAlinkHIO_wlSwim_c::daAlinkHIO_wlSwim_c() { void daAlinkHIO_wlGrab_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Pot Grab daAlinkHIO_setAnmGenMessage(&m.mPotGrabAnm, ctx, "壷咥え", 20.0f, 1); // Pot Release @@ -5653,23 +4903,19 @@ daAlinkHIO_wlGrab_c::daAlinkHIO_wlGrab_c() { void daAlinkHIO_wlBall_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Full Body daAlinkHIO_setAnmGenMessage(&m.mFullBodyAnm, ctx, "全身", 64.0f, 1); // Neck daAlinkHIO_setAnmGenMessage(&m.mNeckAnm, ctx, "首", 54.0f, 0); // Life Orb Gravity - ctx->genSlider("命珠重力", &m.mLifeOrbGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("命珠重力", &m.mLifeOrbGravity, -10.0f, 0.0f); // Life Orb Horizontal Speed - ctx->genSlider("命珠水平速度", &m.mLifeOrbHorizSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("命珠水平速度", &m.mLifeOrbHorizSpeed, 0.0f, 100.0f); // Life Orb Vertical Speed - ctx->genSlider("命珠垂直速度", &m.mLifeOrbVertSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("命珠垂直速度", &m.mLifeOrbVertSpeed, 0.0f, 100.0f); // MP Consumption Time - ctx->genSlider("MP消費時間", &m.mMpConsumptionTime, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("MP消費時間", &m.mMpConsumptionTime, 0, 0xff); } daAlinkHIO_wlBall_c::daAlinkHIO_wlBall_c() { @@ -5691,7 +4937,7 @@ daAlinkHIO_wlBall_c::daAlinkHIO_wlBall_c() { void daAlinkHIO_wolf_c::genMessage(JORMContext* ctx) { // Reset - ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("リセット", 0x4000003); // Move ctx->genNode("移動", &mWlMove, 0, 0); // Move (Weak) @@ -5733,35 +4979,27 @@ void daAlinkHIO_wolf_c::genMessage(JORMContext* ctx) { // Life Orb ctx->genNode("命珠", &mWlBall, 0, 0); // Max Neck Turn H - ctx->genSlider("首横向き最大", &m.mMaxNeckTurnH, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("首横向き最大", &m.mMaxNeckTurnH, 0, 0x7fff); // Max Neck Turn Up - ctx->genSlider("首上向き最大", &m.mMaxNeckTurnUp, -0x7fff, 0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("首上向き最大", &m.mMaxNeckTurnUp, -0x7fff, 0); // Max Neck Turn Down - ctx->genSlider("首下向き最大", &m.mMaxNeckTurnDown, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("首下向き最大", &m.mMaxNeckTurnDown, 0, 0x7fff); // Max Tired Neck Turn H - ctx->genSlider("疲れ首横向き最大", &m.mMaxTiredNeckTurnH, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("疲れ首横向き最大", &m.mMaxTiredNeckTurnH, 0, 0x7fff); // Max Tired Neck Turn Up - ctx->genSlider("疲れ首上向き最大", &m.mMaxTiredNeckTurnUp, -0x7fff, 0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("疲れ首上向き最大", &m.mMaxTiredNeckTurnUp, -0x7fff, 0); // Max Tired Neck Turn Down - ctx->genSlider("疲れ首下向き最大", &m.mMaxTiredNeckTurnDown, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("疲れ首下向き最大", &m.mMaxTiredNeckTurnDown, 0, 0x7fff); // Senses Linger Time - ctx->genSlider("五感余韻時間", &m.mSensesLingerTime, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("五感余韻時間", &m.mSensesLingerTime, 0, 0x7fff); // Underwater Input Rate - ctx->genSlider("沼キー率", &m.mUnderwaterInputRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("沼キー率", &m.mUnderwaterInputRate, 0.0f, 1.0f); // Light Drop R - ctx->genSlider("光雫R", &m.mLightDropR, -0x40, 0x40, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("光雫R", &m.mLightDropR, -0x40, 0x40); // Light Drop G - ctx->genSlider("光雫G", &m.mLightDropG, -0x40, 0x40, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("光雫G", &m.mLightDropG, -0x40, 0x40); // Light Drop B - ctx->genSlider("光雫B", &m.mLightDropB, -0x40, 0x40, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("光雫B", &m.mLightDropB, -0x40, 0x40); } daAlinkHIO_wolf_c::daAlinkHIO_wolf_c() @@ -5812,26 +5050,26 @@ void daAlinkHIO_c::jumpStateUpdate(const cXyz* param_0, const cXyz* param_1, f32 JORMContext* ctx = attachJORMContext(8); ctx->startUpdateNode(this); sprintf(buf, "水平距離 %-8.3f", JMAFastSqrt(xDiff * xDiff + zDiff * zDiff)); - ctx->updateLabel(2, 0x4000006, buf); + ctx->updateLabel(2, PROPERTY_JUMP_HDIST_DISP_e, buf); sprintf(buf, "最頂点 %-8.3f", param_2); - ctx->updateLabel(2, 0x4000007, buf); + ctx->updateLabel(2, PROPERTY_JUMP_VDIST_DISP_e, buf); ctx->endUpdateNode(); releaseJORMContext(ctx); } void daAlinkHIO_c::genMessage(JORMContext* ctx) { // ------ Info Display ------ - ctx->genLabel("------情報表示------", 0x4000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("------情報表示------", 0x4000001); // Horizontal Distance - ctx->genLabel("水平距離", 0x4000006, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("水平距離", PROPERTY_JUMP_HDIST_DISP_e); // Vertical Distance - ctx->genLabel("最頂点", 0x4000007, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - // Reset - ctx->genButton("位置", 0x4000002, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("最頂点", PROPERTY_JUMP_VDIST_DISP_e); + // Position + ctx->genButton("位置", PROPERTY_POS_DISP_e); // Save to File - ctx->genButton("ファイルに保存", 0x4000004, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("ファイルに保存", PROPERTY_SAVE_FILE_e); // Load File - ctx->genButton("ファイル読込", 0x4000005, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("ファイル読込", PROPERTY_LOAD_FILE_e); // Basic ctx->genNode("基本", &mBasic, 0, 0); // Move @@ -5880,51 +5118,49 @@ void daAlinkHIO_c::genMessage(JORMContext* ctx) { ctx->genNode("狼", &mWolf, 0, 0); } -void daAlinkHIO_c::readFileData(char* param_0) { - int src; +void daAlinkHIO_c::readFileData(char* o_fileData) { + int position; daAlinkHIO_data_c* top; - src = 0; + position = 0; for (top = l_HIO_top; top != NULL; top = top->mpNext) { - cLib_memCpy(top->mp_src_data, param_0 + src, top->m_len); + cLib_memCpy(top->mp_src_data, o_fileData + position, top->m_len); top->update(); - src += top->m_len; + position += top->m_len; } } -size_t daAlinkHIO_c::makeFileOutData(char* param_0, char* param_1) { - size_t sVar1; - int iVar2; +size_t daAlinkHIO_c::makeFileOutData(char* o_fileData, char* o_structData) { + int position; daAlinkHIO_data_c* top; - iVar2 = 0; + position = 0; for (top = l_HIO_top; top != NULL; top = top->mpNext) { - cLib_memCpy(param_0 + iVar2, top->mp_data, top->m_len); - iVar2 += top->m_len; + cLib_memCpy(o_fileData + position, top->mp_data, top->m_len); + position += top->m_len; } - param_0[iVar2] = 10; - iVar2++; + o_fileData[position] = '\n'; + position++; top = l_HIO_top; - *param_1 = 0; + *o_structData = 0; for (; top != NULL; top = top->mpNext) { - top->setStructData(param_1); + top->setStructData(o_structData); } - cLib_memCpy(param_0 + iVar2, param_1, strlen(param_1)); - return iVar2 + strlen(param_1); + cLib_memCpy(o_fileData + position, o_structData, strlen(o_structData)); + return position + strlen(o_structData); } void daAlinkHIO_c::listenPropertyEvent(const JORPropertyEvent* event) { fopAc_ac_c* player = dComIfGp_getPlayer(0); JORReflexible::listenPropertyEvent(event); - JORFile aJStack_168; + JORFile file; switch ((u32)event->id) { - case 0x4000002: { - OS_REPORT("X = %f, Y = %f, Z = %f,\n", player->current.pos.x, player->current.pos.y, - player->current.pos.z); + case PROPERTY_POS_DISP_e: { + OS_REPORT("X = %f, Y = %f, Z = %f,\n", player->current.pos.x, player->current.pos.y, player->current.pos.z); OS_REPORT("SHAPE_ANGLE = %x, %d\n", player->shape_angle.y, player->shape_angle.y); OS_REPORT("CURRENT_ANGLE = %x, %d\n", player->current.angle.y, player->current.angle.y); @@ -5934,60 +5170,58 @@ void daAlinkHIO_c::listenPropertyEvent(const JORPropertyEvent* event) { dComIfG_play_c::getLayerNo(0)); break; } - case 0x4000004: { - if (aJStack_168.open(6, "すべてのファイル(*.*)\0*.*\0", 0, 0, 0) != 0) { - char* buffer1 = new (0x20) char[0x10000]; - char* buffer2 = new (0x20) char[0x10000]; + case PROPERTY_SAVE_FILE_e: { + if (file.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL)) { + char* fileData = new (0x20) char[0x10000]; + char* structData = new (0x20) char[0x10000]; - if (buffer1 != NULL && buffer2 != NULL) { - size_t uVar5 = makeFileOutData(buffer1, buffer2); - aJStack_168.writeData(buffer1, uVar5); + if (fileData != NULL && structData != NULL) { + size_t dataSize = makeFileOutData(fileData, structData); + file.writeData(fileData, dataSize); // Write area %x\n - OS_REPORT("書き込み領域%x\n", uVar5); + OS_REPORT("書き込み領域%x\n", dataSize); - if (uVar5 > 0x20000) { + if (dataSize > 0x20000) { // Memory corruption has occurred!!!!! OS_REPORT("メモリ破壊が起こりました!!!!!\n"); } - delete[] buffer1; - delete[] buffer2; - + delete[] fileData; + delete[] structData; } else { - if (buffer1 != NULL) { - delete[] buffer1; + if (fileData != NULL) { + delete[] fileData; } - if (buffer2 != NULL) { - delete[] buffer2; + if (structData != NULL) { + delete[] structData; } // Could not secure the write area OS_REPORT("書き込み用領域確保できませんでした\n"); } - - aJStack_168.close(); + file.close(); } else { // Cannot open file OS_REPORT("ファイルが開けません\n"); } break; } - case 0x4000005: { - if (aJStack_168.open(1, "すべてのファイル(*.*)\0*.*\0", (char*)0x0, (char*)0x0, (char*)0x0) != 0) { - char* buffer1 = new (0x20) char[0x10000]; + case PROPERTY_LOAD_FILE_e: { + if (file.open(1, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL)) { + char* fileData = new (0x20) char[0x10000]; - if (buffer1 != NULL) { - aJStack_168.readData(buffer1, 0); - readFileData(buffer1); - delete[] buffer1; + if (fileData != NULL) { + file.readData(fileData, 0); + readFileData(fileData); + delete[] fileData; } else { // Could not secure the read area OS_REPORT("読み込み用領域確保できませんでした\n"); } - aJStack_168.close(); + file.close(); } else { // The file cannot be opened OS_REPORT("ファイルが開けません\n"); diff --git a/src/d/actor/d_a_alink_boom.inc b/src/d/actor/d_a_alink_boom.inc index 7c4183284c..6fb5c67051 100644 --- a/src/d/actor/d_a_alink_boom.inc +++ b/src/d/actor/d_a_alink_boom.inc @@ -94,9 +94,12 @@ bool daAlink_c::checkBoomerangChargeEnd() { } BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* i_grabActor) { - if (checkNoResetFlg0(FLG0_UNK_20) && !checkEventRun() && !checkWolf() && - checkModeFlg(0x10000000) && - (checkHorseNoUpperAnime() || checkHorseTurnAnime() || checkBoomerangThrowAnime())) { + if (checkNoResetFlg0(FLG0_UNK_20) + && !checkEventRun() + && !checkWolf() + && checkModeFlg(0x10000000) + && (checkHorseNoUpperAnime() || checkHorseTurnAnime() || checkBoomerangThrowAnime())) + { deleteEquipItem(FALSE, FALSE); seStartOnlyReverb(JA_SE_LK_BOOM_CATCH); offNoResetFlg0(FLG0_UNK_20); @@ -110,13 +113,12 @@ BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* i_grabActor) { return 0; } -void daAlink_c::initBoomerangUpperAnimeSpeed(int param_0) { +void daAlink_c::initBoomerangUpperAnimeSpeed(BOOL param_0) { if (!checkBoomerangThrowAnime()) { - if (param_0 != 0) { - f32 tmp = 0.0f; - mUpperFrameCtrl[2].setRate(tmp); - mUpperFrameCtrl[2].setFrame(tmp); - getNowAnmPackUpper(UPPER_2)->setFrame(tmp); + if (param_0) { + mUpperFrameCtrl[2].setRate(0.0f); + mUpperFrameCtrl[2].setFrame(0.0f); + getNowAnmPackUpper(UPPER_2)->setFrame(0.0f); } else { mUpperFrameCtrl[2].setRate(mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed); } @@ -129,37 +131,36 @@ BOOL daAlink_c::checkBoomerangAnime() const { BOOL daAlink_c::checkBoomerangThrowAnime() const { return (mEquipItem == fpcNm_ITEM_BOOMERANG || checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) && - checkUpperAnime(0x53); + checkUpperAnime(dRes_ID_ALANM_BCK_BOOMTHROW_e); } void daAlink_c::setBoomerangReadyQuake() { - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartQuake(1, 1, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartQuake(VIBMODE_Q_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); onNoResetFlg3(FLG3_UNK_4); mItemVar0.field_0x3018 = mpHIO->mItem.mBoomerang.m.mChargeTime; } void daAlink_c::setBoomerangReadyAnime() { - f32 var_f31; - if (checkAttentionLock()) { - var_f31 = mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed; + f32 anm_speed; + if (!checkAttentionLock()) { + anm_speed = 0.0f; } else { - var_f31 = 0.0f; + anm_speed = mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed; } - setUpperAnimeBaseSpeed(0x54, var_f31, 3.0f); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_BOOMWAIT_e, anm_speed, 3.0f); setBoomerangReadyQuake(); } void daAlink_c::setThrowBoomerangAnime() { - setUpperAnimeParam(0x53, UPPER_2, &mpHIO->mItem.mBoomerang.m.mThrowAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_BOOMTHROW_e, UPPER_2, &mpHIO->mItem.mBoomerang.m.mThrowAnm); cancelItemUseQuake(0); } void daAlink_c::setBoomerangCatchAnime() { - setUpperAnimeParam(0x52, UPPER_2, &mpHIO->mItem.mBoomerang.m.mCatchAnm); - setFacePriBck(0xE8); + setUpperAnimeParam(dRes_ID_ALANM_BCK_BOOMCATCH_e, UPPER_2, &mpHIO->mItem.mBoomerang.m.mCatchAnm); + setFacePriBck(dRes_ID_ALANM_BCK_FAT_e); field_0x2f97 = 254; if (mEquipItem != fpcNm_ITEM_COPY_ROD) { @@ -234,12 +235,20 @@ void daAlink_c::throwBoomerang() { int daAlink_c::returnBoomerang(int param_0) { dComIfGp_clearPlayerStatus0(0, 0x400000); - if (mEquipItem == fpcNm_ITEM_NONE && !checkMagneBootsOn() && mItemAcKeep.getActor() == NULL && - !checkBoardRide() && !checkBoarRide() && !checkWolf() && - (mProcID != PROC_HANG_READY || field_0x3198 != 3) && (!checkEventRun() || param_0 != 0) && - (checkNoUpperAnime() || checkPlayerGuard() || checkHorseTurnAnime() || - checkDashDamageAnime() || checkBoomerangAnime()) && - !checkModeFlg(0x1BD0810)) { + if (mEquipItem == fpcNm_ITEM_NONE + && !checkMagneBootsOn() + && mItemAcKeep.getActor() == NULL + #if !PLATFORM_SHIELD + && !checkBoardRide() + && !checkBoarRide() + #endif + && !checkWolf() + && (mProcID != PROC_HANG_READY || field_0x3198 != 3) + && (!checkEventRun() || param_0 != 0) + && (checkNoUpperAnime() || checkPlayerGuard() || checkHorseTurnAnime() || + checkDashDamageAnime() || checkBoomerangAnime()) + && !checkModeFlg(0x1BD0810)) + { mItemAcKeep = mThrowBoomerangAcKeep; mThrowBoomerangAcKeep.clearData(); @@ -247,8 +256,7 @@ int daAlink_c::returnBoomerang(int param_0) { field_0x2f94 = 2; onNoResetFlg0(FLG0_UNK_20); - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); return 1; } @@ -349,7 +357,7 @@ void daAlink_c::setBoomerangSight() { daBoomerang_c* boomerang = (daBoomerang_c*)mItemAcKeep.getActor(); if (boomerang->getLockReserve() || (check_line && !boomerang->getLockCntMax())) { - setItemActionButtonStatus(0x10); + setItemActionButtonStatus(BUTTON_STATUS_LOCK); itemActionTrigger(); } } @@ -376,7 +384,7 @@ int daAlink_c::procBoomerangSubject() { } if (checkBoomerangReadyAnime()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } setShapeAngleToAtnActor(0); @@ -414,14 +422,14 @@ int daAlink_c::procBoomerangMove() { } if (!checkNextAction(0)) { - f32 var_f31 = -1.0f; + f32 morf = -1.0f; if (checkZeroSpeedF()) { onModeFlg(1); if (field_0x2f98 != 3) { field_0x2f98 = 3; - var_f31 = mpHIO->mBasic.m.mBasicInterpolation; + morf = mpHIO->mBasic.m.mBasicInterpolation; } } else { offModeFlg(1); @@ -432,7 +440,7 @@ int daAlink_c::procBoomerangMove() { } } - setBlendAtnMoveAnime(var_f31); + setBlendAtnMoveAnime(morf); setBodyAngleXReadyAnime(0); } @@ -459,7 +467,7 @@ int daAlink_c::procBoomerangCatch() { onModeFlg(4); } - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { resetUpperAnime(UPPER_2, -1.0f); checkNextAction(0); } else { diff --git a/src/d/actor/d_a_alink_bottle.inc b/src/d/actor/d_a_alink_bottle.inc index eff70af024..bba785875f 100644 --- a/src/d/actor/d_a_alink_bottle.inc +++ b/src/d/actor/d_a_alink_bottle.inc @@ -12,7 +12,7 @@ static int daAlink_bottleModelCallBack(J3DJoint* i_joint, int param_1); int daAlink_c::bottleModelCallBack() { if (mItemMode != 0) { - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c2)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(mRightItemJntNo)); mDoMtx_stack_c::transM(-3.0f, -1.0f, 0.3f); mDoMtx_stack_c::XYZrotM(cM_deg2s(102.0f), cM_deg2s(-0.5f), cM_deg2s(-122.0f)); mDoMtx_copy(mDoMtx_stack_c::get(), mHeldItemModel->getAnmMtx(1)); @@ -22,6 +22,8 @@ int daAlink_c::bottleModelCallBack() { } static int daAlink_bottleModelCallBack(J3DJoint* i_joint, int param_1) { + UNUSED(i_joint); + daAlink_c* player_p = (daAlink_c*)j3dSys.getModel()->getUserArea(); if (param_1 == 0) { @@ -46,36 +48,36 @@ BOOL daAlink_c::checkOilBottleItemNotGet(u16 i_itemNo) { void daAlink_c::setBottleModel(u16 i_itemNo) { JKRHeap* prev_heap = setItemHeap(); - mHeldItemModel = initModelEnv(loadAramBmd(0x310, 0x5C00), 0x1020200); - field_0x072c = loadAramItemBtp(0x3AE, mHeldItemModel); - field_0x0724 = loadAramItemBrk(0x322, mHeldItemModel); + mHeldItemModel = initModelEnv(loadAramBmd(dRes_ID_ALANM_BMD_AL_BOTTLE_e, 0x5C00), 0x1020200); + field_0x072c = loadAramItemBtp(dRes_ID_ALANM_BTP_AL_BOTTLE_e, mHeldItemModel); + field_0x0724 = loadAramItemBrk(dRes_ID_ALANM_BRK_AL_BOTTLE_e, mHeldItemModel); if (checkDrinkBottleItem(i_itemNo) || checkOilBottleItemNotGet(i_itemNo)) { - field_0x071c = loadAramItemBtk(0x328, mHeldItemModel); - field_0x0720 = loadAramItemBtk(0x327, mHeldItemModel); + field_0x071c = loadAramItemBtk(dRes_ID_ALANM_BTK_BOTTLE_D_YURE_e, mHeldItemModel); + field_0x0720 = loadAramItemBtk(dRes_ID_ALANM_BTK_BOTTLE_D_NOMU_e, mHeldItemModel); } else { - field_0x071c = loadAramItemBtk(0x32A, mHeldItemModel); - field_0x0720 = loadAramItemBtk(0x329, mHeldItemModel); + field_0x071c = loadAramItemBtk(dRes_ID_ALANM_BTK_BOTTLE_NUKU_e, mHeldItemModel); + field_0x0720 = loadAramItemBtk(dRes_ID_ALANM_BTK_BOTTLE_DASU_e, mHeldItemModel); } - field_0x0718 = loadAramItemBtk(0x32B, mHeldItemModel); + field_0x0718 = loadAramItemBtk(dRes_ID_ALANM_BTK_BOTTLE_YURE_e, mHeldItemModel); if (i_itemNo == fpcNm_ITEM_FAIRY) { - J3DAnmTransform* bck = (J3DAnmTransform*)loadAram(0x1E8, 0xC00); - mpHookTipModel = initModel(loadAramBmd(0x31D, 0x1400), 0); + J3DAnmTransform* bck = (J3DAnmTransform*)loadAram(dRes_ID_ALANM_BCK_O_GD_NV_e, 0xC00); + mpHookTipModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_O_GD_NV_e, 0x1400), 0); if (!mHookTipBck.init(bck, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { JUT_ASSERT(142, FALSE); } mHookTipBck.entry(mpHookTipModel->getModelData(), 0.0f); } else if (i_itemNo == fpcNm_ITEM_WORM) { - J3DAnmTransform* bck = (J3DAnmTransform*)loadAram(0x1E9, 0xC00); - mpHookTipModel = initModel(loadAramBmd(0x31E, 0x2400), 0); + J3DAnmTransform* bck = (J3DAnmTransform*)loadAram(dRes_ID_ALANM_BCK_O_GD_WORM_e, 0xC00); + mpHookTipModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_O_GD_WORM_e, 0x2400), 0); if (!mHookTipBck.init(bck, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { JUT_ASSERT(151, FALSE); } mHookTipBck.entry(mpHookTipModel->getModelData(), 0.0f); } else if (i_itemNo == fpcNm_ITEM_BEE_CHILD) { - mpHookTipModel = initModel(loadAramBmd(0x31C, 0x1000), 0); + mpHookTipModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_O_GD_HK_e, 0x1000), 0); } mDoExt_setCurrentHeap(prev_heap); @@ -139,14 +141,13 @@ void daAlink_c::setBottleModel(u16 i_itemNo) { } } - -int daAlink_c::commonBottleDrink(int param_0) { +int daAlink_c::commonBottleDrink(BOOL param_0) { simpleAnmPlay(field_0x0718); simpleAnmPlay(field_0x071c); daPy_frameCtrl_c* frameCtrl_p; u16 current_anm; - if (param_0 || mUpperAnmHeap[2].getIdx() == 0x247) { + if (param_0 || mUpperAnmHeap[2].getIdx() == dRes_ID_ALANM_BCK_TAKEL_e) { frameCtrl_p = &mUpperFrameCtrl[2]; current_anm = mUpperAnmHeap[2].getIdx(); } else { @@ -222,18 +223,14 @@ int daAlink_c::commonBottleDrink(int param_0) { if (dComIfGs_getLife() <= 2) { mItemVar0.mBottleItemHealAmount = dComIfGs_getMaxLifeGauge(); } else if (dComIfGs_getLife() <= 4) { - mItemVar0.mBottleItemHealAmount = - (dComIfGs_getMaxLifeGauge() / 2) - dComIfGs_getLife(); - } else if (dComIfGs_getLife() == dComIfGs_getMaxLifeGauge() || - cM_rnd() < 0.5f) - { + mItemVar0.mBottleItemHealAmount = (dComIfGs_getMaxLifeGauge() / 2) - dComIfGs_getLife(); + } else if (dComIfGs_getLife() == dComIfGs_getMaxLifeGauge() || cM_rnd() < 0.5f) { mItemVar0.mBottleItemHealAmount = -4; } else { mItemVar0.mBottleItemHealAmount = 4; } } else if (mEquipItem == fpcNm_ITEM_CHUCHU_PURPLE) { f32 rnd = cM_rndF(6.0f); - if (rnd < 1.0f) { mItemVar0.mBottleItemHealAmount = dComIfGs_getMaxLifeGauge(); } else if (rnd < 2.0f) { @@ -329,7 +326,6 @@ int daAlink_c::commonBottleDrink(int param_0) { return 0; } - fopAc_ac_c* daAlink_c::makeFairy(cXyz* i_pos, u32 i_params) { cXyz fairy_pos; @@ -345,11 +341,8 @@ fopAc_ac_c* daAlink_c::makeFairy(cXyz* i_pos, u32 i_params) { i_pos = &fairy_pos; } - fopAc_ac_c* fairy_actor = - (fopAc_ac_c*)fopAcM_fastCreate(PROC_Obj_Yousei, i_params, i_pos, fopAcM_GetRoomNo(this), - &shape_angle, NULL, -1, NULL, NULL); - - field_0x285c.setData(fairy_actor); + field_0x285c.setData(fopAcM_fastCreate(PROC_Obj_Yousei, i_params, i_pos, fopAcM_GetRoomNo(this), + &shape_angle, NULL, -1, NULL, NULL)); onResetFlg0(RFLG0_UNK_400); if (checkEventRun() && field_0x285c.getActor() != NULL) { @@ -365,7 +358,7 @@ int daAlink_c::procBottleDrinkInit(u16 i_itemNo) { return 1; } } else { - if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { return 0; } @@ -401,8 +394,8 @@ int daAlink_c::procBottleDrink() { return 1; } -int daAlink_c::procBottleOpenInit(u16 param_0) { - if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { +int daAlink_c::procBottleOpenInit(u16 i_itemNo) { + if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { return 0; } @@ -414,7 +407,7 @@ int daAlink_c::procBottleOpenInit(u16 param_0) { setSingleAnimeParam(ANM_BOTTLE_OPEN, &mpHIO->mItem.mBottle.m.mOpenBottleAnm); keepItemData(); - setBottleModel(param_0); + setBottleModel(i_itemNo); dComIfGp_setPlayerStatus1(0, 0x4000); mProcVar1.field_0x300a = 0; field_0x32cc = -1; @@ -435,21 +428,19 @@ int daAlink_c::procBottleOpenInit(u16 param_0) { mProcVar3.field_0x300e = 0; - u32 id = fopAcM_GetID(this); - dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0); + dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x3194, 0); mProcVar2.field_0x300c = 0; - field_0x27c8.initialize(current.pos.y + field_0x598); + field_0x27c8.initialize(current.pos.y + mHeight); - if (param_0 == 0x67) { - setCylAtParam(0x200, dCcG_At_Spl_UNK_0, 0, 0, 0, 30.0f, 30.0f); + if (i_itemNo == fpcNm_ITEM_WATER_BOTTLE) { + setCylAtParam(AT_TYPE_LANTERN_SWING, dCcG_At_Spl_UNK_0, 0, dCcD_SE_NONE, 0, 30.0f, 30.0f); } - mProcVar4.field_0x3010 = 0; + mProcVar4.field_0x3010 = 0; return 1; } - int daAlink_c::procBottleOpen() { static Vec const bottleTop = {0.0f, 25.0f, 0.0f}; daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; @@ -486,17 +477,17 @@ int daAlink_c::procBottleOpen() { mHeldItemModel->getModelData()->entryTexMtxAnimator(field_0x071c); if (mEquipItem == fpcNm_ITEM_FAIRY) { - cXyz spC; - mDoMtx_multVec(mHeldItemModel->getBaseTRMtx(), &bottleTop, &spC); + cXyz fairyPos; + mDoMtx_multVec(mHeldItemModel->getBaseTRMtx(), &bottleTop, &fairyPos); - if (makeFairy(&spC, 0)) { + if (makeFairy(&fairyPos, 0)) { onModeFlg(0x8000000); mpHookTipModel = NULL; resetFairyEffect(); } } } else if (frameCtrl_p->getFrame() >= 18.0f) { - field_0x2f93 = 5; + mRightHandIndex = 5; } } else { if (checkAnmEnd(frameCtrl_p) && mProcVar0.field_0x3008 != 0) { @@ -534,14 +525,12 @@ int daAlink_c::procBottleOpen() { return 1; } - -int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { - fopAc_ac_c* var_r31 = param_0; - if (var_r31 != NULL && mEquipItem != fpcNm_ITEM_KANTERA) { +int daAlink_c::procBottleSwingInit(fopAc_ac_c* i_catchActor, int param_1) { + if (i_catchActor != NULL && mEquipItem != fpcNm_ITEM_KANTERA) { return procPreActionUnequipInit(PROC_BOTTLE_SWING, NULL); } - if (var_r31 == NULL && getReadyItem() != fpcNm_ITEM_EMPTY_BOTTLE) { + if (i_catchActor == NULL && getReadyItem() != fpcNm_ITEM_EMPTY_BOTTLE) { return checkWaitAction(); } @@ -551,22 +540,24 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { field_0x2f98 = 4; mProcVar4.field_0x3010 = param_1; - if (var_r31 != NULL) { - field_0x280c.setData(var_r31); + fopAc_ac_c* catchActor; + if (i_catchActor != NULL) { + catchActor = i_catchActor; + field_0x280c.setData(i_catchActor); } else { - var_r31 = dComIfGp_att_getCatghTarget(); + catchActor = dComIfGp_att_getCatghTarget(); } BOOL temp_r3; - s16 temp_r30; - if (var_r31 != NULL) { - if (var_r31->attention_info.position.y > field_0x3834.y - 30.0f) { + s16 catchActorName; + if (catchActor != NULL) { + if (catchActor->attention_info.position.y > field_0x3834.y - 30.0f) { temp_r3 = false; } else { temp_r3 = true; } - temp_r30 = fopAcM_GetName(var_r31); + catchActorName = fopAcM_GetName(catchActor); } else { if (field_0x2fbc != 11 && field_0x2fbc != 6 && mWaterY > current.pos.y + 10.0f) { temp_r3 = true; @@ -574,16 +565,16 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { temp_r3 = false; } - temp_r30 = PROC_ALINK; + catchActorName = PROC_ALINK; } - if (temp_r30 == PROC_OBJ_OILTUBO || temp_r30 == PROC_TAG_SSDRINK || - temp_r30 == PROC_TAG_BTLITM || mEquipItem == fpcNm_ITEM_KANTERA) + if (catchActorName == PROC_OBJ_OILTUBO || catchActorName == PROC_TAG_SSDRINK || + catchActorName == PROC_TAG_BTLITM || mEquipItem == fpcNm_ITEM_KANTERA) { setSingleAnimeParam(ANM_BOTTLE_SCOOP, &mpHIO->mItem.mBottle.m.mScoopAnm); if (mEquipItem == fpcNm_ITEM_KANTERA) { - onNoResetFlg2(FLG2_UNK_10000000); + onNoResetFlg2(FLG2_KANDELAAR_LIGHT_OFF); JPABaseEmitter* emitter_p = dComIfGp_particle_getEmitter(field_0x31c4); if (emitter_p != NULL) { @@ -594,15 +585,15 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { field_0x3478 = mpHIO->mItem.mBottle.m.mScoopAnm.mCancelFrame; field_0x347c = 14.0f; - if (var_r31 != NULL) { - shape_angle.y = cLib_targetAngleY(¤t.pos, &var_r31->current.pos); + if (catchActor != NULL) { + shape_angle.y = cLib_targetAngleY(¤t.pos, &catchActor->current.pos); current.angle.y = shape_angle.y; - current.pos.x = var_r31->current.pos.x - cM_ssin(shape_angle.y) * 70.0f; - current.pos.z = var_r31->current.pos.z - cM_scos(shape_angle.y) * 70.0f; + current.pos.x = catchActor->current.pos.x - cM_ssin(shape_angle.y) * 70.0f; + current.pos.z = catchActor->current.pos.z - cM_scos(shape_angle.y) * 70.0f; } - if (temp_r30 == PROC_OBJ_OILTUBO) { + if (catchActorName == PROC_OBJ_OILTUBO) { onModeFlg(0x2000); } } else if (temp_r3) { @@ -622,7 +613,6 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { return 1; } - int daAlink_c::procBottleSwing() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; @@ -702,9 +692,8 @@ int daAlink_c::procBottleSwing() { return 1; } - -int daAlink_c::procBottleGetInit(int param_0) { - BOOL proc_pickup = mProcID == PROC_PICK_UP; +int daAlink_c::procBottleGetInit(BOOL param_0) { + BOOL isPrevPickUp = mProcID == PROC_PICK_UP; commonProcInit(PROC_BOTTLE_GET); int var_r30; @@ -712,19 +701,19 @@ int daAlink_c::procBottleGetInit(int param_0) { setSingleAnime(ANM_BOTTLE_GET, mpHIO->mItem.mBottle.m.mGetAnm.mSpeed, 40.0f, mpHIO->mItem.mBottle.m.mGetAnm.mEndFrame, mpHIO->mItem.mBottle.m.mGetAnm.mInterpolation); - field_0x2f93 = 0xFE; + mRightHandIndex = 0xFE; - if (proc_pickup) { + if (isPrevPickUp) { execItemGet(fpcNm_ITEM_KANTERA); - var_r30 = 0xF8; + var_r30 = fpcNm_ITEM_KANTERA2; dComIfGp_setItemOilCount(-dComIfGs_getMaxOil()); } else { dComIfGp_setItemOilCount(dComIfGs_getMaxOil()); if (param_0) { - var_r30 = 0x9C; + var_r30 = fpcNm_ITEM_CHUCHU_YELLOW2; } else { - var_r30 = 0x6E; + var_r30 = fpcNm_ITEM_OIL2; } } @@ -751,15 +740,14 @@ int daAlink_c::procBottleGetInit(int param_0) { dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0); if (mEquipItem == fpcNm_ITEM_FAIRY_DROP || mEquipItem == fpcNm_ITEM_CHUCHU_RARE || mEquipItem == fpcNm_ITEM_WORM) { - setFaceBasicTexture(FTANM_UNK_48); - setFaceBasicBck(0x143); + setFaceBasicTexture(FTANM_I_BINGET); + setFaceBasicBck(dRes_ID_ALANM_BCK_FI_e); } else if (mEquipItem == fpcNm_ITEM_UGLY_SOUP) { - setFaceBasicBck(0x146); + setFaceBasicBck(dRes_ID_ALANM_BCK_FJ_e); } - // event flag 0x4A40: Ordon Day 1 completed - if (mEquipItem == fpcNm_ITEM_BEE_CHILD && dComIfGs_isEventBit(0x4A40)) { - dComIfGs_onEventBit(0x4C80); // event flag 0x4C80: Collected Bee Larva on Ordon Day 2 + if (mEquipItem == fpcNm_ITEM_BEE_CHILD && dComIfGs_isEventBit(dSv_event_flag_c::F_0700)) { + dComIfGs_onEventBit(dSv_event_flag_c::F_0618); } return 1; @@ -770,7 +758,7 @@ int daAlink_c::procBottleGet() { simpleAnmPlay(field_0x0718); - if (frameCtrl->checkAnmEnd() && checkEndMessage(field_0x32cc)) { + if (checkAnmEnd(frameCtrl) && checkEndMessage(field_0x32cc)) { resetFairyEffect(); if (mEquipItem != fpcNm_ITEM_KANTERA) { deleteEquipItem(FALSE, FALSE); @@ -778,12 +766,12 @@ int daAlink_c::procBottleGet() { resetSpecialEvent(); } else if (frameCtrl->getFrame() >= 37.0f) { - field_0x2f93 = 0xFE; + mRightHandIndex = 0xFE; } else if (frameCtrl->getFrame() >= 15.0f) { mItemMode = 0; } else if (frameCtrl->getFrame() >= 5.0f) { mHeldItemModel->getModelData()->getMaterialNodePointer(0)->getShape()->show(); - field_0x2f93 = 5; + mRightHandIndex = 5; mItemMode = 1; } diff --git a/src/d/actor/d_a_alink_bow.inc b/src/d/actor/d_a_alink_bow.inc index 621e2cc6ad..4d7a354289 100644 --- a/src/d/actor/d_a_alink_bow.inc +++ b/src/d/actor/d_a_alink_bow.inc @@ -8,7 +8,7 @@ #include "d/actor/d_a_arrow.h" #include "d/actor/d_a_horse.h" -void daAlink_c::getArrowFlyData(f32* o_distance, f32* o_speed, int i_forceCharge) const { +void daAlink_c::getArrowFlyData(f32* o_distance, f32* o_speed, BOOL i_forceCharge) const { if (mEquipItem == fpcNm_ITEM_PACHINKO) { *o_distance = mpHIO->mItem.mBow.m.mSlingshotDistance; *o_speed = mpHIO->mItem.mBow.m.mSlingshotSpeed; @@ -53,43 +53,45 @@ BOOL daAlink_c::checkBowAndSlingItem(int i_itemNo) { } void daAlink_c::setSlingModel() { - J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(0x1F9); + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(dRes_ID_ALANM_BCK_PWAIT_e); JKRHeap* prev_heap = setItemHeap(); - J3DModelData* model_data = loadAramBmd(0x319, 0x2C00); - mHeldItemModel = initModel(model_data, 0); - mItemBck.init(bck, 0, 2, 1.0f, 0, -1, false); + mHeldItemModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_AL_PACHI_e, 0x2C00), 0); + + if (!mItemBck.init(bck, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { + JUT_ASSERT(108, 0); + } mDoExt_setCurrentHeap(prev_heap); field_0x2f95 = 5; field_0x2f94 = 103; } -cXyz* daAlink_c::checkBowCameraArrowPosP(s16* param_0, s16* param_1) { +cXyz* daAlink_c::checkBowCameraArrowPosP(s16* o_angleX, s16* o_angleY) { if (!checkBowAnime() || mEquipItem == fpcNm_ITEM_PACHINKO) { return NULL; } - s16 var_28; + s16 angle_y; if (checkHorseRide() && checkBoarSingleBattle() && dComIfGp_getHorseActor() != NULL) { - var_28 = dComIfGp_getHorseActor()->shape_angle.y; + angle_y = dComIfGp_getHorseActor()->shape_angle.y; } else if (checkMagneBootsOn()) { - var_28 = field_0x3118; + angle_y = field_0x3118; } else { - var_28 = shape_angle.y; + angle_y = shape_angle.y; } - var_28 += mBodyAngle.y; + angle_y += mBodyAngle.y; mDoMtx_stack_c::transS(field_0x3834); concatMagneBootMtx(); - mDoMtx_stack_c::ZXYrotM(mBodyAngle.x, var_28, 0); + mDoMtx_stack_c::ZXYrotM(mBodyAngle.x, angle_y, 0); - static Vec const localPos = {3.45f, 45.32f, -7.0f}; + static const Vec localPos = {3.45f, 45.32f, -7.0f}; mDoMtx_stack_c::multVec(&localPos, &mHeldItemRootPos); - *param_0 = mBodyAngle.x; - *param_1 = var_28; + *o_angleX = mBodyAngle.x; + *o_angleY = angle_y; return &mHeldItemRootPos; } @@ -111,8 +113,13 @@ void daAlink_c::makeArrow() { field_0x301e = 0; } - fopAc_ac_c* arrow_p = daArrow_c::makeArrow(this, field_0x301e); - mItemAcKeep.setData(arrow_p); + mItemAcKeep.setData(daArrow_c::makeArrow(this, field_0x301e)); + + if (mItemAcKeep.getActor() == NULL) { + // "Not enough memory to create item!!" + OS_REPORT("メモリが足りなくてアイテム発生できません!!\n"); + JUT_ASSERT(221, 0); + } } mItemVar0.field_0x3018 = 0; @@ -152,7 +159,7 @@ void daAlink_c::changeArrowType() { return; } - setItemActionButtonStatus(0x11); + setItemActionButtonStatus(BUTTON_STATUS_SWITCH); if (arrowChangeTrigger()) { if (mEquipItem == fpcNm_ITEM_HAWK_ARROW) { @@ -179,14 +186,13 @@ void daAlink_c::changeArrowType() { } } - BOOL daAlink_c::cancelBowMoveRideNotAtn() { return checkModeFlg(0x400) && checkAttentionLock() && mTargetedActor == NULL; } BOOL daAlink_c::cancelBowMove() { if (mTargetedActor == NULL && !checkAttentionLock() && mFastShotTime == 0 && - !checkBowReadyAnime() && (!checkBowShootAnime() || mUpperFrameCtrl[2].checkAnmEnd())) + !checkBowReadyAnime() && (!checkBowShootAnime() || checkAnmEnd(&mUpperFrameCtrl[2]))) { resetUpperAnime(UPPER_2, -1.0f); return true; @@ -208,7 +214,7 @@ void daAlink_c::setBowReadyAnime() { } } - setUpperAnimeBase(0xD); + setUpperAnimeBase(dRes_ID_ALANM_BCK_ASHOOTWAIT_e); if (checkResetFlg0(RFLG0_UNK_80)) { mItemMode = 0; @@ -220,23 +226,23 @@ void daAlink_c::setBowReadyAnime() { field_0x2f96 = 4; if (mEquipItem == fpcNm_ITEM_PACHINKO) { - changeItemBck(0x1F1, -1.0f); + changeItemBck(dRes_ID_ALANM_BCK_PSHOOT_e, -1.0f); } else { - changeItemBck(0x43, -1.0f); + changeItemBck(dRes_ID_ALANM_BCK_BASHOOT_e, -1.0f); } } void daAlink_c::setBowReloadAnime() { - setUpperAnimeParam(9, UPPER_2, &mpHIO->mItem.mBow.m.mLoadAnm); - setFacePriTexture(FTANM_UNK_8); - setFacePriBck(0xE5); + setUpperAnimeParam(dRes_ID_ALANM_BCK_ARELORD_e, UPPER_2, &mpHIO->mItem.mBow.m.mLoadAnm); + setFacePriTexture(FTANM_FINISHA); + setFacePriBck(dRes_ID_ALANM_BCK_FARELORD_e); if (mEquipItem == fpcNm_ITEM_PACHINKO) { - changeItemBck(0x1F0, mpHIO->mItem.mBow.m.mLoadAnm.mStartFrame); + changeItemBck(dRes_ID_ALANM_BCK_PRELORD_e, mpHIO->mItem.mBow.m.mLoadAnm.mStartFrame); field_0x2f97 = 5; seStartOnlyReverb(Z2SE_AL_PACHINKO_DRAW); } else { - changeItemBck(0x41, mpHIO->mItem.mBow.m.mLoadAnm.mStartFrame); + changeItemBck(dRes_ID_ALANM_BCK_BARELORD_e, mpHIO->mItem.mBow.m.mLoadAnm.mStartFrame); field_0x2f97 = 7; seStartOnlyReverb(Z2SE_AL_DRAW_BOW); } @@ -249,7 +255,7 @@ BOOL daAlink_c::checkUpperItemActionBow() { daPy_frameCtrl_c* frameCtrl_p = &mUpperFrameCtrl[2]; if (mEquipItem == fpcNm_ITEM_PACHINKO) { - static Vec const slingLocalPos = {10.0f, 10.0f, 0.0f}; + static const Vec slingLocalPos = {10.0f, 10.0f, 0.0f}; mDoMtx_multVec(getLeftItemMatrix(), &slingLocalPos, &mHeldItemRootPos); } @@ -273,29 +279,29 @@ BOOL daAlink_c::checkUpperItemActionBow() { if (checkReadyItem()) { if (mItemVar0.field_0x3018 != 0) { - setUpperAnimeParam(0xC, UPPER_2, &mpHIO->mItem.mBow.m.mShootAnm); - setFacePriBck(0xE8); + setUpperAnimeParam(dRes_ID_ALANM_BCK_ASHOOT_e, UPPER_2, &mpHIO->mItem.mBow.m.mShootAnm); + setFacePriBck(dRes_ID_ALANM_BCK_FAT_e); field_0x2f96 = 0; - u16 var_r29; + u16 bck_res_id; if (mEquipItem == fpcNm_ITEM_PACHINKO) { - var_r29 = 0x1F1; + bck_res_id = dRes_ID_ALANM_BCK_PSHOOT_e; if (dComIfGs_getPachinkoNum() != 0 && daArrow_c::makeSlingStone(this, &mHeldItemRootPos) != NULL) { dComIfGp_setItemPachinkoNumCount(-1); } } else if (field_0x301c != 0) { - var_r29 = 0x43; + bck_res_id = dRes_ID_ALANM_BCK_BASHOOT_e; } else { - var_r29 = 0x44; + bck_res_id = dRes_ID_ALANM_BCK_BASHOOTTAME_e; } - changeItemBck(var_r29, mpHIO->mItem.mBow.m.mShootAnm.mStartFrame); + changeItemBck(bck_res_id, mpHIO->mItem.mBow.m.mShootAnm.mStartFrame); mItemVar0.field_0x3018 = 0; } else if (mEquipItem == fpcNm_ITEM_PACHINKO) { if (!itemButton()) { - dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); seStartOnlyReverb(Z2SE_AL_PACHINKO_SHOT); mItemVar0.field_0x3018 = 1; resetFacePriAnime(); @@ -303,11 +309,11 @@ BOOL daAlink_c::checkUpperItemActionBow() { } else if (!itemButton()) { if (arrow_p != NULL) { u32 sound; - int shock_strength; + int vibmode; if (field_0x301c != 0) { arrow_p->setShoot(); - shock_strength = 1; + vibmode = VIBMODE_S_POWER1; if (arrow_p->checkBombArrow()) { sound = Z2SE_OBJ_ARROWBOMB_SHOT; @@ -316,7 +322,7 @@ BOOL daAlink_c::checkUpperItemActionBow() { } } else { arrow_p->setChargeShoot(); - shock_strength = 2; + vibmode = VIBMODE_S_POWER2; if (arrow_p->checkBombArrow()) { sound = Z2SE_OBJ_ARROWBOMB_SHOTGAIN; @@ -325,7 +331,7 @@ BOOL daAlink_c::checkUpperItemActionBow() { } } - dComIfGp_getVibration().StartShock(shock_strength, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(vibmode, 1, cXyz(0.0f, 1.0f, 0.0f)); seStartOnlyReverb(sound); if (field_0x301e == 1) { @@ -352,13 +358,13 @@ BOOL daAlink_c::checkUpperItemActionBow() { } } else if (checkBowReloadAnime()) { if (checkAnmEnd(frameCtrl_p)) { - setUpperAnimeBaseSpeed(10, 0.0f, -1.0f); - setFacePriTexture(FTANM_UNK_9); - setFacePriBck(0xE6); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_ARELORDTAME_e, 0.0f, -1.0f); + setFacePriTexture(FTANM_ARELORD); + setFacePriBck(dRes_ID_ALANM_BCK_FARELORDTAME_e); if (mEquipItem != fpcNm_ITEM_PACHINKO) { - changeItemBck(0x42, 0.0f); - dComIfGp_getVibration().StartQuake(1, 1, cXyz(0.0f, 1.0f, 0.0f)); + changeItemBck(dRes_ID_ALANM_BCK_BARELORDTAME_e, 0.0f); + dComIfGp_getVibration().StartQuake(VIBMODE_Q_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); onNoResetFlg3(FLG3_UNK_4); } } @@ -423,7 +429,6 @@ BOOL daAlink_c::checkUpperItemActionBow() { return cancelUpperItemReadyAnime(0); } - void daAlink_c::checkUpperItemActionBowFly() { if (checkBowAnime()) { checkUpperItemActionBow(); @@ -439,7 +444,7 @@ int daAlink_c::checkNextActionBow() { mFastShotTime--; } - BOOL var_r31 = false; + BOOL is_hawk_arrow = false; if (!checkBowAnime()) { setBowReadyAnime(); setFastShotTimer(); @@ -452,7 +457,7 @@ int daAlink_c::checkNextActionBow() { mItemVar0.field_0x3018 = 1; if (mEquipItem == fpcNm_ITEM_HAWK_ARROW) { - var_r31 = true; + is_hawk_arrow = true; mFastShotTime = 0; } @@ -471,7 +476,7 @@ int daAlink_c::checkNextActionBow() { } } - BOOL rt; + BOOL rt = FALSE; if (!checkAttentionLock() && mFastShotTime == 0) { if (checkModeFlg(0x400)) { if (checkCanoeRide()) { @@ -494,7 +499,7 @@ int daAlink_c::checkNextActionBow() { } } - if (rt && var_r31) { + if (rt && is_hawk_arrow) { dComIfGp_setPlayerStatus0(0, 0x200000); seStartSystem(Z2SE_AL_HAWK_EYE_PUTON); } @@ -502,36 +507,37 @@ int daAlink_c::checkNextActionBow() { return rt; } - void daAlink_c::setBowModel() { - J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(0x59); - JKRHeap* old_heap = setItemHeap(); + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(dRes_ID_ALANM_BCK_BVJMPCL_e); + JKRHeap* heap = setItemHeap(); - mHeldItemModel = initModel(loadAramBmd(0x314, 0x4C00), 0); - mItemBck.init(bck, FALSE, 2, 1.0f, 0, -1, false); + mHeldItemModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_AL_BOW_e, 0x4C00), 0); + + if (!mItemBck.init(bck, FALSE, 2, 1.0f, 0, -1, false)) { + JUT_ASSERT(894, 0); + } - mDoExt_setCurrentHeap(old_heap); + mDoExt_setCurrentHeap(heap); field_0x33dc = mItemBck.getBckAnm()->getFrameMax() - 0.001f; field_0x2f95 = 5; field_0x2f94 = 0x67; } - bool daAlink_c::checkBowGrabLeftHand() const { return checkReinRide() && !checkBowAnime(); } void daAlink_c::setBowHangAnime() { if (checkBowItem(mEquipItem)) { - changeItemBck(0x58, 0.0f); + changeItemBck(dRes_ID_ALANM_BCK_BVJMPCH_e, 0.0f); } } void daAlink_c::setBowNormalAnime() { if (checkBowItem(mEquipItem)) { - changeItemBck(0x59, -1.0f); + changeItemBck(dRes_ID_ALANM_BCK_BVJMPCL_e, -1.0f); } else if (mEquipItem == fpcNm_ITEM_PACHINKO) { - changeItemBck(0x1F9, -1.0f); + changeItemBck(dRes_ID_ALANM_BCK_PWAIT_e, -1.0f); } } @@ -563,7 +569,7 @@ int daAlink_c::procBowSubjectInit() { } int daAlink_c::procBowSubject() { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); if (!checkNextAction(0) && setBodyAngleToCamera()) { setBowSight(); } @@ -597,21 +603,21 @@ int daAlink_c::procBowMove() { onEndResetFlg0(ERFLG0_UNK_8000000); if (!checkNextAction(0)) { - f32 var_f31 = -1.0f; + f32 morf = -1.0f; if (checkZeroSpeedF()) { onModeFlg(1); if (field_0x2f98 != 3) { field_0x2f98 = 3; - var_f31 = mpHIO->mBasic.m.mBasicInterpolation; + morf = mpHIO->mBasic.m.mBasicInterpolation; } current.angle.y = shape_angle.y - 0x4000; } else { offModeFlg(1); } - setBlendAtnMoveAnime(var_f31); + setBlendAtnMoveAnime(morf); setBodyAngleXReadyAnime(0); } diff --git a/src/d/actor/d_a_alink_canoe.inc b/src/d/actor/d_a_alink_canoe.inc index b21f7d1185..6b92edf0bc 100644 --- a/src/d/actor/d_a_alink_canoe.inc +++ b/src/d/actor/d_a_alink_canoe.inc @@ -37,14 +37,14 @@ f32 daAlink_c::getCanoeSpeedRate() const { } s16 daAlink_c::getCanoeMaxRotSpeed() const { - s16 var_r30; + s16 max_turn_angle; if (checkCanoeSlider()) { - var_r30 = mpHIO->mCanoe.m.mMaxTurnAngle_RiverRide; + max_turn_angle = mpHIO->mCanoe.m.mMaxTurnAngle_RiverRide; } else { - var_r30 = mpHIO->mCanoe.m.mMaxTurnAngle; + max_turn_angle = mpHIO->mCanoe.m.mMaxTurnAngle; } - return var_r30 * (((mUnderFrameCtrl[0].getRate() - mpHIO->mCanoe.m.mStickRowAnmSpeed) * 0.5f) + 1.0f); + return max_turn_angle * (((mUnderFrameCtrl[0].getRate() - mpHIO->mCanoe.m.mStickRowAnmSpeed) * 0.5f) + 1.0f); } cXyz* daAlink_c::getCanoeLocalPaddleTop() { @@ -53,6 +53,8 @@ cXyz* daAlink_c::getCanoeLocalPaddleTop() { } static fopAc_ac_c* daAlink_searchCanoe(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_CANOE && ((daCanoe_c*)i_actor)->getModel() != NULL) { return i_actor; } @@ -112,22 +114,26 @@ void daAlink_c::initCanoeRide() { mProcVar5.field_0x3012 = 1; field_0x3588 = l_waitBaseAnime; field_0x384c = (cXyz*)&l_canoeBaseAnime; - mRideStatus = 3; + mRideStatus = RIDETYPE_CANOE; mProcVar4.field_0x3010 = 0; } BOOL daAlink_c::checkCanoeJumpRide() { daCanoe_c* canoe = NULL; - if (field_0x850[0].ChkCoHit()) { - canoe = (daCanoe_c*)field_0x850[0].GetCoHitAc(); - } else if (field_0x850[1].ChkCoHit()) { - canoe = (daCanoe_c*)field_0x850[1].GetCoHitAc(); + if (mTgCyls[0].ChkCoHit()) { + canoe = (daCanoe_c*)mTgCyls[0].GetCoHitAc(); + } else if (mTgCyls[1].ChkCoHit()) { + canoe = (daCanoe_c*)mTgCyls[1].GetCoHitAc(); } - if (speed.y < 0.0f && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE && - canoe->checkJumpRideFlg() && !checkDeadHP() && - (mProcID != PROC_FALL || mProcVar4.field_0x3010 != 0)) { + if (speed.y < 0.0f && + canoe != NULL && + fopAcM_GetName(canoe) == PROC_CANOE && + canoe->checkJumpRideFlg() && + !checkDeadHP() && + (mProcID != PROC_FALL || mProcVar4.field_0x3010 != 0)) + { return procCanoeJumpRideInit(canoe); } @@ -135,11 +141,11 @@ BOOL daAlink_c::checkCanoeJumpRide() { } void daAlink_c::setArmReelAnime() { - setUpperAnimeBaseSpeed(0x1FB, 1.0f, -1.0f); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_REELINGARM_e, 1.0f, -1.0f); mUpperFrameCtrl[2].setRate(0.0f); mNowAnmPackUpper[2].setRatio(1.0f); field_0x2f97 = 8; - offNoResetFlg1(FLG1_UNK_8000); + offNoResetFlg1(FLG1_FISHING_ROD_CASTING_END); } void daAlink_c::setFishingWaitAction() { @@ -156,32 +162,32 @@ void daAlink_c::setFishingWaitAction() { mUpperFrameCtrl[2].setRate(0.0f); } - f32 var_f29, var_f28, var_f27, var_f26, var_f31, var_f30; + f32 var_f29, var_f28, var_f27, var_f26, rod_stick_x, rod_stick_y; dmg_rod_class* mg_rod = (dmg_rod_class*)mItemAcKeep.getActor(); if (mg_rod != NULL && !checkEventRun()) { - var_f31 = mg_rod->getRodStickX(); - var_f30 = mg_rod->getRodStickY(); + rod_stick_x = mg_rod->getRodStickX(); + rod_stick_y = mg_rod->getRodStickY(); } else { - var_f31 = 0.0f; - var_f30 = 0.0f; + rod_stick_x = 0.0f; + rod_stick_y = 0.0f; } - var_f29 = JMAFastSqrt(var_f31 * var_f31 + var_f30 * var_f30); - int var_r27 = abs(cM_atan2s(-var_f31, var_f30)); + var_f29 = JMAFastSqrt(SQUARE(rod_stick_x) + SQUARE(rod_stick_y)); + int var_r27 = abs(cM_atan2s(-rod_stick_x, rod_stick_y)); if (var_f29 > 0.05f) { - if (var_f30 > 0.0f) { - var_f28 = ((1.0f - (var_f29 - fabsf(var_f31))) * frame_ctrl0->getEnd()) * 0.2f; + if (rod_stick_y > 0.0f) { + var_f28 = ((1.0f - (var_f29 - fabsf(rod_stick_x))) * frame_ctrl0->getEnd()) * 0.2f; var_f26 = (0x4000 - var_r27) * 0.000061035156f; } else { - var_f28 = frame_ctrl0->getEnd() - (((1.0f - (var_f29 - fabsf(var_f31))) * frame_ctrl0->getEnd()) * 0.8f); + var_f28 = frame_ctrl0->getEnd() - (((1.0f - (var_f29 - fabsf(rod_stick_x))) * frame_ctrl0->getEnd()) * 0.8f); var_f26 = (var_r27 - 0x4000) * 0.000061035156f; } - if (var_f31 < 0.0f) { - var_f27 = ((1.0f - (var_f29 - fabsf(var_f30))) * frame_ctrl1->getEnd()) * 0.5f; + if (rod_stick_x < 0.0f) { + var_f27 = ((1.0f - (var_f29 - fabsf(rod_stick_y))) * frame_ctrl1->getEnd()) * 0.5f; } else { - var_f27 = frame_ctrl1->getEnd() - (((1.0f - (var_f29 - fabsf(var_f30))) * frame_ctrl1->getEnd()) * 0.5f); + var_f27 = frame_ctrl1->getEnd() - (((1.0f - (var_f29 - fabsf(rod_stick_y))) * frame_ctrl1->getEnd()) * 0.5f); } } else { var_f28 = frame_ctrl0->getEnd() * 0.2f; @@ -200,27 +206,25 @@ void daAlink_c::setFishingWaitAction() { void daAlink_c::setFishGetFace() { if (field_0x2fc8 == 1) { - setFacePriBck(0x140); + setFacePriBck(dRes_ID_ALANM_BCK_FH_e); } else if (field_0x2fc8 == 2) { - setFacePriTexture(FTANM_UNK_7A); - setFacePriBck(0x143); + setFacePriTexture(FTANM_I_A); + setFacePriBck(dRes_ID_ALANM_BCK_FI_e); } else if (field_0x2fc8 == 3) { - setFacePriTexture(FTANM_UNK_7B); - setFacePriBck(0x146); + setFacePriTexture(FTANM_J_A); + setFacePriBck(dRes_ID_ALANM_BCK_FJ_e); } else if (field_0x2fc8 == 4) { - setFacePriTexture(FTANM_UNK_7C); - setFacePriBck(0x149); + setFacePriTexture(FTANM_K_A); + setFacePriBck(dRes_ID_ALANM_BCK_FK_e); } else { resetFacePriAnime(); } } -void daAlink_c::setRideCanoeBasePos(fopAc_ac_c* param_0) { - field_0x37c8.x = 0.0f; - field_0x37c8.y = 25.0f; - field_0x37c8.z = -35.0f; +void daAlink_c::setRideCanoeBasePos(fopAc_ac_c* i_canoeActor) { + field_0x37c8.set(0.0f, 25.0f, -35.0f); - if (((daCanoe_c*)param_0)->checkTandem()) { + if (((daCanoe_c*)i_canoeActor)->checkTandem()) { field_0x37c8.z += 175.0f; } } @@ -253,7 +257,8 @@ void daAlink_c::setSyncCanoePos() { cLib_addCalcAngleS(&mBodyAngle.z, var_r28, 5, 0x40, 0x10); s16 var_r29; - f32 var_f31; + s16 var_r27 = mProcVar4.field_0x3010; + f32 var_f31 = 1.0f; if ((canoe->speedF < 0.0f && mProcID == PROC_CANOE_WAIT) || (mProcID == PROC_CANOE_ROW && mProcVar3.field_0x300e == 1)) { if (mProcVar5.field_0x3012 == 0) { var_r29 = 0x5000; @@ -268,7 +273,7 @@ void daAlink_c::setSyncCanoePos() { var_f31 = 0.0f; } else { var_r29 = 0; - var_f31 = (s16)(shape_angle.y - field_0x2fe6) * 0.005f; + var_f31 = (s16)(shape_angle.y - mPrevAngleY) * 0.005f; } } @@ -284,7 +289,8 @@ int daAlink_c::canoeCommon() { setSyncCanoePos(); - if (((daCanoe_c*)mRideAcKeep.getActor())->checkPaddleChangeWater()) { + daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor(); + if (canoe->checkPaddleChangeWater()) { f32 var_f31; if (getNowAnmPackUnder(UNDER_0) != getNowAnmPackUpper(UPPER_0)) { var_f31 = mUpperFrameCtrl[0].getRate(); @@ -292,15 +298,16 @@ int daAlink_c::canoeCommon() { var_f31 = mUnderFrameCtrl[0].getRate(); } - u32 var_r29; + u32 sound_id; if ((mUpperAnmHeap[0].getIdx() == getMainBckData(ANM_CANOE_ROW_LEFT_BACK)->m_upperID) || (mUpperAnmHeap[0].getIdx() == getMainBckData(ANM_CANOE_ROW_RIGHT_BACK)->m_upperID)) { - var_r29 = 0x20022; + sound_id = Z2SE_AL_PADDLING_BACKWARD; } else { - var_r29 = 0x20021; + sound_id = Z2SE_AL_PADDLING_FORWARD; } - int var_r27 = cLib_minMaxLimit(((fabsf(var_f31) - mpHIO->mCanoe.m.mStickRowAnmSpeed) / (mpHIO->mCanoe.m.mBtnRowStartAnmSpeed - mpHIO->mCanoe.m.mStickRowAnmSpeed)) * 127.0f, 0, 0x7F); - mZ2Link.startLinkSwordSound(var_r29, var_r27, mVoiceReverbIntensity); + mZ2Link.startLinkSwordSound(sound_id, + cLib_minMaxLimit(((fabsf(var_f31) - mpHIO->mCanoe.m.mStickRowAnmSpeed) / (mpHIO->mCanoe.m.mBtnRowStartAnmSpeed - mpHIO->mCanoe.m.mStickRowAnmSpeed)) * 127.0f, 0, 127), + mVoiceReverbIntensity); } return 0; @@ -332,7 +339,7 @@ int daAlink_c::procCanoeRideInit() { commonProcInit(PROC_CANOE_RIDE); setHeavyBoots(0); mRideAcKeep.setData(field_0x27f4); - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); daCanoe_c* canoe = (daCanoe_c*)field_0x27f4; setSingleAnime(ANM_HANG_CLIMB_TOP, mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mSpeed, @@ -355,7 +362,7 @@ int daAlink_c::procCanoeRideInit() { field_0x37c8.x = -55.0f; } - mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); + cMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); current.angle.y = shape_angle.y; initCanoeRide(); @@ -370,13 +377,13 @@ int daAlink_c::procCanoeRide() { return checkNextAction(0); } - mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); + cMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { procCanoeWaitInit(1); } else if (frameCtrl->getFrame() < 9.0f) { - mProcVar3.field_0x300e += 0x180; + mProcVar3.field_0x300e += (s16)0x180; if (mProcVar0.field_0x3008 == 0) { canoe->incShapeAngleZ(-mProcVar3.field_0x300e); @@ -389,14 +396,12 @@ int daAlink_c::procCanoeRide() { return 1; } -int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) { - BOOL var_r31; - daCanoe_c* canoe = (daCanoe_c*)param_0; - +int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* i_canoeActor) { commonProcInit(PROC_CANOE_JUMP_RIDE); - if (canoe == NULL) { - canoe = (daCanoe_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL); + BOOL var_r31; + if (i_canoeActor == NULL) { + i_canoeActor = (daCanoe_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL); var_r31 = true; } else { var_r31 = false; @@ -404,15 +409,17 @@ int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) { setHeavyBoots(0); setSingleAnimeParam(ANM_JUMP_LAND, &mpHIO->mAutoJump.m.mLandAnm); - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); + + mRideAcKeep.setData(i_canoeActor); + daCanoe_c* canoe = (daCanoe_c*)i_canoeActor; - mRideAcKeep.setData(canoe); setSpecialGravity(0.0f, maxFallSpeed, 0); mNormalSpeed = 0.0f; speed.y = 0.0f; - setRideCanoeBasePos(canoe); - mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); + setRideCanoeBasePos(i_canoeActor); + cMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); current.angle.y = shape_angle.y; initCanoeRide(); @@ -429,9 +436,9 @@ int daAlink_c::procCanoeJumpRide() { return checkNextAction(0); } - mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); + cMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(mUnderFrameCtrl)) { procCanoeWaitInit(1); } @@ -466,7 +473,8 @@ int daAlink_c::procCanoeGetOffInit() { var_r27 = true; } else { mLinkGndChk.SetPos(&sp4C); - if (dComIfG_Bgsp().GroundCross(&mLinkGndChk) > canoe->current.pos.y) { + f32 var_f31 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); + if (var_f31 > canoe->current.pos.y) { var_r27 = false; } else { var_r27 = true; @@ -475,11 +483,11 @@ int daAlink_c::procCanoeGetOffInit() { } if (var_r27) { - shape_angle.y -= 0x4000; + shape_angle.y -= (s16)0x4000; setOldRootQuaternion(0, 0x4000, 0); var_r28->mTranslate.x -= 100.0f; } else { - shape_angle.y += 0x4000; + shape_angle.y += (s16)0x4000; setOldRootQuaternion(0, -0x4000, 0); var_r28->mTranslate.x += 100.0f; } @@ -540,66 +548,67 @@ int daAlink_c::procCanoeWaitInit(int param_0) { return procCanoePaddleGrabInit(); } - BOOL temp_r26 = mProcID == PROC_CANOE_GRAB_MOVE; + s16 is_prev_grab_move = mProcID == PROC_CANOE_GRAB_MOVE; if (!commonProcInitNotSameProc(PROC_CANOE_WAIT)) { return 0; } - f32 var_f31; - daAlink_ANM var_r27; + f32 morf; + daAlink_ANM anm; - if (param_0) { + if (param_0 != 0) { cXyz sp8; daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor(); + s16 var_r25 = shape_angle.y - canoe->shape_angle.y; - setOldRootQuaternion(0, (s16)(shape_angle.y - canoe->shape_angle.y), 0); - J3DTransformInfo* temp_r3_2 = field_0x2060->getOldFrameTransInfo(0); + setOldRootQuaternion(0, var_r25, 0); + J3DTransformInfo* transinfo = field_0x2060->getOldFrameTransInfo(0); mDoMtx_stack_c::YrotS(-canoe->shape_angle.y); mDoMtx_stack_c::transM(-canoe->current.pos.x, -canoe->current.pos.y, -canoe->current.pos.z); mDoMtx_stack_c::multVec(¤t.pos, &sp8); - temp_r3_2->mTranslate.x += sp8.x; - temp_r3_2->mTranslate.y += sp8.y; - temp_r3_2->mTranslate.z += sp8.z - 15.0f; + transinfo->mTranslate.x += sp8.x; + transinfo->mTranslate.y += sp8.y; + transinfo->mTranslate.z += sp8.z - 15.0f; if (canoe->checkTandem()) { - temp_r3_2->mTranslate.z -= 175.0f; + transinfo->mTranslate.z -= 175.0f; } if (param_0 == 2) { - var_f31 = -1.0f; + morf = -1.0f; mProcVar0.field_0x3008 = 0; mEquipItem = 0x10B; - var_r27 = ANM_WAIT_CANOE_RIGHT; + anm = ANM_WAIT_CANOE_RIGHT; canoe->startInitPaddleWater(); } else { - var_f31 = 10.0f; + morf = 10.0f; mProcVar0.field_0x3008 = 10; - var_r27 = ANM_WAIT_SIT; + anm = ANM_WAIT_SIT; } } else { - var_f31 = 3.0f; + morf = 3.0f; mProcVar0.field_0x3008 = 0; if (mEquipItem == fpcNm_ITEM_NONE || (mEquipItem != 0x10B && !checkFisingRodLure())) { - var_r27 = ANM_WAIT_SIT; + anm = ANM_WAIT_SIT; } else if (mProcVar5.field_0x3012 == 0) { - var_r27 = ANM_WAIT_CANOE_LEFT; + anm = ANM_WAIT_CANOE_LEFT; } else { - var_r27 = ANM_WAIT_CANOE_RIGHT; + anm = ANM_WAIT_CANOE_RIGHT; } } setSyncCanoePos(); - setSingleAnimeBaseMorf(var_r27, var_f31); + setSingleAnimeBaseMorf(anm, morf); if (param_0 && mEquipItem != 0x10B && mEquipItem != fpcNm_ITEM_NONE && !checkFisingRodLure()) { allUnequip(0); } - mProcVar1.field_0x300a = temp_r26; + mProcVar1.field_0x300a = is_prev_grab_move; mNormalSpeed = 0.0f; speed.y = 0.0f; setSpecialGravity(0.0f, maxFallSpeed, 0); @@ -617,14 +626,14 @@ int daAlink_c::procCanoeWait() { if (checkNoUpperAnime()) { if (mNormalSpeed < 3.0f && !checkFisingRodLure() && !checkCanoeSlider()) { if (!setTalkStatus() && !checkStageName("F_SP127")) { - setDoStatusEmphasys(0x16); + setDoStatusEmphasys(BUTTON_STATUS_GET_OFF); } if (orderTalk(0) != 0) { return 1; } - if (doTrigger() && dComIfGp_getDoStatus() == 0x16) { + if (doTrigger() && dComIfGp_getDoStatus() == BUTTON_STATUS_GET_OFF) { if (mEquipItem == 0x10B) { return procCanoePaddlePutInit(1); } @@ -643,7 +652,7 @@ int daAlink_c::procCanoeWait() { field_0x2fde = 0xFF; if (mThrowBoomerangAcKeep.getActor() != NULL || mProcVar1.field_0x300a != 0) { - if ((s16)(field_0x2fe2 - shape_angle.y) >= 0) { + if ((s16)(mMoveAngle - shape_angle.y) >= 0) { mProcVar5.field_0x3012 = 1; } else { mProcVar5.field_0x3012 = 0; @@ -659,7 +668,7 @@ int daAlink_c::procCanoeWait() { } else if (checkInputOnR()) { allUnequip(0); - if ((s16)(field_0x2fe2 - shape_angle.y) >= 0) { + if ((s16)(mMoveAngle - shape_angle.y) >= 0) { mProcVar5.field_0x3012 = 1; } else { mProcVar5.field_0x3012 = 0; @@ -679,29 +688,29 @@ int daAlink_c::procCanoeWait() { } int daAlink_c::procCanoeRowInit(int param_0) { - int var_r29; - fopAc_ac_c* temp_r26 = (fopAc_ac_c*)mRideAcKeep.getActor(); + int anm; + fopAc_ac_c* canoe = (fopAc_ac_c*)mRideAcKeep.getActor(); field_0x3198 = -2; if (param_0 < 0) { if (checkInputOnR()) { - s16 sp8 = (s16)(field_0x2fe2 - shape_angle.y); + s16 sp8 = (s16)(mMoveAngle - shape_angle.y); int temp_r3 = abs(sp8); BOOL spC; if (temp_r3 >= 0x6800) { - spC = 1; + spC = TRUE; } else { - spC = 0; + spC = FALSE; } - int var_r28; + int direction; if (temp_r3 < 0x40 || temp_r3 > 0x7F80) { if (param_0 == -3) { if (mProcVar5.field_0x3012 == 0) { - var_r28 = 2; + direction = 2; } else { - var_r28 = 3; + direction = 3; } } else { if (param_0 == -2) { @@ -709,36 +718,36 @@ int daAlink_c::procCanoeRowInit(int param_0) { } if (mProcVar5.field_0x3012 == 0) { - var_r28 = 3; + direction = 3; } else { - var_r28 = 2; + direction = 2; } } } else if (sp8 > 0) { - var_r28 = 2; + direction = 2; } else { - var_r28 = 3; + direction = 3; } if (spC == 1) { - if (var_r28 == 2) { - var_r29 = ANM_CANOE_ROW_RIGHT_BACK; + if (direction == 2) { + anm = ANM_CANOE_ROW_RIGHT_BACK; } else { - var_r29 = ANM_CANOE_ROW_LEFT_BACK; + anm = ANM_CANOE_ROW_LEFT_BACK; } - if ((var_r29 == ANM_CANOE_ROW_RIGHT_BACK && mProcVar5.field_0x3012 == 0) || (var_r29 == ANM_CANOE_ROW_LEFT_BACK && mProcVar5.field_0x3012 == 1)) { - return procCanoePaddleShiftInit(var_r29); + if ((anm == ANM_CANOE_ROW_RIGHT_BACK && mProcVar5.field_0x3012 == 0) || (anm == ANM_CANOE_ROW_LEFT_BACK && mProcVar5.field_0x3012 == 1)) { + return procCanoePaddleShiftInit(anm); } } else { - if (var_r28 == 2) { - var_r29 = ANM_CANOE_ROW_RIGHT; + if (direction == 2) { + anm = ANM_CANOE_ROW_RIGHT; } else { - var_r29 = ANM_CANOE_ROW_LEFT; + anm = ANM_CANOE_ROW_LEFT; } - if ((var_r29 == ANM_CANOE_ROW_RIGHT && mProcVar5.field_0x3012 == 0) || (var_r29 == ANM_CANOE_ROW_LEFT && mProcVar5.field_0x3012 == 1)) { - return procCanoePaddleShiftInit(var_r29); + if ((anm == ANM_CANOE_ROW_RIGHT && mProcVar5.field_0x3012 == 0) || (anm == ANM_CANOE_ROW_LEFT && mProcVar5.field_0x3012 == 1)) { + return procCanoePaddleShiftInit(anm); } } } else { @@ -752,34 +761,34 @@ int daAlink_c::procCanoeRowInit(int param_0) { } if (mProcVar5.field_0x3012 == 1) { - var_r29 = ANM_CANOE_ROW_RIGHT; + anm = ANM_CANOE_ROW_RIGHT; } else { - var_r29 = ANM_CANOE_ROW_LEFT; + anm = ANM_CANOE_ROW_LEFT; } } // Need something here that generates no code in order for debug branches to match. (void)0; } else { - var_r29 = param_0; + anm = param_0; } commonProcInit(PROC_CANOE_ROW); - f32 var_f31 = mpHIO->mCanoe.m.mBtnRowAnmSpeed; - BOOL var_r24 = 0; + f32 anm_speed = mpHIO->mCanoe.m.mBtnRowAnmSpeed; + BOOL var_r24 = FALSE; - if (var_r29 == ANM_CANOE_ROW_LEFT_BACK || var_r29 == ANM_CANOE_ROW_RIGHT_BACK) { + if (anm == ANM_CANOE_ROW_LEFT_BACK || anm == ANM_CANOE_ROW_RIGHT_BACK) { mProcVar3.field_0x300e = 1; - if (temp_r26->speedF > 0.5f * (-var_f31 * mpHIO->mCanoe.m.mBackSpeedRate)) { - var_r24 = 1; + if (canoe->speedF > 0.5f * (-anm_speed * mpHIO->mCanoe.m.mBackSpeedRate)) { + var_r24 = TRUE; } field_0x3478 = 32.0f; mProcVar0.field_0x3008 = 0; } else { mProcVar3.field_0x300e = 0; - if (temp_r26->speedF < 0.5f * (var_f31 * getCanoeSpeedRate())) { - var_r24 = 1; + if (canoe->speedF < 0.5f * (anm_speed * getCanoeSpeedRate())) { + var_r24 = TRUE; } field_0x3478 = 26.0f; @@ -791,62 +800,62 @@ int daAlink_c::procCanoeRowInit(int param_0) { } } - if (var_r24 != 0) { - var_f31 = mpHIO->mCanoe.m.mBtnRowStartAnmSpeed; + if (var_r24) { + anm_speed = mpHIO->mCanoe.m.mBtnRowStartAnmSpeed; } - setSingleAnime((daAlink_ANM)var_r29, var_f31, 0.0f, 35, 3.0f); + setSingleAnime((daAlink_ANM)anm, anm_speed, 0.0f, 35, 3.0f); setSyncCanoePos(); return 1; } int daAlink_c::procCanoeRow() { - daCanoe_c* temp_r29 = (daCanoe_c*)mRideAcKeep.getActor(); + daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor(); if (canoeCommon()) { return 1; } - daPy_frameCtrl_c* temp_r27 = &mUpperFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUpperFrameCtrl[0]; if (!checkItemChangeFromButton()) { if (checkEquipAnime()) { procCanoePaddlePutInit(0); - } else if (temp_r27->checkPass(0.0f)) { + } else if (framectrl->checkPass(0.0f)) { if (checkInputOnR()) { procCanoeRowInit(field_0x3198); } else { procCanoeWaitInit(0); } } else { - f32 var_f30 = mpHIO->mCanoe.m.mBtnRowAnmSpeed; - if ((mProcVar3.field_0x300e == 1 && temp_r29->speedF > 0.5f * (-var_f30 * mpHIO->mCanoe.m.mBackSpeedRate)) || (mProcVar3.field_0x300e == 0 && temp_r29->speedF < 0.5f * (var_f30 * getCanoeSpeedRate()))) { - var_f30 = mpHIO->mCanoe.m.mBtnRowStartAnmSpeed; + f32 anm_speed = mpHIO->mCanoe.m.mBtnRowAnmSpeed; + if ((mProcVar3.field_0x300e == 1 && canoe->speedF > 0.5f * (-anm_speed * mpHIO->mCanoe.m.mBackSpeedRate)) || (mProcVar3.field_0x300e == 0 && canoe->speedF < 0.5f * (anm_speed * getCanoeSpeedRate()))) { + anm_speed = mpHIO->mCanoe.m.mBtnRowStartAnmSpeed; } - f32 sp8 = temp_r27->getRate(); - cLib_chaseF(&sp8, var_f30, 0.1f); - temp_r27->setRate(sp8); + f32 sp8 = framectrl->getRate(); + cLib_chaseF(&sp8, anm_speed, 0.1f); + framectrl->setRate(sp8); - if (mProcVar0.field_0x3008 == 0 || temp_r27->getFrame() >= 19.0f) { + if (mProcVar0.field_0x3008 == 0 || framectrl->getFrame() >= 19.0f) { s16 var_r28; if (checkInputOnR()) { - s16 temp_r0 = field_0x2fe2 - shape_angle.y; + var_r28 = mMoveAngle - shape_angle.y; s16 var_r25; if (mProcVar3.field_0x300e == 1) { - var_r25 = field_0x2fe2 + 0x8000; + var_r25 = mMoveAngle + 0x8000; } else { - var_r25 = field_0x2fe2; + var_r25 = mMoveAngle; } - if (temp_r0 == -0x8000 || (temp_r0 > 0 && mProcVar5.field_0x3012 == 1) || (temp_r0 < 0 && mProcVar5.field_0x3012 == 0)) { - temp_r29->setAimAngle(var_r25); + if (var_r28 == -0x8000 || (var_r28 > 0 && mProcVar5.field_0x3012 == 1) || (var_r28 < 0 && mProcVar5.field_0x3012 == 0)) { + canoe->setAimAngle(var_r25); } var_r28 = mStickAngle; } else { var_r28 = 0x4000; } - f32 var_f31 = temp_r27->getRate(); + f32 var_f31 = framectrl->getRate(); if (checkCanoeSlider()) { int temp_r3 = abs(var_r28); @@ -858,17 +867,17 @@ int daAlink_c::procCanoeRow() { } if (mProcVar3.field_0x300e == 0) { - temp_r29->setAimSpeed(var_f31 * getCanoeSpeedRate()); + canoe->setAimSpeed(var_f31 * getCanoeSpeedRate()); } else { - temp_r29->setAimSpeed(-var_f31 * mpHIO->mCanoe.m.mBackSpeedRate); + canoe->setAimSpeed(-var_f31 * mpHIO->mCanoe.m.mBackSpeedRate); } } - if (temp_r27->checkPass(field_0x3478)) { + if (framectrl->checkPass(field_0x3478)) { if (mProcVar5.field_0x3012 == 1) { - temp_r29->setPaddleOffsetRight(); + canoe->setPaddleOffsetRight(); } else { - temp_r29->setPaddleOffsetLeft(); + canoe->setPaddleOffsetLeft(); } } } @@ -880,18 +889,18 @@ int daAlink_c::procCanoeRow() { int daAlink_c::procCanoePaddleShiftInit(int param_0) { commonProcInit(PROC_CANOE_PADDLE_SHIFT); - f32 speed; + f32 anm_speed; if (mProcVar5.field_0x3012 == 0) { - speed = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; + anm_speed = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } else { - speed = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; + anm_speed = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } - setSingleAnime(ANM_CANOE_CHANGE_HAND, speed, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); + setSingleAnime(ANM_CANOE_CHANGE_HAND, anm_speed, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); if (mProcVar5.field_0x3012 == 1) { - field_0x2f92 = 0; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0; + mRightHandIndex = 0xFE; } field_0x3198 = param_0; @@ -913,12 +922,12 @@ int daAlink_c::procCanoePaddleShift() { procCanoeRowInit(field_0x3198); } else if (frame_ctrl->checkPass(11)) { if (mProcVar5.field_0x3012 == 0) { - field_0x2f92 = 0; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0; + mRightHandIndex = 0xFE; mProcVar5.field_0x3012 = 1; } else { - field_0x2f92 = 0xFE; - field_0x2f93 = 5; + mLeftHandIndex = 0xFE; + mRightHandIndex = 5; mProcVar5.field_0x3012 = 0; } } @@ -931,26 +940,26 @@ int daAlink_c::procCanoePaddlePutInit(int param_0) { if (checkCanoeSlider() && mEquipItem == 0x10B) { if (checkEquipAnime() && checkBowItem(field_0x2fde)) { mEquipItem = fpcNm_ITEM_NONE; - field_0x2f93 = 0xFE; - field_0x2f92 = 0xFE; + mRightHandIndex = 0xFE; + mLeftHandIndex = 0xFE; return procCanoeWaitInit(0); } } commonProcInit(PROC_CANOE_PADDLE_PUT); - f32 var_f31; + f32 anm_speed; if (mProcVar5.field_0x3012 == 0) { - var_f31 = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; + anm_speed = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } else { - var_f31 = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; + anm_speed = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } - setSingleAnime(ANM_CANOE_CHANGE_HAND, var_f31, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); + setSingleAnime(ANM_CANOE_CHANGE_HAND, anm_speed, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); if (mProcVar5.field_0x3012 == 1) { - field_0x2f92 = 0; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0; + mRightHandIndex = 0xFE; } mProcVar3.field_0x300e = param_0; @@ -974,13 +983,13 @@ int daAlink_c::procCanoePaddlePut() { if (mUpperAnmHeap[0].getIdx() == getMainBckData(ANM_CANOE_CHANGE_HAND)->m_upperID) { if (mUpperFrameCtrl[0].checkPass(11)) { setSingleAnimeBaseSpeed(ANM_CANOE_PADDLE_TO_ROD, -1.0f, 3.0f); - field_0x2f92 = 0; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0; + mRightHandIndex = 0xFE; } } else { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (checkAnmEnd(temp_r29)) { + if (checkAnmEnd(framectrl)) { if (mProcVar3.field_0x300e != 0) { return procCanoeGetOffInit(); } @@ -992,16 +1001,16 @@ int daAlink_c::procCanoePaddlePut() { itemEquip(field_0x2fde); procCanoeWaitInit(0); } - } else if (temp_r29->getFrame() < 5.0f) { + } else if (framectrl->getFrame() < 5.0f) { if (mItemAcKeep.getActor() != NULL) { mEquipItem = 0x105; - field_0x2f93 = 5; + mRightHandIndex = 5; } else { mEquipItem = fpcNm_ITEM_NONE; - field_0x2f93 = 0xFE; + mRightHandIndex = 0xFE; } - field_0x2f92 = 0xFE; + mLeftHandIndex = 0xFE; } } @@ -1020,36 +1029,36 @@ int daAlink_c::procCanoePaddleGrab() { return 1; } - if (checkUnderMove0BckNoArc(ANM_CANOE_PADDLE_TO_ROD) != 0) { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + if (checkUnderMove0BckNoArc(ANM_CANOE_PADDLE_TO_ROD)) { + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (checkAnmEnd(temp_r29) != 0) { - f32 var_f31; + if (checkAnmEnd(framectrl) != 0) { + f32 anm_speed; if (mProcVar5.field_0x3012 == 0) { - var_f31 = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; + anm_speed = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } else { - var_f31 = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; + anm_speed = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } - setSingleAnime(ANM_CANOE_CHANGE_HAND, var_f31, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); + setSingleAnime(ANM_CANOE_CHANGE_HAND, anm_speed, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); mUpperFrameCtrl[0].setFrame(11.0f); getNowAnmPackUpper(UPPER_0)->setFrame(11.0f); if (mProcVar5.field_0x3012 == 1) { - field_0x2f92 = 0; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0; + mRightHandIndex = 0xFE; } else { - field_0x2f92 = 0xFE; - field_0x2f93 = 5; + mLeftHandIndex = 0xFE; + mRightHandIndex = 5; } - } else if (temp_r29->getFrame() >= 5.0f) { + } else if (framectrl->getFrame() >= 5.0f) { if (checkFisingRodLure()) { ((daCanoe_c*)mRideAcKeep.getActor())->onRodID(mItemAcKeep.getID()); mItemAcKeep.clearData(); - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); } - field_0x2f92 = 0xFE; + mLeftHandIndex = 0xFE; if (field_0x2fde == 0xFF) { mEquipItem = 0x10B; @@ -1081,6 +1090,8 @@ int daAlink_c::procCanoeRodGrabInit() { } int daAlink_c::procCanoeRodGrab() { + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + if (canoeCommon()) { return 1; } @@ -1090,7 +1101,7 @@ int daAlink_c::procCanoeRodGrab() { mProcVar0.field_0x3008 = 0; setSingleAnimeBase(ANM_CANOE_PADDLE_TO_ROD); } - } else if (mUnderFrameCtrl[0].getFrame() >= 5.0f) { + } else if (framectrl->getFrame() >= 5.0f) { mItemAcKeep.setID(((daCanoe_c*)mRideAcKeep.getActor())->getRodID()); mItemAcKeep.setActor(); @@ -1113,13 +1124,13 @@ int daAlink_c::procCanoeFishingWaitInit() { } setSingleAnimeBaseSpeed(ANM_CANOE_REEL, 0.0f, 3.0f); - setUpperAnimeBaseSpeed(0x5D, 0.0f, -1.0f); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_CANOEREELINGR_e, 0.0f, -1.0f); - f32 temp_f31 = (1.0f - ((mBodyAngle.y + 0x4000) / 32768.0f)) * mUnderFrameCtrl[0].getEnd(); - mUnderFrameCtrl[0].setFrame(temp_f31); - getNowAnmPackUnder(UNDER_0)->setFrame(temp_f31); - mUpperFrameCtrl[2].setFrame(temp_f31); - getNowAnmPackUpper(UPPER_2)->setFrame(temp_f31); + f32 frame = (1.0f - ((mBodyAngle.y + 0x4000) / 32768.0f)) * mUnderFrameCtrl[0].getEnd(); + mUnderFrameCtrl[0].setFrame(frame); + getNowAnmPackUnder(UNDER_0)->setFrame(frame); + mUpperFrameCtrl[2].setFrame(frame); + getNowAnmPackUpper(UPPER_2)->setFrame(frame); mItemVar0.field_0x3018 = 1; setSyncCanoePos(); @@ -1141,18 +1152,18 @@ int daAlink_c::procCanoeFishingWait() { return 1; } - daPy_frameCtrl_c* temp_r29 = &mUpperFrameCtrl[2]; - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl2 = &mUpperFrameCtrl[2]; + daPy_frameCtrl_c* framectrl0 = &mUnderFrameCtrl[0]; if (mProcVar2.field_0x300c != 0) { - if (checkNoResetFlg1(FLG1_UNK_8000)) { + if (checkNoResetFlg1(FLG1_FISHING_ROD_CASTING_END)) { mProcVar2.field_0x300c = 0; - setUpperAnimeBase(0x68); + setUpperAnimeBase(dRes_ID_ALANM_BCK_CHANGEROD_e); } } else if (checkExchangeRodAnime()) { - if (checkAnmEnd(temp_r29)) { + if (checkAnmEnd(framectrl2)) { procCanoeFishingReelInit(); - } else if (temp_r29->getFrame() >= 8.0f) { + } else if (framectrl2->getFrame() >= 8.0f) { mItemVar0.field_0x3018 = 0; } } else if (!checkNextActionCanoe() && checkCanoeFishingWaitAnime()) { @@ -1168,13 +1179,14 @@ int daAlink_c::procCanoeFishingWait() { var_r27 = -0x3800; } - daPy_addCalcShort(&mBodyAngle.y, var_r27, 5, field_0x33a8 * 1024.0f, 1); + daPy_addCalcShort(&mBodyAngle.y, var_r27, 5, mStickValue * 1024.0f, 1); } - f32 temp_f31 = (1.0f - ((mBodyAngle.y + 0x4000) / 32768.0f)) * temp_r28->getEnd(); - temp_r28->setFrame(temp_f31); - temp_r29->setFrame(temp_f31); + f32 frame = (1.0f - ((mBodyAngle.y + 0x4000) / 32768.0f)) * framectrl0->getEnd(); + framectrl0->setFrame(frame); + framectrl2->setFrame(frame); } + return 1; } @@ -1182,7 +1194,7 @@ int daAlink_c::procCanoeFishingReelInit() { commonProcInit(PROC_CANOE_FISHING_REEL); setDoubleAnime(0.0f, 0.0f, 0.0f, ANM_REEL, ANM_REEL_LEFT_RIGHT, 2, 5.0f); mUnderFrameCtrl[1].setFrame(0.5f * mUnderFrameCtrl[1].getEnd()); - setUnderAnime(0x25B, UNDER_2, 1.0f, 0.0f, -1, -1.0f); + setUnderAnime(dRes_ID_ALANM_BCK_WAITCANOER_e, UNDER_2, 1.0f, 0.0f, -1, -1.0f); setArmReelAnime(); setSyncCanoePos(); return 1; @@ -1198,18 +1210,19 @@ int daAlink_c::procCanoeFishingReel() { if (checkEndResetFlg0(ERFLG0_FISHING_ROD_GET_FISH)) { procCanoeFishingGetInit(); - } else if (checkEndResetFlg0(ERFLG0_UNK_20000)) { + } else if (checkEndResetFlg0(ERFLG0_FISHING_ROD_REEL_END)) { resetUpperAnime(UPPER_2, -1.0f); procCanoeFishingWaitInit(); - } else if (checkEndResetFlg0(ERFLG0_UNK_10000)) { - setUpperAnimeBase(0x17C); - } else if (checkUpperAnime(0x17C)) { - if (mUpperFrameCtrl[2].checkAnmEnd()) { + } else if (checkEndResetFlg0(ERFLG0_FISHING_HIT)) { + setUpperAnimeBase(dRes_ID_ALANM_BCK_HIT_e); + } else if (checkUpperAnime(dRes_ID_ALANM_BCK_HIT_e)) { + if (checkAnmEnd(&mUpperFrameCtrl[2])) { setArmReelAnime(); field_0x2060->initOldFrameMorf(3.0f, field_0x30a8, field_0x30aa); } } else { - if (((dmg_rod_class*)mItemAcKeep.getActor())->checkReelSpin()) { + dmg_rod_class* mg_rod = (dmg_rod_class*)mItemAcKeep.getActor(); + if (mg_rod->checkReelSpin()) { onResetFlg0(RFLG0_UNK_80000); } @@ -1217,7 +1230,8 @@ int daAlink_c::procCanoeFishingReel() { fopAc_ac_c* temp_r3 = mItemAcKeep.getActor(); if (temp_r3 != NULL) { - daPy_addCalcShort(&mBodyAngle.y, cLib_minMaxLimit((cLib_targetAngleY(&field_0x3834, &temp_r3->eyePos) - shape_angle.y), -0x3800, 0x3800), 5, 0x400, 1); + s16 var_r27 = cLib_minMaxLimit((cLib_targetAngleY(&field_0x3834, &temp_r3->eyePos) - shape_angle.y), -0x3800, 0x3800); + daPy_addCalcShort(&mBodyAngle.y, var_r27, 5, 0x400, 1); } } @@ -1227,26 +1241,26 @@ int daAlink_c::procCanoeFishingReel() { int daAlink_c::procCanoeFishingGetInit() { commonProcInit(PROC_CANOE_FISHING_GET); - daAlink_ANM var_r30; + daAlink_ANM anm; if (mBodyAngle.y >= 0) { - var_r30 = ANM_CANOE_FISH_LEFT; + anm = ANM_CANOE_FISH_LEFT; field_0x3478 = 24.0f; field_0x347c = 45.0f; mProcVar3.field_0x300e = 0; } else { - var_r30 = ANM_CANOE_FISH_RIGHT; + anm = ANM_CANOE_FISH_RIGHT; field_0x3478 = 14.0f; field_0x347c = 30.0f; mProcVar3.field_0x300e = 1; } setSyncCanoePos(); - setSingleAnimeBaseMorf(var_r30, 5.0f); + setSingleAnimeBaseMorf(anm, 5.0f); return 1; } int daAlink_c::procCanoeFishingGet() { - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; if (canoeCommon()) { mItemVar0.field_0x3018 = 1; @@ -1256,27 +1270,27 @@ int daAlink_c::procCanoeFishingGet() { setFishGetFace(); if (checkUnderMove0BckNoArc(ANM_CANOE_RELEASE)) { - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { procCanoeFishingWaitInit(); - } else if (temp_r30->getFrame() >= 65.0f) { + } else if (framectrl->getFrame() >= 65.0f) { mItemVar0.field_0x3018 = 1; - field_0x2f92 = 4; - field_0x2f93 = 5; - } else if (temp_r30->getFrame() >= 29.0f) { - field_0x2f93 = 0xFE; + mLeftHandIndex = 4; + mRightHandIndex = 5; + } else if (framectrl->getFrame() >= 29.0f) { + mRightHandIndex = 0xFE; } - } else if (checkAnmEnd(temp_r30)) { - if (checkEndResetFlg0(ERFLG0_UNK_4000000)) { + } else if (checkAnmEnd(framectrl)) { + if (checkEndResetFlg0(ERFLG0_FISHING_RELEASE)) { setSingleAnimeBaseMorf(ANM_CANOE_RELEASE, 3.0f); field_0x2fc8 = 0; offModeFlg(0x100); - } else if (checkEndResetFlg2(ERFLG2_UNK_1)) { + } else if (checkEndResetFlg2(ERFLG2_FISHING_KEEP)) { field_0x2fc8 = 0; procCanoeFishingWaitInit(); } - } else if (temp_r30->checkPass(field_0x3478)) { - field_0x2f93 = 5; - } else if (temp_r30->checkPass(field_0x347c)) { + } else if (framectrl->checkPass(field_0x3478)) { + mRightHandIndex = 5; + } else if (framectrl->checkPass(field_0x347c)) { onModeFlg(0x100); } @@ -1293,17 +1307,17 @@ int daAlink_c::procCanoeSubjectivityInit() { int daAlink_c::procCanoeSubjectivity() { onResetFlg0(RFLG0_UNK_4000000); - s16 temp_r30 = shape_angle.y; - s16 temp_r29 = current.angle.y; + s16 prev_shapeangle = shape_angle.y; + s16 prev_angle = current.angle.y; int temp_r28 = field_0x3190; if (canoeCommon()) { return 1; } - shape_angle.y = temp_r30; + shape_angle.y = prev_shapeangle; - if (checkSubjectEnd(1)) { + if (checkSubjectEnd(TRUE)) { procCanoeWaitInit(0); } else if (checkNextActionFromButton()) { if (checkUpperReadyThrowAnime()) { @@ -1314,7 +1328,7 @@ int daAlink_c::procCanoeSubjectivity() { } return 1; } else { - setRideSubjectAngle(temp_r29); + setRideSubjectAngle(prev_angle); } return 1; @@ -1331,18 +1345,18 @@ int daAlink_c::procCanoeBowSubjectInit() { } int daAlink_c::procCanoeBowSubject() { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); - s16 temp_r30 = shape_angle.y; - s16 temp_r29 = current.angle.y; + s16 prev_shapeangle = shape_angle.y; + s16 prev_angle = current.angle.y; if (canoeCommon()) { return 1; } - shape_angle.y = temp_r30; + shape_angle.y = prev_shapeangle; - if (!checkNextActionCanoe() && setRideSubjectAngle(temp_r29)) { + if (!checkNextActionCanoe() && setRideSubjectAngle(prev_angle)) { setBowSight(); } @@ -1360,7 +1374,7 @@ int daAlink_c::procCanoeBowMoveInit() { } int daAlink_c::procCanoeBowMove() { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); if (canoeCommon()) { return 1; @@ -1421,20 +1435,20 @@ int daAlink_c::procCanoeBoomerangSubject() { } if (checkBoomerangReadyAnime()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } - s16 temp_r30 = shape_angle.y; - s16 temp_r29 = current.angle.y; + s16 prev_shapeangle = shape_angle.y; + s16 prev_angle = current.angle.y; if (canoeCommon()) { return 1; } - shape_angle.y = temp_r30; + shape_angle.y = prev_shapeangle; if (!checkNextActionCanoe()) { - if (setRideSubjectAngle(temp_r29)) { + if (setRideSubjectAngle(prev_angle)) { setBoomerangSight(); } } else { @@ -1461,7 +1475,7 @@ int daAlink_c::procCanoeBoomerangMove() { } if (checkBoomerangReadyAnime()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (canoeCommon()) { @@ -1488,20 +1502,20 @@ int daAlink_c::procCanoeHookshotSubjectInit() { int daAlink_c::procCanoeHookshotSubject() { if (checkHookshotWait()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } - s16 temp_r30 = shape_angle.y; - s16 temp_r29 = current.angle.y; + s16 prev_shapeangle = shape_angle.y; + s16 prev_angle = current.angle.y; if (canoeCommon()) { return 1; } - shape_angle.y = temp_r30; + shape_angle.y = prev_shapeangle; if (!checkNextActionCanoe()) { - if (setRideSubjectAngle(temp_r29)) { + if (setRideSubjectAngle(prev_angle)) { setHookshotSight(); } } else { @@ -1526,7 +1540,7 @@ int daAlink_c::procCanoeHookshotMove() { cancelHookshotMove(); if (checkHookshotWait()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (canoeCommon()) { @@ -1540,7 +1554,7 @@ int daAlink_c::procCanoeHookshotMove() { return 1; } -int daAlink_c::procCanoeBottleDrinkInit(u16 param_0) { +int daAlink_c::procCanoeBottleDrinkInit(u16 i_itemNo) { if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { return 0; } @@ -1549,15 +1563,15 @@ int daAlink_c::procCanoeBottleDrinkInit(u16 param_0) { commonProcInit(PROC_CANOE_BOTTLE_DRINK); setSyncCanoePos(); - daCanoe_c* temp_r3 = (daCanoe_c*)mRideAcKeep.getActor(); - temp_r3->speedF = 0.0f; - temp_r3->setAimSpeed(0.0f); - temp_r3->setAimAngle(shape_angle.y); + daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor(); + canoe->speedF = 0.0f; + canoe->setAimSpeed(0.0f); + canoe->setAimAngle(shape_angle.y); setUpperAnimeParam(getMainBckData(ANM_BOTTLE_DRINK_START)->m_upperID, UPPER_2, &mpHIO->mItem.mBottle.m.mStartDrinkAnm); setFacePriAnime(ANM_BOTTLE_DRINK_START); keepItemData(); - setBottleModel(param_0); + setBottleModel(i_itemNo); dComIfGp_setPlayerStatus1(0, 0x2000); field_0x319c = 1; @@ -1606,7 +1620,7 @@ int daAlink_c::procCanoeKandelaarPour() { } if (commonKandelaarPour(1)) { - setUpperAnimeBaseMorf(0x268, -1.0f); + setUpperAnimeBaseMorf(dRes_ID_ALANM_BCK_WAITK_e, -1.0f); } return 1; @@ -1623,7 +1637,7 @@ int daAlink_c::procFishingCastInit() { } setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); - setUpperAnimeBase(0x260); + setUpperAnimeBase(dRes_ID_ALANM_BCK_WAITFISHR_e); field_0x2f96 = 0xFE; field_0x2f97 = 8; mNormalSpeed = 0.0f; @@ -1633,21 +1647,23 @@ int daAlink_c::procFishingCastInit() { mItemVar0.field_0x3018 = 1; if (checkFishingRodItem(mEquipItem)) { - onNoResetFlg2(FLG2_UNK_20000000); + onNoResetFlg2(FLG2_FISHING_CAST_WAIT); } return 1; } int daAlink_c::procFishingCast() { + daPy_frameCtrl_c* framectrl = &mUpperFrameCtrl[2]; + setFishGetFace(); - if (checkEndResetFlg0(ERFLG0_UNK_4000000)) { + if (checkEndResetFlg0(ERFLG0_FISHING_RELEASE)) { setFaceBasicAnime(ANM_WAIT); field_0x2fc8 = 0; } - if (checkEndResetFlg0(ERFLG0_UNK_10000) && mItemMode != 0xFF) { + if (checkEndResetFlg0(ERFLG0_FISHING_HIT) && mItemMode != 0xFF) { mItemMode = 0xFF; dComIfGs_setBaitItem(0xFF); @@ -1658,14 +1674,14 @@ int daAlink_c::procFishingCast() { } } - if (!checkNoResetFlg2(FLG2_UNK_20000000)) { + if (!checkNoResetFlg2(FLG2_FISHING_CAST_WAIT)) { resetUpperAnime(UPPER_2, -1.0f); onEndResetFlg0(ERFLG0_UNK_1000); return checkWaitAction(); } if (checkInputOnR()) { - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); + cLib_addCalcAngleS(&shape_angle.y, mMoveAngle, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); current.angle.y = shape_angle.y; } @@ -1701,7 +1717,7 @@ int daAlink_c::procFishingFoodInit() { } else { mProcVar4.field_0x3010 = 1; keepItemData(); - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); mSelectItemId = checkItemSetButton(0x108); mEquipItem = dComIfGp_getSelectItem(mSelectItemId); setItemActor(); @@ -1714,7 +1730,7 @@ int daAlink_c::procFishingFoodInit() { } int daAlink_c::procFishingFood() { - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(&mUnderFrameCtrl[0])) { if (mProcVar2.field_0x300c != 0) { if (mProcVar4.field_0x3010 != 0) { returnKeepItemData(); @@ -1724,8 +1740,8 @@ int daAlink_c::procFishingFood() { setSingleAnime(ANM_BOTTLE_OPEN, -1.0f, 0.0f, mUnderFrameCtrl[0].getEnd(), -1.0f); mProcVar2.field_0x300c = 1; - u32 temp_r3 = dComIfGp_getSelectItem(mProcVar3.field_0x300e); - if (temp_r3 == fpcNm_ITEM_WORM || dComIfGp_getSelectItemNum(mProcVar3.field_0x300e) == 1) { + u16 item = dComIfGp_getSelectItem(mProcVar3.field_0x300e); + if (item == fpcNm_ITEM_WORM || dComIfGp_getSelectItemNum(mProcVar3.field_0x300e) == 1) { dComIfGs_setEquipBottleItemEmpty(mProcVar3.field_0x300e); } else { dComIfGp_addSelectItemNum(mProcVar3.field_0x300e, -1); @@ -1738,22 +1754,22 @@ int daAlink_c::procFishingFood() { } } - mItemMode = temp_r3; + mItemMode = item; - BOOL temp_r28 = checkFisingRodJewl(); - if (temp_r3 == fpcNm_ITEM_WORM) { - if (temp_r28) { + BOOL is_jewl = checkFisingRodJewl(); + if (item == fpcNm_ITEM_WORM) { + if (is_jewl) { mEquipItem = fpcNm_ITEM_JEWEL_WORM_ROD; } else { mEquipItem = fpcNm_ITEM_WORM_ROD; } - } else if (temp_r28) { + } else if (is_jewl) { mEquipItem = fpcNm_ITEM_JEWEL_BEE_ROD; } else { mEquipItem = fpcNm_ITEM_BEE_ROD; } - dComIfGs_setBaitItem(temp_r3); + dComIfGs_setBaitItem(item); } } diff --git a/src/d/actor/d_a_alink_copyrod.inc b/src/d/actor/d_a_alink_copyrod.inc index 0490a62087..c268e6e6b9 100644 --- a/src/d/actor/d_a_alink_copyrod.inc +++ b/src/d/actor/d_a_alink_copyrod.inc @@ -43,7 +43,7 @@ fopAc_ac_c* daAlink_c::getCopyRodCameraActor() { return NULL; } -void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) { +void daAlink_c::initCopyRodUpperAnimeSpeed(BOOL param_0) { if (!checkCopyRodThrowAnime()) { if (param_0) { mUpperFrameCtrl[2].setRate(0.0f); @@ -60,11 +60,9 @@ BOOL daAlink_c::checkForestOldCentury() { } BOOL daAlink_c::checkCopyRodTopUse() { - // Event flag 0x2580: Dominion Rod power restored - return (dComIfGs_isEventBit(0x2580) && - !(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e != 0)) || - dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 || - checkForestOldCentury(); + return (dComIfGs_isEventBit(dSv_event_flag_c::F_0302) && !(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e != 0)) + || dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) == dStage_SaveTbl_LV6 + || checkForestOldCentury(); } BOOL daAlink_c::checkCopyRodAnime() const { @@ -73,7 +71,7 @@ BOOL daAlink_c::checkCopyRodAnime() const { void daAlink_c::setCopyRodControllAnime() { if (checkNoUpperAnime() && getCopyRodControllActor()) { - setUpperAnimeBaseSpeed(0x202, 0.0f, 3.0f); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_RODD_e, 0.0f, 3.0f); field_0x2f96 = 2; field_0x2f97 = 5; field_0x33e8 = 0.0f; @@ -81,26 +79,26 @@ void daAlink_c::setCopyRodControllAnime() { } void daAlink_c::setCopyRodControllUpperSpeedRate() { - f32 var_f31; + f32 max_speed; if (checkAttentionLock()) { - var_f31 = 1.0f; + max_speed = 1.0f; } else { if (mProcID == PROC_STEP_MOVE) { - var_f31 = fabsf(field_0x3478 / mpHIO->mMove.m.mMaxSpeed); + max_speed = fabsf(field_0x3478 / mpHIO->mMove.m.mMaxSpeed); } else { - var_f31 = fabsf(mNormalSpeed / mpHIO->mMove.m.mMaxSpeed); + max_speed = fabsf(mNormalSpeed / mpHIO->mMove.m.mMaxSpeed); } - if (checkHeavyStateOn(1, 1)) { - var_f31 *= 1.0f / (mHeavySpeedMultiplier * mHeavySpeedMultiplier); + if (checkHeavyStateOn(TRUE, TRUE)) { + max_speed *= 1.0f / (mHeavySpeedMultiplier * mHeavySpeedMultiplier); } } - if (var_f31 > 1.0f) { - var_f31 = 1.0f; + if (max_speed > 1.0f) { + max_speed = 1.0f; } - cLib_chaseF(&field_0x33e8, var_f31, 0.15f); + cLib_chaseF(&field_0x33e8, max_speed, 0.15f); daPy_frameCtrl_c* frame_ctrl = &mUpperFrameCtrl[2]; frame_ctrl->setFrame(field_0x33e8 * frame_ctrl->getEnd()); @@ -109,9 +107,8 @@ void daAlink_c::setCopyRodControllUpperSpeedRate() { void daAlink_c::setCopyRodModel() { JKRHeap* heap = setItemHeap(); - J3DModelData* mdl_data = loadAramBmd(0x315, 0x5400); - mHeldItemModel = initModel(mdl_data, 0x80000, 0x1000000); - field_0x0724 = loadAramItemBrk(0x323, mHeldItemModel); + mHeldItemModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_AL_CROD_e, 0x5400), 0x1000000); + field_0x0724 = loadAramItemBrk(dRes_ID_ALANM_BRK_AL_CROD_CHANGE_COLOR_e, mHeldItemModel); mDoExt_setCurrentHeap(heap); field_0x0724->setFrame(0.0f); @@ -119,25 +116,25 @@ void daAlink_c::setCopyRodModel() { mAtCps[0].SetAtSpl(dCcG_At_Spl_UNK_0); mAtCps[0].SetAtAtp(0); - mAtCps[0].SetAtSe(20); + mAtCps[0].SetAtSe(dCcD_SE_COPYROD); mAtCps[0].SetAtHitMark(1); mAtCps[0].OnAtSetBit(); mAtCps[0].SetAtHitCallback(NULL); mAtCps[0].SetAtMtrl(dCcD_MTRL_NONE); - mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(field_0x30c0)); + mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(mLeftItemJntNo)); mHeldItemModel->calc(); } void daAlink_c::setCopyRodReadyAnime() { f32 speed; - if (checkAttentionLock()) { - speed = mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed; - } else { + if (!checkAttentionLock()) { speed = 0.0f; + } else { + speed = mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed; } - setUpperAnimeBaseSpeed(0x54, speed, 3.0f); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_BOOMWAIT_e, speed, 3.0f); if (checkCopyRodTopUse()) { seStartSwordCut(Z2SE_AL_COPYROD_READY); @@ -160,6 +157,7 @@ void daAlink_c::throwCopyRod() { onNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); mItemAcKeep.clearData(); } + dComIfGp_clearPlayerStatus0(0, 0x80); mFastShotTime = -1; voiceStart(Z2SE_AL_V_ATTACK_S); @@ -179,20 +177,19 @@ void daAlink_c::throwCopyRod() { int daAlink_c::returnCopyRod() { offNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); - int var_r31; + BOOL rt; if (mEquipItem == fpcNm_ITEM_COPY_ROD) { mItemAcKeep = mCopyRodAcKeep; onNoResetFlg0(FLG0_UNK_20); - var_r31 = 1; + rt = TRUE; - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); } else { - var_r31 = 0; + rt = FALSE; } mCopyRodAcKeep.clearData(); - return var_r31; + return rt; } BOOL daAlink_c::checkUpperItemActionCopyRod() { @@ -255,7 +252,6 @@ int daAlink_c::checkNextActionCopyRod() { void daAlink_c::setCopyRodSight() { if (mItemAcKeep.getActor() && !checkCopyRodThrowAnime()) { cXyz sight_pos; - checkSightLine(getCopyRodBallDisMax(), &sight_pos); mSight.setPos(&sight_pos); mSight.onDrawFlg(); @@ -288,7 +284,7 @@ int daAlink_c::procCopyRodSubject() { } if (checkCopyRodReadyAnime()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } setShapeAngleToAtnActor(0); @@ -326,20 +322,20 @@ int daAlink_c::procCopyRodMove() { } if (!checkNextAction(0)) { - f32 var_f31 = -1.0f; + f32 morf = -1.0f; if (checkZeroSpeedF()) { onModeFlg(1); if (field_0x2f98 != 3) { field_0x2f98 = 3; - var_f31 = mpHIO->mBasic.m.mBasicInterpolation; + morf = mpHIO->mBasic.m.mBasicInterpolation; } } else { offModeFlg(1); } - setBlendAtnMoveAnime(var_f31); + setBlendAtnMoveAnime(morf); setBodyAngleXReadyAnime(0); } @@ -383,7 +379,7 @@ int daAlink_c::procCopyRodSwing() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; mProcVar2.field_0x300c = 0; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { setCopyRodControllAnime(); checkNextAction(0); } else if (frameCtrl->getFrame() > field_0x3480 && checkNextAction(1)) { @@ -413,7 +409,7 @@ int daAlink_c::procCopyRodReviveInit() { if (mDemo.getParam0() == 0) { if (mEquipItem != fpcNm_ITEM_COPY_ROD) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); mEquipItem = fpcNm_ITEM_COPY_ROD; setCopyRodModel(); } @@ -428,7 +424,7 @@ int daAlink_c::procCopyRodReviveInit() { int daAlink_c::procCopyRodRevive() { simpleAnmPlay(field_0x0724); - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(&mUnderFrameCtrl[0])) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } diff --git a/src/d/actor/d_a_alink_crawl.inc b/src/d/actor/d_a_alink_crawl.inc index f456c70b67..e90c87ac88 100644 --- a/src/d/actor/d_a_alink_crawl.inc +++ b/src/d/actor/d_a_alink_crawl.inc @@ -28,8 +28,13 @@ void daAlink_c::setCrawlMoveDirectionArrow() { static const u8 data_80452F39 = 4; u8 direction = 0; - camera_class* camera = (camera_class*)dComIfGp_getCamera(field_0x317c); - BOOL bvar = cLib_distanceAngleS(fopCamM_GetAngleY(camera), shape_angle.y) > 0x4000; + + BOOL bvar; + if (cLib_distanceAngleS(fopCamM_GetAngleY(dComIfGp_getCamera(field_0x317c)), shape_angle.y) > 0x4000) { + bvar = TRUE; + } else { + bvar = FALSE; + } if (field_0x3198 & 4) { if (!bvar) { @@ -140,9 +145,20 @@ BOOL daAlink_c::changeCrawlAutoMoveProc(cXyz* param_0) { var_r29 |= 8; } } - - if (cM3d_Len2dSqPntAndSegLine(0.5f * (sp34.x + sp28.x), 0.5f * (sp34.z + sp28.z), sp70.x, sp70.z, param_0->x - (95.0f * temp_f31), param_0->z - (95.0f * temp_f30), &sp64.x, &sp64.z, &spC)) { + f32 var_f27 = param_0->x - (95.0f * temp_f31); + f32 var_f26 = param_0->z - (95.0f * temp_f30); + + if (cM3d_Len2dSqPntAndSegLine(0.5f * (sp34.x + sp28.x), + 0.5f * (sp34.z + sp28.z), + sp70.x, + sp70.z, + var_f27, + var_f26, + &sp64.x, + &sp64.z, + &spC)) + { sp64.y = current.pos.y; if (checkWolf()) { return procWolfLieAutoMoveInit(var_r29, &sp64); @@ -155,15 +171,15 @@ BOOL daAlink_c::changeCrawlAutoMoveProc(cXyz* param_0) { } int daAlink_c::getCrawlMoveVec(cXyz* param_0, cXyz* param_1, cXyz* param_2, int param_3, - int param_4, u8* param_5) { + int param_4, u8* param_5) { if (commonLineCheck(param_0, param_1) && ((param_4 == 0 && (!checkWolf() || !dComIfGp_checkPlayerStatus0(0, 0x08000000))) || dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 6) && (!checkWolf() || dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7)) { - cM3dGPla sp3C; - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp3C); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); int temp_r27 = dComIfG_Bgsp().GetSpecialCode(mLinkLinChk); - if (cBgW_CheckBWall(sp3C.mNormal.y) || (param_3 == 2 && cBgW_CheckBGround(sp3C.mNormal.y))) { + if (cBgW_CheckBWall(tripla.mNormal.y) || (param_3 == 2 && cBgW_CheckBGround(tripla.mNormal.y))) { cXyz sp1C = *param_1 - mLinkLinChk.GetCross(); - s16 temp_r26 = sp3C.mNormal.atan2sX_Z(); + s16 temp_r26 = tripla.mNormal.atan2sX_Z(); s16 temp_r3 = sp1C.atan2sX_Z(); if (abs((s16)((temp_r3 + 0x8000) - temp_r26)) > 0x3000) { @@ -172,34 +188,34 @@ int daAlink_c::getCrawlMoveVec(cXyz* param_0, cXyz* param_1, cXyz* param_2, int f32 temp_f31 = -sp1C.absXZ() * cM_scos(((temp_r3 - temp_r26) - 0x8000)); - param_2->x = temp_f31 * sp3C.mNormal.x; + param_2->x = temp_f31 * tripla.mNormal.x; if (param_3 != 1) { param_2->y = 0.0f; } else { param_2->y = sp1C.y; } - param_2->z = temp_f31 * sp3C.mNormal.z; + param_2->z = temp_f31 * tripla.mNormal.z; if (param_5 != NULL && (dKy_pol_argument_get(&mLinkLinChk) & 0x60)) { *param_5 = 3; - cM3dGPla sp28; - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp28); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); - field_0x311e = sp28.mNormal.atan2sX_Z(); + field_0x311e = tripla.mNormal.atan2sX_Z(); if (checkIcePolygonDamage(&mLinkLinChk)) { - *param_5 |= 0x80; + *param_5 |= (u8)0x80; } if (dKy_pol_argument_get(&mLinkLinChk) & 0x20) { - *param_5 |= 0x40; + *param_5 |= (u8)0x40; } } return 1; } - if (param_3 == 1 && (temp_r27 == 1 || (sp3C.mNormal.y < field_0x3470 && temp_r27 == 2))) { + if (param_3 == 1 && (temp_r27 == 1 || (tripla.mNormal.y < field_0x3470 && temp_r27 == 2))) { *param_2 = *param_1 - mLinkLinChk.GetCross(); return 1; } @@ -233,24 +249,24 @@ void daAlink_c::crawlBgCheck(cXyz* param_0, cXyz* param_1, int param_2) { } BOOL daAlink_c::checkCrawlSideWall(cXyz* param_0, cXyz* param_1, cXyz* param_2, cXyz* param_3, - s16* param_4, s16* param_5) { + s16* param_4, s16* param_5) { cXyz sp58; cXyz sp4C; if (commonLineCheck(param_0, param_1)) { - cM3dGPla sp64; + cM3dGPla tripla; *param_2 = mLinkLinChk.GetCross(); - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp64); + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); - *param_4 = sp64.mNormal.atan2sX_Z(); + *param_4 = tripla.mNormal.atan2sX_Z(); - sp4C = *param_2 + (sp64.mNormal * 95.0f); + sp4C = *param_2 + (tripla.mNormal * 95.0f); sp58 = (sp4C + *param_2) * 0.5f; if (commonLineCheck(&sp58, &sp4C)) { *param_3 = mLinkLinChk.GetCross(); - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp64); + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); - *param_5 = sp64.mNormal.atan2sX_Z(); + *param_5 = tripla.mNormal.atan2sX_Z(); cXyz sp40 = *param_2 - *param_3; f32 temp_f31 = sp40.abs2XZ(); @@ -265,25 +281,25 @@ BOOL daAlink_c::checkCrawlSideWall(cXyz* param_0, cXyz* param_1, cXyz* param_2, void daAlink_c::decideCrawlDoStatus() { if (dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x80)) { - if (checkSubjectEnd(1) || mWaterY > current.pos.y) { + if (checkSubjectEnd(TRUE) || mWaterY > current.pos.y) { dComIfGp_clearPlayerStatus0(0, 0x2000); } - } else { - dCamera_c* camera = dCam_getBody(); + } else if (dCam_getBody()->ChangeModeOK(4) && mWaterY <= current.pos.y) { + onResetFlg0(RFLG0_UNK_4000000); - if (camera->ChangeModeOK(4) && mWaterY <= current.pos.y) { - onResetFlg0(RFLG0_UNK_4000000); - - if (dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x1000) && !checkEventRun()) { - setSubjectMode(); - } + if (dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x1000) && !checkEventRun()) { + setSubjectMode(); } } } BOOL daAlink_c::checkNotCrawlStand(cXyz* param_0) { mLinkRoofChk.SetPos(*param_0); - return dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - current.pos.y <= field_0x598; + if (dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - current.pos.y <= mHeight) { + return TRUE; + } + + return FALSE; } BOOL daAlink_c::checkNotCrawlStand(cXyz* param_0, cXyz* param_1) { @@ -303,6 +319,8 @@ BOOL daAlink_c::checkNotCrawlStand(cXyz* param_0, cXyz* param_1) { } BOOL daAlink_c::checkCrawlInHoll(cXyz* param_0, cXyz* param_1, cXyz* param_2, int param_3) { + UNUSED(param_3); + cXyz spC0; cXyz spB4; cXyz spA8; @@ -325,7 +343,9 @@ BOOL daAlink_c::checkCrawlInHoll(cXyz* param_0, cXyz* param_1, cXyz* param_2, in *param_2 += sp90; spB4 = (*param_2 * 2.0f) - spC0; - if (checkCrawlSideWall(param_2, &spC0, &spA8, &sp9C, &sp16, &sp14) || checkCrawlSideWall(param_2, &spB4, &sp9C, &spA8, &sp14, &sp16)) { + if (checkCrawlSideWall(param_2, &spC0, &spA8, &sp9C, &sp16, &sp14) || + checkCrawlSideWall(param_2, &spB4, &sp9C, &spA8, &sp14, &sp16)) + { field_0x3198 = 1; field_0x37c8 = ((spA8 + sp9C) * 0.5f) - sp90; mProcVar2.field_0x300c = sp16 + 0x4000; @@ -336,9 +356,7 @@ BOOL daAlink_c::checkCrawlInHoll(cXyz* param_0, cXyz* param_1, cXyz* param_2, in } void daAlink_c::setCrawlMoveHoll() { - f32 frame_ctrl_rate = mUnderFrameCtrl[0].getRate(); - - if (frame_ctrl_rate) { + if (mUnderFrameCtrl[0].getRate()) { cLib_addCalcAngleS(&shape_angle.y, mProcVar2.field_0x300c, 5, 0x1000, 0x800); current.angle.y = shape_angle.y; } @@ -357,7 +375,7 @@ void daAlink_c::setCrawlMoveAngle() { cXyz sp2C; cXyz sp38; - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mCrouch.m.mCrawlTurnRate, + cLib_addCalcAngleS(&shape_angle.y, mMoveAngle, mpHIO->mCrouch.m.mCrawlTurnRate, mpHIO->mCrouch.m.mCrawlTurnMax, mpHIO->mCrouch.m.mCrawlTurnMin); @@ -386,14 +404,14 @@ void daAlink_c::setCrawlMoveAngle() { } } -void daAlink_c::stopHalfMoveAnime(f32 param_0) { +void daAlink_c::stopHalfMoveAnime(f32 i_frame) { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; f32 frame; if (frame_ctrl->checkPass(0.0f)) { frame = 0.0f; } else { - frame = param_0; + frame = i_frame; } frame_ctrl->setRate(0.0f); @@ -402,11 +420,11 @@ void daAlink_c::stopHalfMoveAnime(f32 param_0) { } void daAlink_c::setCrawlAutoMoveAimPos() { - int temp_r30 = getDirectionFromShapeAngle(); + int direction = getDirectionFromShapeAngle(); f32 temp_f31 = cM_ssin(shape_angle.y); f32 temp_f30 = cM_scos(shape_angle.y); - if (temp_r30 == 2 && (field_0x3198 & 4)) { + if (direction == DIR_LEFT && (field_0x3198 & 4)) { field_0x37c8.x += 1.5f * (95.0f * temp_f30); field_0x37c8.z -= 1.5f * (95.0f * temp_f31); @@ -419,7 +437,7 @@ void daAlink_c::setCrawlAutoMoveAimPos() { } mProcVar0.field_0x3008 = -1; - } else if (temp_r30 == 3 && (field_0x3198 & 8)) { + } else if (direction == DIR_RIGHT && (field_0x3198 & 8)) { field_0x37c8.x -= 1.5f * (95.0f * temp_f30); field_0x37c8.z += 1.5f * (95.0f * temp_f31); @@ -432,14 +450,14 @@ void daAlink_c::setCrawlAutoMoveAimPos() { } mProcVar0.field_0x3008 = -1; - } else if ((field_0x3198 & 1) && ((shape_angle.y == current.angle.y && temp_r30 == 0) || (shape_angle.y != current.angle.y && temp_r30 == 1))) { + } else if ((field_0x3198 & 1) && ((shape_angle.y == current.angle.y && direction == DIR_FORWARD) || (shape_angle.y != current.angle.y && direction == DIR_BACKWARD))) { field_0x37c8.x += 1.5f * (95.0f * cM_ssin(current.angle.y)); field_0x37c8.z += 1.5f * (95.0f * cM_scos(current.angle.y)); mProcVar2.field_0x300c = shape_angle.y; mProcVar3.field_0x300e = 0; mProcVar0.field_0x3008 = -1; - } else if ((shape_angle.y == current.angle.y && temp_r30 == 1) || (shape_angle.y != current.angle.y && temp_r30 == 0)) { + } else if ((shape_angle.y == current.angle.y && direction == DIR_BACKWARD) || (shape_angle.y != current.angle.y && direction == DIR_FORWARD)) { current.angle.y += 0x8000; field_0x37c8.x -= 1.5f * (95.0f * cM_ssin(current.angle.y)); field_0x37c8.z -= 1.5f * (95.0f * cM_scos(current.angle.y)); @@ -503,50 +521,50 @@ int daAlink_c::procCrawlStart() { return 1; } -int daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) { +int daAlink_c::procCrawlMoveInit(s16 i_angleX, s16 i_angleZ) { BOOL var_r29; - BOOL var_r28 = 0; + BOOL var_r28 = FALSE; if (mProcID == PROC_CRAWL_AUTO_MOVE) { - var_r29 = 0; + var_r29 = FALSE; } else { - var_r29 = 1; + var_r29 = TRUE; if (mProcID == PROC_CRAWL_START) { - var_r28 = 1; + var_r28 = TRUE; } } BOOL var_r27; if (dComIfGp_checkPlayerStatus0(0, 0x2000)) { - var_r27 = 1; + var_r27 = TRUE; } else { - var_r27 = 0; + var_r27 = FALSE; } commonProcInit(PROC_CRAWL_MOVE); mProcVar3.field_0x300e = 0; - if (var_r29 != 0) { - f32 var_f31 = getCrawlMoveAnmSpeed(); - if (var_r28 != 0) { + if (var_r29) { + f32 anm_speed = getCrawlMoveAnmSpeed(); + if (var_r28) { mProcVar3.field_0x300e = 1; - } else if (getDirectionFromShapeAngle() == 1) { - var_f31 *= -1.0f; + } else if (getDirectionFromShapeAngle() == DIR_BACKWARD) { + anm_speed *= -1.0f; } current.angle.y = shape_angle.y; - setSingleAnimeBaseSpeed(ANM_CRAWL, var_f31, mpHIO->mCrouch.m.mCrawlInterpolation); + setSingleAnimeBaseSpeed(ANM_CRAWL, anm_speed, mpHIO->mCrouch.m.mCrawlInterpolation); } field_0x3198 = var_r29 ^ 1; - shape_angle.x = param_0; - shape_angle.z = param_1; + shape_angle.x = i_angleX; + shape_angle.z = i_angleZ; field_0x33cc = 1.0f; field_0x2f99 = 0xC; dComIfGp_setPlayerStatus0(0, 0x08000000); - if (var_r27 != 0) { + if (var_r27) { dComIfGp_setPlayerStatus0(0, 0x2000); } @@ -554,7 +572,7 @@ int daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) { } int daAlink_c::procCrawlMove() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; cXyz sp54; cXyz sp48; cXyz sp3C; @@ -587,33 +605,33 @@ int daAlink_c::procCrawlMove() { if ((var_r27 != 0 && mProcVar3.field_0x300e == 0) || getSlidePolygon(&sp60) || checkCrawlWaterIn()) { procCrawlEndInit(1, shape_angle.x, shape_angle.z); } else { - BOOL var_r26 = 0; + BOOL var_r26 = FALSE; f32 temp_f31 = getCrawlMoveAnmSpeed(); - if (temp_r29->getRate() > 0.0f) { - setWaterInAnmRate(temp_r29, temp_f31); - } else if (temp_r29->getRate() < 0.0f) { - setWaterInAnmRate(temp_r29, -temp_f31); + if (framectrl->getRate() > 0.0f) { + setWaterInAnmRate(framectrl, temp_f31); + } else if (framectrl->getRate() < 0.0f) { + setWaterInAnmRate(framectrl, -temp_f31); } else { - var_r26 = 1; + var_r26 = TRUE; } - if (var_r26 == 1 || temp_r29->checkPass(0.0f) || temp_r29->checkPass(17.0f)) { + if (var_r26 == TRUE || framectrl->checkPass(0.0f) || framectrl->checkPass(17.0f)) { if (mProcVar3.field_0x300e != 0) { mProcVar3.field_0x300e--; - setWaterInAnmRate(temp_r29, temp_f31); - temp_r29->setLoop(0); + setWaterInAnmRate(framectrl, temp_f31); + framectrl->setLoop(0); } else if (checkInputOnR()) { - if (getDirectionFromShapeAngle() != 1) { - setWaterInAnmRate(temp_r29, temp_f31); - temp_r29->setLoop(0); + if (getDirectionFromShapeAngle() != DIR_BACKWARD) { + setWaterInAnmRate(framectrl, temp_f31); + framectrl->setLoop(0); } else { - setWaterInAnmRate(temp_r29, -temp_f31); - temp_r29->setLoop(temp_r29->getEnd()); + setWaterInAnmRate(framectrl, -temp_f31); + framectrl->setLoop(framectrl->getEnd()); } initBasAnime(); - } else if (var_r26 == 0) { + } else if (var_r26 == FALSE) { stopHalfMoveAnime(17.0f); } } @@ -624,9 +642,9 @@ int daAlink_c::procCrawlMove() { if (checkCrawlInHoll(&sp54, &sp3C, &sp18, var_r27)) { setCrawlMoveHoll(); - } else if (sp8 != 0 && temp_r25 && temp_r24 && temp_r23 && var_r27 == 0 && changeCrawlAutoMoveProc(&sp18) ) { + } else if (sp8 != 0 && temp_r25 && temp_r24 && temp_r23 && !var_r27 && changeCrawlAutoMoveProc(&sp18) ) { return 1; - } else if (mProcVar3.field_0x300e == 0 && checkInputOnR() && temp_r29->getRate() > 0.0f) { + } else if (mProcVar3.field_0x300e == 0 && checkInputOnR() && framectrl->getRate() > 0.0f) { setCrawlMoveAngle(); } @@ -648,7 +666,13 @@ int daAlink_c::procCrawlMove() { } int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) { - BOOL var_r30 = dComIfGp_checkPlayerStatus0(0, 0x2000) != 0 ? TRUE : FALSE; + BOOL var_r30; + if (dComIfGp_checkPlayerStatus0(0, 0x2000)) { + var_r30 = TRUE; + } else { + var_r30 = FALSE; + } + commonProcInit(PROC_CRAWL_AUTO_MOVE); field_0x37c8 = *param_1; field_0x33cc = 1.0f; @@ -671,24 +695,24 @@ int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) { int daAlink_c::procCrawlAutoMove() { field_0x2f99 = 0xC; - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; - s16 temp_r27 = shape_angle.y; - s16 temp_r26 = current.angle.y; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + s16 prev_shapeangle = shape_angle.y; + s16 prev_angle = current.angle.y; if (mProcVar0.field_0x3008 > 0) { - if (temp_r29->checkPass(0.0f) || temp_r29->checkPass(17.0f)) { + if (framectrl->checkPass(0.0f) || framectrl->checkPass(17.0f)) { stopHalfMoveAnime(17.0f); mNormalSpeed = 0.0f; - } else if (checkAnmEnd(temp_r29)) { + } else if (checkAnmEnd(framectrl)) { mNormalSpeed = 0.0f; - mProcVar0.field_0x3008 -= 1; + mProcVar0.field_0x3008--; } setCrawlMoveDirectionArrow(); decideCrawlDoStatus(); - shape_angle.y = temp_r27; - current.angle.y = temp_r26; + shape_angle.y = prev_shapeangle; + current.angle.y = prev_angle; } else if (mProcVar0.field_0x3008 == 0) { setCrawlMoveDirectionArrow(); if (checkInputOnR()) { @@ -698,19 +722,19 @@ int daAlink_c::procCrawlAutoMove() { dComIfGp_setAdvanceDirection(0); if (shape_angle.y == current.angle.y) { - setWaterInAnmRate(temp_r29, 2.0f); - temp_r29->setLoop(0); + setWaterInAnmRate(framectrl, 2.0f); + framectrl->setLoop(0); } else { - setWaterInAnmRate(temp_r29, -2.0f); - temp_r29->setLoop(temp_r29->getEnd()); + setWaterInAnmRate(framectrl, -2.0f); + framectrl->setLoop(framectrl->getEnd()); } initBasAnime(); } } else { decideCrawlDoStatus(); - shape_angle.y = temp_r27; - current.angle.y = temp_r26; + shape_angle.y = prev_shapeangle; + current.angle.y = prev_angle; } } else { int var_r28 = 1; @@ -754,55 +778,55 @@ int daAlink_c::procCrawlAutoMove() { return 1; } -int daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; - f32 var_f31 = temp_r29->getFrame(); +int daAlink_c::procCrawlEndInit(int param_0, s16 i_angleX, s16 i_angleZ) { + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + f32 frame = framectrl->getFrame(); commonProcInit(PROC_CRAWL_END); current.angle.y = shape_angle.y; field_0x2f99 = 0xC; - const daAlinkHIO_anm_c* temp_r30 = &mpHIO->mCrouch.m.mCrawlEndAnm; + const daAlinkHIO_anm_c* anmParams = &mpHIO->mCrouch.m.mCrawlEndAnm; - f32 var_f30; + f32 morf; if (param_0 != 0) { - var_f30 = temp_r30->mInterpolation; + morf = anmParams->mInterpolation; } else { - var_f30 = -1.0f; + morf = -1.0f; } - setSingleAnime(ANM_CRAWL_START, temp_r30->mSpeed, temp_r30->mStartFrame, temp_r30->mEndFrame, var_f30); + setSingleAnime(ANM_CRAWL_START, anmParams->mSpeed, anmParams->mStartFrame, anmParams->mEndFrame, morf); if (param_0 == 0) { - if (temp_r30->mStartFrame > var_f31) { - var_f31 = temp_r30->mStartFrame; - } else if (temp_r30->mEndFrame <= var_f31) { - var_f31 = temp_r30->mEndFrame; + if (anmParams->mStartFrame > frame) { + frame = anmParams->mStartFrame; + } else if (anmParams->mEndFrame <= frame) { + frame = anmParams->mEndFrame; } - temp_r29->setFrame(var_f31); - getNowAnmPackUnder(UNDER_0)->setFrame(var_f31); + framectrl->setFrame(frame); + getNowAnmPackUnder(UNDER_0)->setFrame(frame); } - J3DTransformInfo sp10; - getNowAnmPackUnder(UNDER_0)->getTransform(0, &sp10); + J3DTransformInfo transinfo; + getNowAnmPackUnder(UNDER_0)->getTransform(0, &transinfo); - field_0x34d4.x = sp10.mTranslate.x; - field_0x34d4.y = sp10.mTranslate.y; - field_0x34d4.z = sp10.mTranslate.z; + field_0x34d4.x = transinfo.mTranslate.x; + field_0x34d4.y = transinfo.mTranslate.y; + field_0x34d4.z = transinfo.mTranslate.z; mNormalSpeed = 0.0f; - shape_angle.x = param_1; - shape_angle.z = param_2; + shape_angle.x = i_angleX; + shape_angle.z = i_angleZ; - if (temp_r30->mCancelFrame > temp_r30->mStartFrame) { - field_0x347c = temp_r30->mCancelFrame; + if (anmParams->mCancelFrame > anmParams->mStartFrame) { + field_0x347c = anmParams->mCancelFrame; } else { - field_0x347c = temp_r30->mStartFrame; + field_0x347c = anmParams->mStartFrame; } - field_0x3478 = 1.0f / (temp_r30->mEndFrame - field_0x347c); + field_0x3478 = 1.0f / (anmParams->mEndFrame - field_0x347c); field_0x3588 = l_waitBaseAnime; return 1; } diff --git a/src/d/actor/d_a_alink_cut.inc b/src/d/actor/d_a_alink_cut.inc index 337dd8e640..c988a12cb7 100644 --- a/src/d/actor/d_a_alink_cut.inc +++ b/src/d/actor/d_a_alink_cut.inc @@ -7,17 +7,33 @@ #include "d/actor/d_a_b_gnd.h" #include "SSystem/SComponent/c_math.h" -static fopAc_ac_c* daAlink_searchNightStalker(fopAc_ac_c* i_actor, void*) { +enum daAlink_CutNmParamType { + CUT_NM_PARAM_VERTICAL, + CUT_NM_PARAM_LEFT, + CUT_NM_PARAM_RIGHT, + CUT_NM_PARAM_COMBO_STAB, + CUT_NM_PARAM_STAB, +}; + +enum daAlink_CutFinishParamType { + CUT_FINISH_PARAM_LEFT, + CUT_FINISH_PARAM_VERTICAL, + CUT_FINISH_PARAM_STAB, + CUT_FINISH_PARAM_MORTAL_DRAW_A, + CUT_FINISH_PARAM_MORTAL_DRAW_B, + CUT_FINISH_PARAM_RIGHT, +}; + +static fopAc_ac_c* daAlink_searchNightStalker(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); if (fopAcM_GetName(i_actor) == PROC_E_S1) { daPy_py_c* player_p = daPy_getLinkPlayerActorClass(); - if (player_p->current.pos.abs2XZ(i_actor->current.pos) < 250000.0f && + if (player_p->current.pos.abs2XZ(i_actor->current.pos) < SQUARE(500.0f) && fabsf(player_p->current.pos.y - i_actor->current.pos.y) < 300.0f) { return i_actor; } - } else if (fopAcM_GetName(i_actor) == PROC_B_GND && - static_cast(i_actor)->checkAttackChance()) - { + } else if (fopAcM_GetName(i_actor) == PROC_B_GND && static_cast(i_actor)->checkAttackChance()) { return i_actor; } @@ -26,9 +42,7 @@ static fopAc_ac_c* daAlink_searchNightStalker(fopAc_ac_c* i_actor, void*) { void daAlink_c::checkLightSwordMtrl() { if (checkLightMasterSwordEquip()) { - stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo(); - - if (dStage_stagInfo_GetSaveTbl(stag_info) == 0x17 || + if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) == dStage_SaveTbl_LV8 || fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchNightStalker, NULL)) { onNoResetFlg3(FLG3_UNK_100000); @@ -41,11 +55,11 @@ void daAlink_c::checkLightSwordMtrl() { BOOL daAlink_c::checkSwordEquipAnime() const { return !checkNoResetFlg0(FLG0_UNK_1000000) && - (checkUpperAnime(0x255) || checkUpperAnime(0x261)); + (checkUpperAnime(dRes_ID_ALANM_BCK_WAITATOS_e) || checkUpperAnime(dRes_ID_ALANM_BCK_WAITHATOHS_e)); } BOOL daAlink_c::checkCutDashAnime() const { - return checkUpperAnime(0x80) || checkUpperAnime(0x82) || checkUpperAnime(0x81); + return checkUpperAnime(dRes_ID_ALANM_BCK_CUTDL_e) || checkUpperAnime(dRes_ID_ALANM_BCK_CUTDT_e) || checkUpperAnime(dRes_ID_ALANM_BCK_CUTDR_e); } BOOL daAlink_c::checkCutDashEnemyHit(dCcD_GObjInf& obj) { @@ -53,25 +67,22 @@ BOOL daAlink_c::checkCutDashEnemyHit(dCcD_GObjInf& obj) { } u32 daAlink_c::getSwordAtType() { - return checkMasterSwordEquip() ? 0x4000002 : 2; + if (checkMasterSwordEquip()) { + return AT_TYPE_MASTER_SWORD | AT_TYPE_NORMAL_SWORD; + } else { + return AT_TYPE_NORMAL_SWORD; + } } -void daAlink_c::initCutTurnAt(f32 param_0, int param_1) { - field_0xFB8.ResetAtHit(); - field_0xFB8.OnAtSetBit(); - field_0xFB8.SetAtType(getSwordAtType()); - field_0xFB8.SetAtHitMark(3); - field_0xFB8.SetAtSe(1); - field_0xFB8.SetAtAtp(param_1); - - u8 mtrl; - if (!checkNoResetFlg3(FLG3_UNK_100000)) { - mtrl = dCcD_MTRL_NONE; - } else { - mtrl = dCcD_MTRL_LIGHT; - } - field_0xFB8.SetAtMtrl(mtrl); - field_0xFB8.SetR(param_0); +void daAlink_c::initCutTurnAt(f32 i_radius, int i_atp) { + mAtSph.ResetAtHit(); + mAtSph.OnAtSetBit(); + mAtSph.SetAtType(getSwordAtType()); + mAtSph.SetAtHitMark(3); + mAtSph.SetAtSe(dCcD_SE_SWORD); + mAtSph.SetAtAtp(i_atp); + mAtSph.SetAtMtrl(checkNoResetFlg3(FLG3_UNK_100000) ? (u8)dCcD_MTRL_LIGHT : (u8)dCcD_MTRL_NONE); + mAtSph.SetR(i_radius); field_0x2fd0 = 1; } @@ -88,7 +99,7 @@ void daAlink_c::changeCutFast() { setSwordModel(); mComboCutCount = 3; checkCutAction(); - onNoResetFlg0(FLG0_UNK_80000); + onNoResetFlg0(FLG0_FAST_SWORD_CUT); } bool daAlink_c::checkCutFastReady() { @@ -102,16 +113,16 @@ bool daAlink_c::checkCutFastReady() { fopAc_ac_c* target_p = mAttention->LockonTarget(0); - if (mEquipItem == fpcNm_ITEM_NONE && (dComIfGs_isEventBit(0x2A80) || checkNoResetFlg3(FLG3_UNK_80))) + if (mEquipItem == fpcNm_ITEM_NONE && (dComIfGs_isEventBit(dSv_event_flag_c::F_0342) || checkNoResetFlg3(FLG3_TRANING_CUT_FAST))) { if (checkModeFlg(1) && !checkRideOn() && checkSwordGet() && checkModeFlg(4) && !checkModeFlg(0x40000) && mTargetedActor == NULL && checkEnemyGroup(target_p)) { - f32 xz_dist = target_p->eyePos.abs2XZ(current.pos); + f32 xz_dist2 = target_p->eyePos.abs2XZ(current.pos); f32 y_dist = fabsf(target_p->eyePos.y - current.pos.y); - if ((xz_dist < 160000.0f && y_dist < 300.0f) || - (checkNoResetFlg0(FLG0_UNK_1000000) && xz_dist < 202500.0f && y_dist < 350.0f)) + if ((xz_dist2 < SQUARE(400.0f) && y_dist < 300.0f) || + (checkNoResetFlg0(FLG0_UNK_1000000) && xz_dist2 < SQUARE(450.0f) && y_dist < 350.0f)) { return true; } @@ -148,7 +159,7 @@ void daAlink_c::offSwordModel() { BOOL daAlink_c::checkCutTypeNoBlur() const { return mCutType == CUT_TYPE_NM_STAB || mCutType == CUT_TYPE_COMBO_STAB || - mCutType == CUT_TYPE_FINISH_STAB || checkNoResetFlg0(FLG0_UNDERWATER); + mCutType == CUT_TYPE_FINISH_STAB || checkNoResetFlg0(FLG0_WATER_IN_MOVE); } bool daAlink_c::checkCutTurnInput() const { @@ -163,18 +174,26 @@ int daAlink_c::getCutTurnDirection() const { } } -void daAlink_c::resetCombo(int param_0) { +void daAlink_c::resetCombo(BOOL i_resetRunCut) { mComboCutCount = 0; offNoResetFlg0(FLG0_UNK_8000); - if (param_0 != 0) { + if (i_resetRunCut) { mRunCutComboCount = 0; } } void daAlink_c::checkComboCnt() { - if ((mEquipItem == 0x103 && mComboCutCount == 2) && - (checkAttentionLock() && - (mAtCps[0].ChkAtHit() || mAtCps[1].ChkAtHit() || mAtCps[2].ChkAtHit()))) + if ((mEquipItem == 0x103 && mComboCutCount == 2) + && (checkAttentionLock() + && (mAtCps[0].ChkAtHit() + #if DEBUG + || mpHIO->mCut.m.mForceHitCombo + #endif + || mAtCps[1].ChkAtHit() + || mAtCps[2].ChkAtHit() + ) + ) + ) { onNoResetFlg0(FLG0_UNK_8000); } @@ -182,19 +201,25 @@ void daAlink_c::checkComboCnt() { if (field_0x307e > 0) { field_0x307e--; } else { - resetCombo(1); + resetCombo(TRUE); } } -void daAlink_c::setCutType(u8 type) { - mCutType = type; +void daAlink_c::setCutType(u8 i_type) { + mCutType = i_type; offResetFlg0(RFLG0_UNK_8000000); } void daAlink_c::setCylAtParam(u32 i_AtType, dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp, f32 i_radius, f32 i_height) { - if (checkWoodSwordEquip() && (i_AtSe == 14 || i_AtSe == 1 || i_AtSe == 16)) { - i_AtSe = 5; + #if DEBUG + if (mpHIO->mBasic.m.mOneHitKill && (i_AtType & AT_TYPE_NORMAL_SWORD)) { + i_atp = 127; + } + #endif + + if (checkWoodSwordEquip() && (i_AtSe == dCcD_SE_SWORD_STAB || i_AtSe == dCcD_SE_SWORD || i_AtSe == dCcD_SE_SWORD_RUN)) { + i_AtSe = dCcD_SE_WOOD; } u8 mtrl; @@ -226,14 +251,13 @@ void daAlink_c::setCylAtParam(u32 i_AtType, dCcG_At_Spl i_spl, u8 i_hitMark, u8 } if (checkWolf()) { - dCcD_Cyl* cyl = field_0x850; - for (int i = 0; i < 3; i++) { + dCcD_Cyl* cyl = mTgCyls; + for (int i = 0; i < 3; i++, cyl++) { cyl->SetAtType(i_AtType); cyl->SetAtSpl(i_spl); cyl->SetAtHitMark(i_hitMark); cyl->SetAtSe(i_AtSe); cyl->SetAtAtp(i_atp); - cyl++; } } } @@ -241,11 +265,18 @@ void daAlink_c::setCylAtParam(u32 i_AtType, dCcG_At_Spl i_spl, u8 i_hitMark, u8 void daAlink_c::setSwordAtParam(dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp, f32 param_4, f32 i_radius) { dCcD_Cps* atCps = mAtCps; + + #if DEBUG + if (mpHIO->mBasic.m.mOneHitKill) { + i_atp = 127; + } + #endif + u32 atType = getSwordAtType(); mAtCps[0].OffAtNoHitMark(); - if (checkWoodSwordEquip() && (i_AtSe == 14 || i_AtSe == 1 || i_AtSe == 16)) { - i_AtSe = 5; + if (checkWoodSwordEquip() && (i_AtSe == dCcD_SE_SWORD_STAB || i_AtSe == dCcD_SE_SWORD || i_AtSe == dCcD_SE_SWORD_RUN)) { + i_AtSe = dCcD_SE_WOOD; } if (i_spl == 0) { @@ -261,7 +292,8 @@ void daAlink_c::setSwordAtParam(dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int mtrl = dCcD_MTRL_NONE; } - for (int i = 0; i < 3; i++) { + int i; + for (i = 0; i < 3; i++, atCps++) { atCps->SetAtSpl(i_spl); atCps->SetAtHitMark(i_hitMark); atCps->SetAtAtp(i_atp); @@ -269,17 +301,15 @@ void daAlink_c::setSwordAtParam(dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int atCps->SetAtSe(i_AtSe); atCps->SetAtMtrl(mtrl); atCps->SetAtType(atType); - atCps++; } field_0x33d0 = param_4; } -BOOL daAlink_c::notSwordHitVibActor(fopAc_ac_c* p_actor) { - if (p_actor != NULL && fopAcM_GetGroup(p_actor) == 4) { - s16 name = fopAcM_GetName(p_actor); - - if (!checkSpecialNpc(p_actor) && name != PROC_NI && name != PROC_NPC_BLUENS) { +BOOL daAlink_c::notSwordHitVibActor(fopAc_ac_c* i_actor) { + if (i_actor != NULL && fopAcM_GetGroup(i_actor) == fopAc_NPC_e) { + s16 name = fopAcM_GetName(i_actor); + if (!checkSpecialNpc(i_actor) && name != PROC_NI && name != PROC_NPC_BLUENS) { return true; } } @@ -293,49 +323,53 @@ BOOL daAlink_c::setSwordHitVibration(dCcD_GObjInf* i_gobj) { return true; } - int var_r4; + int vibmode; if (checkWolf()) { - var_r4 = 3; + vibmode = VIBMODE_S_POWER3; } else if (i_gobj->ChkAtShieldHit()) { if (field_0x2fd0 == 1) { - var_r4 = 5; + vibmode = VIBMODE_S_POWER5; } else if (field_0x2fd0 == 2) { - var_r4 = 2; + vibmode = VIBMODE_S_POWER2; } else { - var_r4 = 3; + vibmode = VIBMODE_S_POWER3; } } else if (field_0x2fd0 == 2 || - (i_gobj->GetAtHitAc() != NULL && fopAcM_GetGroup(i_gobj->GetAtHitAc()) == 3)) + (i_gobj->GetAtHitAc() != NULL && fopAcM_GetGroup(i_gobj->GetAtHitAc()) == fopAc_ENV_e)) { - var_r4 = 2; + vibmode = VIBMODE_S_POWER2; } else if (field_0x2fd0 == 1) { - var_r4 = 4; + vibmode = VIBMODE_S_POWER4; } else { - var_r4 = 2; + vibmode = VIBMODE_S_POWER2; } - dComIfGp_getVibration().StartShock(var_r4, 31, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(vibmode, 31, cXyz(0.0f, 1.0f, 0.0f)); return true; } return false; } -BOOL daAlink_c::checkAtShieldHit(dCcD_GObjInf& param_0) { - return param_0.ChkAtHit() && param_0.ChkAtShieldHit(); +BOOL daAlink_c::checkAtShieldHit(dCcD_GObjInf& i_gobj) { + return i_gobj.ChkAtHit() && i_gobj.ChkAtShieldHit(); } -BOOL daAlink_c::checkCutReverseAt(dCcD_GObjInf* param_0) { - param_0->GetAtHitAc(); - return checkAtShieldHit(*param_0) ? TRUE : FALSE; +BOOL daAlink_c::checkCutReverseAt(dCcD_GObjInf* i_gobj) { + fopAc_ac_c* hit_ac = i_gobj->GetAtHitAc(); + if (checkAtShieldHit(*i_gobj)) { + return TRUE; + } else { + return FALSE; + } } -BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) { +BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM i_anmID) { if (checkCutReverseAt(&mAtCps[0]) || (mEquipItem != fpcNm_ITEM_COPY_ROD && (checkCutReverseAt(&mAtCps[1]) || checkCutReverseAt(&mAtCps[2])))) { - return procCutReverseInit(param_0); + return procCutReverseInit(i_anmID); } - if (checkNoResetFlg0(FLG0_UNK_40) || mEquipItem == fpcNm_ITEM_COPY_ROD) { + if (checkNoResetFlg0(FLG0_CUT_AT_FLG) || mEquipItem == fpcNm_ITEM_COPY_ROD) { cXyz sp28; Vec sp1C; @@ -353,45 +387,45 @@ BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) { } if (commonLineCheck(&sp28, &field_0x3720) && !dComIfG_Bgsp().GetPolyAttackThrough(mLinkLinChk) && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7) { - cM3dGPla sp34; - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp34); + cM3dGPla tri; + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tri); - f32 var_f31; + f32 normal_y; if (checkMagneBootsOn()) { - mDoMtx_multVecSR(mMagneBootInvMtx, &sp34.mNormal, &sp1C); - var_f31 = sp1C.y; + mDoMtx_multVecSR(mMagneBootInvMtx, &tri.mNormal, &sp1C); + normal_y = sp1C.y; } else { - var_f31 = sp34.mNormal.y; + normal_y = tri.mNormal.y; } - if (!cBgW_CheckBGround(var_f31) && !checkCutDashAnime()) { - int temp_r3 = dComIfG_Bgsp().GetPolyAtt0(mLinkLinChk); + if (!cBgW_CheckBGround(normal_y) && !checkCutDashAnime()) { + int poly_att = dComIfG_Bgsp().GetPolyAtt0(mLinkLinChk); - if (!checkWoodSwordEquip() && (temp_r3 == 2 || temp_r3 == 5 || temp_r3 == 0xE || temp_r3 == 8 || temp_r3 == 0xA)) { - csXyz sp8(cM_atan2s(sp34.mNormal.y, sp34.mNormal.absXZ()), cM_atan2s(-sp34.mNormal.x, -sp34.mNormal.z), 0); + if (!checkWoodSwordEquip() && (poly_att == 2 || poly_att == 5 || poly_att == 14 || poly_att == 8 || poly_att == 10)) { + csXyz particle_rot(cM_atan2s(tri.mNormal.y, tri.mNormal.absXZ()), cM_atan2s(-tri.mNormal.x, -tri.mNormal.z), 0); - u16 var_r28; - if (temp_r3 == 5 || temp_r3 == 0xE) { - var_r28 = 0x752; - } else if (temp_r3 == 8) { - var_r28 = 0xAE3; + u16 particle_name; + if (poly_att == 5 || poly_att == 14) { + particle_name = ID_ZI_J_COLHIT_KIKUZU; + } else if (poly_att == 8) { + particle_name = ID_ZI_J_COLHIT_ICE; } else { - var_r28 = 0x32E; + particle_name = ID_ZI_J_COLHIT_HIBANA; dKy_SordFlush_set(*mLinkLinChk.GetCrossP(), 2); } - dComIfGp_particle_set(var_r28, mLinkLinChk.GetCrossP(), &sp8, NULL); + dComIfGp_particle_set(particle_name, mLinkLinChk.GetCrossP(), &particle_rot, NULL); } - u32 var_r27; - if (mAtCps[0].GetAtSe() == 14) { - var_r27 = 0x40000; + u32 sound_id; + if (mAtCps[0].GetAtSe() == dCcD_SE_SWORD_STAB) { + sound_id = Z2SE_HIT_SWORD; } else { - var_r27 = dCcD_GObjInf::getHitSeID(mAtCps[0].GetAtSe(), 0); + sound_id = dCcD_GObjInf::getHitSeID(mAtCps[0].GetAtSe(), 0); } - mZ2Link.startHitItemSE(var_r27, dKy_pol_sound_get(&mLinkLinChk), NULL, -1.0f); - return procCutReverseInit(param_0); + mZ2Link.startHitItemSE(sound_id, dKy_pol_sound_get(&mLinkLinChk), NULL, -1.0f); + return procCutReverseInit(i_anmID); } } } @@ -399,64 +433,64 @@ BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) { return 0; } -void daAlink_c::setCutDash(int param_0, int param_1) { +void daAlink_c::setCutDash(BOOL param_0, BOOL param_1) { if (!param_0 && checkNoResetFlg1(FLG1_UNK_4000000)) { checkCutAction(); } else { field_0x2fce = 5; - resetCombo(0); - offNoResetFlg2(FLG2_UNK_2); + resetCombo(FALSE); + offNoResetFlg2(FLG2_COMBO_RESERB); - setSwordAtParam(dCcG_At_Spl_UNK_0, 7, 16, 1, mpHIO->mCut.m.mRunCutLength, + setSwordAtParam(dCcG_At_Spl_UNK_0, 7, dCcD_SE_SWORD_RUN, 1, mpHIO->mCut.m.mRunCutLength, mpHIO->mCut.m.mRunCutRadius); field_0x2fd0 = 2; mRunCutComboCount++; if (param_1) { - setUpperAnimeParam(0x82, UPPER_2, &mpHIO->mCut.mCutDashCharge.m.mCutAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_CUTDT_e, UPPER_2, &mpHIO->mCut.mCutDashCharge.m.mCutAnm); if (checkBoardRide()) { - setCutType(13); + setCutType(CUT_TYPE_DASH_CHARGE_BOARD); } else { - setCutType(0x38); + setCutType(CUT_TYPE_DASH_CHARGE); } if (mRunCutComboCount == 3) { mRunCutComboCount = 1; } } else if (mRunCutComboCount == 1 || mRunCutComboCount == 3) { - setUpperAnimeParam(0x80, UPPER_2, &mpHIO->mCut.mCutDashLeft.m.mCutAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_CUTDL_e, UPPER_2, &mpHIO->mCut.mCutDashLeft.m.mCutAnm); if (checkBoardRide()) { - setCutType(11); + setCutType(CUT_TYPE_DASH_LEFT_BOARD); } else if (mProcID == PROC_SIDESTEP) { - setCutType(CUT_TYPE_AIR); + setCutType(CUT_TYPE_DASH_LEFT_SIDESTEP); } else { - setCutType(0x25); + setCutType(CUT_TYPE_DASH_LEFT); } mRunCutComboCount = 1; - setFacePriTexture(FTANM_UNK_13); + setFacePriTexture(FTANM_CUTDL); } else { - setUpperAnimeParam(0x81, UPPER_2, &mpHIO->mCut.mCutDashRight.m.mCutAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_CUTDR_e, UPPER_2, &mpHIO->mCut.mCutDashRight.m.mCutAnm); if (checkBoardRide()) { - setCutType(12); + setCutType(CUT_TYPE_DASH_RIGHT_BOARD); } else if (mProcID == PROC_SIDESTEP) { - setCutType(0x11); + setCutType(CUT_TYPE_DASH_RIGHT_SIDESTEP); } else { - setCutType(0x26); + setCutType(CUT_TYPE_DASH_RIGHT); } - setFacePriTexture(FTANM_UNK_14); + setFacePriTexture(FTANM_CUTDR); } - setFacePriBck(0x104); + setFacePriBck(dRes_ID_ALANM_BCK_FCUTD_e); field_0x2f96 = 2; field_0x307e = mpHIO->mCut.m.mComboDuration; setSwordVoiceSe(Z2SE_AL_V_ATTACK_RUN); - setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_0, 7, 16, 1, 50.0f, 130.0f); + setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_0, 7, dCcD_SE_SWORD_RUN, 1, 50.0f, 130.0f); setCutWaterDropEffect(); field_0x2fb7 = 0; } @@ -474,22 +508,23 @@ void daAlink_c::setComboReserb() { } if (mComboCutCount != 4 && field_0x2fce == 0 && swordSwingTrigger()) { - onNoResetFlg2(FLG2_UNK_2); + onNoResetFlg2(FLG2_COMBO_RESERB); } } BOOL daAlink_c::checkComboReserb() { - return checkNoResetFlg2(FLG2_UNK_2) && !checkEventRun(); + return checkNoResetFlg2(FLG2_COMBO_RESERB) && !checkEventRun(); } int daAlink_c::commonCutAction() { if (mComboCutCount == 4) { - resetCombo(1); + resetCombo(TRUE); } - if (dComIfGp_getDoStatus() == 4) { - setDoStatus(0); + if (dComIfGp_getDoStatus() == BUTTON_STATUS_PUT_AWAY) { + setDoStatus(BUTTON_STATUS_NONE); } + mComboCutCount++; if (checkReinRide()) { @@ -504,7 +539,7 @@ int daAlink_c::commonCutAction() { } void daAlink_c::setSwordVoiceSe(u32 i_seID) { - if (!checkNoResetFlg0(FLG0_UNDERWATER)) { + if (!checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { voiceStart(i_seID); } } @@ -534,16 +569,85 @@ bool daAlink_c::checkCutTurnInputTrigger() { } int daAlink_c::checkCutAction() { - static int const atnNormalType1[5] = {4, 1, 1, 2, 0}; - static int const atnNormalType2[5] = {3, 0, 0, 1, 1}; - static int const atnNormalType3[5] = {4, 1, 1, 0, 0}; - static int const atnFinishType[5] = {2, 1, 0, 5, 1}; - static int const hitType[5] = {4, 0, 5, 0, 1}; - static int const hitFinishType[5] = {2, 1, 0, 5, 0}; - static int const normalType1[5] = {0, 2, 1, 2, 1}; - static int const normalType2[5] = {1, 1, 2, 1, 2}; - static int const normalType3[5] = {4, 0, 1, 2, 1}; - static int const finishType[5] = {2, 0, 0, 5, 1}; + static const int atnNormalType1[5] = { + /* Front */ CUT_NM_PARAM_STAB, + /* Back */ CUT_NM_PARAM_LEFT, + /* Left */ CUT_NM_PARAM_LEFT, + /* Right */ CUT_NM_PARAM_RIGHT, + /* Normal */ CUT_NM_PARAM_VERTICAL + }; + + static const int atnNormalType2[5] = { + /* Front */ CUT_NM_PARAM_COMBO_STAB, + /* Back */ CUT_NM_PARAM_VERTICAL, + /* Left */ CUT_NM_PARAM_VERTICAL, + /* Right */ CUT_NM_PARAM_LEFT, + /* Normal */ CUT_NM_PARAM_LEFT + }; + + static const int atnNormalType3[5] = { + /* Front */ CUT_NM_PARAM_STAB, + /* Back */ CUT_NM_PARAM_LEFT, + /* Left */ CUT_NM_PARAM_LEFT, + /* Right */ CUT_NM_PARAM_VERTICAL, + /* Normal */ CUT_NM_PARAM_VERTICAL + }; + + static const int atnFinishType[5] = { + /* Front */ CUT_FINISH_PARAM_STAB, + /* Back */ CUT_FINISH_PARAM_VERTICAL, + /* Left */ CUT_FINISH_PARAM_LEFT, + /* Right */ CUT_FINISH_PARAM_RIGHT, + /* Normal */ CUT_FINISH_PARAM_VERTICAL + }; + + static const int hitType[5] = { + /* Front */ CUT_NM_PARAM_STAB, + /* Back */ CUT_FINISH_PARAM_LEFT, + /* Left */ CUT_FINISH_PARAM_RIGHT, + /* Right */ CUT_FINISH_PARAM_LEFT, + /* Normal */ CUT_FINISH_PARAM_VERTICAL + }; + + static const int hitFinishType[5] = { + /* Front */ CUT_FINISH_PARAM_STAB, + /* Back */ CUT_FINISH_PARAM_VERTICAL, + /* Left */ CUT_FINISH_PARAM_LEFT, + /* Right */ CUT_FINISH_PARAM_RIGHT, + /* Normal */ CUT_FINISH_PARAM_LEFT + }; + + static const int normalType1[5] = { + /* Front */ CUT_NM_PARAM_VERTICAL, + /* Back */ CUT_NM_PARAM_RIGHT, + /* Left */ CUT_NM_PARAM_LEFT, + /* Right */ CUT_NM_PARAM_RIGHT, + /* Normal */ CUT_NM_PARAM_LEFT + }; + + static const int normalType2[5] = { + /* Front */ CUT_NM_PARAM_LEFT, + /* Back */ CUT_NM_PARAM_LEFT, + /* Left */ CUT_NM_PARAM_RIGHT, + /* Right */ CUT_NM_PARAM_LEFT, + /* Normal */ CUT_NM_PARAM_RIGHT + }; + + static const int normalType3[5] = { + /* Front */ CUT_NM_PARAM_STAB, + /* Back */ CUT_NM_PARAM_VERTICAL, + /* Left */ CUT_NM_PARAM_LEFT, + /* Right */ CUT_NM_PARAM_RIGHT, + /* Normal */ CUT_NM_PARAM_LEFT + }; + + static const int finishType[5] = { + /* Front */ CUT_FINISH_PARAM_STAB, + /* Back */ CUT_FINISH_PARAM_LEFT, + /* Left */ CUT_FINISH_PARAM_LEFT, + /* Right */ CUT_FINISH_PARAM_RIGHT, + /* Normal */ CUT_FINISH_PARAM_VERTICAL + }; if (commonCutAction()) { return 1; @@ -554,9 +658,9 @@ int daAlink_c::checkCutAction() { if (mComboCutCount == 4) { if (checkNoResetFlg0(FLG0_UNK_1000000)) { if (checkInputOnR() && (cutDir == DIR_FORWARD || cutDir == DIR_BACKWARD)) { - procCutFinishInit(3); + procCutFinishInit(CUT_FINISH_PARAM_MORTAL_DRAW_A); } else { - procCutFinishInit(4); + procCutFinishInit(CUT_FINISH_PARAM_MORTAL_DRAW_B); } } else if (checkNoResetFlg0(FLG0_UNK_8000)) { procCutFinishInit(hitFinishType[cutDir]); @@ -567,7 +671,7 @@ int daAlink_c::checkCutAction() { } } else if (mComboCutCount == 3) { if (checkNoResetFlg0(FLG0_UNK_8000)) { - if (cutDir == 0) { + if (cutDir == DIR_FORWARD) { procCutNormalInit(hitType[cutDir]); } else { procCutFinishInit(hitType[cutDir]); @@ -579,9 +683,9 @@ int daAlink_c::checkCutAction() { } } else if (mProcID == PROC_CUT_NORMAL && mProcVar1.field_0x300a != 4) { if (mProcVar1.field_0x300a == 2) { - procCutNormalInit(1); + procCutNormalInit(CUT_NM_PARAM_LEFT); } else { - procCutNormalInit(2); + procCutNormalInit(CUT_NM_PARAM_RIGHT); } } else if (checkAttentionLock()) { if (mComboCutCount == 1) { @@ -600,35 +704,38 @@ int daAlink_c::checkCutAction() { void daAlink_c::checkCutTurnCharge() { if (swordButton()) { - if (mProcVar5.field_0x3012 < 3) { - mProcVar5.field_0x3012++; + if (mProcVar5.mCutTurnChargeCheckTimer < 3) { + mProcVar5.mCutTurnChargeCheckTimer++; } else { onResetFlg0(RFLG0_UNK_40); } } else { - mProcVar5.field_0x3012 = 0; + mProcVar5.mCutTurnChargeCheckTimer = 0; } } int daAlink_c::getCutDirection() { s16 angle; + int direction; if (!checkInputOnR()) { - return DIR_NONE; - } - - if (mTargetedActor != NULL) { - angle = field_0x2fe2 - fopAcM_searchActorAngleY(this, mTargetedActor); + direction = DIR_NONE; } else { - angle = field_0x2fe2 - field_0x2fe6; + if (mTargetedActor != NULL) { + angle = mMoveAngle - fopAcM_searchActorAngleY(this, mTargetedActor); + } else { + angle = mMoveAngle - mPrevAngleY; + } + + direction = getDirectionFromAngle(angle); } - return getDirectionFromAngle(angle); + return direction; } BOOL daAlink_c::checkCutCancelNextMode(int param_0) { - f32 old_speed = mNormalSpeed; - u8 old_2f98 = field_0x2f98; + f32 prev_speed = mNormalSpeed; + u8 prev_2f98 = field_0x2f98; mNormalSpeed = 0.0f; field_0x2f98 = param_0; @@ -638,50 +745,62 @@ BOOL daAlink_c::checkCutCancelNextMode(int param_0) { return 1; } - mNormalSpeed = old_speed; - field_0x2f98 = old_2f98; + mNormalSpeed = prev_speed; + field_0x2f98 = prev_2f98; return 0; } BOOL daAlink_c::checkDoCutAction() { - // event flag 0x2A40: Learned Jump Strike - if (doButton() && (dComIfGs_isEventBit(0x2A40) || checkNoResetFlg3(FLG3_UNK_200))) { + fopAc_ac_c* enemy = mTargetedActor; + + if (doButton() && (dComIfGs_isEventBit(dSv_event_flag_c::F_0343) || checkNoResetFlg3(FLG3_TRANING_CUT_LARGE_JUMP))) { return procCutLargeJumpChargeInit(); } else if (checkDownAttackState()) { return procCutDownInit(); } else if (checkCutHeadState()) { return procCutHeadInit(); } else { - return procCutJumpInit(0); + return procCutJumpInit(FALSE); } } BOOL daAlink_c::checkCutBackState() { - // event flag 0x2902: Learned Backslice - return dComIfGs_isEventBit(0x2902) || checkNoResetFlg3(FL3_TRANING_CUT_BACK); + return dComIfGs_isEventBit(dSv_event_flag_c::F_0340) || checkNoResetFlg3(FLG3_TRANING_CUT_BACK); } BOOL daAlink_c::checkCutHeadState() { - fopEn_enemy_c* temp_r27 = (fopEn_enemy_c*)mTargetedActor; + fopEn_enemy_c* enemy = (fopEn_enemy_c*)mTargetedActor; - // event flag 0x2901: Learned Helm Splitter - return ((!checkBootsOrArmorHeavy() && (temp_r27 != NULL) && - (dComIfGs_isEventBit(0x2901) || checkNoResetFlg3(FLG3_UNK_40))) && - fopAcM_GetGroup(temp_r27) == 2) && - temp_r27->checkHeadLockFlg(); + return ((!checkBootsOrArmorHeavy() + && enemy != NULL + && (dComIfGs_isEventBit(dSv_event_flag_c::F_0341) + || checkNoResetFlg3(FLG3_TRANING_CUT_HEAD) + ) + ) + && fopAcM_GetGroup(enemy) == fopAc_ENEMY_e + ) + && enemy->checkHeadLockFlg(); } BOOL daAlink_c::checkDownAttackState() { fopEn_enemy_c* enemy = (fopEn_enemy_c*)mTargetedActor; - if (enemy != NULL && - (fopAcM_GetGroup(enemy) == 2 && enemy->checkDownFlg() && - ((!checkWolf() && (dComIfGs_isEventBit(0x2904) || checkNoResetFlg3(FLG3_UNK_10)) && - enemy->getDownPos().abs2(current.pos) < 640000.0f) || - (checkWolf() && - (fopAcM_GetName(mTargetedActor) == PROC_E_PO || - fopAcM_GetName(mTargetedActor) == PROC_E_HP) && - enemy->getDownPos().abs2(current.pos) < 640000.0f)))) + if (mTargetedActor != NULL + && (fopAcM_GetGroup(mTargetedActor) == fopAc_ENEMY_e + && enemy->checkDownFlg() + && ((!checkWolf() + && (dComIfGs_isEventBit(dSv_event_flag_c::F_0339) || checkNoResetFlg3(FLG3_TRANING_CUT_DOWN)) + && enemy->getDownPos().abs2(current.pos) < SQUARE(800.0f) + ) + || (checkWolf() + && (fopAcM_GetName(mTargetedActor) == PROC_E_PO + || fopAcM_GetName(mTargetedActor) == PROC_E_HP + ) + && enemy->getDownPos().abs2(current.pos) < SQUARE(800.0f) + ) + ) + ) + ) { return true; } @@ -690,23 +809,22 @@ BOOL daAlink_c::checkDownAttackState() { } BOOL daAlink_c::checkCutLargeTurnState() const { - // event flag 0x2A20: Learned Great Spin - return ((dComIfGs_isEventBit(0x2A20) || checkNoResetFlg3(FLG3_UNK_100)) && - dComIfGs_getLife() == dComIfGs_getMaxLifeGauge()) || - (mDemo.getDemoMode() == 0x24 && mDemo.getParam0() == 0x33); + return ((dComIfGs_isEventBit(dSv_event_flag_c::F_0344) || checkNoResetFlg3(FLG3_TRANING_CUT_LARGE_TURN)) + && dComIfGs_getLife() == dComIfGs_getMaxLifeGauge() + ) + || (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_36_e && mDemo.getParam0() == 0x33); } void daAlink_c::cancelCutCharge() { if (mComboCutCount == 4) { - resetCombo(1); + resetCombo(TRUE); checkNextAction(0); } else { mComboCutCount++; - if (mComboCutCount <= 3) { - procCutNormalInit(2); + procCutNormalInit(CUT_NM_PARAM_RIGHT); } else { - procCutFinishInit(1); + procCutFinishInit(CUT_FINISH_PARAM_VERTICAL); } } } @@ -728,15 +846,15 @@ void daAlink_c::checkCutAtnActorChange() { } } -void daAlink_c::setCutJumpSpeed(int i_airAt) { - if (checkNoResetFlg0(FLG0_UNDERWATER)) { +void daAlink_c::setCutJumpSpeed(BOOL i_isAirCut) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; - } else if (checkHeavyStateOn(1, 1)) { + } else if (checkHeavyStateOn(TRUE, TRUE)) { speed.y *= 1.35f; } - if (mTargetedActor != NULL && !i_airAt) { + if (mTargetedActor != NULL && !i_isAirCut) { shape_angle.y = cLib_targetAngleY(¤t.pos, &mTargetedActor->eyePos); cXyz targetPos(mTargetedActor->eyePos.x - (cM_ssin(shape_angle.y) * 70.0f), mTargetedActor->eyePos.y + 50.0f, @@ -748,15 +866,15 @@ void daAlink_c::setCutJumpSpeed(int i_airAt) { targetPos.y = mTargetedActor->eyePos.y; } - f32 speed_y_delta = speed.y + gravity; // 23.6 - f32 inverse_gravity = 1.0f / gravity; // -0.29 + f32 speed_y_delta = speed.y + gravity; + f32 inverse_gravity = 1.0f / gravity; f32 fvar1 = targetPos.y - (current.pos.y - (inverse_gravity * (speed_y_delta * speed_y_delta) * 0.5f)); if (fvar1 > 0.0f) { fvar1 = 0.0f; } - f32 sqrt = JMAFastSqrt(fvar1 * 2.0f * inverse_gravity); - f32 speedDiv = sqrt - (speed_y_delta * inverse_gravity); + + f32 speedDiv = JMAFastSqrt(fvar1 * 2.0f * inverse_gravity) - (speed_y_delta * inverse_gravity); f32 squareDist = current.pos.absXZ(targetPos); if (squareDist > 500.0f) { @@ -766,50 +884,49 @@ void daAlink_c::setCutJumpSpeed(int i_airAt) { } } - int daAlink_c::procCutNormalInit(int i_type) { static daAlink_cutParamTbl const cutParamTable[5] = { { - daAlink_c::ANM_CUT_NM_VERTICAL, - 0x6F, - daAlink_c::CUT_TYPE_NM_VERTICAL, - 1, + ANM_CUT_NM_VERTICAL, + ANM_CUT_RECOIL_A, + CUT_TYPE_NM_VERTICAL, + dCcD_SE_SWORD, 0, 0, 6.0f, }, { - daAlink_c::ANM_CUT_NM_LEFT, - 0x6F, - daAlink_c::CUT_TYPE_NM_LEFT, - 1, + ANM_CUT_NM_LEFT, + ANM_CUT_RECOIL_A, + CUT_TYPE_NM_LEFT, + dCcD_SE_SWORD, 0, 0, 5.0f, }, { - daAlink_c::ANM_CUT_NM_RIGHT, - 0x6F, - daAlink_c::CUT_TYPE_NM_RIGHT, - 1, + ANM_CUT_NM_RIGHT, + ANM_CUT_RECOIL_A, + CUT_TYPE_NM_RIGHT, + dCcD_SE_SWORD, 0, 0, 5.0f, }, { - daAlink_c::ANM_CUT_COMBO_STAB, - 0x6F, - daAlink_c::CUT_TYPE_COMBO_STAB, - 14, + ANM_CUT_COMBO_STAB, + ANM_CUT_RECOIL_A, + CUT_TYPE_COMBO_STAB, + dCcD_SE_SWORD_STAB, 0, 0, 6.0f, }, { - daAlink_c::ANM_CUT_NM_STAB, - 0x70, - daAlink_c::CUT_TYPE_NM_STAB, - 14, + ANM_CUT_NM_STAB, + ANM_CUT_RECOIL_B, + CUT_TYPE_NM_STAB, + dCcD_SE_SWORD_STAB, 0, 0, 6.0f, @@ -819,16 +936,16 @@ int daAlink_c::procCutNormalInit(int i_type) { commonProcInit(PROC_CUT_NORMAL); setCutType(cutParams->m_cutType); - field_0x3198 = cutParams->field_0x4; + field_0x3198 = cutParams->m_recoilAnmID; const daAlinkHIO_cutNormal_c1* cutData; - if (i_type == 1) { + if (i_type == CUT_NM_PARAM_LEFT) { cutData = &mpHIO->mCut.mCutLeft.m; - } else if (i_type == 2) { + } else if (i_type == CUT_NM_PARAM_RIGHT) { cutData = &mpHIO->mCut.mCutRight.m; - } else if (i_type == 4) { + } else if (i_type == CUT_NM_PARAM_STAB) { cutData = &mpHIO->mCut.mCutRightStab.m; - } else if (i_type == 3) { + } else if (i_type == CUT_NM_PARAM_COMBO_STAB) { cutData = &mpHIO->mCut.mCutLeftStab.m; } else { cutData = &mpHIO->mCut.mCutVertical.m; @@ -838,14 +955,14 @@ int daAlink_c::procCutNormalInit(int i_type) { field_0x347c = cutData->mAttackEndFrame; field_0x3480 = cutData->mSpeed; - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { field_0x3480 *= mHeavySpeedMultiplier; } field_0x3484 = cutData->mCutAnm.mCancelFrame; f32 morf; - if (!checkZoraWearAbility() && checkNoResetFlg0(FLG0_UNDERWATER)) { + if (!checkZoraWearAbility() && checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { morf = cutParams->m_morf; } else { morf = cutData->mCutAnm.mInterpolation; @@ -856,7 +973,7 @@ int daAlink_c::procCutNormalInit(int i_type) { current.angle.y = shape_angle.y; if (!checkAttentionLock() && checkInputOnR()) { - mProcVar2.field_0x300c = field_0x2fe2; + mProcVar2.field_0x300c = mMoveAngle; } else { mProcVar2.field_0x300c = shape_angle.y; } @@ -871,7 +988,7 @@ int daAlink_c::procCutNormalInit(int i_type) { setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, mpHIO->mCut.m.mSwordLength, mpHIO->mCut.m.mSwordRadius); setSwordComboVoice(); - mProcVar5.field_0x3012 = 0; + mProcVar5.mCutTurnChargeCheckTimer = 0; dComIfGp_setPlayerStatus0(0, 0x8000); setCutWaterDropEffect(); @@ -903,21 +1020,19 @@ int daAlink_c::procCutNormal() { onEndResetFlg0(ERFLG0_UNK_8000000); field_0x2f99 = 4; - if (mProcVar3.field_0x300e != 0 && checkNoResetFlg2(FLG2_UNK_2)) { + if (mProcVar3.field_0x300e != 0 && checkNoResetFlg2(FLG2_COMBO_RESERB)) { int cutDir = getCutDirection(); - if ((cutDir == DIR_RIGHT && mCutType == CUT_TYPE_NM_LEFT && - frameCtrl->getFrame() > 12.0f) || - (cutDir == DIR_LEFT && mCutType == CUT_TYPE_NM_RIGHT && - frameCtrl->getFrame() > 12.0f)) + if ((cutDir == DIR_RIGHT && mCutType == CUT_TYPE_NM_LEFT && frameCtrl->getFrame() > 12.0f) || + (cutDir == DIR_LEFT && mCutType == CUT_TYPE_NM_RIGHT && frameCtrl->getFrame() > 12.0f)) { mProcVar1.field_0x300a = cutDir; } } - if (frameCtrl->checkAnmEnd()) { - resetCombo(1); + if (checkAnmEnd(frameCtrl)) { + resetCombo(TRUE); - if (mDemo.getDemoMode() == 0x24 || mDemo.getDemoMode() == 0x54) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_36_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_84_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); @@ -926,7 +1041,7 @@ int daAlink_c::procCutNormal() { !checkCutCancelNextMode(3)) { if (frameCtrl->getFrame() > field_0x3484) { - resetCombo(1); + resetCombo(TRUE); } if (changeCutReverseProc((daAlink_ANM)field_0x3198)) { @@ -946,7 +1061,7 @@ int daAlink_c::procCutNormal() { current.angle.y = shape_angle.y; if (frameCtrl->getFrame() >= field_0x3478 && frameCtrl->getFrame() < field_0x347c) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_S); mNormalSpeed = field_0x3480; } @@ -956,18 +1071,18 @@ int daAlink_c::procCutNormal() { if (mCutType == CUT_TYPE_NM_LEFT) { if (frameCtrl->getFrame() >= 24.0f) { - field_0x2f92 = 0; + mLeftHandIndex = 0; } else if (frameCtrl->getFrame() >= 4.0f) { - field_0x2f92 = 100; + mLeftHandIndex = 100; } } else if (mCutType == CUT_TYPE_NM_RIGHT) { if (frameCtrl->getFrame() >= 26.0f) { - field_0x2f92 = 0; + mLeftHandIndex = 0; } else if (frameCtrl->getFrame() >= 4.0f) { - field_0x2f92 = 100; + mLeftHandIndex = 100; } } else if (frameCtrl->getFrame() >= 24.0f) { - field_0x2f92 = 0; + mLeftHandIndex = 0; } } @@ -977,55 +1092,55 @@ int daAlink_c::procCutNormal() { int daAlink_c::procCutFinishInit(int i_type) { static daAlink_cutParamTbl const cutParamTable[6] = { { - daAlink_c::ANM_CUT_FINISH_LEFT, - 0x6F, - daAlink_c::CUT_TYPE_FINISH_LEFT, - 1, + ANM_CUT_FINISH_LEFT, + ANM_CUT_RECOIL_A, + CUT_TYPE_FINISH_LEFT, + dCcD_SE_SWORD, 100, 100, 5.0f, }, { - daAlink_c::ANM_CUT_FINISH_VERTICAL, - 0x6F, - daAlink_c::CUT_TYPE_FINISH_VERTICAL, - 1, + ANM_CUT_FINISH_VERTICAL, + ANM_CUT_RECOIL_A, + CUT_TYPE_FINISH_VERTICAL, + dCcD_SE_SWORD, 100, 100, 8.0f, }, { - daAlink_c::ANM_CUT_FINISH_STAB, - 0x6F, - daAlink_c::CUT_TYPE_FINISH_STAB, - 14, + ANM_CUT_FINISH_STAB, + ANM_CUT_RECOIL_A, + CUT_TYPE_FINISH_STAB, + dCcD_SE_SWORD_STAB, 100, 100, 10.0f, }, { - daAlink_c::ANM_CUT_MORTAL_DRAW_A, - 0x6F, - daAlink_c::CUT_TYPE_MORTAL_DRAW_A, - 1, + ANM_CUT_MORTAL_DRAW_A, + ANM_CUT_RECOIL_A, + CUT_TYPE_MORTAL_DRAW_A, + dCcD_SE_SWORD, 5, 12, 10.0f, }, { - daAlink_c::ANM_CUT_MORTAL_DRAW_B, - 0x6F, - daAlink_c::CUT_TYPE_MORTAL_DRAW_B, - 1, + ANM_CUT_MORTAL_DRAW_B, + ANM_CUT_RECOIL_A, + CUT_TYPE_MORTAL_DRAW_B, + dCcD_SE_SWORD, 7, 14, 10.0f, }, { - daAlink_c::ANM_CUT_FINISH_RIGHT, - 0x6F, - daAlink_c::CUT_TYPE_FINISH_RIGHT, - 1, + ANM_CUT_FINISH_RIGHT, + ANM_CUT_RECOIL_A, + CUT_TYPE_FINISH_RIGHT, + dCcD_SE_SWORD, 100, 100, 10.0f, @@ -1034,55 +1149,55 @@ int daAlink_c::procCutFinishInit(int i_type) { const daAlinkHIO_cutFinish_c1* cutData; const daAlink_cutParamTbl* cutParams = &cutParamTable[i_type]; - BOOL front_roll = mProcID == PROC_FRONT_ROLL; + BOOL is_proc_frontRoll = mProcID == PROC_FRONT_ROLL; commonProcInit(PROC_CUT_FINISH); setCutType(cutParams->m_cutType); - field_0x3198 = cutParams->field_0x4; + field_0x3198 = cutParams->m_recoilAnmID; mProcVar2.field_0x300c = cutParams->field_0xa; mProcVar3.field_0x300e = cutParams->field_0xb; BOOL var_r30 = FALSE; - if (i_type == 0) { + if (i_type == CUT_FINISH_PARAM_LEFT) { cutData = &mpHIO->mCut.mCutFinishLeft.m; - } else if (i_type == 1) { + } else if (i_type == CUT_FINISH_PARAM_VERTICAL) { cutData = &mpHIO->mCut.mCutFinishVertical.m; - } else if (i_type == 2) { + } else if (i_type == CUT_FINISH_PARAM_STAB) { cutData = &mpHIO->mCut.mCutFinishStab.m; - } else if (i_type == 3) { + } else if (i_type == CUT_FINISH_PARAM_MORTAL_DRAW_A) { cutData = &mpHIO->mCut.mCutFinishSweep.m; var_r30 = TRUE; - } else if (i_type == 4) { + } else if (i_type == CUT_FINISH_PARAM_MORTAL_DRAW_B) { cutData = &mpHIO->mCut.mCutFinishSlash.m; var_r30 = TRUE; } else { cutData = &mpHIO->mCut.mCutFinishRight.m; } - f32 var_f31; - if (front_roll) { - var_f31 = cutData->mAttackStartFrame; + f32 start_frame; + if (is_proc_frontRoll) { + start_frame = cutData->mAttackStartFrame; } else if (mComboCutCount == 3) { - var_f31 = cutData->mComboStartFrame; + start_frame = cutData->mComboStartFrame; } else { - var_f31 = cutData->mCutAnm.mStartFrame; + start_frame = cutData->mCutAnm.mStartFrame; } f32 morf; - if (!checkZoraWearAbility() && checkNoResetFlg0(FLG0_UNDERWATER)) { + if (!checkZoraWearAbility() && checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { morf = cutParams->m_morf; } else { morf = cutData->mCutAnm.mInterpolation; } - setSingleAnime(cutParams->m_anmID, cutData->mCutAnm.mSpeed, var_f31, cutData->mCutAnm.mEndFrame, + setSingleAnime(cutParams->m_anmID, cutData->mCutAnm.mSpeed, start_frame, cutData->mCutAnm.mEndFrame, morf); field_0x3478 = cutData->mAttackStartFrame; field_0x347c = cutData->mAttackEndFrame; field_0x3480 = cutData->mSpeed; - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { field_0x3480 *= mHeavySpeedMultiplier; } @@ -1098,7 +1213,7 @@ int daAlink_c::procCutFinishInit(int i_type) { } else { field_0x3484 = cutData->mCutAnm.mCancelFrame; mProcVar0.field_0x3008 = cutData->mStopTime; - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, cutParams->m_atSe, (var_r30 ? TRUE : FALSE) + 3, + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, cutParams->m_atSe, var_r30 ? 4 : 3, mpHIO->mCut.m.mSwordLength, mpHIO->mCut.m.mSwordRadius); if (i_type == 2) { @@ -1121,7 +1236,7 @@ int daAlink_c::procCutFinishInit(int i_type) { field_0x2f99 = 13; } - mProcVar5.field_0x3012 = 0; + mProcVar5.mCutTurnChargeCheckTimer = 0; dComIfGp_setPlayerStatus0(0, 0x8000); setCutWaterDropEffect(); initCutAtnActorSearch(); @@ -1169,13 +1284,13 @@ int daAlink_c::procCutFinish() { } if (checkAnmEnd(frameCtrl_p)) { - resetCombo(1); + resetCombo(TRUE); if (mProcVar0.field_0x3008 > 0) { if (!(frameCtrl_p->getFrame() > field_0x3484) || !checkCutCancelNextMode(3)) { mProcVar0.field_0x3008--; } - } else if (mDemo.getDemoMode() == 0x24 || mDemo.getDemoMode() == 0x54) { + } else if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_36_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_84_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { mNormalSpeed = 0.0f; @@ -1184,13 +1299,20 @@ int daAlink_c::procCutFinish() { } } else if (!(frameCtrl_p->getFrame() > field_0x3484) || !checkCutCancelNextMode(3)) { if (frameCtrl_p->getFrame() > field_0x3484) { - resetCombo(1); + resetCombo(TRUE); } if (changeCutReverseProc((daAlink_ANM)field_0x3198)) { return 1; } + int var_r28; + if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_MORTAL_DRAW_B) { + var_r28 = 1; + } else { + var_r28 = 0; + } + setShapeAngleToAtnActor(mProcVar4.field_0x3010); if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) { @@ -1200,7 +1322,7 @@ int daAlink_c::procCutFinish() { current.angle.y = shape_angle.y; if (frameCtrl_p->getFrame() >= field_0x3478 && frameCtrl_p->getFrame() < field_0x347c) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(field_0x32d0); mNormalSpeed = field_0x3480; } @@ -1212,14 +1334,13 @@ int daAlink_c::procCutFinish() { return 1; } - int daAlink_c::procCutFinishJumpUpInit() { - BOOL side_roll = mProcID == PROC_SIDE_ROLL; + BOOL is_proc_sideRoll = mProcID == PROC_SIDE_ROLL; commonProcInit(PROC_CUT_FINISH_JUMP_UP); if (mEquipItem != 0x103) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); setSwordModel(); } @@ -1227,14 +1348,14 @@ int daAlink_c::procCutFinishJumpUpInit() { speed.y = mpHIO->mCut.mCutFinishJumpUppercut.m.mSpeedV; mNormalSpeed = mpHIO->mCut.mCutFinishJumpUppercut.m.mSpeedH; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; - } else if (checkHeavyStateOn(1, 1)) { + } else if (checkHeavyStateOn(TRUE, TRUE)) { speed.y *= 1.5f; } - if (side_roll) { + if (is_proc_sideRoll) { if (field_0x2f98 == 2) { current.angle.y = shape_angle.y + 0x4000; } else { @@ -1245,13 +1366,13 @@ int daAlink_c::procCutFinishJumpUpInit() { } field_0x307e = mpHIO->mCut.m.mComboDuration; - f32 var_f31 = mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mStartFrame; + f32 start_frame = mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mStartFrame; - setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, 1, 3, + setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, dCcD_SE_SWORD, 3, mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackRadius, 10.0f); field_0x32cc = Z2SE_AL_SWORD_SWING_L; - setSingleAnime(ANM_CUT_TWIRL, mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mSpeed, var_f31, + setSingleAnime(ANM_CUT_TWIRL, mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mSpeed, start_frame, mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mEndFrame, mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mInterpolation); setSwordVoiceSe(Z2SE_AL_V_SOTOMO_ATK); @@ -1271,14 +1392,14 @@ int daAlink_c::procCutFinishJumpUp() { } if (frameCtrl->getFrame() >= 3.0f) { - field_0x2f92 = 100; + mLeftHandIndex = 100; } if (mLinkAcch.ChkGroundHit()) { return procCutFinishJumpUpLandInit(); } - if (mDemo.getDemoMode() != 0x52 && + if (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_82_e && current.pos.y < mLastJumpPos.y - mpHIO->mCut.mCutFinishJumpUppercut.m.mFallHeight) { return procFallInit(2, mpHIO->mCut.mCutFinishJumpUppercut.m.mFallInterpolation); @@ -1287,7 +1408,7 @@ int daAlink_c::procCutFinishJumpUp() { if (frameCtrl->getFrame() >= mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackStartFrame && frameCtrl->getFrame() < mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackEndFrame) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(field_0x32cc); } @@ -1317,7 +1438,7 @@ int daAlink_c::procCutFinishJumpUpLandInit() { mProcVar0.field_0x3008 = mpHIO->mCut.mCutFinishJumpUppercut.m.mStopTime; } - mProcVar5.field_0x3012 = 0; + mProcVar5.mCutTurnChargeCheckTimer = 0; field_0x3588 = l_halfAtnWaitBaseAnime; initCutAtnActorSearch(); return 1; @@ -1336,8 +1457,8 @@ int daAlink_c::procCutFinishJumpUpLand() { field_0x2f99 = 4; checkCutAtnActorChange(); - if (frameCtrl->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x52) { + if (checkAnmEnd(frameCtrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_82_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else if (mProcVar0.field_0x3008 > 0) { if (!(frameCtrl->getFrame() > field_0x3484) || !checkCutCancelNextMode(3)) { @@ -1350,7 +1471,7 @@ int daAlink_c::procCutFinishJumpUpLand() { } } else if (!(frameCtrl->getFrame() > field_0x3484) || !checkCutCancelNextMode(3)) { if (frameCtrl->getFrame() > field_0x3484) { - resetCombo(1); + resetCombo(TRUE); } setShapeAngleToAtnActor(mProcVar4.field_0x3010); @@ -1362,7 +1483,7 @@ int daAlink_c::procCutFinishJumpUpLand() { current.angle.y = shape_angle.y; if (frameCtrl->getFrame() >= 9.0f) { - field_0x2f92 = 0; + mLeftHandIndex = 0; } } @@ -1394,19 +1515,16 @@ int daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM i_anmID) { mNormalSpeed = mpHIO->mCut.m.mRecoilSpeed; current.angle.y = shape_angle.y - -0x8000; field_0x307e = 0; - mProcVar5.field_0x3012 = 0; + mProcVar5.mCutTurnChargeCheckTimer = 0; - int temp_r3; - if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_MORTAL_DRAW_B || - mCutType == CUT_TYPE_JUMP) - { - temp_r3 = 5; + int vibmode; + if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_MORTAL_DRAW_B || mCutType == CUT_TYPE_JUMP) { + vibmode = VIBMODE_S_POWER5; } else { - temp_r3 = 3; + vibmode = VIBMODE_S_POWER3; } - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(temp_r3, 31, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(vibmode, 31, cXyz(0.0f, 1.0f, 0.0f)); return 1; } @@ -1427,7 +1545,7 @@ int daAlink_c::procCutReverse() { setUpperGuardAnime(-1.0f); } - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { current.angle.y = shape_angle.y; checkNextAction(0); } else if (frameCtrl->getFrame() > field_0x3478) { @@ -1441,11 +1559,11 @@ int daAlink_c::procCutReverse() { return 1; } -int daAlink_c::procCutJumpInit(int i_airCut) { +int daAlink_c::procCutJumpInit(BOOL i_isAirCut) { commonProcInit(PROC_CUT_JUMP); setSingleAnimeParam(ANM_CUT_JUMP, &mpHIO->mCut.mCutJump.m.mCutAnm); - if (i_airCut) { + if (i_isAirCut) { mNormalSpeed = mpHIO->mCut.mCutJump.m.mAirJumpSpeedH; speed.y = mpHIO->mCut.mCutJump.m.mAirJumpSpeedV; } else { @@ -1453,9 +1571,9 @@ int daAlink_c::procCutJumpInit(int i_airCut) { speed.y = mpHIO->mCut.mCutJump.m.mBaseJumpSpeedV; } - setCutJumpSpeed(i_airCut); + setCutJumpSpeed(i_isAirCut); current.angle.y = shape_angle.y; - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, mpHIO->mCut.m.mSwordLength, + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, dCcD_SE_SWORD, 3, mpHIO->mCut.m.mSwordLength, mpHIO->mCut.m.mSwordRadius); setCutType(CUT_TYPE_JUMP); setSwordComboVoice(); @@ -1465,12 +1583,12 @@ int daAlink_c::procCutJumpInit(int i_airCut) { } int daAlink_c::procCutJump() { + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + if (current.angle.y == shape_angle.y && changeCutReverseProc(ANM_CUT_JUMP)) { current.angle.y += 0x8000; mNormalSpeed = 27.0f; - - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(5, 31, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER5, 31, cXyz(0.0f, 1.0f, 0.0f)); } else if (current.angle.y != shape_angle.y) { cLib_chaseF(&mNormalSpeed, 5.0f, 1.0f); } @@ -1481,8 +1599,8 @@ int daAlink_c::procCutJump() { if (mLinkAcch.ChkGroundHit()) { procCutJumpLandInit(field_0x3198); - } else if (mUnderFrameCtrl[0].getFrame() >= mpHIO->mCut.mCutJump.m.mStartAttackFrame) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + } else if (framectrl->getFrame() >= mpHIO->mCut.mCutJump.m.mStartAttackFrame) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_L); } @@ -1497,15 +1615,15 @@ int daAlink_c::procCutJumpLandInit(int param_0) { checkCutLandDamage(); setSingleAnimeParam(ANM_CUT_JUMP_LAND, &mpHIO->mCut.mCutJump.m.mLandAnm); - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { field_0x2060->initOldFrameMorf(5.0f * mpHIO->mCut.mCutJump.m.mLandAnm.mInterpolation, 0, 0x23); } - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_L); m_swordBlur.initBlur(0.0f, 0, &mSwordTopPos, &field_0x3498, &field_0x34a4); - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, mpHIO->mCut.m.mSwordLength, + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, dCcD_SE_SWORD, 3, mpHIO->mCut.m.mSwordLength, mpHIO->mCut.m.mSwordRadius); } @@ -1540,7 +1658,7 @@ int daAlink_c::procCutJumpLand() { field_0x3198 = getCutTurnDirection(); } - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextAction(0); } else if (frameCtrl->getFrame() > mpHIO->mCut.mCutJump.m.mJumpSpinDelay && field_0x3198 != 2) { @@ -1573,15 +1691,15 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { param_1 = getCutTurnDirection(); } - f32 var_f31; + f32 start_frame; if (param_1 == 1) { anmID = ANM_CUT_TURN_RIGHT; anm_data = &cutData->mRightTurnAnm; if (param_0) { - var_f31 = cutData->mRightTurnInputStartFrame; + start_frame = cutData->mRightTurnInputStartFrame; } else { - var_f31 = anm_data->mStartFrame; + start_frame = anm_data->mStartFrame; } field_0x3484 = cutData->mRightAttackStartFrame; @@ -1593,9 +1711,9 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { anm_data = &cutData->mLeftTurnAnm; if (param_0) { - var_f31 = cutData->mLeftTurnInputStartFrame; + start_frame = cutData->mLeftTurnInputStartFrame; } else { - var_f31 = anm_data->mStartFrame; + start_frame = anm_data->mStartFrame; } field_0x3484 = cutData->mLeftAttackStartFrame; @@ -1605,20 +1723,20 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { } field_0x3480 = anm_data->mCancelFrame; - resetCombo(1); + resetCombo(TRUE); f32 morf; - if (!checkZoraWearAbility() && checkNoResetFlg0(FLG0_UNDERWATER)) { + if (!checkZoraWearAbility() && checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { morf = 10.0f; } else { morf = anm_data->mInterpolation; } - setSingleAnime(anmID, anm_data->mSpeed, var_f31, anm_data->mEndFrame, morf); + setSingleAnime(anmID, anm_data->mSpeed, start_frame, anm_data->mEndFrame, morf); - int sp08; + int atp; if (checkCutLargeTurnState()) { - sp08 = 4; + atp = 4; field_0x32cc = Z2SE_AL_KAITEN_L_SLASH; setSwordVoiceSe(Z2SE_AL_V_KAITENGIRI_L); field_0x3478 = cutData->mLargeAttackRadius; @@ -1630,7 +1748,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { setCutType(CUT_TYPE_LARGE_TURN_LEFT); } } else { - sp08 = 3; + atp = 3; field_0x32cc = Z2SE_AL_KAITENGIRI; setSwordVoiceSe(Z2SE_AL_V_KAITEN); @@ -1658,7 +1776,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { mNormalSpeed = 0.0f; mProcVar5.field_0x3012 = 0; setCutWaterDropEffect(); - initCutTurnAt(field_0x347c, sp08); + initCutTurnAt(field_0x347c, atp); return 1; } @@ -1677,15 +1795,15 @@ int daAlink_c::procCutTurn() { } if (frameCtrl->getFrame() >= 44.0f) { - field_0x2f92 = 0; + mLeftHandIndex = 0; } - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { if (mProcVar0.field_0x3008 > 0) { if (!(frameCtrl->getFrame() > field_0x3480) || !checkCutCancelNextMode(3)) { mProcVar0.field_0x3008--; } - } else if (mDemo.getDemoMode() == 0x24) { + } else if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_36_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { field_0x2f98 = 3; @@ -1693,18 +1811,18 @@ int daAlink_c::procCutTurn() { } } else if (!(frameCtrl->getFrame() > field_0x3480) || !checkCutCancelNextMode(3)) { if (frameCtrl->getFrame() >= field_0x3484 && frameCtrl->getFrame() < field_0x3488) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(field_0x32cc); mNormalSpeed = mpHIO->mCut.mCutTurn.m.mSpeed; - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { mNormalSpeed *= mHeavySpeedMultiplier; } } onResetFlg0(RFLG0_UNK_2); cLib_chaseF(&field_0x347c, field_0x3478, field_0x348c); - field_0xFB8.SetR(field_0x347c); + mAtSph.SetR(field_0x347c); } } @@ -1713,7 +1831,7 @@ int daAlink_c::procCutTurn() { int daAlink_c::procCutTurnChargeInit() { if (mComboCutCount == 0 && checkDashAnime()) { - setUpperAnimeBase(0x83); + setUpperAnimeBase(dRes_ID_ALANM_BCK_CUTDTP_e); return 1; } @@ -1733,22 +1851,22 @@ int daAlink_c::procCutTurnCharge() { setSwordChargeVoiceSe(); field_0x307e = mpHIO->mCut.m.mComboDuration; - if (!swordButton() && mDemo.getDemoMode() != 0x5B) { + if (!swordButton() && mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_91_e) { if (mProcVar2.field_0x300c != 0) { checkCutAction(); } else { cancelCutCharge(); } - } else if (mUnderFrameCtrl[0].checkAnmEnd()) { + } else if (checkAnmEnd(&mUnderFrameCtrl[0])) { procCutTurnMoveInit(0); } else if (mUnderFrameCtrl[0].getFrame() >= 6.0f) { - field_0x2f92 = 100; + mLeftHandIndex = 100; } return 1; } -int daAlink_c::procCutTurnMoveInit(int param_0) { +int daAlink_c::procCutTurnMoveInit(BOOL param_0) { commonProcInit(PROC_CUT_TURN_MOVE); if (checkZeroSpeedF()) { @@ -1768,7 +1886,7 @@ int daAlink_c::procCutTurnMoveInit(int param_0) { setSingleAnimeBaseSpeed(ANM_CUT_TURN_CHARGE, 0.0f, mpHIO->mCut.mCutTurn.m.mMoveFBInterpolation); field_0x2f98 = 0; - field_0x594 = mpHIO->mCut.mCutTurn.m.mMaxSpeed; + mMaxSpeed = mpHIO->mCut.mCutTurn.m.mMaxSpeed; if (!checkWoodSwordEquip()) { simpleAnmPlay(m_nSwordBtk); @@ -1805,79 +1923,79 @@ int daAlink_c::procCutTurnMove() { if (mProcVar2.field_0x300c != 0) { if (checkDownAttackState() && !var_r4) { - setDoStatusEmphasys(0x30); + setDoStatusEmphasys(BUTTON_STATUS_FINISH); } else if (checkCutHeadState() && !var_r4) { - setDoStatusEmphasys(0x77); + setDoStatusEmphasys(BUTTON_STATUS_HELM_SPLITTER); } else { - setDoStatus(0x86); + setDoStatus(BUTTON_STATUS_UNK_134); } } else { field_0x307e = mpHIO->mCut.m.mComboDuration; } - if (mDemo.getDemoMode() == 0x5B || mDemo.getDemoMode() == 0x5C) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_91_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_92_e) { if (var_r4) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } } else if ((mProcVar2.field_0x300c == 0 && swordButton()) || (mProcVar2.field_0x300c != 0 && doButton())) { f32 var_f30 = 0.0f; + f32 var_f31 = 1.0f; onResetFlg0(RFLG0_UNK_10); if (checkInputOnR()) { - int direction = getDirectionFromAngle(field_0x2fe2 - field_0x2fe4); + int direction = getDirectionFromAngle(mMoveAngle - field_0x2fe4); daAlink_ANM anm = ANM_MAX; - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, 4, 12000, 0x2000); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, 4, 12000, 0x2000); - f32 var_f31; + f32 morf; if (field_0x2f98 == 0 || field_0x2f98 == 1) { if (direction == DIR_LEFT || direction == DIR_RIGHT) { anm = ANM_CUT_TURN_CHARGE_MOVE; - var_f31 = mpHIO->mCut.mCutTurn.m.mMoveLRInterpolation; + morf = mpHIO->mCut.mCutTurn.m.mMoveLRInterpolation; mNormalSpeed *= 0.5f; } else if (field_0x2f98 != direction) { mNormalSpeed *= -0.5f; - current.angle.y = field_0x2fe2; + current.angle.y = mMoveAngle; } } else if (direction == DIR_FORWARD || direction == DIR_BACKWARD) { anm = ANM_CUT_TURN_CHARGE; - var_f31 = mpHIO->mCut.mCutTurn.m.mMoveFBInterpolation; + morf = mpHIO->mCut.mCutTurn.m.mMoveFBInterpolation; mNormalSpeed *= 0.5f; } else if (field_0x2f98 != direction) { mNormalSpeed *= -0.5f; - current.angle.y = field_0x2fe2; + current.angle.y = mMoveAngle; } if (field_0x2f98 == direction) { - var_f30 = mpHIO->mCut.mCutTurn.m.mChargeMoveAccel * field_0x33ac; + var_f30 = mpHIO->mCut.mCutTurn.m.mChargeMoveAccel * mMoveValue; } else { field_0x2f98 = direction; } if (anm != ANM_MAX) { - setSingleAnimeBaseSpeed(anm, 0.0f, var_f31); + setSingleAnimeBaseSpeed(anm, 0.0f, morf); } } setNormalSpeedF(var_f30, mpHIO->mCut.mCutTurn.m.mChargeMoveDecel); - f32 var_f31_2; if (field_0x2f98 == DIR_FORWARD) { - var_f31_2 = mpHIO->mCut.mCutTurn.m.mMoveFBAnmSpeed; + var_f31 = mpHIO->mCut.mCutTurn.m.mMoveFBAnmSpeed; } else if (field_0x2f98 == DIR_BACKWARD) { - var_f31_2 = -mpHIO->mCut.mCutTurn.m.mMoveFBAnmSpeed; + var_f31 = -mpHIO->mCut.mCutTurn.m.mMoveFBAnmSpeed; } else if (field_0x2f98 == DIR_RIGHT) { - var_f31_2 = -mpHIO->mCut.mCutTurn.m.mMoveLRAnmSpeed; + var_f31 = -mpHIO->mCut.mCutTurn.m.mMoveLRAnmSpeed; } else { - var_f31_2 = mpHIO->mCut.mCutTurn.m.mMoveLRAnmSpeed; + var_f31 = mpHIO->mCut.mCutTurn.m.mMoveLRAnmSpeed; } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - f32 temp_f0 = mNormalSpeed / field_0x594; - setWaterInAnmRate(frameCtrl_p, temp_f0 * var_f31_2); + f32 temp_f0 = mNormalSpeed / mMaxSpeed; + setWaterInAnmRate(frameCtrl_p, temp_f0 * var_f31); - if (var_f31_2 >= 0.0f) { + if (var_f31 >= 0.0f) { frameCtrl_p->setLoop(frameCtrl_p->getStart()); } else { frameCtrl_p->setLoop(frameCtrl_p->getEnd()); @@ -1907,15 +2025,14 @@ int daAlink_c::procCutTurnMove() { return 1; } - int daAlink_c::procCutDownInit() { - if (mDemo.getDemoMode() == 0x51 && (mProcID == PROC_CUT_DOWN || mProcID == PROC_CUT_DOWN_LAND)) + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_CUT_DOWN_e && (mProcID == PROC_CUT_DOWN || mProcID == PROC_CUT_DOWN_LAND)) { return 1; } commonProcInit(PROC_CUT_DOWN); - resetCombo(1); + resetCombo(TRUE); cXyz sp2C; mProcVar3.field_0x300e = 0; @@ -1960,23 +2077,23 @@ int daAlink_c::procCutDownInit() { speed.y = mpHIO->mCut.mCutDown.m.mRecoverSpeedH; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; - } else if (checkHeavyStateOn(1, 1)) { + } else if (checkHeavyStateOn(TRUE, TRUE)) { speed.y *= 1.5f; } - f32 var_f4 = speed.y + gravity; - f32 var_f5 = 1.0f / gravity; + f32 var_f30 = speed.y + gravity; + f32 var_f29 = 1.0f / gravity; - f32 temp_f1 = sp2C.y - (current.pos.y - var_f5 * (var_f4 * var_f4) * 0.5f); - if (temp_f1 > 0.0f) { - temp_f1 = 0.0f; + f32 var_f28 = sp2C.y - (current.pos.y - var_f29 * (var_f30 * var_f30) * 0.5f); + if (var_f28 > 0.0f) { + var_f28 = 0.0f; } - temp_f1 = JMAFastSqrt(temp_f1 * 2.0f * var_f5); - mNormalSpeed = var_f31 / (temp_f1 - var_f4 * var_f5); + f32 var_f27 = JMAFastSqrt(var_f28 * 2.0f * var_f29) - (var_f30 * var_f29); + mNormalSpeed = var_f31 / var_f27; mProcVar2.field_0x300c = 0; } @@ -1986,7 +2103,6 @@ int daAlink_c::procCutDownInit() { return 1; } - int daAlink_c::procCutDown() { if (mProcVar3.field_0x300e != 0) { return 1; @@ -1994,7 +2110,7 @@ int daAlink_c::procCutDown() { if (mLinkAcch.ChkGroundHit() && speed.y <= 0.0f) { procCutDownLandInit((fopEn_enemy_c*)field_0x280c.getActor()); - } else if (mUnderFrameCtrl[0].checkAnmEnd() && mProcVar2.field_0x300c == 0) { + } else if (checkAnmEnd(&mUnderFrameCtrl[0]) && mProcVar2.field_0x300c == 0) { mProcVar2.field_0x300c = 1; setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_FALL, &mpHIO->mCut.mCutDown.m.mFallAnm); } @@ -2008,8 +2124,8 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) { setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_STAB, &mpHIO->mCut.mCutDown.m.mLandAnm); u32 var_r30; - if (mDemo.getDemoMode() == 0x51 || (i_enemy != NULL && i_enemy->checkDownFlg() && - mSwordTopPos.abs2XZ(i_enemy->getDownPos()) < 10000.0f && + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_CUT_DOWN_e || (i_enemy != NULL && i_enemy->checkDownFlg() && + mSwordTopPos.abs2XZ(i_enemy->getDownPos()) < SQUARE(100.0f) && fabsf(i_enemy->current.pos.y - current.pos.y) < 100.0f)) { mProcVar3.field_0x300e = 1; @@ -2046,7 +2162,6 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) { return 1; } - int daAlink_c::procCutDownLand() { if (checkGroundSpecialMode()) { return 1; @@ -2064,7 +2179,7 @@ int daAlink_c::procCutDownLand() { if (mProcVar0.field_0x3008 != 0) { mProcVar0.field_0x3008--; } else if (mProcVar3.field_0x300e != 0) { - if (mDemo.getDemoMode() == 0x51) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_CUT_DOWN_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { procBackJumpInit(1); @@ -2097,17 +2212,15 @@ int daAlink_c::procCutDownLand() { return 1; } - int daAlink_c::procCutHeadInit() { fopEn_enemy_c* enemy_p = (fopEn_enemy_c*)mTargetedActor; - if (mDemo.getDemoMode() == 0x53 && (mProcID == PROC_CUT_HEAD || mProcID == PROC_CUT_HEAD_LAND)) - { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_CUT_HEAD_e && (mProcID == PROC_CUT_HEAD || mProcID == PROC_CUT_HEAD_LAND)) { return 1; } commonProcInit(PROC_CUT_HEAD); - resetCombo(1); + resetCombo(TRUE); setSingleAnimeParam(ANM_CUT_HEAD_JUMP, &mpHIO->mCut.mCutHead.m.mJumpAnm); setSpecialGravity(mpHIO->mCut.mCutHead.m.mGravity, maxFallSpeed, 0); @@ -2137,9 +2250,9 @@ int daAlink_c::procCutHeadInit() { shape_angle.y = current.angle.y; setSwordVoiceSe(Z2SE_AL_V_KABUTO_JUMP); - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, mpHIO->mCut.mCutHead.m.mSwordLength, + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, dCcD_SE_SWORD, 3, mpHIO->mCut.mCutHead.m.mSwordLength, mpHIO->mCut.mCutHead.m.mSwordRadius); - setCutType(5); + setCutType(CUT_TYPE_HEAD_JUMP); return 1; } @@ -2150,10 +2263,9 @@ int daAlink_c::procCutHead() { if (speed.y <= 0.0f) { setSingleAnimeParam(ANM_CUT_HEAD, &mpHIO->mCut.mCutHead.m.mCutAnm); - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; - setSpecialGravity(tmp_0, maxFallSpeed, 0); + mNormalSpeed = 0.0f; + speed.y = 0.0f; + setSpecialGravity(0.0f, maxFallSpeed, 0); mProcVar3.field_0x300e = 1; setCutWaterDropEffect(); setSwordVoiceSe(Z2SE_AL_V_KABUTO_ATK); @@ -2171,7 +2283,7 @@ int daAlink_c::procCutHead() { if (frameCtrl->getFrame() >= mpHIO->mCut.mCutHead.m.mAttackStartFrame && frameCtrl->getFrame() < mpHIO->mCut.mCutHead.m.mAttackEndFrame) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_L); } @@ -2198,8 +2310,8 @@ int daAlink_c::procCutHeadLand() { onEndResetFlg0(ERFLG0_UNK_8000000); daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (frameCtrl->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x53) { + if (checkAnmEnd(frameCtrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_CUT_HEAD_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); @@ -2226,18 +2338,18 @@ int daAlink_c::procCutLargeJumpCharge() { } if (checkDownAttackState()) { - setDoStatusEmphasys(0x30); + setDoStatusEmphasys(BUTTON_STATUS_FINISH); } else if (checkCutHeadState()) { - setDoStatusEmphasys(0x77); + setDoStatusEmphasys(BUTTON_STATUS_HELM_SPLITTER); } else { - setDoStatus(0x86); + setDoStatus(BUTTON_STATUS_UNK_134); } setSwordChargeVoiceSe(); - if (!doButton() && mDemo.getDemoMode() != 0x5C) { + if (!doButton() && mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_92_e) { checkDoCutAction(); - } else if (mUnderFrameCtrl[0].checkAnmEnd()) { + } else if (checkAnmEnd(&mUnderFrameCtrl[0])) { procCutTurnMoveInit(1); } @@ -2245,7 +2357,7 @@ int daAlink_c::procCutLargeJumpCharge() { } int daAlink_c::procCutLargeJumpInit() { - if (mDemo.getDemoMode() == 0x56 && + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_CUT_LARGE_JUMP_e && (mProcID == PROC_CUT_LARGE_JUMP || mProcID == PROC_CUT_LARGE_JUMP_LAND)) { return 1; @@ -2258,7 +2370,7 @@ int daAlink_c::procCutLargeJumpInit() { current.angle.y = shape_angle.y; mProcVar2.field_0x300c = 0; - setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, mpHIO->mCut.m.mSwordLength, + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, dCcD_SE_SWORD, 2, mpHIO->mCut.m.mSwordLength, mpHIO->mCut.m.mSwordRadius); setCutType(CUT_TYPE_LARGE_JUMP_INIT); setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_1); @@ -2281,7 +2393,7 @@ int daAlink_c::procCutLargeJump() { } if (mProcVar2.field_0x300c == 0) { - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { field_0x2f99 = 12; setSingleAnimeParam(ANM_CUT_JUMP_LARGE, &mpHIO->mCut.mCutLargeJump.m.mCutAnm); mProcVar2.field_0x300c = 1; @@ -2295,13 +2407,13 @@ int daAlink_c::procCutLargeJump() { setJumpMode(); mNormalSpeed = mpHIO->mCut.mCutLargeJump.m.mCutSpeedH; speed.y = mpHIO->mCut.mCutLargeJump.m.mCutSpeedV; - setCutJumpSpeed(0); + setCutJumpSpeed(FALSE); } if (frameCtrl->getFrame() >= mpHIO->mCut.mCutLargeJump.m.mJumpAttackStartFrame && frameCtrl->getFrame() < mpHIO->mCut.mCutLargeJump.m.mJumpAttackEndFrame) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_S); } onResetFlg0(RFLG0_UNK_2); @@ -2312,7 +2424,7 @@ int daAlink_c::procCutLargeJump() { mProcVar3.field_0x300e--; if (mProcVar3.field_0x300e == 0) { - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 4, mpHIO->mCut.m.mSwordLength, + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, dCcD_SE_SWORD, 4, mpHIO->mCut.m.mSwordLength, mpHIO->mCut.m.mSwordRadius); setCutType(CUT_TYPE_LARGE_JUMP); } @@ -2321,7 +2433,7 @@ int daAlink_c::procCutLargeJump() { if (mLinkAcch.ChkGroundHit()) { procCutLargeJumpLandInit(field_0x3198); } else if (frameCtrl->getFrame() >= mpHIO->mCut.mCutLargeJump.m.mCutInitFrame) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_S); } @@ -2349,8 +2461,7 @@ int daAlink_c::procCutLargeJumpLandInit(int param_0) { mProcVar2.field_0x300c = 0; field_0x3198 = param_0; - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(3, 31, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER3, 31, cXyz(0.0f, 1.0f, 0.0f)); setCutLargeJumpLandEffect(); seStartOnlyReverb(Z2SE_AL_JUMP_ATK_L_IMPACT); return 1; @@ -2366,8 +2477,8 @@ int daAlink_c::procCutLargeJumpLand() { field_0x3198 = getCutTurnDirection(); } - if (frameCtrl->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x56) { + if (checkAnmEnd(frameCtrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_CUT_LARGE_JUMP_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); @@ -2390,7 +2501,7 @@ int daAlink_c::procCutLargeJumpLand() { } cLib_chaseF(&field_0x347c, field_0x3478, 20.0f); - field_0xFB8.SetR(field_0x347c); + mAtSph.SetR(field_0x347c); } } @@ -2407,7 +2518,7 @@ int daAlink_c::procSwordUnequipSpInit() { field_0x3588 = l_halfAtnWaitBaseAnime; field_0x3198 = 0; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e = (0x1E - mDemo.getDemoMode()) != 0; + mProcVar3.field_0x300e = mDemo.getDemoMode() != daPy_demo_c::DEMO_SWORD_UNEQUIP_SP_e; mProcVar4.field_0x3010 = 0; return 1; @@ -2429,18 +2540,18 @@ int daAlink_c::procSwordUnequipSp() { onEndResetFlg0(ERFLG0_UNK_8000000); if (mProcVar2.field_0x300c != 0) { - onEndResetFlg1(ERFLG1_GANON_FINISH); + onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); } - if (mProcVar4.field_0x3010 == 0 && mDemo.getDemoMode() == 0x1E && mDemo.getParam1() == 1) { + if (mProcVar4.field_0x3010 == 0 && mDemo.getDemoMode() == daPy_demo_c::DEMO_SWORD_UNEQUIP_SP_e && mDemo.getParam1() == 1) { mProcVar4.field_0x3010 = 1; - setFaceBasicBck(0x149); - setFaceBasicBtp(0x3E1); + setFaceBasicBck(dRes_ID_ALANM_BCK_FK_e); + setFaceBasicBtp(dRes_ID_ALANM_BTP_FMABA03_e); } - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { if (field_0x3198 != 0) { - if (mDemo.getDemoMode() == 0x1E) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_SWORD_UNEQUIP_SP_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); @@ -2455,13 +2566,13 @@ int daAlink_c::procSwordUnequipSp() { !checkNextAction(1)) { if (frameCtrl->getFrame() >= 39.0f) { - field_0x2f92 = 1; + mLeftHandIndex = 1; } else if (frameCtrl->getFrame() >= 36.0f) { - field_0x2f93 = 6; + mRightHandIndex = 6; } else if (frameCtrl->getFrame() >= 26.0f) { - field_0x2f92 = 4; + mLeftHandIndex = 4; } else if (frameCtrl->getFrame() >= 13.0f) { - if (mDemo.getDemoMode() == 0x1E) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_SWORD_UNEQUIP_SP_e) { if (mDemo.getParam0() == 1) { frameCtrl->setFrame(13.0f); frameCtrl->setRate(0.0f); @@ -2470,24 +2581,24 @@ int daAlink_c::procSwordUnequipSp() { setWaterInAnmRate(frameCtrl, mpHIO->mCut.m.mFlourishEndAnmSpeed); } } - deleteEquipItem(0, 1); + deleteEquipItem(FALSE, TRUE); } else if (frameCtrl->checkPass(8.0f)) { - seStartSwordCut(0x20008); + seStartSwordCut(Z2SE_AL_FINISH_PUTIN); } } } else { if (frameCtrl->getFrame() >= 9.0f) { - field_0x2f93 = 0xFE; + mRightHandIndex = 0xFE; mProcVar2.field_0x300c = 1; - onEndResetFlg1(ERFLG1_GANON_FINISH); + onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); } if (frameCtrl->checkPass(7.0f) || frameCtrl->checkPass(13.0f)) { - seStartSwordCut(0x20006); + seStartSwordCut(Z2SE_AL_FINISH_SWING1); } else if (frameCtrl->checkPass(28.0f) || frameCtrl->checkPass(38.0f) || frameCtrl->checkPass(48.0f)) { - seStartSwordCut(0x20007); + seStartSwordCut(Z2SE_AL_FINISH_SWING2); } } diff --git a/src/d/actor/d_a_alink_damage.inc b/src/d/actor/d_a_alink_damage.inc index d7e0018f58..bf21bf7f09 100644 --- a/src/d/actor/d_a_alink_damage.inc +++ b/src/d/actor/d_a_alink_damage.inc @@ -9,6 +9,10 @@ #include "d/actor/d_a_crod.h" #include "d/d_msg_object.h" +#if DEBUG +#include "d/d_s_menu.h" +#endif + s16 daAlink_c::getFreezeR() const { return mpHIO->mDamage.m.mFreezeR; } @@ -25,10 +29,10 @@ bool daAlink_c::checkMiddleBossGoronRoom() { return checkStageName("D_MN04B"); } -void daAlink_c::setDkCaught(fopAc_ac_c* param_0) { +void daAlink_c::setDkCaught(fopAc_ac_c* i_dkActor) { if (!checkNoResetFlg1(FLG1_DK_CAUGHT)) { onNoResetFlg1(FLG1_DK_CAUGHT); - field_0x28f8 = fopAcM_GetID(param_0); + field_0x28f8 = fopAcM_GetID(i_dkActor); } } @@ -37,15 +41,15 @@ void daAlink_c::freezeTimerDamage() { mProcVar1.field_0x300a++; if (mProcVar1.field_0x300a % 45 == 0) { - setDamagePoint(1, 1, 0, 0); + setDamagePoint(1, TRUE, FALSE, 0); } if (escapeTrigger()) { - mProcVar0.field_0x3008 -= 2; + mProcVar0.field_0x3008 -= (s16)2; } if (checkInputOnR() && abs((s16)(mStickAngle - mPrevStickAngle)) > 0x1000) { - mProcVar0.field_0x3008 -= 2; + mProcVar0.field_0x3008 -= (s16)2; } if (mProcVar0.field_0x3008 < 0) { @@ -53,14 +57,14 @@ void daAlink_c::freezeTimerDamage() { } } -void daAlink_c::onPressedDamage(cXyz const& param_0, s16 param_1) { +void daAlink_c::onPressedDamage(const cXyz& param_0, s16 param_1) { onNoResetFlg2(FLG2_PRESSED_DAMAGE); field_0x3104 = param_1; field_0x3744 = param_0; } BOOL daAlink_c::checkNoLandDamageSlidePolygon() { - if (field_0x2fbb == 3) { + if (mGndPolyAtt0 == 3) { return true; } @@ -76,14 +80,12 @@ BOOL daAlink_c::checkNoLandDamageSlidePolygon() { return false; } - void daAlink_c::checkCutLandDamage() { if (!checkEventRun()) { - f32 var_f31 = (mFallHeight - current.pos.y) * 0.0099999998f; + f32 fall_amount = (mFallHeight - current.pos.y) * 0.0099999998f; - if (var_f31 >= mpHIO->mDamage.mDamFall.m.mSmallDmgHeight && !checkNoLandDamageSlidePolygon()) - { - if (var_f31 >= mpHIO->mDamage.mDamFall.m.mBigDmgHeight) { + if (fall_amount >= mpHIO->mDamage.mDamFall.m.mSmallDmgHeight && !checkNoLandDamageSlidePolygon()) { + if (fall_amount >= mpHIO->mDamage.mDamFall.m.mBigDmgHeight) { setLandDamagePoint(8); } else { setLandDamagePoint(4); @@ -103,7 +105,7 @@ BOOL daAlink_c::checkCaughtEscapeCutTurn() { } if (mEquipItem != 0x103) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); setSwordModel(); } @@ -139,7 +141,7 @@ bool daAlink_c::setThrowDamage(s16 param_0, f32 param_1, f32 param_2, int param_ return true; } -f32 daAlink_c::damageMagnification(int i_checkZoraMag, int param_1) { +f32 daAlink_c::damageMagnification(BOOL i_checkZoraMag, int param_1) { f32 base_mag; if (param_1 == 0 && checkNoResetFlg3(FLG3_UNK_40000000) && @@ -161,7 +163,7 @@ f32 daAlink_c::damageMagnification(int i_checkZoraMag, int param_1) { return base_mag; } -int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgTimer, int param_3) { +int daAlink_c::setDamagePoint(int i_dmgAmount, BOOL i_checkZoraMag, BOOL i_setDmgTimer, int param_3) { if (i_dmgAmount <= 0) { dComIfGp_setItemLifeCount(-i_dmgAmount, 0); return 0; @@ -179,7 +181,11 @@ int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgT if (checkMagicArmorNoDamage()) { dComIfGp_setItemRupeeCount(-i_dmgAmount * 10); - } else { + } else + #if DEBUG + if (!mpHIO->mDamage.m.mInvincible && g_debugHpMode == 0) + #endif + { dComIfGp_setItemLifeCount(-i_dmgAmount, 0); } @@ -195,59 +201,60 @@ int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgT return 0; } -void daAlink_c::setDamagePointNormal(int i_dmgAmount) { - setDamagePoint(i_dmgAmount, FALSE, TRUE, 0); +int daAlink_c::setDamagePointNormal(int i_dmgAmount) { + return setDamagePoint(i_dmgAmount, FALSE, TRUE, 0); } -void daAlink_c::setLandDamagePoint(int i_dmgAmount) { +int daAlink_c::setLandDamagePoint(int i_dmgAmount) { onEndResetFlg2(ERFLG2_UNK_40); - setDamagePoint(i_dmgAmount, FALSE, TRUE, 0); + int rt = setDamagePoint(i_dmgAmount, FALSE, TRUE, 0); offEndResetFlg2(ERFLG2_UNK_40); + return rt; } cXyz* daAlink_c::getDamageVec(dCcD_GObjInf* i_hitObj) { - cXyz* vec = i_hitObj->GetTgRVecP(); - cXyz sp40; + cXyz* tgRvec = i_hitObj->GetTgRVecP(); + cXyz newVec; - f32 var_f31 = vec->abs2XZ(); + f32 vec_xz2 = tgRvec->abs2XZ(); if (checkResetFlg1(RFLG1_UNK_2)) { - sp40.set(cM_ssin(shape_angle.y) * -10.0f, 0.0f, cM_scos(shape_angle.y) * -10.0f); - i_hitObj->SetTgRVec(sp40); - } else if (var_f31 < 0.1f) { + newVec.set(cM_ssin(shape_angle.y) * -10.0f, 0.0f, cM_scos(shape_angle.y) * -10.0f); + i_hitObj->SetTgRVec(newVec); + } else if (vec_xz2 < 0.1f) { if (i_hitObj->GetTgHitAc() != NULL) { - sp40 = current.pos - i_hitObj->GetTgHitAc()->current.pos; + newVec = current.pos - i_hitObj->GetTgHitAc()->current.pos; } else { - sp40 = current.pos - *i_hitObj->GetTgHitPosP(); + newVec = current.pos - *i_hitObj->GetTgHitPosP(); } - var_f31 = sp40.abs2(); - if (var_f31 < 0.1f) { - sp40.x = cM_ssin(shape_angle.y) * -10.0f; - sp40.y = 0.0f; - sp40.z = cM_scos(shape_angle.y) * -10.0f; + vec_xz2 = newVec.abs2(); + if (vec_xz2 < 0.1f) { + newVec.x = cM_ssin(shape_angle.y) * -10.0f; + newVec.y = 0.0f; + newVec.z = cM_scos(shape_angle.y) * -10.0f; } else { - sp40 *= 10.0f / JMAFastSqrt(var_f31); + newVec *= 10.0f / JMAFastSqrt(vec_xz2); } - i_hitObj->SetTgRVec(sp40); + i_hitObj->SetTgRVec(newVec); } - multVecMagneBootInvMtx(vec); - return vec; + multVecMagneBootInvMtx(tgRvec); + return tgRvec; } void daAlink_c::setDashDamage() { - setUpperAnimeParam(0xAD, UPPER_2, &mpHIO->mDamage.m.mDashDmgAnm); - setFacePriBck(0x121); - setFacePriTexture(FTANM_UNK_27); + setUpperAnimeParam(dRes_ID_ALANM_BCK_DAMD_e, UPPER_2, &mpHIO->mDamage.m.mDashDmgAnm); + setFacePriBck(dRes_ID_ALANM_BCK_FDAM_e); + setFacePriTexture(FTANM_B_A); voiceStart(Z2SE_AL_V_DAMAGE_S); seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); freeGrabItem(); } BOOL daAlink_c::checkIcePolygonDamage(cBgS_PolyInfo* i_poly) { - if (dComIfG_Bgsp().GetPolyAtt0(*i_poly) == 8 && dKy_pol_argument_get(i_poly) & 0x60) { + if (dComIfG_Bgsp().GetPolyAtt0(*i_poly) == 8 && (dKy_pol_argument_get(i_poly) & 0x60)) { return TRUE; } @@ -282,14 +289,26 @@ int daAlink_c::checkPolyDamage() { } } - if (!checkBoardRide() && ((checkWaterPolygonUnder() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr) && ((dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x60) || field_0x2fbc == 6)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -G_CM3D_F_INF != field_0x33b8 && ((field_0x2fc6 & 0x60) || field_0x2fc5 == 6) && (field_0x2fc5 != 6 || !(field_0x33b8 > field_0x33d8 + mpHIO->mBasic.m.mLavaDeathDepth))))) { + if (!checkBoardRide() + && + ((checkWaterPolygonUnder() + && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr) + && ((dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x60) || field_0x2fbc == 6) + ) || (checkModeFlg(0x40) + && field_0x33bc < field_0x33b8 + && -G_CM3D_F_INF != field_0x33b8 + && ((field_0x2fc6 & 0x60) || field_0x2fc5 == 6) + && (field_0x2fc5 != 6 || !(field_0x33b8 > field_0x33d8 + mpHIO->mBasic.m.mLavaDeathDepth)) + ) + ) + ) { return 2; } if (mLinkAcch.ChkWallHit()) { dBgS_AcchCir* acch_cir = mAcchCir; - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 3; i++, acch_cir++) { if (acch_cir->ChkWallHit()) { if (dComIfG_Bgsp().ChkPolySafe(*acch_cir) && (dKy_pol_argument_get(acch_cir) & 0x60)) { var_r29 = 3; @@ -306,19 +325,16 @@ int daAlink_c::checkPolyDamage() { return var_r29; } } - acch_cir++; } } return field_0x2fca; } -BOOL daAlink_c::checkElecReturnDamage(dCcD_GObjInf& param_0, fopAc_ac_c** param_1) { - if (param_0.ChkAtHit() && param_0.GetAtHitGObj() != NULL) { - dCcD_GObjInf* gobj_p = (dCcD_GObjInf*)param_0.GetAtHitGObj(); - - if (gobj_p->GetTgSpl() == dCcG_Tg_Spl_UNK_1) { - *param_1 = param_0.GetAtHitAc(); +BOOL daAlink_c::checkElecReturnDamage(dCcD_GObjInf& i_obj, fopAc_ac_c** o_hitActor) { + if (i_obj.ChkAtHit() && i_obj.GetAtHitGObj() != NULL) { + if (((dCcD_GObjInf*)i_obj.GetAtHitGObj())->GetTgSpl() == dCcG_Tg_Spl_UNK_1) { + *o_hitActor = i_obj.GetAtHitAc(); return true; } } @@ -337,8 +353,8 @@ void daAlink_c::damageTimerCount() { offNoResetFlg1(FLG1_DK_CAUGHT); } - if (!checkDkCaught2Anime() && checkNoResetFlg0(FLG0_DK_CAUGHT)) { - offNoResetFlg0(FLG0_DK_CAUGHT); + if (!checkDkCaught2Anime() && checkNoResetFlg0(FLG0_DK_CAUGHT2)) { + offNoResetFlg0(FLG0_DK_CAUGHT2); } } else if (mDamageColorTime != 0) { mDamageColorTime--; @@ -349,16 +365,16 @@ void daAlink_c::damageTimerCount() { } } -bool daAlink_c::checkHugeAttack(int param_0) const { - return param_0 == 2 || param_0 == 7 || param_0 == 11 || param_0 == 14; +bool daAlink_c::checkHugeAttack(int i_atSpl) const { + return i_atSpl == 2 || i_atSpl == 7 || i_atSpl == 11 || i_atSpl == 14; } -bool daAlink_c::checkLargeAttack(int param_0) const { - return param_0 == 1 || param_0 == 6 || param_0 == 10 || param_0 == 13; +bool daAlink_c::checkLargeAttack(int i_atSpl) const { + return i_atSpl == 1 || i_atSpl == 6 || i_atSpl == 10 || i_atSpl == 13; } BOOL daAlink_c::checkDamageAction() { - s16 spE = mIceDamageWaitTimer; + s16 prev_iceDmgTimer = mIceDamageWaitTimer; mIceDamageWaitTimer = 0; u8 spA = field_0x2fca; @@ -394,12 +410,12 @@ BOOL daAlink_c::checkDamageAction() { offNoResetFlg0(FLG0_UNK_100000); } - return procCoLargeDamageInit(-3, 1, 0, 0, NULL, 0); + return procCoLargeDamageInit(-3, TRUE, 0, 0, NULL, 0); } if (checkEventRun()) { offNoResetFlg1(FLG1_DK_CAUGHT); - offNoResetFlg0(FLG0_DK_CAUGHT); + offNoResetFlg0(FLG0_DK_CAUGHT2); return 0; } @@ -413,7 +429,7 @@ BOOL daAlink_c::checkDamageAction() { } } - if (checkNoResetFlg0(FLG0_DK_CAUGHT)) { + if (checkNoResetFlg0(FLG0_DK_CAUGHT2)) { if ((!checkModeFlg(0x70C52)) && (!checkWolf()) && (!checkDkCaught2Anime())) { setUpperAnimeBase(getMainBckData(ANM_HORSE_WAIT_D_B)->m_underID); setFacePriAnime(ANM_HORSE_WAIT_D_B); @@ -425,7 +441,7 @@ BOOL daAlink_c::checkDamageAction() { } if (!checkDkCaught2Anime()) { - offNoResetFlg0(FLG0_DK_CAUGHT); + offNoResetFlg0(FLG0_DK_CAUGHT2); } } @@ -438,7 +454,7 @@ BOOL daAlink_c::checkDamageAction() { return commonFallInit(4); } - return procCoLargeDamageInit(-3, 1, 0, 0, NULL, 0); + return procCoLargeDamageInit(-3, TRUE, 0, 0, NULL, 0); } if (checkEndResetFlg1(ERFLG1_UNK_400)) { @@ -461,14 +477,14 @@ BOOL daAlink_c::checkDamageAction() { dCcD_GObjInf* var_r29 = NULL; for (int i = 0; i < 3; i++) { - if (field_0x850[i].ChkTgHit() && (field_0x2fb8 == 0 || (1 << i) == 0)) { - var_r29 = &field_0x850[i]; + if (mTgCyls[i].ChkTgHit() && (field_0x2fb8 == 0 || (1 << i) == 0)) { + var_r29 = &mTgCyls[i]; break; } } if (var_r29 == NULL && checkWolf()) { - var_r29 = &field_0xFB8; + var_r29 = &mAtSph; } if (checkEndResetFlg1(ERFLG1_UNK_8000) && checkWolf()) { @@ -478,24 +494,24 @@ BOOL daAlink_c::checkDamageAction() { BOOL armor_no_dmg = checkMagicArmorNoDamage(); fopAc_ac_c* sp30 = NULL; field_0x2fca = spA; - int sp2C = checkPolyDamage(); + int poly_dmg_flags = checkPolyDamage(); field_0x2fca = 0; - mIceDamageWaitTimer = spE; + mIceDamageWaitTimer = prev_iceDmgTimer; - if (sp2C & 0x80) { + if (poly_dmg_flags & 0x80) { mIceDamageWaitTimer++; if (mIceDamageWaitTimer < mpHIO->mDamage.m.mFreezeTime) { - sp2C = 0; + poly_dmg_flags = 0; } } else if (mIceDamageWaitTimer > 3) { - mIceDamageWaitTimer -= 3; + mIceDamageWaitTimer -= (s16)3; } else { mIceDamageWaitTimer = 0; } - if (sp2C != 0) { - int sp28 = (sp2C & 7); - setDamagePoint(1, sp2C & 0x80, TRUE, 0); + if (poly_dmg_flags != 0) { + int sp28 = (poly_dmg_flags & 7); + setDamagePoint(1, poly_dmg_flags & 0x80, TRUE, 0); if (checkWolf()) { mDamageTimer = mpHIO->mDamage.m.mWolfFloorInvincibleTime; @@ -503,7 +519,7 @@ BOOL daAlink_c::checkDamageAction() { } if (checkModeFlg(0x4000000)) { - dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); if (checkWolf()) { setWolfHeadDamage(); @@ -512,11 +528,11 @@ BOOL daAlink_c::checkDamageAction() { seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); } } else { - if (!checkModeFlg(0x40000) && ((sp2C & 0x40) || (!mLinkAcch.ChkGroundHit() && (sp28 == 3 || sp28 == 4)))) { - dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + if (!checkModeFlg(0x40000) && ((poly_dmg_flags & 0x40) || (!mLinkAcch.ChkGroundHit() && (sp28 == 3 || sp28 == 4)))) { + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); int sp24; - if (sp2C & 0x80) { + if (poly_dmg_flags & 0x80) { sp24 = 1; } else { sp24 = 0; @@ -526,22 +542,22 @@ BOOL daAlink_c::checkDamageAction() { field_0x311e = shape_angle.y; } - return procCoLargeDamageInit(-5, 1, 0, 0, NULL, sp24); + return procCoLargeDamageInit(-5, TRUE, 0, 0, NULL, sp24); } - dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); if (checkWolf()) { if (checkModeFlg(0x40000)) { setWolfHeadDamage(); - } else if (sp2C & 0x80) { + } else if (poly_dmg_flags & 0x80) { return procWolfDamageInit(NULL); } else { return procCoPolyDamageInit(); } } else if (checkModeFlg(0x40000)) { return procSwimDamageInit(NULL); - } else if (sp2C & 0x80) { + } else if (poly_dmg_flags & 0x80) { return procDamageInit(NULL, 0); } else { return procCoPolyDamageInit(); @@ -550,8 +566,9 @@ BOOL daAlink_c::checkDamageAction() { } else if ((mEquipItem == 0x103 || (checkHookshotItem(mEquipItem) && !mAtCps[0].ChkAtSPrm(0x20))) && (checkElecReturnDamage(mAtCps[0], &sp30) || checkElecReturnDamage(mAtCps[1], &sp30) || checkElecReturnDamage(mAtCps[2], &sp30))) { setDamagePointNormal(2); onResetFlg1(RFLG1_UNK_2); - dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + var_r29 = mTgCyls; if (checkModeFlg(0x4000000)) { if (checkWolf()) { setWolfHeadDamage(); @@ -578,7 +595,7 @@ BOOL daAlink_c::checkDamageAction() { at_spl = tghit_gobj->GetAtSpl(); at_mtrl = tghit_gobj->GetAtMtrl(); } else { - at_spl = field_0x814.GetAtSpl(); + at_spl = mCcStts.GetAtSpl(); at_mtrl = dCcD_MTRL_NONE; } @@ -590,13 +607,13 @@ BOOL daAlink_c::checkDamageAction() { setGuardSe(var_r29); if (checkHugeAttack(at_spl)) { - dComIfGp_getVibration().StartShock(5, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER5, 1, cXyz(0.0f, 1.0f, 0.0f)); } else if (checkLargeAttack(at_spl)) { - dComIfGp_getVibration().StartShock(4, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER4, 1, cXyz(0.0f, 1.0f, 0.0f)); } else if (at_spl == 8) { - dComIfGp_getVibration().StartShock(2, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 1, cXyz(0.0f, 1.0f, 0.0f)); } else { - dComIfGp_getVibration().StartShock(3, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER3, 1, cXyz(0.0f, 1.0f, 0.0f)); } if (!armor_no_dmg && at_mtrl == dCcD_MTRL_FIRE && checkWoodShieldEquip() && field_0x2fcb == 0 && !field_0x2e44.checkPassNum(15)) { @@ -628,7 +645,7 @@ BOOL daAlink_c::checkDamageAction() { } } } else { - int dmg = field_0x814.GetDmg(); + int dmg = mCcStts.GetDmg(); if (var_r29->ChkTgHit() && tghit_gobj != NULL && tghit_gobj->GetAtType() == AT_TYPE_BOMB) { if (checkNoResetFlg3(FLG3_UNK_40000000)) { dmg = 1; @@ -638,13 +655,13 @@ BOOL daAlink_c::checkDamageAction() { } if (at_mtrl == dCcD_MTRL_ELECTRIC) { - dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } else if (checkHugeAttack(at_spl)) { - dComIfGp_getVibration().StartShock(8, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER8, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } else if (checkLargeAttack(at_spl)) { - dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } else { - dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } setDamagePoint(dmg, at_mtrl == dCcD_MTRL_FIRE || at_mtrl == dCcD_MTRL_ICE, TRUE, 0); @@ -671,12 +688,12 @@ BOOL daAlink_c::checkDamageAction() { return procCoElecDamageInit(var_r29->GetTgHitAc(), var_r29, at_spl); } else if (checkReinRide()) { if (at_mtrl == dCcD_MTRL_ELECTRIC) { - return procCoLargeDamageInit(-1, 1, 0, 0, var_r29, 0); + return procCoLargeDamageInit(-1, TRUE, 0, 0, var_r29, 0); } if (!checkBoarSingleBattle() && (mProcID == PROC_HORSE_HANG || mProcID == PROC_BOAR_RUN || mProcID == PROC_HORSE_RUN || checkLargeAttack(at_spl) || checkHugeAttack(at_spl))) { setHorseZeldaDamage(); - procCoLargeDamageInit(-1, 1, 0, 0, var_r29, 0); + procCoLargeDamageInit(-1, TRUE, 0, 0, var_r29, 0); onModeFlg(0x2000); return 1; } @@ -700,7 +717,7 @@ BOOL daAlink_c::checkDamageAction() { } else if (dmg == 0 && !checkWolf() && (at_spl == 10 || at_spl == 11 || at_spl == 9) && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) { return procGuardBreakInit(); } else if (checkHugeAttack(at_spl)) { - return procCoLargeDamageInit(-1, 0, 0, 0, var_r29, 0); + return procCoLargeDamageInit(-1, FALSE, 0, 0, var_r29, 0); } else if (checkModeFlg(0x70C52) || checkLargeAttack(at_spl)) { if (checkModeFlg(0x10000) && !checkLargeAttack(at_spl)) { voiceStart(Z2SE_AL_V_DAMAGE_S); @@ -711,18 +728,18 @@ BOOL daAlink_c::checkDamageAction() { } if (at_spl == 8 && (mProcID == PROC_WOLF_ROPE_MOVE || mProcID == PROC_WOLF_ROPE_SUBJECTIVITY || mProcID == PROC_WOLF_ROPE_STAGGER)) { - cXyz* sp14 = getDamageVec(var_r29); - if ((s16)(sp14->atan2sX_Z() - shape_angle.y) >= 0) { + cXyz* dmg_vec = getDamageVec(var_r29); + if ((s16)(dmg_vec->atan2sX_Z() - shape_angle.y) >= 0) { return procWolfRopeHangInit(2); } return procWolfRopeHangInit(3); } - return procCoLargeDamageInit(-1, 1, 0, 0, var_r29, 0); + return procCoLargeDamageInit(-1, TRUE, 0, 0, var_r29, 0); } else if (!armor_no_dmg || at_mtrl == dCcD_MTRL_ICE) { if (checkDashAnime() && at_mtrl != dCcD_MTRL_ICE) { setDashDamage(); - } else if (mProcID == PROC_WOLF_MOVE && at_mtrl != dCcD_MTRL_ICE && mNormalSpeed > field_0x594 * 0.7f) { + } else if (mProcID == PROC_WOLF_MOVE && at_mtrl != dCcD_MTRL_ICE && mNormalSpeed > mMaxSpeed * 0.7f) { setWolfHeadDamage(); } else if (checkWolf()) { return procWolfDamageInit(var_r29); @@ -739,50 +756,50 @@ BOOL daAlink_c::checkDamageAction() { current.angle.y = horsep->getCowHitAngle(); if (checkBoarSingleBattle()) { - dComIfGp_getVibration().StartShock(8, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); - return procCoLargeDamageInit(-1, 0, 0, 0, NULL, 0); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER8, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + return procCoLargeDamageInit(-1, FALSE, 0, 0, NULL, 0); } - dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); - return procCoLargeDamageInit(-1, 1, 0, 0, NULL, 0); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + return procCoLargeDamageInit(-1, TRUE, 0, 0, NULL, 0); } } - field_0x814.ClrTg(); - field_0x814.ClrAt(); + mCcStts.ClrTg(); + mCcStts.ClrAt(); return checkWolfBarrierHitReverse(); } -int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { - BOOL freeze_player; +int daAlink_c::procDamageInit(dCcD_GObjInf* i_tgObj, BOOL param_1) { + BOOL isFreezePlayer; - if (!param_1 && (param_0 == NULL || (param_0->GetTgHitGObj() != NULL && param_0->GetTgHitGObj()->GetAtMtrl() == dCcD_MTRL_ICE))) { - freeze_player = true; + if (!param_1 && (i_tgObj == NULL || (i_tgObj->GetTgHitGObj() != NULL && i_tgObj->GetTgHitGObj()->GetAtMtrl() == dCcD_MTRL_ICE))) { + isFreezePlayer = true; voiceStart(Z2SE_AL_V_DAMAGE_FREEZE); seStartOnlyReverb(Z2SE_AL_FREEZE); } else { seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); - freeze_player = false; + isFreezePlayer = false; if (!param_1) { voiceStart(Z2SE_AL_V_DAMAGE_S); } } - if (checkIronBallWaitAnime() && !freeze_player && !param_1) { + if (checkIronBallWaitAnime() && !isFreezePlayer && !param_1) { return 1; } commonProcInit(PROC_DAMAGE); cXyz sp7C; - f32 var_f31; + f32 anm_speed; f32 var_f30 = cM_ssin(shape_angle.y); f32 var_f29 = cM_scos(shape_angle.y); cXyz* var_r29; - if (param_0 != NULL) { - var_r29 = getDamageVec(param_0); + if (i_tgObj != NULL) { + var_r29 = getDamageVec(i_tgObj); } else if (param_1) { s16 var_r24 = field_0x3102 + 0x8000; sp7C.set(cM_ssin(var_r24), 0.0f, cM_scos(var_r24)); @@ -794,24 +811,24 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { } cXyz sp88(var_r29->z * -var_f30 + var_r29->x * var_f29, - var_r29->y, - var_r29->z * var_f29 + var_r29->x * var_f30); + var_r29->y, + var_r29->z * var_f29 + var_r29->x * var_f30); mProcVar2.field_0x300c = cLib_minMaxLimit(cM_atan2s(sp88.z, sp88.y), -mpHIO->mDamage.mDamNormal.m.mFrontBackBodyMaxAngle, mpHIO->mDamage.mDamNormal.m.mFrontBackBodyMaxAngle); mProcVar3.field_0x300e = cLib_minMaxLimit(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -mpHIO->mDamage.mDamNormal.m.mLeftRightBodyMaxAngle, mpHIO->mDamage.mDamNormal.m.mLeftRightBodyMaxAngle); - if (freeze_player) { - var_f31 = 0.0f; + if (isFreezePlayer) { + anm_speed = 0.0f; } else if (mTargetedActor != NULL) { - var_f31 = mpHIO->mAtnMove.m.mWaitAnmSpeed; + anm_speed = mpHIO->mAtnMove.m.mWaitAnmSpeed; } else { - var_f31 = mpHIO->mNoActAtnMove.m.mWaitAnmSpeed; + anm_speed = mpHIO->mNoActAtnMove.m.mWaitAnmSpeed; } if (checkAtnLeftAnime()) { - setUnderAnime(0x1A, UNDER_2, var_f31, 0.0f, -1, -1.0f); + setUnderAnime(dRes_ID_ALANM_BCK_ATL_e, UNDER_2, anm_speed, 0.0f, -1, -1.0f); } else if (checkAtnRightAnime()) { - setUnderAnime(0x1C, UNDER_2, var_f31, 0.0f, -1, -1.0f); + setUnderAnime(dRes_ID_ALANM_BCK_ATR_e, UNDER_2, anm_speed, 0.0f, -1, -1.0f); } int direction = getDirectionFromAngle(cM_atan2s(-sp88.x, -sp88.z)); @@ -840,12 +857,12 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; field_0x347c = M_PI / (frame_ctrl->getEnd() - frame_ctrl->getStart()); - if (freeze_player) { + if (isFreezePlayer) { frame_ctrl->setRate(mpHIO->mDamage.mDamNormal.m.mIceDamageASpeed); frame_ctrl->setEnd(7); mNormalSpeed = 0.0f; mProcVar0.mIceFreezeTimer = 90; - onNoResetFlg1(FLG1_ICE_FREEZE); + onNoResetFlg1(FLG1_FREEZE_DAMAGE); } else { mProcVar0.mIceFreezeTimer = 0; } @@ -856,8 +873,7 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { int daAlink_c::procDamage() { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; - f32 var_f30 = frame_ctrl->getFrame() - frame_ctrl->getStart(); - f32 var_f31 = cM_fsin(field_0x347c * var_f30); + f32 var_f31 = cM_fsin(field_0x347c * (frame_ctrl->getFrame() - frame_ctrl->getStart())); mBodyAngle.x = mProcVar2.field_0x300c * var_f31; mBodyAngle.z = -mProcVar3.field_0x300e * var_f31; @@ -891,9 +907,9 @@ int daAlink_c::procDamage() { return 1; } -int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 param_3, - dCcD_GObjInf* param_4, int param_5) { - u32 sp10 = checkReinRide(); +int daAlink_c::procCoLargeDamageInit(int i_type, BOOL i_isLargeDmg, s16 param_2, s16 param_3, + dCcD_GObjInf* i_hitObj, int param_5) { + u32 is_rein_ride = checkReinRide(); if (!commonProcInitNotSameProc(PROC_LARGE_DAMAGE)) { return 0; @@ -906,106 +922,107 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 field_0x3480 = -1.0f; mFallVoiceInit = 0; - int var_r30; - if (param_0 == -3) { + int direction; + cXyz* dmg_vec; + if (i_type == -3) { current.angle.y = field_0x2ffe; - var_r30 = getDirectionFromAngle((current.angle.y - shape_angle.y)); + direction = getDirectionFromAngle((current.angle.y - shape_angle.y)); dComIfGp_getVibration().StartShock(6, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); setDamagePointNormal(field_0x318c); onNoResetFlg1(FLG1_THROW_DAMAGE); - } else if (param_0 == -4) { - var_r30 = 1; + } else if (i_type == -4) { + direction = DIR_BACKWARD; current.angle.y = shape_angle.y + 0x8000; - } else if (param_0 == -2) { - var_r30 = mDemo.getParam0(); + } else if (i_type == -2) { + direction = mDemo.getParam0(); - if (var_r30 == 0) { + if (direction == DIR_FORWARD) { current.angle.y = shape_angle.y; - } else if (var_r30 == 2) { + } else if (direction == DIR_LEFT) { current.angle.y = shape_angle.y + 0x4000; - } else if (var_r30 == 3) { + } else if (direction == DIR_RIGHT) { current.angle.y = shape_angle.y - 0x4000; } else { current.angle.y = shape_angle.y + 0x8000; } - } else if (param_0 == -5) { + } else if (i_type == -5) { if (param_5 == 1) { - onNoResetFlg1(FLG1_ICE_FREEZE); + onNoResetFlg1(FLG1_FREEZE_DAMAGE); } current.angle.y = field_0x311e; - var_r30 = getDirectionFromAngle((current.angle.y - shape_angle.y)); - } else if (param_0 == -1) { - if (param_4 != NULL) { - cXyz* temp_r3 = getDamageVec(param_4); - current.angle.y = temp_r3->atan2sX_Z(); + direction = getDirectionFromAngle((current.angle.y - shape_angle.y)); + } else if (i_type == -1) { + if (i_hitObj != NULL) { + dmg_vec = getDamageVec(i_hitObj); + current.angle.y = dmg_vec->atan2sX_Z(); - if (param_4->GetTgHitGObj() != NULL) { - if (param_4->GetTgHitGObj()->GetAtMtrl() == dCcD_MTRL_ICE) { - onNoResetFlg1(FLG1_ICE_FREEZE); + if (i_hitObj->GetTgHitGObj() != NULL) { + if (i_hitObj->GetTgHitGObj()->GetAtMtrl() == dCcD_MTRL_ICE) { + onNoResetFlg1(FLG1_FREEZE_DAMAGE); } } } - var_r30 = getDirectionFromAngle((current.angle.y - shape_angle.y)); - } else if (param_0 == -6) { + direction = getDirectionFromAngle((current.angle.y - shape_angle.y)); + } else if (i_type == -6) { current.angle.y = field_0x3102 + 0x8000; - var_r30 = getDirectionFromAngle((current.angle.y - shape_angle.y)); + direction = getDirectionFromAngle((current.angle.y - shape_angle.y)); offModeFlg(8); field_0x3480 = 1.0f; } else { if (checkWolf()) { - if (param_0 == 0x2D) { - var_r30 = 1; - } else if (param_0 == 0x2E) { - var_r30 = 2; - } else if (param_0 == 0x2F) { - var_r30 = 3; + if (i_type == WANM_DMG_AIR_BACK_GETUP) { + direction = DIR_BACKWARD; + } else if (i_type == WANM_DMG_AIR_LEFT_GETUP) { + direction = DIR_LEFT; + } else if (i_type == WANM_DMG_AIR_RIGHT_GETUP) { + direction = DIR_RIGHT; } else { - var_r30 = 0; + direction = DIR_FORWARD; } - } else if (param_0 == 0x88) { - var_r30 = 1; - } else if (param_0 == 0x89) { - var_r30 = 2; - } else if (param_0 == 0x8A) { - var_r30 = 3; + } else if (i_type == ANM_DMG_LARGE_LAND) { + direction = DIR_BACKWARD; + } else if (i_type == ANM_DMG_AIR_LEFT_LAND) { + direction = DIR_LEFT; + } else if (i_type == ANM_DMG_AIR_RIGHT_LAND) { + direction = DIR_RIGHT; } else { - var_r30 = 0; + direction = DIR_FORWARD; } setOldRootQuaternion(param_2, 0, param_3); mFallVoiceInit = 1; } - if (var_r30 == 0) { + if (direction == DIR_FORWARD) { if (checkWolf()) { - field_0x3198 = 0x29; + field_0x3198 = WANM_DMG_AIR_BACK; mProcVar2.field_0x300c = 0; } else { - field_0x3198 = 0x84; + field_0x3198 = ANM_DMG_LARGE; mProcVar2.field_0x300c = 0x3FFF; } mProcVar3.field_0x300e = 1; shape_angle.y = current.angle.y; - } else if (var_r30 == 3) { + } else if (direction == DIR_RIGHT) { if (checkWolf()) { - field_0x3198 = 0x2A; + field_0x3198 = WANM_DMG_AIR_LEFT; mProcVar2.field_0x300c = 0x2000; } else { - field_0x3198 = 0x85; + field_0x3198 = ANM_DMG_AIR_LEFT; mProcVar2.field_0x300c = 0x3FFF; } mProcVar3.field_0x300e = 0; shape_angle.y = current.angle.y + 0x4000; - } else if (var_r30 == 2) { + } else if (direction == DIR_LEFT) { if (checkWolf()) { - field_0x3198 = 0x2B; + field_0x3198 = WANM_DMG_AIR_RIGHT; mProcVar2.field_0x300c = -0x2000; } else { - field_0x3198 = 0x86; + field_0x3198 = ANM_DMG_AIR_RIGHT; mProcVar2.field_0x300c = -0x3FFF; } @@ -1013,10 +1030,10 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 shape_angle.y = current.angle.y - 0x4000; } else { if (checkWolf()) { - field_0x3198 = 0x28; + field_0x3198 = WANM_DMG_AIR_FRONT; mProcVar2.field_0x300c = -0x3FFF; } else { - field_0x3198 = 0x83; + field_0x3198 = ANM_DMG_AIR_FRONT; mProcVar2.field_0x300c = -0x3FFF; } @@ -1024,62 +1041,62 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 shape_angle.y = current.angle.y + 0x8000; } - const daAlinkHIO_wlDamLaHu_c1* var_r29; - const daAlinkHIO_damLaHu_c1* var_r28; + const daAlinkHIO_wlDamLaHu_c1* wolfDmgParams; + const daAlinkHIO_damLaHu_c1* dmgParams; if (checkWolf()) { - if (param_1 != 0) { - var_r29 = &mpHIO->mWolf.mWlDamage.mLarge.m; + if (i_isLargeDmg) { + wolfDmgParams = &mpHIO->mWolf.mWlDamage.mLarge.m; } else { - var_r29 = &mpHIO->mWolf.mWlDamage.mHuge.m; + wolfDmgParams = &mpHIO->mWolf.mWlDamage.mHuge.m; } - setSpecialGravity(var_r29->mGravity, maxFallSpeed, 0); - mProcVar4.field_0x3010 = var_r29->mBodyRotationSpeed; - field_0x3478 = var_r29->mBounceSpeed; - field_0x347c = var_r29->mDeceleration; - setSingleAnimeWolfBaseMorf((daAlink_c::daAlink_WANM)field_0x3198, var_r29->mDamageInterp); - setFaceBasicTexture(FTANM_UNK_91); + setSpecialGravity(wolfDmgParams->mGravity, maxFallSpeed, 0); + mProcVar4.field_0x3010 = wolfDmgParams->mBodyRotationSpeed; + field_0x3478 = wolfDmgParams->mBounceSpeed; + field_0x347c = wolfDmgParams->mDeceleration; + setSingleAnimeWolfBaseMorf((daAlink_c::daAlink_WANM)field_0x3198, wolfDmgParams->mDamageInterp); + setFaceBasicTexture(FTANM_WL_B_A); } else { - if (param_1 != 0) { - var_r28 = &daAlinkHIO_damLarge_c0::m; + if (i_isLargeDmg) { + dmgParams = &mpHIO->mDamage.mDamLarge.m; } else { - var_r28 = &daAlinkHIO_damHuge_c0::m; + dmgParams = &mpHIO->mDamage.mDamHuge.m; } - setSpecialGravity(var_r28->mGravity, maxFallSpeed, 0); - mProcVar4.field_0x3010 = var_r28->mBodyRotateRate; - field_0x3478 = var_r28->mBounceSpeed; - field_0x347c = var_r28->mDeceleration; - setSingleAnimeBaseMorf((daAlink_c::daAlink_ANM)field_0x3198, var_r28->mDamageBlend); + setSpecialGravity(dmgParams->mGravity, maxFallSpeed, 0); + mProcVar4.field_0x3010 = dmgParams->mBodyRotateRate; + field_0x3478 = dmgParams->mBounceSpeed; + field_0x347c = dmgParams->mDeceleration; + setSingleAnimeBaseMorf((daAlink_c::daAlink_ANM)field_0x3198, dmgParams->mDamageBlend); } - if (param_0 < 0) { + if (i_type < 0) { if (checkBoarSingleBattle() && dComIfGp_getHorseActor() != NULL && dComIfGp_getHorseActor()->checkCowHit()) { mNormalSpeed = 80.0f; speed.y = 80.0f; onModeFlg(0x2000); - } else if (param_1 == 0 && checkMiddleBossGoronRoom()) { + } else if (i_isLargeDmg == 0 && checkMiddleBossGoronRoom()) { mNormalSpeed = 60.0f; speed.y = 30.0f; - } else if (param_0 == -3) { + } else if (i_type == -3) { mNormalSpeed = field_0x3408; speed.y = field_0x340c; } else { if (checkWolf()) { - mNormalSpeed = var_r29->mHorizontalSpeed; - speed.y = var_r29->mVerticalSpeed; + mNormalSpeed = wolfDmgParams->mHorizontalSpeed; + speed.y = wolfDmgParams->mVerticalSpeed; } else { - mNormalSpeed = var_r28->mHorizontalSpeed; - speed.y = var_r28->mVerticalSpeed; + mNormalSpeed = dmgParams->mHorizontalSpeed; + speed.y = dmgParams->mVerticalSpeed; } - if (param_0 == -6) { + if (i_type == -6) { field_0x3478 = 1000.0f; } } if (param_5 != 2) { - if (param_0 != -6) { + if (i_type != -6) { if (checkWolf()) { voiceStart(Z2SE_WL_V_DAMAGE); } else if (checkFreezeDamage()) { @@ -1097,9 +1114,9 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 } } else { if (checkWolf()) { - mNormalSpeed = var_r29->mBounceSpeed; + mNormalSpeed = wolfDmgParams->mBounceSpeed; } else { - mNormalSpeed = var_r28->mBounceSpeed; + mNormalSpeed = dmgParams->mBounceSpeed; } current.pos.x += 35.0f * cM_ssin(current.angle.y); @@ -1110,7 +1127,7 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 mBodyAngle.set(0, 0, 0); mProcVar0.field_0x3008 = 0; - mProcVar1.field_0x300a = param_1; + mProcVar1.field_0x300a = i_isLargeDmg; mProcVar5.field_0x3012 = 0x14; if (checkBoarSingleBattle()) { @@ -1119,7 +1136,7 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 onModeFlg(0x4000); } - if (sp10) { + if (is_rein_ride) { onModeFlg(0x2000); field_0x32cc = 5; } @@ -1183,16 +1200,16 @@ int daAlink_c::procCoLargeDamage() { } } } else if (mLinkAcch.ChkWallHit() && mNormalSpeed > field_0x3478) { - cXyz sp14; - cXyz sp8; - dBgS_AcchCir* var_r29 = mAcchCir; + cXyz start; + cXyz end; + dBgS_AcchCir* acchcir = mAcchCir; - for (int i = 0; i < 3; i++, var_r29++) { - if (var_r29->ChkWallHit()) { - sp14.set(current.pos.x, current.pos.y + var_r29->GetWallH(), current.pos.z); - sp8.set(sp14.x + (cM_ssin(current.angle.y) * (var_r29->GetWallR() + 25.0f)), sp14.y, sp14.z + (cM_scos(current.angle.y) * (var_r29->GetWallR() + 25.0f))); + for (int i = 0; i < 3; i++, acchcir++) { + if (acchcir->ChkWallHit()) { + start.set(current.pos.x, current.pos.y + acchcir->GetWallH(), current.pos.z); + end.set(start.x + (cM_ssin(current.angle.y) * (acchcir->GetWallR() + 25.0f)), start.y, start.z + (cM_scos(current.angle.y) * (acchcir->GetWallR() + 25.0f))); - if (commonLineCheck(&sp14, &sp8)) { + if (commonLineCheck(&start, &end)) { return procCoLargeDamageWallInit(field_0x3198, mProcVar1.field_0x300a, field_0x3080, field_0x3082); } } @@ -1202,25 +1219,30 @@ int daAlink_c::procCoLargeDamage() { return 1; } -int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) { +int daAlink_c::procLargeDamageUpInit(int i_type, BOOL i_isLargeDmg, s16 param_2, s16 param_3) { if (!commonProcInitNotSameProc(PROC_LARGE_DAMAGE_UP)) { return 0; } - const daAlinkHIO_damLaHu_c1* var_r30; - if (param_1 != 0) { - var_r30 = &daAlinkHIO_damLarge_c0::m; + const daAlinkHIO_damLaHu_c1* dmgParams; + if (i_isLargeDmg) { + dmgParams = &mpHIO->mDamage.mDamLarge.m; } else { - var_r30 = &daAlinkHIO_damHuge_c0::m; + dmgParams = &mpHIO->mDamage.mDamHuge.m; } mProcVar1.field_0x300a = 0; mProcVar2.field_0x300c = 0; - field_0x3198 = param_0; + field_0x3198 = i_type; offGoatStopGame(); mProcVar4.field_0x3010 = 0; - if (param_0 == -4) { + daAlink_ANM land_anm; + s16 land_anm_endF; + f32 land_anm_startF; + f32 land_anm_morf; + f32 land_anm_speed; + if (i_type == -4) { onNoResetFlg2(FLG2_PRESSED_DAMAGE); mProcVar0.field_0x3008 = 0; mProcVar1.field_0x300a = 1; @@ -1230,51 +1252,45 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 seStartOnlyReverb(Z2SE_AL_DAMAGE_LARGE); setSingleAnimeBase(ANM_DMG_FBW); - field_0x32cc = 0x88; - field_0x3478 = var_r30->mBackGetUpAnm.mCancelFrame; + field_0x32cc = ANM_DMG_LARGE_LAND; + field_0x3478 = dmgParams->mBackGetUpAnm.mCancelFrame; field_0x3480 = 39.0f; field_0x3484 = 1000.0f; - } else if (param_0 < 0) { - daAlink_ANM var_r28; - s16 var_r27; - f32 var_f29; - f32 var_f30; - f32 var_f31; - - if (param_0 == -3) { - var_r28 = ANM_DMG_AIR_LAND; - var_f29 = 0.0f; - var_r27 = -1; - var_f30 = 5.0f; - var_f31 = 1.0f; + } else if (i_type < 0) { + if (i_type == -3) { + land_anm = ANM_DMG_AIR_LAND; + land_anm_startF = 0.0f; + land_anm_endF = -1; + land_anm_morf = 5.0f; + land_anm_speed = 1.0f; mProcVar0.field_0x3008 = -1; - field_0x3478 = var_r30->mFrontGetUpAnm.mCancelFrame; + field_0x3478 = dmgParams->mFrontGetUpAnm.mCancelFrame; field_0x3480 = 39.0f; field_0x2f9d = 4; field_0x3484 = 18.0f; } else { - if (param_0 == -2) { - var_f30 = 0.0f; + if (i_type == -2) { + land_anm_morf = 0.0f; } else { - var_f30 = mpHIO->mDamage.mDamLarge.m.mBackGetUpAnm.mInterpolation; + land_anm_morf = mpHIO->mDamage.mDamLarge.m.mBackGetUpAnm.mInterpolation; } field_0x3484 = 9.0f; - var_r28 = ANM_DMG_LARGE_LAND; - var_f29 = 9.0f; - var_r27 = -1; - field_0x3478 = var_r30->mBackGetUpAnm.mCancelFrame; + land_anm = ANM_DMG_LARGE_LAND; + land_anm_startF = 9.0f; + land_anm_endF = -1; + field_0x3478 = dmgParams->mBackGetUpAnm.mCancelFrame; - if (param_0 == -5 && mDemo.getParam1() > 0) { + if (i_type == -5 && mDemo.getParam1() > 0) { mProcVar0.field_0x3008 = mDemo.getParam1(); - var_f31 = 0.0f; - } else if (param_0 == -2 && mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e) { + land_anm_speed = 0.0f; + } else if (i_type == -2 && mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e) { mProcVar0.field_0x3008 = 0x1E; - var_f31 = 0.0f; + land_anm_speed = 0.0f; } else { mProcVar0.field_0x3008 = -1; - var_f31 = mpHIO->mDamage.m.mRecoverStandAnmSpeed; + land_anm_speed = mpHIO->mDamage.m.mRecoverStandAnmSpeed; } mProcVar1.field_0x300a = 1; @@ -1282,43 +1298,43 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 field_0x3480 = 39.0f; } - setSingleAnime(var_r28, var_f31, var_f29, var_r27, var_f30); - field_0x32cc = var_r28; + setSingleAnime(land_anm, land_anm_speed, land_anm_startF, land_anm_endF, land_anm_morf); + field_0x32cc = land_anm; } else { mProcVar0.field_0x3008 = 0; - dComIfGp_getVibration().StartShock(6, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER6, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); seStartMapInfo(Z2SE_BODY_FALL_DOWN); field_0x2f9d = 4; - if (param_0 == 0x84) { - setSingleAnimeParam(ANM_DMG_LARGE_LAND, &var_r30->mBackGetUpAnm); - field_0x3478 = var_r30->mBackGetUpAnm.mCancelFrame; + if (i_type == ANM_DMG_LARGE) { + setSingleAnimeParam(ANM_DMG_LARGE_LAND, &dmgParams->mBackGetUpAnm); + field_0x3478 = dmgParams->mBackGetUpAnm.mCancelFrame; mProcVar1.field_0x300a = 1; field_0x3480 = 39.0f; - field_0x32cc = 0x88; + field_0x32cc = ANM_DMG_LARGE_LAND; field_0x3484 = 9.0f; - } else if (param_0 == 0x85) { - setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &var_r30->mLeftGetUpAnm); - field_0x3478 = var_r30->mLeftGetUpAnm.mCancelFrame; + } else if (i_type == ANM_DMG_AIR_LEFT) { + setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &dmgParams->mLeftGetUpAnm); + field_0x3478 = dmgParams->mLeftGetUpAnm.mCancelFrame; field_0x3480 = 29.0f; - field_0x32cc = 0x89; + field_0x32cc = ANM_DMG_AIR_LEFT_LAND; field_0x3484 = 6.0f; - } else if (param_0 == 0x86) { - setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &var_r30->mRightGetUpAnm); - field_0x3478 = var_r30->mRightGetUpAnm.mCancelFrame; + } else if (i_type == ANM_DMG_AIR_RIGHT) { + setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &dmgParams->mRightGetUpAnm); + field_0x3478 = dmgParams->mRightGetUpAnm.mCancelFrame; field_0x3480 = 29.0f; - field_0x32cc = 0x8A; + field_0x32cc = ANM_DMG_AIR_RIGHT_LAND; field_0x3484 = 6.0f; } else { - setSingleAnimeParam(ANM_DMG_AIR_LAND, &var_r30->mFrontGetUpAnm); - field_0x3478 = var_r30->mFrontGetUpAnm.mCancelFrame; + setSingleAnimeParam(ANM_DMG_AIR_LAND, &dmgParams->mFrontGetUpAnm); + field_0x3478 = dmgParams->mFrontGetUpAnm.mCancelFrame; field_0x3480 = 39.0f; - field_0x32cc = 0x87; + field_0x32cc = ANM_DMG_AIR_LAND; field_0x3484 = 18.0f; } - if (param_1 != 0) { + if (i_isLargeDmg) { mProcVar4.field_0x3010 = 1; } } @@ -1333,9 +1349,9 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 } int daAlink_c::procLargeDamageUp() { - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; mProcVar4.field_0x3010 = 0; - field_0x33cc = field_0x347c * (field_0x3478 - temp_r30->getFrame()); + field_0x33cc = field_0x347c * (field_0x3478 - framectrl->getFrame()); onEndResetFlg0(ERFLG0_UNK_8000000); if (field_0x3198 == -4) { @@ -1353,43 +1369,43 @@ int daAlink_c::procLargeDamageUp() { if (mProcVar0.field_0x3008 == 0) { mProcVar0.field_0x3008 = -1; - setWaterInAnmRate(temp_r30, mpHIO->mDamage.m.mRecoverStandAnmSpeed); - temp_r30->offEndFlg(); + setWaterInAnmRate(framectrl, mpHIO->mDamage.m.mRecoverStandAnmSpeed); + framectrl->offEndFlg(); } } else { - if (temp_r30->getFrame() > field_0x3480) { - field_0x2f92 = 1; - field_0x2f93 = 6; + if (framectrl->getFrame() > field_0x3480) { + mLeftHandIndex = 1; + mRightHandIndex = 6; } - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { offModeFlg(0x04000000); - if ((checkEventRun() && mProcVar0.field_0x3008 < 0) || mDemo.getDemoMode() == 0x1B || mDemo.getDemoMode() == 9) { + if ((checkEventRun() && mProcVar0.field_0x3008 < 0) || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_27_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_9_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); } - } else if (temp_r30->getFrame() > field_0x3478) { + } else if (framectrl->getFrame() > field_0x3478) { if (!checkEventRun()) { onModeFlg(4); } checkNextAction(1); - } else if (mProcVar2.field_0x300c != 0 && temp_r30->checkPass(18.0f)) { + } else if (mProcVar2.field_0x300c != 0 && framectrl->checkPass(18.0f)) { voiceStart(Z2SE_AL_V_LANDING_FAIL_2); mProcVar2.field_0x300c = 0; - } else if (checkNoResetFlg0(FLG0_UNK_200000)) { + } else if (checkNoResetFlg0(FLG0_GORON_UP_STOP_CANCEL)) { onModeFlg(0x04000000); - if (!dMsgObject_isTalkNowCheck() && temp_r30->getFrame() > 19.0f) { - temp_r30->setFrame(19.0f); + if (!dMsgObject_isTalkNowCheck() && framectrl->getFrame() > 19.0f) { + framectrl->setFrame(19.0f); getNowAnmPackUnder(UNDER_0)->setFrame(19.0f); } else if (dMsgObject_isTalkNowCheck()) { - offNoResetFlg0(FLG0_UNK_200000); + offNoResetFlg0(FLG0_GORON_UP_STOP_CANCEL); } - } else if (checkEndResetFlg1(ERFLG1_LARGE_DAMAGE_UP_STOP) && temp_r30->getFrame() > field_0x3484) { - temp_r30->setFrame(field_0x3484); + } else if (checkEndResetFlg1(ERFLG1_LARGE_DAMAGE_UP_STOP) && framectrl->getFrame() > field_0x3484) { + framectrl->setFrame(field_0x3484); getNowAnmPackUnder(UNDER_0)->setFrame(field_0x3484); } } @@ -1397,22 +1413,22 @@ int daAlink_c::procLargeDamageUp() { return 1; } -int daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 param_2, s16 param_3) { +int daAlink_c::procCoLargeDamageWallInit(int i_type, BOOL i_isLargeDmg, s16 param_2, s16 param_3) { if (mProcID == PROC_LARGE_DAMAGE_WALL) { return 0; } - cM3dGPla sp18; - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp18); - s16 temp_r26 = sp18.mNormal.atan2sX_Z(); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); + s16 temp_r26 = tripla.mNormal.atan2sX_Z(); - if (param_0 < 0 || !cBgW_CheckBWall(sp18.mNormal.y) || cLib_distanceAngleS(temp_r26, (current.angle.y - 0x8000)) > cM_deg2s(30.0f)) { + if (i_type < 0 || !cBgW_CheckBWall(tripla.mNormal.y) || cLib_distanceAngleS(temp_r26, (current.angle.y - 0x8000)) > cM_deg2s(30.0f)) { return 0; } commonProcInit(PROC_LARGE_DAMAGE_WALL); - s16 temp_r29 = cM_atan2s(sp18.mNormal.y, sp18.mNormal.absXZ()); + s16 temp_r29 = cM_atan2s(tripla.mNormal.y, tripla.mNormal.absXZ()); current.angle.y = temp_r26; current.pos.x = mLinkLinChk.GetCross().x; @@ -1421,48 +1437,48 @@ int daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 param_2, setOldRootQuaternion(param_2, 0, param_3); if (checkWolf()) { - if (param_0 == 0x29) { - field_0x3198 = 0x2D; + if (i_type == WANM_DMG_AIR_BACK) { + field_0x3198 = WANM_DMG_AIR_BACK_GETUP; setSingleAnimeWolfBase(WANM_DMG_AIR_FRONT); field_0x3080 = temp_r29; - } else if (param_0 == 0x2A) { - field_0x3198 = 0x2E; + } else if (i_type == WANM_DMG_AIR_LEFT) { + field_0x3198 = WANM_DMG_AIR_LEFT_GETUP; setSingleAnimeWolf(WANM_DMG_AIR_LEFT_GETUP, 1.0f, 2.0f, 3, 3.0f); field_0x3082 = temp_r29 - 0x4000; - } else if (param_0 == 0x2B) { - field_0x3198 = 0x2F; + } else if (i_type == WANM_DMG_AIR_RIGHT) { + field_0x3198 = WANM_DMG_AIR_RIGHT_GETUP; setSingleAnimeWolf(WANM_DMG_AIR_RIGHT_GETUP, 1.0f, 2.0f, 3, 3.0f); field_0x3082 = 0x4000 - temp_r29; } else { - field_0x3198 = 0x2C; + field_0x3198 = WANM_DMG_AIR_FRONT_GETUP; setSingleAnimeWolfBase(WANM_DMG_AIR_BACK); field_0x3080 = -temp_r29; } - setFaceBasicTexture(FTANM_UNK_91); + setFaceBasicTexture(FTANM_WL_B_A); } else { - const daAlinkHIO_damLaHu_c1* var_r28; - if (param_1 != 0) { - var_r28 = &daAlinkHIO_damLarge_c0::m; + const daAlinkHIO_damLaHu_c1* dmgParams; + if (i_isLargeDmg) { + dmgParams = &mpHIO->mDamage.mDamLarge.m; } else { - var_r28 = &daAlinkHIO_damHuge_c0::m; + dmgParams = &mpHIO->mDamage.mDamHuge.m; } - if (param_0 == 0x84) { - field_0x3198 = 0x88; - setSingleAnimeParam(ANM_DMG_LARGE_LAND, &var_r28->mBackWallHitAnm); + if (i_type == ANM_DMG_LARGE) { + field_0x3198 = ANM_DMG_LARGE_LAND; + setSingleAnimeParam(ANM_DMG_LARGE_LAND, &dmgParams->mBackWallHitAnm); field_0x3080 = temp_r29 - 0x4000; - } else if (param_0 == 0x85) { - field_0x3198 = 0x89; - setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &var_r28->mLeftWallHitAnm); + } else if (i_type == ANM_DMG_AIR_LEFT) { + field_0x3198 = ANM_DMG_AIR_LEFT_LAND; + setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &dmgParams->mLeftWallHitAnm); field_0x3082 = temp_r29 - 0x4000; - } else if (param_0 == 0x86) { - field_0x3198 = 0x8A; - setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &var_r28->mRightWallHitAnm); + } else if (i_type == ANM_DMG_AIR_RIGHT) { + field_0x3198 = ANM_DMG_AIR_RIGHT_LAND; + setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &dmgParams->mRightWallHitAnm); field_0x3082 = 0x4000 - temp_r29; } else { - field_0x3198 = 0x87; - setSingleAnimeParam(ANM_DMG_AIR_LAND, &var_r28->mFrontWallHitAnm); + field_0x3198 = ANM_DMG_AIR_LAND; + setSingleAnimeParam(ANM_DMG_AIR_LAND, &dmgParams->mFrontWallHitAnm); field_0x3080 = 0x4000 - temp_r29; } } @@ -1471,13 +1487,13 @@ int daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 param_2, speed.y = 0.0f; setSpecialGravity(0.0f, maxFallSpeed, 0); - dComIfGp_getVibration().StartShock(6, 0xF, cXyz(0.0f, 1.0f, 0.0f)); - mProcVar0.field_0x3008 = param_1; + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER6, 0xF, cXyz(0.0f, 1.0f, 0.0f)); + mProcVar0.field_0x3008 = i_isLargeDmg; return 1; } int daAlink_c::procCoLargeDamageWall() { - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(&mUnderFrameCtrl[0])) { procCoLargeDamageInit(field_0x3198, mProcVar0.field_0x3008, field_0x3080, field_0x3082, NULL, 0); } @@ -1511,7 +1527,7 @@ int daAlink_c::procCoPolyDamageInit() { } int daAlink_c::procCoPolyDamage() { - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(&mUnderFrameCtrl[0])) { commonCheckNextAction(0); } else if (mUnderFrameCtrl[0].getFrame() > field_0x3478) { if (!checkWolf()) { @@ -1525,32 +1541,32 @@ int daAlink_c::procCoPolyDamage() { } int daAlink_c::procLandDamageInit(int param_0) { - f32 var_f31; + f32 start_frame; if (param_0 == 0) { - var_f31 = mpHIO->mDamage.mDamFall.m.mSmallDmgLandStartFrame; + start_frame = mpHIO->mDamage.mDamFall.m.mSmallDmgLandStartFrame; mProcVar0.field_0x3008 = mpHIO->mAutoJump.m.mSpinJumpLandStopTime; if (mProcID == PROC_MAGNE_BOOTS_FLY) { - dComIfGp_getVibration().StartShock(6, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER6, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } else { - dComIfGp_getVibration().StartShock(2, 0xF, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 0xF, cXyz(0.0f, 1.0f, 0.0f)); } } else if (param_0 == 1) { if (!checkEventRun()) { setLandDamagePoint(4); } - var_f31 = mpHIO->mDamage.mDamFall.m.mSmallDmgLandStartFrame; + start_frame = mpHIO->mDamage.mDamFall.m.mSmallDmgLandStartFrame; mProcVar0.field_0x3008 = mpHIO->mDamage.mDamFall.m.mSmallStopTime; - dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } else { if (!checkEventRun()) { setLandDamagePoint(8); } - var_f31 = mpHIO->mDamage.mDamFall.m.mLandAnm.mStartFrame; + start_frame = mpHIO->mDamage.mDamFall.m.mLandAnm.mStartFrame; mProcVar0.field_0x3008 = mpHIO->mDamage.mDamFall.m.mBigStopTime; - dComIfGp_getVibration().StartShock(5, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER5, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } commonProcInit(PROC_LAND_DAMAGE); @@ -1563,7 +1579,7 @@ int daAlink_c::procLandDamageInit(int param_0) { voiceStart(Z2SE_AL_V_LANDING_FAIL); } - setSingleAnime(ANM_DMG_FALL, mpHIO->mDamage.mDamFall.m.mLandAnm.mSpeed, var_f31, mpHIO->mDamage.mDamFall.m.mLandAnm.mEndFrame, mpHIO->mDamage.mDamFall.m.mLandAnm.mInterpolation); + setSingleAnime(ANM_DMG_FALL, mpHIO->mDamage.mDamFall.m.mLandAnm.mSpeed, start_frame, mpHIO->mDamage.mDamFall.m.mLandAnm.mEndFrame, mpHIO->mDamage.mDamFall.m.mLandAnm.mInterpolation); field_0x3198 = 0; field_0x2f9d = 4; setFootEffectProcType(4); @@ -1575,14 +1591,14 @@ int daAlink_c::procLandDamage() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; if (field_0x3198 != 0) { - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextAction(0); } else if (frameCtrl->getFrame() > mpHIO->mDamage.mDamFall.m.mStandAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } } else { - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { if (mProcVar0.field_0x3008 > 0) { mProcVar0.field_0x3008--; } else { @@ -1595,7 +1611,7 @@ int daAlink_c::procLandDamage() { return 1; } -int daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, int param_2) { +int daAlink_c::procCoElecDamageInit(fopAc_ac_c* i_tgHitActor, dCcD_GObjInf* i_tgHitObj, int i_atSpl) { if (!dComIfGp_event_compulsory(this, NULL, 0xFFEF)) { return 0; } @@ -1607,25 +1623,25 @@ int daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, ((daCrod_c*)mCopyRodAcKeep.getActor())->offControll(); } - if (param_0 != NULL) { - param_0->actor_status |= 0x800; + if (i_tgHitActor != NULL) { + i_tgHitActor->actor_status |= 0x800; } commonProcInit(PROC_ELEC_DAMAGE); mNormalSpeed = 0.0f; mProcVar2.field_0x300c = 0; - daAlink_ANM var_r29; - daAlink_WANM var_r28; + daAlink_ANM anm; + daAlink_WANM wolf_anm; if ((mLinkAcch.ChkGroundHit() && !temp_r27) || checkMagneBootsOn()) { if (mEquipItem == fpcNm_ITEM_IRONBALL) { setIronBallWaitUpperAnime(1); } - var_r29 = ANM_ELEC_STUN_GND; - var_r28 = WANM_DMG_ELEC_GROUND; + anm = ANM_ELEC_STUN_GND; + wolf_anm = WANM_DMG_ELEC_GROUND; } else { - var_r29 = ANM_ELEC_STUN_AIR; - var_r28 = WANM_DMG_ELEC_AIR; + anm = ANM_ELEC_STUN_AIR; + wolf_anm = WANM_DMG_ELEC_AIR; setSpecialGravity(0.0f, maxFallSpeed, 0); speed.y = 0.0f; @@ -1640,7 +1656,7 @@ int daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, if (getZoraSwim()) { current.pos.y += 50.0f; - field_0x3080 += 0x4000; + field_0x3080 += (s16)0x4000; } } } @@ -1652,20 +1668,21 @@ int daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, if (checkWolf()) { voiceStart(Z2SE_WL_V_DAMAGE_ELEC); - setSingleAnimeWolfBase(var_r28); - setFaceBasicTexture(FTANM_UNK_91); + setSingleAnimeWolfBase(wolf_anm); + setFaceBasicTexture(FTANM_WL_B_A); } else { voiceStart(Z2SE_AL_V_DAMAGE_ELEC); - setSingleAnimeBase(var_r29); + setSingleAnimeBase(anm); } mProcVar0.field_0x3008 = 0x2D; mProcVar3.field_0x300e = 3; - field_0x3198 = checkLargeAttack(param_2) | checkHugeAttack(param_2); + field_0x3198 = checkLargeAttack(i_atSpl) | checkHugeAttack(i_atSpl); - if (param_1 != NULL) { - mProcVar4.field_0x3010 = getDamageVec(param_1)->atan2sX_Z(); + if (i_tgHitObj != NULL) { + cXyz* dmg_vec = getDamageVec(i_tgHitObj); + mProcVar4.field_0x3010 = dmg_vec->atan2sX_Z(); } else { mProcVar4.field_0x3010 = shape_angle.y + 0x8000; } @@ -1683,7 +1700,7 @@ int daAlink_c::procCoElecDamage() { } if (mProcVar3.field_0x300e != 0) { - dComIfGp_getVibration().StartQuake(5, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartQuake(VIBMODE_Q_POWER5, 1, cXyz(0.0f, 1.0f, 0.0f)); mProcVar3.field_0x300e--; } @@ -1699,7 +1716,7 @@ int daAlink_c::procCoElecDamage() { if (checkModeFlg(2) || field_0x3198 != 0) { current.angle.y = mProcVar4.field_0x3010; - procCoLargeDamageInit(-1, 1, 0, 0, NULL, 2); + procCoLargeDamageInit(-1, TRUE, 0, 0, NULL, 2); } else if (checkModeFlg(0x40000)) { if (checkWolf()) { procWolfSwimWaitInit(0); @@ -1729,7 +1746,7 @@ int daAlink_c::procStEscape() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; onEndResetFlg0(ERFLG0_UNK_8000000); - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextAction(0); } else if (frameCtrl->getFrame() > mpHIO->mDamage.mDamCaught.m.mEscapeAnm.mCancelFrame) { onModeFlg(4); @@ -1760,7 +1777,7 @@ int daAlink_c::procDkCaughtInit(fpc_ProcID param_0) { field_0x3478 = temp_r3->home.pos.abs(current.pos); } - field_0x594 = 13.0f; + mMaxSpeed = 13.0f; return 1; } @@ -1787,18 +1804,18 @@ int daAlink_c::procDkCaught() { f32 var_f30; if (checkInputOnR()) { - if (getDirectionFromCurrentAngle() == 1) { + if (getDirectionFromCurrentAngle() == DIR_BACKWARD) { current.angle.y += 0x8000; mNormalSpeed *= -1.0f; } if (checkZeroSpeedF()) { - current.angle.y = field_0x2fe2; + current.angle.y = mMoveAngle; } s16 temp_r28 = current.angle.y; - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mAtnMove.m.mTurnAngleRate, mpHIO->mAtnMove.m.mMaxTurnAngle, mpHIO->mAtnMove.m.mMinTurnAngle); - var_f30 = mpHIO->mAtnMove.m.mAcceleration * field_0x33a8 * cM_scos((current.angle.y - temp_r28)); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mAtnMove.m.mTurnAngleRate, mpHIO->mAtnMove.m.mMaxTurnAngle, mpHIO->mAtnMove.m.mMinTurnAngle); + var_f30 = mpHIO->mAtnMove.m.mAcceleration * mStickValue * cM_scos((current.angle.y - temp_r28)); } else { var_f30 = 0.0f; } @@ -1836,8 +1853,7 @@ void daAlink_c::setScreamWaitAnime() { voiceStart(Z2SE_AL_V_TERRORED); mProcVar2.field_0x300c = 1; - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartQuake(5, 1, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartQuake(VIBMODE_Q_POWER5, 1, cXyz(0.0f, 1.0f, 0.0f)); } int daAlink_c::procScreamWaitInit() { @@ -1857,9 +1873,11 @@ int daAlink_c::procScreamWaitInit() { } int daAlink_c::procScreamWait() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + onEndResetFlg0(ERFLG0_UNK_8000000); - if (!checkEndResetFlg1(ERFLG1_UNK_1)) { + if (!checkEndResetFlg1(ERFLG1_NS_SCREAM)) { checkNextAction(0); } else if (mProcVar2.field_0x300c == 0 && checkEndResetFlg1(ERFLG1_UNK_2)) { setScreamWaitAnime(); @@ -1897,7 +1915,7 @@ int daAlink_c::procCoSandWallHit() { return 1; } -int daAlink_c::procCoLavaReturnInit(BOOL i_sandReturn) { +int daAlink_c::procCoLavaReturnInit(BOOL i_isSandReturn) { if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { return 0; } @@ -1918,9 +1936,9 @@ int daAlink_c::procCoLavaReturnInit(BOOL i_sandReturn) { if (checkWolf()) { setSingleAnimeWolfBase(WANM_SWIM_DROWN); - setFaceBasicTexture(FTANM_UNK_9E); + setFaceBasicTexture(FTANM_WL_SWIMDIEP); - if (i_sandReturn) { + if (i_isSandReturn) { voiceStart(Z2SE_WL_V_FALL_QUICKSAND); } else { voiceStart(Z2SE_WL_V_FALL_MAGMA); @@ -1929,19 +1947,19 @@ int daAlink_c::procCoLavaReturnInit(BOOL i_sandReturn) { setSingleAnimeBase(ANM_SWIM_DROWN); if (mEquipItem == 0x103) { - field_0x2f92 = 100; + mLeftHandIndex = 100; } - if (i_sandReturn) { + if (i_isSandReturn) { voiceStart(Z2SE_AL_V_FALL_QUICKSAND); } else { voiceStart(Z2SE_AL_V_FALL_MAGMA); } } - if (i_sandReturn) { + if (i_isSandReturn) { seStartOnlyReverb(Z2SE_AL_SINK_SAND_PITFALL); - field_0x2fbd = 0xFF; + mGndPolyAtt1 = 0xFF; offModeFlg(0x40000); field_0x2060->getOldFrameTransInfo(0)->mTranslate.y += field_0x3458; @@ -1953,8 +1971,8 @@ int daAlink_c::procCoLavaReturnInit(BOOL i_sandReturn) { seStartOnlyReverb(Z2SE_AL_SINK_MAGMA); cXyz particle_pos(current.pos.x, mWaterY, current.pos.z); - dComIfGp_particle_set(0x8757, &particle_pos, &tevStr, NULL, NULL); - dComIfGp_particle_set(0x8758, &particle_pos, &tevStr, NULL, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_YOGANSHIBUKI_A), &particle_pos, &tevStr, NULL, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_YOGANSHIBUKI_B), &particle_pos, &tevStr, NULL, NULL); field_0x32cc = 4; field_0x3198 = 8; } @@ -1964,15 +1982,14 @@ int daAlink_c::procCoLavaReturnInit(BOOL i_sandReturn) { mNormalSpeed = 0.0f; field_0x3194 = 1; - u32 id = fopAcM_GetID(this); - dCam_getBody()->StartEventCamera(9, id, "Type", 1, &field_0x3194, 0); + dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), "Type", 1, &field_0x3194, 0); return 1; } int daAlink_c::procCoLavaReturn() { cLib_chaseF(&mSinkShapeOffset, 0.0f, 6.0f); - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(&mUnderFrameCtrl[0])) { startRestartRoom(field_0x32cc, 0xC9, field_0x3198, 1); } @@ -1980,7 +1997,7 @@ int daAlink_c::procCoLavaReturn() { } int daAlink_c::procCoSwimFreezeReturnInit() { - if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { return 0; } @@ -1996,11 +2013,10 @@ int daAlink_c::procCoSwimFreezeReturnInit() { f32 var_f31; if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, mpHIO->mWolf.mWlDamage.mNormal.m.mIceDamageAnmSpeed, - 10.0f); + setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, mpHIO->mWolf.mWlDamage.mNormal.m.mIceDamageAnmSpeed, 10.0f); mUnderFrameCtrl[0].setEnd(3); mUnderFrameCtrl[0].setAttribute(0); - setFaceBasicTexture(FTANM_UNK_90); + setFaceBasicTexture(FTANM_WL_DAM); mMidnaAnm = 1; var_f31 = mpHIO->mWolf.mWlSwim.m.mStartHeight; } else { @@ -2020,7 +2036,7 @@ int daAlink_c::procCoSwimFreezeReturnInit() { field_0x3080 = 0; mDamageTimer = 0; mNormalSpeed = 0.0f; - onNoResetFlg1(FLG1_ICE_FREEZE); + onNoResetFlg1(FLG1_FREEZE_DAMAGE); field_0x3194 = 1; u32 id = fopAcM_GetID(this); @@ -2032,7 +2048,7 @@ int daAlink_c::procCoSwimFreezeReturnInit() { int daAlink_c::procCoSwimFreezeReturn() { if (mProcVar2.field_0x300c == 0) { if (checkRestartDead(4, 1)) { - onNoResetFlg1(FLG1_ICE_FREEZE); + onNoResetFlg1(FLG1_FREEZE_DAMAGE); } else { u32 mode = 4; setLastSceneDamage(4, &mode); diff --git a/src/d/actor/d_a_alink_demo.inc b/src/d/actor/d_a_alink_demo.inc index a855799204..ed927c8de2 100644 --- a/src/d/actor/d_a_alink_demo.inc +++ b/src/d/actor/d_a_alink_demo.inc @@ -33,15 +33,15 @@ void daAlink_c::createNpcTks(cXyz* i_basePos, int i_roomNo, u32 i_parameters) { fopAcM_create(PROC_NPC_TKS, i_parameters, &pos, i_roomNo, &angle, NULL, -1); } - bool daAlink_c::checkSetNpcTks(cXyz* i_basePos, int i_roomNo, int param_2) { + u32 start_mode = getStartMode(); u32 scene_mode = getLastSceneMode(); if (param_2 != 0 && checkDungeon() && - dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17 && - dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x18 && - (checkItemGet(fpcNm_ITEM_TKS_LETTER, 1) || - (checkItemGet(fpcNm_ITEM_DUNGEON_BACK, 1) && !checkLv7DungeonShop())) && + dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != dStage_SaveTbl_LV8 && + dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != dStage_SaveTbl_LV9 && + (checkItemGet(fpcNm_ITEM_TKS_LETTER, TRUE) || + (checkItemGet(fpcNm_ITEM_DUNGEON_BACK, TRUE) && !checkLv7DungeonShop())) && dComIfGs_isDungeonItemWarp()) { if (!dComIfGs_isStageBossEnemy()) { @@ -55,9 +55,7 @@ bool daAlink_c::checkSetNpcTks(cXyz* i_basePos, int i_roomNo, int param_2) { if (scene_mode != 0xC) { parameters = 8; } - } else if ((checkStageName("D_MN06") != 0 || checkStageName("D_MN05")) && - scene_mode != 0xC) - { + } else if ((checkStageName("D_MN06")|| checkStageName("D_MN05")) && scene_mode != 0xC) { parameters = 9; } @@ -72,7 +70,7 @@ bool daAlink_c::checkSetNpcTks(cXyz* i_basePos, int i_roomNo, int param_2) { int daAlink_c::checkDemoAction() { if (dComIfGp_getEvent()->isOrderOK()) { if (!dComIfGp_event_runCheck()) { - offNoResetFlg0(FLG0_UNK_200000); + offNoResetFlg0(FLG0_GORON_UP_STOP_CANCEL); } return 0; } @@ -85,7 +83,7 @@ int daAlink_c::checkDemoAction() { offNoResetFlg0(FLG0_UNK_400); } - if (demoMode != daPy_demo_c::DEMO_SUMOU_SHIKO_e && mSpecialMode == 1) { + if (demoMode != daPy_demo_c::DEMO_SUMOU_SHIKO_e && mMode == 1) { return procSumouReadyInit(); } @@ -174,7 +172,9 @@ int daAlink_c::checkDemoAction() { } onNoResetFlg0(FLG0_UNK_100000); - if (mGrabItemAcKeep.getActor() != NULL) { + + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); + if (grabActor != NULL) { if (fopAcM_getTalkEventPartner(this) != NULL && checkGrabTalkActor(fopAcM_getTalkEventPartner(this))) { @@ -212,18 +212,14 @@ int daAlink_c::checkDemoAction() { } } else if (mDemo.getParam0() == 3) { if (!checkCanoeRide()) { - daCanoe_c* canoe_p = - (daCanoe_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL); - fpc_ProcID rodID = - fopAcM_create(PROC_MG_ROD, 0xD, &mLeftHandPos, -1, NULL, NULL, -1); - canoe_p->onRodID(rodID); + daCanoe_c* canoe_p = (daCanoe_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL); + canoe_p->onRodID(fopAcM_create(PROC_MG_ROD, 0xD, &mLeftHandPos, -1, NULL, NULL, -1)); return procCanoeJumpRideInit(NULL); } return 1; } else if (mDemo.getParam0() == 5) { if (!checkBoardRide()) { - fopAc_ac_c* board_p = (fopAc_ac_c*)fopAcIt_Judge( - (fopAcIt_JudgeFunc)daAlink_searchIceLeaf, NULL); + fopAc_ac_c* board_p = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchIceLeaf, NULL); if (board_p != NULL) { mGndPolySpecialCode = dBgW_SPCODE_LIGHT_SNOW; return procBoardWaitInit(board_p); @@ -259,7 +255,7 @@ int daAlink_c::checkDemoAction() { return 0; } - return procCoLargeDamageInit(-2, 1, 0, 0, NULL, 0); + return procCoLargeDamageInit(-2, TRUE, 0, 0, NULL, 0); } else if (demoMode == daPy_demo_c::DEMO_UNK_36_e) { onNoResetFlg0(FLG0_UNK_100000); int prm0 = mDemo.getParam0(); @@ -271,11 +267,21 @@ int daAlink_c::checkDemoAction() { return procCutNormalInit(prm0); } + // TODO: reconcile + #if VERSION == VERSION_SHIELD_DEBUG + int type = prm0 - 20; + if (type >= 0 && type < 6) { + return procCutFinishInit(type); + } else { + return procCutTurnInit(1, 1); + } + #else if (prm0 - 20 >= 0 && prm0 - 20 < 6) { return procCutFinishInit(prm0 - 20); } else { return procCutTurnInit(1, 1); } + #endif } else if (demoMode == daPy_demo_c::DEMO_UNK_82_e) { onNoResetFlg0(FLG0_UNK_100000); if (mProcID == PROC_TURN_MOVE || mProcID == PROC_CUT_FINISH_JUMP_UP || @@ -472,7 +478,6 @@ int daAlink_c::checkDemoAction() { return 0; } - bool daAlink_c::checkDemoMoveMode(u32 i_mode) const { return i_mode == daPy_demo_c::DEMO_UNK_2_e || i_mode == daPy_demo_c::DEMO_UNK_3_e || i_mode == daPy_demo_c::DEMO_UNK_38_e; } @@ -481,6 +486,8 @@ void daAlink_c::setDemoMoveData(u32* o_mode, cXyz const* i_goal) { cXyz sp20; sp20 = *i_goal - current.pos; + f32 spC = fabsf(mNormalSpeed) / mMaxSpeed; + f32 temp_f30; f32 temp_f29; f32 temp_f28; @@ -492,12 +499,14 @@ void daAlink_c::setDemoMoveData(u32* o_mode, cXyz const* i_goal) { var_f27 = 1.0f; } + f32 var_f26 = 25.0f * var_f27; + temp_f30 = var_f27 * 100.0f; temp_f29 = var_f27 * 400.0f; temp_f28 = var_f27 * 2500.0f; f32 dist_to_pos = sp20.abs2XZ(); - if (dist_to_pos < var_f27 * 25.0f) { + if (dist_to_pos < var_f26) { *o_mode = daPy_demo_c::DEMO_UNK_1_e; if (!checkModeFlg(0x2)) { @@ -512,7 +521,8 @@ void daAlink_c::setDemoMoveData(u32* o_mode, cXyz const* i_goal) { mDemo.setStick(1.0f); } - mDemo.setMoveAngle(sp20.atan2sX_Z()); + s16 move_angle = sp20.atan2sX_Z(); + mDemo.setMoveAngle(move_angle); } void daAlink_c::setNoDrawSwordShield(int param_0, u16 param_1) { @@ -557,9 +567,9 @@ void daAlink_c::setNoDrawSwordShield(int param_0, u16 param_1) { } } else if (param_0 == 9) { if (param_1 == 1) { - onNoResetFlg2(FLG2_PLAYER_SHADOW); + onNoResetFlg2(FLG2_PLAYER_SHADOW_NO_DRAW); } else { - offNoResetFlg2(FLG2_PLAYER_SHADOW); + offNoResetFlg2(FLG2_PLAYER_SHADOW_NO_DRAW); } } } @@ -632,36 +642,36 @@ void daAlink_c::setDemoData() { } } - if (demo_actor_p->checkEnable(0x20)) { + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_ANM_e)) { demo_mode = demo_actor_p->getAnmId(); } else { demo_mode = mDemo.getDemoMode(); } - if (demo_actor_p->checkEnable(0x2)) { + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_TRANS_e)) { pos_p = &demo_actor_p->getTrans(); } else { pos_p = ¤t.pos; } - if (demo_actor_p->checkEnable(0x8)) { + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_ROTATE_e)) { angle = demo_actor_p->getRatate().y; } else { angle = shape_angle.y; } - int sp14; - int sp10; - int spC; + int arg0; + int arg1; + int arg2; u16 sp8; - while (demo_actor_p->getDemoIDData(&sp14, &sp10, &spC, &sp8, NULL) != 0) { - if (sp14 == 0 && sp10 == 0) { - setNoDrawSwordShield(spC, sp8); + while (demo_actor_p->getDemoIDData(&arg0, &arg1, &arg2, &sp8, NULL) != 0) { + if (arg0 == 0 && arg1 == 0) { + setNoDrawSwordShield(arg2, sp8); } } } else { BOOL var_r28 = FALSE; - if (checkPlayerDemoMode() == 0) { + if (!checkPlayerDemoMode()) { mDemo.setSystemDemoType(); var_r28 = TRUE; @@ -677,10 +687,8 @@ void daAlink_c::setDemoData() { char* cut_name = dComIfGp_getPEvtManager()->getMyNowCutName(mAlinkStaffId); if (cut_name != NULL) { - // Take the first 3 chars in cut_name, convert them to integers, and calculate - // demo_mode - demo_mode = ((cut_name[0] - '0') * 100) + ((cut_name[1] - '0') * 10) + - (cut_name[2] - '0'); + // Take the first 3 chars in cut_name, convert them to integers, and calculate demo_mode + demo_mode = ((cut_name[0] - '0') * 100) + ((cut_name[1] - '0') * 10) + (cut_name[2] - '0'); if (mDemo.getDemoType() != daPy_demo_c::DEMO_TYPE_START_e && (demo_mode == daPy_demo_c::DEMO_UNK_1_e || demo_mode == daPy_demo_c::DEMO_UNK_23_e) && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) { @@ -732,7 +740,7 @@ void daAlink_c::setDemoData() { if ((mEquipItem == fpcNm_ITEM_IRONBALL || checkFishingRodItem(mEquipItem)) && demo_mode != daPy_demo_c::DEMO_UNK_1_e && demo_mode != daPy_demo_c::DEMO_UNK_31_e && (mAlinkStaffId != -1 || mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_ORIGINAL_e) && - (demo_mode != daPy_demo_c::DEMO_UNK_6_e || (var_r28 == 0 && !checkEquipAnime()))) + (demo_mode != daPy_demo_c::DEMO_UNK_6_e || (!var_r28 && !checkEquipAnime()))) { deleteEquipItem(FALSE, TRUE); if (checkIronBallWaitAnime()) { @@ -747,7 +755,7 @@ void daAlink_c::setDemoData() { mDemo.decTimer(); cXyz tmp_sp = current.pos - home.pos; - if (tmp_sp.abs2XZ() > 90000.0f) { + if (tmp_sp.abs2XZ() > SQUARE(300.0f)) { mDemo.setTimer(0); dComIfGp_evmng_cutEnd(mAlinkStaffId); } @@ -772,7 +780,7 @@ void daAlink_c::setDemoData() { if (demo_mode == daPy_demo_c::DEMO_UNK_4_e) { mNormalSpeed = 0.0f; speedF = 0.0f; - field_0x814.ClrCcMove(); + mCcStts.ClrCcMove(); setPlayerPosAndAngle(pos_p, angle, 0); mDemo.setMoveAngle(angle); } else if (checkDemoMoveMode(demo_mode)) { @@ -815,16 +823,16 @@ void daAlink_c::setDemoData() { if (prm2 != 0) { if (!checkWolf()) { if (prm2 == 1) { - setFacePriTexture(FTANM_UNK_0); - setFacePriBck(0x15A); + setFacePriTexture(FTANM_0); + setFacePriBck(dRes_ID_ALANM_BCK_FTURNBACK_e); } else if (prm2 == 2) { - setFacePriBtp(0x3E1); - field_0x2154->setFrame(field_0x2154->getFrameMax()); + setFacePriBtp(dRes_ID_ALANM_BTP_FMABA03_e); + mpFaceBtp->setFrame(mpFaceBtp->getFrameMax()); - setFacePriBtk(0x37B); + setFacePriBtk(dRes_ID_ALANM_BTK_FMABA03_e); mpFaceBtk->setFrame(mpFaceBtk->getFrameMax()); - setFacePriBck(0x149); + setFacePriBck(dRes_ID_ALANM_BCK_FK_e); } offNoResetFlg1(FLG1_UNK_2000); @@ -838,13 +846,15 @@ void daAlink_c::setDemoData() { } } - void daAlink_c::resetDemoBck() { mFaceBckHeap.resetArcNo(); mFaceBtpHeap.resetArcNo(); mFaceBtkHeap.resetArcNo(); - mUnderAnmHeap[0].resetArcNo(); - mUnderAnmHeap[0].resetIdx(); + + daPy_anmHeap_c* anmHeap = mUnderAnmHeap; + anmHeap->resetArcNo(); + anmHeap->resetIdx(); + mFaceBckHeap.resetIdx(); mFaceBtpHeap.resetIdx(); mFaceBtkHeap.resetIdx(); @@ -876,9 +886,9 @@ void daAlink_c::resetSpecialEvent() { } void daAlink_c::endDemoMode() { - BOOL temp_r30 = checkFlyAtnWait(); + BOOL flyAtnWait = checkFlyAtnWait(); endHighModel(); - offNoResetFlg0(FLG0_UNK_10400); + offNoResetFlg0(daPy_FLG0(FLG0_DEMO_STREAM_ACCEPT | FLG0_UNK_400)); field_0x06f4 = NULL; if (field_0x06f8 != NULL) { @@ -895,7 +905,7 @@ void daAlink_c::endDemoMode() { offNoResetFlg0(FLG0_UNK_100000); dComIfGp_clearPlayerStatus0(0, 0x10); - BOOL temp_r29 = mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_START_e; + BOOL isDemoTypeStart = mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_START_e; BOOL var_r0 = mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_14_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_26_e; mDemo.resetDemoType(); @@ -918,7 +928,7 @@ void daAlink_c::endDemoMode() { procHorseWaitInit(); } } else if (!checkSpinnerRide() && mProcID != PROC_FISHING_CAST) { - if (temp_r30) { + if (flyAtnWait) { if (checkSwimAction(1)) { if (checkWolf()) { procWolfSwimMoveInit(); @@ -928,16 +938,15 @@ void daAlink_c::endDemoMode() { } else { checkWaitAction(); } - } else if ((mLinkAcch.ChkGroundHit() && (!checkUpperReadyThrowAnime() || var_r0 == 0) && + } else if ((mLinkAcch.ChkGroundHit() && (!checkUpperReadyThrowAnime() || !var_r0) && !checkModeFlg(0x4070C52) && mProcID != PROC_LARGE_DAMAGE_UP && mProcID != PROC_WOLF_LARGE_DAMAGE_UP) || checkMagneBootsOn()) { - if (temp_r29 && (mProcID == PROC_MOVE || mProcID == PROC_WOLF_MOVE)) { - field_0x33a8 = mDoCPd_c::getStickValue(PAD_1); + if (isDemoTypeStart && (mProcID == PROC_MOVE || mProcID == PROC_WOLF_MOVE)) { + mStickValue = mDoCPd_c::getStickValue(PAD_1); mStickAngle = mDoCPd_c::getStickAngle(PAD_1) + 0x8000; - field_0x2fe2 = - mStickAngle + dCam_getControledAngleY(dComIfGp_getCamera(field_0x317c)); + mMoveAngle = mStickAngle + dCam_getControledAngleY(dComIfGp_getCamera(field_0x317c)); mNormalSpeed = speedF; commonCheckNextAction(0); } else if (mProcID == PROC_HAWK_CATCH || mProcID == PROC_HAWK_SUBJECT) { @@ -985,18 +994,30 @@ BOOL daAlink_c::checkFlyAtnWait() { return mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_23_e && (mDemo.getParam1() == 4 || mDemo.getParam1() == 5); } -void daAlink_c::setGetItemFace(u16 param_0) { - if (param_0 == 7 || param_0 == 6 || param_0 == 0x21 || param_0 == 0x22 || param_0 == 0x31 || - param_0 == 0x36 || (param_0 >= 0x40 && param_0 <= 0x47) || param_0 == 0x4A || - param_0 == 0x56 || param_0 == 0xED || param_0 == 0x73 || param_0 == 0x75 || - param_0 == 0xEB || param_0 == 0xA1 || param_0 == 0xA2 || param_0 == 0xA3) +void daAlink_c::setGetItemFace(u16 i_itemNo) { + if (i_itemNo == fpcNm_ITEM_SILVER_RUPEE + || i_itemNo == fpcNm_ITEM_ORANGE_RUPEE + || i_itemNo == fpcNm_ITEM_KAKERA_HEART + || i_itemNo == fpcNm_ITEM_UTAWA_HEART + || i_itemNo == fpcNm_ITEM_WEAR_ZORA + || i_itemNo == fpcNm_ITEM_WALLET_LV3 + || (i_itemNo >= fpcNm_ITEM_BOOMERANG && i_itemNo <= fpcNm_ITEM_W_HOOKSHOT) + || i_itemNo == fpcNm_ITEM_FISHING_ROD_1 + || i_itemNo == fpcNm_ITEM_ARROW_LV3 + || i_itemNo == fpcNm_ITEM_LINKS_SAVINGS + || i_itemNo == fpcNm_ITEM_FAIRY_DROP + || i_itemNo == fpcNm_ITEM_DROP_BOTTLE + || i_itemNo == fpcNm_ITEM_ANCIENT_DOCUMENT2 + || i_itemNo == fpcNm_ITEM_DROP_CONTAINER + || i_itemNo == fpcNm_ITEM_DROP_CONTAINER02 + || i_itemNo == fpcNm_ITEM_DROP_CONTAINER03) { - setFaceBasicBck(0x143); - } else if (param_0 == 0x25 || param_0 == 0xEC) { - setFaceBasicTexture(FTANM_UNK_7C); - setFaceBasicBck(0x149); - } else if (param_0 == 0xF4 || param_0 == 0xF5) { - setFaceBasicBck(0x146); + setFaceBasicBck(dRes_ID_ALANM_BCK_FI_e); + } else if (i_itemNo == fpcNm_ITEM_DUNGEON_EXIT || i_itemNo == fpcNm_ITEM_LV7_DUNGEON_EXIT) { + setFaceBasicTexture(FTANM_K_A); + setFaceBasicBck(dRes_ID_ALANM_BCK_FK_e); + } else if (i_itemNo == fpcNm_ITEM_TOMATO_PUREE || i_itemNo == fpcNm_ITEM_TASTE) { + setFaceBasicBck(dRes_ID_ALANM_BCK_FJ_e); } } @@ -1038,19 +1059,15 @@ int daAlink_c::setTalkStartBack(cXyz* param_0) { return 0; } - void daAlink_c::setShapeAngleToTalkActor() { fopAc_ac_c* partner_p = fopAcM_getTalkEventPartner(this); if (partner_p != NULL) { s16 partner_name = fopAcM_GetName(partner_p); if (partner_name != PROC_MYNA && - (partner_name != PROC_Tag_Mwait || - !static_cast(partner_p)->checkEndMessage()) && - (partner_name != PROC_Tag_Mhint || - !static_cast(partner_p)->checkNoAttention()) && - (partner_name != PROC_Tag_Mstop || - !static_cast(partner_p)->checkNoAttention()) && + (partner_name != PROC_Tag_Mwait || !static_cast(partner_p)->checkEndMessage()) && + (partner_name != PROC_Tag_Mhint || !static_cast(partner_p)->checkNoAttention()) && + (partner_name != PROC_Tag_Mstop || !static_cast(partner_p)->checkNoAttention()) && partner_name != PROC_MIDNA) { s16 target; @@ -1088,9 +1105,8 @@ u8 daAlink_c::setTradeItemAnime() { item_no = dComIfGp_event_getPreItemNo(); } - fpc_ProcID partner_id = fopAcM_createItemForPresentDemo( - ¤t.pos, item_no, 3, -1, fopAcM_GetRoomNo(this), &shape_angle, &scale); - dComIfGp_event_setItemPartnerId(partner_id); + dComIfGp_event_setItemPartnerId(fopAcM_createItemForPresentDemo( + ¤t.pos, item_no, 3, -1, fopAcM_GetRoomNo(this), &shape_angle, &scale)); } keepItemData(); @@ -1101,29 +1117,28 @@ void daAlink_c::setTradeItemOutHand() { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; if (frame_ctrl->getFrame() >= 59.0f) { - field_0x2f92 = 4; + mLeftHandIndex = 4; } else if (frame_ctrl->getFrame() >= 20.0f) { - field_0x2f92 = 0; + mLeftHandIndex = 0; } } -BOOL daAlink_c::checkEndMessage(u32 param_0) { +BOOL daAlink_c::checkEndMessage(u32 i_msgIdx) { if (mMsgClassID == fpcM_ERROR_PROCESS_ID_e) { - mMsgClassID = fopMsgM_messageSet(param_0, 1000); + mMsgClassID = fopMsgM_messageSet(i_msgIdx, 1000); } else { msg_class* msg = fopMsgM_SearchByID(mMsgClassID); - if (msg != NULL) { - if (msg->mode == 14) { - msg->mode = 16; - } else if (msg->mode == 0x12) { - msg->mode = 0x13; - return 1; + if (msg->mode == fopMsg_MODE_MSG_DISPLAYED_e) { + msg->mode = fopMsg_MODE_MSG_END_e; + } else if (msg->mode == fopMsg_MODE_BOX_CLOSED_e) { + msg->mode = fopMsg_MODE_MSG_DESTROYED_e; + return TRUE; } } } - return 0; + return FALSE; } u8 daAlink_c::setDemoRightHandIndex(u16 param_0) { @@ -1175,7 +1190,7 @@ void daAlink_c::setDemoRide(u16 param_0) { onModeFlg(0x400); horse_p->onRideFlg(); field_0x384c = (cXyz*)&l_horseBaseAnime; - mRideStatus = 1; + mRideStatus = RIDETYPE_HORSE; } } else { if (horse_p != NULL) { @@ -1187,30 +1202,30 @@ void daAlink_c::setDemoRide(u16 param_0) { } } -void daAlink_c::setDemoBodyBck(dDemo_actor_c* param_0, u16 param_1) { - J3DAnmTransform* bck = (J3DAnmTransform*)mUnderAnmHeap[0].loadDataDemoRID(param_1, 0); +void daAlink_c::setDemoBodyBck(dDemo_actor_c* i_demoActor, u16 i_resID) { + daPy_anmHeap_c* anmHeap = mUnderAnmHeap; + J3DAnmTransform* bck = (J3DAnmTransform*)anmHeap->loadDataDemoRID(i_resID, 0); if (bck != NULL) { setFrameCtrl(mUnderFrameCtrl, bck->getAttribute(), 0, bck->getFrameMax(), 1.0f, 0.0f); mNowAnmPackUnder[0].setAnmTransform(bck); mNowAnmPackUpper[0].setAnmTransform(bck); dDemo_actor_c* demo_actor_p = dDemo_c::getActor(demoActorID); - if (demo_actor_p->checkEnable(0x80)) { + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_ANM_TRANSITION_e)) { field_0x2060->initOldFrameMorf(demo_actor_p->getPrm_Morf(), 0, field_0x30c6); } field_0x2f8c = 0; - param_0->setAnmFrameMax(bck->getFrameMax()); + i_demoActor->setAnmFrameMax(bck->getFrameMax()); setBasAnime(UNDER_0); } } - BOOL daAlink_c::checkFinalBattle() { return checkStageName("D_MN09B") && dComIfGs_isSaveDunSwitch(1); } -BOOL daAlink_c::checkRestartDead(int i_dmgAmount, int i_checkZoraMag) { +BOOL daAlink_c::checkRestartDead(int i_dmgAmount, BOOL i_checkZoraMag) { i_dmgAmount *= (int)damageMagnification(i_checkZoraMag, 1); if (mProcID != PROC_DEAD && i_dmgAmount >= dComIfGs_getLife() && !checkMagicArmorNoDamage() && @@ -1218,10 +1233,10 @@ BOOL daAlink_c::checkRestartDead(int i_dmgAmount, int i_checkZoraMag) { { onNoResetFlg2(FLG2_FORCE_GAMEOVER); procCoDeadInit(0); - return 1; + return TRUE; } - return 0; + return FALSE; } void daAlink_c::setDeadRideSyncPos() { @@ -1256,14 +1271,14 @@ BOOL daAlink_c::checkDeadAction(int param_0) { offCargoCarry(); - int var_r29; + int poly_exitId; if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && -G_CM3D_F_INF != mLinkAcch.GetGroundH()) { - var_r29 = dComIfG_Bgsp().GetExitId(mLinkAcch.m_gnd); + poly_exitId = dComIfG_Bgsp().GetExitId(mLinkAcch.m_gnd); } else { - var_r29 = 0x3F; + poly_exitId = 0x3F; } - if (((var_r29 != 0x3F || mExitID != 0x3F) && field_0x3174 == 5 && field_0x33c8 - current.pos.y > 500.0f) || ((mExitID & 0x8000) && checkModeFlg(2))) { + if (((poly_exitId != 0x3F || mExitID != 0x3F) && mGroundCode == 5 && field_0x33c8 - current.pos.y > 500.0f) || ((mExitID & 0x8000) && checkModeFlg(2))) { onNoResetFlg2(FLG2_FORCE_GAMEOVER); return procCoDeadInit(0); } @@ -1279,24 +1294,24 @@ BOOL daAlink_c::checkDeadAction(int param_0) { return 0; } -void daAlink_c::setHighModelBck(mDoExt_bckAnm* i_bck, u16 i_anmID) { - if (i_bck != NULL) { - J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectIDRes( - dStage_roomControl_c::getDemoArcName(), i_anmID); +void daAlink_c::setHighModelBck(mDoExt_bckAnm* i_bck, u16 i_resID) { + if (i_bck == NULL) { + return; + } - if (bck != NULL && i_bck->getBckAnm() != bck) { - if (field_0x06b4 == bck) { - mpDemoHDTmpBck->changeBckOnly(NULL); - } else { - i_bck->init(bck, TRUE, -1, 1.0f, 0, -1, true); - } + J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), i_resID); + if (bck != NULL && i_bck->getBckAnm() != bck) { + if (field_0x06b4 == bck) { + mpDemoHDTmpBck->changeBckOnly(NULL); + } else { + i_bck->init(bck, TRUE, -1, 1.0f, 0, -1, true); } } } -void daAlink_c::setHighModelFaceBtk(u16 i_anmID) { +void daAlink_c::setHighModelFaceBtk(u16 i_resID) { J3DAnmTextureSRTKey* btk = static_cast(dComIfG_getObjectIDRes( - dStage_roomControl_c::getDemoArcName(), i_anmID)); + dStage_roomControl_c::getDemoArcName(), i_resID)); if (btk && field_0x068c != btk) { btk->searchUpdateMaterialID(mpDemoFCTongueModel->getModelData()); @@ -1307,111 +1322,109 @@ void daAlink_c::setHighModelFaceBtk(u16 i_anmID) { } } -void daAlink_c::setDemoBrk(J3DAnmTevRegKey** param_0, J3DModel* param_1, u16 i_anmID) { +void daAlink_c::setDemoBrk(J3DAnmTevRegKey** o_ppbrk, J3DModel* i_model, u16 i_resID) { J3DAnmTevRegKey* brk = static_cast(dComIfG_getObjectIDRes( - dStage_roomControl_c::getDemoArcName(), i_anmID)); + dStage_roomControl_c::getDemoArcName(), i_resID)); - if (brk != NULL && *param_0 != brk) { - brk->searchUpdateMaterialID(param_1->getModelData()); - param_1->getModelData()->entryTevRegAnimator(brk); + if (brk != NULL && *o_ppbrk != brk) { + brk->searchUpdateMaterialID(i_model->getModelData()); + i_model->getModelData()->entryTevRegAnimator(brk); brk->setFrame(0.0f); - *param_0 = brk; + *o_ppbrk = brk; } } -f32 daAlink_c::setStickAnmData(J3DAnmBase* i_anm, int param_1, int param_2, u16 param_3, - int param_4) { +f32 daAlink_c::setStickAnmData(J3DAnmBase* i_anm, int i_arg1, int i_arg2, u16 i_resID, + int i_stickDirection) { dDemo_actor_c* demo_actor_p = dDemo_c::getActor(demoActorID); - f32 var_f31; + f32 frame; if (i_anm != NULL) { - var_f31 = i_anm->getFrame(); + frame = i_anm->getFrame(); } else { - var_f31 = 0.0f; + frame = 0.0f; } - if (param_4 == 0 || (checkInputOnR() && param_4 == getDirectionFromAngle(mStickAngle) + 1)) { - if (param_4 != 0) { + if (i_stickDirection == 0 || (checkInputOnR() && i_stickDirection == getDirectionFromAngle(mStickAngle) + 1)) { + if (i_stickDirection != 0) { dDemo_c::setBranchId(1, 1); } - if (param_1 == 1) { - if (param_2 == 2) { - setDemoBodyBck(demo_actor_p, param_3); + if (i_arg1 == 1) { + if (i_arg2 == 2) { + setDemoBodyBck(demo_actor_p, i_resID); - if (param_4 == 0) { - if (demo_actor_p->checkEnable(0x40)) { - var_f31 = demo_actor_p->getAnmFrame(); + if (i_stickDirection == 0) { + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_ANM_FRAME_e)) { + frame = demo_actor_p->getAnmFrame(); } else { - var_f31 = 0.0f; + frame = 0.0f; } } } - } else if (param_1 == 9) { - if (param_2 == 2) { + } else if (i_arg1 == 9) { + if (i_arg2 == 2) { if (checkNoResetFlg1(FLG1_UNK_10)) { - setHighModelBck(mpDemoFCTmpBck, param_3); + setHighModelBck(mpDemoFCTmpBck, i_resID); return 0.0f; } - setFaceDemoBck(param_3); - } else if (param_2 == 3) { + setFaceDemoBck(i_resID); + } else if (i_arg2 == 3) { if (checkNoResetFlg1(FLG1_UNK_10)) { - setHighModelFaceBtk(param_3); + setHighModelFaceBtk(i_resID); return 0.0f; } - setFaceDemoBtk(param_3); - } else if (param_2 == 5) { - setFaceDemoBtp(param_3); + setFaceDemoBtk(i_resID); + } else if (i_arg2 == 5) { + setFaceDemoBtp(i_resID); } - if (param_4 != 0 && i_anm != NULL) { - for (; var_f31 > i_anm->getFrameMax(); var_f31 -= i_anm->getFrameMax()) { - } - i_anm->setFrame(var_f31); + if (i_stickDirection != 0 && i_anm != NULL) { + for (; frame > i_anm->getFrameMax(); frame -= i_anm->getFrameMax()) {} + i_anm->setFrame(frame); } - } else if (param_1 == 5) { - setHighModelBck(mpDemoHRTmpBck, param_3); - } else if (param_1 == 6) { - setHighModelBck(mpDemoHLTmpBck, param_3); - } else if (param_1 == 4) { - setHighModelBck(mpDemoHDTmpBck, param_3); + } else if (i_arg1 == 5) { + setHighModelBck(mpDemoHRTmpBck, i_resID); + } else if (i_arg1 == 6) { + setHighModelBck(mpDemoHLTmpBck, i_resID); + } else if (i_arg1 == 4) { + setHighModelBck(mpDemoHDTmpBck, i_resID); } } - if (param_4 != 0 && i_anm != NULL) { - for (; var_f31 > i_anm->getFrameMax(); var_f31 -= i_anm->getFrameMax()) { - } + if (i_stickDirection != 0 && i_anm != NULL) { + for (; frame > i_anm->getFrameMax(); frame -= i_anm->getFrameMax()) {} } - return var_f31; + return frame; } -static int daAlink_c_getDemoIDData(dDemo_actor_c* param_0, int* param_1, int* param_2, - int* param_3, u16* param_4, int* param_5, int* param_6) { - JStudio::stb::TParseData_fixed<51, TValueIterator_misaligned > sp30(param_0->getPrm()->getData()); +static int daAlink_c_getDemoIDData(dDemo_actor_c* i_demoActor, int* o_arg0, int* o_arg1, + int* o_arg2, u16* o_resID, int* o_stickDirection, int* param_6) { + JStudio::stb::TParseData_fixed<51, TValueIterator_misaligned > parseData(i_demoActor->getPrm()->getData()); static JStudio::stb::TParseData_fixed<51, TValueIterator_misaligned > dummy; static JGadget::binary::TValueIterator_misaligned it(dummy.begin()); - if (it == sp30.end()) { + if (it == parseData.end()) { it = dummy.begin(); return 0; } if (it == dummy.begin()) { - it = sp30.begin(); + it = parseData.begin(); } - u32 var_r31 = *it; - *param_1 = var_r31 >> 0x1E; - *param_2 = (var_r31 >> 0x18) & 0xF; - *param_6 = (var_r31 >> 0x17) & 1; - *param_3 = (var_r31 >> 0x10) & 0xF; - *param_4 = var_r31 & 0xFFFF; - *param_5 = (var_r31 >> 0x14) & 7; + u32 u32data = *it; + *o_arg0 = u32data >> 0x1E; + *o_arg1 = (u32data >> 0x18) & 0xF; + *param_6 = (u32data >> 0x17) & 1; + *o_arg2 = (u32data >> 0x10) & 0xF; + *o_resID = u32data & 0xFFFF; + *o_stickDirection = (u32data >> 0x14) & 7; it++; return 1; @@ -1450,7 +1463,7 @@ int daAlink_c::procCoToolDemoInit() { field_0x3478 = 0.0f; field_0x37c8 = current.pos; - onEndResetFlg1(ERFLG1_GANON_FINISH); + onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); return 1; } @@ -1458,73 +1471,82 @@ int daAlink_c::procCoToolDemo() { dDemo_actor_c* demo_actor_p = dDemo_c::getActor(demoActorID); BOOL var_r29 = 0; - onEndResetFlg1(ERFLG1_GANON_FINISH); + onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); field_0x3198 = 0; mProcVar4.field_0x3010 = 0; field_0x2fab = 0; if (demo_actor_p != NULL) { - f32 var_f31 = 0.0f; + u16 spA = (mDemo.getDemoMode() >> 9) - 1; + f32 anm_frame = 0.0f; - if (demo_actor_p->checkEnable(2)) { + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_TRANS_e)) { current.pos = demo_actor_p->getTrans(); } - if (demo_actor_p->checkEnable(8)) { + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_ROTATE_e)) { shape_angle = demo_actor_p->getRatate(); current.angle = shape_angle; } - if (demo_actor_p->checkEnable(0x40)) { - var_f31 = demo_actor_p->getAnmFrame(); + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_ANM_FRAME_e)) { + anm_frame = demo_actor_p->getAnmFrame(); } - if (demo_actor_p->checkEnable(1)) { - int sp1C; - int sp18; - int sp14; - int sp10; + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_ANM_TRANSITION_e)) { + + } + + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_UNK_e)) { + int arg0; + int arg1; + int arg2; + int stickDirection; int spC; - u16 sp8; - while (daAlink_c_getDemoIDData(demo_actor_p, &sp1C, &sp18, &sp14, &sp8, &sp10, &spC)) { - if (sp10 != 0 && dDemo_c::getBranchId() == -1) { + u16 resID; + while (daAlink_c_getDemoIDData(demo_actor_p, &arg0, &arg1, &arg2, &resID, &stickDirection, &spC)) { + if (stickDirection != 0 && dDemo_c::getBranchId() == -1) { dDemo_c::setBranchId(1, 0); + + #if VERSION == VERSION_SHIELD_DEBUG + dDemo_c::setBranchNum(2); + #endif } - if (sp1C == 0) { - if (sp18 == 5) { - field_0x2f93 = setDemoRightHandIndex(sp8); - } else if (sp18 == 6) { - field_0x2f92 = setDemoLeftHandIndex(sp8); - } else if (sp18 == 9) { - if (sp8 == 1 && mpDemoFCBlendModel != NULL && mpDemoFCTongueModel != NULL) { + if (arg0 == 0) { + if (arg1 == 5) { + mRightHandIndex = setDemoRightHandIndex(resID); + } else if (arg1 == 6) { + mLeftHandIndex = setDemoLeftHandIndex(resID); + } else if (arg1 == 9) { + if (resID == 1 && mpDemoFCBlendModel != NULL && mpDemoFCTongueModel != NULL) { onNoResetFlg1(FLG1_UNK_10); - var_r29 = 1; + var_r29 = TRUE; } else { endHighModel(); } - } else if (sp18 == 7) { - if (sp8 == 1) { + } else if (arg1 == 7) { + if (resID == 1) { field_0x2fab |= 2; } - } else if (sp18 == 8) { - if (sp8 == 1) { + } else if (arg1 == 8) { + if (resID == 1) { field_0x2fab |= 1; } - } else if (sp18 == 0) { - if (sp14 == 1) { - field_0x3198 = sp8; - } else if (sp14 == 2) { - setDemoRide(sp8); - } else if (sp14 == 4 && - (mProcVar2.field_0x300c == 0 || (sp8 != 0 && mProcVar2.field_0x300c == 1) || - (sp8 == 0 && mProcVar2.field_0x300c == 2))) + } else if (arg1 == 0) { + if (arg2 == 1) { + field_0x3198 = resID; + } else if (arg2 == 2) { + setDemoRide(resID); + } else if (arg2 == 4 && + (mProcVar2.field_0x300c == 0 || (resID != 0 && mProcVar2.field_0x300c == 1) || + (resID == 0 && mProcVar2.field_0x300c == 2))) { if (mProcVar2.field_0x300c == 0) { changeWarpMaterial(WARP_MAT_MODE_0); } - if (sp8 != 0) { + if (resID != 0) { field_0x3484 = 1.0f; field_0x3480 = -0.5f; @@ -1550,76 +1572,75 @@ int daAlink_c::procCoToolDemo() { } } } - } else if (sp1C == 1) { + } else if (arg0 == 1) { JUT_ASSERT(2345, FALSE); - } else if (sp1C == 2) { - if (sp18 == 1) { - if (sp14 == 2) { - var_f31 = - setStickAnmData(getNowAnmPackUnder(UNDER_0), sp18, sp14, sp8, sp10); - } else if (sp14 == 4) { + } else if (arg0 == 2) { + if (arg1 == 1) { + if (arg2 == 2) { + anm_frame = setStickAnmData(getNowAnmPackUnder(UNDER_0), arg1, arg2, resID, stickDirection); + } else if (arg2 == 4) { J3DAnmTevRegKey* btk_p = (J3DAnmTevRegKey*)dComIfG_getObjectIDRes( - dStage_roomControl_c::getDemoArcName(), sp8); + dStage_roomControl_c::getDemoArcName(), resID); if (btk_p != NULL && field_0x06f4 != btk_p) { btk_p->setFrame(0.0f); field_0x06f4 = btk_p; } if (btk_p != NULL && spC == 0) { - btk_p->setFrame(var_f31); + btk_p->setFrame(anm_frame); } } - } else if (sp18 == 4) { - if (sp14 == 2) { - setStickAnmData(NULL, sp18, sp14, sp8, sp10); + } else if (arg1 == 4) { + if (arg2 == 2) { + setStickAnmData(NULL, arg1, arg2, resID, stickDirection); if (mpDemoHDTmpBck != NULL && spC == 0) { - mpDemoHDTmpBck->setFrame(var_f31); + mpDemoHDTmpBck->setFrame(anm_frame); } } - } else if (sp18 == 6) { - if (sp14 == 2) { - setStickAnmData(NULL, sp18, sp14, sp8, sp10); + } else if (arg1 == 6) { + if (arg2 == 2) { + setStickAnmData(NULL, arg1, arg2, resID, stickDirection); if (mpDemoHLTmpBck != NULL && spC == 0) { - mpDemoHLTmpBck->setFrame(var_f31); + mpDemoHLTmpBck->setFrame(anm_frame); } - } else if (sp14 == 4 && field_0x2f92 == 0xFB) { - setDemoBrk(&field_0x06f8, mpDemoHLTmpModel, sp8); + } else if (arg2 == 4 && mLeftHandIndex == 0xFB) { + setDemoBrk(&field_0x06f8, mpDemoHLTmpModel, resID); if (field_0x06f8 != NULL && spC == 0) { - field_0x06f8->setFrame(var_f31); + field_0x06f8->setFrame(anm_frame); } } - } else if (sp18 == 5) { - if (sp14 == 2) { - setStickAnmData(NULL, sp18, sp14, sp8, sp10); + } else if (arg1 == 5) { + if (arg2 == 2) { + setStickAnmData(NULL, arg1, arg2, resID, stickDirection); if (mpDemoHRTmpBck != NULL && spC == 0) { - mpDemoHRTmpBck->setFrame(var_f31); + mpDemoHRTmpBck->setFrame(anm_frame); } } - } else if (sp18 == 9) { - if (sp14 == 2) { - setStickAnmData(field_0x2164.getBckAnm(), sp18, sp14, sp8, sp10); + } else if (arg1 == 9) { + if (arg2 == 2) { + setStickAnmData(mFaceBck.getBckAnm(), arg1, arg2, resID, stickDirection); if (mpDemoFCTmpBck != NULL && spC == 0) { - mpDemoFCTmpBck->setFrame(var_f31); + mpDemoFCTmpBck->setFrame(anm_frame); } - } else if (sp14 == 3) { - setStickAnmData(mpFaceBtk, sp18, sp14, sp8, sp10); + } else if (arg2 == 3) { + setStickAnmData(mpFaceBtk, arg1, arg2, resID, stickDirection); if (mpFaceBtk != NULL && spC == 0) { - mpFaceBtk->setFrame(var_f31); + mpFaceBtk->setFrame(anm_frame); } - } else if (sp14 == 5) { - setStickAnmData(field_0x2154, sp18, sp14, sp8, sp10); + } else if (arg2 == 5) { + setStickAnmData(mpFaceBtp, arg1, arg2, resID, stickDirection); - if (field_0x2154 != NULL && spC == 0) { - field_0x2154->setFrame(var_f31); + if (mpFaceBtp != NULL && spC == 0) { + mpFaceBtp->setFrame(anm_frame); } - } else if (sp14 == 7) { + } else if (arg2 == 7) { J3DAnmCluster* blk_p = (J3DAnmCluster*)dComIfG_getObjectIDRes( - dStage_roomControl_c::getDemoArcName(), sp8); + dStage_roomControl_c::getDemoArcName(), resID); if (field_0x0698 != blk_p) { field_0x0698 = blk_p; field_0x069c->init(mpDemoFCTmpBls, field_0x0698, FALSE, @@ -1629,7 +1650,7 @@ int daAlink_c::procCoToolDemo() { if (spC == 0) { if (field_0x069c != NULL && field_0x069c->getBlkAnm() != NULL) { - field_0x069c->getBlkAnm()->setFrame(var_f31); + field_0x069c->getBlkAnm()->setFrame(anm_frame); } } } @@ -1638,10 +1659,10 @@ int daAlink_c::procCoToolDemo() { } } - if (demo_actor_p->checkEnable(0x40)) { - getNowAnmPackUnder(UNDER_0)->setFrame(var_f31); + if (demo_actor_p->checkEnable(dDemo_actor_c::ENABLE_ANM_FRAME_e)) { + getNowAnmPackUnder(UNDER_0)->setFrame(anm_frame); demo_actor_p->setAnmFrameMax(getNowAnmPackUnder(UNDER_0)->getFrameMax()); - mUnderFrameCtrl[0].setFrame(var_f31); + mUnderFrameCtrl[0].setFrame(anm_frame); } } @@ -1660,7 +1681,6 @@ int daAlink_c::procCoToolDemo() { return 1; } - int daAlink_c::procCoTalkInit() { if (mProcID == PROC_TALK) { return 0; @@ -1724,7 +1744,6 @@ int daAlink_c::procCoTalkInit() { return 1; } - int daAlink_c::procCoTalk() { if (dComIfGp_checkPlayerStatus0(0, 0x8000000)) { field_0x2f99 = 13; @@ -1738,12 +1757,11 @@ int daAlink_c::procCoTalk() { if (mLinkAcch.ChkWallHit()) { dBgS_AcchCir* acchCir_p = mAcchCir; - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 3; i++, acchCir_p++) { if (acchCir_p->ChkWallHit()) { var_r30 = cLib_distanceAngleS(acchCir_p->GetWallAngleY(), current.angle.y); break; } - acchCir_p++; } } @@ -1775,7 +1793,6 @@ int daAlink_c::procCoTalk() { return 1; } - int daAlink_c::procCoOpenTreasureInit() { if (!commonProcInitNotSameProc(PROC_OPEN_TREASURE)) { return 1; @@ -1837,7 +1854,6 @@ int daAlink_c::procCoOpenTreasureInit() { return 1; } - int daAlink_c::procCoOpenTreasure() { onEndResetFlg1(ERFLG1_UNK_8); @@ -1888,16 +1904,14 @@ int daAlink_c::procCoUnequipInit() { return 1; } - int daAlink_c::procCoUnequip() { if (mProcVar2.field_0x300c != 0) { if (checkAnmEnd(mUnderFrameCtrl)) { setBlendMoveAnime(3.0f); itemEquip(fpcNm_ITEM_COPY_ROD); - f32 tmp_6 = 6.0f; - mUpperFrameCtrl[2].setFrame(tmp_6); - getNowAnmPackUpper(UPPER_2)->setFrame(tmp_6); + mUpperFrameCtrl[2].setFrame(6.0f); + getNowAnmPackUpper(UPPER_2)->setFrame(6.0f); commonChangeItem(); mProcVar2.field_0x300c = 0; } @@ -1914,24 +1928,275 @@ int daAlink_c::procCoUnequip() { return 1; } -void daAlink_c::setGetSubBgm(int i_seTypeIdx) { - static u8 const getSeType[255] = { - 0x08, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x08, 0x08, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x08, 0x08, 0x08, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x08, - 0x02, 0x02, 0x00, 0x01, 0x01, 0x02, 0x01, 0x08, 0x01, 0x08, 0x01, 0x01, 0x01, 0x08, 0x08, 0x08, - 0x01, 0x01, 0x08, 0x02, 0x08, 0x01, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x01, 0x01, 0x02, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 0x01, - 0x01, 0x01, 0x08, 0x08, 0x08, 0x01, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x08, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x08, 0x08, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x02, 0x02, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x02, 0x01, 0x02, 0x02, - 0x08, 0x01, 0x01, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, - 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x06, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x08, - 0x08, 0x08, 0x08, 0x02, 0x03, 0x03, 0x01, 0x08, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, +void daAlink_c::setGetSubBgm(int i_itemNo) { + enum { + SETYPE_HEART, + SETYPE_ITEM_GET, + SETYPE_ITEM_GET_MINI, + SETYPE_ITEM_GET_ME, + SETYPE_ITEM_GET_INSECT, + SETYPE_ITEM_GET_SMELL, + SETYPE_ITEM_GET_POU, + SETYPE_ITEM_GET_ME_S, + SETYPE_NONE, + }; + + static const u8 getSeType[255] = { + /* fpcNm_ITEM_HEART */ SETYPE_NONE, + /* fpcNm_ITEM_GREEN_RUPEE */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_BLUE_RUPEE */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_YELLOW_RUPEE */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_RED_RUPEE */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_PURPLE_RUPEE */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_ORANGE_RUPEE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_SILVER_RUPEE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_S_MAGIC */ SETYPE_NONE, + /* fpcNm_ITEM_L_MAGIC */ SETYPE_NONE, + /* fpcNm_ITEM_BOMB_5 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_BOMB_10 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_BOMB_20 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_BOMB_30 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_ARROW_10 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_ARROW_20 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_ARROW_30 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_ARROW_1 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_PACHINKO_SHOT */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_NOENTRY_19 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_20 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_21 */ SETYPE_NONE, + /* fpcNm_ITEM_WATER_BOMB_5 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_WATER_BOMB_10 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_WATER_BOMB_20 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_WATER_BOMB_30 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_BOMB_INSECT_5 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_BOMB_INSECT_10 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_BOMB_INSECT_20 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_BOMB_INSECT_30 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_RECOVERY_FAILY */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_TRIPLE_HEART */ SETYPE_NONE, + /* fpcNm_ITEM_SMALL_KEY */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_KAKERA_HEART */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_UTAWA_HEART */ SETYPE_HEART, + /* fpcNm_ITEM_MAP */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_COMPUS */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_DUNGEON_EXIT */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_BOSS_KEY */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_DUNGEON_BACK */ SETYPE_NONE, + /* fpcNm_ITEM_SWORD */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_MASTER_SWORD */ SETYPE_NONE, + /* fpcNm_ITEM_WOOD_SHIELD */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_SHIELD */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_HYLIA_SHIELD */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_TKS_LETTER */ SETYPE_NONE, + /* fpcNm_ITEM_WEAR_CASUAL */ SETYPE_NONE, + /* fpcNm_ITEM_WEAR_KOKIRI */ SETYPE_NONE, + /* fpcNm_ITEM_ARMOR */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_WEAR_ZORA */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_MAGIC_LV1 */ SETYPE_NONE, + /* fpcNm_ITEM_DUNGEON_EXIT_2 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_WALLET_LV1 */ SETYPE_NONE, + /* fpcNm_ITEM_WALLET_LV2 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_WALLET_LV3 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_NOENTRY_55 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_56 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_57 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_58 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_59 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_60 */ SETYPE_NONE, + /* fpcNm_ITEM_ZORAS_JEWEL */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_HAWK_EYE */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_WOOD_STICK */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_BOOMERANG */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_SPINNER */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_IRONBALL */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_BOW */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_HOOKSHOT */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_HVY_BOOTS */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_COPY_ROD */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_W_HOOKSHOT */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_KANTERA */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_LIGHT_SWORD */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_FISHING_ROD_1 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_PACHINKO */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_COPY_ROD_2 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_NOENTRY_77 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_78 */ SETYPE_NONE, + /* fpcNm_ITEM_BOMB_BAG_LV2 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_BOMB_BAG_LV1 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_BOMB_IN_BAG */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_NOENTRY_82 */ SETYPE_NONE, + /* fpcNm_ITEM_LIGHT_ARROW */ SETYPE_NONE, + /* fpcNm_ITEM_ARROW_LV1 */ SETYPE_NONE, + /* fpcNm_ITEM_ARROW_LV2 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_ARROW_LV3 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_NOENTRY_87 */ SETYPE_NONE, + /* fpcNm_ITEM_LURE_ROD */ SETYPE_NONE, + /* fpcNm_ITEM_BOMB_ARROW */ SETYPE_NONE, + /* fpcNm_ITEM_HAWK_ARROW */ SETYPE_NONE, + /* fpcNm_ITEM_BEE_ROD */ SETYPE_NONE, + /* fpcNm_ITEM_JEWEL_ROD */ SETYPE_NONE, + /* fpcNm_ITEM_WORM_ROD */ SETYPE_NONE, + /* fpcNm_ITEM_JEWEL_BEE_ROD */ SETYPE_NONE, + /* fpcNm_ITEM_JEWEL_WORM_ROD */ SETYPE_NONE, + /* fpcNm_ITEM_EMPTY_BOTTLE */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_RED_BOTTLE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_GREEN_BOTTLE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_BLUE_BOTTLE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_MILK_BOTTLE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_HALF_MILK_BOTTLE */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_OIL_BOTTLE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_WATER_BOTTLE */ SETYPE_NONE, + /* fpcNm_ITEM_OIL_BOTTLE_2 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_RED_BOTTLE_2 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_UGLY_SOUP */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_HOT_SPRING */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_FAIRY */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_HOT_SPRING_2 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_OIL2 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_OIL */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_NORMAL_BOMB */ SETYPE_NONE, + /* fpcNm_ITEM_WATER_BOMB */ SETYPE_NONE, + /* fpcNm_ITEM_POKE_BOMB */ SETYPE_NONE, + /* fpcNm_ITEM_FAIRY_DROP */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_WORM */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_DROP_BOTTLE */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_BEE_CHILD */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_CHUCHU_RARE */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_CHUCHU_RED */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_CHUCHU_BLUE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_CHUCHU_GREEN */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_CHUCHU_YELLOW */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_CHUCHU_PURPLE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_LV1_SOUP */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_LV2_SOUP */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_LV3_SOUP */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_LETTER */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_BILL */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_WOOD_STATUE */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_IRIAS_PENDANT */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_HORSE_FLUTE */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_133 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_134 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_135 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_136 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_137 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_138 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_139 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_140 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_141 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_142 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_143 */ SETYPE_NONE, + /* fpcNm_ITEM_RAFRELS_MEMO */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_ASHS_SCRIBBLING */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_NOENTRY_146 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_147 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_148 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_149 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_150 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_151 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_152 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_153 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_154 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_155 */ SETYPE_NONE, + /* fpcNm_ITEM_CHUCHU_YELLOW2 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_OIL_BOTTLE3 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_SHOP_BEE_CHILD */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_CHUCHU_BLACK */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_LIGHT_DROP */ SETYPE_NONE, + /* fpcNm_ITEM_DROP_CONTAINER */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_DROP_CONTAINER02 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_DROP_CONTAINER03 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_FILLED_CONTAINER */ SETYPE_NONE, + /* fpcNm_ITEM_MIRROR_PIECE_2 */ SETYPE_NONE, + /* fpcNm_ITEM_MIRROR_PIECE_3 */ SETYPE_NONE, + /* fpcNm_ITEM_MIRROR_PIECE_4 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_168 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_169 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_170 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_171 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_172 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_173 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_174 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_175 */ SETYPE_NONE, + /* fpcNm_ITEM_SMELL_YELIA_POUCH */ SETYPE_ITEM_GET_SMELL, + /* fpcNm_ITEM_SMELL_PUMPKIN */ SETYPE_ITEM_GET_SMELL, + /* fpcNm_ITEM_SMELL_POH */ SETYPE_ITEM_GET_SMELL, + /* fpcNm_ITEM_SMELL_FISH */ SETYPE_ITEM_GET_SMELL, + /* fpcNm_ITEM_SMELL_CHILDREN */ SETYPE_ITEM_GET_SMELL, + /* fpcNm_ITEM_SMELL_MEDICINE */ SETYPE_ITEM_GET_SMELL, + /* fpcNm_ITEM_NOENTRY_182 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_183 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_184 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_185 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_186 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_187 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_188 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_189 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_190 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_191 */ SETYPE_NONE, + /* fpcNm_ITEM_M_BEETLE */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_BEETLE */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_BUTTERFLY */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_BUTTERFLY */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_STAG_BEETLE */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_STAG_BEETLE */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_GRASSHOPPER */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_GRASSHOPPER */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_NANAFUSHI */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_NANAFUSHI */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_DANGOMUSHI */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_DANGOMUSHI */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_MANTIS */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_MANTIS */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_LADYBUG */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_LADYBUG */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_SNAIL */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_SNAIL */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_DRAGONFLY */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_DRAGONFLY */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_ANT */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_ANT */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_M_MAYFLY */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_F_MAYFLY */ SETYPE_ITEM_GET_INSECT, + /* fpcNm_ITEM_NOENTRY_216 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_217 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_218 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_219 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_220 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_221 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_222 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_223 */ SETYPE_NONE, + /* fpcNm_ITEM_POU_SPIRIT */ SETYPE_ITEM_GET_POU, + /* fpcNm_ITEM_NOENTRY_225 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_226 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_227 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_228 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_229 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_230 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_231 */ SETYPE_NONE, + /* fpcNm_ITEM_NOENTRY_232 */ SETYPE_NONE, + /* fpcNm_ITEM_ANCIENT_DOCUMENT */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_AIR_LETTER */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_ANCIENT_DOCUMENT2 */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_LV7_DUNGEON_EXIT */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_LINKS_SAVINGS */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_SMALL_KEY2 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_POU_FIRE1 */ SETYPE_NONE, + /* fpcNm_ITEM_POU_FIRE2 */ SETYPE_NONE, + /* fpcNm_ITEM_POU_FIRE3 */ SETYPE_NONE, + /* fpcNm_ITEM_POU_FIRE4 */ SETYPE_NONE, + /* fpcNm_ITEM_BOSSRIDER_KEY */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_TOMATO_PUREE */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_TASTE */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_LV5_BOSS_KEY */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_SURFBOARD */ SETYPE_NONE, + /* fpcNm_ITEM_KANTERA2 */ SETYPE_ITEM_GET_ME, + /* fpcNm_ITEM_L2_KEY_PIECES1 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_L2_KEY_PIECES2 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_L2_KEY_PIECES3 */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_KEY_OF_CARAVAN */ SETYPE_ITEM_GET_MINI, + /* fpcNm_ITEM_LV2_BOSS_KEY */ SETYPE_ITEM_GET, + /* fpcNm_ITEM_KEY_OF_FILONE */ SETYPE_ITEM_GET_MINI, }; static u32 const bgmLabel[8] = { @@ -1939,13 +2204,13 @@ void daAlink_c::setGetSubBgm(int i_seTypeIdx) { Z2BGM_ITEM_GET_INSECT, Z2BGM_ITEM_GET_SMELL, Z2BGM_ITEM_GET_POU, Z2BGM_ITEM_GET_ME_S, }; - u32 se_type = getSeType[i_seTypeIdx]; + u32 se_type = getSeType[i_itemNo]; - if (se_type == 3 && mProcVar4.field_0x3010 == 0) { - se_type = 7; + if (se_type == SETYPE_ITEM_GET_ME && mProcVar4.field_0x3010 == 0) { + se_type = SETYPE_ITEM_GET_ME_S; } - if (se_type != 8) { + if (se_type != SETYPE_NONE) { mDoAud_subBgmStart(bgmLabel[se_type]); dComIfGp_setMesgBgmOn(); } @@ -1966,8 +2231,9 @@ BOOL daAlink_c::checkTreasureRupeeReturn(int i_itemNo) const { } int daAlink_c::procCoGetItemInit() { - BOOL var_r31 = 0; - BOOL var_r30 = 0; + s16 var_r22 = 0; + BOOL var_r31 = FALSE; + BOOL var_r30 = FALSE; if (mProcID == PROC_GET_ITEM || mProcID == PROC_INSECT_CATCH || (mProcID == PROC_PREACTION_UNEQUIP && !checkNoUpperAnime())) { @@ -1976,18 +2242,18 @@ int daAlink_c::procCoGetItemInit() { if (mProcID == PROC_OPEN_TREASURE || mProcID == PROC_GET_READY_SIT) { if (mProcID == PROC_OPEN_TREASURE) { - var_r31 = 1; + var_r31 = TRUE; } - var_r30 = 1; + var_r30 = TRUE; } mLinkAcch.ClrWallNone(); if (!checkWolf() && mEquipItem != fpcNm_ITEM_NONE && var_r30 == 0) { - if (checkModeFlg(0x400) || (checkStageName("D_MN05B") && mEquipItem == fpcNm_ITEM_BOOMERANG && - !dComIfGs_isItemFirstBit(fpcNm_ITEM_BOOMERANG))) + if (checkModeFlg(0x400) || + (checkStageName("D_MN05B") && mEquipItem == fpcNm_ITEM_BOOMERANG && !dComIfGs_isItemFirstBit(fpcNm_ITEM_BOOMERANG))) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); } else { return procPreActionUnequipInit(PROC_GET_ITEM, NULL); } @@ -2044,9 +2310,10 @@ int daAlink_c::procCoGetItemInit() { if (checkReinRide()) { setSyncRidePos(); if (checkBoarRide()) { - setUnderAnime(0x26E, UNDER_2, 1.0f, 0.0f, -1, -1.0f); + setUnderAnime(dRes_ID_ALANM_BCK_WAITWA_e, UNDER_2, 1.0f, 0.0f, -1, -1.0f); } } + field_0x3478 = 9.0f; mProcVar1.field_0x300a = 1; } else { @@ -2076,8 +2343,7 @@ int daAlink_c::procCoGetItemInit() { } else if (mDemo.getParam1() == 2) { mProcVar3.field_0x300e = 0; } else { - mProcVar3.field_0x300e = - shape_angle.y - (fopCamM_GetAngleY(dComIfGp_getCamera(field_0x317c)) + 0x8000); + mProcVar3.field_0x300e = shape_angle.y - (fopCamM_GetAngleY(dComIfGp_getCamera(field_0x317c)) + 0x8000); s16 temp_r28 = mProcVar3.field_0x300e + 0x16C1; s16 temp_r31 = mProcVar3.field_0x300e - 0x16C1; @@ -2093,7 +2359,7 @@ int daAlink_c::procCoGetItemInit() { mProcVar0.field_0x3008 = 0; field_0x3198 = 0; field_0x32cc = 0; - mProcVar5.field_0x3012 = 0; + mProcVar5.field_0x3012 = var_r22; dKy_Itemgetcol_chg_on(); dComIfGp_setPlayerStatus1(0, 0x4000000); @@ -2104,7 +2370,6 @@ int daAlink_c::procCoGetItemInit() { return 1; } - int daAlink_c::procCoGetItem() { if (mProcVar4.field_0x3010 != 0) { onEndResetFlg1(ERFLG1_UNK_8); @@ -2285,8 +2550,7 @@ int daAlink_c::procCoGetItem() { current.angle.y = shape_angle.y; if (checkModeFlg(0x400)) { - setDoubleAnime(0.0f, 1.0f, 1.0f, ANM_HORSE_WAIT, ANM_HORSE_WAIT, 10, - 3.0f); + setDoubleAnime(0.0f, 1.0f, 1.0f, ANM_HORSE_WAIT, ANM_HORSE_WAIT, 10, 3.0f); field_0x2f99 = 0x60; } else { setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); @@ -2302,7 +2566,6 @@ int daAlink_c::procCoGetItem() { return 1; } - int daAlink_c::procCoTurnBackInit() { if (!commonProcInitNotSameProc(PROC_TURN_BACK)) { return 0; @@ -2339,14 +2602,13 @@ int daAlink_c::procCoTurnBack() { } else if (mProcVar2.field_0x300c != 0) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else if (!checkWolf() && frameCtrl_p->getFrame() >= 29.0f) { - field_0x2f92 = 1; - field_0x2f93 = 6; + mLeftHandIndex = 1; + mRightHandIndex = 6; } return 1; } - int daAlink_c::procDoorOpenInit() { if (!commonProcInitNotSameProc(PROC_DOOR_OPEN)) { return 1; @@ -2410,16 +2672,15 @@ int daAlink_c::procDoorOpenInit() { return 1; } - int daAlink_c::procDoorOpen() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (field_0x3198 == 0) { if (mProcVar2.field_0x300c == 0 && mProcVar4.field_0x3010 != 0) { if (frameCtrl_p->getFrame() >= 9.0f && frameCtrl_p->getFrame() < field_0x347c) { - field_0x2f92 = 3; + mLeftHandIndex = 3; } else { - field_0x2f92 = 4; + mLeftHandIndex = 4; } } else if (frameCtrl_p->checkPass(18.0f) && mProcVar3.field_0x300e != 0) { voiceStart(Z2SE_AL_V_PUSH_ROCK); @@ -2468,7 +2729,6 @@ int daAlink_c::procDoorOpen() { return 1; } - int daAlink_c::procCoLookWaitInit() { if (!commonProcInitNotSameProc(PROC_LOOK_WAIT)) { return 0; @@ -2497,7 +2757,6 @@ int daAlink_c::procCoLookWaitInit() { return 1; } - int daAlink_c::procCoLookWait() { fopAc_ac_c* look_actor_p = getDemoLookActor(); @@ -2565,12 +2824,12 @@ void daAlink_c::setMonkeyMoveAnime() { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; if (mDemo.getParam0() == 0) { - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; frame_ctrl->setFrame(0.0f); } else { - field_0x2f92 = 2; - field_0x2f93 = 5; + mLeftHandIndex = 2; + mRightHandIndex = 5; frame_ctrl->setFrame(1.0f); } @@ -2662,12 +2921,12 @@ int daAlink_c::procCoDeadInit(int param_0) { if (checkWolf()) { if (checkModeFlg(0x40000)) { setSingleAnimeWolfBase(WANM_SWIM_DIE); - setFaceBasicTexture(FTANM_UNK_9D); + setFaceBasicTexture(FTANM_WL_SWIMDIEA); dComIfGp_setPlayerStatus0(0, 0x100000); voiceStart(Z2SE_WL_V_DIE_WATER); } else { setSingleAnimeWolfBase(WANM_DIE); - setFaceBasicTexture(FTANM_UNK_9C); + setFaceBasicTexture(FTANM_WL_DIE); voiceStart(Z2SE_WL_V_DIE); } } else { @@ -2724,7 +2983,6 @@ int daAlink_c::procCoDeadInit(int param_0) { return 1; } - int daAlink_c::procCoDead() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; @@ -2771,8 +3029,9 @@ int daAlink_c::procCoDead() { setDeadRideSyncPos(); - if (checkAnmEnd(frameCtrl_p) || ((checkModeFlg(0x40000) && frameCtrl_p->getFrame() > 70.0f) || - checkNoResetFlg2(FLG2_FORCE_GAMEOVER))) + if (checkAnmEnd(frameCtrl_p) + || ((checkModeFlg(0x40000) && frameCtrl_p->getFrame() > 70.0f) + || checkNoResetFlg2(FLG2_FORCE_GAMEOVER))) { cLib_chaseF(&field_0x3478, 0.0f, 0.01f); if (field_0x3478 < 0.38f) { @@ -2786,45 +3045,45 @@ int daAlink_c::procCoDead() { if (mProcVar2.field_0x300c != 0 && dComIfGp_getGameoverStatus() == 2 && !checkNoResetFlg0(FLG0_UNK_4000)) { - dComIfGp_setItemLifeCount(-(dComIfGs_getLife() - 12), 0); + int var_r24 = -(dComIfGs_getLife() - 12); + dComIfGp_setItemLifeCount(var_r24, 0); - u32 var_r31; + u32 mode; int room_no = fopAcM_GetRoomNo(this); if (checkStageName("F_SP102") || (checkStageName("D_MN08D") && room_no == 55)) { - var_r31 = 0; + mode = 0; } else { - var_r31 = 5; + mode = 5; } - int var_r30 = -1; - int var_r3_2; + int roomNo = -1; + int exitId; if (checkStageName("D_MN09A") && room_no == 50 && (dComIfG_play_c::getLayerNo(0) == 0 || dComIfG_play_c::getLayerNo(0) == 1)) { - var_r3_2 = dComIfG_play_c::getLayerNo(0) + 1; + exitId = dComIfG_play_c::getLayerNo(0) + 1; } else if (checkBossRoom() && (((room_no == 50 && !dComIfGs_isStageBossEnemy()) || (room_no == 51 && !dComIfGs_isStageMiddleBoss())) || (checkStageName("D_MN08C") && !dComIfGs_isEventBit(0x2880)))) { - var_r3_2 = 0; + exitId = 0; } else if (mProcVar5.field_0x3012 != 0x3F) { - var_r3_2 = mProcVar5.field_0x3012; - var_r30 = field_0x3198; + exitId = mProcVar5.field_0x3012; + roomNo = field_0x3198; } else { - startRestartRoom(var_r31, 0xC9, 0, 1); + startRestartRoom(mode, 0xC9, 0, 1); return 1; } onNoResetFlg0(FLG0_UNK_4000); - dStage_changeScene(var_r3_2, 0.0f, var_r31, var_r30, shape_angle.y, -1); + dStage_changeScene(exitId, 0.0f, mode, roomNo, shape_angle.y, -1); } } return 1; } - int daAlink_c::procCoLookAroundInit() { if (!commonProcInitNotSameProc(PROC_LOOK_AROUND)) { return 0; @@ -2834,7 +3093,7 @@ int daAlink_c::procCoLookAroundInit() { if (checkWolf()) { setSingleAnimeWolfBase(WANM_ENTRANCE); - setFaceBasicTexture(FTANM_UNK_A0); + setFaceBasicTexture(FTANM_WL_ENTRANCE); field_0x3588 = l_wolfBaseAnime; voiceStart(Z2SE_WL_V_ENTRANCE); } else { @@ -2977,8 +3236,8 @@ int daAlink_c::procHandPatInit() { } setSingleAnime(ANM_COW_THROW_LEFT, 1.0f, 50.0f, -1, 3.0f); - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; field_0x2f99 = 13; field_0x3588.set(-l_halfAtnWaitBaseAnime.x, l_halfAtnWaitBaseAnime.y, -l_halfAtnWaitBaseAnime.z); @@ -3012,20 +3271,19 @@ int daAlink_c::procHandPat() { setSingleAnimeBase(ANM_WAIT_B_TO_A); mProcVar2.field_0x300c = 1; shape_angle.y += 0x8000; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; current.angle.y = shape_angle.y; setOldRootQuaternion(0, -0x8000, 0); field_0x2f99 = 0x30; } else if (frameCtrl_p->getFrame() >= 81.0f) { - field_0x2f92 = 1; - field_0x2f93 = 6; + mLeftHandIndex = 1; + mRightHandIndex = 6; } } return 1; } - int daAlink_c::procCoFogDeadInit() { if (!commonProcInitNotSameProc(PROC_FOG_DEAD)) { return 1; @@ -3037,7 +3295,7 @@ int daAlink_c::procCoFogDeadInit() { if (mLinkAcch.ChkGroundHit()) { if (checkWolf()) { setSingleAnimeWolfBase(WANM_DIE); - setFaceBasicTexture(FTANM_UNK_9C); + setFaceBasicTexture(FTANM_WL_DIE); voiceStart(Z2SE_WL_V_DIE); } else { setSingleAnimeBase(ANM_DIE); @@ -3069,7 +3327,7 @@ int daAlink_c::procCoFogDead() { if (checkWolf()) { setSingleAnimeWolfBase(WANM_DIE); - setFaceBasicTexture(FTANM_UNK_9C); + setFaceBasicTexture(FTANM_WL_DIE); voiceStart(Z2SE_WL_V_DIE); } else { setSingleAnimeBase(ANM_DIE); @@ -3091,7 +3349,6 @@ int daAlink_c::procCoFogDead() { return 1; } - int daAlink_c::procWolfSmellWaitInit() { if (!commonProcInitNotSameProc(PROC_WOLF_SMELL_WAIT)) { return 1; @@ -3113,18 +3370,18 @@ int daAlink_c::procCoNodInit() { mProcVar2.field_0x300c = 1; } else { if (mDemo.getParam0() == 1) { - setUpperAnimeBase(0x24E); - setFacePriBck(0x15B); - setFacePriTexture(FTANM_UNK_8A); + setUpperAnimeBase(dRes_ID_ALANM_BCK_UNAZUKU_e); + setFacePriBck(dRes_INDEX_ALANM_BCK_FUNAZUKU_e); + setFacePriTexture(FTANM_UNAZUKU); } else { - setUpperAnimeBase(0xD1); - setUpperAnimeBase(0xD1); - setFacePriTexture(FTANM_UNK_75); + setUpperAnimeBase(dRes_ID_ALANM_BCK_DEMOTALKA_e); + setUpperAnimeBase(dRes_ID_ALANM_BCK_DEMOTALKA_e); + setFacePriTexture(FTANM_DEMOTALKA); } field_0x2f96 = 4; field_0x2f97 = 10; - onNoResetFlg1(FLG1_UNK_10100000); + onNoResetFlg1(daPy_FLG1(FLG1_UNK_10000000 | FLG1_UNK_100000)); mProcVar2.field_0x300c = 0; } @@ -3150,12 +3407,12 @@ int daAlink_c::procCoEyeAwayInit() { } if (!checkWolf()) { - setUpperAnimeBase(0xD3); - setFacePriTexture(FTANM_UNK_77); - setFacePriBck(0x129); + setUpperAnimeBase(dRes_ID_ALANM_BCK_DEMOTALKC_e); + setFacePriTexture(FTANM_DEMOTALKC); + setFacePriBck(dRes_ID_ALANM_BCK_FDEMOTALKC_e); field_0x2f96 = 4; field_0x2f97 = 10; - onNoResetFlg1(FLG1_UNK_10100000); + onNoResetFlg1(daPy_FLG1(FLG1_UNK_10000000 | FLG1_UNK_100000)); } return 1; @@ -3169,16 +3426,16 @@ int daAlink_c::procCoGlareInit() { if (checkWolf()) { mProcVar2.field_0x300c = 1; } else { - setUpperAnimeBase(0xD2); + setUpperAnimeBase(dRes_ID_ALANM_BCK_DEMOTALKB_e); mUpperFrameCtrl[2].setAttribute(2); mUpperFrameCtrl[2].setLoop(45); - setFacePriTexture(FTANM_UNK_76); - setFacePriBck(0x128); + setFacePriTexture(FTANM_DEMOTALKB); + setFacePriBck(dRes_ID_ALANM_BCK_FDEMOTALKB_e); mProcVar2.field_0x300c = 0; field_0x3478 = -1.0f; field_0x2f96 = 4; field_0x2f97 = 10; - onNoResetFlg1(FLG1_UNK_10100000); + onNoResetFlg1(daPy_FLG1(FLG1_UNK_10000000 | FLG1_UNK_100000)); } return 1; @@ -3295,9 +3552,8 @@ int daAlink_c::procCoTwGateInit() { return 1; } - int daAlink_c::procCoTwGate() { - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(mUnderFrameCtrl)) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } @@ -3345,7 +3601,7 @@ int daAlink_c::procWolfSnowEscape() { if (checkAnmEnd(frameCtrl_p)) { setOldRootQuaternion(0, -0x8000, 0); shape_angle.y += 0x8000; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; current.angle.y = shape_angle.y; if (mProcVar2.field_0x300c == 0) { @@ -3367,7 +3623,6 @@ int daAlink_c::procWolfSnowEscape() { return 1; } - int daAlink_c::procZoraMoveInit() { if (!commonProcInitNotSameProc(PROC_ZORA_MOVE)) { return 1; @@ -3387,20 +3642,20 @@ int daAlink_c::procZoraMoveInit() { int daAlink_c::procZoraMove() { dComIfGp_evmng_cutEnd(mAlinkStaffId); - fopAc_ac_c* temp_r29 = dComIfGp_event_getPt1(); + fopAc_ac_c* zora = dComIfGp_event_getPt1(); field_0x2f99 = 0x60; - if (temp_r29 != NULL) { + if (zora != NULL) { cXyz sp14; cXyz sp8; - mDoMtx_stack_c::copy(((daNpc_zrA_c*)temp_r29)->getHeadMtx()); + mDoMtx_stack_c::copy(((daNpc_zrA_c*)zora)->getHeadMtx()); mDoMtx_stack_c::YrotM(-0x4000); mDoMtx_stack_c::transM(0.0f, 30.0f, -90.0f); mDoMtx_stack_c::multVecZero(¤t.pos); mDoMtx_stack_c::multVecSR(&cXyz::BaseZ, &sp14); mDoMtx_stack_c::multVecSR(&cXyz::BaseY, &sp8); - shape_angle.y = temp_r29->shape_angle.y; + shape_angle.y = zora->shape_angle.y; if (sp8.y < 0.0f) { shape_angle.x = cM_atan2s(-sp14.y, -sp14.absXZ()); @@ -3425,9 +3680,9 @@ int daAlink_c::procLookAroundTurnInit() { setSingleAnime(ANM_DEMO_MHOP, 1.0f, 0.0f, 89, 3.0f); } else if (mDemo.getParam0() == 1) { setSingleAnime(ANM_DEMO_MHOP, 1.0f, 0.0f, 93, 3.0f); - setFaceBasicBtp(0x3DC); - setFaceBasicBtk(0x340); - setFaceBasicBck(0x143); + setFaceBasicBtp(dRes_ID_ALANM_BTP_FI_e); + setFaceBasicBtk(dRes_ID_ALANM_BTK_FCOWTHROWR_e); + setFaceBasicBck(dRes_ID_ALANM_BCK_FI_e); } else { setSingleAnimeBase(ANM_DEMO_MHOP); } @@ -3491,12 +3746,11 @@ int daAlink_c::procTradeItemOut() { if (mLinkAcch.ChkWallHit()) { dBgS_AcchCir* acchCir_p = mAcchCir; - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 3; i++, acchCir_p++) { if (acchCir_p->ChkWallHit()) { var_r30 = cLib_distanceAngleS(acchCir_p->GetWallAngleY(), current.angle.y); break; } - acchCir_p++; } } @@ -3537,7 +3791,7 @@ int daAlink_c::procTradeItemOut() { } if (mDemo.getParam0() == 2) { - onResetFlg1(RFLG1_UNK_100); + onResetFlg1(RFLG1_INSECT_RELEASE); } } @@ -3557,13 +3811,12 @@ int daAlink_c::procTradeItemOut() { return 1; } - BOOL daAlink_c::checkLetterItem(int i_itemNo) { return i_itemNo == fpcNm_ITEM_LETTER || i_itemNo == fpcNm_ITEM_BILL || i_itemNo == fpcNm_ITEM_RAFRELS_MEMO || i_itemNo == fpcNm_ITEM_TKS_LETTER || i_itemNo == fpcNm_ITEM_ASHS_SCRIBBLING; } -int daAlink_c::procNotUseItemInit(int param_0) { +int daAlink_c::procNotUseItemInit(int i_itemNo) { if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { return 0; } @@ -3574,7 +3827,7 @@ int daAlink_c::procNotUseItemInit(int param_0) { mNormalSpeed = 0.0f; mMsgClassID = fpcM_ERROR_PROCESS_ID_e; - field_0x3198 = param_0; + field_0x3198 = i_itemNo; mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = 0; current.angle.y = shape_angle.y; @@ -3584,7 +3837,7 @@ int daAlink_c::procNotUseItemInit(int param_0) { keepItemData(); dComIfGp_setPlayerStatus1(0, 0x4000800); - if (checkLetterItem(param_0)) { + if (checkLetterItem(i_itemNo)) { mProcVar4.field_0x3010 = 0; } else { mProcVar4.field_0x3010 = 1; @@ -3592,12 +3845,10 @@ int daAlink_c::procNotUseItemInit(int param_0) { return 1; } - int daAlink_c::procNotUseItem() { if (mProcVar2.field_0x300c == 0) { - fpc_ProcID item_partner_id = fopAcM_createItemForPresentDemo( - ¤t.pos, field_0x3198, 5, -1, fopAcM_GetRoomNo(this), &shape_angle, &scale); - dComIfGp_event_setItemPartnerId(item_partner_id); + dComIfGp_event_setItemPartnerId(fopAcM_createItemForPresentDemo( + ¤t.pos, field_0x3198, 5, -1, fopAcM_GetRoomNo(this), &shape_angle, &scale)); mProcVar2.field_0x300c = 1; } @@ -3729,12 +3980,12 @@ int daAlink_c::procGanonFinishInit() { speed.y = 0.0f; field_0x37c8 = current.pos; - onEndResetFlg1(ERFLG1_GANON_FINISH); + onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); return 1; } int daAlink_c::procGanonFinish() { - onEndResetFlg1(ERFLG1_GANON_FINISH); + onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); current.pos = field_0x37c8; if (checkAnmEnd(mUnderFrameCtrl)) { @@ -3752,7 +4003,7 @@ int daAlink_c::procCutFastReadyInit() { mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); - setUpperAnime(0x255, UPPER_2, mpHIO->mCut.m.mEquipAnm.mSpeed, 12.0f, + setUpperAnime(dRes_ID_ALANM_BCK_WAITATOS_e, UPPER_2, mpHIO->mCut.m.mEquipAnm.mSpeed, 12.0f, mpHIO->mCut.m.mEquipAnm.mEndFrame, mpHIO->mCut.m.mEquipAnm.mInterpolation); onNoResetFlg0(FLG0_UNK_1000000); @@ -3791,7 +4042,7 @@ int daAlink_c::procMasterSwordStick() { setSingleAnimeBaseMorf(ANM_DEMO_MASTER_SWORD_WAIT, -1.0f); dComIfGp_evmng_cutEnd(mAlinkStaffId); } else if (frame_ctrl->getFrame() >= 32.0f) { - field_0x2f93 = 5; + mRightHandIndex = 5; } return 1; @@ -3815,7 +4066,7 @@ int daAlink_c::procMasterSwordPull() { if (checkAnmEnd(frame_ctrl)) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else if (frame_ctrl->getFrame() >= 36.0f) { - field_0x2f93 = 10; + mRightHandIndex = 10; } else if (frame_ctrl->getFrame() >= 9.0f) { mProcVar4.field_0x3010 = 0; } else if (frame_ctrl->getFrame() >= 1.0f) { @@ -3861,14 +4112,14 @@ int daAlink_c::procDungeonWarpReadyInit() { int daAlink_c::procDungeonWarpReady() { if (mProcVar2.field_0x300c != 0) { - fopAc_ac_c* temp_r3 = fopAcM_SearchByID(field_0x32cc); - if (temp_r3 != NULL) { - field_0x280c.setData(temp_r3); + fopAc_ac_c* warpActor = fopAcM_SearchByID(field_0x32cc); + if (warpActor != NULL) { + field_0x280c.setData(warpActor); - if (fopAcM_GetName(temp_r3) == PROC_OBJ_TKS) { - ((daObjTks_c*)temp_r3)->setStart(); + if (fopAcM_GetName(warpActor) == PROC_OBJ_TKS) { + ((daObjTks_c*)warpActor)->setStart(); } else { - ((daNpcTkc_c*)temp_r3)->setStart(); + ((daNpcTkc_c*)warpActor)->setStart(); } } } else if (checkAnmEnd(&mUnderFrameCtrl[0])) { @@ -3897,7 +4148,7 @@ int daAlink_c::procDungeonWarpInit() { } int daAlink_c::procDungeonWarp() { - mProcVar2.field_0x300c += 0x200; + mProcVar2.field_0x300c += (s16)0x200; if (mProcVar2.field_0x300c > 0x4000) { mProcVar2.field_0x300c = 0x4000; @@ -3914,7 +4165,7 @@ int daAlink_c::procDungeonWarp() { } else { if (mProcVar2.field_0x300c == 0x4000) { if (mProcVar4.field_0x3010 == 0) { - dComIfGp_particle_set(0xA61, ¤t.pos, &tevStr, NULL, NULL); + dComIfGp_particle_set(ID_ZI_J_LK_DUNGEONWP_A, ¤t.pos, &tevStr, NULL, NULL); mProcVar4.field_0x3010 = 1; } @@ -3924,9 +4175,7 @@ int daAlink_c::procDungeonWarp() { if (scale.x < 0.01f) { onNoResetFlg0(FLG0_PLAYER_NO_DRAW); if (checkItemGet(fpcNm_ITEM_DUNGEON_EXIT, 1)) { - int escape = - dStage_stagInfo_GetEscapeWarp(dComIfGp_getStage()->getStagInfo()); - dStage_changeScene(escape, 0.0f, 12, -1, shape_angle.y, -1); + dStage_changeScene(dStage_stagInfo_GetEscapeWarp(dComIfGp_getStage()->getStagInfo()), 0.0f, 12, -1, shape_angle.y, -1); dMeter2Info_warpOutProc(); } else { dungeonReturnWarp(); @@ -3948,7 +4197,6 @@ int daAlink_c::procDungeonWarp() { return 1; } - int daAlink_c::procDungeonWarpSceneStartInit() { commonProcInit(PROC_DUNGEON_WARP_SCN_START); @@ -3962,22 +4210,30 @@ int daAlink_c::procDungeonWarpSceneStartInit() { mProcVar2.field_0x300c = 0x4000; mProcVar3.field_0x300e = 0x20; + + #if PLATFORM_GCN mProcVar4.field_0x3010 = 0; + #endif current.pos.y += 120.0f; shape_angle.y += 0x7F7A; scale.set(0.0f, 1.5f, 0.0f); mpLinkModel->setBaseScale(scale); + + #if !PLATFORM_GCN + seStartOnlyReverb(Z2SE_TKC_WARP_OUT); + #endif return 1; } - int daAlink_c::procDungeonWarpSceneStart() { + #if PLATFORM_GCN if (mProcVar4.field_0x3010 == 0) { mProcVar4.field_0x3010 = 1; seStartOnlyReverb(Z2SE_TKC_WARP_OUT); } + #endif if (fopOvlpM_IsPeek() == true) { return 1; @@ -4005,10 +4261,10 @@ int daAlink_c::procDungeonWarpSceneStart() { return 1; } - static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* i_actor, void* i_data) { - if (fopAcM_GetName(i_actor) == PROC_KYTAG04) { - cXyz* pos = (cXyz*)i_data; + cXyz* pos = (cXyz*)i_data; + + if (fopAcM_GetName(i_actor) == PROC_KYTAG04) { if (i_actor->current.pos.abs2XZ(*pos) < 1.0f) { return i_actor; } @@ -4017,18 +4273,23 @@ static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* i_actor, void* i_data) { return NULL; } - bool daAlink_c::checkAcceptWarp() { #if VERSION != VERSION_WII_USA_R0 cM3dGPla plane; #endif + /* !@bug - Player can warp while underwater + * Fixed in versions above Wii USA Rev 0 by checking FLG0_WATER_IN_MOVE + */ if (mLinkAcch.ChkGroundHit() && !checkModeFlg(MODE_PLAYER_FLY) #if VERSION != VERSION_WII_USA_R0 - && !checkNoResetFlg0(FLG0_UNDERWATER) + && !checkNoResetFlg0(FLG0_WATER_IN_MOVE) #endif ) { + /* !@bug - Player can warp while on slippery slope polygons + * Fixed in versions above Wii USA Rev 0 by checking getSlidePolygon + */ if ( #if VERSION != VERSION_WII_USA_R0 !getSlidePolygon(&plane) && @@ -4054,7 +4315,6 @@ bool daAlink_c::checkAcceptWarp() { return false; } - void daAlink_c::dungeonReturnWarp() { cXyz pos = dComIfGs_getWarpPlayerPos(); s16 angle = dComIfGs_getWarpPlayerAngleY(); @@ -4065,8 +4325,7 @@ void daAlink_c::dungeonReturnWarp() { dComIfGs_setRestartRoom(pos, angle, room); dComIfGp_setNextStage(name, -1, dComIfGs_getRestartRoomNo(), -1, 0.0f, 12, 0, 0, 0, 1, 0); - u32 data = setParamData(dComIfGs_getRestartRoomNo(), 0, 0xCA, 0); - dComIfGs_setRestartRoomParam(data); + dComIfGs_setRestartRoomParam(setParamData(dComIfGs_getRestartRoomNo(), 0, 0xCA, 0)); } void daAlink_c::skipPortalObjWarp() { @@ -4079,9 +4338,8 @@ void daAlink_c::skipPortalObjWarp() { { dStage_changeScene(2, 0.0f, 0, fopAcM_GetRoomNo(this), shape_angle.y, -1); } else { - u32 data = setParamData(dMeter2Info_getWarpRoomNo(), 0, 0xCA, 0); dComIfGs_setTurnRestart(dMeter2Info_getWarpPos(), dMeter2Info_getWarpPlayerNo(), - dMeter2Info_getWarpRoomNo(), data); + dMeter2Info_getWarpRoomNo(), setParamData(dMeter2Info_getWarpRoomNo(), 0, 0xCA, 0)); dComIfGp_setNextStage(dMeter2Info_getWarpStageName(), -4, dMeter2Info_getWarpRoomNo(), -1, 0.0f, 0, 1, 0, shape_angle.y, 1, 0); } @@ -4102,7 +4360,7 @@ void daAlink_c::checkWarpStart() { if (dMeter2Info_getWarpStatus() == WARP_STATUS_DECIDED_e || dComIfGp_event_compulsory(this, 0, 0xFFFF)) { - #if VERSION != VERSION_GCN_JPN + #if VERSION != VERSION_GCN_JPN && VERSION != VERSION_SHIELD_DEBUG onNoResetFlg0(FLG0_UNK_4000); #endif @@ -4131,20 +4389,20 @@ void daAlink_c::checkWarpStart() { fopAcM_orderOtherEvent(this, portal, 0xFFFF, 1, 1); } else { mDemo.setSpecialDemoType(); - #if VERSION == VERSION_GCN_JPN + #if VERSION == VERSION_GCN_JPN || VERSION == VERSION_SHIELD_DEBUG onNoResetFlg0(FLG0_UNK_4000); #endif if (dMeter2Info_getWarpStatus() == 1) { - stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo(); - u32 exitID = dStage_stagInfo_GetEscapeWarp(stag_info); - dStage_changeScene(exitID, 0.0f, 0, -1, shape_angle.y, -1); + dStage_changeScene( + dStage_stagInfo_GetEscapeWarp(dComIfGp_getStage()->getStagInfo()), 0.0f, 0, -1, shape_angle.y, -1); } else { dungeonReturnWarp(); } } } - g_meter2_info.resetWarpStatus(); + + dMeter2Info_resetWarpStatus(); } } @@ -4189,7 +4447,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); } - u32 var_r29; + u32 soundId; BOOL var_r27 = param_1 == 0 && ((checkStageName("F_SP125") && fopAcM_GetRoomNo(this) == 4) || (checkStageName("D_MN08") && fopAcM_GetRoomNo(this) == 0)); @@ -4210,13 +4468,13 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { if (var_r27) { field_0x32cc = 0x88C8; getMidnaActor()->onSideWarp(); - var_r29 = Z2SE_WOLF_WARP_IN_YOKO; + soundId = Z2SE_WOLF_WARP_IN_YOKO; } else { field_0x32cc = 0x9FB; - var_r29 = Z2SE_WOLF_WARP_IN_TATE; + soundId = Z2SE_WOLF_WARP_IN_TATE; } - #if VERSION == VERSION_GCN_JPN + #if VERSION == VERSION_GCN_JPN || VERSION == VERSION_SHIELD_DEBUG if (param_1) { onNoResetFlg0(FLG0_UNK_4000); } @@ -4232,26 +4490,24 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { if (var_r27) { field_0x32cc = 0x88C7; - var_r29 = Z2SE_AL_WARP_IN_YOKO; + soundId = Z2SE_AL_WARP_IN_YOKO; } else { - var_r29 = Z2SE_AL_WARP_IN_TATE; + soundId = Z2SE_AL_WARP_IN_TATE; if (checkBossRoom() && fopAcM_GetRoomNo(this) == 50) { - char sp8[32]; - strcpy(sp8, dComIfGp_getStartStageName()); + char stageName[32]; + strcpy(stageName, dComIfGp_getStartStageName()); for (int i = 0; i < 32; i++) { - s64 value = sp8[i]; - - if (value == 0) { - sp8[i - 1] = 0; + if ((s64)stageName[i] == 0) { + stageName[i - 1] = 0; break; } } if (checkItemGet(fpcNm_ITEM_DUNGEON_EXIT, 1) || (checkItemGet(fpcNm_ITEM_DUNGEON_BACK, 1) && - strcmp(sp8, dComIfGs_getWarpStageName()) == 0)) + strcmp(stageName, dComIfGs_getWarpStageName()) == 0)) { dComIfGs_setItem(SLOT_18, fpcNm_ITEM_NONE); dComIfGs_resetLastWarpAcceptStage(); @@ -4272,8 +4528,8 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { field_0x3488 = -1.0f; } else { field_0x3480 = 5.5f; - var_r29 = Z2SE_AL_WARP_OUT; - setEmitter(field_0x3240, 0x9F3, ¤t.pos, &shape_angle); + soundId = Z2SE_AL_WARP_OUT; + setEmitter(field_0x3240, ID_ZI_J_LK_WARP_APP_A, ¤t.pos, &shape_angle); } field_0x3484 = 0.0f; @@ -4290,7 +4546,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { } if (field_0x3488 > 0.0f) { - seStartOnlyReverb(var_r29); + seStartOnlyReverb(soundId); } mProcVar3.field_0x300e = param_1; @@ -4298,19 +4554,18 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { return 1; } - int daAlink_c::procCoWarp() { if (mProcVar1.field_0x300a != 0 && mLinkAcch.ChkGroundHit()) { mProcVar1.field_0x300a = 0; - f32 var_f1; + f32 gravity; if (checkWolf()) { - var_f1 = mpHIO->mWolf.mWlAutoJump.m.mGravity; + gravity = mpHIO->mWolf.mWlAutoJump.m.mGravity; } else { - var_f1 = mpHIO->mAutoJump.m.mGravity; + gravity = mpHIO->mAutoJump.m.mGravity; } - setSpecialGravity(var_f1, maxFallSpeed, 1); + setSpecialGravity(gravity, maxFallSpeed, 1); } if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_45_e) { @@ -4320,14 +4575,21 @@ int daAlink_c::procCoWarp() { if (checkWolf() && mProcVar2.field_0x300c != 0) { for (int i = 0; i < 6; i++) { - static u16 const effName[] = {0x09F5, 0x09F6, 0x09F7, 0x09F8, 0x09F9, 0x09FA}; + static u16 const effName[] = { + ID_ZI_J_WL_WARP_APP_A, + ID_ZI_J_WL_WARP_APP_B, + ID_ZI_J_WL_WARP_APP_C, + ID_ZI_J_WL_WARP_APP_D, + ID_ZI_J_WL_WARP_APP_E, + ID_ZI_J_WL_WARP_APP_F, + }; setEmitter(&field_0x3240[i], effName[i], ¤t.pos, &shape_angle); } } } if (mProcVar2.field_0x300c != 0 && !checkWolf()) { - setEmitter(&field_0x3240[0], 0x9F3, ¤t.pos, &shape_angle); + setEmitter(&field_0x3240[0], ID_ZI_J_LK_WARP_APP_A, ¤t.pos, &shape_angle); } if (mProcVar5.field_0x3012 != 0 && field_0x3488 < 0.0f) { @@ -4342,7 +4604,7 @@ int daAlink_c::procCoWarp() { if (mProcVar2.field_0x300c != 0) { if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_45_e) { if (mProcVar1.field_0x300a != 0) { - if (field_0x3174 == 4) { + if (mGroundCode == 4) { dComIfGp_setNextStage(dComIfGp_getStartStageName(), mProcVar4.field_0x3010, fopAcM_GetRoomNo(this), -1, 0.0f, 5, 1, 0, shape_angle.y, 1, 0); @@ -4373,7 +4635,6 @@ int daAlink_c::procCoWarp() { return 1; } - int daAlink_c::commonWaitTurnInit() { if (checkWolf()) { return procWolfWaitTurnInit(); @@ -4399,11 +4660,11 @@ int daAlink_c::commonGrabPutInit() { return procGrabPutInit(); } -int daAlink_c::commonLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) { +int daAlink_c::commonLargeDamageUpInit(int i_type, BOOL i_isLargeDmg, s16 param_2, s16 param_3) { if (checkWolf()) { - return procWolfLargeDamageUpInit(param_0, param_1, param_2, param_3); + return procWolfLargeDamageUpInit(i_type, i_isLargeDmg, param_2, param_3); } else { - return procLargeDamageUpInit(param_0, param_1, param_2, param_3); + return procLargeDamageUpInit(i_type, i_isLargeDmg, param_2, param_3); } } diff --git a/src/d/actor/d_a_alink_effect.inc b/src/d/actor/d_a_alink_effect.inc index 0eb97ea1bd..ef28323ac7 100644 --- a/src/d/actor/d_a_alink_effect.inc +++ b/src/d/actor/d_a_alink_effect.inc @@ -18,34 +18,34 @@ EffParamProc daAlink_c::m_fEffParamProc[] = { &daAlink_c::setEffectSumouParam, }; -JPABaseEmitter* daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2, - csXyz const* param_3) { - *param_0 = dComIfGp_particle_set(*param_0, param_1, param_2, &tevStr, param_3, NULL, 0xFF, NULL, +JPABaseEmitter* daAlink_c::setEmitter(u32* i_emitterId, u16 i_effName, cXyz const* i_pos, + csXyz const* i_rotation) { + *i_emitterId = dComIfGp_particle_set(*i_emitterId, i_effName, i_pos, &tevStr, i_rotation, NULL, 0xFF, NULL, 0xFF, NULL, NULL, NULL); - dComIfGp_particle_levelEmitterOnEventMove(*param_0); - return dComIfGp_particle_getEmitter(*param_0); + dComIfGp_particle_levelEmitterOnEventMove(*i_emitterId); + return dComIfGp_particle_getEmitter(*i_emitterId); } -JPABaseEmitter* daAlink_c::setEmitterPolyColor(u32* param_0, u16 param_1, cBgS_PolyInfo& param_2, +JPABaseEmitter* daAlink_c::setEmitterPolyColor(u32* i_emitterId, u16 i_effName, cBgS_PolyInfo& i_polyinfo, cXyz const* param_3, csXyz const* param_4) { - *param_0 = dComIfGp_particle_setPolyColor(*param_0, param_1, param_2, param_3, &tevStr, param_4, + *i_emitterId = dComIfGp_particle_setPolyColor(*i_emitterId, i_effName, i_polyinfo, param_3, &tevStr, param_4, NULL, 0, NULL, -1, NULL); - dComIfGp_particle_levelEmitterOnEventMove(*param_0); + dComIfGp_particle_levelEmitterOnEventMove(*i_emitterId); - return dComIfGp_particle_getEmitter(*param_0); + return dComIfGp_particle_getEmitter(*i_emitterId); } -JPABaseEmitter* daAlink_c::setEmitterColor(u32* param_0, u16 param_1, cXyz const* param_2, - csXyz const* param_3) { - *param_0 = dComIfGp_particle_setColor(*param_0, param_1, param_2, &tevStr, NULL, NULL, 0.0f, -1, - param_3, NULL, NULL, -1, NULL); - dComIfGp_particle_levelEmitterOnEventMove(*param_0); +JPABaseEmitter* daAlink_c::setEmitterColor(u32* i_emitterId, u16 i_effName, cXyz const* i_pos, + csXyz const* i_rotation) { + *i_emitterId = dComIfGp_particle_setColor(*i_emitterId, i_effName, i_pos, &tevStr, NULL, NULL, 0.0f, -1, + i_rotation, NULL, NULL, -1, NULL); + dComIfGp_particle_levelEmitterOnEventMove(*i_emitterId); - return dComIfGp_particle_getEmitter(*param_0); + return dComIfGp_particle_getEmitter(*i_emitterId); } -void daAlink_c::stopDrawParticle(u32 param_0) { - JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(param_0); +void daAlink_c::stopDrawParticle(u32 i_emitterId) { + JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(i_emitterId); if (emitter != NULL) { emitter->stopDrawParticle(); @@ -54,11 +54,12 @@ void daAlink_c::stopDrawParticle(u32 param_0) { void daAlink_c::setEffectFrontRollParam() { int j, i; + JPABaseEmitter* emitter_p; for (i = 0; i < 5; i++) { for (j = 0; j < 2; j++) { if (field_0x2e54.getTypeFour(i, j) == 0) { - JPABaseEmitter* emitter_p = field_0x2e54.getEmitterFour(i, j, 0); + emitter_p = field_0x2e54.getEmitterFour(i, j, 0); if (emitter_p != NULL) { emitter_p->setRate(2.0f); @@ -69,15 +70,20 @@ void daAlink_c::setEffectFrontRollParam() { } void daAlink_c::setEffectSlipParam() { + static Vec const smokeParticleScale = {0.69999999f, 0.69999999f, 0.69999999f}; + static Vec const wolfWaterCenterScale = {1.2f, 1.2f, 1.2f}; + JGeometry::TVec3 sp30; + JPABaseEmitter* emitter; + u8 type; int k, j, i; for (i = 0; i < 5; i++) { for (j = 0; j < 2; j++) { - u8 type = field_0x2e54.getTypeFour(i, j); + type = field_0x2e54.getTypeFour(i, j); if (type == 0) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { if (checkWolf()) { emitter->setRate(0.5f); @@ -86,25 +92,22 @@ void daAlink_c::setEffectSlipParam() { emitter->setAwayFromCenterSpeed(0.0f); emitter->setRandomDirectionSpeed(0.0f); emitter->setSpread(0.1f); - - static Vec const smokeParticleScale = {0.69999999f, 0.69999999f, 0.69999999f}; emitter->setGlobalParticleScale(smokeParticleScale); } } else if (type == 1) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { emitter->setRate(0.5f); emitter->setDirectionalSpeed(12.0f); } } else if (type == 16) { for (k = 0; k < 4; k++) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, k); + emitter = field_0x2e54.getEmitterFour(i, j, k); if (emitter == NULL) { break; } if (checkWolf()) { - static Vec const wolfWaterCenterScale = {1.2f, 1.2f, 1.2f}; emitter->setGlobalScale(wolfWaterCenterScale); } else { emitter->getGlobalTranslation(&sp30); @@ -115,13 +118,13 @@ void daAlink_c::setEffectSlipParam() { } } } else if (type == 3) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { emitter->setRate(1.0f); } } else if (type == 4) { for (k = 0; k < 4; k++) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, k); + emitter = field_0x2e54.getEmitterFour(i, j, k); if (emitter != NULL) { emitter->setRate(2.0f); } @@ -136,24 +139,27 @@ void daAlink_c::setEffectRunParam() { static Vec const waterCenterScale = {1.2f, 1.2f, 1.2f}; static Vec const waterSmokeScale = {0.69999999f, 0.69999999f, 0.69999999f}; + JPABaseEmitter* emitter; + u8 type; + int k, j, i; for (i = 0; i < 5; i++) { for (j = 0; j < 2; j++) { - u8 type = field_0x2e54.getTypeFour(i, j); + type = field_0x2e54.getTypeFour(i, j); if (type == 0) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { emitter->setRate(3.0f); } } else if (type == 1) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { emitter->setRate(4.0f); } } else if (type == 2) { for (k = 0; k < 4; k++) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, k); + emitter = field_0x2e54.getEmitterFour(i, j, k); if (emitter == NULL) { break; } @@ -161,7 +167,7 @@ void daAlink_c::setEffectRunParam() { emitter->setGlobalScale(waterScale); } } else if (type == 5) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { emitter->setRate(10.0f); emitter->setAwayFromAxisSpeed(1.0f); @@ -169,7 +175,7 @@ void daAlink_c::setEffectRunParam() { } } else if (type == 16) { for (k = 0; k < 4; k++) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, k); + emitter = field_0x2e54.getEmitterFour(i, j, k); if (emitter == NULL) { break; } @@ -177,7 +183,7 @@ void daAlink_c::setEffectRunParam() { emitter->setGlobalScale(waterCenterScale); } } else if (type == 3) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { if (checkWolf()) { emitter->setRate(2.0f); @@ -197,13 +203,16 @@ void daAlink_c::setEffectSmallLandParam() { static Vec const waterScale = {1.25f, 1.25f, 1.25f}; static Vec const wolfSmokeScale = {0.69999999f, 0.69999999f, 0.69999999f}; + JPABaseEmitter* emitter; + u8 type; + int k, j, i; for (i = 0; i < 5; i++) { for (j = 0; j < 2; j++) { - u8 type = field_0x2e54.getTypeFour(i, j); + type = field_0x2e54.getTypeFour(i, j); if (type == 0) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { if (checkWolf()) { emitter->setGlobalScale(wolfSmokeScale); @@ -215,7 +224,7 @@ void daAlink_c::setEffectSmallLandParam() { } } } else if (type == 1) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { if (checkWolf()) { emitter->setGlobalScale(wolfSmokeScale); @@ -229,7 +238,7 @@ void daAlink_c::setEffectSmallLandParam() { } else if (type == 2) { if (checkWolf()) { for (k = 0; k < 4; k++) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, k); + emitter = field_0x2e54.getEmitterFour(i, j, k); if (emitter == NULL) { break; } @@ -249,13 +258,21 @@ void daAlink_c::setEffectSumouParam() { static Vec const pushedSlip = {0.8f, 0.8f, 0.8f}; static Vec const loseScale = {1.1f, 1.1f, 1.1f}; - int j, i; + JPABaseEmitter* emitter; + u8 type; + + int j, i; + GXColor sp3C; + GXColor sp40; + u8 sp48; + f32 sp44; + for (i = 0; i < 5; i++) { for (j = 0; j < 2; j++) { - u8 type = field_0x2e54.getTypeFour(i, j); + type = field_0x2e54.getTypeFour(i, j); if (type == 0) { - JPABaseEmitter* emitter = field_0x2e54.getEmitterFour(i, j, 0); + emitter = field_0x2e54.getEmitterFour(i, j, 0); if (emitter != NULL) { if (mProcID == PROC_SUMOU_SHIKO) { emitter->setGlobalScale(shikoScale); @@ -264,10 +281,7 @@ void daAlink_c::setEffectSumouParam() { } else if ((mProcID == PROC_SUMOU_SIDE_MOVE || mProcID == PROC_SUMOU_ACTION) && (field_0x3198 == 0x143 || field_0x3198 == 0x142)) { - GXColor sp3C; - GXColor sp40; - u8 sp48; - f32 sp44; + dPa_control_c::getPolyColor(mLinkAcch.m_gnd, j, &sp3C, &sp40, &sp48, &sp44); if (sp48 == emitter->getGlobalAlpha()) { @@ -292,15 +306,15 @@ void daAlink_c::setFootEffectProcType(int param_0) { } void daAlink_c::setWolfFootOn(int param_0) { - daPy_frameCtrl_c* temp_r31 = &mUnderFrameCtrl[1]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[1]; - if (temp_r31->checkPass(l_wolfFootOnFrame[param_0][0])) { + if (framectrl->checkPass(l_wolfFootOnFrame[param_0][0])) { onResetFlg1(RFLG1_UNK_4); - } else if (temp_r31->checkPass(l_wolfFootOnFrame[param_0][1])) { + } else if (framectrl->checkPass(l_wolfFootOnFrame[param_0][1])) { onResetFlg1(RFLG1_UNK_8); - } else if (temp_r31->checkPass(l_wolfFootOnFrame[param_0][2])) { + } else if (framectrl->checkPass(l_wolfFootOnFrame[param_0][2])) { onResetFlg1(RFLG1_UNK_10); - } else if (temp_r31->checkPass(l_wolfFootOnFrame[param_0][3])) { + } else if (framectrl->checkPass(l_wolfFootOnFrame[param_0][3])) { onResetFlg1(RFLG1_UNK_20); } } @@ -357,7 +371,7 @@ void daAlink_c::setEffect() { cXyz spC4; dBgS_AcchCir* acchcir = mAcchCir; - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 3; i++, acchcir++) { if (acchcir->ChkWallHit() && checkWolfBarrierWallHit(*acchcir)) { spD0.set(current.pos.x, current.pos.y + acchcir->GetWallH(), current.pos.z); spC4.set(spD0.x - (acchcir->GetWallR() + 5.0f) * cM_ssin(acchcir->GetWallAngleY()), @@ -369,8 +383,6 @@ void daAlink_c::setEffect() { break; } } - - acchcir++; } } @@ -404,7 +416,7 @@ void daAlink_c::setEffect() { if (checkEventRun()) { changeOriginalDemo(); - changeDemoMode(0x5E, 0, 0, 0); + changeDemoMode(daPy_demo_c::DEMO_UNK_94_e, 0, 0, 0); } } else { field_0x346c = -1.0f; @@ -414,7 +426,7 @@ void daAlink_c::setEffect() { cXyz spB8(current.pos); cXyz spAC(current.pos); - cXyz spA0; + Vec spA0; if (checkModeFlg(0x40000)) { if (checkWolf()) { @@ -427,7 +439,7 @@ void daAlink_c::setEffect() { spB8.y = mWaterY; if (checkNoResetFlg0(FLG0_SWIM_UP) && mNormalSpeed > 8.0f) { - setEmitterPolyColor(&field_0x31c0, 0x1BC, mLinkAcch.m_wtr, &spB8, ¤t.angle); + setEmitterPolyColor(&field_0x31c0, ID_ZI_J_HIKINAMI_A, mLinkAcch.m_wtr, &spB8, ¤t.angle); } spB8.y = spAC.y; } else if (checkModeFlg(0x10000) && mProcVar4.field_0x3010 != 0 && @@ -442,7 +454,7 @@ void daAlink_c::setEffect() { } field_0x31c0 = - dComIfGp_particle_setPolyColor(field_0x31c0, 0x333, mPolyInfo1, ¤t.pos, &tevStr, + dComIfGp_particle_setPolyColor(field_0x31c0, ID_ZI_J_TSUTANOBORI_A, mPolyInfo1, ¤t.pos, &tevStr, &shape_angle, NULL, sp44, NULL, -1, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x31c0); } @@ -462,7 +474,7 @@ void daAlink_c::setEffect() { if (spA0.y < (mWaterY - 50.0f)) { JPABaseEmitter* sp40 = - setEmitterPolyColor(&field_0x31bc, 0x1E8, mLinkAcch.m_wtr, &spA0, &shape_angle); + setEmitterPolyColor(&field_0x31bc, ID_ZI_J_LK_ABUKU_A, mLinkAcch.m_wtr, (cXyz*)&spA0, &shape_angle); if (sp40 != NULL) { sp40->setParticleCallBackPtr(dPa_control_c::getWaterBubblePcallBack()); } @@ -537,12 +549,11 @@ void daAlink_c::setEffect() { var_r29 |= 0x40000; } - BOOL sp3C = 0; - + BOOL sp3C = FALSE; if (mProcID == PROC_SUMOU_MOVE && (field_0x3198 == 0x14C || field_0x3198 == 0x14D || field_0x3198 == 0x155)) { - sp3C = 1; + sp3C = TRUE; current.angle.y += 0x8000; } @@ -557,8 +568,8 @@ void daAlink_c::setEffect() { (field_0x2f9d & 0x20) ? &sp88 : NULL, (field_0x2f9d & 0x40) ? &sp94 : NULL, ¤t.angle, NULL, fopAcM_GetRoomNo(this), field_0x3420, temp_f30); - if (checkBoardRide() && temp_f30 > 3.0f && field_0x2fbb == 0xD) { - JPABaseEmitter* sp38 = setEmitterPolyColor(&field_0x31c0, 0x8B8F, mLinkAcch.m_gnd, + if (checkBoardRide() && temp_f30 > 3.0f && mGndPolyAtt0 == 0xD) { + JPABaseEmitter* sp38 = setEmitterPolyColor(&field_0x31c0, dPa_RM(ID_ZI_S_LK_SB_A), mLinkAcch.m_gnd, ¤t.pos, &shape_angle); if (sp38 != NULL) { cXyz sp58; @@ -597,7 +608,7 @@ void daAlink_c::setEffect() { (field_0x2fc4 != 0 || (mSinkShapeOffset < 0.0f && mSinkShapeOffset >= -15.0f))) { if (mSinkShapeOffset < 0.0f && mSinkShapeOffset >= -15.0f) { - if (field_0x2fbb == 3) { + if (mGndPolyAtt0 == 3) { var_r26 = 1; } else { var_r26 = 2; @@ -623,11 +634,11 @@ void daAlink_c::setEffect() { } if (checkResetFlg1(RFLG1_UNK_4)) { - setFootMark(&mLeftHandPos, field_0x30b8, var_r26); + setFootMark(&mLeftHandPos, mLeftHandJntNo, var_r26); } if (checkResetFlg1(RFLG1_UNK_8)) { - setFootMark(&mRightHandPos, field_0x30ba, var_r26); + setFootMark(&mRightHandPos, mRightHandJntNo, var_r26); } } @@ -641,48 +652,47 @@ void daAlink_c::setEffect() { void daAlink_c::setSumouEffect() { static Vec const releaeScale = {0.8f, 0.8f, 0.8f}; - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; - cXyz sp14; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + JPABaseEmitter* emitter; + cXyz pos; if (mProcID == PROC_SUMOU_ACTION) { if ((field_0x3198 == 0x14F) || (field_0x3198 == 0x151) || (field_0x3198 == 0x150)) { - JPABaseEmitter* temp_r3 = setEmitter(&field_0x31c8, 0x8538, ¤t.pos, NULL); - if (temp_r3 != NULL) { - temp_r3->setGlobalRTMatrix(mpLinkModel->getAnmMtx(9)); + emitter = setEmitter(&field_0x31c8, dPa_RM(ID_ZF_S_BSUMOUHARITE02LINK_TRACE), ¤t.pos, NULL); + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mpLinkModel->getAnmMtx(9)); if (field_0x3198 == 0x151) { - temp_r3->setLifeTime(5); + emitter->setLifeTime(5); } } if (field_0x3198 != 0x150) { - if (temp_r28->getFrame() >= 12.0f) { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(9), &sp14); - setEmitter(&field_0x31cc, 0x8539, &sp14, NULL); - setEmitter(&field_0x31d0, 0x853A, &sp14, &shape_angle); + if (framectrl->getFrame() >= 12.0f) { + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(9), &pos); + setEmitter(&field_0x31cc, dPa_RM(ID_ZF_S_BSUMOUSWEAT00_SAND), &pos, NULL); + setEmitter(&field_0x31d0, dPa_RM(ID_ZF_S_BSUMOUSWEAT01_SWEAT), &pos, &shape_angle); } } } else if (field_0x3198 == 0x145 || field_0x3198 == 0x146 || field_0x3198 == 0x14E || field_0x3198 == 0x147) { if (field_0x3198 != 0x14E && - (field_0x3198 == 0x145 || field_0x3198 == 0x146 || temp_r28->getFrame() >= 29.0f)) + (field_0x3198 == 0x145 || field_0x3198 == 0x146 || framectrl->getFrame() >= 29.0f)) { - JPABaseEmitter* temp_r3_2 = - setEmitter(&field_0x31c8, 0x8542, &field_0x3834, &shape_angle); - if (temp_r3_2 != NULL) { - temp_r3_2->setGlobalRTMatrix(mpLinkModel->getAnmMtx(0)); + emitter = setEmitter(&field_0x31c8, dPa_RM(ID_ZF_S_BSUMOUTACKLELCENTER_SHOCKR), &field_0x3834, &shape_angle); + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mpLinkModel->getAnmMtx(0)); } - JPABaseEmitter* temp_r3_3 = - setEmitter(&field_0x31cc, 0x8541, &field_0x3834, &shape_angle); - if (temp_r3_3 != NULL) { - temp_r3_3->setGlobalRTMatrix(mpLinkModel->getAnmMtx(0)); + emitter = setEmitter(&field_0x31cc, dPa_RM(ID_ZF_S_BSUMOUTACKLELCENTER_SHOCKL), &field_0x3834, &shape_angle); + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mpLinkModel->getAnmMtx(0)); } } - if (temp_r28->getFrame() >= 35.0f || - (field_0x3198 == 0x14E && temp_r28->getFrame() >= 3.0f) || - ((field_0x3198 == 0x145 || field_0x3198 == 0x146) && temp_r28->getFrame() >= 7.0f)) + if (framectrl->getFrame() >= 35.0f || + (field_0x3198 == 0x14E && framectrl->getFrame() >= 3.0f) || + ((field_0x3198 == 0x145 || field_0x3198 == 0x146) && framectrl->getFrame() >= 7.0f)) { f32 var_f31; if (field_0x3198 == 0x147) { @@ -691,75 +701,76 @@ void daAlink_c::setSumouEffect() { var_f31 = 30.0f; } - sp14.set(field_0x3834.x + (var_f31 * cM_ssin(shape_angle.y)), field_0x3834.y, + pos.set(field_0x3834.x + (var_f31 * cM_ssin(shape_angle.y)), field_0x3834.y, field_0x3834.z + (var_f31 * cM_scos(shape_angle.y))); - setEmitter(&field_0x31d0, 0x8539, &sp14, NULL); - setEmitter(&field_0x31d4, 0x853A, &sp14, &shape_angle); + setEmitter(&field_0x31d0, dPa_RM(ID_ZF_S_BSUMOUSWEAT00_SAND), &pos, NULL); + setEmitter(&field_0x31d4, dPa_RM(ID_ZF_S_BSUMOUSWEAT01_SWEAT), &pos, &shape_angle); } } } else if (mProcID == PROC_SUMOU_MOVE) { if (field_0x3198 == 0x154) { - JPABaseEmitter* temp_r3_4 = - setEmitter(&field_0x31c8, 0x8545, &field_0x3834, &shape_angle); - if (temp_r3_4 != NULL) { + emitter = setEmitter(&field_0x31c8, dPa_RM(ID_ZF_S_BSUMOUSWEATPUSH_SWEAT), &field_0x3834, &shape_angle); + if (emitter != NULL) { mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(0)); mDoMtx_stack_c::transM(36.0f, 84.0f, 0.0f); - temp_r3_4->setGlobalRTMatrix(mDoMtx_stack_c::get()); + emitter->setGlobalRTMatrix(mDoMtx_stack_c::get()); } } else if (field_0x3198 == 0x155) { - if (temp_r28->getFrame() >= 17.0f) { - JPABaseEmitter* temp_r3_5 = - setEmitter(&field_0x31c8, 0x853A, &field_0x3834, &shape_angle); - if (temp_r3_5 != NULL) { + if (framectrl->getFrame() >= 17.0f) { + emitter = setEmitter(&field_0x31c8, dPa_RM(ID_ZF_S_BSUMOUSWEAT01_SWEAT), &field_0x3834, &shape_angle); + if (emitter != NULL) { mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(0)); mDoMtx_stack_c::XrotM(0x7FFF); - temp_r3_5->setGlobalRTMatrix(mDoMtx_stack_c::get()); - temp_r3_5->setGlobalScale(releaeScale); + emitter->setGlobalRTMatrix(mDoMtx_stack_c::get()); + emitter->setGlobalScale(releaeScale); } } } } } -void daAlink_c::setWaterfallEffect(cXyz const* param_0, u32* param_1) { - setEmitter(¶m_1[0], 0x8614, param_0, NULL); - setEmitter(¶m_1[1], 0x8615, param_0, NULL); +void daAlink_c::setWaterfallEffect(const cXyz* i_pos, u32* i_emitterId) { + setEmitter(i_emitterId, dPa_RM(ID_ZI_S_LK_TAKISHIBUKI_A), i_pos, NULL); + i_emitterId++; + setEmitter(i_emitterId, dPa_RM(ID_ZI_S_LK_TAKISHIBUKI_B), i_pos, NULL); } void daAlink_c::setWaterfallEffect() { - Vec sp8; - if (checkEndResetFlg1(ERFLG1_UNK_800)) { + Vec pos; + if (checkEndResetFlg1(ERFLG1_WATERFALL_FRONT_HIT)) { if (checkWolf()) { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &sp8); - sp8.y += 5.0f; + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &pos); + pos.y += 5.0f; } else { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &sp8); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &pos); } - setWaterfallEffect((cXyz*)&sp8, &field_0x31c8); + setWaterfallEffect((cXyz*)&pos, &field_0x31c8); } if (checkWolf() && checkEndResetFlg1(ERFLG1_UNK_1000)) { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(0x1A), &sp8); - sp8.y -= 15.0f; - setWaterfallEffect((cXyz*)&sp8, &field_0x31d0); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(26), &pos); + pos.y -= 15.0f; + setWaterfallEffect((cXyz*)&pos, &field_0x31d0); } - if (checkEndResetFlg1(daPy_ERFLG1(ERFLG1_UNK_1000 | ERFLG1_UNK_800))) { + if (checkEndResetFlg1(daPy_ERFLG1(ERFLG1_UNK_1000 | ERFLG1_WATERFALL_FRONT_HIT))) { seStartOnlyReverbLevel(Z2SE_AL_IN_WATER_FALL); } } void daAlink_c::setMagneBootsEffect() { static const u16 effName[] = { - 0x0407, - 0x0408, - 0x0409, + ID_ZI_J_HB_MAGNE_A, + ID_ZI_J_HB_MAGNE_B, + ID_ZI_J_HB_MAGNE_C, }; + int i, j; + u32* emitterId; + JPABaseEmitter* emitter; cXyz sp20; - int i, j; for (i = 0; i < 2; i++) { if (i == 0) { sp20 = mLeftFootPos - current.pos; @@ -772,15 +783,15 @@ void daAlink_c::setMagneBootsEffect() { } if (sp20.y < 6.0f) { - u32* var_r28 = field_0x3228[i]; + emitterId = field_0x3228[i]; - for (j = 0; j < 3; j++, var_r28++) { - JPABaseEmitter* temp_r3 = setEmitter(var_r28, effName[j], ¤t.pos, NULL); - if (temp_r3 != NULL) { + for (j = 0; j < 3; j++, emitterId++) { + emitter = setEmitter(emitterId, effName[j], ¤t.pos, NULL); + if (emitter != NULL) { if (j == 1) { - temp_r3->setGlobalRTMatrix(mpLinkBootModels[i]->getAnmMtx(1)); + emitter->setGlobalRTMatrix(mpLinkBootModels[i]->getAnmMtx(1)); } else { - temp_r3->setGlobalRTMatrix(mpLinkBootModels[i]->getAnmMtx(2)); + emitter->setGlobalRTMatrix(mpLinkBootModels[i]->getAnmMtx(2)); } } } @@ -792,9 +803,11 @@ void daAlink_c::setSwordChargeEffect() { static Vec const lightAParticleScale = {1.0f, 1.171f, 1.0f}; static Vec const lightALocalTrans = {68.0f, 0.0f, 0.0f}; + JPABaseEmitter* emitter; + f32 var_f30; - BOOL temp_r3 = checkMasterSwordEquip(); - if (temp_r3) { + BOOL isMasterSwordEquip = checkMasterSwordEquip(); + if (isMasterSwordEquip) { var_f30 = l_swordTopLocalM.x; } else { var_f30 = l_swordTopLocalN.x; @@ -804,13 +817,13 @@ void daAlink_c::setSwordChargeEffect() { if (var_f31 > 0.0f) { cXyz sp50; if (!checkWoodSwordEquip()) { - JPABaseEmitter* temp_r3_2 = setEmitter(&field_0x321c, 0x368, ¤t.pos, NULL); - if (temp_r3_2 != NULL) { - temp_r3_2->setGlobalRTMatrix(mSwordModel->getBaseTRMtx()); + emitter = setEmitter(&field_0x321c, ID_ZI_J_SWA_KIRARI_A, ¤t.pos, NULL); + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mSwordModel->getBaseTRMtx()); - if (temp_r3) { - temp_r3_2->setGlobalParticleScale(lightAParticleScale); - temp_r3_2->setLocalTranslation(lightALocalTrans); + if (isMasterSwordEquip) { + emitter->setGlobalParticleScale(lightAParticleScale); + emitter->setLocalTranslation(lightALocalTrans); } } } @@ -824,10 +837,10 @@ void daAlink_c::setSwordChargeEffect() { } sp50 = sp44 + ((sp50 * (var_f31 + 1.0f)) * (var_f30 / 15.0f)); - setEmitter(&field_0x3220, 0x36A, &sp50, NULL); + setEmitter(&field_0x3220, ID_ZI_J_SWA_KIRARI_B, &sp50, NULL); if (var_f31 >= 14.0f) { - setEmitter(&field_0x3224, 0x36B, &sp50, NULL); + setEmitter(&field_0x3224, ID_ZI_J_SWA_KIRARI_C, &sp50, NULL); } else { if (checkWolf() || checkWoodSwordEquip()) { seStartSwordCut(Z2SE_WOLF_POWER_COME); @@ -836,17 +849,17 @@ void daAlink_c::setSwordChargeEffect() { } } } else { - JPABaseEmitter* temp_r3_4 = dComIfGp_particle_getEmitter(field_0x321c); - if (temp_r3_4 != NULL) { - u8 temp_r3_5 = temp_r3_4->getGlobalAlpha(); - if (temp_r3_5 > 17) { - JPABaseEmitter* temp_r3_6 = setEmitter(&field_0x321c, 0x368, ¤t.pos, NULL); - if (temp_r3_6 != NULL) { - temp_r3_6->setGlobalRTMatrix(mSwordModel->getBaseTRMtx()); - temp_r3_6->setGlobalAlpha(temp_r3_5 - 17); + emitter = dComIfGp_particle_getEmitter(field_0x321c); + if (emitter != NULL) { + u8 alpha = emitter->getGlobalAlpha(); + if (alpha > 17) { + emitter = setEmitter(&field_0x321c, ID_ZI_J_SWA_KIRARI_A, ¤t.pos, NULL); + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mSwordModel->getBaseTRMtx()); + emitter->setGlobalAlpha(alpha - 17); } } else { - temp_r3_4->setGlobalAlpha(0); + emitter->setGlobalAlpha(0); } } @@ -860,18 +873,34 @@ void daAlink_c::setElecDamageEffect() { static Vec const localScale0 = {0.69999999f, 0.85f, 1.5f}; static Vec const localScale1 = {1.0f, 0.85f, 1.5f}; - static const u16 effName0[] = {0x867D, 0x867E, 0x867F}; - static const u16 effName1[] = {0x8981, 0x8982, 0x8983}; + static const u16 effName0[] = { + dPa_RM(ID_ZI_S_LK_BIRIBIRIA_A), + dPa_RM(ID_ZI_S_LK_BIRIBIRIA_B), + dPa_RM(ID_ZI_S_LK_BIRIBIRIA_C), + }; - cXyz sp54; - const u16* var_r28 = checkStageName("D_MN09A") ? effName1 : effName0; + static const u16 effName1[] = { + dPa_RM(ID_ZI_S_LK_BIRIBIRIC_A), + dPa_RM(ID_ZI_S_LK_BIRIBIRIC_B), + dPa_RM(ID_ZI_S_LK_BIRIBIRIC_C), + }; + + cXyz pos; + + const u16* effNameList; + if (checkStageName("D_MN09A")) { + effNameList = effName1; + } else { + effNameList = effName0; + } + + JPABaseEmitter* emitter; int i; - if (checkWolf()) { - mDoMtx_multVec(mpLinkModel->getAnmMtx(2), &localOffset, &sp54); + mDoMtx_multVec(mpLinkModel->getAnmMtx(2), &localOffset, &pos); - for (i = 0; i < 3; i++, var_r28++) { - JPABaseEmitter* emitter = setEmitter(&field_0x31d8[i], *var_r28, &sp54, &shape_angle); + for (i = 0; i < 3; i++, effNameList++) { + emitter = setEmitter(&field_0x31d8[i], *effNameList, &pos, &shape_angle); if (emitter != NULL) { if (i == 2) { emitter->setLocalScale(localScale1); @@ -881,21 +910,21 @@ void daAlink_c::setElecDamageEffect() { } } } else { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &sp54); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &pos); - for (i = 0; i < 3; i++, var_r28++) { - setEmitter(&field_0x31d8[i], *var_r28, &sp54, &shape_angle); + for (i = 0; i < 3; i++, effNameList++) { + setEmitter(&field_0x31d8[i], *effNameList, &pos, &shape_angle); } if (checkHookshotItem(mEquipItem) && mItemMode == 6 && checkStageName("D_MN01")) { - sp54 = (mHeldItemRootPos + mHookshotTopPos) * 0.5f; + pos = (mHeldItemRootPos + mHookshotTopPos) * 0.5f; cXyz sp48 = mHookshotTopPos - mHeldItemRootPos; csXyz sp10(sp48.atan2sY_XZ(), sp48.atan2sX_Z(), 0); - JPABaseEmitter* temp_r3_2 = setEmitter(&field_0x31e4, 0x8682, &sp54, &sp10); - if (temp_r3_2 != NULL) { - temp_r3_2->setVolumeSize(sp48.abs()); + emitter = setEmitter(&field_0x31e4, dPa_RM(ID_ZI_S_LK_BIRIBIRIFS_A), &pos, &sp10); + if (emitter != NULL) { + emitter->setVolumeSize(sp48.abs()); } } } @@ -910,15 +939,20 @@ void daAlink_c::clearCutTurnEffectID() { void daAlink_c::setCutTurnEffect() { static const u16 effNameNormal[] = { - 0x0159, - 0x015A, + ID_ZI_J_KAITENGIRI_A, + ID_ZI_J_KAITENGIRI_B, }; + static const u16 effNameLight[] = { - 0x0A28, 0x0A29, 0x0A2A, 0x0A2B, + ID_ZI_J_KAITENGIRIL_A, + ID_ZI_J_KAITENGIRIL_B, + ID_ZI_J_KAITENGIRIL_C, + ID_ZI_J_KAITENGIRIL_D, }; + static const u16 effNameWater[] = { - 0x0C52, - 0x0C53, + ID_ZI_J_KAITENGIRI_INWTR_A, + ID_ZI_J_KAITENGIRI_INWTR_B, }; static Vec const waterEffScale = {1.5f, 1.5f, 1.5f}; @@ -936,7 +970,12 @@ void daAlink_c::setCutTurnEffect() { }; static u16 const effNameLarge[] = { - 0x0BA5, 0x0BA6, 0x0BA7, 0x0BA8, 0x0BA9, 0x0BAA, + ID_ZI_J_KAITENGIRID_A, + ID_ZI_J_KAITENGIRID_B, + ID_ZI_J_KAITENGIRID_C, + ID_ZI_J_KAITENGIRID_D, + ID_ZI_J_KAITENGIRID_E, + ID_ZI_J_KAITENGIRID_F, }; static Vec const leftTransLarge[] = { @@ -953,9 +992,7 @@ void daAlink_c::setCutTurnEffect() { {0.0f, 0.0f, 0.0f}, }; - f32 temp_f1 = mUnderFrameCtrl[0].getFrame(); - - if (!(temp_f1 < mProcVar1.field_0x300a)) { + if (!(mUnderFrameCtrl[0].getFrame() < mProcVar1.field_0x300a)) { static s16 leftRotNormal[] = { cM_deg2s(180), cM_deg2s(45), cM_deg2s(13), cM_deg2s(180), cM_deg2s(45), cM_deg2s(13), }; @@ -975,71 +1012,71 @@ void daAlink_c::setCutTurnEffect() { cM_deg2s(-90), cM_deg2s(0), cM_deg2s(180), cM_deg2s(0), cM_deg2s(0), cM_deg2s(180), }; - u32* sp2C = field_0x3204; - const u16* sp28; - JGeometry::TVec3* sp24; - JGeometry::TVec3* sp20; - int sp1C; - BOOL sp18 = 0; + u32* emitterId = field_0x3204; + const u16* effNameList; + JGeometry::TVec3* rot; + JGeometry::TVec3* trans; + int effNum; + BOOL sp18 = FALSE; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { if (checkZoraWearAbility()) { - sp28 = effNameWater; - sp24 = (JGeometry::TVec3*)leftRotWater; - sp20 = (JGeometry::TVec3*)leftTransWater; - sp1C = 2; - if (mCutType == 0x18 || mCutType == 0x17) { - sp18 = 1; + effNameList = effNameWater; + rot = (JGeometry::TVec3*)leftRotWater; + trans = (JGeometry::TVec3*)leftTransWater; + effNum = 2; + if (mCutType == CUT_TYPE_LARGE_TURN_RIGHT || mCutType == CUT_TYPE_LARGE_TURN_LEFT) { + sp18 = TRUE; } } else { return; } - } else if (mCutType == 0x18 || mCutType == 0x17) { - sp28 = effNameLarge; - sp24 = (JGeometry::TVec3*)leftRotLarge; - sp20 = (JGeometry::TVec3*)leftTransLarge; - sp1C = 6; + } else if (mCutType == CUT_TYPE_LARGE_TURN_RIGHT || mCutType == CUT_TYPE_LARGE_TURN_LEFT) { + effNameList = effNameLarge; + rot = (JGeometry::TVec3*)leftRotLarge; + trans = (JGeometry::TVec3*)leftTransLarge; + effNum = 6; } else if (checkNoResetFlg3(FLG3_UNK_100000)) { - sp28 = effNameLight; - sp24 = (JGeometry::TVec3*)leftRotLight; - sp20 = (JGeometry::TVec3*)leftTransLight; - sp1C = 4; + effNameList = effNameLight; + rot = (JGeometry::TVec3*)leftRotLight; + trans = (JGeometry::TVec3*)leftTransLight; + effNum = 4; } else { - sp28 = effNameNormal; - sp24 = (JGeometry::TVec3*)leftRotNormal; - sp20 = (JGeometry::TVec3*)leftTransNormal; - sp1C = 2; + effNameList = effNameNormal; + rot = (JGeometry::TVec3*)leftRotNormal; + trans = (JGeometry::TVec3*)leftTransNormal; + effNum = 2; } - cXyz sp40; - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &sp40); + cXyz pos; + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &pos); if (checkMagneBootsOn()) { - mDoMtx_stack_c::transS(sp40); + mDoMtx_stack_c::transS(pos); mDoMtx_stack_c::concat(mMagneBootMtx); mDoMtx_stack_c::ZXYrotM(shape_angle); } - for (int i = 0; i < sp1C; i++, sp2C++, sp28++, sp24++, sp20++) { - JPABaseEmitter* sp30 = setEmitter(sp2C, *sp28, &sp40, &shape_angle); - if (sp30 != NULL) { + for (int i = 0; i < effNum; i++, emitterId++, effNameList++, rot++, trans++) { + JPABaseEmitter* emitter = setEmitter(emitterId, *effNameList, &pos, &shape_angle); + if (emitter != NULL) { if (checkMagneBootsOn()) { - sp30->setGlobalRTMatrix(mDoMtx_stack_c::get()); + emitter->setGlobalRTMatrix(mDoMtx_stack_c::get()); } if (mProcVar4.field_0x3010 == 0) { - sp30->setLocalRotation(*sp24); - if (sp20->y > 1.0f) { - sp30->setLocalTranslation(*sp20); + emitter->setLocalRotation(*rot); + if (trans->y > 1.0f) { + emitter->setLocalTranslation(*trans); } } if (sp18) { if (i == 0) { - sp30->setGlobalParticleScale(waterEffScale); + emitter->setGlobalParticleScale(waterEffScale); } else { - sp30->setVolumeSize(225); - sp30->setAwayFromAxisSpeed(15.0f); + emitter->setVolumeSize(225); + emitter->setAwayFromAxisSpeed(15.0f); } } } @@ -1048,42 +1085,60 @@ void daAlink_c::setCutTurnEffect() { } void daAlink_c::setHorseCutTurnEffect() { - cXyz sp20; - csXyz sp28(0, shape_angle.y, shape_angle.z); + cXyz pos; + csXyz rot(0, shape_angle.y, shape_angle.z); - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &sp20); - setEmitter(&field_0x3204[0], 0x1F0, &sp20, &sp28); - setEmitter(&field_0x3204[1], 0x1F1, &sp20, &sp28); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &pos); + setEmitter(&field_0x3204[0], ID_ZI_J_KAITENGIRIH_A, &pos, &rot); + setEmitter(&field_0x3204[1], ID_ZI_J_KAITENGIRIH_B, &pos, &rot); } void daAlink_c::setCutLargeJumpLandEffect() { - cXyz sp50(current.pos.x + cM_ssin(shape_angle.y) * 20.0f, current.pos.y + 50.0f, current.pos.z + cM_scos(shape_angle.y) * 20.0f); - csXyz sp58; - cM3dGPla sp44; + cXyz pos(current.pos.x + cM_ssin(shape_angle.y) * 20.0f, current.pos.y + 50.0f, current.pos.z + cM_scos(shape_angle.y) * 20.0f); + csXyz rot; + cM3dGPla tripla; - mLinkGndChk.SetPos(&sp50); - f32 var_f31 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - if (var_f31 < current.pos.y - 50.0f) { - sp50.y = current.pos.y; - dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp44); + mLinkGndChk.SetPos(&pos); + f32 gnd_height = dComIfG_Bgsp().GroundCross(&mLinkGndChk); + if (gnd_height < current.pos.y - 50.0f) { + pos.y = current.pos.y; + dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &tripla); } else { - sp50.y = var_f31; - dComIfG_Bgsp().GetTriPla(mLinkGndChk, &sp44); + pos.y = gnd_height; + dComIfG_Bgsp().GetTriPla(mLinkGndChk, &tripla); } - sp58.x = cM_atan2s(sp44.mNormal.absXZ(), sp44.mNormal.y); - sp58.y = sp44.mNormal.atan2sX_Z(); - sp58.z = 0; + rot.x = cM_atan2s(tripla.mNormal.absXZ(), tripla.mNormal.y); + rot.y = tripla.mNormal.atan2sX_Z(); + rot.z = 0; for (int i = 0; i < 6; i++) { - static u16 const effName[] = {0x09D0, 0x09D1, 0x09D2, 0x09D3, 0x09D4, 0x09D5}; - dComIfGp_particle_set(effName[i], &sp50, &tevStr, &sp58, NULL); + static const u16 effName[] = { + ID_ZI_J_LK_DJGIRI_A, + ID_ZI_J_LK_DJGIRI_B, + ID_ZI_J_LK_DJGIRI_C, + ID_ZI_J_LK_DJGIRI_D, + ID_ZI_J_LK_DJGIRI_E, + ID_ZI_J_LK_DJGIRI_F, + }; + dComIfGp_particle_set(effName[i], &pos, &tevStr, &rot, NULL); } } void daAlink_c::setBootsLightEffect() { - static const u16 jointID[] = {0x0014, 0x0013, 0x0018, 0x0019}; - static const u16 effName[] = {0x88E1, 0x88E2, 0x88E3, 0x88E4}; + static const u16 jointID[] = { + 20, + 19, + 24, + 25 + }; + + static const u16 effName[] = { + dPa_RM(ID_ZF_S_SBOOTS00FOOTL), + dPa_RM(ID_ZF_S_SBOOTS01LEGL2), + dPa_RM(ID_ZF_S_SBOOTS02LEGR2), + dPa_RM(ID_ZF_S_SBOOTS03FOOTR), + }; if (checkStageName("F_SP116")) { if (dComIfGs_isOneZoneSwitch(0, fopAcM_GetRoomNo(this))) { @@ -1100,10 +1155,15 @@ void daAlink_c::setBootsLightEffect() { } void daAlink_c::setLightningSwordEffect() { - static const u16 effName[] = {0x0A58, 0x0A59, 0x0B9D}; + static const u16 effName[] = { + ID_ZI_J_LK_SWL_A, + ID_ZI_J_LK_SWL_B, + ID_ZI_J_LK_SWL_C + }; - if (checkEndResetFlg2(ERFLG2_UNK_10)) { - JPABaseEmitter* emitter = setEmitter(&field_0x3294, 0x8B9E, ¤t.pos, &shape_angle); + JPABaseEmitter* emitter; + if (checkEndResetFlg2(ERFLG2_LIGHT_SWORD_GET_EFFECT)) { + emitter = setEmitter(&field_0x3294, dPa_RM(ID_ZI_S_LK_SWL_GET_A), ¤t.pos, &shape_angle); if (emitter != NULL) { emitter->setGlobalRTMatrix(mSwordModel->getBaseTRMtx()); } @@ -1118,7 +1178,7 @@ void daAlink_c::setLightningSwordEffect() { seStartOnlyReverbLevel(Z2SE_AL_LIGHTNING_SW_GLOW); for (i = 0; i < 3; i++) { - JPABaseEmitter* emitter = setEmitter(&field_0x327c[i], effName[i], ¤t.pos, &shape_angle); + emitter = setEmitter(&field_0x327c[i], effName[i], ¤t.pos, &shape_angle); if (emitter != NULL) { emitter->setGlobalRTMatrix(mSwordModel->getBaseTRMtx()); } @@ -1131,20 +1191,22 @@ void daAlink_c::setLightningSwordEffect() { } void daAlink_c::setWolfRollAttackEffect() { - cXyz sp20(current.pos.x, current.pos.y + 80.0f, current.pos.z); - csXyz sp28(shape_angle.x, shape_angle.y, 0); + cXyz pos(current.pos.x, current.pos.y + 80.0f, current.pos.z); + csXyz rot(shape_angle.x, shape_angle.y, 0); if (mProcVar2.field_0x300c == 0) { - sp28.x += 0x8000; + rot.x += 0x8000; } - setEmitter(&field_0x3204[0], 0x1E4, &sp20, &sp28); + setEmitter(&field_0x3204[0], ID_ZI_J_WL_KAITENAT_A, &pos, &rot); if (mProcVar3.field_0x300e == 0) { - setEmitter(&field_0x3204[1], 0x1E5, &sp20, &sp28); + setEmitter(&field_0x3204[1], ID_ZI_J_WL_KAITENAT_B, &pos, &rot); } } void daAlink_c::setWolfDigEffect() { + JPABaseEmitter* emitter; + if (dComIfG_Bgsp().ChkPolySafe(mPolyInfo2)) { f32 var_f31 = 3.0f; f32 var_f30; @@ -1153,65 +1215,65 @@ void daAlink_c::setWolfDigEffect() { u16 var_r29, var_r28; u16 var_r26; if (field_0x3198 == 3) { - var_r29 = 0x884B; - var_r28 = 0x881B; + var_r29 = dPa_RM(ID_ZI_S_DIGSAND_A); + var_r28 = dPa_RM(ID_ZI_S_DASHSAND_A); } else if (field_0x3198 == 0xD) { - var_r29 = 0x884C; - var_r28 = 0x881D; + var_r29 = dPa_RM(ID_ZI_S_DIGSNOW_A); + var_r28 = dPa_RM(ID_ZI_S_DASHSNOW_B); } else if (field_0x3198 == 1) { - var_r29 = 0x200; - var_r28 = 0xE6; + var_r29 = ID_ZI_J_DIG00_A; + var_r28 = ID_ZI_J_DASHSMOKE_A; } else if (field_0x3198 == 4) { - var_r29 = 0x200; + var_r29 = ID_ZI_J_DIG00_A; if (dKy_pol_efftype_get(&mPolyInfo2) == 1) { - var_r28 = 0x143; - var_r26 = 0xE6; + var_r28 = ID_ZI_J_DASHKUSA_A; + var_r26 = ID_ZI_J_DASHSMOKE_A; var_f30 = 3.0f; } else { - var_r28 = 0xE6; - var_r26 = 0x143; + var_r28 = ID_ZI_J_DASHSMOKE_A; + var_r26 = ID_ZI_J_DASHKUSA_A; var_f30 = 15.0f; var_f31 = 3.0f; } field_0x32cc = dComIfGp_particle_setPolyColor(field_0x32cc, var_r26, mPolyInfo2, &field_0x37d4, &tevStr, &sp18, NULL, 1, NULL, -1, NULL); - JPABaseEmitter* temp_r3 = dComIfGp_particle_getEmitter(field_0x32cc); - if (temp_r3 != NULL) { - temp_r3->setAwayFromAxisSpeed(var_f30); + emitter = dComIfGp_particle_getEmitter(field_0x32cc); + if (emitter != NULL) { + emitter->setAwayFromAxisSpeed(var_f30); dComIfGp_particle_levelEmitterOnEventMove(field_0x32cc); } } else if (field_0x3198 == 7) { var_r29 = 0; - var_r28 = 0x1B1; - setEmitterPolyColor(&field_0x32cc, 0x1AF, mPolyInfo2, &field_0x37d4, &sp18); - setEmitterPolyColor(&field_0x31bc, 0x1B0, mPolyInfo2, &field_0x37d4, &sp18); + var_r28 = ID_ZI_J_DASHWTRA_C; + setEmitterPolyColor(&field_0x32cc, ID_ZI_J_DASHWTRA_A, mPolyInfo2, &field_0x37d4, &sp18); + setEmitterPolyColor(&field_0x31bc, ID_ZI_J_DASHWTRA_B, mPolyInfo2, &field_0x37d4, &sp18); } else { var_r29 = 0; - var_r28 = 0xE6; + var_r28 = ID_ZI_J_DASHSMOKE_A; } if (var_r29 != 0) { setEmitter(&field_0x31bc, var_r29, &field_0x37d4, &sp18); } - JPABaseEmitter* temp_r3_2 = setEmitterPolyColor(&field_0x31c0, var_r28, mPolyInfo2, &field_0x37d4, &sp18); - if (temp_r3_2 != NULL && field_0x3198 != 7) { - temp_r3_2->setAwayFromAxisSpeed(var_f31); + emitter = setEmitterPolyColor(&field_0x31c0, var_r28, mPolyInfo2, &field_0x37d4, &sp18); + if (emitter != NULL && field_0x3198 != 7) { + emitter->setAwayFromAxisSpeed(var_f31); } } } void daAlink_c::setWolfSwimEndEffect(JPABaseEmitter** param_0, JPABaseEmitter** param_1) { static const u16 name0[] = { - 0x02A3, - 0x83A2, - 0x884F, + ID_ZI_J_WL_BURUBURU_A, + dPa_RM(ID_ZI_S_DIGTHROUGHA_BURU_A), + dPa_RM(ID_ZI_S_DIGTHROUGHSNOW_BURU_A), }; static const u16 name1[] = { - 0x02A3, - 0x83A3, - 0x8850, + ID_ZI_J_WL_BURUBURU_A, + dPa_RM(ID_ZI_S_DIGTHROUGHA_BURU_B), + dPa_RM(ID_ZI_S_DIGTHROUGHSNOW_BURU_B), }; int var_r30 = mProcVar3.field_0x300e; @@ -1228,128 +1290,133 @@ void daAlink_c::setWolfSwimEndEffect(JPABaseEmitter** param_0, JPABaseEmitter** void daAlink_c::setWolfLockAttackEffect() { static const u16 effID[] = { - 0x0244, - 0x0245, - 0x0246, + ID_ZI_J_WL_LOCKATBLUR_A, + ID_ZI_J_WL_LOCKATBLUR_B, + ID_ZI_J_WL_LOCKATBLUR_IND, }; - u8 var_r30; + JPABaseEmitter* emitter; + u8 alpha; if (dComIfGp_checkPlayerStatus1(0, 0x01000000)) { - var_r30 = 0xFF; + alpha = 0xFF; } else { - JPABaseEmitter* temp_r3 = dComIfGp_particle_getEmitter(field_0x31b0[0]); - if (temp_r3 != NULL) { - var_r30 = temp_r3->getGlobalAlpha(); - if (var_r30 >= 51) { - var_r30 -= 51; + emitter = dComIfGp_particle_getEmitter(field_0x31b0[0]); + if (emitter != NULL) { + alpha = emitter->getGlobalAlpha(); + if (alpha >= 51) { + alpha -= (u8)51; } else { - var_r30 = 0; + alpha = 0; } } else { - var_r30 = 0; + alpha = 0; } } - if (var_r30 != 0) { - cXyz sp8; - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(37), &sp8); + if (alpha != 0) { + Vec pos; + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(37), &pos); for (int i = 0; i < 3; i++) { - JPABaseEmitter* temp_r3_3 = setEmitter(&field_0x31b0[i], effID[i], &sp8, &shape_angle); - if (temp_r3_3 != NULL) { - temp_r3_3->setGlobalAlpha(var_r30); + emitter = setEmitter(&field_0x31b0[i], effID[i], (cXyz*)&pos, &shape_angle); + if (emitter != NULL) { + emitter->setGlobalAlpha(alpha); } } } } void daAlink_c::setWolfJumpAttackEffect() { - cXyz sp8; + cXyz pos; - u8 var_r30; + JPABaseEmitter* emitter; + u8 alpha; if (mProcID == PROC_WOLF_JUMP_ATTACK && mProcVar4.field_0x3010 != 0) { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &sp8); - setEmitter(&field_0x3288, 0xA9F, &sp8, &shape_angle); - setEmitter(&field_0x328c, 0xAA0, &sp8, &shape_angle); - var_r30 = 0xFF; + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &pos); + setEmitter(&field_0x3288, ID_ZI_J_WL_ATTACKA_A, &pos, &shape_angle); + setEmitter(&field_0x328c, ID_ZI_J_WL_ATTACKA_B, &pos, &shape_angle); + alpha = 0xFF; } else { stopDrawParticle(field_0x3288); stopDrawParticle(field_0x328c); - JPABaseEmitter* temp_r3 = dComIfGp_particle_getEmitter(field_0x3290); - if (temp_r3 != NULL) { - var_r30 = temp_r3->getGlobalAlpha(); - if (var_r30 >= 51) { - var_r30 -= 51; + emitter = dComIfGp_particle_getEmitter(field_0x3290); + if (emitter != NULL) { + alpha = emitter->getGlobalAlpha(); + if (alpha >= 51) { + alpha -= 51; } else { - var_r30 = 0; + alpha = 0; } } else { - var_r30 = 0; + alpha = 0; } } - if (var_r30 != 0) { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(0x25), &sp8); + if (alpha != 0) { + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(37), &pos); - JPABaseEmitter* temp_r3_3 = setEmitter(&field_0x3290, 0xB6F, &sp8, &shape_angle); - if (temp_r3_3 != NULL) { - temp_r3_3->setGlobalAlpha(var_r30); + emitter = setEmitter(&field_0x3290, ID_ZI_J_WL_ATTACKBLURA_A, &pos, &shape_angle); + if (emitter != NULL) { + emitter->setGlobalAlpha(alpha); } } } -void daAlink_c::setWolfBarrierHitEffect(dBgS_LinChk& param_0) { +void daAlink_c::setWolfBarrierHitEffect(dBgS_LinChk& i_linchk) { static const u16 normalNameID[] = { - 0x8390, - 0x8391, + dPa_RM(ID_ZI_S_NSBARRIER_COLL_A), + dPa_RM(ID_ZI_S_NSBARRIER_COLL_B), }; static const u16 ganonNameID[] = { - 0x8C2A, - 0x8C2B, + dPa_RM(ID_ZI_S_GW_COLL_A), + dPa_RM(ID_ZI_S_GW_COLL_B), }; - cM3dGPla sp10; - dComIfG_Bgsp().GetTriPla(param_0, &sp10); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(i_linchk, &tripla); - field_0x3102 = cM_atan2s(-sp10.mNormal.x, -sp10.mNormal.z); + field_0x3102 = cM_atan2s(-tripla.mNormal.x, -tripla.mNormal.z); - csXyz sp8(cM_atan2s(sp10.mNormal.y, sp10.mNormal.absXZ()), field_0x3102, 0); + csXyz rot(cM_atan2s(tripla.mNormal.y, tripla.mNormal.absXZ()), field_0x3102, 0); - const u16* var_r30; - s16 temp_r3 = getMoveBGActorName(param_0, 1); - if (temp_r3 == PROC_Obj_GanonWall2 || temp_r3 == PROC_OBJ_GB) { - var_r30 = ganonNameID; + const u16* effNames; + s16 movebg_name = getMoveBGActorName(i_linchk, TRUE); + if (movebg_name == PROC_Obj_GanonWall2 || movebg_name == PROC_OBJ_GB) { + effNames = ganonNameID; } else { - var_r30 = normalNameID; + effNames = normalNameID; } - for (int i = 0; i < 2; i++, var_r30++) { - dComIfGp_particle_set(*var_r30, param_0.GetCrossP(), &sp8, NULL); + for (int i = 0; i < 2; i++, effNames++) { + dComIfGp_particle_set(*effNames, i_linchk.GetCrossP(), &rot, NULL); } - mDoAud_seStart(Z2SE_OBJ_BARRIER_COLLISION, param_0.GetCrossP(), 0, 0); + mDoAud_seStart(Z2SE_OBJ_BARRIER_COLLISION, i_linchk.GetCrossP(), 0, 0); field_0x3100 = 3; } void daAlink_c::setCutWaterDropEffect() { if (field_0x32c0[0] > 0) { - cXyz sp18; - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &sp18); - dComIfGp_particle_setColor(0x2A4, &sp18, &tevStr, NULL, NULL, 0.0f, -1, &shape_angle, NULL, + Vec pos; + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &pos); + dComIfGp_particle_setColor(ID_ZI_J_LK_NURECUT_BACKBONE1, (cXyz*)&pos, &tevStr, NULL, NULL, 0.0f, -1, &shape_angle, NULL, NULL, -1, NULL); } } void daAlink_c::setWaterDropEffect() { static const u16 effDataTable[] = { - 0x02A5, 0x02A6, 0x02A7, 0x02A8, + ID_ZI_J_LK_NUREPOTA_BACKBONE2, + ID_ZI_J_LK_NUREPOTA_WAIST, + ID_ZI_J_WL_NUREPOTA_BACKBONE1, + ID_ZI_J_WL_NUREPOTA_BACKBONE2, }; Vec spC; int i; - if (checkEndResetFlg1(daPy_ERFLG1(ERFLG1_UNK_20000 | ERFLG1_UNK_1000 | ERFLG1_UNK_800))) { + if (checkEndResetFlg1(daPy_ERFLG1(ERFLG1_WATER_DROP | ERFLG1_UNK_1000 | ERFLG1_WATERFALL_FRONT_HIT))) { for (i = 0; i < 2; i++) { field_0x32c0[i] = -1; } @@ -1375,23 +1442,25 @@ void daAlink_c::setWaterDropEffect() { } } - const u16* var_r29; + const u16* effNames; if (checkWolf()) { - var_r29 = &effDataTable[2]; + effNames = &effDataTable[2]; } else { - var_r29 = &effDataTable[0]; + effNames = &effDataTable[0]; } - - for (i = 0; i < 2; i++, var_r29++) { + + JPABaseEmitter* emitter; + s16 color; + for (i = 0; i < 2; i++, effNames++) { if (field_0x32c0[i] > 0) { - JPABaseEmitter* temp_r3 = setEmitterColor(&field_0x3298[i], *var_r29, ¤t.pos, NULL); - if (temp_r3 != NULL) { - temp_r3->setGlobalRTMatrix(mpLinkModel->getAnmMtx(field_0x32c4[i])); + emitter = setEmitterColor(&field_0x3298[i], *effNames, ¤t.pos, NULL); + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mpLinkModel->getAnmMtx(field_0x32c4[i])); if (checkPlayerNoDraw()) { - temp_r3->stopDrawParticle(); + emitter->stopDrawParticle(); } else { - temp_r3->playDrawParticle(); + emitter->playDrawParticle(); } } } @@ -1408,16 +1477,15 @@ void daAlink_c::setWaterDropEffect() { field_0x32a0[i].a++; } - s16 var_r27; if (!checkNoResetFlg2(daPy_FLG2(FLG2_UNK_100000 | FLG2_UNK_80000))) { - var_r27 = field_0x32a0[i].a * 0.4f; + color = field_0x32a0[i].a * 0.4f; } else { - var_r27 = field_0x32a0[i].a * 0.65f; + color = field_0x32a0[i].a * 0.65f; } - field_0x32a0[i].r = var_r27; - field_0x32a0[i].g = var_r27; - field_0x32a0[i].b = var_r27; + field_0x32a0[i].r = color; + field_0x32a0[i].g = color; + field_0x32a0[i].b = color; } } @@ -1439,23 +1507,29 @@ void daAlink_c::setSwordUpColorEffect() { } void daAlink_c::setSwordCutSplash() { - static const u16 cutSplashName[] = {0x01B8, 0x01B9, 0x01BA, 0x01BB}; + static const u16 cutSplashName[] = { + ID_ZI_J_DOWNWTRA_A, + ID_ZI_J_DOWNWTRA_B, + ID_ZI_J_DOWNWTRA_C, + ID_ZI_J_DOWNWTRA_D, + }; + static Vec const swordCutSplashScale = {0.6f, 0.6f, 0.6f}; - if (mCutType != 0 && mProcID != PROC_CUT_TURN && getCutAtFlg() != 0 && checkNoResetFlg0(FLG0_UNK_80) && mEquipItem == 0x103) { + if (mCutType != 0 && mProcID != PROC_CUT_TURN && getCutAtFlg() && checkNoResetFlg0(FLG0_UNK_80) && mEquipItem == 0x103) { if (mSwordTopPos.y <= mWaterY && field_0x34b0.y > mWaterY) { cXyz sp14(mSwordTopPos.x, mWaterY, mSwordTopPos.z); for (int i = 0; i < 4; i++) { - JPABaseEmitter* temp_r3 = setEmitterPolyColor(&field_0x31e8[i], cutSplashName[i], mLinkAcch.m_wtr, &sp14, NULL); - if (temp_r3 != NULL) { - temp_r3->setRateStep(5); - temp_r3->setGlobalScale(swordCutSplashScale); + JPABaseEmitter* emitter = setEmitterPolyColor(&field_0x31e8[i], cutSplashName[i], mLinkAcch.m_wtr, &sp14, NULL); + if (emitter != NULL) { + emitter->setRateStep(5); + emitter->setGlobalScale(swordCutSplashScale); - if (cutSplashName[i] == 0x1B9) { - temp_r3->setRate(5.0f); - } else if (cutSplashName[i] == 0x1BB) { - temp_r3->setDirectionalSpeed(5.0f); + if (cutSplashName[i] == ID_ZI_J_DOWNWTRA_B) { + emitter->setRate(5.0f); + } else if (cutSplashName[i] == ID_ZI_J_DOWNWTRA_D) { + emitter->setDirectionalSpeed(5.0f); } } } @@ -1464,25 +1538,33 @@ void daAlink_c::setSwordCutSplash() { } void daAlink_c::setMetamorphoseEffectStartLink() { - setEmitter(&field_0x31f8, 0x24F, &field_0x37c8, NULL); - setEmitter(&field_0x31fc, 0x250, &field_0x37c8, NULL); - setEmitter(&field_0x3200, 0x6E8, &cXyz::Zero, NULL); + setEmitter(&field_0x31f8, ID_ZI_J_ATOW_A, &field_0x37c8, NULL); + setEmitter(&field_0x31fc, ID_ZI_J_ATOW_B, &field_0x37c8, NULL); + JPABaseEmitter* emitter = setEmitter(&field_0x3200, ID_ZI_J_ATOW_C, &cXyz::Zero, NULL); + + #if VERSION == VERSION_SHIELD_DEBUG + static Vec effScale = {1.33f, 1.0f, 1.0f}; + if (emitter != NULL) { + emitter->setGlobalParticleScale(effScale); + } + #endif } void daAlink_c::setMetamorphoseEffect() { + JPABaseEmitter* emitter; if (mProcVar1.field_0x300a == 0) { if (mProcVar5.field_0x3012 != 0) { if (checkWolf()) { setMetamorphoseEffectStartLink(); } else { - setEmitter(&field_0x31fc, 0x251, &field_0x37c8, NULL); + setEmitter(&field_0x31fc, ID_ZI_J_WTOA_A, &field_0x37c8, NULL); } } else if (checkWolf()) { - JPABaseEmitter* temp_r30 = setEmitter(&field_0x31f8, 0x252, ¤t.pos, NULL); + emitter = setEmitter(&field_0x31f8, ID_ZI_J_WTOA_B, ¤t.pos, NULL); mDoMtx_multVecZero(mpLinkModel->getAnmMtx(2), &field_0x37c8); - if (temp_r30 != NULL) { - temp_r30->setGlobalRTMatrix(mpLinkModel->getAnmMtx(2)); + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mpLinkModel->getAnmMtx(2)); } } else { mDoMtx_multVecZero(mpLinkModel->getAnmMtx(2), &field_0x37c8); @@ -1492,33 +1574,37 @@ void daAlink_c::setMetamorphoseEffect() { } void daAlink_c::setRunSplash() { + JPABaseEmitter* emitter; + if (mProcID == PROC_MOVE && checkNoResetFlg0(FLG0_UNK_80) && checkDashAnime()) { f32 temp_f31 = mWaterY - current.pos.y; - if (temp_f31 >= mpHIO->mBasic.m.mWaterSurfaceEffectHeight && temp_f31 < field_0x598 && dKy_pol_efftype_get(&mLinkAcch.m_wtr) == 2) { - cXyz sp8(current.pos.x, mWaterY, current.pos.z); + if (temp_f31 >= mpHIO->mBasic.m.mWaterSurfaceEffectHeight && temp_f31 < mHeight && dKy_pol_efftype_get(&mLinkAcch.m_wtr) == 2) { + cXyz pos(current.pos.x, mWaterY, current.pos.z); - JPABaseEmitter* temp_r3 = setEmitterPolyColor(&field_0x31f8, 0x1AF, mLinkAcch.m_wtr, &sp8, ¤t.angle); - if (temp_r3 != NULL) { - temp_r3->setLifeTime(10); - temp_r3->setDirectionalSpeed(5.0f); + emitter = setEmitterPolyColor(&field_0x31f8, ID_ZI_J_DASHWTRA_A, mLinkAcch.m_wtr, &pos, ¤t.angle); + if (emitter != NULL) { + emitter->setLifeTime(10); + emitter->setDirectionalSpeed(5.0f); } - sp8.set(current.pos.x + (70.0f * cM_ssin(shape_angle.y)), 20.0f + mWaterY, current.pos.z + (70.0f * cM_scos(shape_angle.y))); - setEmitterPolyColor(&field_0x31fc, 0x1B0, mLinkAcch.m_wtr, &sp8, ¤t.angle); - sp8.y = mWaterY; + pos.set(current.pos.x + (70.0f * cM_ssin(shape_angle.y)), 20.0f + mWaterY, current.pos.z + (70.0f * cM_scos(shape_angle.y))); + setEmitterPolyColor(&field_0x31fc, ID_ZI_J_DASHWTRA_B, mLinkAcch.m_wtr, &pos, ¤t.angle); + pos.y = mWaterY; - JPABaseEmitter* temp_r3_2 = setEmitterPolyColor(&field_0x3200, 0x1B1, mLinkAcch.m_wtr, &sp8, ¤t.angle); - if (temp_r3_2 != NULL) { - temp_r3_2->setLifeTime(20); - temp_r3_2->setDirectionalSpeed(4.5f); + emitter = setEmitterPolyColor(&field_0x3200, ID_ZI_J_DASHWTRA_C, mLinkAcch.m_wtr, &pos, ¤t.angle); + if (emitter != NULL) { + emitter->setLifeTime(20); + emitter->setDirectionalSpeed(4.5f); } } } } -void dAlink_bottleWaterPcallBack_c::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) { +void dAlink_bottleWaterPcallBack_c::execute(JPABaseEmitter* i_emitter, JPABaseParticle* i_particle) { + UNUSED(i_emitter); + JGeometry::TVec3 sp18; - param_1->getGlobalPosition(sp18); + i_particle->getGlobalPosition(&sp18); if (sp18.y < mKeepMinY) { mKeepMinY = sp18.y; @@ -1526,16 +1612,16 @@ void dAlink_bottleWaterPcallBack_c::execute(JPABaseEmitter* param_0, JPABasePart cXyz spC(sp18.x, daAlink_getAlinkActorClass()->getHeadTopPosP()->y, sp18.z); - BOOL var_r29 = 0; - BOOL var_r30 = 0; + BOOL var_r29 = FALSE; + BOOL var_r30 = FALSE; if (fopAcM_gc_c::gndCheck(&spC)) { if (sp18.y < fopAcM_gc_c::getGroundY()) { mHitFlg = 1; mHitPos.set(spC.x, fopAcM_gc_c::getGroundY(), spC.z); - var_r29 = 1; - var_r30 = 1; + var_r29 = TRUE; + var_r30 = TRUE; } } @@ -1543,13 +1629,13 @@ void dAlink_bottleWaterPcallBack_c::execute(JPABaseEmitter* param_0, JPABasePart if (sp18.y < fopAcM_wt_c::getWaterY() && (!var_r29 || mHitPos.y < fopAcM_wt_c::getWaterY())) { mHitFlg = 1; mHitPos.set(spC.x, fopAcM_wt_c::getWaterY(), spC.z); - var_r30 = 1; + var_r30 = TRUE; } } if (var_r30) { - param_1->setInvisibleParticleFlag(); - param_1->setDeleteParticleFlag(); + i_particle->setInvisibleParticleFlag(); + i_particle->setDeleteParticleFlag(); } } @@ -1563,38 +1649,40 @@ void daAlink_c::setBottleEffect() { static Vec const chuchuLocalOffset = {0.0f, 15.0f, 0.0f}; static Vec const chuchuScale = {0.8f, 0.8f, 0.8f}; + JPABaseEmitter* emitter; + if (mEquipItem == fpcNm_ITEM_FAIRY) { if (mpHookTipModel != NULL) { - cXyz sp2C; - mDoMtx_multVecZero(mpHookTipModel->getAnmMtx(2), &sp2C); + cXyz pos; + mDoMtx_multVecZero(mpHookTipModel->getAnmMtx(2), &pos); - JPABaseEmitter* temp_r3 = setEmitter(&field_0x3258, 0x72F, &sp2C, NULL); - if (temp_r3 != NULL) { - temp_r3->setGlobalScale(fairyScale); + emitter = setEmitter(&field_0x3258, ID_ZF_J_FAIRY00_GLOW, &pos, NULL); + if (emitter != NULL) { + emitter->setGlobalScale(fairyScale); } - setEmitter(&field_0x325c, 0x734, &sp2C, NULL); + emitter = setEmitter(&field_0x325c, ID_ZF_J_FAIRYITEM02_STAR, &pos, NULL); } } else if (mEquipItem == fpcNm_ITEM_CHUCHU_RARE && mProcID == PROC_BOTTLE_GET) { if (field_0x072c != NULL && field_0x072c->getFrame() < 2.0f) { - cXyz sp20; - mDoMtx_multVec(mHeldItemModel->getAnmMtx(0), &chuchuLocalOffset, &sp20); + cXyz pos; + mDoMtx_multVec(mHeldItemModel->getAnmMtx(0), &chuchuLocalOffset, &pos); - JPABaseEmitter* temp_r3_2 = setEmitter(&field_0x3258, 0xC14, &sp20, NULL); - if (temp_r3_2 != NULL) { - temp_r3_2->setGlobalScale(chuchuScale); + emitter = setEmitter(&field_0x3258, ID_ZI_J_KIRAKIRA_A, &pos, NULL); + if (emitter != NULL) { + emitter->setGlobalScale(chuchuScale); } } } else if (mProcID == PROC_BOTTLE_OPEN && mProcVar3.field_0x300e != 0 && mEquipItem == fpcNm_ITEM_WATER_BOTTLE) { - JPABaseEmitter* temp_r3_3 = setEmitter(&field_0x325c, 0x344, ¤t.pos, NULL); - if (temp_r3_3 != NULL) { - temp_r3_3->setGlobalRTMatrix(mHeldItemModel->getBaseTRMtx()); - temp_r3_3->setParticleCallBackPtr(&field_0x27c8); + emitter = setEmitter(&field_0x325c, ID_ZI_J_LK_BINWATERN_A, ¤t.pos, NULL); + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mHeldItemModel->getBaseTRMtx()); + emitter->setParticleCallBackPtr(&field_0x27c8); } if (!field_0x27c8.getAppearFlg() && field_0x27c8.getHitFlg()) { - dComIfGp_particle_set(0x345, &field_0x27c8.getHitPos(), NULL, NULL); - dComIfGp_particle_set(0x346, &field_0x27c8.getHitPos(), NULL, NULL); + dComIfGp_particle_set(ID_ZI_J_LK_BINWATERN_B, &field_0x27c8.getHitPos(), NULL, NULL); + dComIfGp_particle_set(ID_ZI_J_LK_BINWATERN_C, &field_0x27c8.getHitPos(), NULL, NULL); field_0x27c8.onAppearFlg(); } } @@ -1602,16 +1690,36 @@ void daAlink_c::setBottleEffect() { void daAlink_c::clearFirePointDamageEffect(int i_effNo) { firePointEff_c* fire_eff = &field_0x32d8[i_effNo]; - if (fire_eff->field_0x0 != 0) { stopDrawParticle(fire_eff->field_0x4); stopDrawParticle(fire_eff->field_0x8); } + fire_eff->field_0x0 = 0; fire_eff->field_0x24 = cXyz::Zero; } void daAlink_c::initFirePointDamageEffectAll() { + static u16 const effJoint[2][4] = { + {7, 12, 16, 34}, + {3, 3, 3, 3}, + }; + + static Vec const effOffset[2][4] = { + { + {-5.0f, 0.0f, 0.0f}, + {15.0f, 3.0f, 5.0f}, + {4.0f, -10.0f, 15.0f}, + {0.0f, -5.0f, -7.0f}, + }, + { + {15.0f, 5.0f, -20.0f}, + {0.0f, -25.0f, 5.0f}, + {15.0f, -5.0f, 20.0f}, + {10.0f, -25.0f, -10.0f}, + } + }; + firePointEff_c* eff = field_0x32d8; int var_r29; @@ -1621,27 +1729,8 @@ void daAlink_c::initFirePointDamageEffectAll() { var_r29 = 0; } - for (int i = 0; i < 4; i++, eff++) { - static u16 const effJoint[2][4] = { - {0x0007, 0x000C, 0x0010, 0x0022}, - {0x0003, 0x0003, 0x0003, 0x0003}, - }; - - static Vec const effOffset[2][4] = { - { - {-5.0f, 0.0f, 0.0f}, - {15.0f, 3.0f, 5.0f}, - {4.0f, -10.0f, 15.0f}, - {0.0f, -5.0f, -7.0f}, - }, - { - {15.0f, 5.0f, -20.0f}, - {0.0f, -25.0f, 5.0f}, - {15.0f, -5.0f, 20.0f}, - {10.0f, -25.0f, -10.0f}, - } - }; - + int i; + for (i = 0; i < 4; i++, eff++) { eff->field_0x0 = 1; eff->field_0x2 = effJoint[var_r29][i]; eff->field_0x4 = 0; @@ -1653,7 +1742,7 @@ void daAlink_c::initFirePointDamageEffectAll() { } } -void daAlink_c::initFirePointDamageEffect(cXyz const* param_0, dCcD_GObjInf* param_1) { +void daAlink_c::initFirePointDamageEffect(cXyz const* param_0, dCcD_GObjInf* i_hitObj) { firePointEff_c* eff = field_0x32d8; int i; @@ -1664,9 +1753,9 @@ void daAlink_c::initFirePointDamageEffect(cXyz const* param_0, dCcD_GObjInf* par } if (i != 4) { - cXyz* var_r27 = getDamageVec(param_1); + cXyz* dmg_vec = getDamageVec(i_hitObj); - csXyz sp38(var_r27->atan2sY_XZ(), var_r27->atan2sX_Z(), 0); + csXyz sp38(dmg_vec->atan2sY_XZ(), dmg_vec->atan2sX_Z(), 0); csXyz sp40; cXyz sp30; @@ -1688,43 +1777,44 @@ void daAlink_c::initFirePointDamageEffect(cXyz const* param_0, dCcD_GObjInf* par } void daAlink_c::setFirePointDamageEffect() { - firePointEff_c* var_r30 = field_0x32d8; - cXyz sp24; + firePointEff_c* fireEff = field_0x32d8; + cXyz pos; - BOOL var_r25 = 0; + BOOL var_r25 = FALSE; - for (int i = 0; i < 4; i++, var_r30++) { - if (var_r30->field_0x0 != 0) { - mDoMtx_multVec(mpLinkModel->getAnmMtx(var_r30->field_0x2), &var_r30->field_0x18, &sp24); + JPABaseEmitter* emitter; + for (int i = 0; i < 4; i++, fireEff++) { + if (fireEff->field_0x0 != 0) { + mDoMtx_multVec(mpLinkModel->getAnmMtx(fireEff->field_0x2), &fireEff->field_0x18, &pos); - if (mWaterY > sp24.y) { + if (mWaterY > pos.y) { clearFirePointDamageEffect(i); } else { BOOL var_r26; - if (var_r30->field_0x4 == 0) { - var_r30->field_0x24 = cXyz::Zero; - var_r26 = 1; + if (fireEff->field_0x4 == 0) { + fireEff->field_0x24 = cXyz::Zero; + var_r26 = TRUE; } else { - var_r30->field_0x24 = (sp24 - var_r30->field_0xc) * 0.9f; - var_r26 = 0; + fireEff->field_0x24 = (pos - fireEff->field_0xc) * 0.9f; + var_r26 = FALSE; } - JPABaseEmitter* temp_r28 = setEmitter(&var_r30->field_0x4, 0x742, &sp24, NULL); - if (temp_r28 != NULL && temp_r28->isEnableDeleteEmitter()) { + emitter = setEmitter(&fireEff->field_0x4, ID_ZI_J_LK_BURNS_A, &pos, NULL); + if (emitter != NULL && emitter->isEnableDeleteEmitter()) { clearFirePointDamageEffect(i); } else { - if (var_r26 && temp_r28 != NULL) { - temp_r28->setParticleCallBackPtr(dPa_control_c::getParticleTracePCB()); - temp_r28->setUserWork((uintptr_t)&var_r30->field_0x24); + if (var_r26 && emitter != NULL) { + emitter->setParticleCallBackPtr(dPa_control_c::getParticleTracePCB()); + emitter->setUserWork((uintptr_t)&fireEff->field_0x24); } - JPABaseEmitter* temp_r28_2 = setEmitter(&var_r30->field_0x8, 0x743, &sp24, NULL); - if (var_r26 && temp_r28_2 != NULL) { - temp_r28_2->setParticleCallBackPtr(dPa_control_c::getParticleTracePCB()); - temp_r28_2->setUserWork((uintptr_t)&var_r30->field_0x24); + emitter = setEmitter(&fireEff->field_0x8, ID_ZI_J_LK_BURNS_B, &pos, NULL); + if (var_r26 && emitter != NULL) { + emitter->setParticleCallBackPtr(dPa_control_c::getParticleTracePCB()); + emitter->setUserWork((uintptr_t)&fireEff->field_0x24); } - var_r30->field_0xc = sp24; + fireEff->field_0xc = pos; var_r25 = 1; } } @@ -1741,36 +1831,39 @@ void daAlink_c::setFreezeEffect() { static Vec const wolfEffScale = {1.0f, 1.0f, 1.5f}; static Vec const offsetPos = {0.0f, 0.0f, -10.0f}; - cXyz sp14; + cXyz pos; if (checkFreezeDamage()) { if (mProcID == PROC_DAMAGE || mProcID == PROC_SWIM_FREEZE_RETURN || mProcID == PROC_WOLF_DAMAGE) { - const Vec* var_r28; + const Vec* peffScale; if (checkWolf()) { - mDoMtx_multVec(mpLinkModel->getAnmMtx(2), &offsetPos, &sp14); - var_r28 = &wolfEffScale; + mDoMtx_multVec(mpLinkModel->getAnmMtx(2), &offsetPos, &pos); + peffScale = &wolfEffScale; } else { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &sp14); - var_r28 = &effScale; + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &pos); + peffScale = &effScale; } - JPABaseEmitter* temp_r3 = setEmitter(&field_0x3268, 0x881A, &sp14, &shape_angle); - if (temp_r3 != NULL) { - temp_r3->setLocalScale(*var_r28); + JPABaseEmitter* emitter = setEmitter(&field_0x3268, dPa_RM(ID_ZI_S_LK_FREEZ_A), &pos, &shape_angle); + if (emitter != NULL) { + emitter->setLocalScale(*peffScale); } } onNoResetFlg3(FLG3_UNK_800); } else if (checkNoResetFlg3(FLG3_UNK_800)) { if (checkWolf()) { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(2), &sp14); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(2), &pos); } else { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &sp14); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &pos); } for (int i = 0; i < 2; i++) { - static const u16 effName[] = {0x8818, 0x8819}; - dComIfGp_particle_setColor(effName[i], &sp14, &tevStr, NULL, NULL, 0.0f, 0xFF); + static const u16 effName[] = { + dPa_RM(ID_ZI_S_LK_FREEZEND_A), + dPa_RM(ID_ZI_S_LK_FREEZEND_B), + }; + dComIfGp_particle_setColor(effName[i], &pos, &tevStr, NULL, NULL, 0.0f, 0xFF); } stopDrawParticle(field_0x3268); @@ -1780,8 +1873,8 @@ void daAlink_c::setFreezeEffect() { void daAlink_c::setWoodShieldBurnEffect() { static const u16 effName[] = { - 0x0814, - 0x0815, + ID_ZI_J_LK_SH_BURN_A, + ID_ZI_J_LK_SH_BURN_B, }; if (field_0x2fcb != 0) { @@ -1808,8 +1901,8 @@ void daAlink_c::clearWoodShieldBurnEffect() { void daAlink_c::setWoodShieldBurnOutEffect() { static const u16 effName[] = { - 0x0816, - 0x0817, + ID_ZI_J_LK_SH_BURN_C, + ID_ZI_J_LK_SH_BURN_D, }; for (int i = 0; i < 2; i++) { @@ -1860,14 +1953,15 @@ static void setBezierPos(cXyz const* start, cXyz const* control_1, cXyz const* c } void daAlink_blur_c::copyBlur(cXyz const* param_0, cXyz const* param_1, cXyz const* param_2) { - s32 temp = 10; + s32 var_r29 = 10; - for (int i = 59 - temp; i >= 0; i--) { - field_0x38[i + temp] = field_0x38[i]; - field_0x308[i + temp] = field_0x308[i]; + int i; + for (i = 59 - var_r29; i >= 0; i--) { + field_0x38[i + var_r29] = field_0x38[i]; + field_0x308[i + var_r29] = field_0x308[i]; } - f32 temp_f30 = 1.0f / temp; + f32 temp_f30 = 1.0f / var_r29; f32 var_f31 = 0.0f; cXyz sp4C; @@ -1875,14 +1969,14 @@ void daAlink_blur_c::copyBlur(cXyz const* param_0, cXyz const* param_1, cXyz con cXyz sp64; cXyz sp70; - sp58 = field_0x308[temp] + (field_0x2c * 30.0f); + sp58 = field_0x308[var_r29] + (field_0x2c * 30.0f); sp4C = *param_1 + (*param_2 * -30.0f); - sp70 = field_0x38[temp] + (field_0x2c * 60.0f); + sp70 = field_0x38[var_r29] + (field_0x2c * 60.0f); sp64 = *param_0 + (*param_2 * -60.0f); - for (int i = 0; i < temp; i++) { - setBezierPos(param_1, &field_0x308[temp], &sp4C, &sp58, var_f31, &field_0x308[i]); - setBezierPos(param_0, &field_0x38[temp], &sp64, &sp70, var_f31, &field_0x38[i]); + for (i = 0; i < var_r29; i++) { + setBezierPos(param_1, &field_0x308[var_r29], &sp4C, &sp58, var_f31, &field_0x308[i]); + setBezierPos(param_0, &field_0x38[var_r29], &sp64, &sp70, var_f31, &field_0x38[i]); field_0x38[i] += (field_0x38[i] - field_0x308[i]) * field_0x24; var_f31 += temp_f30; @@ -1890,7 +1984,7 @@ void daAlink_blur_c::copyBlur(cXyz const* param_0, cXyz const* param_1, cXyz con field_0x2c = *param_2; - field_0x14 += 10; + field_0x14 += var_r29; if (field_0x14 >= 59) { field_0x14 = 58; } @@ -1920,7 +2014,7 @@ void daAlink_blur_c::draw() { GXSetNumIndStages(0); nColor0.a = field_0x20; - GXInitTexObj(&texObj, (void*)((uintptr_t)m_blurTex + m_blurTex->imageOffset), 0x10, 4, GX_TF_I4, + GXInitTexObj(&texObj, (void*)((uintptr_t)m_blurTex + m_blurTex->imageOffset), 16, 4, GX_TF_I4, GX_CLAMP, GX_CLAMP, GX_FALSE); GXInitTexObjLOD(&texObj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); @@ -1989,25 +2083,29 @@ BOOL daAlink_lockCursor_c::create() { mScrn->setPriority("zelda_v_cursor_new_yellow.blo", 0x100000, arc); dPaneClass_showNullPane(mScrn); - void* tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.bpk", arc); + void* tmpData = JKRGetNameResource("zelda_v_cursor_new_yellow.bpk", arc); + JUT_ASSERT(3450, tmpData); field_0x24 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(tmpData); if (field_0x24 == NULL) { return false; } - tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.bck", arc); + tmpData = JKRGetNameResource("zelda_v_cursor_new_yellow.bck", arc); + JUT_ASSERT(3458, tmpData); field_0x28 = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(tmpData); if (field_0x28 == NULL) { return false; } - tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow_02.brk", arc); + tmpData = JKRGetNameResource("zelda_v_cursor_new_yellow_02.brk", arc); + JUT_ASSERT(3467, tmpData); field_0x1c = (J2DAnmTevRegKey*)J2DAnmLoaderDataBase::load(tmpData); if (field_0x1c == NULL) { return false; } - tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.brk", arc); + tmpData = JKRGetNameResource("zelda_v_cursor_new_yellow.brk", arc); + JUT_ASSERT(3475, tmpData); field_0x20 = (J2DAnmTevRegKey*)J2DAnmLoaderDataBase::load(tmpData); if (field_0x20 == NULL) { return false; @@ -2080,38 +2178,40 @@ void daAlink_lockCursor_c::update() { } void daAlink_lockCursor_c::draw() { - if (field_0x4 != 0) { - field_0x28->setFrame(mLockCursorAngle); - - f32 var_f30; - if (mLockCursorAngle > 21.0f) { - var_f30 = 21.0f; - } else { - var_f30 = mLockCursorAngle; - } - - field_0x24->setFrame(var_f30); - field_0x1c->setFrame(field_0x30); - - mScrn->animation(); - field_0xc->scale(0.6f, 0.6f); - field_0xc->translate(mPosX, mPosY); - - if (!(mLockCursorAngle < 15.0f)) { - f32 var_f31; - if (mLockCursorAngle < 21.0f) { - var_f31 = ((mLockCursorAngle - 15.0f) * 40.0f) * 0.16666667f; - } else { - var_f31 = ((field_0x4 * 0.00390625f) + 0.5f) * 40.0f; - } - - mCursor0->translate(0.0f, -var_f31); - mCursor1->translate(var_f31 * cM_fcos(2.6179938f), var_f31 * cM_fsin(2.6179938f)); - mCursor2->translate(var_f31 * cM_fcos(0.5235988f), var_f31 * cM_fsin(0.5235988f)); - } - - mScrn->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort()); + if (field_0x4 == 0) { + return; } + + field_0x28->setFrame(mLockCursorAngle); + + f32 var_f30; + if (mLockCursorAngle > 21.0f) { + var_f30 = 21.0f; + } else { + var_f30 = mLockCursorAngle; + } + + field_0x24->setFrame(var_f30); + field_0x1c->setFrame(field_0x30); + + mScrn->animation(); + field_0xc->scale(0.6f, 0.6f); + field_0xc->translate(mPosX, mPosY); + + f32 var_f31; + if (!(mLockCursorAngle < 15.0f)) { + if (mLockCursorAngle < 21.0f) { + var_f31 = ((mLockCursorAngle - 15.0f) * 40.0f) * 0.16666667f; + } else { + var_f31 = ((field_0x4 * 0.00390625f) + 0.5f) * 40.0f; + } + + mCursor0->translate(0.0f, -var_f31); + mCursor1->translate(var_f31 * cM_fcos(2.6179938f), var_f31 * cM_fsin(2.6179938f)); + mCursor2->translate(var_f31 * cM_fcos(0.5235988f), var_f31 * cM_fsin(0.5235988f)); + } + + mScrn->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort()); } BOOL daAlink_sight_c::create() { @@ -2119,14 +2219,13 @@ BOOL daAlink_sight_c::create() { return false; } - ResTIMG* data = (ResTIMG*)dComIfG_getObjectRes(l_arcName, daAlink_c::getSightBti()); - setSightImage(data); + setSightImage((ResTIMG*)dComIfG_getObjectRes(l_arcName, daAlink_c::getSightBti())); return true; } void daAlink_sight_c::draw() { if (mLockFlag) { - mLockCursor.setPos(field_0x14[0][3], field_0x14[1][3]); + mLockCursor.setPos(mProjMtx[0][3], mProjMtx[1][3]); mLockCursor.draw(); } else { daPy_sightPacket_c::draw(); diff --git a/src/d/actor/d_a_alink_grab.inc b/src/d/actor/d_a_alink_grab.inc index 7058fcd063..6c316a0933 100644 --- a/src/d/actor/d_a_alink_grab.inc +++ b/src/d/actor/d_a_alink_grab.inc @@ -8,30 +8,39 @@ #include "d/actor/d_a_obj_movebox.h" #include "d/actor/d_a_obj_gra2.h" -static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor) { - if (fopAcM_GetName(p_actor) == PROC_Obj_Carry && - static_cast(p_actor)->getType() == daObjCarry_c::TYPE_BALL_S) +static bool daAlink_checkLightBallA(fopAc_ac_c* i_actor) { + daObjCarry_c* carry = (daObjCarry_c*)i_actor; + + if (fopAcM_GetName(carry) == PROC_Obj_Carry && + carry->getType() == daObjCarry_c::TYPE_BALL_S) { return true; } + return false; } -static bool daAlink_checkLightBallB(fopAc_ac_c* p_actor) { - if (fopAcM_GetName(p_actor) == PROC_Obj_Carry && - static_cast(p_actor)->getType() == daObjCarry_c::TYPE_BALL_S_2) +static bool daAlink_checkLightBallB(fopAc_ac_c* i_actor) { + daObjCarry_c* carry = (daObjCarry_c*)i_actor; + + if (fopAcM_GetName(carry) == PROC_Obj_Carry && + carry->getType() == daObjCarry_c::TYPE_BALL_S_2) { return true; } + return false; } -static fopAc_ac_c* daAlink_searchLightBall(fopAc_ac_c* p_actor, void* param_1) { - if ((daPy_py_c::checkCarryStartLightBallA() && daAlink_checkLightBallA(p_actor)) || - (daPy_py_c::checkCarryStartLightBallB() && daAlink_checkLightBallB(p_actor))) +static fopAc_ac_c* daAlink_searchLightBall(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + + if ((daPy_py_c::checkCarryStartLightBallA() && daAlink_checkLightBallA(i_actor)) || + (daPy_py_c::checkCarryStartLightBallB() && daAlink_checkLightBallB(i_actor))) { - return p_actor; + return i_actor; } + return NULL; } @@ -44,18 +53,18 @@ BOOL daAlink_c::checkGrabLineCheck() { return false; } -void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyInfo* param_2) { +void daAlink_c::setGrabCollisionOffset(f32 i_offsetX, f32 i_offsetZ, cBgS_PolyInfo* param_2) { if (param_2 != NULL) { mPolyInfo4.SetPolyInfo(*param_2); } else { mPolyInfo4.ClearPi(); } - field_0x342c = 0.8f * param_0; - field_0x3430 = 0.8f * param_1; + field_0x342c = 0.8f * i_offsetX; + field_0x3430 = 0.8f * i_offsetZ; } -BOOL daAlink_c::exchangeGrabActor(fopAc_ac_c* p_actor) { +BOOL daAlink_c::exchangeGrabActor(fopAc_ac_c* i_actor) { fopAc_ac_c* actor = mGrabItemAcKeep.getActor(); if (actor == NULL) { return false; @@ -70,19 +79,23 @@ BOOL daAlink_c::exchangeGrabActor(fopAc_ac_c* p_actor) { actor->current.angle.x = 0; } - setGrabItemActor(p_actor); + setGrabItemActor(i_actor); return true; } -BOOL daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) { - if (((param_1 != 0 || !checkEventRun()) && !checkWolf()) && - (((mEquipItem == fpcNm_ITEM_NONE || (param_2 != 0 && checkHookshotItem(mEquipItem)))) && - ((checkModeFlg(MODE_UNK_10000000) && - (checkHorseNoUpperAnime() || checkHorseTurnAnime())) || - param_2 != 0 && checkHookshotAnime()))) +BOOL daAlink_c::setForceGrab(fopAc_ac_c* i_actor, BOOL param_1, BOOL param_2) { + if (((param_1 || !checkEventRun()) && !checkWolf()) + && ((mEquipItem == fpcNm_ITEM_NONE || (param_2 && checkHookshotItem(mEquipItem))) + && ((checkModeFlg(MODE_UNK_10000000) + && (checkHorseNoUpperAnime() || checkHorseTurnAnime()) + ) + || (param_2 && checkHookshotAnime()) + ) + ) + ) { deleteEquipItem(TRUE, FALSE); - setGrabItemActor(p_actor); + setGrabItemActor(i_actor); field_0x33e4 = 38.0f; setGrabUpperAnime(mpHIO->mBasic.m.mBasicInterpolation); return true; @@ -92,7 +105,7 @@ BOOL daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) { } f32 daAlink_c::getGrabThrowRate() { - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { return 0.6f * mHeavySpeedMultiplier; } @@ -117,10 +130,11 @@ BOOL daAlink_c::checkGrabCarryActor() { } BOOL daAlink_c::checkGrabSlowMoveActor() { - daObjCarry_c* var_r31 = (daObjCarry_c*)mGrabItemAcKeep.getActor(); - return var_r31 != NULL && - (fopAcM_CheckCarryType(var_r31, fopAcM_CARRY_HEAVY) || - (fopAcM_GetName(var_r31) == PROC_Obj_Carry && (var_r31->getType() == 1 || var_r31->getType() == 10 || var_r31->getType() == 4))); + daObjCarry_c* carry = (daObjCarry_c*)mGrabItemAcKeep.getActor(); + return carry != NULL && + (fopAcM_CheckCarryType(carry, fopAcM_CARRY_HEAVY) || + (fopAcM_GetName(carry) == PROC_Obj_Carry + && (carry->getType() == daObjCarry_c::TYPE_OOTSUBO || carry->getType() == daObjCarry_c::TYPE_AOTSUBO || carry->getType() == daObjCarry_c::TYPE_TARU))); } BOOL daAlink_c::checkGrabHeavyActor() { @@ -134,7 +148,7 @@ BOOL daAlink_c::checkGrabSideActor() { } void daAlink_c::setGrabUpperAnime(f32 param_0) { - if (param_0 > 0.0f && checkNoResetFlg0(FLG0_UNDERWATER)) { + if (param_0 > 0.0f && checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { if (checkZoraWearAbility()) { param_0 *= 1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; } else { @@ -145,15 +159,15 @@ void daAlink_c::setGrabUpperAnime(f32 param_0) { field_0x33e8 = 0.0f; if (checkGrabCarryActor()) { - setUpperAnimeBaseSpeed(0x60, 0.0f, param_0); - setFacePriBck(0xFA); - } else if (checkGrabSideActor() != 0) { - setUpperAnimeBaseSpeed(0x50, 0.0f, param_0); - setFacePriBck(0x13D); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_CARRYD_e, 0.0f, param_0); + setFacePriBck(dRes_ID_ALANM_BCK_FCAT_e); + } else if (checkGrabSideActor()) { + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_BOMBD_e, 0.0f, param_0); + setFacePriBck(dRes_ID_ALANM_BCK_FGRABWAIT_e); field_0x33ec = 0.0f; } else { - setUpperAnimeBaseSpeed(0x16C, 0.0f, param_0); - setFacePriBck(0x13D); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_GRABD_e, 0.0f, param_0); + setFacePriBck(dRes_ID_ALANM_BCK_FGRABWAIT_e); field_0x33ec = 0.0f; } @@ -178,19 +192,19 @@ void daAlink_c::setGrabItemPos() { static cXyz grabCarryOffset2(-3.0f, 30.0f, -30.0f); static cXyz grabCarryOffset3(-4.5f, 26.0f, -33.0f); - fopAc_ac_c* temp_r3 = mGrabItemAcKeep.getActor(); - if (temp_r3 != NULL) { - daPy_frameCtrl_c* sp1C = &mUnderFrameCtrl[0]; + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); + if (grabActor != NULL) { + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - s8 sp8 = fopAcM_GetRoomNo(this); - temp_r3->tevStr.room_no = sp8; - temp_r3->tevStr.YukaCol = tevStr.YukaCol; - fopAcM_SetRoomNo(temp_r3, sp8); + s8 roomNo = fopAcM_GetRoomNo(this); + grabActor->tevStr.room_no = roomNo; + grabActor->tevStr.YukaCol = tevStr.YukaCol; + fopAcM_SetRoomNo(grabActor, roomNo); - BOOL sp18 = checkGrabCarryActor(); + BOOL isGrabCarryActor = checkGrabCarryActor(); s16 spE; s16 spC; - if (sp18) { + if (isGrabCarryActor) { spE = (shape_angle.y + 0x8000); spC = -field_0x2fee; } else { @@ -199,26 +213,26 @@ void daAlink_c::setGrabItemPos() { } if (checkGrabSideThrowAnime()) { - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(0xA), &temp_r3->current.pos); - temp_r3->shape_angle.y = spE; - temp_r3->shape_angle.z = spC; - temp_r3->shape_angle.x = shape_angle.x; + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(10), &grabActor->current.pos); + grabActor->shape_angle.y = spE; + grabActor->shape_angle.z = spC; + grabActor->shape_angle.x = shape_angle.x; } else if (mProcID == PROC_GRAB_READY || mProcID == PROC_GRAB_MISS || mProcID == PROC_PICK_UP || (mProcID == PROC_WOLF_GRAB_UP && mProcVar3.field_0x300e == 0)) { mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::YrotM((shape_angle.y - mProcVar2.field_0x300c)); - mDoMtx_stack_c::multVec(&field_0x37c8, &temp_r3->current.pos); - if (sp18 && mProcID == PROC_GRAB_READY) { - cLib_chaseAngleS(&temp_r3->shape_angle.y, spE, 0x1000); - temp_r3->current.angle.y = temp_r3->shape_angle.y; + mDoMtx_stack_c::multVec(&field_0x37c8, &grabActor->current.pos); + if (isGrabCarryActor && mProcID == PROC_GRAB_READY) { + cLib_chaseAngleS(&grabActor->shape_angle.y, spE, 0x1000); + grabActor->current.angle.y = grabActor->shape_angle.y; } } else if (checkWolf()) { mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(4)); - if (!fopAcM_CheckCarryType(temp_r3, fopAcM_CARRY_ITEM)) { + if (!fopAcM_CheckCarryType(grabActor, fopAcM_CARRY_ITEM)) { mDoMtx_stack_c::transM(78.0f, 42.0f, 0.0f); mDoMtx_stack_c::ZrotM(cM_deg2s(138.0f)); } else { - if (fopAcM_GetName(temp_r3) == PROC_OBJ_FOOD) { + if (fopAcM_GetName(grabActor) == PROC_OBJ_FOOD) { mDoMtx_stack_c::transM(32.0f, 7.0f, 0.0f); } else { mDoMtx_stack_c::transM(30.0f, 12.0f, 0.0f); @@ -227,26 +241,27 @@ void daAlink_c::setGrabItemPos() { mDoMtx_stack_c::XYZrotM(cM_deg2s(132.0f), cM_deg2s(-90.0f), 0); } - mDoMtx_stack_c::multVecZero(&temp_r3->current.pos); - mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &temp_r3->shape_angle); + mDoMtx_stack_c::multVecZero(&grabActor->current.pos); + mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &grabActor->shape_angle); } else { - BOOL sp14 = fopAcM_GetName(temp_r3) == PROC_NPC_TKJ2; + BOOL sp14 = fopAcM_GetName(grabActor) == PROC_NPC_TKJ2; if (mProcID == PROC_GRAB_UP) { - cLib_chaseAngleS(&temp_r3->shape_angle.y, spE, 0x1000); + cLib_chaseAngleS(&grabActor->shape_angle.y, spE, 0x1000); } else { - temp_r3->shape_angle.y = spE; - temp_r3->shape_angle.z = spC; - temp_r3->shape_angle.x = shape_angle.x; + grabActor->shape_angle.y = spE; + grabActor->shape_angle.z = spC; + grabActor->shape_angle.x = shape_angle.x; } cXyz sp140; cXyz sp134; + f32 temp_f31; if (mProcID == PROC_GRAB_UP) { - sp134 = temp_r3->current.pos; + sp134 = grabActor->current.pos; } - if (sp18) { + if (isGrabCarryActor) { s16 spA = shape_angle.x + (field_0x33e8 * cM_deg2s(30.0f)); cXyz sp128; @@ -254,16 +269,16 @@ void daAlink_c::setGrabItemPos() { mDoMtx_multVecZero(mFootData2[0].field_0x14[2], &sp128); mDoMtx_multVecZero(mFootData2[1].field_0x14[2], &sp11C); - temp_r3->current.pos = (sp128 + sp11C) * 0.5f; + grabActor->current.pos = (sp128 + sp11C) * 0.5f; mDoMtx_stack_c::ZXYrotS(spA, shape_angle.y, shape_angle.z); if (mProcID == PROC_GRAB_UP || mProcID == PROC_GRAB_PUT) { - if (sp1C->getFrame() < field_0x3478) { - f32 temp_f31 = (sp1C->getFrame() - 9.0f) / (field_0x3478 - 9.0f); + if (framectrl->getFrame() < field_0x3478) { + temp_f31 = (framectrl->getFrame() - 9.0f) / (field_0x3478 - 9.0f); sp140 = (grabCarryOffset0 * (1.0f - temp_f31)) + (grabCarryOffset1 * temp_f31); mDoMtx_stack_c::multVec(&sp140, &sp140); } else { - f32 temp_f31 = (sp1C->getFrame() - field_0x3478) / (sp1C->getEnd() - field_0x3478); + temp_f31 = (framectrl->getFrame() - field_0x3478) / (framectrl->getEnd() - field_0x3478); sp140 = (grabCarryOffset1 * (1.0f - temp_f31)) + (grabCarryOffset2 * temp_f31); mDoMtx_stack_c::multVec(&sp140, &sp140); } @@ -272,12 +287,12 @@ void daAlink_c::setGrabItemPos() { mDoMtx_stack_c::multVec(&sp140, &sp140); } - temp_r3->current.pos += sp140; - temp_r3->shape_angle.x = -spA; + grabActor->current.pos += sp140; + grabActor->shape_angle.x = -spA; - temp_r3->current.angle.x = temp_r3->shape_angle.x; - temp_r3->current.angle.y = temp_r3->shape_angle.y; - temp_r3->current.angle.z = temp_r3->shape_angle.z; + grabActor->current.angle.x = grabActor->shape_angle.x; + grabActor->current.angle.y = grabActor->shape_angle.y; + grabActor->current.angle.z = grabActor->shape_angle.z; } else { sp140 = (mLeftHandPos + mRightHandPos) * 0.5f; mDoMtx_stack_c::transS(sp140); @@ -290,20 +305,20 @@ void daAlink_c::setGrabItemPos() { sp140.y += -15.0f; } - mDoMtx_stack_c::multVec(&sp140, &temp_r3->current.pos); + mDoMtx_stack_c::multVec(&sp140, &grabActor->current.pos); if (checkGrabAnimeSide()) { static Vec const localSidePos = {2.3f, -15.5f, 15.6f}; - mDoMtx_multVec(mpLinkModel->getAnmMtx(0xA), &localSidePos, &sp140); - temp_r3->current.pos = (temp_r3->current.pos * (1.0f - field_0x33e8)) + (sp140 * field_0x33e8); + mDoMtx_multVec(mpLinkModel->getAnmMtx(10), &localSidePos, &sp140); + grabActor->current.pos = (grabActor->current.pos * (1.0f - field_0x33e8)) + (sp140 * field_0x33e8); } } if (checkUnderMove0BckNoArc(ANM_GRAB_UP)) { - f32 temp_f31_3 = 1.0f - ((sp1C->getFrame() - sp1C->getStart()) / (sp1C->getEnd() - sp1C->getStart())); + temp_f31 = 1.0f - ((framectrl->getFrame() - framectrl->getStart()) / (framectrl->getEnd() - framectrl->getStart())); sp140.x = 0.0f; - sp140.z = field_0x33e4 * temp_f31_3; + sp140.z = field_0x33e4 * temp_f31; f32 var_f30; if (sp14) { @@ -312,22 +327,22 @@ void daAlink_c::setGrabItemPos() { var_f30 = -3.0f; } - if (mProcID == 0x70) { - sp140.y = temp_f31_3 * (-13.789083f - var_f30); + if (mProcID == PROC_GRAB_PUT) { + sp140.y = temp_f31 * (-13.789083f - var_f30); } else { - sp140.y = temp_f31_3 * (-13.825373f - var_f30); + sp140.y = temp_f31 * (-13.825373f - var_f30); } mDoMtx_stack_c::multVecSR(&sp140, &sp140); - temp_r3->current.pos += sp140; + grabActor->current.pos += sp140; } if (mProcID == PROC_GRAB_PUT) { if (checkMagneBootsOn()) { - cXyz sp110 = temp_r3->current.pos - current.pos; + cXyz sp110 = grabActor->current.pos - current.pos; mDoMtx_multVecSR(mMagneBootInvMtx, &sp110, &sp110); - sp110.y = field_0x598; + sp110.y = mHeight; mDoMtx_multVecSR(mMagneBootMtx, &sp110, &sp110); sp110 += current.pos; @@ -335,85 +350,85 @@ void daAlink_c::setGrabItemPos() { cXyz sp104; mDoMtx_multVecSR(mMagneBootMtx, &cXyz::BaseY, &sp104); - sp104 = sp110 - (sp104 * field_0x598); + sp104 = sp110 - (sp104 * mHeight); if (grabLineCheck(&sp110, &sp104)) { - if (temp_r3->current.pos.abs(sp110) > mObjLinChk.GetCrossP()->abs(sp110)) { - temp_r3->speedF = 0.0f; - temp_r3->current.pos = mObjLinChk.GetCross(); + if (grabActor->current.pos.abs(sp110) > mObjLinChk.GetCrossP()->abs(sp110)) { + grabActor->speedF = 0.0f; + grabActor->current.pos = mObjLinChk.GetCross(); freeGrabItem(); return; } } } else { - cXyz spF8(temp_r3->current.pos.x, current.pos.y + field_0x598, temp_r3->current.pos.z); + cXyz spF8(grabActor->current.pos.x, current.pos.y + mHeight, grabActor->current.pos.z); mObjGndChk.SetPos(&spF8); - f32 temp_f1 = dComIfG_Bgsp().GroundCross(&mObjGndChk); - if (temp_f1 > temp_r3->current.pos.y) { - temp_r3->speedF = 0.0f; - temp_r3->current.pos.y = temp_f1; + f32 ground_y = dComIfG_Bgsp().GroundCross(&mObjGndChk); + if (ground_y > grabActor->current.pos.y) { + grabActor->speedF = 0.0f; + grabActor->current.pos.y = ground_y; freeGrabItem(); return; } } } - if (mProcID == PROC_GRAB_UP && mUnderFrameCtrl[0].getFrame() < 6.0f && temp_r3->current.pos.y < sp134.y) { - temp_r3->current.pos = sp134; + if (mProcID == PROC_GRAB_UP && mUnderFrameCtrl[0].getFrame() < 6.0f && grabActor->current.pos.y < sp134.y) { + grabActor->current.pos = sp134; } } return; } if (mEquipItem == 0x102) { - fopAc_ac_c* sp10 = mItemAcKeep.getActor(); - if (sp10 != NULL) { - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c0)); + fopAc_ac_c* itemActor = mItemAcKeep.getActor(); + if (itemActor != NULL) { + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(mLeftItemJntNo)); mDoMtx_stack_c::transM(7.0f, -2.0f, 1.0f); mDoMtx_stack_c::XYZrotM(cM_deg2s(71.0f), cM_deg2s(-6.6f), cM_deg2s(3.2f)); - mDoMtx_stack_c::multVecZero(&sp10->current.pos); - mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &sp10->shape_angle); + mDoMtx_stack_c::multVecZero(&itemActor->current.pos); + mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &itemActor->shape_angle); } } } void daAlink_c::freeGrabItem() { - fopAc_ac_c* temp_r3 = mGrabItemAcKeep.getActor(); + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); - if (temp_r3 != NULL) { + if (grabActor != NULL) { if (dComIfGp_event_runCheck() || mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_SPECIAL_e) { - fopAcM_OnStatus(temp_r3, 0x800); + fopAcM_OnStatus(grabActor, fopAcM_STATUS_UNK_0x800); } - fopAcM_cancelCarryNow(temp_r3); + fopAcM_cancelCarryNow(grabActor); - temp_r3->shape_angle.z = 0; - temp_r3->shape_angle.x = 0; + grabActor->shape_angle.z = 0; + grabActor->shape_angle.x = 0; if (checkGrabCarryActor()) { - temp_r3->current.angle.z = 0; - temp_r3->current.angle.x = 0; + grabActor->current.angle.z = 0; + grabActor->current.angle.x = 0; } if (checkModeFlg(0x400)) { - fopAc_ac_c* temp_r3_2 = mRideAcKeep.getActor(); - if (temp_r3_2 != NULL) { - if (temp_r3_2->speedF > 0.0f) { - temp_r3->speedF += temp_r3_2->speedF; + fopAc_ac_c* rideActor = mRideAcKeep.getActor(); + if (rideActor != NULL) { + if (rideActor->speedF > 0.0f) { + grabActor->speedF += rideActor->speedF; } - temp_r3->current.angle.y = temp_r3_2->shape_angle.y; + grabActor->current.angle.y = rideActor->shape_angle.y; } } else { cXyz sp14(current.pos.x, field_0x34e0.y, current.pos.z); - if (grabLineCheck(&sp14, &temp_r3->current.pos)) { - temp_r3->current.pos = mObjLinChk.GetCross(); + if (grabLineCheck(&sp14, &grabActor->current.pos)) { + grabActor->current.pos = mObjLinChk.GetCross(); - cM3dGPla sp20; - dComIfG_Bgsp().GetTriPla(mObjLinChk, &sp20); - if (cBgW_CheckBWall(sp20.mNormal.y)) { - temp_r3->current.pos += sp20.mNormal * 10.0f; + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mObjLinChk, &tripla); + if (cBgW_CheckBWall(tripla.mNormal.y)) { + grabActor->current.pos += tripla.mNormal * 10.0f; } } } @@ -449,7 +464,7 @@ void daAlink_c::setGrabUpperSpeedRate() { var_f31 = fabsf(mNormalSpeed / mpHIO->mMove.m.mMaxSpeed); } - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { var_f31 *= 1.0f / (mHeavySpeedMultiplier * mHeavySpeedMultiplier); } } @@ -460,9 +475,9 @@ void daAlink_c::setGrabUpperSpeedRate() { cLib_chaseF(&field_0x33e8, var_f31, 0.15f); - daPy_frameCtrl_c* temp_r30 = &mUpperFrameCtrl[2]; - temp_r30->setFrame(field_0x33e8 * temp_r30->getEnd()); - getNowAnmPackUpper(UPPER_2)->setFrame(temp_r30->getFrame()); + daPy_frameCtrl_c* framectrl = &mUpperFrameCtrl[2]; + framectrl->setFrame(field_0x33e8 * framectrl->getEnd()); + getNowAnmPackUpper(UPPER_2)->setFrame(framectrl->getFrame()); } void daAlink_c::setCarryArmAngle(f32 param_0, f32 param_1) { @@ -493,27 +508,27 @@ BOOL daAlink_c::checkGrabNotThrow() { } BOOL daAlink_c::checkNextActionGrab() { - fopAc_ac_c* temp_r3 = mGrabItemAcKeep.getActor(); - if (temp_r3 == NULL) { + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); + if (grabActor == NULL) { freeGrabItem(); return 0; } setCarryArmAngle(0.0f, 1.0f); - if (mTargetedActor == NULL && mAttList != NULL && mAttList->mType == fopAc_attn_DOOR_e && fopAcM_CheckStatus(temp_r3, 0x2000000)) { - setDoStatus(6); + if (mTargetedActor == NULL && mAttList != NULL && mAttList->mType == fopAc_attn_DOOR_e && fopAcM_CheckStatus(grabActor, fopAcM_STATUS_UNK_0x2000000)) { + setDoStatus(BUTTON_STATUS_OPEN); } else if ((field_0x27f4 == NULL) || !checkGrabTalkActor(field_0x27f4) || !setTalkStatus()) { if (checkModeFlg(0x400)) { - setDoStatus(0x13); - } else if ((!checkAttentionState() && field_0x33a8 <= getGrabThrowRate()) || checkGrabNotThrow()) { - setDoStatus(0x14); + setDoStatus(BUTTON_STATUS_THROW); + } else if ((!checkAttentionState() && mStickValue <= getGrabThrowRate()) || checkGrabNotThrow()) { + setDoStatus(BUTTON_STATUS_PLACE); } else { - setDoStatus(0x13); + setDoStatus(BUTTON_STATUS_THROW); } } - if (doTrigger() && dComIfGp_getDoStatus() == 6) { + if (doTrigger() && dComIfGp_getDoStatus() == BUTTON_STATUS_OPEN) { fopAcM_orderDoorEvent(this, field_0x27f4, 0, 0); return 1; } @@ -522,12 +537,20 @@ BOOL daAlink_c::checkNextActionGrab() { return 1; } - if (doTrigger() || (fopAcM_GetName(temp_r3) == PROC_NBOMB && ((daNbomb_c*)temp_r3)->checkPlayerMake() && (checkSetItemTrigger(0x50) || (((daNbomb_c*)temp_r3)->checkWaterBomb() && checkSetItemTrigger(0x71)) || (!((daNbomb_c*)temp_r3)->checkWaterBomb() && checkSetItemTrigger(0x70))))) { - if (dComIfGp_getDoStatus() == 0x14) { + daNbomb_c* var_r28 = (daNbomb_c*)grabActor; + if (doTrigger() + || (fopAcM_GetName(grabActor) == PROC_NBOMB + && var_r28->checkPlayerMake() + && (checkSetItemTrigger(0x50) || (var_r28->checkWaterBomb() && checkSetItemTrigger(0x71)) || (!var_r28->checkWaterBomb() && checkSetItemTrigger(0x70))) + ) + ) + { + int _; // probably a debug fakematch + if (dComIfGp_getDoStatus() == BUTTON_STATUS_PLACE) { return procGrabPutInit(); } - if (dComIfGp_getDoStatus() == 0x13) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_THROW) { return procGrabThrowInit(0); } } @@ -544,58 +567,58 @@ void daAlink_c::initGrabNextMode() { } void daAlink_c::setGrabItemThrow() { - fopAc_ac_c* temp_r3 = mGrabItemAcKeep.getActor(); - if (temp_r3 != NULL) { + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); + if (grabActor != NULL) { cXyz sp14; - temp_r3->current.angle.y = shape_angle.y; + grabActor->current.angle.y = shape_angle.y; if (checkWolf()) { - temp_r3->speedF = mpHIO->mItem.mBomb.m.mWolfThrowSpeedH; - temp_r3->speed.y = mpHIO->mItem.mBomb.m.mWolfThrowSpeedV; + grabActor->speedF = mpHIO->mItem.mBomb.m.mWolfThrowSpeedH; + grabActor->speed.y = mpHIO->mItem.mBomb.m.mWolfThrowSpeedV; } else { - f32 var_f31; - f32 var_f30; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { - var_f31 = mpHIO->mItem.mBomb.m.mWaterThrowSpeedH; - var_f30 = mpHIO->mItem.mBomb.m.mWaterThrowSpeedV; + f32 speed_f; + f32 speed_y; + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + speed_f = mpHIO->mItem.mBomb.m.mWaterThrowSpeedH; + speed_y = mpHIO->mItem.mBomb.m.mWaterThrowSpeedV; } else { - var_f31 = mpHIO->mItem.mBomb.m.mThrowSpeedH; - var_f30 = mpHIO->mItem.mBomb.m.mThrowSpeedV; + speed_f = mpHIO->mItem.mBomb.m.mThrowSpeedH; + speed_y = mpHIO->mItem.mBomb.m.mThrowSpeedV; } if (checkMagneBootsOn()) { - sp14.set(0.0f, var_f30, var_f31); + sp14.set(0.0f, speed_y, speed_f); mDoMtx_stack_c::copy(mMagneBootMtx); mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::multVecSR(&sp14, &sp14); - temp_r3->speedF = sp14.absXZ(); - temp_r3->speed.y = sp14.y; - temp_r3->current.angle.y = sp14.atan2sX_Z(); + grabActor->speedF = sp14.absXZ(); + grabActor->speed.y = sp14.y; + grabActor->current.angle.y = sp14.atan2sX_Z(); sp14.set(0.0f, 15.0f, 90.0f); mDoMtx_stack_c::multVecSR(&sp14, &sp14); - temp_r3->current.pos += sp14; + grabActor->current.pos += sp14; } else { - temp_r3->speedF = var_f31; - temp_r3->speed.y = var_f30; - temp_r3->current.angle.x = getBodyAngleXAtnActor(0); + grabActor->speedF = speed_f; + grabActor->speed.y = speed_y; + grabActor->current.angle.x = getBodyAngleXAtnActor(0); - temp_r3->current.pos.x += 90.0f * cM_ssin(shape_angle.y); - temp_r3->current.pos.y += 15.0f; - temp_r3->current.pos.z += 90.0f * cM_scos(shape_angle.y); + grabActor->current.pos.x += 90.0f * cM_ssin(shape_angle.y); + grabActor->current.pos.y += 15.0f; + grabActor->current.pos.z += 90.0f * cM_scos(shape_angle.y); } if (mTargetedActor != NULL && checkGrabSideThrowAnime()) { - sp14 = mTargetedActor->eyePos - temp_r3->current.pos; + sp14 = mTargetedActor->eyePos - grabActor->current.pos; multVecMagneBootInvMtx(&sp14); - temp_r3->current.angle.y = sp14.atan2sX_Z(); - temp_r3->shape_angle.y = temp_r3->current.angle.y; + grabActor->current.angle.y = sp14.atan2sX_Z(); + grabActor->shape_angle.y = grabActor->current.angle.y; } - if (fopAcM_CheckCarryType(temp_r3, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY))) { + if (fopAcM_CheckCarryType(grabActor, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY))) { voiceStart(Z2SE_AL_V_THROW_L); - } else if (dBomb_c::checkBombActor(temp_r3)) { + } else if (dBomb_c::checkBombActor(grabActor)) { voiceStart(Z2SE_AL_V_ATTACK_S); } else { voiceStart(Z2SE_AL_V_THROW_S); @@ -620,12 +643,12 @@ BOOL daAlink_c::checkUpperGrabItemThrow(f32 param_0) { return 0; } -void daAlink_c::putObjLineCheck(dBgS_LinChk& param_0, cXyz* param_1, fopAc_ac_c* param_2) { +void daAlink_c::putObjLineCheck(dBgS_LinChk& i_linchk, cXyz* i_endpos, fopAc_ac_c* i_objActor) { if (!checkNoCollisionCorret()) { - param_0.Set(&field_0x37c8, param_1, param_2); + i_linchk.Set(&field_0x37c8, i_endpos, i_objActor); - if (dComIfG_Bgsp().LineCross(¶m_0) && dBgS_CheckBWallPoly(param_0)) { - cXyz sp8 = *param_1 - param_0.GetCross(); + if (dComIfG_Bgsp().LineCross(&i_linchk) && dBgS_CheckBWallPoly(i_linchk)) { + cXyz sp8 = *i_endpos - i_linchk.GetCross(); f32 temp_f31 = sp8.abs(); f32 temp_f1 = sp8.absXZ(); @@ -640,8 +663,8 @@ void daAlink_c::putObjLineCheck(dBgS_LinChk& param_0, cXyz* param_1, fopAc_ac_c* current.pos.x -= sp8.x; current.pos.z -= sp8.z; - param_2->current.pos.x -= sp8.x; - param_2->current.pos.z -= sp8.z; + i_objActor->current.pos.x -= sp8.x; + i_objActor->current.pos.z -= sp8.z; } } } @@ -651,9 +674,9 @@ bool daAlink_c::grabLineCheck(cXyz* i_start, cXyz* i_end) { return dComIfG_Bgsp().LineCross(&mObjLinChk); } -void daAlink_c::setGrabItemActor(fopAc_ac_c* param_0) { - fopAcM_setCarryNow(param_0, 1); - mGrabItemAcKeep.setData(param_0); +void daAlink_c::setGrabItemActor(fopAc_ac_c* i_actor) { + fopAcM_setCarryNow(i_actor, TRUE); + mGrabItemAcKeep.setData(i_actor); mObjLinChk.ClrObj(); mObjLinChk.ClrBomb(); @@ -664,14 +687,14 @@ void daAlink_c::setGrabItemActor(fopAc_ac_c* param_0) { mObjGndChk.ClrStatue(); mObjGndChk.ClrLink(); - s16 temp_r3 = fopAcM_GetName(param_0); - if (dBomb_c::checkBombActor(param_0) || temp_r3 == PROC_Obj_Stone) { + s16 name = fopAcM_GetName(i_actor); + if (dBomb_c::checkBombActor(i_actor) || name == PROC_Obj_Stone) { mObjLinChk.SetBomb(); mObjGndChk.SetBomb(); - } else if (temp_r3 == PROC_CSTATUE) { + } else if (name == PROC_CSTATUE) { mObjLinChk.SetStatue(); mObjGndChk.SetStatue(); - } else if (temp_r3 == PROC_Obj_Carry && ((daObjCarry_c*)param_0)->prm_chk_type_ironball()) { + } else if (name == PROC_Obj_Carry && ((daObjCarry_c*)i_actor)->prm_chk_type_ironball()) { mObjLinChk.SetLink(); mObjGndChk.SetLink(); } else { @@ -735,7 +758,8 @@ int daAlink_c::procGrabReadyInit() { } int daAlink_c::procGrabReady() { - if (mGrabItemAcKeep.getActor() == NULL) { + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); + if (grabActor == NULL) { return checkNextAction(0); } @@ -756,7 +780,7 @@ int daAlink_c::procGrabReady() { } int daAlink_c::procGrabUpInit() { - fopAc_ac_c* temp_r30 = mGrabItemAcKeep.getActor(); + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); commonProcInit(PROC_GRAB_UP); if (checkGrabCarryActor()) { @@ -769,46 +793,46 @@ int daAlink_c::procGrabUpInit() { setCarryArmAngle(0.0f, 1.0f); } - cXyz sp8 = temp_r30->current.pos - field_0x3510; + cXyz sp8 = grabActor->current.pos - field_0x3510; field_0x33e4 = (sp8.absXZ() - 46.051205f) - -8.0f; - if (fopAcM_CheckCarryType(temp_r30, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY))) { + if (fopAcM_CheckCarryType(grabActor, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY))) { voiceStart(Z2SE_AL_V_LIFTUP_L); } else { voiceStart(Z2SE_AL_V_LIFTUP_S); } - fopAcM_setStageLayer(temp_r30); - onResetFlg0(RFLG0_UNK_8000); + fopAcM_setStageLayer(grabActor); + onResetFlg0(RFLG0_GRAB_UP_START); field_0x3478 = 18.0f; return 1; } int daAlink_c::procGrabUp() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - fopAc_ac_c* temp_r3 = mGrabItemAcKeep.getActor(); - if (temp_r3 == NULL) { + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); + if (grabActor == NULL) { return checkNextAction(0); } - if (checkAnmEnd(temp_r29) || (checkInputOnR() && (temp_r29->getFrame() > mpHIO->mGrab.m.mLiftBackAnm.mCancelFrame))) { + if (checkAnmEnd(framectrl) || (checkInputOnR() && (framectrl->getFrame() > mpHIO->mGrab.m.mLiftBackAnm.mCancelFrame))) { onResetFlg0(RFLG0_GRAB_UP_END); - if (fopAcM_CheckCarryType(temp_r3, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY | fopAcM_CARRY_TYPE_1))) { + if (fopAcM_CheckCarryType(grabActor, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY | fopAcM_CARRY_TYPE_1))) { procGrabReboundInit(0); } else { initGrabNextMode(); } } else if (mProcVar3.field_0x300e != 0) { f32 var_f31; - if (temp_r29->getFrame() < field_0x3478) { + if (framectrl->getFrame() < field_0x3478) { var_f31 = 0.0f; } else { - var_f31 = (temp_r29->getFrame() - field_0x3478) / (temp_r29->getEnd() - field_0x3478); + var_f31 = (framectrl->getFrame() - field_0x3478) / (framectrl->getEnd() - field_0x3478); } - setCarryArmAngle(1.0f - ((temp_r29->getFrame() - 9.0f) / (temp_r29->getEnd() - 9.0f)), var_f31); + setCarryArmAngle(1.0f - ((framectrl->getFrame() - 9.0f) / (framectrl->getEnd() - 9.0f)), var_f31); } return 1; @@ -831,17 +855,19 @@ int daAlink_c::procGrabMiss() { int daAlink_c::procGrabThrowInit(int param_0) { if (checkModeFlg(0x400)) { if (checkGrabHeavyActor()) { - setUpperAnimeParam(0x17B, UPPER_2, &mpHIO->mGrab.m.mIronBallThrowAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_HEAVYTHROW_e, UPPER_2, &mpHIO->mGrab.m.mIronBallThrowAnm); field_0x343c = 14.0f; } else if (checkGrabAnimeSide()) { - setUpperAnimeParam(0x51, UPPER_2, &mpHIO->mGrab.m.mCarryPlaceReverseAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_BOMBTHROW_e, UPPER_2, &mpHIO->mGrab.m.mCarryPlaceReverseAnm); field_0x343c = 4.0f; } else { - setUpperAnimeParam(0x170, UPPER_2, &mpHIO->mGrab.m.mLiftAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_GRABTHROW_e, UPPER_2, &mpHIO->mGrab.m.mLiftAnm); field_0x343c = 5.0f; } + #if PLATFORM_GCN onNoResetFlg1(FLG1_UNK_10000000); + #endif return 1; } @@ -855,15 +881,15 @@ int daAlink_c::procGrabThrowInit(int param_0) { field_0x347c = mpHIO->mGrab.m.mIronBallThrowAnm.mCancelFrame; mProcVar2.field_0x300c = 2; } else if (checkGrabSideActor()) { - f32 var_f31; + f32 anm_speed; if (mTargetedActor != NULL) { - var_f31 = mpHIO->mAtnMove.m.mWaitAnmSpeed; + anm_speed = mpHIO->mAtnMove.m.mWaitAnmSpeed; } else { - var_f31 = mpHIO->mNoActAtnMove.m.mWaitAnmSpeed; + anm_speed = mpHIO->mNoActAtnMove.m.mWaitAnmSpeed; } - setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, var_f31, mpHIO->mBasic.m.mBasicInterpolation); - setUpperAnimeParam(0x51, UPPER_0, &mpHIO->mGrab.m.mCarryPlaceReverseAnm); + setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, anm_speed, mpHIO->mBasic.m.mBasicInterpolation); + setUpperAnimeParam(dRes_ID_ALANM_BCK_BOMBTHROW_e, UPPER_0, &mpHIO->mGrab.m.mCarryPlaceReverseAnm); field_0x343c = 4.0f; field_0x347c = mpHIO->mGrab.m.mCarryPlaceReverseAnm.mCancelFrame; mProcVar2.field_0x300c = 1; @@ -880,31 +906,31 @@ int daAlink_c::procGrabThrowInit(int param_0) { } int daAlink_c::procGrabThrow() { - daPy_frameCtrl_c* var_r30; + daPy_frameCtrl_c* framectrl; if (mProcVar2.field_0x300c == 1) { - var_r30 = &mUpperFrameCtrl[0]; + framectrl = &mUpperFrameCtrl[0]; } else { if (mProcVar2.field_0x300c == 2) { field_0x2f99 = 4; onEndResetFlg0(ERFLG0_UNK_8000000); } - var_r30 = &mUnderFrameCtrl[0]; + framectrl = &mUnderFrameCtrl[0]; } cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); - if (var_r30->checkPass(field_0x343c)) { + if (framectrl->checkPass(field_0x343c)) { setGrabItemThrow(); } - if (checkAnmEnd(var_r30)) { + if (checkAnmEnd(framectrl)) { if (field_0x3198 != 0) { field_0x3198 = 0; swordEquip(0); } checkNextAction(0); - } else if (var_r30->getFrame() > field_0x347c) { + } else if (framectrl->getFrame() > field_0x347c) { onModeFlg(4); if (field_0x3198 != 0) { @@ -962,57 +988,57 @@ int daAlink_c::procGrabPutInit() { } int daAlink_c::procGrabPut() { - fopAc_ac_c* temp_r29 = mGrabItemAcKeep.getActor(); + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x2000, 0x800); current.angle.y = shape_angle.y; - if (temp_r29 != NULL) { - cXyz sp8(temp_r29->current.pos.x + (field_0x33e4 * cM_ssin(shape_angle.y)), temp_r29->current.pos.y, temp_r29->current.pos.z + (field_0x33e4 * cM_scos(shape_angle.y))); - putObjLineCheck(mObjLinChk, &sp8, temp_r29); - field_0x37c8 = temp_r29->current.pos; + if (grabActor != NULL) { + cXyz sp8(grabActor->current.pos.x + (field_0x33e4 * cM_ssin(shape_angle.y)), grabActor->current.pos.y, grabActor->current.pos.z + (field_0x33e4 * cM_scos(shape_angle.y))); + putObjLineCheck(mObjLinChk, &sp8, grabActor); + field_0x37c8 = grabActor->current.pos; } - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (checkAnmEnd(temp_r28)) { - if (temp_r29 != NULL) { - temp_r29->speedF = 0.0f; + if (checkAnmEnd(framectrl)) { + if (grabActor != NULL) { + grabActor->speedF = 0.0f; } freeGrabItem(); procGrabStandInit(); } else if (mProcVar3.field_0x300e) { f32 var_f31; - if (temp_r28->getFrame() < field_0x3478) { + if (framectrl->getFrame() < field_0x3478) { var_f31 = 0.0f; } else { - var_f31 = field_0x3480 * (temp_r28->getFrame() - field_0x3478); + var_f31 = field_0x3480 * (framectrl->getFrame() - field_0x3478); } - setCarryArmAngle(1.0f - (field_0x347c * (temp_r28->getFrame() - 9.0f)), var_f31); + setCarryArmAngle(1.0f - (field_0x347c * (framectrl->getFrame() - 9.0f)), var_f31); } else { - setCarryArmAngle(0.0f, field_0x347c * (temp_r28->getFrame() - mpHIO->mGrab.m.mThrowAnm.mStartFrame)); + setCarryArmAngle(0.0f, field_0x347c * (framectrl->getFrame() - mpHIO->mGrab.m.mThrowAnm.mStartFrame)); } return 1; } int daAlink_c::procGrabWaitInit() { - if (checkEndResetFlg2(ERFLG2_UNK_8)) { + if (checkEndResetFlg2(ERFLG2_FORCE_GRAB_REBOUND)) { return procGrabReboundInit(1); } BOOL var_r30; - if (!checkModeFlg(0x100000) && checkNoResetFlg0(FLG0_UNDERWATER)) { - var_r30 = 1; + if (!checkModeFlg(0x100000) && checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + var_r30 = TRUE; } else { - var_r30 = 0; + var_r30 = FALSE; } if (!commonProcInitNotSameProc(PROC_GRAB_WAIT)) { return 0; } - f32 var_f31 = mpHIO->mBasic.m.mBasicInterpolation; + f32 morf = mpHIO->mBasic.m.mBasicInterpolation; if (!checkGrabAnime()) { setGrabUpperAnime(-1.0f); } else { @@ -1021,16 +1047,16 @@ int daAlink_c::procGrabWaitInit() { if (var_r30) { if (checkZoraWearAbility() ) { - var_f31 *= 1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; + morf *= 1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; } else { - var_f31 *= 1.0f / mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate; + morf *= 1.0f / mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate; } } if (checkAttentionLock() && (checkGrabAnimeUp() || checkGrabAnimeSide())) { setBlendAtnMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); } else { - setBlendMoveAnime(var_f31); + setBlendMoveAnime(morf); } current.angle.y = shape_angle.y; @@ -1039,7 +1065,8 @@ int daAlink_c::procGrabWaitInit() { } int daAlink_c::procGrabWait() { - if (mGrabItemAcKeep.getActor() == NULL) { + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); + if (grabActor == NULL) { if (checkGrabAnime()) { resetUpperAnime(UPPER_2, 3.0f); } @@ -1080,19 +1107,20 @@ int daAlink_c::procGrabReboundInit(int param_0) { } int daAlink_c::procGrabRebound() { - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (mGrabItemAcKeep.getActor() == NULL) { + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); + if (grabActor == NULL) { resetUpperAnime(UPPER_2, -1.0f); return checkNextAction(0); } if (field_0x3198 != 0) { if (field_0x2060->getOldFrameRate() < 0.1f) { - setWaterInAnmRate(temp_r30, mpHIO->mGrab.m.mCarryAnm.mSpeed); + setWaterInAnmRate(framectrl, mpHIO->mGrab.m.mCarryAnm.mSpeed); field_0x3198 = 0; } - } else if (checkAnmEnd(temp_r30) || (checkInputOnR() && (temp_r30->getFrame() > mpHIO->mGrab.m.mCarryAnm.mCancelFrame))) { + } else if (checkAnmEnd(framectrl) || (checkInputOnR() && (framectrl->getFrame() > mpHIO->mGrab.m.mCarryAnm.mCancelFrame))) { initGrabNextMode(); } @@ -1118,15 +1146,15 @@ int daAlink_c::procGrabStandInit() { } int daAlink_c::procGrabStand() { - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (checkAnmEnd(temp_r30)) { - if (mDemo.getDemoMode() == 0xD) { + if (checkAnmEnd(framectrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_GRAB_PUT_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); } - } else if (temp_r30->getFrame() < field_0x3478) { + } else if (framectrl->getFrame() < field_0x3478) { onModeFlg(4); if (!checkNextAction(1) && mProcVar3.field_0x300e != 0) { @@ -1137,14 +1165,15 @@ int daAlink_c::procGrabStand() { return 1; } -BOOL daAlink_c::checkInsectActorName(fopAc_ac_c* insectActor) { - s16 insectName = fopAcM_GetName(insectActor); +BOOL daAlink_c::checkInsectActorName(fopAc_ac_c* i_insectActor) { + s16 insectName = fopAcM_GetName(i_insectActor); for (int i = 0; i < 12; i++) { if (insectName == l_insectNameList[i]) { return true; } } + return false; } @@ -1175,16 +1204,14 @@ int daAlink_c::procInsectCatchInit() { int daAlink_c::procInsectCatch() { daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0]; - if (frame_ctrl->checkAnmEnd()) { + if (checkAnmEnd(frame_ctrl)) { checkNextAction(0); - } else { - if (frame_ctrl->checkPass(field_0x3478)) { - fopAc_ac_c* actor = field_0x280c.getActor(); - if (actor != NULL) { - fopAcM_setCarryNow(actor, 0); - } + } else if (frame_ctrl->checkPass(field_0x3478)) { + if (field_0x280c.getActor() != NULL) { + fopAcM_setCarryNow(field_0x280c.getActor(), 0); } } + return true; } @@ -1213,32 +1240,32 @@ int daAlink_c::procPickUpInit() { mProcVar2.field_0x300c = shape_angle.y; field_0x37c8 = field_0x27f4->current.pos - field_0x3510; - mGrabItemAcKeep.getActor(); + fopAc_ac_c* grabActor = mGrabItemAcKeep.getActor(); mNormalSpeed = 0.0f; if (checkEquipAnime()) { resetUpperAnime(UPPER_2, -1.0f); } - int var_r29; + BOOL var_r29; if (temp_r3 == PROC_Obj_Kantera) { setSingleAnimeParam(ANM_BOTTLE_SWING, &mpHIO->mItem.mBottle.m.mSwingSideAnm); mProcVar3.field_0x300e = 1; field_0x3478 = 7.0f; mProcVar4.field_0x3010 = 0; - var_r29 = 0; + var_r29 = FALSE; } else if (temp_r3 == PROC_NPC_KS) { setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &mpHIO->mItem.mBottle.m.mSwingDownAnm); mProcVar3.field_0x300e = 1; field_0x3478 = 7.0f; mProcVar4.field_0x3010 = 1; - fopAcM_onSwitch(field_0x27f4, 0x3F); - var_r29 = 0; + fopAcM_onSwitch(field_0x27f4, 63); + var_r29 = FALSE; } else { setSingleAnimeParam(ANM_PICK_UP, &mpHIO->mItem.mPickUp.m.mGrabAnm); mProcVar3.field_0x300e = 0; mProcVar4.field_0x3010 = 0; - var_r29 = 1; + var_r29 = TRUE; } fopAcM_setCarryNow(field_0x27f4, var_r29); @@ -1250,34 +1277,34 @@ int daAlink_c::procPickUp() { return checkNextAction(0); } - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; if (mProcVar3.field_0x300e != 0) { - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { if (mProcVar4.field_0x3010 != 0) { procBottleGetInit(0); } else { checkNextAction(0); } - } else if (temp_r30->checkPass(field_0x3478)) { - onResetFlg0(RFLG0_UNK_8000); + } else if (framectrl->checkPass(field_0x3478)) { + onResetFlg0(RFLG0_GRAB_UP_START); if (mProcVar4.field_0x3010 != 0) { mEquipItem = fpcNm_ITEM_KANTERA; setKandelaarModel(); } } - } else if (checkAnmEnd(temp_r30)) { + } else if (checkAnmEnd(framectrl)) { checkNextAction(0); - } else if (temp_r30->getFrame() > mpHIO->mItem.mPickUp.m.mGrabAnm.mCancelFrame) { + } else if (framectrl->getFrame() > mpHIO->mItem.mPickUp.m.mGrabAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); - } else if (temp_r30->checkPass(9.0f)) { + } else if (framectrl->checkPass(9.0f)) { mEquipItem = 0x102; mItemAcKeep = mGrabItemAcKeep; mGrabItemAcKeep.clearData(); field_0x2f94 = 3; - onResetFlg0(RFLG0_UNK_8000); + onResetFlg0(RFLG0_GRAB_UP_START); } return 1; @@ -1311,25 +1338,25 @@ int daAlink_c::procPickPutInit(int param_0) { } int daAlink_c::procPickPut() { - fopAc_ac_c* temp_r3 = mItemAcKeep.getActor(); - if (temp_r3 == NULL && mProcVar2.field_0x300c == 0 && field_0x3198 != 0) { + fopAc_ac_c* itemActor = mItemAcKeep.getActor(); + if (itemActor == NULL && mProcVar2.field_0x300c == 0 && field_0x3198 != 0) { return checkNextAction(0); } - if (temp_r3 != NULL) { - cXyz sp8(temp_r3->current.pos.x, temp_r3->current.pos.y, temp_r3->current.pos.z); - putObjLineCheck(*fopAcM_lc_c::getLineCheck(), &sp8, temp_r3); - field_0x37c8 = temp_r3->current.pos; + if (itemActor != NULL) { + cXyz sp8(itemActor->current.pos.x, itemActor->current.pos.y, itemActor->current.pos.z); + putObjLineCheck(*fopAcM_lc_c::getLineCheck(), &sp8, itemActor); + field_0x37c8 = itemActor->current.pos; } - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (checkAnmEnd(temp_r28)) { + if (checkAnmEnd(framectrl)) { checkNextAction(0); - } else if (temp_r28->getFrame() < mpHIO->mItem.mPickUp.m.mPlaceAnm.mCancelFrame) { + } else if (framectrl->getFrame() < mpHIO->mItem.mPickUp.m.mPlaceAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); - } else if (temp_r28->checkPass(9.0f)) { + } else if (framectrl->checkPass(9.0f)) { if (mProcVar2.field_0x300c != 0) { if (checkReadyItem() && dBomb_c::createInsectBombPlayer(¤t.pos)) { dComIfGp_addSelectItemNum(mSelectItemId, -1); @@ -1338,8 +1365,8 @@ int daAlink_c::procPickPut() { mEquipItem = fpcNm_ITEM_NONE; } else { field_0x3198 = 0; - temp_r3->speedF = 0.0f; - deleteEquipItem(0, 0); + itemActor->speedF = 0.0f; + deleteEquipItem(FALSE, FALSE); } } @@ -1347,11 +1374,11 @@ int daAlink_c::procPickPut() { } BOOL daAlink_c::checkSetChainPullAnime(s16 param_0) { - return checkInputOnR() && checkFmChainGrabAnime() && (field_0x3400 != 0.0f || field_0x3404 != 0.0f) && (checkBossRoom() || abs((s16)(field_0x2fe2 - param_0)) >= 0x3800); + return checkInputOnR() && checkFmChainGrabAnime() && (field_0x3400 != 0.0f || field_0x3404 != 0.0f) && (checkBossRoom() || abs((s16)(mMoveAngle - param_0)) >= 0x3800); } s16 daAlink_c::getChainStickAngleY(s16 param_0) const { - s16 angle = field_0x2fe2 - param_0; + s16 angle = mMoveAngle - param_0; if (angle >= 0x3800 && angle < 0x7F80) { return param_0 + 0x7F80; @@ -1359,16 +1386,16 @@ s16 daAlink_c::getChainStickAngleY(s16 param_0) const { return param_0 - 0x7F80; } - return field_0x2fe2; + return mMoveAngle; } u8 daAlink_c::checkChainEmphasys() { fopAc_ac_c* temp_r3 = field_0x2844.getActor(); if (temp_r3 != NULL && fopAcM_GetName(temp_r3) == PROC_Obj_SwChain && !((daObjSwChain_c*)temp_r3)->checkDispEmphasis()) { - return 0; + return BUTTON_STATUS_FLAG_NONE; } - return 2; + return BUTTON_STATUS_FLAG_EMPHASIS; } BOOL daAlink_c::searchFmChainPos() { @@ -1436,12 +1463,12 @@ int daAlink_c::procFmChainUpInit() { } int daAlink_c::procFmChainUp() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - setGrabStatus(0x96, 2); + setGrabStatus(BUTTON_STATUS_UNK_150, BUTTON_STATUS_FLAG_EMPHASIS); setShapeAngleToAtnActor(0); - if (checkAnmEnd(temp_r29) || (checkInputOnR() && temp_r29->getFrame() > mpHIO->mItem.mFmChain.m.mGripAnm.mCancelFrame)) { + if (checkAnmEnd(framectrl) || (checkInputOnR() && framectrl->getFrame() > mpHIO->mItem.mFmChain.m.mGripAnm.mCancelFrame)) { u8 temp_r27 = field_0x2fa3; fopAc_ac_c* temp_r28 = field_0x2844.getActor(); @@ -1454,12 +1481,12 @@ int daAlink_c::procFmChainUp() { field_0x2fa3 = temp_r27; field_0x2844.setData(temp_r28); } - } else if (temp_r29->getFrame() >= 9.0f) { - field_0x2f92 = 3; - field_0x2f93 = 9; + } else if (framectrl->getFrame() >= 9.0f) { + mLeftHandIndex = 3; + mRightHandIndex = 9; } else { - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; } return 1; @@ -1478,10 +1505,10 @@ int daAlink_c::procFmChainStrongPullInit() { } int daAlink_c::procFmChainStrongPull() { - setGrabStatus(0x96, 2); + setGrabStatus(BUTTON_STATUS_UNK_150, BUTTON_STATUS_FLAG_EMPHASIS); if (checkAnmEnd(&mUnderFrameCtrl[0])) { - if (mDemo.getDemoMode() == 0x43) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_FM_CHAIN_STRONG_PULL_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { mNowAnmPackUpper[2].setRatio(1.0f); @@ -1492,8 +1519,8 @@ int daAlink_c::procFmChainStrongPull() { return 1; } -void daAlink_c::setWallGrabStatus(u8 param_0, u8 param_1) { - setRStatus(param_0, param_1); +void daAlink_c::setWallGrabStatus(u8 i_status, u8 i_flag) { + setRStatus(i_status, i_flag); } int daAlink_c::getWallGrabStatus() { @@ -1508,7 +1535,7 @@ BOOL daAlink_c::wallGrabButton() { return itemButtonCheck(BTN_R); } -int daAlink_c::setPushPullKeepData(dBgW_Base::PushPullLabel i_label, int param_1) { +int daAlink_c::setPushPullKeepData(dBgW_Base::PushPullLabel i_label, BOOL param_1) { if (i_label != dBgW::PPLABEL_NONE) { if (checkPowerGloveGet()) { cLib_onBit(i_label, dBgW::PPLABEL_HEAVY); @@ -1585,23 +1612,23 @@ BOOL daAlink_c::checkPullBehindWall() { } void daAlink_c::offGoatStopGame() { - if (mSpecialMode == SMODE_GOAT_STOP) { - mSpecialMode = 0; + if (checkGoatStopGame()) { + mMode = 0; } } -BOOL daAlink_c::checkGoatCatchActor(fopAc_ac_c* param_0) { - s16 name = fopAcM_GetName(param_0); - return name == PROC_E_GOB || (name == PROC_OBJ_GRA && checkSpecialNpc(param_0)) || +BOOL daAlink_c::checkGoatCatchActor(fopAc_ac_c* i_actor) { + s16 name = fopAcM_GetName(i_actor); + return name == PROC_E_GOB || (name == PROC_OBJ_GRA && checkSpecialNpc(i_actor)) || name == PROC_COW; } f32 daAlink_c::getGoatCatchDistance2() { if (fopAcM_GetName(field_0x27f4) == PROC_B_MGN) { - return 1000000.0f; + return SQUARE(1000.0f); } - return 90000.0f; + return SQUARE(300.0f); } int daAlink_c::endPushPull() { @@ -1609,22 +1636,22 @@ int daAlink_c::endPushPull() { } f32 daAlink_c::getPushPullAnimeSpeed() { - f32 var_f31; + f32 speed; if ((getMoveBGActorName(mPolyInfo1, 0) == PROC_Obj_Movebox && ((daObjMovebox::Act_c*)dComIfG_Bgsp().GetActorPointer(mPolyInfo1))->getType() != 0) || getMoveBGActorName(mPolyInfo1, 0) == PROC_Obj_Bemos) { if (checkWolf()) { - var_f31 = mpHIO->mWolf.mWlPush.m.mHeavyPushAnmSpeed; + speed = mpHIO->mWolf.mWlPush.m.mHeavyPushAnmSpeed; } else { - var_f31 = mpHIO->mPushpull.m.mPushASpeedHeavy; + speed = mpHIO->mPushpull.m.mPushASpeedHeavy; } } else if (checkWolf()) { - var_f31 = mpHIO->mWolf.mWlPush.m.mPushAnmSpeed; + speed = mpHIO->mWolf.mWlPush.m.mPushAnmSpeed; } else { - var_f31 = mpHIO->mPushpull.m.mPushASpeed; + speed = mpHIO->mPushpull.m.mPushASpeed; } - return var_f31; + return speed; } int daAlink_c::procCoPushPullWaitInit(int param_0) { @@ -1664,7 +1691,7 @@ int daAlink_c::procCoPushPullWaitInit(int param_0) { int daAlink_c::procCoPushPullWait() { if (mProcVar4.field_0x3010 == 0) { - setWallGrabStatus(0x15, 2); + setWallGrabStatus(BUTTON_STATUS_GRAB, BUTTON_STATUS_FLAG_EMPHASIS); } setFrontWallType(); @@ -1688,10 +1715,10 @@ int daAlink_c::procCoPushPullWait() { if (mProcVar4.field_0x3010 != 0) { procCoPushMoveInit(0, 1); } else if (checkInputOnR()) { - int temp_r3 = getDirectionFromShapeAngle(); - if (temp_r3 == DIR_FORWARD) { + int direction = getDirectionFromShapeAngle(); + if (direction == DIR_FORWARD) { procCoPushMoveInit(0, getMoveBGActorName(mPolyInfo1, 1) == PROC_Obj_IceBlock); - } else if (!checkWolf() && temp_r3 == DIR_BACKWARD) { + } else if (!checkWolf() && direction == DIR_BACKWARD) { procPullMoveInit(0); } } @@ -1710,50 +1737,50 @@ int daAlink_c::procCoPushMoveInit(int param_0, int param_1) { commonProcInit(PROC_PUSH_MOVE); mProcVar0.field_0x3008 = checkPushPullTurnBlock(); - f32 var_f31 = getPushPullAnimeSpeed(); + f32 anm_speed = getPushPullAnimeSpeed(); if (checkWolf()) { if (mProcVar0.field_0x3008 != 0) { setSingleAnimeWolfBase(WANM_PUSH_START); - var_f31 = 1.0f; + anm_speed = 1.0f; } else { - setSingleAnimeWolf(WANM_PUSH_LIGHT, var_f31, 0.0f, 24, mpHIO->mWolf.mWlPush.m.mPushInterp); + setSingleAnimeWolf(WANM_PUSH_LIGHT, anm_speed, 0.0f, 24, mpHIO->mWolf.mWlPush.m.mPushInterp); } field_0x3478 = 17.0f; } else { if (mProcVar0.field_0x3008 != 0) { setSingleAnimeBase(ANM_PUSH_START); - var_f31 = 1.0f; + anm_speed = 1.0f; } else { - setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, var_f31, mpHIO->mPushpull.m.mPushInterpolation); + setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, anm_speed, mpHIO->mPushpull.m.mPushInterpolation); } field_0x3478 = 15.0f; } - mUnderFrameCtrl[0].setRate(var_f31); + mUnderFrameCtrl[0].setRate(anm_speed); field_0x3198 = 1; mProcVar4.field_0x3010 = param_1; mProcVar5.field_0x3012 = mProcVar0.field_0x3008; - fopAc_ac_c* temp_r3 = dComIfG_Bgsp().GetActorPointer(mPolyInfo1); - mProcVar3.field_0x300e = fopAcM_searchActorAngleY(temp_r3, this); - field_0x347c = temp_r3->current.pos.absXZ(current.pos); + fopAc_ac_c* bg_actor = dComIfG_Bgsp().GetActorPointer(mPolyInfo1); + mProcVar3.field_0x300e = fopAcM_searchActorAngleY(bg_actor, this); + field_0x347c = bg_actor->current.pos.absXZ(current.pos); dComIfGp_setPlayerStatus0(0, 0x04000000); return 1; } int daAlink_c::procCoPushMove() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; int var_r28 = 0x160; if (mProcVar4.field_0x3010 != 0) { - if (temp_r29->checkPass(0.0f)) { + if (framectrl->checkPass(0.0f)) { return endPushPull(); } - if (temp_r29->checkPass(field_0x3478)) { + if (framectrl->checkPass(field_0x3478)) { if (!checkWolf()) { voiceStart(Z2SE_AL_V_PUSH_ROCK); } @@ -1761,17 +1788,17 @@ int daAlink_c::procCoPushMove() { setPushPullKeepData(dBgW::PPLABEL_PUSH, 0); } } else { - setWallGrabStatus(0x15, 2); + setWallGrabStatus(BUTTON_STATUS_GRAB, BUTTON_STATUS_FLAG_EMPHASIS); - if (temp_r29->checkPass(0.0f) || field_0x3198 != 0 || mProcVar5.field_0x3012 != 0) { + if (framectrl->checkPass(0.0f) || field_0x3198 != 0 || mProcVar5.field_0x3012 != 0) { if (!checkNoResetFlg0(FLG0_PUSH_PULL_KEEP)) { if (!wallGrabButton()) { return endPushPull(); } if (checkInputOnR()) { - int temp_r3 = getDirectionFromShapeAngle(); - if (temp_r3 == DIR_FORWARD) { + int direction = getDirectionFromShapeAngle(); + if (direction == DIR_FORWARD) { setPushPullKeepData(dBgW::PPLABEL_PUSH, 0); if (mProcVar0.field_0x3008 != 0) { if (mProcVar5.field_0x3012 == 0) { @@ -1783,18 +1810,18 @@ int daAlink_c::procCoPushMove() { setSingleAnime(ANM_PUSH_START, 1.0f, 12.0f, -1, 3.0f); } - temp_r29->setRate(1.0f); - } else if (checkAnmEnd(temp_r29)) { + framectrl->setRate(1.0f); + } else if (checkAnmEnd(framectrl)) { if (checkWolf()) { setSingleAnimeWolfBase(WANM_PUSH); } else { setSingleAnimeBase(ANM_PUSH); } - temp_r29->setRate(1.0f); + framectrl->setRate(1.0f); } } - } else if (!checkWolf() && temp_r3 == DIR_BACKWARD) { + } else if (!checkWolf() && direction == DIR_BACKWARD) { var_r28 = 0x39; } else { var_r28 = 0x143; @@ -1847,41 +1874,42 @@ int daAlink_c::procPullMoveInit(int param_0) { mProcVar0.field_0x3008 = checkPushPullTurnBlock(); mProcVar5.field_0x3012 = mProcVar0.field_0x3008; - f32 var_f31; + f32 anm_speed; + int var_r29; if (mProcVar0.field_0x3008 != 0) { - var_f31 = 1.0f; + anm_speed = 1.0f; setSingleAnimeBase(ANM_PULL_START); } else { - var_f31 = getPushPullAnimeSpeed(); - setSingleAnimeBaseSpeed(ANM_PULL_LIGHT, var_f31, mpHIO->mPushpull.m.mPullInterpolation); + anm_speed = getPushPullAnimeSpeed(); + var_r29 = setSingleAnimeBaseSpeed(ANM_PULL_LIGHT, anm_speed, mpHIO->mPushpull.m.mPullInterpolation); } - mUnderFrameCtrl[0].setRate(var_f31); + mUnderFrameCtrl[0].setRate(anm_speed); field_0x3198 = 1; - fopAc_ac_c* temp_r3 = dComIfG_Bgsp().GetActorPointer(mPolyInfo1); - mProcVar3.field_0x300e = fopAcM_searchActorAngleY(temp_r3, this); - field_0x347c = temp_r3->current.pos.absXZ(current.pos); + fopAc_ac_c* bg_actor = dComIfG_Bgsp().GetActorPointer(mPolyInfo1); + mProcVar3.field_0x300e = fopAcM_searchActorAngleY(bg_actor, this); + field_0x347c = bg_actor->current.pos.absXZ(current.pos); dComIfGp_setPlayerStatus0(0, 0x4000000); return 1; } int daAlink_c::procPullMove() { - setWallGrabStatus(0x15, 2); + setWallGrabStatus(BUTTON_STATUS_GRAB, BUTTON_STATUS_FLAG_EMPHASIS); - int temp_r28 = getDirectionFromShapeAngle(); + int direction = getDirectionFromShapeAngle(); int var_r30 = 0x160; - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (temp_r29->checkPass(0.0f) || field_0x3198 != 0 || mProcVar5.field_0x3012 != 0) { + if (framectrl->checkPass(0.0f) || field_0x3198 != 0 || mProcVar5.field_0x3012 != 0) { if (!checkNoResetFlg0(FLG0_PUSH_PULL_KEEP)) { if (!wallGrabButton()) { return endPushPull(); } if (checkInputOnR()) { - if (temp_r28 == DIR_BACKWARD) { + if (direction == DIR_BACKWARD) { if (checkPullBehindWall()) { setPushPullKeepData(dBgW::PPLABEL_NONE, 1); field_0x3198 = 1; @@ -1892,14 +1920,14 @@ int daAlink_c::procPullMove() { if (mProcVar5.field_0x3012 == 0) { mProcVar5.field_0x3012 = 1; setSingleAnime(ANM_PULL_START, 1.0f, 12.0f, -1, 3.0f); - temp_r29->setRate(1.0f); - } else if (checkAnmEnd(temp_r29)) { + framectrl->setRate(1.0f); + } else if (checkAnmEnd(framectrl)) { setSingleAnimeBase(ANM_PULL); - temp_r29->setRate(1.0f); + framectrl->setRate(1.0f); } } } - } else if (temp_r28 == DIR_FORWARD) { + } else if (direction == DIR_FORWARD) { var_r30 = 0x144; } else { var_r30 = 0x143; @@ -1916,7 +1944,7 @@ int daAlink_c::procPullMove() { if (mProcVar5.field_0x3012 != 0) { mProcVar5.field_0x3012 = 0; - setSingleAnimeBase((daAlink_c::daAlink_ANM) 0x3C); + setSingleAnimeBase(ANM_PULL); } setPushPullKeepData(dBgW::PPLABEL_PULL, 0); @@ -1938,7 +1966,8 @@ int daAlink_c::procPullMove() { return 1; } -static fopAc_ac_c* daAlink_searchGoat(fopAc_ac_c* i_actor, void*) { +static fopAc_ac_c* daAlink_searchGoat(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); if (fopAcM_GetName(i_actor) == PROC_COW) { return i_actor; } @@ -1953,14 +1982,14 @@ void daAlink_c::cancelGoronThrowEvent() { } } -void daAlink_c::setGoatStopGameFail(fopAc_ac_c* param_0) { - s16 temp_r3 = fopAcM_GetName(param_0); - if (temp_r3 == PROC_OBJ_GRA) { - ((daObj_GrA_c*)param_0)->setCrazyDash(); - } else if (temp_r3 == PROC_COW) { - ((daCow_c*)param_0)->setCrazyDash(); +void daAlink_c::setGoatStopGameFail(fopAc_ac_c* i_actor) { + s16 actor_name = fopAcM_GetName(i_actor); + if (actor_name == PROC_OBJ_GRA) { + ((daObj_GrA_c*)i_actor)->setCrazyDash(); + } else if (actor_name == PROC_COW) { + ((daCow_c*)i_actor)->setCrazyDash(); } else { - ((fopEn_enemy_c*)param_0)->setThrowModeDash(); + ((fopEn_enemy_c*)i_actor)->setThrowModeDash(); } if (checkMagneBootsOn()) { @@ -1973,18 +2002,18 @@ void daAlink_c::setGoatStopGameFail(fopAc_ac_c* param_0) { current.angle.y = shape_angle.y + 0x8000; if (checkGoatStopGame()) { - onNoResetFlg0(FLG0_UNK_200000); + onNoResetFlg0(FLG0_GORON_UP_STOP_CANCEL); } else { - if (!checkBootsOrArmorHeavy() && temp_r3 == PROC_OBJ_GRA) { + if (!checkBootsOrArmorHeavy() && actor_name == PROC_OBJ_GRA) { setDamagePointNormal(2); - } else if (temp_r3 != PROC_COW) { + } else if (actor_name != PROC_COW) { setDamagePointNormal(1); } resetSpecialEvent(); } - procCoLargeDamageInit(-1, 1, 0, 0, NULL, 0); + procCoLargeDamageInit(-1, TRUE, 0, 0, NULL, 0); } int daAlink_c::procGoatMoveInit() { @@ -2000,7 +2029,7 @@ int daAlink_c::procGoatMoveInit() { field_0x37c8 = current.pos; field_0x2f98 = 3; current.angle.y = shape_angle.y + -0x4000; - field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mAtnMove.m.mMaxSpeed; setSingleAnimeBase(ANM_ATN_COW); mProcVar2.field_0x300c = 0; @@ -2044,7 +2073,7 @@ int daAlink_c::procGoatMove() { } if (sp14.z < 600.0f) { - setDoStatusEmphasys(0x15); + setDoStatusEmphasys(BUTTON_STATUS_GRAB); } } } else if (sp14.z < -100.0f) { @@ -2061,19 +2090,19 @@ int daAlink_c::procGoatMove() { mDoMtx_stack_c::YrotS(-shape_angle.y); mDoMtx_stack_c::multVecSR(&sp8, &sp8); - if (dComIfGp_getDoStatus() == 0x15 && mProcVar3.field_0x300e != 0) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_GRAB && mProcVar3.field_0x300e != 0) { if (sp14.z < 250.0f) { return procGoatCatchInit(temp_r3, sp8.x); } - } else if (field_0x850[0].ChkCoHit() && field_0x850[0].GetCoHitAc() == temp_r3 && sp14.z > -50.0f) { + } else if (mTgCyls[0].ChkCoHit() && mTgCyls[0].GetCoHitAc() == temp_r3 && sp14.z > -50.0f) { setGoatStopGameFail(temp_r3); return 1; } f32 var_f31; - int temp_r27 = abs(field_0x2fe2); - if (checkInputOnR() && temp_r27 > 0x800 && temp_r27 < 0x7800 && (fabsf(sp8.x) < 250.0f || (sp8.x > 0.0f && field_0x2fe2 < 0) || (sp8.x < 0.0f && field_0x2fe2 > 0))) { - if (abs((s16)(field_0x2fe2 - current.angle.y)) > 0x4000) { + int temp_r27 = abs(mMoveAngle); + if (checkInputOnR() && temp_r27 > 0x800 && temp_r27 < 0x7800 && (fabsf(sp8.x) < 250.0f || (sp8.x > 0.0f && mMoveAngle < 0) || (sp8.x < 0.0f && mMoveAngle > 0))) { + if (abs((s16)(mMoveAngle - current.angle.y)) > 0x4000) { current.angle.y += 0x8000; mNormalSpeed *= -1.0f; @@ -2084,8 +2113,8 @@ int daAlink_c::procGoatMove() { } } - if (field_0x33a8 > (0.3f * (1.0f - fabsf(mNormalSpeed / field_0x594)))) { - var_f31 = mpHIO->mAtnMove.m.mAcceleration * field_0x33a8; + if (mStickValue > (0.3f * (1.0f - fabsf(mNormalSpeed / mMaxSpeed)))) { + var_f31 = mpHIO->mAtnMove.m.mAcceleration * mStickValue; } else { var_f31 = 0.0f; } @@ -2110,58 +2139,58 @@ int daAlink_c::procGoatMove() { setSingleAnimeBase(ANM_COW_MOVE_LEFT_RIGHT); } - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; f32 var_f30; if (field_0x2f98 == 3) { var_f30 = -1.0f; - temp_r28->setLoop(temp_r28->getEnd()); + framectrl->setLoop(framectrl->getEnd()); } else { var_f30 = 1.0f; - temp_r28->setLoop(temp_r28->getStart()); + framectrl->setLoop(framectrl->getStart()); } - temp_r28->setRate(var_f30 * (mNormalSpeed / field_0x594)); + framectrl->setRate(var_f30 * (mNormalSpeed / mMaxSpeed)); initBasAnime(); } return 1; } -int daAlink_c::procGoatCatchInit(fopAc_ac_c* param_0, f32 param_1) { - s16 temp_r28 = cLib_targetAngleY(¤t.pos, ¶m_0->current.pos); +int daAlink_c::procGoatCatchInit(fopAc_ac_c* i_actor, f32 param_1) { + s16 temp_r28 = cLib_targetAngleY(¤t.pos, &i_actor->current.pos); if (!checkGoatStopGame()) { cXyz sp18(current.pos.x, 100.0f + current.pos.y, current.pos.z); f32 var_f31 = 300.0f; - if (param_0->speedF > 0.1f) { + if (i_actor->speedF > 0.1f) { var_f31 += 300.0f; } cXyz spC(sp18.x - (var_f31 * cM_ssin(temp_r28)), sp18.y, sp18.z - (var_f31 * cM_scos(temp_r28))); - if (fopAcM_lc_c::lineCheck(&sp18, &spC, param_0)) { - setDoStatus(0); + if (fopAcM_lc_c::lineCheck(&sp18, &spC, i_actor)) { + setDoStatus(BUTTON_STATUS_NONE); return 0; } - deleteEquipItem(1, 0); + deleteEquipItem(TRUE, FALSE); if (!dComIfGp_event_compulsory(this, NULL, 0xFFEF)) { return 0; } mDemo.setSpecialDemoType(); - param_0->actor_status |= 0x800; + i_actor->actor_status |= 0x800; } commonProcInit(PROC_GOAT_CATCH); - field_0x280c.setData(param_0); + field_0x280c.setData(i_actor); mProcVar4.field_0x3010 = 0; if (!checkGoatStopGame()) { shape_angle.y = temp_r28; - if (param_0->speedF < 0.1f) { + if (i_actor->speedF < 0.1f) { mNormalSpeed = 0.1f; mProcVar4.field_0x3010 = 1; } else { @@ -2185,13 +2214,13 @@ int daAlink_c::procGoatCatchInit(fopAc_ac_c* param_0, f32 param_1) { setSingleAnimeBase(ANM_COW_CATCH_START); - s16 temp_r3 = fopAcM_GetName(param_0); - if (temp_r3 == PROC_OBJ_GRA) { - ((daObj_GrA_c*)param_0)->setCrazyCatch(); - } else if (temp_r3 == PROC_COW) { - ((daCow_c*)param_0)->setCrazyCatch(); + s16 actor_name = fopAcM_GetName(i_actor); + if (actor_name == PROC_OBJ_GRA) { + ((daObj_GrA_c*)i_actor)->setCrazyCatch(); + } else if (actor_name == PROC_COW) { + ((daCow_c*)i_actor)->setCrazyCatch(); } else { - ((fopEn_enemy_c*)param_0)->setThrowModeCatch(); + ((fopEn_enemy_c*)i_actor)->setThrowModeCatch(); } field_0x37c8 = current.pos; @@ -2217,12 +2246,12 @@ int daAlink_c::procGoatCatchInit(fopAc_ac_c* param_0, f32 param_1) { } int daAlink_c::procGoatCatch() { - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; fopAc_ac_c* temp_r3 = field_0x280c.getActor(); - s16 temp_r27 = fopAcM_GetName(temp_r3); + s16 actor_name = fopAcM_GetName(temp_r3); s16 sp8; - if (mProcVar2.field_0x300c == 0 || (mProcVar1.field_0x300a == 0 && temp_r28->getFrame() < 29.0f)) { + if (mProcVar2.field_0x300c == 0 || (mProcVar1.field_0x300a == 0 && framectrl->getFrame() < 29.0f)) { sp8 = field_0x2ff0; } else { sp8 = 0; @@ -2251,18 +2280,18 @@ int daAlink_c::procGoatCatch() { field_0x2f99 = 5; onEndResetFlg0(ERFLG0_UNK_8000000); - if (temp_r28->getFrame() >= 81.0f) { - field_0x2f92 = 1; - field_0x2f93 = 6; - } else if (temp_r28->getFrame() >= 39.0f) { + if (framectrl->getFrame() >= 81.0f) { + mLeftHandIndex = 1; + mRightHandIndex = 6; + } else if (framectrl->getFrame() >= 39.0f) { onModeFlg(0x100); - } else if (temp_r28->getFrame() >= 32.0f) { - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + } else if (framectrl->getFrame() >= 32.0f) { + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; field_0x3478 = 1.0f; } - if (checkAnmEnd(temp_r28)) { + if (checkAnmEnd(framectrl)) { if (mProcVar5.field_0x3012 == 0) { setOldRootQuaternion(0, -0x8000, 0); shape_angle.y += 0x8000; @@ -2270,7 +2299,7 @@ int daAlink_c::procGoatCatch() { field_0x2fe4 = shape_angle.y; } - if (temp_r27 == PROC_OBJ_GRA) { + if (actor_name == PROC_OBJ_GRA) { field_0x2f99 = 0x30; setSingleAnimeBaseSpeed(ANM_WAIT_B, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); offModeFlg(0x8000); @@ -2305,8 +2334,7 @@ int daAlink_c::procGoatCatch() { return 1; } - if (!doButton() || (!mLinkAcch.ChkGroundHit() && (!checkMagneBootsOn() || !checkNoResetFlg0(FLG0_UNK_2000))) || field_0x3198 > 0 && mNormalSpeed >= 30.0f) { - + if (!doButton() || (!mLinkAcch.ChkGroundHit() && (!checkMagneBootsOn() || !checkNoResetFlg0(FLG0_UNK_2000))) || (field_0x3198 > 0 && mNormalSpeed >= 30.0f)) { if (checkMagneBootsOn()) { cancelMagneBootsOn(); } @@ -2314,43 +2342,45 @@ int daAlink_c::procGoatCatch() { return 1; } - setDoStatusEmphasys(0x15); + setDoStatusEmphasys(BUTTON_STATUS_GRAB); - int temp_r25 = getDirectionFromShapeAngle(); + daAlink_ANM anm; + int direction = getDirectionFromShapeAngle(); if (mNormalSpeed > 1.0f) { - f32 temp_f30 = temp_r28->getFrame(); - if (checkAnmEnd(temp_r28)) { + f32 anm_frame = framectrl->getFrame(); + if (checkAnmEnd(framectrl)) { setSingleAnimeBase(ANM_COW_CATCH); } field_0x2f9d = 0x60; + anm = ANM_COW_CATCH; if (field_0x3198 > 0) { field_0x3198 += 1; cLib_chaseF(&mNormalSpeed, 30.0f, 1.0f); } else { - f32 var_f31 = 1.0f; - if ((temp_r27 == PROC_OBJ_GRA || temp_r27 == PROC_E_GOB) && !checkBootsOrArmorHeavy()) { + f32 speed_step = 1.0f; + if ((actor_name == PROC_OBJ_GRA || actor_name == PROC_E_GOB) && !checkBootsOrArmorHeavy()) { field_0x3198++; - } else if (checkInputOnR() && temp_r25 == DIR_FORWARD) { - var_f31 += 1.0f; + } else if (checkInputOnR() && direction == DIR_FORWARD) { + speed_step += 1.0f; } if (checkBootsOrArmorHeavy()) { - var_f31 += 0.5f; + speed_step += 0.5f; } - cLib_chaseF(&mNormalSpeed, 0.0f, var_f31); + cLib_chaseF(&mNormalSpeed, 0.0f, speed_step); if (mNormalSpeed < 0.1f) { mNormalSpeed = 0.1f; } } - if (!checkUnderMove0BckNoArc(ANM_COW_CATCH)) { - setSingleAnimeBase(ANM_COW_CATCH); - temp_r28->setFrame(temp_f30); - getNowAnmPackUnder(UNDER_0)->setFrame(temp_f30); + if (!checkUnderMove0BckNoArc(anm)) { + setSingleAnimeBase(anm); + framectrl->setFrame(anm_frame); + getNowAnmPackUnder(UNDER_0)->setFrame(anm_frame); } seStartOnlyReverbLevel(Z2SE_FN_LINK_SLIP); @@ -2359,45 +2389,44 @@ int daAlink_c::procGoatCatch() { mNormalSpeed = 0.0f; setSingleAnimeBase(ANM_COW_PRESS); voiceStart(Z2SE_AL_V_LIFTUP_L); - } else if (checkAnmEnd(temp_r28) && checkGoatStopGame()) { - dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[35]); + } else if (checkAnmEnd(framectrl) && checkGoatStopGame()) { + dComIfGs_onTmpBit((u16)dSv_event_tmp_flag_c::tempBitLabels[35]); } field_0x2f99 = 4; - if (checkAnmEnd(temp_r28)) { - if (temp_r27 == PROC_E_GOB && !checkBootsOrArmorHeavy()) { + if (checkAnmEnd(framectrl)) { + if (actor_name == PROC_E_GOB && !checkBootsOrArmorHeavy()) { setGoatStopGameFail(temp_r3); return 1; } - if (checkInputOnR() && (temp_r25 == DIR_LEFT || temp_r25 == DIR_RIGHT)) { - mProcVar3.field_0x300e = temp_r25; + if (checkInputOnR() && (direction == DIR_LEFT || direction == DIR_RIGHT)) { + mProcVar3.field_0x300e = direction; } - daAlink_ANM var_r26; if (mProcVar3.field_0x300e == 2) { - if (temp_r27 == PROC_OBJ_GRA) { + if (actor_name == PROC_OBJ_GRA) { ((daObj_GrA_c*)temp_r3)->setCrazyThrowLeft(); - } else if (temp_r27 == PROC_COW) { + } else if (actor_name == PROC_COW) { ((daCow_c*)temp_r3)->setCrazyThrowLeft(); } else { ((fopEn_enemy_c*)temp_r3)->setThrowModeThrowLeft(); } - var_r26 = ANM_COW_THROW_LEFT; + anm = ANM_COW_THROW_LEFT; } else { - if (temp_r27 == PROC_OBJ_GRA) { + if (actor_name == PROC_OBJ_GRA) { ((daObj_GrA_c*)temp_r3)->setCrazyThrowRight(); - } else if (temp_r27 == PROC_COW) { + } else if (actor_name == PROC_COW) { ((daCow_c*)temp_r3)->setCrazyThrowRight(); } else { ((fopEn_enemy_c*)temp_r3)->setThrowModeThrowRight(); } - var_r26 = ANM_COW_THROW_RIGHT; + anm = ANM_COW_THROW_RIGHT; } mProcVar2.field_0x300c = 1; - setSingleAnimeBase(var_r26); + setSingleAnimeBase(anm); field_0x2f99 = 0xC; voiceStart(Z2SE_AL_V_THROW_GORON); } @@ -2418,7 +2447,8 @@ int daAlink_c::procGoatStrokeInit() { static_cast(field_0x280c.getActor())->setNaderu(); mNormalSpeed = 0.0f; - if ((s16)(fopAcM_searchActorAngleY(field_0x27f4, this) - field_0x27f4->shape_angle.y) > 0) { + s16 var_r30 = fopAcM_searchActorAngleY(field_0x27f4, this) - field_0x27f4->shape_angle.y; + if (var_r30 > 0) { shape_angle.y = field_0x27f4->shape_angle.y - 0x4000; } else { shape_angle.y = field_0x27f4->shape_angle.y + 0x4000; @@ -2429,9 +2459,9 @@ int daAlink_c::procGoatStrokeInit() { return 1; } - int daAlink_c::procGoatStroke() { - if (mUnderFrameCtrl[0].checkAnmEnd()) { + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + if (checkAnmEnd(mUnderFrameCtrl)) { checkNextAction(0); } @@ -2457,7 +2487,7 @@ int daAlink_c::procGoronMoveInit() { mNormalSpeed = 0.0f; field_0x2f98 = 3; current.angle.y = shape_angle.y + -0x4000; - field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mAtnMove.m.mMaxSpeed; setSingleAnimeBase(ANM_ATN_RIGHT); mProcVar2.field_0x300c = 1; mProcVar3.field_0x300e = 0; @@ -2484,10 +2514,10 @@ int daAlink_c::procGoronMove() { return procBootsEquipInit(); } - int temp_r28 = cLib_distanceAngleS(field_0x2fe2, shape_angle.y); + int temp_r28 = cLib_distanceAngleS(mMoveAngle, shape_angle.y); if (mAttention->getActionBtnB() != NULL && mAttention->getActionBtnB()->mType == fopAc_attn_CARRY_e) { - setDoStatus(0x91); + setDoStatus(BUTTON_STATUS_UNK_145); if (doTrigger()) { mProcVar3.field_0x300e = 1; @@ -2506,7 +2536,7 @@ int daAlink_c::procGoronMove() { f32 var_f31; if (checkInputOnR() && temp_r28 > 0x800 && temp_r28 < 0x7800) { - if (abs((s16)(field_0x2fe2 - current.angle.y)) > 0x4000) { + if (abs((s16)(mMoveAngle - current.angle.y)) > 0x4000) { current.angle.y += 0x8000; mNormalSpeed *= -1.0f; @@ -2517,8 +2547,8 @@ int daAlink_c::procGoronMove() { } } - if (field_0x33a8 > (0.3f * (1.0f - fabsf(mNormalSpeed / field_0x594)))) { - var_f31 = mpHIO->mAtnMove.m.mAcceleration * field_0x33a8; + if (mStickValue > (0.3f * (1.0f - fabsf(mNormalSpeed / mMaxSpeed)))) { + var_f31 = mpHIO->mAtnMove.m.mAcceleration * mStickValue; } else { var_f31 = 0.0f; } @@ -2542,17 +2572,17 @@ int daAlink_c::procGoronMove() { setSingleAnimeBase(ANM_COW_MOVE_LEFT_RIGHT); } - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; f32 var_f30; if (field_0x2f98 == 3) { var_f30 = -1.0f; - temp_r29->setLoop(temp_r29->getEnd()); + framectrl->setLoop(framectrl->getEnd()); } else { var_f30 = 1.0f; - temp_r29->setLoop(temp_r29->getStart()); + framectrl->setLoop(framectrl->getStart()); } - temp_r29->setRate(var_f30 * (mNormalSpeed / field_0x594)); + framectrl->setRate(var_f30 * (mNormalSpeed / mMaxSpeed)); initBasAnime(); } diff --git a/src/d/actor/d_a_alink_guard.inc b/src/d/actor/d_a_alink_guard.inc index 45899c7609..f2832f23e0 100644 --- a/src/d/actor/d_a_alink_guard.inc +++ b/src/d/actor/d_a_alink_guard.inc @@ -6,24 +6,19 @@ #include "d/actor/d_a_alink.h" #include "d/d_com_inf_game.h" #include "d/actor/d_a_obj_gra2.h" +#include "d/actor/d_a_npc_kn.h" BOOL daAlink_c::checkEnemyGroup(fopAc_ac_c* i_actor) { - return i_actor != NULL && (fopAcM_GetGroup(i_actor) == fopAc_ENEMY_e || - fopAcM_GetName(i_actor) == PROC_E_ZH || checkSpecialNpc(i_actor)); + return i_actor != NULL + && (fopAcM_GetGroup(i_actor) == fopAc_ENEMY_e || fopAcM_GetName(i_actor) == PROC_E_ZH || checkSpecialNpc(i_actor)); } -// properly setup later -class daNpc_Kn_c : public fopAc_ac_c { -public: - bool checkBattleMode() { return true; } -}; - BOOL daAlink_c::checkSpecialNpc(fopAc_ac_c* i_actor) { s16 name = fopAcM_GetName(i_actor); - return ((name == PROC_NPC_KAKASHI || name == PROC_NPC_KN) && - static_cast(i_actor)->checkBattleMode()) || - (name == PROC_OBJ_GRA && !static_cast(i_actor)->checkNpcObjGra()); + return name == PROC_NPC_KAKASHI || + (name == PROC_NPC_KN && static_cast(i_actor)->checkBattleMode()) || + (name == PROC_OBJ_GRA && !static_cast(i_actor)->checkNpcObjGra()); } BOOL daAlink_c::checkShieldAttackEmphasys() { @@ -56,20 +51,29 @@ void daAlink_c::stickArrowIncrement(int param_0) { } if (arrow_num != 0) { - if (checkShieldGet() && checkItemGet(fpcNm_ITEM_BOW, true)) { - int arrow_type = arrow_num == 1 ? fpcNm_ITEM_ARROW_1 : fpcNm_ITEM_ARROW_10; + if (checkShieldGet() + #if !PLATFORM_SHIELD + && checkItemGet(fpcNm_ITEM_BOW, true) + #endif + ) + { + int arrow_type; + if (arrow_num == 1) { + arrow_type = fpcNm_ITEM_ARROW_1; + } else { + arrow_type = fpcNm_ITEM_ARROW_10; + } dComIfGp_setItemArrowNumCount(arrow_num); fopAcM_createItemForSimpleDemo(¤t.pos, arrow_type, -1, NULL, NULL, 0.0f, 0.0f); } - onResetFlg0(RFLG0_UNK_1); + onResetFlg0(RFLG0_STICK_ARROW_RESET); } } } - void daAlink_c::setArrowShieldActor(fopAc_ac_c* i_actor, int param_1) { fpc_ProcID new_arrow_id = fopAcM_GetID(i_actor); @@ -106,12 +110,11 @@ void daAlink_c::setArrowShieldActor(fopAc_ac_c* i_actor, int param_1) { } } - BOOL daAlink_c::checkWoodShieldEquipNotIronBall() const { return checkWoodShieldEquip() && !checkIronBallEquip(); } -void daAlink_c::getArrowShieldOffset(cXyz const* param_0, csXyz const* param_1, cXyz* param_2, +void daAlink_c::getArrowShieldOffset(const cXyz* param_0, const csXyz* param_1, cXyz* param_2, cXyz* param_3) const { cXyz sp54; mDoMtx_stack_c::ZXYrotS(param_1->x + cM_rndFX(0x1000), param_1->y + cM_rndFX(0x1000), 0); @@ -120,7 +123,7 @@ void daAlink_c::getArrowShieldOffset(cXyz const* param_0, csXyz const* param_1, mDoMtx_stack_c::inverse(); mDoMtx_stack_c::multVecSR(&sp54, param_3); - static Vec const localCenter = {-15.0f, 0.0f, 18.0f}; + static const Vec localCenter = {-15.0f, 0.0f, 18.0f}; cXyz sp60; mDoMtx_multVec(getShieldMtx(), &localCenter, &sp60); @@ -140,9 +143,8 @@ void daAlink_c::getArrowShieldOffset(cXyz const* param_0, csXyz const* param_1, mDoMtx_stack_c::multVec(&sp6C, param_2); } - -void daAlink_c::setArrowShieldPos(cXyz* param_0, csXyz* param_1, cXyz const* param_2, - cXyz const* param_3) const { +void daAlink_c::setArrowShieldPos(cXyz* param_0, csXyz* param_1, const cXyz* param_2, + const cXyz* param_3) const { cXyz sp1C; mDoMtx_multVecSR(getShieldMtx(), param_3, &sp1C); @@ -153,9 +155,12 @@ void daAlink_c::setArrowShieldPos(cXyz* param_0, csXyz* param_1, cXyz const* par } BOOL daAlink_c::checkUpperGuardAnime() const { - return checkNoResetFlg2(FLG2_UNK_8000000) && !checkEventRun() && - !checkNoResetFlg0(FLG0_UNK_2) && mProcID != PROC_GUARD_BREAK && - mProcID != PROC_CUT_REVERSE && mProcID != PROC_GUARD_ATTACK; + return checkNoResetFlg2(FLG2_UNK_8000000) && + !checkEventRun() && + !checkNoResetFlg0(FLG0_UNK_2) && + mProcID != PROC_GUARD_BREAK && + mProcID != PROC_CUT_REVERSE && + mProcID != PROC_GUARD_ATTACK; } BOOL daAlink_c::checkPlayerGuard() const { @@ -168,15 +173,20 @@ BOOL daAlink_c::checkPlayerGuardAndAttack() const { } BOOL daAlink_c::checkGuardAccept() { - return checkModeFlg(0x80) && checkShieldGet() && !checkFmChainGrabAnime() && + return checkModeFlg(0x80) && + checkShieldGet() && + !checkFmChainGrabAnime() && !checkNotBattleStage(); } -void daAlink_c::setUpperGuardAnime(f32) { +void daAlink_c::setUpperGuardAnime(f32 param_0) { + UNUSED(param_0); onNoResetFlg2(FLG2_UNK_8000000); } void daAlink_c::setShieldGuard() { + f32 var_f31 = mNowAnmPackUpper[2].getRatio(); + if ((mProcID == PROC_GUARD_SLIP && mEquipItem != fpcNm_ITEM_IRONBALL) || checkSmallUpperGuardAnime() || (checkGuardAccept() && !checkGrabAnime() && !checkUpperReadyThrowAnime() && !checkDkCaught2Anime() && !checkKandelaarSwingAnime() && !checkCutDashAnime() && @@ -191,28 +201,28 @@ void daAlink_c::setShieldGuard() { void daAlink_c::setGuardSe(dCcD_GObjInf* i_objinf) { int var_r31; - int var_r30; + BOOL isRebound; if (checkWoodShieldEquipNotIronBall() && !checkMagicArmorNoDamage()) { var_r31 = 0x29; - var_r30 = 0; + isRebound = FALSE; } else { var_r31 = 0x28; - var_r30 = 1; + isRebound = TRUE; } u32 hit_se; if (i_objinf->GetTgHitGObj() != NULL && i_objinf->GetTgHitGObj()->GetAtType() == AT_TYPE_BOMB) { hit_se = Z2SE_HIT_METAL_WEAPON; } else { - hit_se = i_objinf->GetTgHitObjHitSeID(var_r30); + hit_se = i_objinf->GetTgHitObjHitSeID(isRebound); } mZ2Link.startCollisionSE(hit_se, var_r31); } void daAlink_c::setSmallGuard(dCcD_GObjInf* i_objinf) { - setUpperAnimeBase(0x16); + setUpperAnimeBase(dRes_ID_ALANM_BCK_ATDEFS_e); cXyz* dmg_vec = getDamageVec(i_objinf); mBodyAngle.y = (dmg_vec->atan2sX_Z() + 0x8000) - shape_angle.y; @@ -227,7 +237,7 @@ void daAlink_c::setSmallGuard(dCcD_GObjInf* i_objinf) { mBodyAngle.x = cLib_minMaxLimit(cM_atan2s(dmg_vec->y, dmg_vec->absXZ()), -mpHIO->mGuard.m.mSmallGuardFBAngleMax, mpHIO->mGuard.m.mSmallGuardFBAngleMax); } -int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { +int daAlink_c::procGuardSlipInit(int i_atSpl, dCcD_GObjInf* i_objinf) { if (mProcID == PROC_GUARD_SLIP) { return 0; } @@ -241,9 +251,11 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { commonProcInit(PROC_GUARD_SLIP); field_0x2fd4 = 3; - cXyz* temp_r3 = getDamageVec(param_1); - current.angle.y = temp_r3->atan2sX_Z(); + cXyz* dmg_vec = getDamageVec(i_objinf); + current.angle.y = dmg_vec->atan2sX_Z(); + const daAlinkHIO_anm_c* anmParams; + daAlink_ANM anm; if (mEquipItem == fpcNm_ITEM_IRONBALL) { setSingleAnimeBase(ANM_IRONBALL_DEF); setIronBallWaitUpperAnime(1); @@ -253,15 +265,14 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = 0; } else { - const daAlinkHIO_anm_c* var_r27 = &mpHIO->mGuard.m.mGuardHitAnm; - daAlink_ANM var_r28; + anmParams = &mpHIO->mGuard.m.mGuardHitAnm; if (field_0x2f98 == 2) { - var_r28 = ANM_GUARD_LEFT; + anm = ANM_GUARD_LEFT; } else { - var_r28 = ANM_GUARD_RIGHT; + anm = ANM_GUARD_RIGHT; } - setSingleAnimeParam(var_r28, var_r27); + setSingleAnimeParam(anm, anmParams); setUpperGuardAnime(-1.0f); mProcVar2.field_0x300c = (current.angle.y + 0x8000) - shape_angle.y; @@ -271,7 +282,7 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { mProcVar2.field_0x300c = cLib_minMaxLimit((s16)mProcVar2.field_0x300c, -mpHIO->mGuard.m.mGuardLRAngleMax, mpHIO->mGuard.m.mGuardLRAngleMax); } - mProcVar3.field_0x300e = cLib_minMaxLimit(cM_atan2s(temp_r3->y, temp_r3->absXZ()), -mpHIO->mGuard.m.mGuardFBAngleMax, mpHIO->mGuard.m.mGuardFBAngleMax); + mProcVar3.field_0x300e = cLib_minMaxLimit(cM_atan2s(dmg_vec->y, dmg_vec->absXZ()), -mpHIO->mGuard.m.mGuardFBAngleMax, mpHIO->mGuard.m.mGuardFBAngleMax); mProcVar1.field_0x300a = mpHIO->mGuard.m.mGuardBodyInterpolation + 1; mProcVar2.field_0x300c = (mProcVar2.field_0x300c - mBodyAngle.y) / mProcVar1.field_0x300a; mProcVar3.field_0x300e = (mProcVar3.field_0x300e - mBodyAngle.x) / mProcVar1.field_0x300a; @@ -284,7 +295,7 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { mProcVar4.field_0x3010 = 0; mProcVar5.field_0x3012 = 0; - if (param_1 != NULL && param_1->GetTgHitAc() != NULL && fopAcM_GetName(param_1->GetTgHitAc()) == PROC_E_MM_MT && param_1->GetTgHitAc()->argument == 1) { + if (i_objinf != NULL && i_objinf->GetTgHitAc() != NULL && fopAcM_GetName(i_objinf->GetTgHitAc()) == PROC_E_MM_MT && i_objinf->GetTgHitAc()->argument == 1) { if (checkBootsOrArmorHeavy()) { mNormalSpeed = mpHIO->mGuard.m.mMagneHvyGuardSpeed; mProcVar5.field_0x3012 = 1; @@ -294,13 +305,13 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { } mProcVar4.field_0x3010 = 1; - } else if (checkHugeAttack(param_0)) { + } else if (checkHugeAttack(i_atSpl)) { if ((!checkBootsOrArmorHeavy() && checkMiddleBossGoronRoom()) || checkStageName("D_MN07B")) { mNormalSpeed = 40.0f; } else { mNormalSpeed = mpHIO->mGuard.m.mGuardSpeedHuge; } - } else if (checkLargeAttack(param_0)) { + } else if (checkLargeAttack(i_atSpl)) { mNormalSpeed = mpHIO->mGuard.m.mGuardSpeedLarge; } else { mNormalSpeed = mpHIO->mGuard.m.mGuardSpeedNormal; @@ -319,7 +330,7 @@ int daAlink_c::procGuardSlip() { setShapeAngleToAtnActor(0); if (mProcVar1.field_0x300a != 0) { - mProcVar1.field_0x300a -= 1; + mProcVar1.field_0x300a -= (s16)1; mBodyAngle.y += mProcVar2.field_0x300c; mBodyAngle.x += mProcVar3.field_0x300e; } @@ -328,19 +339,19 @@ int daAlink_c::procGuardSlip() { field_0x2f9d = 0x60; } - f32 var_f31; + f32 speed_step; if (checkBootsOrArmorHeavy() && mProcVar4.field_0x3010 == 0) { - var_f31 = 2.5f; + speed_step = 2.5f; } else { - var_f31 = 1.25f; + speed_step = 1.25f; } if (mProcVar4.field_0x3010 != 0 && mProcVar5.field_0x3012 != checkBootsOrArmorHeavy()) { mNormalSpeed = 0.0f; } - if (cLib_chaseF(&mNormalSpeed, 0.0f, var_f31) != 0 && checkAnmEnd(&mUnderFrameCtrl[0])) { - field_0x814.SetTgApid(0); + if (cLib_chaseF(&mNormalSpeed, 0.0f, speed_step) != 0 && checkAnmEnd(&mUnderFrameCtrl[0])) { + mCcStts.SetTgApid(0); if (!checkGuardActionChange()) { onEndResetFlg1(ERFLG1_UNK_20); @@ -357,41 +368,44 @@ int daAlink_c::procGuardSlip() { } int daAlink_c::procGuardAttackInit() { - if (mDemo.getDemoMode() == 0x4B && mProcID == PROC_GUARD_ATTACK) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_GUARD_ATTACK_e && mProcID == PROC_GUARD_ATTACK) { return 1; } commonProcInit(PROC_GUARD_ATTACK); - const daAlinkHIO_guardAttack_c1* temp_r30 = &mpHIO->mGuard.mAtPush.m; + daAlink_ANM anm = ANM_SHIELD_ATTACK; + const daAlinkHIO_guardAttack_c1* params = &mpHIO->mGuard.mAtPush.m; field_0x2f98 = 3; field_0x34d4 = l_rWaitBaseAnime; field_0x3588 = l_rWaitBaseAnime; - setCutType(0x29); - setSingleAnimeParam(ANM_SHIELD_ATTACK, &temp_r30->mAttackAnm); + setCutType(CUT_TYPE_GUARD_ATTACK); + u8 atSe = dCcD_SE_SHIELD_ATTACK; - field_0x3478 = temp_r30->mAttackStartFrame; - field_0x347c = temp_r30->mAttackEndFrame; - field_0x3480 = temp_r30->mSpeed; + setSingleAnimeParam(anm, ¶ms->mAttackAnm); - if (checkHeavyStateOn(1, 1) != 0) { + field_0x3478 = params->mAttackStartFrame; + field_0x347c = params->mAttackEndFrame; + field_0x3480 = params->mSpeed; + + if (checkHeavyStateOn(TRUE, TRUE)) { field_0x3480 *= mHeavySpeedMultiplier; } - if (mDemo.getDemoMode() == 0x4B) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_GUARD_ATTACK_e) { field_0x3484 = 1000.0f; field_0x3488 = 1000.0f; } else { - field_0x3484 = temp_r30->mAttackAnm.mCancelFrame; - field_0x3488 = temp_r30->mSlashCheckFrame; + field_0x3484 = params->mAttackAnm.mCancelFrame; + field_0x3488 = params->mSlashCheckFrame; } mNormalSpeed = 0.0f; setSwordVoiceSe(Z2SE_AL_V_TATE_OSHI); mGuardAtCps.ResetAtHit(); - mGuardAtCps.SetAtSe(2); + mGuardAtCps.SetAtSe(atSe); mGuardAtCps.SetR(mpHIO->mGuard.m.mAttackRadius); current.angle.y = shape_angle.y; @@ -405,7 +419,7 @@ int daAlink_c::procGuardAttackInit() { } int daAlink_c::procGuardAttack() { - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; setUpperGuardAnime(-1.0f); field_0x2f99 = 4; @@ -419,17 +433,17 @@ int daAlink_c::procGuardAttack() { BOOL var_r29; if (mEquipItem == 0x103 && !checkMagneBootsOn()) { - var_r29 = 1; + var_r29 = TRUE; if (doTrigger()) { mProcVar3.field_0x300e = 1; } } else { - var_r29 = 0; + var_r29 = FALSE; } if (mProcVar0.field_0x3008 == 0 && mGuardAtCps.ChkAtHit()) { mProcVar0.field_0x3008 = 1; - dComIfGp_getVibration().StartShock(3, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER3, 1, cXyz(0.0f, 1.0f, 0.0f)); } if (mProcVar5.field_0x3012 != 0 && commonLineCheck(&field_0x3834, &mRightHandPos) && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7) { @@ -439,20 +453,20 @@ int daAlink_c::procGuardAttack() { if (var_r29) { if (checkCutHeadState()) { - setDoStatusEmphasys(0x77); + setDoStatusEmphasys(BUTTON_STATUS_HELM_SPLITTER); } else { - setDoStatus(0x86); + setDoStatus(BUTTON_STATUS_UNK_134); } } - if (checkAnmEnd(temp_r30)) { - if (mDemo.getDemoMode() == 0x4B) { + if (checkAnmEnd(framectrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_GUARD_ATTACK_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); } } else { - if (temp_r30->getFrame() > field_0x3488) { + if (framectrl->getFrame() > field_0x3488) { if (mProcVar3.field_0x300e != 0) { return checkDoCutAction(); } @@ -462,10 +476,10 @@ int daAlink_c::procGuardAttack() { } } - if (temp_r30->getFrame() > field_0x3484) { + if (framectrl->getFrame() > field_0x3484) { onModeFlg(4); checkNextAction(1); - } else if (temp_r30->getFrame() >= field_0x3478 && temp_r30->getFrame() < field_0x347c) { + } else if (framectrl->getFrame() >= field_0x3478 && framectrl->getFrame() < field_0x347c) { if (mProcVar5.field_0x3012 == 0) { mNormalSpeed = field_0x3480; } @@ -483,29 +497,29 @@ int daAlink_c::procGuardBreakInit() { setSingleAnimeParam(ANM_GUARD_BREAK, &mpHIO->mGuard.m.mGuardBreakAnm); if (mEquipItem == fpcNm_ITEM_IRONBALL) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); } mNormalSpeed = 0.0f; field_0x3588 = l_halfAtnWaitBaseAnime; - dComIfGp_getVibration().StartShock(5, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER5, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); voiceStart(Z2SE_AL_V_GUARD_BROKEN); return 1; } int daAlink_c::procGuardBreak() { - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; setUpperGuardAnime(-1.0f); onEndResetFlg0(ERFLG0_UNK_8000000); field_0x2f99 = 4; - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { if (checkGuardActionChange() == 0) { onEndResetFlg1(ERFLG1_UNK_20); } checkNextAction(0); - } else if (temp_r30->getFrame() > mpHIO->mGuard.m.mGuardBreakAnm.mCancelFrame) { + } else if (framectrl->getFrame() > mpHIO->mGuard.m.mGuardBreakAnm.mCancelFrame) { if (!checkGuardActionChange()) { onEndResetFlg1(ERFLG1_UNK_20); } @@ -518,37 +532,37 @@ int daAlink_c::procGuardBreak() { } int daAlink_c::procTurnMoveInit(int param_0) { - BOOL temp_r27 = checkUpperGuardAnime(); - fopAc_ac_c* temp_r28 = mTargetedActor; + BOOL isUpperGuardAnime = checkUpperGuardAnime(); + fopAc_ac_c* targetedActor = mTargetedActor; commonProcInit(PROC_TURN_MOVE); mNormalSpeed = 0.0f; - daAlink_ANM var_r29; + daAlink_ANM anm; if (param_0 == 2) { - var_r29 = ANM_SIDE_ROLL_LEFT; + anm = ANM_SIDE_ROLL_LEFT; } else if (param_0 == 3) { - var_r29 = ANM_SIDE_ROLL_RIGHT; + anm = ANM_SIDE_ROLL_RIGHT; } else if (checkInputOnR()) { - if ((s16)(field_0x2fe2 - shape_angle.y) >= 0) { - var_r29 = ANM_SIDE_ROLL_LEFT; + if ((s16)(mMoveAngle - shape_angle.y) >= 0) { + anm = ANM_SIDE_ROLL_LEFT; } else { - var_r29 = ANM_SIDE_ROLL_RIGHT; + anm = ANM_SIDE_ROLL_RIGHT; } } else { - var_r29 = ANM_SIDE_ROLL_LEFT; + anm = ANM_SIDE_ROLL_LEFT; } - f32 temp_f31 = mpHIO->mGuard.mTurnMove.m.mTurnAnm.mSpeed; + f32 anm_speed = mpHIO->mGuard.mTurnMove.m.mTurnAnm.mSpeed; mProcVar1.field_0x300a = mpHIO->mGuard.mTurnMove.m.mMaxTurnSpeed; - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { mProcVar1.field_0x300a = mProcVar1.field_0x300a * mpHIO->mItem.mIronBoots.m.mWaterVelocityX; } - setSingleAnime(var_r29, temp_f31, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mStartFrame, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mEndFrame, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mInterpolation); + setSingleAnime(anm, anm_speed, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mStartFrame, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mEndFrame, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mInterpolation); - if (var_r29 == ANM_SIDE_ROLL_LEFT) { + if (anm == ANM_SIDE_ROLL_LEFT) { mProcVar2.field_0x300c = -0x7FF0; field_0x2f98 = 2; } else { @@ -556,9 +570,9 @@ int daAlink_c::procTurnMoveInit(int param_0) { field_0x2f98 = 3; } - if (temp_r28 != NULL) { - cXyz sp8 = current.pos - temp_r28->current.pos; - shape_angle.y = fopAcM_searchActorAngleY(this, temp_r28); + if (targetedActor != NULL) { + cXyz sp8 = current.pos - targetedActor->current.pos; + shape_angle.y = fopAcM_searchActorAngleY(this, targetedActor); field_0x3478 = sp8.absXZ(); mProcVar3.field_0x300e = sp8.atan2sX_Z(); } else { @@ -569,7 +583,7 @@ int daAlink_c::procTurnMoveInit(int param_0) { field_0x347c = (field_0x3478 - 150.0f) / mProcVar2.field_0x300c; voiceStart(Z2SE_AL_V_SOTOMO_ROLL); - if (mDemo.getDemoMode() == 0x52) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_82_e) { mProcVar0.field_0x3008 = 1; } else { mProcVar0.field_0x3008 = 0; @@ -579,7 +593,7 @@ int daAlink_c::procTurnMoveInit(int param_0) { field_0x2f9d = 4; dComIfGp_setPlayerStatus0(0, 4); - if (temp_r27 != 0) { + if (isUpperGuardAnime) { onNoResetFlg0(FLG0_UNK_2); } @@ -611,22 +625,22 @@ int daAlink_c::procTurnMove() { shape_angle.y = mProcVar3.field_0x300e + 0x8000; mProcVar0.field_0x3008 |= checkCutFinishJumpUp(); - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; if (checkNoResetFlg0(FLG0_UNK_2)) { setUpperGuardAnime(-1.0f); } - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { if (!checkAttentionLock()) { offNoResetFlg2(FLG2_UNK_8000000); } checkNextAction(0); - } else if (mProcVar0.field_0x3008 != 0 && !checkNotJumpSinkLimit() && temp_r30->getFrame() > mpHIO->mGuard.mTurnMove.m.mTwirlCutDelayF) { + } else if (mProcVar0.field_0x3008 != 0 && !checkNotJumpSinkLimit() && framectrl->getFrame() > mpHIO->mGuard.mTurnMove.m.mTwirlCutDelayF) { procCutFinishJumpUpInit(); dComIfGp_setPlayerStatus0(0, 4); } else { - if (temp_r30->getFrame() > mpHIO->mGuard.mTurnMove.m.mTurnAnm.mCancelFrame) { + if (framectrl->getFrame() > mpHIO->mGuard.mTurnMove.m.mTurnAnm.mCancelFrame) { onModeFlg(4); if (checkNextAction(1)) { @@ -634,8 +648,8 @@ int daAlink_c::procTurnMove() { } } - if (temp_r30->checkPass(19.0f)) { - dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); + if (framectrl->checkPass(19.0f)) { + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); } if (abs(temp_r29) > 0x100) { diff --git a/src/d/actor/d_a_alink_hang.inc b/src/d/actor/d_a_alink_hang.inc index 3c15747f8c..25d48a2d6d 100644 --- a/src/d/actor/d_a_alink_hang.inc +++ b/src/d/actor/d_a_alink_hang.inc @@ -18,7 +18,7 @@ f32 daAlink_c::getHangMoveAnmSpeed() { } int daAlink_c::getHangDirectionFromAngle() { - s16 angle = field_0x2fe2 - shape_angle.y; + s16 angle = mMoveAngle - shape_angle.y; if (abs(angle) > 0x78E4) { return DIR_BACKWARD; } @@ -40,7 +40,7 @@ BOOL daAlink_c::hangMoveBgCheck(s16 param_0, cXyz* param_1) { f32 var_f31; if (checkModeFlg(0x10000)) { - var_f31 = current.pos.y + field_0x598; + var_f31 = current.pos.y + mHeight; } else { var_f31 = current.pos.y; } @@ -68,7 +68,8 @@ BOOL daAlink_c::hangMoveBgCheck(s16 param_0, cXyz* param_1) { cXyz sp9C; for (int i = 0; i < 3; i++) { static f32 const underOffsetY[3] = {15.0f, 90.0f, 150.0f}; - sp90.y = sp84.y = var_f31 - underOffsetY[i]; + sp84.y = var_f31 - underOffsetY[i]; + sp90.y = sp84.y; if (commonLineCheck(&sp84, &sp90)) { dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp78); @@ -92,15 +93,14 @@ BOOL daAlink_c::hangMoveBgCheck(s16 param_0, cXyz* param_1) { return rt; } - BOOL daAlink_c::changeHangMoveProc(int i_direction) { if (!mLinkAcch.ChkGroundHit() || !dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) { return false; } - cM3dGPla sp58; - dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp58); - if (sp58.mNormal.y < 0.9986f) { + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &tripla); + if (tripla.mNormal.y < 0.9986f) { return false; } @@ -132,7 +132,8 @@ BOOL daAlink_c::changeHangMoveProc(int i_direction) { } mLinkGndChk.SetPos(&sp70); - if (fabsf(dComIfG_Bgsp().GroundCross(&mLinkGndChk) - current.pos.y) > 5.0f) { + f32 var_f30 = fabsf(dComIfG_Bgsp().GroundCross(&mLinkGndChk) - current.pos.y); + if (var_f30 > 5.0f) { cXyz sp7C; cXyz sp88; sp7C.set(sp70.x, current.pos.y - 5.0f, sp70.z); @@ -142,8 +143,8 @@ BOOL daAlink_c::changeHangMoveProc(int i_direction) { return false; } - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp58); - if (cLib_distanceAngleS(sp58.mNormal.atan2sX_Z(), shape_angle.y) < 0x549F) { + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); + if (cLib_distanceAngleS(tripla.mNormal.atan2sX_Z(), shape_angle.y) < 0x549F) { return false; } } @@ -151,19 +152,17 @@ BOOL daAlink_c::changeHangMoveProc(int i_direction) { return hangMoveBgCheck(var_r29, NULL) == false; } - bool daAlink_c::checkHangFootWall() { f32 var_f31 = cM_ssin(shape_angle.y); f32 var_f30 = cM_scos(shape_angle.y); - cXyz sp4C(current.pos.x - var_f31 * 30.0f, current.pos.y - 120.0f, - current.pos.z - var_f30 * 30.0f); - cXyz sp58(current.pos.x + var_f31, sp4C.y, current.pos.z + var_f30); + cXyz line_start(current.pos.x - var_f31 * 30.0f, current.pos.y - 120.0f, current.pos.z - var_f30 * 30.0f); + cXyz line_end(current.pos.x + var_f31, line_start.y, current.pos.z + var_f30); - if (commonLineCheck(&sp4C, &sp58)) { - cM3dGPla sp40; - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp40); + if (commonLineCheck(&line_start, &line_end)) { + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); - if (fabsf(sp40.mNormal.y) <= 0.05f) { + if (fabsf(tripla.mNormal.y) <= 0.05f) { onNoResetFlg2(FLG2_UNK_2000); return true; } @@ -173,7 +172,6 @@ bool daAlink_c::checkHangFootWall() { return false; } - void daAlink_c::setHangGroundY() { cXyz pos; mDoMtx_multVecZero(mpLinkModel->getAnmMtx(0), &pos); @@ -185,7 +183,6 @@ void daAlink_c::setHangGroundY() { field_0x33d8 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); } - int daAlink_c::changeHangEndProc() { setHangGroundY(); @@ -196,7 +193,7 @@ int daAlink_c::changeHangEndProc() { return procLandInit(0.0f); } - setDoStatus(0x33); + setDoStatus(BUTTON_STATUS_DROP_DOWN); if (doTrigger()) { speed.y = 0.0f; @@ -224,17 +221,17 @@ void daAlink_c::checkHangStartSideWall(s16 param_0) { cXyz sp7C; cXyz sp88; - cM3dGPla sp70; + cM3dGPla tripla; sp7C.set(var_f31 + (current.pos.x + (cM_ssin(param_0) * 4.5f)), - current.pos.y - field_0x598 * 0.5f, + current.pos.y - mHeight * 0.5f, var_f30 + (current.pos.z + (cM_scos(param_0) * 4.5f))); sp88.set(sp7C.x - var_f31 * 2.0f, sp7C.y, sp7C.z - var_f30 * 2.0f); for (int i = 0; i < 2; i++) { if (commonLineCheck(&sp7C, &sp88)) { - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp70); - if (cLib_distanceAngleS(sp70.mNormal.atan2sX_Z(), var_r27) < 0x549F) { + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); + if (cLib_distanceAngleS(tripla.mNormal.atan2sX_Z(), var_r27) < 0x549F) { current.pos.x += var_f31; current.pos.z += var_f30; break; @@ -242,19 +239,19 @@ void daAlink_c::checkHangStartSideWall(s16 param_0) { } if (commonLineCheck(&sp88, &sp7C)) { - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp70); - if (cLib_distanceAngleS(sp70.mNormal.atan2sX_Z(), var_r27) < 0x549F) { + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); + if (cLib_distanceAngleS(tripla.mNormal.atan2sX_Z(), var_r27) < 0x549F) { current.pos.x -= var_f31; current.pos.z -= var_f30; break; } } - sp88.y = sp7C.y = current.pos.y - 5.0f; + sp7C.y = current.pos.y - 5.0f; + sp88.y = sp7C.y; } } - int daAlink_c::procHangStartInit() { cXyz sp2C = field_0x34ec - current.pos; @@ -273,13 +270,13 @@ int daAlink_c::procHangStartInit() { return 0; } - BOOL hang_ready = mProcID == PROC_HANG_READY; + BOOL is_prev_hangReady = mProcID == PROC_HANG_READY; commonProcInit(PROC_HANG_START); current.pos = sp38; offNoResetFlg2(FLG2_UNK_2000); if (checkHangFootWall()) { - if (!hang_ready && cM_rnd() < 0.7f) { + if (!is_prev_hangReady && cM_rnd() < 0.7f) { setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &mpHIO->mLadder.m.mWallAttachMissAnm); field_0x3478 = mpHIO->mLadder.m.mWallAttachMissAnm.mCancelFrame; voiceStart(Z2SE_AL_V_FOOT_MISS); @@ -289,8 +286,8 @@ int daAlink_c::procHangStartInit() { voiceStart(Z2SE_AL_V_JUMP_HANG); } - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; } else { setSingleAnimeParam(ANM_HANG_READY, &mpHIO->mWallHang.mWallCatch.m.mGrabAAnm); field_0x3478 = mpHIO->mWallHang.mWallCatch.m.mGrabAAnm.mCancelFrame; @@ -301,15 +298,13 @@ int daAlink_c::procHangStartInit() { shape_angle.y = field_0x306e + 0x8000; current.angle.y = shape_angle.y; - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; + mNormalSpeed = 0.0f; + speed.y = 0.0f; dComIfGp_setPlayerStatus0(0, 0x100); setHangGroundY(); return 1; } - int daAlink_c::procHangStart() { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; @@ -319,10 +314,11 @@ int daAlink_c::procHangStart() { if (checkAnmEnd(frame_ctrl)) { procHangWaitInit(); - } else if (frame_ctrl->getFrame() > field_0x3478 && checkInputOnR() && - getDirectionFromShapeAngle() == DIR_FORWARD) - { - procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mStartFrame); + } else if (frame_ctrl->getFrame() > field_0x3478 && checkInputOnR()) { + int direction = getDirectionFromShapeAngle(); + if (direction == DIR_FORWARD) { + procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mStartFrame); + } } return 1; @@ -338,8 +334,7 @@ int daAlink_c::procHangFallStartInit(cM3dGPla* param_0) { cXyz sp58(current.pos.x, current.pos.y + 50.0f, current.pos.z); mLinkGndChk.SetPos(&sp58); - f32 cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - sp58.y = cross; + sp58.y = dComIfG_Bgsp().GroundCross(&mLinkGndChk); if (sp58.y != -G_CM3D_F_INF) { if (sp58.y < current.pos.y + l_autoDownHeight) { return 0; @@ -356,14 +351,12 @@ int daAlink_c::procHangFallStartInit(cM3dGPla* param_0) { sp58.z += var_f30; mLinkGndChk.SetPos(&sp58); - cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - if (cross < current.pos.y - 50.0f) { + if (dComIfG_Bgsp().GroundCross(&mLinkGndChk) < current.pos.y - 50.0f) { sp58.x = current.pos.x - var_f31; sp58.z = current.pos.z - var_f30; mLinkGndChk.SetPos(&sp58); - cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - sp58.y = cross; + sp58.y = dComIfG_Bgsp().GroundCross(&mLinkGndChk); if (sp58.y < current.pos.y - 50.0f) { return 0; } @@ -397,7 +390,6 @@ int daAlink_c::procHangFallStartInit(cM3dGPla* param_0) { return 1; } - int daAlink_c::procHangFallStart() { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; @@ -415,8 +407,7 @@ int daAlink_c::procHangFallStart() { } if (frame_ctrl->checkPass(5.0f)) { - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); } if (bvar) { @@ -465,15 +456,14 @@ int daAlink_c::procHangUp() { return 1; } - int daAlink_c::procHangWaitInit() { commonProcInit(PROC_HANG_WAIT); if (checkNoResetFlg2(FLG2_UNK_2000) && checkHangFootWall()) { setSingleAnime(ANM_CLIMB_HANG, 0.0f, mpHIO->mLadder.m.mWallAttachAnm.mEndFrame, mpHIO->mLadder.m.mWallAttachAnm.mEndFrame, 5.0f); - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; } else { setSingleAnime(ANM_HANG_READY, 0.0f, mpHIO->mWallHang.mWallCatch.m.mGrabAAnm.mEndFrame, mpHIO->mWallHang.mWallCatch.m.mGrabAAnm.mEndFrame, 5.0f); @@ -488,8 +478,9 @@ int daAlink_c::procHangWaitInit() { return 1; } - int daAlink_c::procHangWait() { + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + if (changeHangEndProc()) { return 1; } @@ -517,13 +508,11 @@ int daAlink_c::procHangWait() { return 1; } - int daAlink_c::procHangMoveInit(int param_0) { commonProcInit(PROC_HANG_MOVE); + daAlink_ANM anm; if (checkNoResetFlg2(FLG2_UNK_2000) && checkHangFootWall()) { - daAlink_ANM anm; - if (param_0 == 2) { anm = ANM_CLIMB_SLIDE_LEFT; field_0x33f0 = 1.0f; @@ -535,11 +524,9 @@ int daAlink_c::procHangMoveInit(int param_0) { } setSingleAnimeBaseSpeed(anm, getClimbMoveSideAnmSpeed(), 3.0f); - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; } else { - daAlink_ANM anm; - if (param_0 == 2) { anm = ANM_HANG_MOVE_LEFT; } else { @@ -564,7 +551,6 @@ int daAlink_c::procHangMoveInit(int param_0) { return 1; } - int daAlink_c::procHangMove() { int direction = getHangDirectionFromAngle(); field_0x2f99 = 1; @@ -672,13 +658,12 @@ int daAlink_c::procHangMove() { return 1; } - int daAlink_c::procHangClimbInit(f32 param_0) { - if (mLinkAcch.ChkRoofHit() || field_0x3174 == 6) { + if (mLinkAcch.ChkRoofHit() || mGroundCode == 6) { return 0; } - BOOL wall_catch = mProcID == PROC_HANG_WALL_CATCH; + BOOL is_prev_wallCatch = mProcID == PROC_HANG_WALL_CATCH; commonProcInit(PROC_HANG_CLIMB); setSingleAnime(ANM_HANG_CLIMB_TOP, mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mSpeed, param_0, mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mEndFrame, @@ -692,7 +677,7 @@ int daAlink_c::procHangClimbInit(f32 param_0) { mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; - if (!wall_catch) { + if (!is_prev_wallCatch) { voiceStart(Z2SE_AL_V_CLIMB); } @@ -700,7 +685,6 @@ int daAlink_c::procHangClimbInit(f32 param_0) { return 1; } - int daAlink_c::procHangClimb() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; setHangGroundY(); @@ -715,12 +699,10 @@ int daAlink_c::procHangClimb() { if (frameCtrl->checkPass(9.0f)) { daAlink_footData_c* footdata = mFootData2; - - for (int i = 0; i < 2; i++) { + for (int i = 0; i < 2; i++, footdata++) { footdata->field_0x6 = 0; footdata->field_0x4 = 0; footdata->field_0x2 = 0; - footdata++; } } @@ -738,7 +720,6 @@ int daAlink_c::procHangClimb() { return 1; } - int daAlink_c::procHangWallCatchInit() { cXyz sp2C = field_0x34ec - current.pos; if (sp2C.absXZ() > mAcchCir[0].GetWallR() + 20.0f) { @@ -776,7 +757,6 @@ int daAlink_c::procHangWallCatchInit() { return 1; } - int daAlink_c::procHangWallCatch() { setHangGroundY(); @@ -795,7 +775,7 @@ int daAlink_c::procHangWallCatch() { int daAlink_c::procHangReadyInit() { if (field_0x2f91 == 3 && mEquipItem != fpcNm_ITEM_NONE) { - return procPreActionUnequipInit(0x5C, NULL); + return procPreActionUnequipInit(PROC_HANG_READY, NULL); } else if (mProcID == PROC_PREACTION_UNEQUIP) { setFrontWallType(); @@ -809,9 +789,8 @@ int daAlink_c::procHangReadyInit() { mProcVar2.field_0x300c = field_0x306e + 0x8000; field_0x3198 = field_0x2f91; - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; + mNormalSpeed = 0.0f; + speed.y = 0.0f; return 1; } @@ -851,9 +830,8 @@ int daAlink_c::procHangLeverDownInit() { mProcVar2.field_0x300c = field_0x27f4->shape_angle.y + 0x8000; field_0x3198 = ANM_CLIMB_JUMP; - f32 tmp_0 = 0.0f; - speed.y = tmp_0; - mNormalSpeed = tmp_0; + speed.y = 0.0f; + mNormalSpeed = 0.0f; return 1; } @@ -892,18 +870,17 @@ int daAlink_c::procHangLeverDown() { } else if (checkAnmEnd(frameCtrl)) { checkNextAction(0); } else if (frameCtrl->getFrame() >= 33.0f) { - field_0x2f92 = 4; + mLeftHandIndex = 4; } else if (frameCtrl->getFrame() >= 31.0f) { - field_0x2f93 = 10; + mRightHandIndex = 10; } return 1; } - -void daAlink_c::changeDragonActor(fopAc_ac_c* param_0) { +void daAlink_c::changeDragonActor(fopAc_ac_c* i_actor) { if (field_0x280c.getActor() != NULL && fopAcM_GetName(field_0x280c.getActor()) == PROC_B_DR) { - field_0x280c.setData(param_0); + field_0x280c.setData(i_actor); } } @@ -933,7 +910,6 @@ int daAlink_c::setDragonHangPos() { return 1; } - int daAlink_c::setOctaIealHangPos() { b_ob_class* boss = (b_ob_class*)field_0x280c.getActor(); if (boss == NULL) { @@ -955,10 +931,10 @@ int daAlink_c::setBossBodyHangPos() { } } -int daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) { +int daAlink_c::procBossBodyHangInit(fopAc_ac_c* i_actor) { commonProcInit(PROC_BOSS_BODY_HANG); - if (fopAcM_GetName(param_0) == PROC_B_DR) { + if (fopAcM_GetName(i_actor) == PROC_B_DR) { field_0x32cc = 1; setSingleAnimeBase(ANM_DRAGON_HANG); setJumpMode(); @@ -970,9 +946,8 @@ int daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) { field_0x3198 = 0x169; deleteEquipItem(TRUE, FALSE); - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - setSpecialGravity(tmp_0, maxFallSpeed, 0); + mNormalSpeed = 0.0f; + setSpecialGravity(0.0f, maxFallSpeed, 0); speed.y = 0.0f; mProcVar2.field_0x300c = 0; @@ -982,10 +957,10 @@ int daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) { mProcVar5.field_0x3012 = 0; field_0x3080 = 0; - field_0x280c.setData(param_0); + field_0x280c.setData(i_actor); setBossBodyHangPos(); - onEndResetFlg1(ERFLG1_GANON_FINISH); + onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); return 1; } @@ -1002,7 +977,7 @@ int daAlink_c::procBossBodyHang() { return procBackJumpInit(0); } else { field_0x3102 = shape_angle.y; - return procCoLargeDamageInit(-6, 1, 0, 0, NULL, 0); + return procCoLargeDamageInit(-6, TRUE, 0, 0, NULL, 0); } } else { field_0x3408 = 0.0f; @@ -1013,7 +988,7 @@ int daAlink_c::procBossBodyHang() { } } else { if (boss->checkDownFlg() && mProcVar2.field_0x300c != 0) { - setDoStatusEmphasys(0x30); + setDoStatusEmphasys(BUTTON_STATUS_FINISH); } daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; @@ -1053,13 +1028,13 @@ int daAlink_c::procBossBodyHang() { } if (mProcVar2.field_0x300c != 0 && - ((dComIfGp_getDoStatus() == 0x30 && doTrigger()) || swordSwingTrigger())) + ((dComIfGp_getDoStatus() == BUTTON_STATUS_FINISH && doTrigger()) || swordSwingTrigger())) { if (mEquipItem != 0x103) { setSwordModel(); } - if (dComIfGp_getDoStatus() == 0x30 && doTrigger()) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_FINISH && doTrigger()) { if (field_0x32cc != 0) { setSingleAnimeBaseMorf(ANM_DRAGON_CUT_FINAL, 3.0f); } else { @@ -1120,19 +1095,19 @@ int daAlink_c::procBossBodyHang() { dComIfGp_setHitMark(mProcVar1.field_0x300a, NULL, &mLeftHandPos, &sp38, NULL, 0); } else if (field_0x3198 == 0x16D) { if (frameCtrl->getFrame() >= 59.0f) { - field_0x2f93 = 9; + mRightHandIndex = 9; } else if (frameCtrl->getFrame() >= 51.0f) { - field_0x2f93 = 10; + mRightHandIndex = 10; } else if (frameCtrl->getFrame() >= 3.0f) { - field_0x2f93 = 5; + mRightHandIndex = 5; } } else if (field_0x3198 == 0x16E) { if (frameCtrl->getFrame() >= 148.0f) { - field_0x2f93 = 9; + mRightHandIndex = 9; } else if (frameCtrl->getFrame() >= 136.0f) { - field_0x2f93 = 10; + mRightHandIndex = 10; } else if (frameCtrl->getFrame() >= 32.0f) { - field_0x2f93 = 5; + mRightHandIndex = 5; } if (frameCtrl->getFrame() >= 117.0f) { @@ -1146,11 +1121,10 @@ int daAlink_c::procBossBodyHang() { } } - onEndResetFlg1(ERFLG1_GANON_FINISH); + onEndResetFlg1(ERFLG1_SHIELD_BACKBONE); return 1; } - int daAlink_c::getLadderUnitCount() const { return (current.pos.y - field_0x34ec.y) * 0.026666667f; } @@ -1174,7 +1148,6 @@ int daAlink_c::setLadderInit() { return procLadderUpStartInit(); } - void daAlink_c::setLadderPosInit() { cXyz sp20; cXyz sp2C; @@ -1221,7 +1194,6 @@ void daAlink_c::setLadderPosInit() { } } - void daAlink_c::setLadderPos(int param_0) { f32 var_f31 = cM_ssin(field_0x306e); f32 var_f30 = cM_scos(field_0x306e); @@ -1233,7 +1205,6 @@ void daAlink_c::setLadderPos(int param_0) { field_0x34ec.z + var_f30 * 38.0f); } - f32 daAlink_c::getLadderMoveAnmSpeed() { return getAnmSpeedStickRate(mpHIO->mLadder.m.mMoveMinASpeed, mpHIO->mLadder.m.mMoveMaxSpeed); @@ -1249,7 +1220,8 @@ int daAlink_c::changeLadderMoveProc(int param_0) { } if (checkInputOnR()) { - int temp_r3 = abs((s16)(field_0x2fe2 - shape_angle.y)); + s16 var_r26 = mMoveAngle - shape_angle.y; + int temp_r3 = abs(var_r26); if (temp_r3 > 0x3000 && temp_r3 < 0x5000) { return 0; } @@ -1261,7 +1233,7 @@ int daAlink_c::changeLadderMoveProc(int param_0) { BOOL var_r30; if (temp_r3 < 0x4000) { - sp2C.y = current.pos.y + field_0x598 + 37.5f; + sp2C.y = current.pos.y + mHeight + 37.5f; var_r30 = false; } else { sp2C.y = (current.pos.y - 37.5f) - 15.0f; @@ -1290,7 +1262,6 @@ int daAlink_c::changeLadderMoveProc(int param_0) { return 0; } - int daAlink_c::setMoveBGLadderCorrect() { if (dComIfG_Bgsp().ChkPolySafe(mPolyInfo1) && dComIfG_Bgsp().ChkMoveBG(mPolyInfo1)) { dComIfG_Bgsp().MoveBgTransPos(mPolyInfo1, true, ¤t.pos, ¤t.angle, &shape_angle); @@ -1309,9 +1280,8 @@ int daAlink_c::setMoveBGLadderCorrect() { return 0; } - int daAlink_c::checkLadderFall() { - setDoStatus(0x33); + setDoStatus(BUTTON_STATUS_DROP_DOWN); if (doTrigger()) { field_0x2f99 = 0; @@ -1357,34 +1327,39 @@ int daAlink_c::procLadderUpStartInit() { return 1; } - int daAlink_c::procLadderUpStart() { if (setMoveBGLadderCorrect()) { return 1; } + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; field_0x2f99 = 6; - if (checkAnmEnd(mUnderFrameCtrl) && !checkLadderFall()) { + if (checkAnmEnd(framectrl) && !checkLadderFall()) { changeLadderMoveProc(1); } return 1; } -int daAlink_c::procLadderUpEndInit(int param_0) { +int daAlink_c::procLadderUpEndInit(BOOL param_0) { commonProcInit(PROC_LADDER_UP_END); - daAlink_ANM anm_id = param_0 != 0 ? ANM_LADDER_UP_END_LEFT : ANM_LADDER_UP_END_RIGHT; + daAlink_ANM anm_id; + if (param_0) { + anm_id = ANM_LADDER_UP_END_LEFT; + } else { + anm_id = ANM_LADDER_UP_END_RIGHT; + } + setSingleAnimeBaseSpeed(anm_id, mpHIO->mLadder.m.mClimbUpEndASpeed, mpHIO->mLadder.m.mClimbUpEndInterp); field_0x2f99 = 14; setSpecialGravity(0.0f, maxFallSpeed, 0); - f32 tmp_0 = 0.0f; - speed.y = tmp_0; - mNormalSpeed = tmp_0; - speedF = tmp_0; + speed.y = 0.0f; + mNormalSpeed = 0.0f; + speedF = 0.0f; field_0x30a0 = -0x0800; field_0x33f4 = -1.0f; @@ -1462,7 +1437,6 @@ int daAlink_c::procLadderDownStartInit() { return 1; } - int daAlink_c::procLadderDownStart() { if (setMoveBGLadderCorrect()) { return 1; @@ -1483,10 +1457,16 @@ int daAlink_c::procLadderDownStart() { return 1; } -int daAlink_c::procLadderDownEndInit(int param_0) { +int daAlink_c::procLadderDownEndInit(BOOL param_0) { commonProcInit(PROC_LADDER_DOWN_END); - daAlink_ANM anm_id = param_0 != 0 ? ANM_LADDER_DOWN_END_LEFT : ANM_LADDER_DOWN_END_RIGHT; + daAlink_ANM anm_id; + if (param_0) { + anm_id = ANM_LADDER_DOWN_END_LEFT; + } else { + anm_id = ANM_LADDER_DOWN_END_RIGHT; + } + setSingleAnimeBaseSpeed(anm_id, mpHIO->mLadder.m.mClimbDownEndASpeed, mpHIO->mLadder.m.mClimbDownEndInterp); field_0x2f99 = 14; @@ -1523,8 +1503,14 @@ int daAlink_c::procLadderDownEnd() { return 1; } -int daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) { - BOOL var_r28 = checkModeFlg(2) ? true : false; +int daAlink_c::procLadderMoveInit(BOOL param_0, BOOL param_1, cXyz* param_2) { + BOOL var_r28; + if (checkModeFlg(2)) { + var_r28 = TRUE; + } else { + var_r28 = FALSE; + } + f32 anm_speed = getLadderMoveAnmSpeed(); commonProcInit(PROC_LADDER_MOVE); @@ -1588,7 +1574,6 @@ int daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) { return 1; } - int daAlink_c::procLadderMove() { if (setMoveBGLadderCorrect()) { return 1; @@ -1623,10 +1608,10 @@ f32 daAlink_c::getClimbMoveSideAnmSpeed() { mpHIO->mLadder.m.mWallHorizontalMaxAnmSpeed); } -BOOL daAlink_c::checkClimbCode(cBgS_PolyInfo& i_poly) { - dBgW_Base* bgw_p = dComIfG_Bgsp().GetBgWBasePointer(i_poly); +BOOL daAlink_c::checkClimbCode(cBgS_PolyInfo& i_polyinfo) { + dBgW_Base* bgw_p = dComIfG_Bgsp().GetBgWBasePointer(i_polyinfo); - return ((dComIfG_Bgsp().GetWallCode(i_poly) == 1 && fabsf(dBgS_GetNY(i_poly)) <= 0.05f) && + return ((dComIfG_Bgsp().GetWallCode(i_polyinfo) == 1 && fabsf(dBgS_GetNY(i_polyinfo)) <= 0.05f) && bgw_p != NULL) && bgw_p->ChkPushPullOk(); } @@ -1657,7 +1642,7 @@ void daAlink_c::setClimbShapeOffset() { sp6C.z = current.pos.z; if (checkModeFlg(0x10000)) { - sp6C.y = current.pos.y + field_0x598 * 0.5f; + sp6C.y = current.pos.y + mHeight * 0.5f; } else { sp6C.y = current.pos.y - 10.0f; } @@ -1693,9 +1678,8 @@ void daAlink_c::setClimbShapeOffset() { } } - int daAlink_c::getClimbDirectionFromAngle() { - s16 angle = field_0x2fe2 - shape_angle.y; + s16 angle = mMoveAngle - shape_angle.y; if (abs(angle) > 0x7000) { return DIR_BACKWARD; } @@ -1717,7 +1701,7 @@ void daAlink_c::changeClimbMoveProc(int param_0) { if (checkInputOnR()) { field_0x2f98 = getClimbDirectionFromAngle(); if (field_0x2f98 == DIR_FORWARD || field_0x2f98 == DIR_BACKWARD) { - cXyz sp44(current.pos.x - cM_ssin(shape_angle.y) * 15.0f, current.pos.y + field_0x598, + cXyz sp44(current.pos.x - cM_ssin(shape_angle.y) * 15.0f, current.pos.y + mHeight, current.pos.z - cM_scos(shape_angle.y) * 15.0f); mLinkRoofChk.SetPos(sp44); @@ -1739,7 +1723,6 @@ void daAlink_c::changeClimbMoveProc(int param_0) { field_0x308c = temp_r29; } - BOOL daAlink_c::checkClimbMoveUpDownProc(int i_direction) { f32 var_f31 = cM_ssin(shape_angle.y); f32 var_f30 = cM_scos(shape_angle.y); @@ -1748,7 +1731,7 @@ BOOL daAlink_c::checkClimbMoveUpDownProc(int i_direction) { return true; } - cXyz sp38(current.pos.x - var_f31 * 30.0f, current.pos.y + field_0x598 + 30.0f + 5.0f, + cXyz sp38(current.pos.x - var_f31 * 30.0f, current.pos.y + mHeight + 30.0f + 5.0f, current.pos.z - var_f30 * 30.0f); cXyz sp44(sp38.x + var_f31 * 80.0f, sp38.y, sp38.z + var_f30 * 80.0f); @@ -1768,38 +1751,36 @@ BOOL daAlink_c::checkClimbMoveUpDownProc(int i_direction) { return true; } - BOOL daAlink_c::checkClimbMoveSideProc(int i_direction) { f32 var_f31 = cM_ssin(shape_angle.y); f32 var_f30 = cM_scos(shape_angle.y); - cXyz sp40(current.pos.x - var_f31 * 30.0f, current.pos.y + field_0x598 * 0.5f, + cXyz line_start(current.pos.x - var_f31 * 30.0f, current.pos.y + mHeight * 0.5f, current.pos.z - var_f30 * 30.0f); if (i_direction == DIR_LEFT) { - sp40.x += var_f30 * 40.0f; - sp40.z -= var_f31 * 40.0f; + line_start.x += var_f30 * 40.0f; + line_start.z -= var_f31 * 40.0f; } else { - sp40.x -= var_f30 * 40.0f; - sp40.z += var_f31 * 40.0f; + line_start.x -= var_f30 * 40.0f; + line_start.z += var_f31 * 40.0f; } - cXyz sp4C(sp40.x + var_f31 * 230.0f, sp40.y, sp40.z + var_f30 * 230.0f); + cXyz line_end(line_start.x + var_f31 * 230.0f, line_start.y, line_start.z + var_f30 * 230.0f); - if (!commonLineCheck(&sp40, &sp4C) || !checkClimbCode(mLinkLinChk)) { + if (!commonLineCheck(&line_start, &line_end) || !checkClimbCode(mLinkLinChk)) { return false; } - cXyz sp58(current.pos); + cXyz prev_pos(current.pos); if (checkBgClimbMove(i_direction)) { - current.pos = sp58; + current.pos = prev_pos; return false; } return true; } - int daAlink_c::setMoveBGClimbCorrect() { if (dComIfG_Bgsp().ChkPolySafe(mPolyInfo1) && dComIfG_Bgsp().ChkMoveBG(mPolyInfo1)) { dComIfG_Bgsp().MoveBgTransPos(mPolyInfo1, true, ¤t.pos, ¤t.angle, &shape_angle); @@ -1816,7 +1797,7 @@ int daAlink_c::setMoveBGClimbCorrect() { f32 var_f31 = cM_ssin(shape_angle.y); f32 var_f30 = cM_scos(shape_angle.y); - cXyz sp50(current.pos.x - var_f31 * 30.0f, current.pos.y + field_0x598 * 0.5f, + cXyz sp50(current.pos.x - var_f31 * 30.0f, current.pos.y + mHeight * 0.5f, current.pos.z - var_f30 * 30.0f); cXyz sp5C(current.pos.x + var_f31 * 200.0f, sp50.y, current.pos.z + var_f30 * 200.0f); cXyz sp68(current.pos.x - var_f31 * 30.0f, current.pos.y, current.pos.z - var_f30 * 30.0f); @@ -1824,13 +1805,15 @@ int daAlink_c::setMoveBGClimbCorrect() { mLinkGndChk.SetPos(&sp68); if (mProcID == PROC_CLIMB_MOVE_UPDOWN) { - sp5C.y = sp50.y = current.pos.y + field_0x598 * 0.9f; + sp50.y = current.pos.y + mHeight * 0.9f; + sp5C.y = sp50.y; if (!commonLineCheck(&sp50, &sp5C) || !checkClimbCode(mLinkLinChk)) { return procClimbWaitInit(1, 0); } - sp5C.y = sp50.y = current.pos.y + field_0x598 * 0.5f; + sp50.y = current.pos.y + mHeight * 0.5f; + sp5C.y = sp50.y; } if (!commonLineCheck(&sp50, &sp5C) || !checkClimbCode(mLinkLinChk) || @@ -1838,29 +1821,29 @@ int daAlink_c::setMoveBGClimbCorrect() { current.pos.y - 15.0f < dComIfG_Bgsp().GroundCross(&mLinkGndChk))) { return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); + } else { + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); + + s16 temp_r29 = tripla.mNormal.atan2sX_Z(); + if (cLib_distanceAngleS(temp_r29, shape_angle.y) <= 0x549F) { + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); + } + + s16 temp_r28 = shape_angle.y; + shape_angle.y = temp_r29 + 0x8000; + + current.pos.x = mLinkLinChk.GetCross().x; + current.pos.z = mLinkLinChk.GetCross().z; + current.angle.y += (s16)(shape_angle.y - temp_r28); + field_0x308c += (s16)(temp_r28 - shape_angle.y); + + mPolyInfo1.SetPolyInfo(mLinkLinChk); } - cM3dGPla sp44; - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp44); - - s16 temp_r29 = sp44.mNormal.atan2sX_Z(); - if (cLib_distanceAngleS(temp_r29, shape_angle.y) <= 0x549F) { - return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); - } - - s16 temp_r28 = shape_angle.y; - shape_angle.y = temp_r29 + 0x8000; - - current.pos.x = mLinkLinChk.GetCross().x; - current.pos.z = mLinkLinChk.GetCross().z; - current.angle.y += (s16)(shape_angle.y - temp_r28); - field_0x308c += (s16)(temp_r28 - shape_angle.y); - - mPolyInfo1.SetPolyInfo(mLinkLinChk); return 0; } - int daAlink_c::checkBgCorrectClimbMove(cXyz* i_startPos, cXyz* i_endPos) { if (commonLineCheck(i_startPos, i_endPos)) { cM3dGPla tri_plane; @@ -1877,22 +1860,19 @@ int daAlink_c::checkBgCorrectClimbMove(cXyz* i_startPos, cXyz* i_endPos) { return 0; } - BOOL daAlink_c::checkClimbRoof(f32 param_0) { cXyz sp44(current.pos.x - cM_ssin(shape_angle.y) * 30.0f, param_0 - 30.0f, current.pos.z - cM_scos(shape_angle.y) * 30.0f); mLinkRoofChk.SetPos(sp44); - if (dComIfG_Bgsp().RoofChk(&mLinkRoofChk) < param_0 + 30.0f && - dComIfG_Bgsp().GetMonkeyBarsCode(mLinkRoofChk)) - { + f32 var_f31 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk); + if (var_f31 < param_0 + 30.0f && dComIfG_Bgsp().GetMonkeyBarsCode(mLinkRoofChk)) { return true; } return false; } - int daAlink_c::checkClimbGround(cXyz* param_0, f32 param_1) { f32 var_f30 = cM_ssin(shape_angle.y); f32 var_f29 = cM_scos(shape_angle.y); @@ -1918,7 +1898,6 @@ int daAlink_c::checkClimbGround(cXyz* param_0, f32 param_1) { return 0; } - BOOL daAlink_c::checkBgClimbMove(int i_direction) { f32 var_r28 = cM_ssin(shape_angle.y); f32 var_r27 = cM_scos(shape_angle.y); @@ -1945,7 +1924,7 @@ BOOL daAlink_c::checkBgClimbMove(int i_direction) { } } - sp98.y += field_0x598; + sp98.y += mHeight; if (i_direction != DIR_RIGHT) { sp8C.set(sp98.x + var_f31, sp98.y, sp98.z + var_f30); @@ -1969,7 +1948,7 @@ BOOL daAlink_c::checkBgClimbMove(int i_direction) { var_f25 + (current.pos.z + var_f30)); mLinkRoofChk.SetPos(sp8C); - f32 var_f29 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - field_0x598; + f32 var_f29 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - mHeight; if (var_f29 < current.pos.y) { current.pos.y = var_f29; } @@ -1978,7 +1957,7 @@ BOOL daAlink_c::checkBgClimbMove(int i_direction) { var_f25 + (current.pos.z - var_f30)); mLinkRoofChk.SetPos(sp8C); - var_f29 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - field_0x598; + var_f29 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - mHeight; if (var_f29 < current.pos.y) { current.pos.y = var_f29; } @@ -1992,7 +1971,7 @@ BOOL daAlink_c::checkBgClimbMove(int i_direction) { if (checkClimbGround(&sp8C, sp98.y)) { current.pos = sp8C; - onResetFlg0(RFLG0_UNK_40000); + onResetFlg0(RFLG0_CLIMB_END_HANG); return procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mStartFrame); } else { current.pos.y -= 30.0f; @@ -2003,15 +1982,14 @@ BOOL daAlink_c::checkBgClimbMove(int i_direction) { return false; } - int daAlink_c::setClimbStartNotGround() { if (mProcID == PROC_HOOKSHOT_FLY) { current.pos.y = mHookshotTopPos.y; mLinkGndChk.SetPos(¤t.pos); f32 gnd_y = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - if (gnd_y < current.pos.y - field_0x598) { - current.pos.y -= field_0x598; + if (gnd_y < current.pos.y - mHeight) { + current.pos.y -= mHeight; } else { current.pos.y = gnd_y + 5.0f; return 0; @@ -2019,7 +1997,7 @@ int daAlink_c::setClimbStartNotGround() { f32 var_f29 = cM_ssin(field_0x306e); f32 var_f28 = cM_scos(field_0x306e); - f32 temp_f1 = (field_0x598 + 5.0f) - 60.0f; + f32 temp_f1 = (mHeight + 5.0f) - 60.0f; cXyz sp6C(mHookshotTopPos.x + var_f29 * 30.0f, current.pos.y + 60.0f, mHookshotTopPos.z + var_f28 * 30.0f); cXyz sp78(mHookshotTopPos.x - var_f29 * 200.0f, sp6C.y, @@ -2032,7 +2010,8 @@ int daAlink_c::setClimbStartNotGround() { } var_f31 += 15.0f; - sp78.y = sp6C.y += 15.0f; + sp6C.y += 15.0f; + sp78.y = sp6C.y; } current.pos.y += var_f31; @@ -2044,7 +2023,6 @@ int daAlink_c::setClimbStartNotGround() { return 1; } - int daAlink_c::procClimbUpStartInit(int param_0) { setFrontWallType(); if (field_0x2f91 != 3) { @@ -2101,7 +2079,6 @@ int daAlink_c::procClimbUpStartInit(int param_0) { return 1; } - int daAlink_c::procClimbUpStart() { if (setMoveBGClimbCorrect()) { return 1; @@ -2126,7 +2103,6 @@ int daAlink_c::procClimbUpStart() { return 1; } - int daAlink_c::procClimbDownStartInit(s16 param_0) { onNoResetFlg3(FLG3_UNK_400000); commonProcInit(PROC_CLIMB_DOWN_START); @@ -2162,7 +2138,6 @@ int daAlink_c::procClimbDownStartInit(s16 param_0) { return 1; } - int daAlink_c::procClimbDownStart() { if (setMoveBGClimbCorrect()) { return 1; @@ -2177,7 +2152,7 @@ int daAlink_c::procClimbDownStart() { mProcVar3.field_0x300e = 1; } - if (field_0x33a8 < 0.2f) { + if (mStickValue < 0.2f) { mProcVar0.field_0x3008 = 0; } @@ -2194,7 +2169,6 @@ int daAlink_c::procClimbDownStart() { return 1; } - int daAlink_c::procClimbMoveUpDownInit(int param_0) { commonProcInit(PROC_CLIMB_MOVE_UPDOWN); current.angle.y = shape_angle.y; @@ -2252,7 +2226,6 @@ int daAlink_c::procClimbMoveUpDownInit(int param_0) { return 1; } - int daAlink_c::procClimbMoveUpDown() { if (setMoveBGClimbCorrect()) { return 1; @@ -2294,7 +2267,6 @@ int daAlink_c::procClimbMoveUpDown() { return 1; } - int daAlink_c::procClimbMoveSideInit() { f32 anm_speed = getClimbMoveSideAnmSpeed(); commonProcInit(PROC_CLIMB_MOVE_SIDE); @@ -2337,7 +2309,6 @@ int daAlink_c::procClimbMoveSideInit() { return 1; } - int daAlink_c::procClimbMoveSide() { f32 var_f30 = current.pos.y; @@ -2383,7 +2354,6 @@ int daAlink_c::procClimbMoveSide() { return 1; } - int daAlink_c::procClimbWaitInit(int param_0, int param_1) { if (!commonProcInitNotSameProc(PROC_CLIMB_WAIT)) { return 0; @@ -2425,7 +2395,6 @@ int daAlink_c::procClimbWaitInit(int param_0, int param_1) { return 1; } - int daAlink_c::procClimbWait() { if (setMoveBGClimbCorrect()) { return 1; @@ -2465,16 +2434,14 @@ int daAlink_c::procClimbWait() { return 1; } - int daAlink_c::procClimbToRoofInit() { commonProcInit(PROC_CLIMB_TO_ROOF); setSingleAnimeBase(ANM_ROOF_UP); setSpecialGravity(0.0f, maxFallSpeed, 0); - f32 tmp_0 = 0.0f; - speed.y = tmp_0; - mNormalSpeed = tmp_0; - speedF = tmp_0; + speed.y = 0.0f; + mNormalSpeed = 0.0f; + speedF = 0.0f; field_0x2f99 = 10; dComIfGp_setPlayerStatus0(0, 8); return 1; @@ -2492,7 +2459,7 @@ int daAlink_c::procClimbToRoof() { if (checkAnmEnd(frameCtrl)) { shape_angle.y += 0x8000; current.angle.y = shape_angle.y; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; setOldRootQuaternion(0, 0x8000, 0); field_0x2060->getOldFrameTransInfo(0)->mTranslate.z *= -1.0f; @@ -2511,7 +2478,6 @@ int daAlink_c::procClimbToRoof() { return 1; } - f32 daAlink_c::getRoofHangFMoveAnmSpeed() const { return getAnmSpeedStickRate(mpHIO->mRoofHang.m.mVertMoveMinASpeed, mpHIO->mRoofHang.m.mVertMoveMaxASpeed); @@ -2523,10 +2489,13 @@ f32 daAlink_c::getRoofHangSMoveAnmSpeed() const { } void daAlink_c::setRoofHangHandOnSE(cBgS_PolyInfo* unused) { - daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; + UNUSED(unused); + + daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; + if (frame_ctrl->checkPass(field_0x3478)) { + return; + } else if (frame_ctrl->checkPass(field_0x347c)) { - if (!frame_ctrl->checkPass(field_0x3478)) { - frame_ctrl->checkPass(field_0x347c); } } @@ -2548,7 +2517,8 @@ int daAlink_c::checkRoofHangMovePos() { current.pos.z + cM_scos(angle) * 60.0f); mLinkRoofChk.SetPos(sp38); - if (dComIfG_Bgsp().RoofChk(&mLinkRoofChk) < sp38.y + 50.0f) { + f32 var_f31 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk); + if (var_f31 < sp38.y + 50.0f) { if (dComIfG_Bgsp().GetMonkeyBarsCode(mLinkRoofChk)) { return true; } @@ -2557,13 +2527,12 @@ int daAlink_c::checkRoofHangMovePos() { return false; } - int daAlink_c::commonRoofHangProc() { if (dComIfG_Bgsp().ChkPolySafe(mPolyInfo2) && dComIfG_Bgsp().ChkMoveBG(mPolyInfo2)) { dComIfG_Bgsp().MoveBgTransPos(mPolyInfo2, true, ¤t.pos, ¤t.angle, &shape_angle); } - setDoStatus(0x33); + setDoStatus(BUTTON_STATUS_DROP_DOWN); if (doTrigger()) { return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); @@ -2585,13 +2554,12 @@ int daAlink_c::commonRoofHangProc() { return 0; } - int daAlink_c::checkNextActionRoofHang() { if (checkInputOnR()) { field_0x2f98 = getDirectionFromShapeAngle(); if (checkAttentionLock()) { - if (field_0x2f98 == 2 || field_0x2f98 == 3) { + if (field_0x2f98 == DIR_LEFT || field_0x2f98 == DIR_RIGHT) { if (checkRoofHangMovePos()) { procRoofHangSideMoveInit(); } else { @@ -2601,11 +2569,11 @@ int daAlink_c::checkNextActionRoofHang() { return 1; } } else { - if (field_0x2f98 == 1) { + if (field_0x2f98 == DIR_BACKWARD) { return procRoofHangTurnInit(); } - field_0x2f98 = 0; + field_0x2f98 = DIR_FORWARD; } if (checkRoofHangMovePos()) { @@ -2620,9 +2588,10 @@ int daAlink_c::checkNextActionRoofHang() { return 1; } - int daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz const& param_1, int param_2) { + bool prev_is_climbToRoof = mProcID == PROC_CLIMB_TO_ROOF; + commonProcInit(PROC_ROOF_HANG_START); setSingleAnimeParam(ANM_ROOF_HANG, &mpHIO->mRoofHang.m.mRoofHangAnm); mPolyInfo2.SetPolyInfo(param_0); @@ -2634,9 +2603,8 @@ int daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz const& p deleteEquipItem(TRUE, FALSE); setSpecialGravity(0.0f, maxFallSpeed, 0); - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; + mNormalSpeed = 0.0f; + speed.y = 0.0f; field_0x2f99 = 0x50; mProcVar0.field_0x3008 = param_2; return 1; @@ -2647,7 +2615,7 @@ int daAlink_c::procRoofHangStart() { return 1; } - if (field_0x33a8 < 0.2f) { + if (mStickValue < 0.2f) { mProcVar0.field_0x3008 = 0; } @@ -2700,7 +2668,7 @@ int daAlink_c::procRoofHangWait() { return 1; } - if (field_0x33a8 < 0.2f) { + if (mStickValue < 0.2f) { mProcVar0.field_0x3008 = 0; } @@ -2746,7 +2714,6 @@ int daAlink_c::procRoofHangFrontMoveInit() { return 1; } - int daAlink_c::procRoofHangFrontMove() { if (commonRoofHangProc()) { return 1; @@ -2758,7 +2725,7 @@ int daAlink_c::procRoofHangFrontMove() { checkNextActionRoofHang(); } else { if (!checkAttentionLock()) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mRoofHang.m.mTurnAngleRate, + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mRoofHang.m.mTurnAngleRate, mpHIO->mRoofHang.m.mMaxTurnAngle, mpHIO->mRoofHang.m.mMinTurnAngle); @@ -2798,12 +2765,13 @@ int daAlink_c::procRoofHangFrontMove() { sp7C.z + temp_f29 * cM_scos(shape_angle.y)); if (commonLineCheck(&sp7C, &sp88) && checkClimbCode(mLinkLinChk)) { - cM3dGPla sp70; - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp70); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); - if (cLib_distanceAngleS(sp70.mNormal.atan2sX_Z(), shape_angle.y) > 0x6000) { - current.pos.x = sp70.mNormal.x * 15.0f + mLinkLinChk.GetCross().x; - current.pos.z = sp70.mNormal.z * 15.0f + mLinkLinChk.GetCross().z; + s16 var_r28 = tripla.mNormal.atan2sX_Z(); + if (cLib_distanceAngleS(var_r28, shape_angle.y) > 0x6000) { + current.pos.x = tripla.mNormal.x * 15.0f + mLinkLinChk.GetCross().x; + current.pos.z = tripla.mNormal.z * 15.0f + mLinkLinChk.GetCross().z; return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } } @@ -2819,7 +2787,6 @@ int daAlink_c::procRoofHangFrontMove() { return 1; } - int daAlink_c::procRoofHangSideMoveInit() { commonProcInit(PROC_ROOF_HANG_SIDE_MOVE); @@ -2836,9 +2803,8 @@ int daAlink_c::procRoofHangSideMoveInit() { mpHIO->mRoofHang.m.mHorizMoveInterp); setSpecialGravity(0.0f, maxFallSpeed, 0); - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; + mNormalSpeed = 0.0f; + speed.y = 0.0f; field_0x3478 = 15.0f; field_0x347c = 28.0f; @@ -2873,19 +2839,19 @@ int daAlink_c::procRoofHangTurnInit() { commonProcInit(PROC_ROOF_HANG_TURN); f32 anm_speed; - if ((s16)(field_0x2fe2 - shape_angle.y) < 0) { + if ((s16)(mMoveAngle - shape_angle.y) < 0) { anm_speed = -mpHIO->mRoofHang.m.mInvertASpeed; mProcVar0.field_0x3008 = 1; shape_angle.y += 0x8000; setOldRootQuaternion(0, -0x8000, 0); field_0x2060->getOldFrameTransInfo(0)->mTranslate.z = -8.899365425109863f; - mProcVar2.field_0x300c = field_0x2fe2; + mProcVar2.field_0x300c = mMoveAngle; field_0x3478 = 0.0f; field_0x347c = 10.0f; } else { anm_speed = mpHIO->mRoofHang.m.mInvertASpeed; mProcVar0.field_0x3008 = 0; - mProcVar2.field_0x300c = field_0x2fe2 + 0x8000; + mProcVar2.field_0x300c = mMoveAngle + 0x8000; field_0x3478 = 10.0f; field_0x347c = 18.5f; } @@ -2894,16 +2860,15 @@ int daAlink_c::procRoofHangTurnInit() { setSingleAnimeBaseSpeed(ANM_ROOF_HANG_TURN, anm_speed, mpHIO->mRoofHang.m.mInvertInterp); if (mProcVar0.field_0x3008 != 0) { - setFaceBasicTexture(FTANM_UNK_4); + setFaceBasicTexture(FTANM_MABA01_L); } else { - setFaceBasicTexture(FTANM_UNK_3); + setFaceBasicTexture(FTANM_MABA03); } field_0x2f98 = 4; setSpecialGravity(0.0f, maxFallSpeed, 0); - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; + mNormalSpeed = 0.0f; + speed.y = 0.0f; dComIfGp_setPlayerStatus1(0, 0x100000); return 1; } @@ -2942,23 +2907,23 @@ void daAlink_c::setRoofHangSwitch() { swhang_p->setHangPlayer(); } -int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) { +int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* i_actor) { commonProcInit(PROC_ROOF_SWITCH_HANG); deleteEquipItem(TRUE, FALSE); setSingleAnimeParam(ANM_ROOF_HANG, &mpHIO->mRoofHang.m.mRoofHangAnm); setSpecialGravity(0.0f, maxFallSpeed, 0); - f32 tmp_0 = 0.0f; - speed.y = tmp_0; - mNormalSpeed = tmp_0; + speed.y = 0.0f; + mNormalSpeed = 0.0f; - field_0x280c.setData(param_0); + field_0x280c.setData(i_actor); setRoofHangSwitch(); - if (cLib_distanceAngleS(param_0->shape_angle.y, shape_angle.y) > 0x4000) { - current.angle.y = param_0->shape_angle.y + 0x8000; + daObjSwHang_c* swhang = (daObjSwHang_c*)i_actor; + if (cLib_distanceAngleS(swhang->getAngleY(), shape_angle.y) > 0x4000) { + current.angle.y = swhang->getAngleY() + 0x8000; } else { - current.angle.y = param_0->shape_angle.y; + current.angle.y = swhang->getAngleY(); } setOldRootQuaternion(0, current.angle.y - shape_angle.y, 0); @@ -2980,7 +2945,7 @@ int daAlink_c::procRoofSwitchHang() { mpHIO->mRoofHang.m.mStandbyInterp); mProcVar2.field_0x300c = 1; } else if (mProcVar2.field_0x300c != 0) { - setDoStatus(0x33); + setDoStatus(BUTTON_STATUS_DROP_DOWN); if (doTrigger()) { procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); diff --git a/src/d/actor/d_a_alink_hook.inc b/src/d/actor/d_a_alink_hook.inc index 00a6cf4ce6..d496148050 100644 --- a/src/d/actor/d_a_alink_hook.inc +++ b/src/d/actor/d_a_alink_hook.inc @@ -18,48 +18,48 @@ enum { }; void daAlink_c::hsChainShape_c::draw() { - daAlink_c* temp_r3 = (daAlink_c*)getUserArea(); - J3DModelData* sp60 = temp_r3->getItemModelData(); - J3DMaterial* sp5C = sp60->getMaterialNodePointer(0); - daAlink_hsChainLight_c* temp_r29 = (daAlink_hsChainLight_c*)&temp_r3->tevStr; + daAlink_c* alink = (daAlink_c*)getUserArea(); + J3DModelData* modelData = alink->getItemModelData(); + J3DMaterial* material = modelData->getMaterialNodePointer(0); + daAlink_hsChainLight_c* chainLight = (daAlink_hsChainLight_c*)&alink->tevStr; - j3dSys.setVtxPos(sp60->getVtxPosArray()); - j3dSys.setVtxNrm(sp60->getVtxNrmArray()); - j3dSys.setVtxCol(sp60->getVtxColorArray(0)); + j3dSys.setVtxPos(modelData->getVtxPosArray()); + j3dSys.setVtxNrm(modelData->getVtxNrmArray()); + j3dSys.setVtxCol(modelData->getVtxColorArray(0)); J3DShape::resetVcdVatCache(); - sp5C->loadSharedDL(); - sp5C->getShape()->loadPreDrawSetting(); + material->loadSharedDL(); + material->getShape()->loadPreDrawSetting(); - GXColor sp58; - sp58.r = temp_r29->AmbCol.r; - sp58.g = temp_r29->AmbCol.g; - sp58.b = temp_r29->AmbCol.b; - sp58.a = temp_r29->AmbCol.a; + GXColor ambColor; + ambColor.r = chainLight->AmbCol.r; + ambColor.g = chainLight->AmbCol.g; + ambColor.b = chainLight->AmbCol.b; + ambColor.a = chainLight->AmbCol.a; - GXSetChanAmbColor(GX_COLOR0A0, sp58); + GXSetChanAmbColor(GX_COLOR0A0, ambColor); GXSetChanMatColor(GX_COLOR0A0, g_whiteColor); dKy_setLight_again(); - dKy_GxFog_tevstr_set(temp_r29); - GXLoadLightObjImm(temp_r29->getLightObj(), GX_LIGHT0); + dKy_GxFog_tevstr_set(chainLight); + GXLoadLightObjImm(chainLight->getLightObj(), GX_LIGHT0); - if (temp_r3->checkIronBallEquip()) { - cXyz* sp54 = temp_r3->getIronBallChainPos(); - csXyz* sp50 = temp_r3->getIronBallChainAngle(); - sp54++; - sp50++; + if (alink->checkIronBallEquip()) { + cXyz* ppos = alink->getIronBallChainPos(); + csXyz* pangle = alink->getIronBallChainAngle(); + ppos++; + pangle++; - for (int i = 0; i < 101; i++, sp54++, sp50++) { + for (int i = 0; i < 101; i++, ppos++, pangle++) { mDoMtx_stack_c::copy(j3dSys.getViewMtx()); - mDoMtx_stack_c::transM(*sp54); - mDoMtx_stack_c::ZXYrotM(*sp50); + mDoMtx_stack_c::transM(*ppos); + mDoMtx_stack_c::ZXYrotM(*pangle); mDoMtx_stack_c::scaleM(2.0f, 2.0f, 2.0f); GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); - sp5C->getShape()->simpleDrawCache(); + material->getShape()->simpleDrawCache(); } cXyz spC8; @@ -75,19 +75,19 @@ void daAlink_c::hsChainShape_c::draw() { s16 spE; if (i == 0) { - sp48 = temp_r3->getIronBallChainPos() + temp_r3->getIronBallHandChainNum(); - spC8 = temp_r3->getIronBallChainHandRootPos() - *sp48; + sp48 = alink->getIronBallChainPos() + alink->getIronBallHandChainNum(); + spC8 = alink->getIronBallChainHandRootPos() - *sp48; - sp44 = temp_r3->getIronBallChainAngle() + temp_r3->getIronBallHandChainNum(); + sp44 = alink->getIronBallChainAngle() + alink->getIronBallHandChainNum(); spE = 0x3000; } else { - sp48 = temp_r3->getIronBallChainPos(); - mDoMtx_stack_c::transS(*(temp_r3->getIronBallChainPos() + 1)); - mDoMtx_stack_c::ZXYrotM(*(temp_r3->getIronBallChainAngle() + 1)); + sp48 = alink->getIronBallChainPos(); + mDoMtx_stack_c::transS(*(alink->getIronBallChainPos() + 1)); + mDoMtx_stack_c::ZXYrotM(*(alink->getIronBallChainAngle() + 1)); mDoMtx_stack_c::multVec(&l_ironBallChainVec, &spC8); spC8 -= *sp48; - sp44 = temp_r3->getIronBallChainAngle() + 1; + sp44 = alink->getIronBallChainAngle() + 1; spE = -0x3000; } @@ -98,7 +98,8 @@ void daAlink_c::hsChainShape_c::draw() { spBC = *sp48; if (var_f29 > 5.0f) { - if (spC8.absXZ() >= 1.0f) { + f32 sp40 = spC8.absXZ(); + if (sp40 >= 1.0f) { sp10 = spC8.atan2sX_Z(); } @@ -114,7 +115,7 @@ void daAlink_c::hsChainShape_c::draw() { GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); - sp5C->getShape()->simpleDrawCache(); + material->getShape()->simpleDrawCache(); spBC += spB0; var_f29 -= 10.0f; @@ -123,8 +124,8 @@ void daAlink_c::hsChainShape_c::draw() { } } } else { - const cXyz& chainRootPos = temp_r3->getHsChainRootPos(); - const cXyz& chainTopPos = temp_r3->getHsChainTopPos(); + const cXyz& chainRootPos = alink->getHsChainRootPos(); + const cXyz& chainTopPos = alink->getHsChainTopPos(); cXyz maxDistance = chainRootPos - chainTopPos; f32 maxDistanceF = maxDistance.abs(); @@ -148,8 +149,8 @@ void daAlink_c::hsChainShape_c::draw() { f32 var_f26 = 0.0f; f32 var_f28; - var_f28 = 2.5f * temp_r3->getHookshotStopTime(); - if (temp_r3->getHookshotStopTime() & 1) { + var_f28 = 2.5f * alink->getHookshotStopTime(); + if (alink->getHookshotStopTime() & 1) { var_f28 *= -1.0f; } @@ -169,7 +170,7 @@ void daAlink_c::hsChainShape_c::draw() { GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); - sp5C->getShape()->simpleDrawCache(); + material->getShape()->simpleDrawCache(); sp64.z += 0x3000; @@ -178,16 +179,16 @@ void daAlink_c::hsChainShape_c::draw() { } } - const cXyz& sp30 = temp_r3->getHsSubChainRootPos(); - const cXyz& sp2C = temp_r3->getHsSubChainTopPos(); - maxDistance = sp30 - sp2C; + const cXyz& subChainRootPos = alink->getHsSubChainRootPos(); + const cXyz& subChainTopPos = alink->getHsSubChainTopPos(); + maxDistance = subChainRootPos - subChainTopPos; f32 temp_f1 = maxDistance.abs(); if (temp_f1 > 1.0f) { maxDistance *= (1.0f / temp_f1); var_f30 = 0.0f; - sp98 = sp2C; + sp98 = subChainTopPos; sp6C.set(maxDistance.atan2sY_XZ(), maxDistance.atan2sX_Z(), 0); while (temp_f1 > var_f30) { @@ -198,7 +199,7 @@ void daAlink_c::hsChainShape_c::draw() { GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); - sp5C->getShape()->simpleDrawCache(); + material->getShape()->simpleDrawCache(); sp98 += maxDistance * 5.0f; sp6C.z += 0x3000; @@ -276,15 +277,21 @@ bool daAlink_c::checkLv7BossRoom() { return checkStageName("D_MN07A"); } -BOOL daAlink_c::checkHookshotStickBG(cBgS_PolyInfo& i_poly) { - if (dComIfG_Bgsp().ChkPolyHSStick(i_poly)) { - dBgW_Base* bgw_p = dComIfG_Bgsp().GetBgWBasePointer(i_poly); +BOOL daAlink_c::checkHookshotStickBG(cBgS_PolyInfo& i_polyinfo) { + #if DEBUG + if (mpHIO->mItem.mHookshot.m.mForceStick) { + return TRUE; + } + #endif + + if (dComIfG_Bgsp().ChkPolyHSStick(i_polyinfo)) { + dBgW_Base* bgw_p = dComIfG_Bgsp().GetBgWBasePointer(i_polyinfo); if (bgw_p != NULL && bgw_p->ChkPushPullOk()) { - return true; + return TRUE; } } - return false; + return FALSE; } void daAlink_c::cancelHookshotCarry() { @@ -296,13 +303,13 @@ void daAlink_c::cancelHookshotCarry() { void daAlink_c::changeHookshotDrawModel() { if (mEquipItem == fpcNm_ITEM_HOOKSHOT && field_0x3020 == 1) { - J3DModel* old_item = mHeldItemModel; + J3DModel* tmp = mHeldItemModel; mHeldItemModel = field_0x0710; - field_0x0710 = old_item; + field_0x0710 = tmp; - J3DModel* old_item2 = mpHookTipModel; + tmp = mpHookTipModel; mpHookTipModel = field_0x0714; - field_0x0714 = old_item2; + field_0x0714 = tmp; } } @@ -346,15 +353,17 @@ BOOL daAlink_c::checkHookshotWait() const { void daAlink_c::setHookshotCatchNow() { field_0x3026 = 5; - dComIfGp_getVibration().StartShock(4, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER4, 1, cXyz(0.0f, 1.0f, 0.0f)); } bool daAlink_c::setHookshotCarryOffset(fpc_ProcID i_carryActorID, cXyz const* i_posOffset) { - if (dComIfGp_checkPlayerStatus1(0, 0x10000)) { - fopAc_ac_c* carryActor_p = mCargoCarryAcKeep.getActor(); + fopAc_ac_c* actor; - if (carryActor_p != NULL && fopAcM_checkHookCarryNow(carryActor_p) && + if (dComIfGp_checkPlayerStatus1(0, 0x10000)) { + actor = mCargoCarryAcKeep.getActor(); + + if (actor != NULL && fopAcM_checkHookCarryNow(actor) && i_carryActorID == mCargoCarryAcKeep.getID()) { field_0x37c8 = *i_posOffset; @@ -362,8 +371,8 @@ bool daAlink_c::setHookshotCarryOffset(fpc_ProcID i_carryActorID, cXyz const* i_ } } - fopAc_ac_c* hookTargetAc_p = mHookTargetAcKeep.getActor(); - if (hookTargetAc_p != NULL && fopAcM_checkHookCarryNow(hookTargetAc_p) && + actor = mHookTargetAcKeep.getActor(); + if (actor != NULL && fopAcM_checkHookCarryNow(actor) && i_carryActorID == mHookTargetAcKeep.getID()) { mIronBallCenterPos = *i_posOffset; @@ -374,20 +383,19 @@ bool daAlink_c::setHookshotCarryOffset(fpc_ProcID i_carryActorID, cXyz const* i_ } void daAlink_c::setHookshotModel() { - J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(0x17E); + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(dRes_ID_ALANM_BCK_HS_SPIN_e); JKRHeap* heap = setItemHeap(); - mItemBck.init(bck, 0, 2, 1.0f, 0, -1, false); + if (!mItemBck.init(bck, FALSE, 2, 1.0f, 0, -1, false)) { + JUT_ASSERT(676, FALSE); + } - J3DModelData* hookModelData = loadAramBmd(0x316, 0x5C00); - mHeldItemModel = initModel(hookModelData, 0x80000, 0); + mHeldItemModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_AL_HS_e, 0x5C00), 0); + mpHookTipModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_AL_HS_TIP_e, 0x3800), 0); + field_0x0710 = initModel(mHeldItemModel->getModelData(), 0); + field_0x0714 = initModel(mpHookTipModel->getModelData(), 0); - J3DModelData* hookTipModelData = loadAramBmd(0x318, 0x3800); - mpHookTipModel = initModel(hookTipModelData, 0x80000, 0); - field_0x0710 = initModel(mHeldItemModel->getModelData(), 0x80000, 0); - field_0x0714 = initModel(mpHookTipModel->getModelData(), 0x80000, 0); - - mpItemModelData = loadAramBmd(0x317, 0x1000); + mpItemModelData = loadAramBmd(dRes_ID_ALANM_BMD_AL_HS_KUSARI_e, 0x1000); mpHookChain = new hsChainShape_c(); mpHookSound = new Z2SoundObjSimple(); @@ -395,8 +403,11 @@ void daAlink_c::setHookshotModel() { mpHookshotLinChk->OffFullGrp(); mpHookshotLinChk->OnWaterGrp(); - J3DAnmTransform* bck2 = (J3DAnmTransform*)loadAram(dRes_ID_ALANM_BCK_HS_TIP_OPEN_e, 0x800); - mHookTipBck.init(bck2, 0, 2, 1.0f, 0, -1, false); + bck = (J3DAnmTransform*)loadAram(dRes_ID_ALANM_BCK_HS_TIP_OPEN_e, 0x800); + if (!mHookTipBck.init(bck, FALSE, 2, 1.0f, 0, -1, false)) { + JUT_ASSERT(701, FALSE); + } + mDoExt_setCurrentHeap(heap); resetHookshotMode(); @@ -424,14 +435,14 @@ void daAlink_c::setHookshotModel() { void daAlink_c::setHookshotSight() { cXyz sight_pos; - f32 length; + f32 max_length; if (checkLv7BossRoom()) { - length = mpHIO->mItem.mHookshot.m.mBossMaxLength; + max_length = mpHIO->mItem.mHookshot.m.mBossMaxLength; } else { - length = mpHIO->mItem.mHookshot.m.mMaxLength; + max_length = mpHIO->mItem.mHookshot.m.mMaxLength; } - BOOL line_cross = checkSightLine(length, &sight_pos); + BOOL line_cross = checkSightLine(max_length, &sight_pos); if (mHookTargetAcKeep.getActor() != NULL) { mSight.setPos(&mHookTargetAcKeep.getActor()->eyePos); @@ -450,8 +461,7 @@ void daAlink_c::setHookshotSight() { if (mHookTargetAcKeep.getActor() != NULL && fopAcM_GetName(mHookTargetAcKeep.getActor()) == PROC_B_DR) { - daB_DR_c* dr_p = (daB_DR_c*)mHookTargetAcKeep.getActor(); - dr_p->onTarget(); + ((daB_DR_c*)mHookTargetAcKeep.getActor())->onTarget(); } } else { mSight.offLockFlg(); @@ -464,7 +474,6 @@ void daAlink_c::setHookshotSight() { field_0x3494 = -1.0f; } - void daAlink_c::cancelHookshotShot() { if (checkHookshotItem(mEquipItem) && (mItemMode == HS_MODE_SHOOT_e || mItemMode == 5 || mItemMode == HS_MODE_FLY_e)) @@ -480,7 +489,7 @@ void daAlink_c::cancelHookshotShot() { bool daAlink_c::cancelHookshotMove() { if (mFastShotTime == 0 && mItemMode == HS_MODE_NONE_e) { if (checkHookshotAnime() && - (mTargetedActor == NULL && !checkAttentionLock() || !itemButton())) + ((mTargetedActor == NULL && !checkAttentionLock()) || !itemButton())) { resetUpperAnime(UPPER_2, -1.0f); return 1; @@ -490,7 +499,6 @@ bool daAlink_c::cancelHookshotMove() { return 0; } - BOOL daAlink_c::checkHookshotReadyMaterialOffMode() const { return mProcID == PROC_HOOKSHOT_WALL_SHOOT || mProcID == PROC_HORSE_HOOKSHOT_SUBJECT || mProcID == PROC_SWIM_HOOKSHOT_SUBJECT || mProcID == PROC_HOOKSHOT_SUBJECT; @@ -511,13 +519,12 @@ void daAlink_c::setHookshotReadyMaterial() { } } -int daAlink_c::initHookshotUpperAnimeSpeed(int param_0) { +int daAlink_c::initHookshotUpperAnimeSpeed(BOOL param_0) { if (checkHookshotWait()) { if (param_0) { - f32 tmp_0 = 0.0f; - mUpperFrameCtrl[2].setRate(tmp_0); - mUpperFrameCtrl[2].setFrame(tmp_0); - getNowAnmPackUpper(UPPER_2)->setFrame(tmp_0); + mUpperFrameCtrl[2].setRate(0.0f); + mUpperFrameCtrl[2].setFrame(0.0f); + getNowAnmPackUpper(UPPER_2)->setFrame(0.0f); } else { setWaterInAnmRate(&mUpperFrameCtrl[2], mpHIO->mItem.mHookshot.m.mWaitAnmSpeed); } @@ -531,26 +538,27 @@ int daAlink_c::initHookshotUpperAnimeSpeed(int param_0) { void daAlink_c::initHookshotReady() { mItemMode = HS_MODE_READY_e; - f32 tmp_0 = 0.0f; - field_0x33e0 = tmp_0; + field_0x33e0 = 0.0f; - dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); mItemVar0.field_0x3018 = 3; field_0x3494 = -1.0f; } void daAlink_c::setHookshotReadyAnime() { - f32 speed; - if (!checkAttentionLock() && mFastShotTime == 0) { - speed = 0.0f; - } else { - speed = mpHIO->mItem.mHookshot.m.mWaitAnmSpeed; - } + { + f32 speed; + if (!checkAttentionLock() && mFastShotTime == 0) { + speed = 0.0f; + } else { + speed = mpHIO->mItem.mHookshot.m.mWaitAnmSpeed; + } - setUpperAnimeBaseSpeed(dRes_INDEX_ALANM_BCK_HSWAIT_e, speed, 3.0f); - field_0x3020 = 0; - initHookshotReady(); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_HSWAIT_e, speed, 3.0f); + field_0x3020 = 0; + initHookshotReady(); + } } int daAlink_c::checkUpperItemActionHookshot() { @@ -589,33 +597,33 @@ int daAlink_c::checkUpperItemActionHookshot() { mNormalSpeed = 0.0f; } } else { - f32 tmp_0 = 0.0f; - mUpperFrameCtrl[2].setRate(tmp_0); - mUpperFrameCtrl[2].setFrame(tmp_0); - getNowAnmPackUpper(UPPER_2)->setFrame(tmp_0); + mUpperFrameCtrl[2].setRate(0.0f); + mUpperFrameCtrl[2].setFrame(0.0f); + getNowAnmPackUpper(UPPER_2)->setFrame(0.0f); - mNormalSpeed = tmp_0; + mNormalSpeed = 0.0f; onModeFlg(1); - mSpeedModifier = tmp_0; - mNowAnmPackUpper[2].setRatio(tmp_0); + mSpeedModifier = 0.0f; + mNowAnmPackUpper[2].setRatio(0.0f); setSingleAnimeParam(ANM_HOOKSHOT_SHOOT, &mpHIO->mItem.mHookshot.m.mShootAnm); } if (!checkNoResetFlg3(FLG3_UNK_4)) { - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartQuake(1, 1, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartQuake(VIBMODE_Q_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); onNoResetFlg3(FLG3_UNK_4); } return 1; } } else if (mItemMode == HS_MODE_NONE_e) { + #if PLATFORM_GCN if (checkModeFlg(0x400) && checkAttentionLock() && mTargetedActor == NULL) { resetUpperAnime(UPPER_2, 3.0f); dComIfGp_clearPlayerStatus0(0, 0x4000); return 1; } + #endif if (checkReadyItem() && itemButton()) { initHookshotReady(); @@ -700,19 +708,19 @@ void daAlink_c::setHookshotReturnEnd() { mNowAnmPackUpper[2].setRatio(1.0f); field_0x2060->initOldFrameMorf(3.0f, field_0x30a8, field_0x30aa); } else if (checkHookshotShootAnime()) { - setUpperAnimeBaseSpeed( - 0x18D, checkAttentionLock() ? mpHIO->mItem.mHookshot.m.mWaitAnmSpeed : 0.0f, 3.0f); + int _; + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_HSWAIT_e, checkAttentionLock() ? mpHIO->mItem.mHookshot.m.mWaitAnmSpeed : 0.0f, 3.0f); } mFastShotTime = 0; } int daAlink_c::setHookshotHangMoveBGCollect() { - cBgS_PolyInfo* poly; - if (mItemMode == 4) { - poly = &mPolyInfo3; + cBgS_PolyInfo* polyinfo; + if (mItemMode == HS_MODE_FLY_e) { + polyinfo = &mPolyInfo3; } else { - poly = &mPolyInfo2; + polyinfo = &mPolyInfo2; } fopAc_ac_c* carry_actor = mCargoCarryAcKeep.getActor(); @@ -727,28 +735,28 @@ int daAlink_c::setHookshotHangMoveBGCollect() { shape_angle.y += (s16)(mProcVar0.field_0x3008 - carry_actor->shape_angle.y); current.angle.y = shape_angle.y; mProcVar0.field_0x3008 = carry_actor->shape_angle.y; - } else if (dComIfG_Bgsp().ChkPolySafe(*poly)) { - if (!checkHookshotStickBG(*poly)) { + } else if (dComIfG_Bgsp().ChkPolySafe(*polyinfo)) { + if (!checkHookshotStickBG(*polyinfo)) { return 0; } - if (dComIfG_Bgsp().ChkMoveBG(*poly)) { - dComIfG_Bgsp().MoveBgTransPos(*poly, 1, ¤t.pos, ¤t.angle, &shape_angle); + if (dComIfG_Bgsp().ChkMoveBG(*polyinfo)) { + dComIfG_Bgsp().MoveBgTransPos(*polyinfo, 1, ¤t.pos, ¤t.angle, &shape_angle); csXyz sp8(0, field_0x3022, 0); - dComIfG_Bgsp().MoveBgTransPos(*poly, 1, &mIronBallBgChkPos, NULL, &sp8); + dComIfG_Bgsp().MoveBgTransPos(*polyinfo, 1, &mIronBallBgChkPos, NULL, &sp8); field_0x3022 = sp8.y; - s16 movebg_name = getMoveBGActorName(*poly, 1); + s16 movebg_name = getMoveBGActorName(*polyinfo, 1); if (movebg_name == PROC_Obj_SwHang) { - daObjSwHang_c* var_r26 = (daObjSwHang_c*)dComIfG_Bgsp().GetActorPointer(*poly); - var_r26->setHangPlayer(); + daObjSwHang_c* swhang = (daObjSwHang_c*)dComIfG_Bgsp().GetActorPointer(*polyinfo); + swhang->setHangPlayer(); f32 prev_y = mIronBallBgChkPos.y; - mIronBallBgChkPos.y = var_r26->getHangPos().y; + mIronBallBgChkPos.y = swhang->getHangPos().y; current.pos.y += mIronBallBgChkPos.y - prev_y; } else if (movebg_name == PROC_Obj_Chandelier) { - ((daObjChandelier_c*)dComIfG_Bgsp().GetActorPointer(*poly))->moveHookOn(); + ((daObjChandelier_c*)dComIfG_Bgsp().GetActorPointer(*polyinfo))->moveHookOn(); } } } else { @@ -784,7 +792,7 @@ void daAlink_c::setHookshotTopPosFly() { static cXyz l_hookSnowSandHitScale(0.5f, 0.5f, 0.5f); void daAlink_c::setHookshotPos() { - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c0)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(mLeftItemJntNo)); mDoMtx_stack_c::transM(-2.0f, 1.0f, 1.0f); mDoMtx_stack_c::XYZrotM(cM_deg2s(5.7f), cM_deg2s(162.0f), 0); @@ -796,7 +804,7 @@ void daAlink_c::setHookshotPos() { } var_r27->setBaseTRMtx(mDoMtx_stack_c::get()); - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c2)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(mRightItemJntNo)); mDoMtx_stack_c::transM(-2.0f, 0.0f, 1.0f); mDoMtx_stack_c::XYZrotM(cM_deg2s(-78.0f), cM_deg2s(182.0f), cM_deg2s(-99.0f)); @@ -808,8 +816,6 @@ void daAlink_c::setHookshotPos() { } var_r27_2->setBaseTRMtx(mDoMtx_stack_c::get()); - cXyz sp134; - if (mItemMode == 2 || mItemMode == HS_MODE_SHOOT_e) { field_0x33dc += 1.0f; @@ -861,15 +867,15 @@ void daAlink_c::setHookshotPos() { fopAc_ac_c* targetAc_p = mHookTargetAcKeep.getActor(); f32 return_speed; f32 shoot_speed; - f32 length; + f32 max_length; if (checkLv7BossRoom()) { return_speed = mpHIO->mItem.mHookshot.m.mBossReturnSpeed; shoot_speed = mpHIO->mItem.mHookshot.m.mBossShootSpeed; - length = mpHIO->mItem.mHookshot.m.mBossMaxLength; + max_length = mpHIO->mItem.mHookshot.m.mBossMaxLength; } else { return_speed = mpHIO->mItem.mHookshot.m.mReturnSpeed; shoot_speed = mpHIO->mItem.mHookshot.m.mShootSpeed; - length = mpHIO->mItem.mHookshot.m.mMaxLength; + max_length = mpHIO->mItem.mHookshot.m.mMaxLength; } if (mItemMode == HS_MODE_RETURN_e) { @@ -996,11 +1002,11 @@ void daAlink_c::setHookshotPos() { } else { mHookTargetAcKeep.clearData(); mItemMode = HS_MODE_RETURN_e; - dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); } } else { mItemMode = HS_MODE_RETURN_e; - dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); } } else { if (checkChaseHookshot()) { @@ -1023,14 +1029,15 @@ void daAlink_c::setHookshotPos() { f32 temp_f1 = sp17C.abs(); sp17C *= 1.0f / temp_f1; - if (temp_f1 >= length - 15.0f) { - mHookshotTopPos = mHeldItemRootPos + (sp17C * (length - 15.0f)); + f32 temp_f26 = max_length - 15.0f; + if (temp_f1 >= temp_f26) { + mHookshotTopPos = mHeldItemRootPos + (sp17C * temp_f26); mItemMode = HS_MODE_RETURN_e; } cXyz sp170; if (field_0x3828.abs2(mHeldItemRootPos) > 400.0f || - current.pos.abs2(field_0x3798) > 1.0f || shape_angle.y != field_0x2fe6) + current.pos.abs2(field_0x3798) > 1.0f || shape_angle.y != mPrevAngleY) { field_0x3028 = 1; } @@ -1069,49 +1076,48 @@ void daAlink_c::setHookshotPos() { } } else { int poly_att0 = dComIfG_Bgsp().GetPolyAtt0(mRopeLinChk); - dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER1, 1, cXyz(0.0f, 1.0f, 0.0f)); mItemMode = HS_MODE_RETURN_e; hit_se = Z2SE_HIT_HOOKSHOT_REBOUND; - cM3dGPla poly; - dComIfG_Bgsp().GetTriPla(mRopeLinChk, &poly); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mRopeLinChk, &tripla); csXyz sp30; if (poly_att0 == 0xD || poly_att0 == 3) { u16 particle_id; if (poly_att0 == 0xD) { - particle_id = 0x881F; + particle_id = dPa_RM(ID_ZI_S_DOWNSNOW_A); } else { - particle_id = 0x881E; + particle_id = dPa_RM(ID_ZI_S_DOWNSAND_A); } - sp30.set(cM_atan2s(poly.mNormal.absXZ(), poly.mNormal.y), - poly.mNormal.atan2sX_Z(), 0); + sp30.set(cM_atan2s(tripla.mNormal.absXZ(), tripla.mNormal.y), + tripla.mNormal.atan2sX_Z(), 0); dComIfGp_particle_setPolyColor( particle_id, mRopeLinChk, mRopeLinChk.GetCrossP(), &tevStr, &sp30, (cXyz*)&l_hookSnowSandHitScale, 0, NULL, -1, NULL); if (poly_att0 == 0xD) { dComIfGp_particle_setPolyColor( - 0x8820, mRopeLinChk, mRopeLinChk.GetCrossP(), &tevStr, &sp30, + dPa_RM(ID_ZI_S_DOWNSNOW_B), mRopeLinChk, mRopeLinChk.GetCrossP(), &tevStr, &sp30, (cXyz*)&l_hookSnowSandHitScale, 0, NULL, -1, NULL); } } else { - sp30.set(cM_atan2s(poly.mNormal.y, poly.mNormal.absXZ()), - cM_atan2s(-poly.mNormal.x, -poly.mNormal.z), 0); + sp30.set(cM_atan2s(tripla.mNormal.y, tripla.mNormal.absXZ()), + cM_atan2s(-tripla.mNormal.x, -tripla.mNormal.z), 0); dComIfGp_setHitMark(9, NULL, mRopeLinChk.GetCrossP(), &sp30, NULL, 0); } } mHookshotTopPos = mRopeLinChk.GetCross() - (mIronBallCenterPos * 15.0f); - cM3dGPla poly; - dComIfG_Bgsp().GetTriPla(mRopeLinChk, &poly); - field_0x316c.set(cM_atan2s(poly.mNormal.y, poly.mNormal.absXZ()), - cM_atan2s(-poly.mNormal.x, -poly.mNormal.z), 0); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mRopeLinChk, &tripla); + field_0x316c.set(cM_atan2s(tripla.mNormal.y, tripla.mNormal.absXZ()), + cM_atan2s(-tripla.mNormal.x, -tripla.mNormal.z), 0); - mZ2Link.startHitItemSE(hit_se, dKy_pol_sound_get(&mRopeLinChk), mpHookSound, - -1.0f); + mZ2Link.startHitItemSE(hit_se, dKy_pol_sound_get(&mRopeLinChk), mpHookSound, -1.0f); } else { seStartOnlyReverbLevel(Z2SE_LK_HS_CHAIN); } @@ -1125,7 +1131,7 @@ void daAlink_c::setHookshotPos() { if (dComIfG_Bgsp().LineCross(mpHookshotLinChk) && dComIfG_Bgsp().GetPolyAtt0(*mpHookshotLinChk) != 6) { - fopKyM_createWpillar(mpHookshotLinChk->GetCrossP(), 0.5f, 0); + fpc_ProcID id = fopKyM_createWpillar(mpHookshotLinChk->GetCrossP(), 0.5f, 0); mDoAud_seStart(Z2SE_CM_BODYFALL_WATER_S, mpHookshotLinChk->GetCrossP(), 0, mVoiceReverbIntensity); } @@ -1159,9 +1165,7 @@ void daAlink_c::setHookshotPos() { if (field_0x3024 == 0) { mDoMtx_stack_c::copy(field_0x0710->getBaseTRMtx()); - mDoMtx_stack_c::transM(cXyz(hookRoot)); - mIronBallBgChkPos = field_0x3810; } bck_frame = 0.0f; @@ -1206,14 +1210,14 @@ void daAlink_c::setHookshotWallWaitAnime() { } void daAlink_c::hookshotRoofTurn() { - BOOL play_sound = false; + BOOL is_play_sound = false; if (!dComIfGp_checkPlayerStatus0(0, 0x2000)) { f32 max_rise_y = (mIronBallBgChkPos.y + 15.0f) - 1.5f; f32 min_descend_y = mIronBallBgChkPos.y - mpHIO->mItem.mHookshot.m.mMaxLength; if (checkInputOnR()) { int stick_direction = getDirectionFromAngle(mStickAngle); - int angle = (int)(1024.0f * field_0x33ac * field_0x33ac); + int angle = (int)(1024.0f * mMoveValue * mMoveValue); if (stick_direction == DIR_LEFT) { shape_angle.y += angle; @@ -1223,15 +1227,15 @@ void daAlink_c::hookshotRoofTurn() { current.angle.y = shape_angle.y; if (stick_direction == DIR_FORWARD) { - current.pos.y += mpHIO->mItem.mHookshot.m.mRoofHangRiseSpeed * field_0x33a8; + current.pos.y += mpHIO->mItem.mHookshot.m.mRoofHangRiseSpeed * mStickValue; if (current.pos.y > max_rise_y) { current.pos.y = max_rise_y; } else { seStartOnlyReverbLevel(Z2SE_AL_HS_HANGING_UP); - play_sound = true; + is_play_sound = true; } } else if (stick_direction == DIR_BACKWARD) { - f32 descend_speed = mpHIO->mItem.mHookshot.m.mRoofHangDecendSpeed * field_0x33ac; + f32 descend_speed = mpHIO->mItem.mHookshot.m.mRoofHangDecendSpeed * mMoveValue; if (checkBootsOrArmorHeavy()) { descend_speed *= 1.5f; } @@ -1241,7 +1245,7 @@ void daAlink_c::hookshotRoofTurn() { current.pos.y = min_descend_y; } else { seStartOnlyReverbLevel(Z2SE_AL_HS_HANGING_DOWN); - play_sound = true; + is_play_sound = true; } } } @@ -1260,7 +1264,7 @@ void daAlink_c::hookshotRoofTurn() { } } - if (play_sound) { + if (is_play_sound) { if (!checkNoResetFlg3(FLG3_UNK_4)) { dComIfGp_getVibration().StartQuake(1, 1, cXyz(0.0f, 1.0f, 0.0f)); onNoResetFlg3(FLG3_UNK_4); @@ -1304,7 +1308,7 @@ int daAlink_c::checkNextHookPoint() { } else if (dComIfGp_checkPlayerStatus1(0, 0x10000) && checkHookshotRoofLv7Boss()) { if (!fopAcM_checkHookCarryNow(mCargoCarryAcKeep.getActor())) { field_0x3102 = shape_angle.y; - return procCoLargeDamageInit(-6, 1, 0, 0, NULL, 0); + return procCoLargeDamageInit(-6, TRUE, 0, 0, NULL, 0); } } @@ -1340,9 +1344,7 @@ int daAlink_c::commonHookshotRoofWait() { setJumpMode(); if (mProcVar4.field_0x3010 != 0) { mCargoCarryAcKeep.setActor(); - fopAc_ac_c* carryAc_p = mCargoCarryAcKeep.getActor(); - - if (carryAc_p == NULL || !fopAcM_checkHookCarryNow(carryAc_p)) { + if (mCargoCarryAcKeep.getActor() == NULL || !fopAcM_checkHookCarryNow(mCargoCarryAcKeep.getActor())) { return checkNextHookPoint(); } } @@ -1367,7 +1369,12 @@ int daAlink_c::commonHookshotRoofWait() { int daAlink_c::commonHookshotWallWait() { setJumpMode(); - return checkLandHookshotHang() ? TRUE : FALSE; + + if (checkLandHookshotHang()) { + return TRUE; + } else { + return FALSE; + } } int daAlink_c::procHookshotSubjectInit() { @@ -1388,10 +1395,9 @@ int daAlink_c::procHookshotSubjectInit() { return 1; } - int daAlink_c::procHookshotSubject() { if (checkHookshotWait()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } setShapeAngleToAtnActor(0); @@ -1461,7 +1467,7 @@ int daAlink_c::procHookshotFlyInit() { commonProcInit(PROC_HOOKSHOT_FLY); if (!checkNoResetFlg0(FLG0_SWIM_UP)) { - onNoResetFlg0(FLG0_UNDERWATER); + onNoResetFlg0(FLG0_WATER_IN_MOVE); } daAlink_ANM anm; @@ -1500,7 +1506,6 @@ int daAlink_c::procHookshotFlyInit() { return 1; } - int daAlink_c::procHookshotFly() { fopAc_ac_c* targetAc_p = mHookTargetAcKeep.getActor(); @@ -1511,11 +1516,11 @@ int daAlink_c::procHookshotFly() { targetAc_name = PROC_ALINK; } - BOOL var_r29 = 0; + BOOL var_r29 = FALSE; if (targetAc_name == PROC_Obj_SwHang) { int swhang_type = static_cast(targetAc_p)->getType(); if (swhang_type == 3 || swhang_type == 4) { - var_r29 = 1; + var_r29 = TRUE; } } @@ -1556,20 +1561,20 @@ int daAlink_c::procHookshotFly() { dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); return procBossBodyHangInit(targetAc_p); } else { - cM3dGPla poly; - BOOL var_r28 = 0; - BOOL var_r27 = 0; - BOOL force_fall = checkStageName("D_MN10") && fopAcM_GetRoomNo(this) == 4; + cM3dGPla tripla; + BOOL var_r28 = FALSE; + BOOL var_r27 = FALSE; + BOOL is_force_fall = checkStageName("D_MN10") && fopAcM_GetRoomNo(this) == 4; if (mProcVar2.field_0x300c == 4 && dComIfG_Bgsp().ChkPolySafe(mPolyInfo2)) { - var_r28 = dComIfG_Bgsp().GetTriPla(mPolyInfo2, &poly); - var_r27 = cBgW_CheckBRoof(poly.mNormal.y); + var_r28 = dComIfG_Bgsp().GetTriPla(mPolyInfo2, &tripla); + var_r27 = cBgW_CheckBRoof(tripla.mNormal.y); if (!checkHookshotStickBG(mPolyInfo2)) { - var_r28 = 0; + var_r28 = FALSE; } } - if (!force_fall && !mLinkAcch.ChkGroundHit() && !var_r27 && checkFrontWallTypeAction()) + if (!is_force_fall && !mLinkAcch.ChkGroundHit() && !var_r27 && checkFrontWallTypeAction()) { voiceStart(Z2SE_AL_V_CLIMB); dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); @@ -1587,23 +1592,22 @@ int daAlink_c::procHookshotFly() { } if (var_r28 && !var_r27) { - cXyz sp94(mHookshotTopPos.x + poly.mNormal.x * 35.0f, mHookshotTopPos.y + 5.0f, - mHookshotTopPos.z + poly.mNormal.z * 35.0f); + cXyz sp94(mHookshotTopPos.x + tripla.mNormal.x * 35.0f, mHookshotTopPos.y + 5.0f, + mHookshotTopPos.z + tripla.mNormal.z * 35.0f); mLinkGndChk.SetPos(&sp94); - if (dComIfG_Bgsp().GroundCross(&mLinkGndChk) > mHookshotTopPos.y - 150.0f || - force_fall) - { + f32 temp_f29 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); + if (temp_f29 > mHookshotTopPos.y - 150.0f || is_force_fall) { current.pos.x = sp94.x; current.pos.z = sp94.z; - force_fall = true; + is_force_fall = true; } } setJumpMode(); if (mLinkAcch.ChkGroundHit()) { checkNextAction(0); - } else if (force_fall) { + } else if (is_force_fall) { procFallInit(1, 5.0f); field_0x2f99 = 0x70; } else if (targetAc_name == PROC_E_PH || targetAc_name == PROC_B_DR || var_r29) { @@ -1617,8 +1621,8 @@ int daAlink_c::procHookshotFly() { procRoofHangStartInit(mPolyInfo2, sp88, 0); } else if (var_r28 && var_r27) { procHookshotRoofWaitInit(1, NULL, mProcVar5.field_0x3012); - } else if (var_r28 && field_0x2f91 != 3 && fabsf(poly.mNormal.y) < 0.05f) { - procHookshotWallWaitInit(1, poly.mNormal.atan2sX_Z(), mProcVar5.field_0x3012); + } else if (var_r28 && field_0x2f91 != 3 && fabsf(tripla.mNormal.y) < 0.05f) { + procHookshotWallWaitInit(1, tripla.mNormal.atan2sX_Z(), mProcVar5.field_0x3012); } else { procFallInit(1, 5.0f); field_0x2f99 = 0x70; @@ -1641,8 +1645,7 @@ int daAlink_c::procHookshotFly() { return 1; } - -int daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, int param_2) { +int daAlink_c::procHookshotRoofWaitInit(BOOL param_0, fopAc_ac_c* param_1, int param_2) { commonProcInit(PROC_HOOKSHOT_ROOF_WAIT); if (param_0) { @@ -1687,14 +1690,13 @@ int daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, int pa mProcVar5.field_0x3012 = param_2; dComIfGp_setPlayerStatus1(0, 0x10000); - field_0x814.SetWeight(255); + mCcStts.SetWeight(255); return 1; } - int daAlink_c::procHookshotRoofWait() { if (dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x80)) { - if (checkSubjectEnd(1)) { + if (checkSubjectEnd(TRUE)) { dComIfGp_clearPlayerStatus0(0, 0x2000); mBodyAngle.y = 0; mBodyAngle.x = 0; @@ -1718,7 +1720,7 @@ int daAlink_c::procHookshotRoofWait() { } if (!checkHookshotRoofLv7Boss() || !checkBootsOrArmorHeavy()) { - setDoStatusEmphasys(1); + setDoStatusEmphasys(BUTTON_STATUS_LET_GO); if (doTrigger()) { return procFallInit(1, 5.0f); @@ -1735,7 +1737,7 @@ int daAlink_c::procHookshotRoofWait() { } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (frameCtrl_p->checkAnmEnd() || + if (checkAnmEnd(frameCtrl_p) || ((checkInputOnR() || mProcVar5.field_0x3012 != 0 || checkHookshotRoofLv7Boss()) && frameCtrl_p->getFrame() > mpHIO->mItem.mHookshot.m.mRoofHangAnm.mCancelFrame)) { @@ -1752,7 +1754,6 @@ int daAlink_c::procHookshotRoofWait() { return 1; } - int daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) { commonProcInit(PROC_HOOKSHOT_ROOF_SHOOT); @@ -1776,16 +1777,15 @@ int daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) { dComIfGp_setPlayerStatus1(0, 0x10000); dComIfGp_setPlayerStatus0(0, 0x4000); - field_0x814.SetWeight(255); + mCcStts.SetWeight(255); mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = mBodyAngle.x; return 1; } - int daAlink_c::procHookshotRoofShoot() { if (checkHookshotWait()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (commonHookshotRoofWait()) { @@ -1846,7 +1846,6 @@ int daAlink_c::procHookshotRoofShoot() { return 1; } - int daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) { commonProcInit(PROC_HOOKSHOT_ROOF_BOOTS); @@ -1869,18 +1868,17 @@ int daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) { dComIfGp_setPlayerStatus1(0, 0x10000); - field_0x814.SetWeight(255); + mCcStts.SetWeight(255); return 1; } - int daAlink_c::procHookshotRoofBoots() { if (commonHookshotRoofWait()) { return 1; } if (!checkHookshotRoofLv7Boss() || !checkBootsOrArmorHeavy()) { - setDoStatusEmphasys(1); + setDoStatusEmphasys(BUTTON_STATUS_LET_GO); if (doTrigger()) { return procFallInit(1, 5.0f); @@ -1888,7 +1886,7 @@ int daAlink_c::procHookshotRoofBoots() { } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (frameCtrl_p->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl_p)) { return procHookshotRoofWaitInit(0, mCargoCarryAcKeep.getActor(), 0); } @@ -1901,13 +1899,13 @@ int daAlink_c::procHookshotRoofBoots() { return 1; } - int daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) { commonProcInit(PROC_HOOKSHOT_WALL_WAIT); if (param_0) { - cXyz sp28; setOldRootQuaternion(0, -0x8000, 0); + + cXyz sp28; mDoMtx_stack_c::ZXYrotS(field_0x301c, field_0x301e, 0); mDoMtx_stack_c::multVec(&cXyz::BaseZ, &sp28); current.pos = mHookshotTopPos + (sp28 * 15.0f); @@ -1952,10 +1950,9 @@ int daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) { return 1; } - int daAlink_c::procHookshotWallWait() { if (dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x80)) { - if (checkSubjectEnd(1)) { + if (checkSubjectEnd(TRUE)) { dComIfGp_clearPlayerStatus0(0, 0x2000); mBodyAngle.x = 0; offModeFlg(0x60000000); @@ -1963,12 +1960,12 @@ int daAlink_c::procHookshotWallWait() { s16 old_angle = shape_angle.y; shape_angle.y = field_0x310c; setBodyAngleToCamera(); - shape_angle.y = old_angle; - if ((s16)(field_0x310c - shape_angle.y) > 0x4000) { + old_angle = field_0x310c - shape_angle.y; + if (old_angle > 0x4000) { field_0x310c = shape_angle.y + 0x4000; - } else if ((s16)(field_0x310c - shape_angle.y) < -0x4000) { + } else if (old_angle < -0x4000) { field_0x310c = shape_angle.y - 0x4000; } } @@ -1987,7 +1984,7 @@ int daAlink_c::procHookshotWallWait() { return 1; } - setDoStatusEmphasys(1); + setDoStatusEmphasys(BUTTON_STATUS_LET_GO); if (doTrigger()) { return procFallInit(1, 5.0f); @@ -2001,7 +1998,7 @@ int daAlink_c::procHookshotWallWait() { } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (frameCtrl_p->checkAnmEnd() || + if (checkAnmEnd(frameCtrl_p) || ((checkInputOnR() || mProcVar5.field_0x3012 != 0) && frameCtrl_p->getFrame() > mpHIO->mItem.mHookshot.m.mWallHangAnm.mCancelFrame)) { @@ -2015,7 +2012,6 @@ int daAlink_c::procHookshotWallWait() { return 1; } - int daAlink_c::procHookshotWallShootInit() { commonProcInit(PROC_HOOKSHOT_WALL_SHOOT); @@ -2044,10 +2040,9 @@ int daAlink_c::procHookshotWallShootInit() { return 1; } - int daAlink_c::procHookshotWallShoot() { if (checkHookshotWait()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (commonHookshotWallWait()) { @@ -2102,9 +2097,10 @@ int daAlink_c::procHookshotWallShoot() { mProcVar2.field_0x300c = 0; } - if ((s16)(shape_angle.y - old_angle) > 0x4000) { + s16 var_r27 = shape_angle.y - old_angle; + if (var_r27 > 0x4000) { shape_angle.y = old_angle + 0x4000; - } else if ((s16)(shape_angle.y - old_angle) < -0x4000) { + } else if (var_r27 < -0x4000) { shape_angle.y = old_angle - 0x4000; } diff --git a/src/d/actor/d_a_alink_horse.inc b/src/d/actor/d_a_alink_horse.inc index 35a6b655fe..2e40fd21c4 100644 --- a/src/d/actor/d_a_alink_horse.inc +++ b/src/d/actor/d_a_alink_horse.inc @@ -10,11 +10,11 @@ #include "d/actor/d_a_obj_iceleaf.h" #include "d/actor/d_a_spinner.h" -static void* daAlink_searchBoar(fopAc_ac_c* i_actor, void*) { - if (fopAcM_GetName(i_actor) == PROC_E_WB) { - e_wb_class* e_wb_p = (e_wb_class*)i_actor; +static void* daAlink_searchBoar(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); - if (e_wb_p->getModel() != NULL) { + if (fopAcM_GetName(i_actor) == PROC_E_WB) { + if (((e_wb_class*)i_actor)->getModel() != NULL) { return i_actor; } } @@ -22,7 +22,9 @@ static void* daAlink_searchBoar(fopAc_ac_c* i_actor, void*) { return NULL; } -static fopAc_ac_c* daAlink_searchCoach(fopAc_ac_c* i_actor, void*) { +static fopAc_ac_c* daAlink_searchCoach(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_NPC_COACH) { return i_actor; } @@ -40,8 +42,10 @@ BOOL daAlink_c::checkHorseZeldaBowMode() { } void daAlink_c::setHorseZeldaDamage() { + daHoZelda_c* zelda_p; + if (dComIfGp_getHorseActor() != NULL) { - daHoZelda_c* zelda_p = dComIfGp_getHorseActor()->getZeldaActor(); + zelda_p = dComIfGp_getHorseActor()->getZeldaActor(); if (zelda_p != NULL) { zelda_p->setDamageInit(); } @@ -94,9 +98,8 @@ int daAlink_c::checkReinRideBgCheck() { int direction = getReinRideDirection(); - fopAc_ac_c* temp_r4 = field_0x27f4; const Vec* offset_p; - if (fopAcM_GetName(temp_r4) == PROC_HORSE) { + if (fopAcM_GetName(field_0x27f4) == PROC_HORSE) { if (direction == DIR_BACKWARD) { offset_p = &horseLocalBack; } else if (direction == DIR_LEFT) { @@ -110,25 +113,26 @@ int daAlink_c::checkReinRideBgCheck() { offset_p = &boarLocalRight; } - cXyz sp2C; - cXyz sp38(temp_r4->current.pos.x, temp_r4->current.pos.y, temp_r4->current.pos.z); + cXyz line_start_pos; + cXyz line_end_pos(field_0x27f4->current.pos.x, field_0x27f4->current.pos.y, field_0x27f4->current.pos.z); mDoMtx_stack_c::transS(field_0x27f4->current.pos); mDoMtx_stack_c::YrotM(field_0x27f4->shape_angle.y); - mDoMtx_stack_c::multVec(offset_p, &sp2C); + mDoMtx_stack_c::multVec(offset_p, &line_start_pos); dBgS_AcchCir* acchcir_p = mAcchCir; for (int i = 0; i < 6; i++) { - sp38.y = sp2C.y = current.pos.y + acchcir_p->GetWallH(); + line_start_pos.y = current.pos.y + acchcir_p->GetWallH(); + line_end_pos.y = line_start_pos.y; - if (commonLineCheck(&sp2C, &sp38)) { + if (commonLineCheck(&line_start_pos, &line_end_pos)) { return 0; } if (i == 2) { acchcir_p = mAcchCir; - sp2C.x = current.pos.x; - sp2C.z = current.pos.z; + line_start_pos.x = current.pos.x; + line_start_pos.z = current.pos.z; } else { acchcir_p++; } @@ -152,28 +156,28 @@ void daAlink_c::commonInitForceRideRein() { } int daAlink_c::initForceRideBoar() { - e_wb_class* e_wb = (e_wb_class*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchBoar, NULL); - fopAc_ac_c* e_wb_actor = (fopAc_ac_c*)e_wb; + e_wb_class* boar = (e_wb_class*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchBoar, NULL); + fopAc_ac_c* boar_actor = (fopAc_ac_c*)boar; - if (e_wb == NULL) { + if (boar == NULL) { return 0; } commonInitForceRideRein(); - e_wb_actor->current.pos = current.pos; - e_wb_actor->shape_angle.y = shape_angle.y; - e_wb_actor->current.angle.y = shape_angle.y; - mRideStatus = 2; + boar_actor->current.pos = current.pos; + boar_actor->shape_angle.y = shape_angle.y; + boar_actor->current.angle.y = shape_angle.y; + mRideStatus = RIDETYPE_BOAR; - mRideAcKeep.setData(e_wb_actor); + mRideAcKeep.setData(boar_actor); field_0x384c = (cXyz*)&l_boarBaseAnime; - e_wb->setPlayerRide(); + boar->setPlayerRide(); return 1; } void daAlink_c::initForceRideHorse() { commonInitForceRideRein(); - mRideStatus = 1; + mRideStatus = RIDETYPE_HORSE; mRideAcKeep.setData(dComIfGp_getHorseActor()); field_0x384c = (cXyz*)&l_horseBaseAnime; dComIfGp_getHorseActor()->onRideFlg(); @@ -217,7 +221,7 @@ void daAlink_c::rideGetOff() { } mRideStatus = 0; - offNoResetFlg1(FLG1_UNK_1800); + offNoResetFlg1(daPy_FLG1(FLG1_UNK_1000 | FLG1_UNK_800)); attention_info.field_0xa = 10; shape_angle.x = 0; shape_angle.z = 0; @@ -270,16 +274,16 @@ BOOL daAlink_c::checkHorseSubjectivity() const { } void daAlink_c::setHorseSwordUpAnime() { - setUpperAnimeBaseSpeed(0xCC, mpHIO->mHorse.m.mSwordUpAnmSpeed, + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_DASHHBSUP_e, mpHIO->mHorse.m.mSwordUpAnmSpeed, mpHIO->mHorse.m.mSwordUpInterpolation); - setFaceBck(0xE8, 1, 0xFFFF); + setFacePriBck(dRes_ID_ALANM_BCK_FAT_e); } -void daAlink_c::setHorseTurnUpperAnime(int i_useLAnime) { - if (checkHorseNoUpperAnime() || (i_useLAnime == FALSE && checkHorseTurnRAnime()) || - (i_useLAnime == TRUE && checkHorseTurnLAnime())) +void daAlink_c::setHorseTurnUpperAnime(BOOL i_isTurnL) { + if (checkHorseNoUpperAnime() || (!i_isTurnL && checkHorseTurnRAnime()) || + (i_isTurnL == TRUE && checkHorseTurnLAnime())) { - setUpperAnimeBaseMorf(!i_useLAnime ? (u16)0x24C : (u16)0x24D, 4.0f); + setUpperAnimeBaseMorf(!i_isTurnL ? (u16)dRes_ID_ALANM_BCK_TURNLS_e : (u16)dRes_ID_ALANM_BCK_TURNRS_e, 4.0f); } } @@ -287,17 +291,17 @@ BOOL daAlink_c::checkHorseNoUpperAnime() const { return checkHorseTiredAnime() || checkNoUpperAnime() || checkHorseSwordUpAnime(); } -void daAlink_c::getHorseReinHandPos(cXyz* param_0, cXyz* param_1) { +void daAlink_c::getHorseReinHandPos(cXyz* o_handPosA, cXyz* o_handPosB) { int hand_type = getReinHandType(); if (hand_type == 2) { - mDoMtx_multVec(getRightHandMatrix(), &m_handRightInSidePos, param_0); - mDoMtx_multVec(getRightHandMatrix(), &m_handRightOutSidePos, param_1); + mDoMtx_multVec(getRightHandMatrix(), &m_handRightInSidePos, o_handPosA); + mDoMtx_multVec(getRightHandMatrix(), &m_handRightOutSidePos, o_handPosB); } else if (hand_type == 1) { - mDoMtx_multVec(getLeftHandMatrix(), &m_handLeftOutSidePos, param_0); - mDoMtx_multVec(getLeftHandMatrix(), &m_handLeftInSidePos, param_1); + mDoMtx_multVec(getLeftHandMatrix(), &m_handLeftOutSidePos, o_handPosA); + mDoMtx_multVec(getLeftHandMatrix(), &m_handLeftInSidePos, o_handPosB); } else { - mDoMtx_multVec(getLeftHandMatrix(), &m_handLeftOutSidePos, param_0); - mDoMtx_multVec(getRightHandMatrix(), &m_handRightOutSidePos, param_1); + mDoMtx_multVec(getLeftHandMatrix(), &m_handLeftOutSidePos, o_handPosA); + mDoMtx_multVec(getRightHandMatrix(), &m_handRightOutSidePos, o_handPosB); } } @@ -322,8 +326,8 @@ BOOL daAlink_c::checkHorseNotGrab() const { } void daAlink_c::setHorseStirrup() { - daHorse_c* temp_r3 = dComIfGp_getHorseActor(); - if (temp_r3 == NULL || (!checkHorseRide() && (mProcID != PROC_TOOL_DEMO || field_0x2fab == 0))) { + daHorse_c* horse = dComIfGp_getHorseActor(); + if (horse == NULL || (!checkHorseRide() && (mProcID != PROC_TOOL_DEMO || field_0x2fab == 0))) { return; } @@ -331,25 +335,25 @@ void daAlink_c::setHorseStirrup() { mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30bc)); mDoMtx_stack_c::transM(-2.0f, -11.0f, 1.5f); mDoMtx_stack_c::ZXYrotM(NULL, -0x8000, 0x4000); - mDoMtx_copy(mDoMtx_stack_c::get(), temp_r3->getLeftStirrupMtx()); + mDoMtx_copy(mDoMtx_stack_c::get(), horse->getLeftStirrupMtx()); } if (field_0x2fab & 2) { mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30be)); mDoMtx_stack_c::transM(-2.0f, 11.0f, 1.5f); mDoMtx_stack_c::ZrotM(-0x4000); - mDoMtx_copy(mDoMtx_stack_c::get(), temp_r3->getRightStirrupMtx()); + mDoMtx_copy(mDoMtx_stack_c::get(), horse->getRightStirrupMtx()); } if (field_0x2fab & 3) { - temp_r3->calcWeightEnvMtx(); + horse->calcWeightEnvMtx(); } - int temp_r3_4 = getReinHandType(); - if (temp_r3_4 == 0) { - temp_r3->setReinPosNormal(); - } else if (temp_r3_4 != -1) { - temp_r3->setReinPosHand(temp_r3_4); + int hand_type = getReinHandType(); + if (hand_type == 0) { + horse->setReinPosNormal(); + } else if (hand_type != -1) { + horse->setReinPosHand(hand_type); } } @@ -424,8 +428,8 @@ int daAlink_c::setSyncHorsePos() { } int daAlink_c::setSyncBoarPos() { - e_wb_class* e_wb_p = (e_wb_class*)mRideAcKeep.getActor(); - if (e_wb_p == NULL) { + e_wb_class* boar = (e_wb_class*)mRideAcKeep.getActor(); + if (boar == NULL) { if (mProcID == PROC_DEAD || mProcID == PROC_GET_ITEM) { return 1; } @@ -442,18 +446,18 @@ int daAlink_c::setSyncBoarPos() { } if (mProcID != PROC_DEAD && mProcID != PROC_GET_ITEM) { - if (e_wb_p == NULL || e_wb_p->checkDownDamage()) { + if (boar == NULL || boar->checkDownDamage()) { boarForceGetOff(); return 0; } - if (!e_wb_p->checkNormalRideMode() && mProcID != PROC_BOAR_RUN) { + if (!boar->checkNormalRideMode() && mProcID != PROC_BOAR_RUN) { procBoarRunInit(); return 0; } } - MtxP ride_mtx = e_wb_p->getRideMtx(); + MtxP ride_mtx = boar->getRideMtx(); field_0x2f99 = 0x60; mDoMtx_multVec(ride_mtx, &l_localBoarRidePos, ¤t.pos); @@ -470,18 +474,20 @@ int daAlink_c::setSyncBoarPos() { } int daAlink_c::setSyncBoarRunPos() { - e_wb_class* e_wb_p = (e_wb_class*)mRideAcKeep.getActor(); - if (e_wb_p == NULL || e_wb_p->checkDownDamage()) { + e_wb_class* boar = (e_wb_class*)mRideAcKeep.getActor(); + fopAc_ac_c* boar_actor = &boar->mEnemy; + + if (boar == NULL || boar->checkDownDamage()) { boarForceGetOff(); return 0; } - if (e_wb_p->checkNormalRideMode()) { + if (boar->checkNormalRideMode()) { procHorseWaitInit(); return 0; } - MtxP ride_mtx = e_wb_p->getRideMtx(); + MtxP ride_mtx = boar->getRideMtx(); field_0x2f99 = 0x60; static const Vec localOffset = {-30.0f, -18.0f, 0.0f}; @@ -495,8 +501,8 @@ int daAlink_c::setSyncBoarRunPos() { current.angle.y = shape_angle.y; if (mProcID == PROC_BOAR_RUN && mProcVar3.field_0x300e != 0) { - mUnderFrameCtrl[0].setFrame(e_wb_p->nowAnimeFrame()); - getNowAnmPackUnder(UNDER_0)->setFrame(e_wb_p->nowAnimeFrame()); + mUnderFrameCtrl[0].setFrame(boar->nowAnimeFrame()); + getNowAnmPackUnder(UNDER_0)->setFrame(boar->nowAnimeFrame()); } return 1; @@ -511,94 +517,96 @@ BOOL daAlink_c::setSyncRidePos() { } void daAlink_c::setHorseTurnAnime() { - daHorse_c* temp_r3 = dComIfGp_getHorseActor(); - u16 temp_r3_2 = temp_r3->getAnmIdx(0); + daHorse_c* horse = dComIfGp_getHorseActor(); + u16 anm_idx = horse->getAnmIdx(0); - daAlink_ANM var_r31; - if (temp_r3_2 == 0xC) { - var_r31 = ANM_HORSE_JUMP_START; - } else if (temp_r3_2 == 0xB) { - var_r31 = ANM_HORSE_JUMP; - } else if (temp_r3_2 == 0xA) { - var_r31 = ANM_HORSE_JUMP_LAND; - } else if (temp_r3_2 == 0x15) { - var_r31 = ANM_HORSE_STOP; - } else if (temp_r3_2 == 0x14) { - var_r31 = ANM_HORSE_STAND; + daAlink_ANM anm; + if (anm_idx == 12) { + anm = ANM_HORSE_JUMP_START; + } else if (anm_idx == 11) { + anm = ANM_HORSE_JUMP; + } else if (anm_idx == 10) { + anm = ANM_HORSE_JUMP_LAND; + } else if (anm_idx == 21) { + anm = ANM_HORSE_STOP; + } else if (anm_idx == 20) { + anm = ANM_HORSE_STAND; } else { - var_r31 = ANM_HORSE_STOP_TO_STAND; + anm = ANM_HORSE_STOP_TO_STAND; } - setSingleAnimeBaseMorf(var_r31, temp_r3->getMorfFrame()); + setSingleAnimeBaseMorf(anm, horse->getMorfFrame()); - f32 temp_f1 = temp_r3->getAnmFrame(0); - mUnderFrameCtrl[0].setFrame(temp_f1); - getNowAnmPackUnder(UNDER_0)->setFrame(temp_f1); + f32 anm_frame = horse->getAnmFrame(0); + mUnderFrameCtrl[0].setFrame(anm_frame); + getNowAnmPackUnder(UNDER_0)->setFrame(anm_frame); if (getNowAnmPackUnder(UNDER_0) != getNowAnmPackUpper(UPPER_0)) { - mUpperFrameCtrl[0].setFrame(temp_f1); - getNowAnmPackUpper(UPPER_0)->setFrame(temp_f1); + mUpperFrameCtrl[0].setFrame(anm_frame); + getNowAnmPackUpper(UPPER_0)->setFrame(anm_frame); } } -void daAlink_c::getBaseHorseAnime(daAlink_c::daAlink_ANM* param_0) { - daHorse_c* temp_r27 = dComIfGp_getHorseActor(); +void daAlink_c::getBaseHorseAnime(daAlink_c::daAlink_ANM* i_anmList) { + daHorse_c* horse = dComIfGp_getHorseActor(); if (checkHorseNoUpperAnime() || checkUpperHorseLieAnime()) { if (!dComIfGp_checkPlayerStatus0(0, 0x2000)) { if (checkShieldGet()) { - setRStatus(0xB); + setRStatus(BUTTON_STATUS_DEFEND); } else { - setRStatus(0x3E); + setRStatus(BUTTON_STATUS_COVER); } if (spActionButton()) { resetUpperAnime(UPPER_2, -1.0f); - param_0[0] = ANM_HORSE_CROUCH; - param_0[1] = ANM_HORSE_CROUCH; + i_anmList[0] = ANM_HORSE_CROUCH; + i_anmList[1] = ANM_HORSE_CROUCH; return; } } } - for (int i = 0; i < 3; i++, param_0++) { - u16 temp_r3_2 = temp_r27->getAnmIdx(i); - if (temp_r3_2 == 7 || temp_r27->speedF < 0.0f) { + int i; + u16 anm_idx; + for (i = 0; i < 3; i++, i_anmList++) { + anm_idx = horse->getAnmIdx(i); + if (anm_idx == 7 || horse->speedF < 0.0f) { if (i == 1) { - param_0[0] = ANM_HORSE_WALK_B; + i_anmList[0] = ANM_HORSE_WALK_B; } else { - param_0[0] = ANM_HORSE_TURN_B; + i_anmList[0] = ANM_HORSE_TURN_B; } - } else if (temp_r3_2 == 0x12) { - param_0[0] = ANM_HORSE_DASH_B; - } else if (temp_r3_2 == 0x22) { - param_0[0] = ANM_HORSE_WALK_B; - } else if (temp_r3_2 == 0x11) { - param_0[0] = ANM_HORSE_DASH_START; - } else if (temp_r3_2 == 0x13) { + } else if (anm_idx == 0x12) { + i_anmList[0] = ANM_HORSE_DASH_B; + } else if (anm_idx == 0x22) { + i_anmList[0] = ANM_HORSE_WALK_B; + } else if (anm_idx == 0x11) { + i_anmList[0] = ANM_HORSE_DASH_START; + } else if (anm_idx == 0x13) { if (checkHorseZeldaBowMode() ) { - param_0[0] = ANM_HORSE_DASH_B; + i_anmList[0] = ANM_HORSE_DASH_B; } else { - param_0[0] = ANM_HORSE_DASH_A; + i_anmList[0] = ANM_HORSE_DASH_A; } - } else if (temp_r3_2 == 0x23) { - param_0[0] = ANM_HORSE_WALK_A; - } else if (temp_r3_2 == 0x17 || temp_r3_2 == 0x18) { + } else if (anm_idx == 0x23) { + i_anmList[0] = ANM_HORSE_WALK_A; + } else if (anm_idx == 0x17 || anm_idx == 0x18) { if (i == 1) { - param_0[0] = ANM_HORSE_WALK_B; + i_anmList[0] = ANM_HORSE_WALK_B; } else { - param_0[0] = ANM_HORSE_TURN_LEFT; + i_anmList[0] = ANM_HORSE_TURN_LEFT; } - } else if (temp_r3_2 == 0x19 || temp_r3_2 == 0x1A) { + } else if (anm_idx == 0x19 || anm_idx == 0x1A) { if (i == 1) { - param_0[0] = ANM_HORSE_WALK_B; + i_anmList[0] = ANM_HORSE_WALK_B; } else { - param_0[0] = ANM_HORSE_TURN_RIGHT; + i_anmList[0] = ANM_HORSE_TURN_RIGHT; } - } else if (temp_r3_2 == 0xFFFF && i == 1) { - param_0[0] = param_0[-1]; + } else if (anm_idx == 0xFFFF && i == 1) { + i_anmList[0] = i_anmList[-1]; } else { - param_0[0] = ANM_HORSE_WAIT; + i_anmList[0] = ANM_HORSE_WAIT; } } } @@ -610,7 +618,7 @@ int daAlink_c::checkHorseSpecialProc() { return 0; } - if (checkEndResetFlg2(ERFLG2_UNK_2)) { + if (checkEndResetFlg2(ERFLG2_FORCE_HORSE_GETOFF)) { current.pos = horse_p->current.pos; return procWaitInit(); } @@ -640,27 +648,32 @@ BOOL daAlink_c::checkHorseServiceWaitAnime() { int daAlink_c::setSyncHorse(int param_0) { daHorse_c* horse_p = dComIfGp_getHorseActor(); - daPy_frameCtrl_c* sp24 = &mUnderFrameCtrl[0]; - daPy_frameCtrl_c* sp20 = &mUnderFrameCtrl[2]; - BOOL mode_1 = checkModeFlg(1) ? TRUE : FALSE; + daPy_frameCtrl_c* framectrl1 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl2 = &mUnderFrameCtrl[2]; + + BOOL sp1C; + if (checkModeFlg(1)) { + sp1C = TRUE; + } else { + sp1C = FALSE; + } setSyncHorsePos(); if (checkHorseSpecialProc()) { return 0; } - daAlink_ANM sp8[3]; - getBaseHorseAnime(sp8); + daAlink_ANM anmList[3]; + getBaseHorseAnime(anmList); if (fabsf(horse_p->speedF) < 0.001f) { - if (!mode_1) { + if (!sp1C) { field_0x3004 = 0; } else if (checkInputOnR() && horse_p->checkWait() && mProcID != PROC_HORSE_SUBJECTIVITY && - mProcID != PROC_HORSE_CUT_TURN && sp8[0] != ANM_HORSE_TURN_LEFT && - sp8[0] != ANM_HORSE_TURN_RIGHT && field_0x3004 == 0) { - s32 dir = getDirectionFromShapeAngle(); - if (dir == DIR_FORWARD) - { + mProcID != PROC_HORSE_CUT_TURN && anmList[0] != ANM_HORSE_TURN_LEFT && + anmList[0] != ANM_HORSE_TURN_RIGHT && field_0x3004 == 0) { + int dir = getDirectionFromShapeAngle(); + if (dir == DIR_FORWARD) { field_0x3004 = mpHIO->mHorse.m.mWalkOutProhibitionTime; setSingleAnimeParam(ANM_WSTARTH, &mpHIO->mHorse.m.mWalkOutAnm); offNoResetFlg1(FLG1_UNK_1000); @@ -683,16 +696,14 @@ int daAlink_c::setSyncHorse(int param_0) { } if (param_0 && field_0x30a6 == 0 && horse_p->speedF >= 0.0f && - horse_p->getAimNeckAngleY() == 0 && sp8[0] != ANM_HORSE_TURN_LEFT && - sp8[0] != ANM_HORSE_TURN_RIGHT && - (field_0x2f8c == 10 && - (checkHorseNoUpperAnime() || checkEquipAnime() || checkUpperGuardAnime()) || - (mProcID == PROC_HORSE_CUT || mProcID == PROC_HORSE_CUT_TURN || - mProcID == PROC_HORSE_CUT_CHARGE_READY))) + horse_p->getAimNeckAngleY() == 0 && anmList[0] != ANM_HORSE_TURN_LEFT && + anmList[0] != ANM_HORSE_TURN_RIGHT && + ((field_0x2f8c == 10 && (checkHorseNoUpperAnime() || checkEquipAnime() || checkUpperGuardAnime())) || + (mProcID == PROC_HORSE_CUT || mProcID == PROC_HORSE_CUT_TURN || mProcID == PROC_HORSE_CUT_CHARGE_READY))) { if (checkCowGame()) { if (checkHorseNoUpperAnime()) { - setDoStatus(40); + setDoStatus(BUTTON_STATUS_WHOOP); if (doTrigger()) { onResetFlg0(RFLG0_COW_GAME_LEASH); @@ -703,13 +714,12 @@ int daAlink_c::setSyncHorse(int param_0) { } } } else if (checkHorseDashAccept()) { - setDoStatus(9); + setDoStatus(BUTTON_STATUS_DASH); if (doTrigger()) { field_0x3004 = mpHIO->mHorse.m.mWalkOutProhibitionTime; - daAlink_ANM anm; + daAlink_ANM anm = ANM_HORSE_LASH; const daAlinkHIO_anm_c* anmparam_p = &mpHIO->mHorse.m.mWhipAnm; - anm = ANM_HORSE_LASH; if (mProcID != PROC_HORSE_CUT && mProcID != PROC_HORSE_CUT_TURN && mProcID != PROC_HORSE_CUT_CHARGE_READY) @@ -717,8 +727,7 @@ int daAlink_c::setSyncHorse(int param_0) { setSingleAnimeParam(anm, anmparam_p); } - setUnderAnimeParam(getMainBckData(anm)->m_underID, UNDER_2, - &mpHIO->mHorse.m.mWhipAnm); + setUnderAnimeParam(getMainBckData(anm)->m_underID, UNDER_2, anmparam_p); onNoResetFlg1(FLG1_UNK_1000); horse_p->offPlayerBackRideLash(); voiceStart(Z2SE_AL_V_RUSH_HORSE); @@ -733,15 +742,15 @@ int daAlink_c::setSyncHorse(int param_0) { } if ((checkHorseWalkStartAnm() && - sp24->getFrame() > mpHIO->mHorse.m.mHorseWalkStartFrame) || - (checkHorseWaitLashAnime() && sp20->getFrame() > 13.0f)) + framectrl1->getFrame() > mpHIO->mHorse.m.mHorseWalkStartFrame) || + (checkHorseWaitLashAnime() && framectrl2->getFrame() > 13.0f)) { horse_p->onMoveAccept(); } if (checkNoResetFlg1(FLG1_UNK_1000) && - ((checkHorseUnderDashStartAnime() && sp20->getFrame() > 13.0f) || - (checkHorseUnderLashAnime() && sp20->getFrame() > 13.0f))) + ((checkHorseUnderDashStartAnime() && framectrl2->getFrame() > 13.0f) || + (checkHorseUnderLashAnime() && framectrl2->getFrame() > 13.0f))) { offNoResetFlg1(FLG1_UNK_1000); horse_p->onPlayerLash(); @@ -769,43 +778,42 @@ int daAlink_c::setSyncHorse(int param_0) { } } - BOOL var_r28 = - checkAnmEnd(mUnderFrameCtrl) || - (checkHorseServiceWaitAnime() && - (!checkNoUpperAnime() || horse_p->getAimNeckAngleY() != 0 || !checkModeFlg(1))); + BOOL var_r28 = checkAnmEnd(mUnderFrameCtrl) || + (checkHorseServiceWaitAnime() && (!checkNoUpperAnime() || horse_p->getAimNeckAngleY() != 0 || !checkModeFlg(1))); - if (((var_r28 || sp8[0] == ANM_HORSE_TURN_LEFT || sp8[0] == ANM_HORSE_TURN_RIGHT || - sp8[0] == ANM_HORSE_DASH_START || - (spActionButton() && !checkHorseWalkStartAnm() && !checkHorseWaitLashAnime())) && - mProcID != PROC_HORSE_CUT_TURN) || - field_0x2f8c == 10) + if (((var_r28 || anmList[0] == ANM_HORSE_TURN_LEFT || anmList[0] == ANM_HORSE_TURN_RIGHT || + anmList[0] == ANM_HORSE_DASH_START || + (spActionButton() && !checkHorseWalkStartAnm() && !checkHorseWaitLashAnime())) + && mProcID != PROC_HORSE_CUT_TURN + ) + || field_0x2f8c == 10 + ) { if ((var_r28 || field_0x3004 != mpHIO->mHorse.m.mWalkOutProhibitionTime) && field_0x3004 != 0) { field_0x3004--; } - f32 var_f31; + f32 morf_frame; if (var_r28 && horse_p->getMorfFrame() < 4.0f) { - var_f31 = 4.0f; + morf_frame = 4.0f; } else { - var_f31 = horse_p->getMorfFrame(); + morf_frame = horse_p->getMorfFrame(); } - f32 var_f30; - if (sp8[0] == ANM_HORSE_TURN_LEFT || sp8[0] == ANM_HORSE_TURN_B || - sp8[0] == ANM_HORSE_TURN_RIGHT) - { - var_f30 = 0.0f; + f32 morf; + if (anmList[0] == ANM_HORSE_TURN_LEFT || anmList[0] == ANM_HORSE_TURN_B || anmList[0] == ANM_HORSE_TURN_RIGHT) { + morf = 0.0f; } else { - var_f30 = horse_p->getBlendRate(); + morf = horse_p->getBlendRate(); } - if (sp8[0] == ANM_HORSE_DASH_START && !checkUnderMove0BckNoArc(ANM_HORSE_DASH_START)) { + if (anmList[0] == ANM_HORSE_DASH_START && !checkUnderMove0BckNoArc(ANM_HORSE_DASH_START)) { voiceStart(Z2SE_AL_V_RUSH_HORSE); } - setDoubleAnime(var_f30, 1.0f, 1.0f, sp8[0], sp8[1], 10, var_f31); + setDoubleAnime(morf, 1.0f, 1.0f, anmList[0], anmList[1], 10, morf_frame); setBaseHorseAnimeFrame(); + if (var_r28) { setHorseSwordUp(0); } @@ -815,15 +823,21 @@ int daAlink_c::setSyncHorse(int param_0) { } int daAlink_c::setSyncBoar(int param_0) { - e_wb_class* e_wb_p = (e_wb_class*)mRideAcKeep.getActor(); - fopAc_ac_c* e_wb_actor = (fopAc_ac_c*)e_wb_p; - BOOL mode_1 = checkModeFlg(1); + e_wb_class* boar = (e_wb_class*)mRideAcKeep.getActor(); + fopAc_ac_c* boar_actor = (fopAc_ac_c*)boar; + + BOOL var_r27; + if (checkModeFlg(1)) { + var_r27 = TRUE; + } else { + var_r27 = FALSE; + } if (!setSyncBoarPos()) { return 0; } - if (fabsf(e_wb_actor->speedF) < 0.001f && mode_1 && checkInputOnR() && e_wb_p->checkWait() && + if (fabsf(boar_actor->speedF) < 0.001f && var_r27 && checkInputOnR() && boar->checkWait() && mProcID != PROC_HORSE_SUBJECTIVITY && field_0x3004 == 0) { int direction = getDirectionFromShapeAngle(); @@ -833,8 +847,8 @@ int daAlink_c::setSyncBoar(int param_0) { } } - if (param_0 && e_wb_p->getWaitRollAngle() == 0 && checkHorseNoUpperAnime()) { - setDoStatus(9); + if (param_0 && boar->getWaitRollAngle() == 0 && checkHorseNoUpperAnime()) { + setDoStatus(BUTTON_STATUS_DASH); if (doTrigger()) { changeBoarRunRide(); } @@ -844,7 +858,7 @@ int daAlink_c::setSyncBoar(int param_0) { (checkHorseServiceWaitAnime() && (!checkNoUpperAnime() || !checkModeFlg(1)))) { setBaseBoarAnime(); - } else if (mUnderAnmHeap[0].getIdx() == 0x1B3) { + } else if (mUnderAnmHeap[0].getIdx() == dRes_ID_ALANM_BCK_LASHS_e) { if (mUnderFrameCtrl[0].checkPass(10.0f)) { changeBoarRunRide(); } @@ -852,22 +866,21 @@ int daAlink_c::setSyncBoar(int param_0) { setBaseBoarAnime(); } - if (mUnderAnmHeap[0].getIdx() != 0x1B3) { - if (e_wb_p->getWaitRollAngle() > 0) { + if (mUnderAnmHeap[0].getIdx() != dRes_ID_ALANM_BCK_LASHS_e) { + if (boar->getWaitRollAngle() > 0) { setHorseTurnUpperAnime(FALSE); - } else if (e_wb_p->getWaitRollAngle() < 0) { + } else if (boar->getWaitRollAngle() < 0) { setHorseTurnUpperAnime(TRUE); } } if (checkHorseTurnAnime()) { - if (e_wb_p->getWaitRollAngle() == 0) { + if (boar->getWaitRollAngle() == 0) { resetUpperAnime(UPPER_2, 4.0f); field_0x33f0 = 0.0f; } else { - field_0x33f0 = cLib_minMaxLimit(e_wb_p->getWaitRollAngle() * 0.002f, -1.0f, 1.0f); - // supposed to be std::abs - mNowAnmPackUpper[2].setRatio(fabsf(field_0x33f0)); + field_0x33f0 = cLib_minMaxLimit(boar->getWaitRollAngle() * 0.002f, -1.0f, 1.0f); + mNowAnmPackUpper[2].setRatio(std::abs(field_0x33f0)); } } else { field_0x33f0 = 0.0f; @@ -877,13 +890,12 @@ int daAlink_c::setSyncBoar(int param_0) { } int daAlink_c::setSyncRide(int param_0) { - BOOL var_r31; - if (param_0 && mMidnaTalkDelayTimer == 0 && dComIfGp_getDoStatus() == 0 && + if (param_0 && mMidnaTalkDelayTimer == 0 && dComIfGp_getDoStatus() == BUTTON_STATUS_NONE && (!checkHorseRide() || dComIfGp_getHorseActor()->getAnmIdx(0) != 7)) { - var_r31 = TRUE; + param_0 = TRUE; } else { - var_r31 = FALSE; + param_0 = FALSE; } if (checkServiceWaitMode() && checkHorseRide() && mProcID == PROC_HORSE_WAIT && @@ -907,58 +919,61 @@ int daAlink_c::setSyncRide(int param_0) { } if (checkHorseRide()) { - return setSyncHorse(var_r31); + return setSyncHorse(param_0); } else { - return setSyncBoar(var_r31); + return setSyncBoar(param_0); } } void daAlink_c::setBaseHorseAnimeFrame() { - daHorse_c* temp_r29 = dComIfGp_getHorseActor(); - BOOL var_r27 = 0; + daHorse_c* horse = dComIfGp_getHorseActor(); + BOOL var_r27 = FALSE; - f32 var_f31; + f32 anm_frame; if (mUnderAnmHeap[0].checkNoSetArcNo()) { u16 temp_r28 = mUnderAnmHeap[0].getIdx(); if (temp_r28 == getMainBckData(ANM_HORSE_WAIT)->m_underID) { - var_f31 = mUnderFrameCtrl[0].getFrame(); - } else if ((temp_r28 == getMainBckData(ANM_HORSE_TURN_B)->m_underID && temp_r29->getAnmIdx(1) == 6) || ((temp_r28 == getMainBckData(ANM_HORSE_TURN_LEFT)->m_underID || temp_r28 == getMainBckData(ANM_HORSE_TURN_RIGHT)->m_underID) && (temp_r29->getAnmIdx(0) == 0x17 || temp_r29->getAnmIdx(0) == 0x19))) { - var_f31 = mUnderFrameCtrl[0].getEnd(); + anm_frame = mUnderFrameCtrl[0].getFrame(); + } else if ((temp_r28 == getMainBckData(ANM_HORSE_TURN_B)->m_underID && horse->getAnmIdx(1) == 6) || + ((temp_r28 == getMainBckData(ANM_HORSE_TURN_LEFT)->m_underID || temp_r28 == getMainBckData(ANM_HORSE_TURN_RIGHT)->m_underID) && + (horse->getAnmIdx(0) == 0x17 || horse->getAnmIdx(0) == 0x19))) + { + anm_frame = mUnderFrameCtrl[0].getEnd(); mUnderFrameCtrl[0].onEndFlg(); - var_r27 = 1; + var_r27 = TRUE; } else { field_0x3460 = 0.0f; - var_f31 = temp_r29->getAnmFrame(0); + anm_frame = horse->getAnmFrame(0); } } else { - var_f31 = temp_r29->getAnmFrame(0); + anm_frame = horse->getAnmFrame(0); } - getNowAnmPackUnder(UNDER_0)->setFrame(var_f31); - mUnderFrameCtrl[0].setFrame(var_f31); + getNowAnmPackUnder(UNDER_0)->setFrame(anm_frame); + mUnderFrameCtrl[0].setFrame(anm_frame); if (var_r27) { getNowAnmPackUnder(UNDER_1)->setFrame(field_0x3460); simpleAnmPlay(getNowAnmPackUnder(UNDER_1)); field_0x3460 = getNowAnmPackUnder(UNDER_1)->getFrame(); - } else if (temp_r29->getAnmIdx(1) == 0xFFFF) { - getNowAnmPackUnder(UNDER_1)->setFrame(var_f31); + } else if (horse->getAnmIdx(1) == 0xFFFF) { + getNowAnmPackUnder(UNDER_1)->setFrame(anm_frame); } else { - getNowAnmPackUnder(UNDER_1)->setFrame(temp_r29->getAnmFrame(1)); + getNowAnmPackUnder(UNDER_1)->setFrame(horse->getAnmFrame(1)); } - getNowAnmPackUpper(UPPER_0)->setFrame(var_f31); + getNowAnmPackUpper(UPPER_0)->setFrame(anm_frame); getNowAnmPackUpper(UPPER_1)->setFrame(getNowAnmPackUnder(UNDER_1)->getFrame()); } void daAlink_c::setBaseBoarAnime() { - e_wb_class* temp_r30 = (e_wb_class*)mRideAcKeep.getActor(); + e_wb_class* boar_actor = (e_wb_class*)mRideAcKeep.getActor(); f32 var_f31; if (checkEventRun() && fopAcM_getTalkEventPartner(this) == (fopAc_ac_c*)getMidnaActor()) { var_f31 = 0.0f; } else { - var_f31 = temp_r30->rideSpeedRate(); + var_f31 = boar_actor->rideSpeedRate(); } if (var_f31 < 0.2f) { @@ -973,9 +988,9 @@ void daAlink_c::setBaseBoarAnime() { void daAlink_c::setBaseRideAnime() { if (checkHorseRide()) { daHorse_c* horse_p = dComIfGp_getHorseActor(); - daAlink_ANM sp8[3]; - getBaseHorseAnime(sp8); - setDoubleAnime(horse_p->getBlendRate(), 1.0f, 1.0f, sp8[0], sp8[1], 10, + daAlink_ANM anmList[3]; + getBaseHorseAnime(anmList); + setDoubleAnime(horse_p->getBlendRate(), 1.0f, 1.0f, anmList[0], anmList[1], 10, horse_p->getMorfFrame()); setBaseHorseAnimeFrame(); } else { @@ -988,7 +1003,7 @@ bool daAlink_c::checkHorseSwordUpSpped() { return horse_p->speedF > horse_p->getLashMaxSpeedF() * 0.89999998f; } -void daAlink_c::setHorseSwordUp(int param_0) { +void daAlink_c::setHorseSwordUp(BOOL param_0) { if (checkHorseRide() && checkNoUpperAnime() && mEquipItem == 0x103 && !checkHorseZeldaBowMode() && ((param_0 && checkHorseSwordUpSpped()) || @@ -1083,7 +1098,9 @@ int daAlink_c::checkHorseGetOffDirection() { f32 check_y[3] = {0.0f, 0.0f, 0.0f}; check_y[0] = current.pos.y; check_y[1] = ride_actor_p->current.pos.y + (current.pos.y - ride_actor_p->current.pos.y) * 0.5f; - check_y[2] = ride_actor_p->current.pos.y + l_autoUpHeight; + + f32 var_f31 = ride_actor_p->current.pos.y + l_autoUpHeight; + check_y[2] = var_f31; int check_no; int i; @@ -1113,16 +1130,16 @@ int daAlink_c::checkHorseGetOffDirection() { } void daAlink_c::boarForceGetOff() { - procCoLargeDamageInit(-4, 1, 0, 0, NULL, 0); + procCoLargeDamageInit(-4, TRUE, 0, 0, NULL, 0); } void daAlink_c::horseGetOffEnd() { if (field_0x2fc0 == 0) { - shape_angle.y -= 0x4000; + shape_angle.y -= (s16)0x4000; setOldRootQuaternion(0, 0x4000, 0); mDoMtx_stack_c::YrotS(-0x4000); } else { - shape_angle.y += 0x4000; + shape_angle.y += (s16)0x4000; setOldRootQuaternion(0, -0x4000, 0); mDoMtx_stack_c::YrotS(0x4000); } @@ -1135,8 +1152,11 @@ void daAlink_c::horseGetOffEnd() { } int daAlink_c::checkNextActionHorse() { - if ((!checkGrabAnimeAndThrow() || mProcID == PROC_HORSE_GRAB_MOVE) && - checkNextActionFromButton()) + #if PLATFORM_GCN + if ((!checkGrabAnimeAndThrow() || mProcID == PROC_HORSE_GRAB_MOVE) && checkNextActionFromButton()) + #else + if (checkGrabAnimeAndThrow()) + #endif { return 1; } @@ -1175,49 +1195,47 @@ int daAlink_c::checkNextActionHorse() { } BOOL daAlink_c::checkHorseGetOff() { - return (checkHorseRide() && dComIfGp_getHorseActor() != NULL && - ((daHorse_c*)dComIfGp_getHorseActor())->checkGetOff()) || - (checkBoarRide() && ((e_wb_class*)mRideAcKeep.getActor()) != NULL && - ((e_wb_class*)mRideAcKeep.getActor())->checkGetOff()); + return (checkHorseRide() && dComIfGp_getHorseActor() != NULL && ((daHorse_c*)dComIfGp_getHorseActor())->checkGetOff()) || + (checkBoarRide() && ((e_wb_class*)mRideAcKeep.getActor()) != NULL && ((e_wb_class*)mRideAcKeep.getActor())->checkGetOff()); } int daAlink_c::checkHorseGetOffAndSetDoStatus() { - daHorse_c* temp_r29 = dComIfGp_getHorseActor(); - int var_r30 = 0; - BOOL temp_r28 = checkHorseGetOff(); + daHorse_c* horse = dComIfGp_getHorseActor(); + int off_direction = DIR_FORWARD; + BOOL isGetOff = checkHorseGetOff(); if (!(fabsf(mRideAcKeep.getActor()->speedF) < 30.0f) || !setTalkStatus()) { if (checkHorseLieAnime()) { if (!checkSpecialHorseRide()) { - setDoStatus(0x32); + setDoStatus(BUTTON_STATUS_DISMOUNT); } else { - setDoStatus(0x8C); + setDoStatus(BUTTON_STATUS_UNK_140); } - } else if ((checkHorseNoUpperAnime() || checkEquipAnime()) && mMidnaTalkDelayTimer == 0 && !checkInputOnR() && temp_r28) { + } else if ((checkHorseNoUpperAnime() || checkEquipAnime()) && mMidnaTalkDelayTimer == 0 && !checkInputOnR() && isGetOff) { if (mEquipItem == fpcNm_ITEM_NONE) { - var_r30 = checkHorseGetOffDirection(); - if ((var_r30 != DIR_LEFT || (checkHorseRide() && temp_r29->checkEnemySearch())) && field_0x2fb4 == 0) { + off_direction = checkHorseGetOffDirection(); + if ((off_direction != DIR_LEFT || (checkHorseRide() && horse->checkEnemySearch())) && field_0x2fb4 == 0) { if (!checkSpecialHorseRide()) { - setDoStatus(0x32); + setDoStatus(BUTTON_STATUS_DISMOUNT); } else { - setDoStatus(0x8C); + setDoStatus(BUTTON_STATUS_UNK_140); } } - } else if (checkHorseRide() && !checkSpecialHorseRide() && field_0x2fb4 == 0 && temp_r29->checkEnemySearch()) { - setDoStatus(0x32); + } else if (checkHorseRide() && !checkSpecialHorseRide() && field_0x2fb4 == 0 && horse->checkEnemySearch()) { + setDoStatus(BUTTON_STATUS_DISMOUNT); } else { - setDoStatus(4); + setDoStatus(BUTTON_STATUS_PUT_AWAY); } } } - return var_r30; + return off_direction; } int daAlink_c::setHorseGetOff(int param_0) { daHorse_c* horse_p = dComIfGp_getHorseActor(); - if (dComIfGp_getDoStatus() == 0x32 && doTrigger()) { + if (dComIfGp_getDoStatus() == BUTTON_STATUS_DISMOUNT && doTrigger()) { if ((checkHorseRide() && horse_p->checkEnemySearch()) || checkHorseLieAnime()) { resetUpperAnime(UPPER_2, -1.0f); procBackJumpInit(0); @@ -1231,7 +1249,7 @@ int daAlink_c::setHorseGetOff(int param_0) { } int daAlink_c::procHorseRideInit() { - BOOL var_r25 = 0; + BOOL var_r25 = FALSE; if (mEquipItem != fpcNm_ITEM_NONE) { if (mEquipItem == 0x103) { @@ -1242,67 +1260,67 @@ int daAlink_c::procHorseRideInit() { mRideAcKeep.setData(field_0x27f4); - daAlink_ANM var_r29; - MtxP var_r28; - Vec* var_r27; - u32 var_r24; + daAlink_ANM anm; + MtxP rideMtx; + Vec* localRidePos_p; + u32 mode; if (fopAcM_GetName(field_0x27f4) == PROC_HORSE) { - daHorse_c* temp_r26 = (daHorse_c*)field_0x27f4; - temp_r26->onRideStartFlg(); - var_r28 = temp_r26->getRootMtx(); - mRideStatus = 1; - var_r27 = &l_localHorseRidePos; + daHorse_c* horse = (daHorse_c*)field_0x27f4; + horse->onRideStartFlg(); + rideMtx = horse->getRootMtx(); + mRideStatus = RIDETYPE_HORSE; + localRidePos_p = &l_localHorseRidePos; field_0x384c = &l_horseBaseAnime; - var_r24 = temp_r26->checkRodeoMode(); + mode = horse->checkRodeoMode(); mZ2Link.setRiding(true); } else { - e_wb_class* temp_r23 = (e_wb_class*)field_0x27f4; - temp_r23->setPlayerRideNow(); - var_r28 = temp_r23->getRideMtx(); - mRideStatus = 2; - var_r27 = &l_localBoarRidePos; + e_wb_class* boar = (e_wb_class*)field_0x27f4; + boar->setPlayerRideNow(); + rideMtx = boar->getRideMtx(); + mRideStatus = RIDETYPE_BOAR; + localRidePos_p = &l_localBoarRidePos; field_0x384c = &l_boarBaseAnime; - var_r24 = 0; + mode = 0; } commonProcInit(PROC_HORSE_RIDE); field_0x3588 = l_waitBaseAnime; - f32 var_f30 = 1.0f; + f32 anm_speed = 1.0f; f32 var_f31; - s16 var_r22 = -1; + s16 anm_endF = -1; mProcVar2.field_0x300c = 0; setHeavyBoots(0); - int temp_r21 = getReinRideDirection(); - if (var_r24 || temp_r21 == 1) { - var_r29 = ANM_HORSE_MOUNT_BACK; + int ride_dir = getReinRideDirection(); + if (mode != 0 || ride_dir == DIR_BACKWARD) { + anm = ANM_HORSE_MOUNT_BACK; field_0x2fc0 = 2; mProcVar2.field_0x300c = 1; } else { if (checkHorseRide() && ((daHorse_c*)field_0x27f4)->checkEnemySearch()) { - var_f30 *= 1.2f; + anm_speed *= 1.2f; mProcVar2.field_0x300c = 1; - var_r22 = 0x30; + anm_endF = 0x30; } - if (temp_r21 == 2) { + if (ride_dir == DIR_LEFT) { if (checkHorseRide()) { - var_r29 = ANM_HORSE_MOUNT_LEFT; + anm = ANM_HORSE_MOUNT_LEFT; } else { - var_r29 = ANM_HORSE_RIDE_LEFT; + anm = ANM_HORSE_RIDE_LEFT; } field_0x2fc0 = 0; } else { if (checkHorseRide()) { - var_r29 = ANM_HORSE_MOUNT_RIGHT; + anm = ANM_HORSE_MOUNT_RIGHT; } else { - var_r29 = ANM_HORSE_RIDE_RIGHT; + anm = ANM_HORSE_RIDE_RIGHT; } field_0x2fc0 = 1; } - if (mDemo.getDemoMode() != 7) { + if (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_7_e) { setOldRootQuaternion(0, (s16)(shape_angle.y - field_0x27f4->shape_angle.y), 0); } } @@ -1312,14 +1330,14 @@ int daAlink_c::procHorseRideInit() { cXyz sp2C; cXyz sp20; - mDoMtx_multVec(var_r28, var_r27, &sp2C); + mDoMtx_multVec(rideMtx, localRidePos_p, &sp2C); mDoMtx_stack_c::transS(field_0x27f4->current.pos); mDoMtx_stack_c::YrotM(field_0x27f4->shape_angle.y); mDoMtx_stack_c::XrotM(-field_0x27f4->shape_angle.x); mDoMtx_stack_c::YrotM(-field_0x27f4->shape_angle.y); mDoMtx_stack_c::transM(-field_0x27f4->current.pos.x, -field_0x27f4->current.pos.y, -field_0x27f4->current.pos.z); - mDoMtx_stack_c::concat(var_r28); - mDoMtx_stack_c::multVec(var_r27, &sp20); + mDoMtx_stack_c::concat(rideMtx); + mDoMtx_stack_c::multVec(localRidePos_p, &sp20); var_f31 = current.pos.y; current.pos = field_0x27f4->current.pos + (sp2C - sp20); @@ -1342,7 +1360,7 @@ int daAlink_c::procHorseRideInit() { current.angle.y = shape_angle.y; speed.y = 0.0f; - setSingleAnime(var_r29, var_f30, 0.0f, var_r22, 4.0f); + setSingleAnime(anm, anm_speed, 0.0f, anm_endF, 4.0f); field_0x2f99 = 0x10; field_0x2fab = 0; @@ -1355,90 +1373,90 @@ int daAlink_c::procHorseRideInit() { } int daAlink_c::procHorseRide() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - fopAc_ac_c* temp_r3 = mRideAcKeep.getActor(); - if (temp_r3 == NULL) { + fopAc_ac_c* rideActor = mRideAcKeep.getActor(); + if (rideActor == NULL) { return checkNextAction(0); } - e_wb_class* sp8 = (e_wb_class*)temp_r3; - daHorse_c* var_r26 = (daHorse_c*)temp_r3; + e_wb_class* boar = (e_wb_class*)rideActor; + daHorse_c* horse = (daHorse_c*)rideActor; field_0x2f99 = 7; - current.pos += temp_r3->current.pos - field_0x37c8; - field_0x37c8 = temp_r3->current.pos; + current.pos += rideActor->current.pos - field_0x37c8; + field_0x37c8 = rideActor->current.pos; if (field_0x2fc0 == 2) { - if (temp_r29->getFrame() >= 25.0f) { - field_0x2f93 = 5; + if (framectrl->getFrame() >= 25.0f) { + mRightHandIndex = 5; field_0x2fab = 0x13; - } else if (temp_r29->getFrame() >= 14.0f) { - field_0x2f92 = 4; + } else if (framectrl->getFrame() >= 14.0f) { + mLeftHandIndex = 4; } - if (var_r26->checkRodeoMode()) { - if (temp_r29->getFrame() > 15.0f) { + if (horse->checkRodeoMode()) { + if (framectrl->getFrame() > 15.0f) { return procHorseRunInit(); - } else if (temp_r29->getFrame() >= 4.0f) { + } else if (framectrl->getFrame() >= 4.0f) { setSyncHorsePos(); } - } else if (temp_r29->getFrame() >= 4.0f && temp_r29->getFrame() < 8.0f) { - current.pos.y -= field_0x3478 * (0.25f * temp_r29->getRate()); - } else if (temp_r29->getFrame() > 8.0f) { + } else if (framectrl->getFrame() >= 4.0f && framectrl->getFrame() < 8.0f) { + current.pos.y -= field_0x3478 * (0.25f * framectrl->getRate()); + } else if (framectrl->getFrame() > 8.0f) { setSyncHorsePos(); - var_r26->onRideRunFlg(); - var_r26->onMoveAccept(); + horse->onRideRunFlg(); + horse->onMoveAccept(); } } else { - if (temp_r29->getFrame() >= 46.0f) { - field_0x2f92 = 4; + if (framectrl->getFrame() >= 46.0f) { + mLeftHandIndex = 4; - if (!checkBoarRide() || (field_0x2fc0 == 0) || temp_r29->getFrame() >= 53.0f) { - field_0x2f93 = 5; + if (!checkBoarRide() || field_0x2fc0 == 0 || framectrl->getFrame() >= 53.0f) { + mRightHandIndex = 5; field_0x2fab = 0x13; } else { field_0x2fab = 3; } if (checkBoarRide()) { - csXyz spC; - mDoMtx_MtxToRot(sp8->getRideMtx(), &spC); - cLib_addCalcAngleS(&shape_angle.x, -spC.z, 4, 2000, 400); + csXyz rot; + mDoMtx_MtxToRot(boar->getRideMtx(), &rot); + cLib_addCalcAngleS(&shape_angle.x, -rot.z, 4, 2000, 400); } else { - cLib_addCalcAngleS(&shape_angle.x, temp_r3->shape_angle.x, 4, 2000, 400); + cLib_addCalcAngleS(&shape_angle.x, rideActor->shape_angle.x, 4, 2000, 400); } } else { - if (temp_r29->getFrame() >= 17.0f) { + if (framectrl->getFrame() >= 17.0f) { field_0x2fab |= (u8)(1 << field_0x2fc0); if (field_0x2fc0 == 0) { - if (temp_r29->getFrame() >= 41.0f && checkHorseRide()) { - field_0x2f92 = 4; + if (framectrl->getFrame() >= 41.0f && checkHorseRide()) { + mLeftHandIndex = 4; } - } else if (temp_r29->getFrame() >= 38.0f && checkHorseRide()) { - field_0x2f93 = 5; - field_0x2fab |= 0x10; + } else if (framectrl->getFrame() >= 38.0f && checkHorseRide()) { + mRightHandIndex = 5; + field_0x2fab |= (u8)0x10; } } } - if (temp_r29->getFrame() >= 11.0f && temp_r29->getFrame() < 16.0f) { - current.pos.y -= field_0x3478 * (0.2f * temp_r29->getRate()); + if (framectrl->getFrame() >= 11.0f && framectrl->getFrame() < 16.0f) { + current.pos.y -= field_0x3478 * (0.2f * framectrl->getRate()); } - if (temp_r29->getFrame() >= 17.0f && checkHorseRide() && mProcVar2.field_0x300c != 0) { + if (framectrl->getFrame() >= 17.0f && checkHorseRide() && mProcVar2.field_0x300c != 0) { setSyncHorsePos(); - var_r26->onRideRunFlg(); - var_r26->onMoveAccept(); + horse->onRideRunFlg(); + horse->onMoveAccept(); } } - if (checkAnmEnd(temp_r29)) { + if (checkAnmEnd(framectrl)) { J3DTransformInfo* temp_r28 = field_0x2060->getOldFrameTransInfo(0); if (checkHorseRide()) { - var_r26->onRideFlg(); + horse->onRideFlg(); if (mProcVar2.field_0x300c == 0) { temp_r28->mTranslate.x += l_horseBaseAnime.x; @@ -1446,14 +1464,14 @@ int daAlink_c::procHorseRide() { temp_r28->mTranslate.z += l_horseBaseAnime.z; } } else { - sp8->setPlayerRide(); + boar->setPlayerRide(); temp_r28->mTranslate.x += l_boarBaseAnime.x; temp_r28->mTranslate.y += l_boarBaseAnime.y; temp_r28->mTranslate.z += l_boarBaseAnime.z; } - field_0x2f92 = 4; - field_0x2f93 = 5; + mLeftHandIndex = 4; + mRightHandIndex = 5; field_0x2fab = 0x13; if (field_0x2fc0 == 2) { @@ -1467,7 +1485,7 @@ int daAlink_c::procHorseRide() { field_0x30a6 = mpHIO->mHorse.m.mWhipWaitTime; field_0x3004 = mpHIO->mHorse.m.mWalkOutProhibitionTime; - var_r26->onPlayerBackRideLash(); + horse->onPlayerBackRideLash(); } } else if (mProcVar2.field_0x300c == 0 && checkHorseRide()) { setSingleAnime(ANM_HORSE_WAIT_A, 1.0f, 9.0f, -1, 4.0f); @@ -1486,6 +1504,9 @@ int daAlink_c::procHorseRide() { } int daAlink_c::procHorseGetOffInit(int param_0) { + static const Vec leftOffset = {75.0f, 102.0f, 6.224f}; + static const Vec rightOffset = {-75.0f, 102.0f, 6.221f}; + cXyz spC; commonProcInit(PROC_HORSE_GETOFF); resetUnderAnime(UNDER_2, -1.0f); @@ -1494,47 +1515,45 @@ int daAlink_c::procHorseGetOffInit(int param_0) { allUnequip(0); } - fopAc_ac_c* temp_r30 = mRideAcKeep.getActor(); + fopAc_ac_c* rideActor = mRideAcKeep.getActor(); if (checkHorseRide()) { - ((daHorse_c*)temp_r30)->offRideFlg(); + ((daHorse_c*)rideActor)->offRideFlg(); } else { - ((e_wb_class*)temp_r30)->setPlayerRideNow(); + ((e_wb_class*)rideActor)->setPlayerRideNow(); } - field_0x37d4 = temp_r30->current.pos; - mProcVar3.field_0x300e = temp_r30->shape_angle.y; + field_0x37d4 = rideActor->current.pos; + mProcVar3.field_0x300e = rideActor->shape_angle.y; field_0x2fc0 = param_0; - mDoMtx_stack_c::transS(temp_r30->current.pos.x, temp_r30->current.pos.y, temp_r30->current.pos.z); - mDoMtx_stack_c::YrotM(temp_r30->shape_angle.y); + mDoMtx_stack_c::transS(rideActor->current.pos.x, rideActor->current.pos.y, rideActor->current.pos.z); + mDoMtx_stack_c::YrotM(rideActor->shape_angle.y); - daAlink_ANM var_r29; + daAlink_ANM anm; if (field_0x2fc0 == 0) { if (checkHorseRide()) { - var_r29 = ANM_HORSE_GETOFF_LEFT; + anm = ANM_HORSE_GETOFF_LEFT; } else { - var_r29 = ANM_HORSE_FALL_LEFT; + anm = ANM_HORSE_FALL_LEFT; } - static Vec const leftOffset = {75.0f, 102.0f, 6.224f}; mDoMtx_stack_c::multVec(&leftOffset, &spC); } else { if (checkHorseRide()) { - var_r29 = ANM_HORSE_GETOFF_RIGHT; + anm = ANM_HORSE_GETOFF_RIGHT; } else { - var_r29 = ANM_HORSE_FALL_RIGHT; + anm = ANM_HORSE_FALL_RIGHT; } - static Vec const rightOffset = {-75.0f, 102.0f, 6.221f}; mDoMtx_stack_c::multVec(&rightOffset, &spC); } - setSingleAnimeBaseMorf(var_r29, 4.0f); + setSingleAnimeBaseMorf(anm, 4.0f); mLinkGndChk.SetPos(&spC); spC.y = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - field_0x3478 = spC.y - temp_r30->current.pos.y; + field_0x3478 = spC.y - rideActor->current.pos.y; if (field_0x3478 < l_autoDownHeight) { mProcVar4.field_0x3010 = 1; field_0x3478 = 0.0f; @@ -1562,34 +1581,34 @@ int daAlink_c::procHorseGetOffInit(int param_0) { } int daAlink_c::procHorseGetOff() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - fopAc_ac_c* temp_r3 = mRideAcKeep.getActor(); - if (temp_r3 != NULL) { - current.pos += temp_r3->current.pos - field_0x37d4; - field_0x37d4 = temp_r3->current.pos; - shape_angle.y += (s16)(mProcVar3.field_0x300e - temp_r3->shape_angle.y); - mProcVar3.field_0x300e = temp_r3->shape_angle.y; + fopAc_ac_c* rideActor = mRideAcKeep.getActor(); + if (rideActor != NULL) { + current.pos += rideActor->current.pos - field_0x37d4; + field_0x37d4 = rideActor->current.pos; + shape_angle.y += (s16)(mProcVar3.field_0x300e - rideActor->shape_angle.y); + mProcVar3.field_0x300e = rideActor->shape_angle.y; } cLib_addCalcAngleS(&shape_angle.z, 0, 4, 2000, 400); - if (temp_r29->getFrame() >= 35.0f) { + if (framectrl->getFrame() >= 35.0f) { field_0x2fab = 0; } else if (checkHorseRide()) { - if (temp_r29->getFrame() >= 14.0f) { + if (framectrl->getFrame() >= 14.0f) { field_0x2fab &= ~(1 << field_0x2fc0); - } else if (temp_r29->getFrame() >= 4.0f) { + } else if (framectrl->getFrame() >= 4.0f) { if (field_0x2fc0 == 0) { field_0x2fab &= ~0x2; } else { field_0x2fab &= (u8)~0x1; } } - } else if (!(temp_r29->getFrame() >= 24.0f)) { - if (temp_r29->getFrame() >= 21.0f) { + } else if (!(framectrl->getFrame() >= 24.0f)) { + if (framectrl->getFrame() >= 21.0f) { field_0x2fab &= ~(1 << field_0x2fc0); - } else if (temp_r29->getFrame() >= 3.0f) { + } else if (framectrl->getFrame() >= 3.0f) { if (field_0x2fc0 == 0) { field_0x2fab &= ~0x2; } else { @@ -1598,10 +1617,10 @@ int daAlink_c::procHorseGetOff() { } } - if (checkAnmEnd(temp_r29)) { + if (checkAnmEnd(framectrl)) { horseGetOffEnd(); checkNextAction(0); - } else if (temp_r29->getFrame() >= 32.0f) { + } else if (framectrl->getFrame() >= 32.0f) { field_0x2f99 = 5; if (checkModeFlg(0x400)) { @@ -1622,11 +1641,11 @@ int daAlink_c::procHorseGetOff() { return procLandInit(0.0f); } - if (temp_r29->getFrame() < 27.0f) { - f32 temp_f31 = temp_r29->getFrame() / 27.0f; + if (framectrl->getFrame() < 27.0f) { + f32 temp_f31 = framectrl->getFrame() / 27.0f; field_0x3588.x = (l_waitBaseAnime.x * (1.0f - temp_f31)) + (field_0x37c8.x * temp_f31); field_0x3588.z = (l_waitBaseAnime.z * (1.0f - temp_f31)) + (field_0x37c8.z * temp_f31); - } else if (temp_r29->getFrame() < 32.0f) { + } else if (framectrl->getFrame() < 32.0f) { current.pos.y += 0.2f * field_0x3478; if (mProcVar4.field_0x3010 != 0) { procFallInit(1, 4.0f); @@ -1643,7 +1662,7 @@ int daAlink_c::procHorseWaitInit() { } if (!checkHorseRide()) { - setUnderAnime(0x26E, UNDER_2, 1.0f, 0.0f, -1, -1.0f); + setUnderAnime(dRes_ID_ALANM_BCK_WAITWA_e, UNDER_2, 1.0f, 0.0f, -1, -1.0f); } else if (checkHorseUnderItemAnime()) { resetUnderAnime(UNDER_2, -1.0f); } @@ -1662,8 +1681,8 @@ int daAlink_c::procHorseWait() { return 1; } - daHorse_c* temp_r26 = (daHorse_c*)mRideAcKeep.getActor(); - if (checkHorseRide() && temp_r26->checkRodeoMode() && !checkEventRun()) { + daHorse_c* horse = (daHorse_c*)mRideAcKeep.getActor(); + if (checkHorseRide() && horse->checkRodeoMode() && !checkEventRun()) { return procHorseRunInit(); } @@ -1677,16 +1696,16 @@ int daAlink_c::procHorseWait() { } if (checkBoarSingleBattleFirst()) { - fopAc_ac_c* temp_r3 = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchBoar, NULL); - if (temp_r3 != NULL) { - int temp_r28 = abs((s16)(cLib_targetAngleY(&temp_r3->current.pos, ¤t.pos) - temp_r3->shape_angle.y)); - f32 temp_f31 = temp_r3->current.pos.abs2XZ(current.pos); + fopAc_ac_c* boar = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchBoar, NULL); + if (boar != NULL) { + int temp_r28 = abs((s16)(cLib_targetAngleY(&boar->current.pos, ¤t.pos) - boar->shape_angle.y)); + f32 dist_xz2 = boar->current.pos.abs2XZ(current.pos); - if (temp_r28 > 0x800 && temp_r28 < 0x5000 && temp_f31 < 360000.0f) { - setBStatus(0x2E); + if (temp_r28 > 0x800 && temp_r28 < 0x5000 && dist_xz2 < SQUARE(600.0f)) { + setBStatus(BUTTON_STATUS_CUT); } else if (checkEndResetFlg0(ERFLG0_SINGLE_BOAR_AVOID)) { - set3DStatus(0x2D, 5); - setBStatus(0x2E); + set3DStatus(BUTTON_STATUS_DODGE, 5); + setBStatus(BUTTON_STATUS_CUT); } } } @@ -1709,29 +1728,29 @@ int daAlink_c::procHorseTurnInit() { } int daAlink_c::procHorseTurn() { - daHorse_c* temp_r29 = dComIfGp_getHorseActor(); + daHorse_c* horse = dComIfGp_getHorseActor(); if (!setSyncRidePos()) { return 1; } if (mUnderFrameCtrl[0].getFrame() < 13.0f && mEquipItem == 0x103 && !checkBootsOrArmorHeavy() && checkCutTurnInputTrigger()) { - temp_r29->onCutTurnCancel(); + horse->onCutTurnCancel(); return procHorseCutTurnInit(); } - if (!temp_r29->checkStop() && !temp_r29->checkTurn()) { + if (!horse->checkStop() && !horse->checkTurn()) { mUnderFrameCtrl[0].onEndFlg(); procHorseWaitInit(); field_0x30ca = 0; - } else if (temp_r29->checkTurnCancelFrame() || temp_r29->checkStopCancelFrame()) { + } else if (horse->checkTurnCancelFrame() || horse->checkStopCancelFrame()) { onModeFlg(4); - temp_r29->onTurnCancelKeep(); + horse->onTurnCancelKeep(); if (checkHorseNoUpperAnime()) { if (checkShieldGet()) { - setRStatus(0xB); + setRStatus(BUTTON_STATUS_DEFEND); } else { - setRStatus(0x3E); + setRStatus(BUTTON_STATUS_COVER); } if (spActionButton()) { @@ -1755,24 +1774,24 @@ int daAlink_c::procHorseTurn() { if (setHorseGetOff(temp_r28)) { if (mProcID != PROC_HORSE_GETOFF) { - temp_r29->offCutTurnCancel(); + horse->offCutTurnCancel(); } return 1; } - temp_r29->offTurnCancelKeep(); + horse->offTurnCancelKeep(); } else { if (checkBootsOrArmorHeavy() && !checkEventRun() && !checkBoarSingleBattle()) { - if (temp_r29->getAnmFrame(0) >= 30.0f) { - return procCoLargeDamageInit(-4, 1, 0, 0, NULL, 0); + if (horse->getAnmFrame(0) >= 30.0f) { + return procCoLargeDamageInit(-4, TRUE, 0, 0, NULL, 0); } } else if (spActionButton() && !checkSpecialHorseRide()) { - setDoStatus(0x32); + setDoStatus(BUTTON_STATUS_DISMOUNT); if (doTrigger()) { resetUpperAnime(UPPER_2, -1.0f); - if (temp_r29->checkTurnStand()) { + if (horse->checkTurnStand()) { return procAutoJumpInit(0); } else { return procBackJumpInit(0); @@ -1860,27 +1879,27 @@ int daAlink_c::procHorseSubjectivityInit() { int daAlink_c::procHorseSubjectivity() { onResetFlg0(RFLG0_UNK_4000000); - s16 old_shape_angle = shape_angle.y; - s16 old_angle = current.angle.y; - int old_3190 = field_0x3190; + s16 prev_shape_angle = shape_angle.y; + s16 prev_angle = current.angle.y; + int prev_3190 = field_0x3190; if (!setSyncRide(0)) { return 1; } - shape_angle.y = old_shape_angle; - if (checkSubjectEnd(1)) { + shape_angle.y = prev_shape_angle; + if (checkSubjectEnd(TRUE)) { procHorseWaitInit(); } else if (checkNextActionFromButton()) { if (checkUpperReadyThrowAnime()) { - field_0x3190 = old_3190; + field_0x3190 = prev_3190; mBodyAngle.y = field_0x3190; field_0x310a = mBodyAngle.x; field_0x310c = shape_angle.y + field_0x3190; } return 1; } else { - setRideSubjectAngle(old_angle); + setRideSubjectAngle(prev_angle); } return 1; @@ -1888,7 +1907,7 @@ int daAlink_c::procHorseSubjectivity() { int daAlink_c::procHorseCutInit() { commonProcInit(PROC_HORSE_CUT); - BOOL var_r26 = 0; + int var_r26 = 0; if (checkHorseUnderItemAnime()) { resetUnderAnime(UNDER_2, -1.0f); @@ -1896,15 +1915,15 @@ int daAlink_c::procHorseCutInit() { setSyncRide(1); - fopAc_ac_c* var_r25; + fopAc_ac_c* target_actor; if (mTargetedActor != NULL) { - var_r25 = mTargetedActor; + target_actor = mTargetedActor; } else { - var_r25 = mAttention->LockonTarget(0); + target_actor = mAttention->LockonTarget(0); } - if (var_r25 != NULL) { - s16 sp8 = (s16)(cLib_targetAngleY(¤t.pos, &var_r25->eyePos) - shape_angle.y); + if (target_actor != NULL) { + s16 sp8 = (s16)(cLib_targetAngleY(¤t.pos, &target_actor->eyePos) - shape_angle.y); if (sp8 > 0x800) { var_r26 = 2; } else if (sp8 < -0x800) { @@ -1912,92 +1931,92 @@ int daAlink_c::procHorseCutInit() { } } - int var_r28; + int type; if (mComboCutCount == 1) { if (var_r26 == 3) { - var_r28 = 2; + type = 2; } else { - var_r28 = 0; + type = 0; } } else if (var_r26 == 3) { if (cM_rnd() < 0.5f) { - var_r28 = 2; + type = 2; } else { - var_r28 = 3; + type = 3; } } else if (var_r26 == 2) { if (cM_rnd() < 0.5f) { - var_r28 = 0; + type = 0; } else { - var_r28 = 1; + type = 1; } } else { - var_r28 = (int)cM_rndF(4.0f) % 4; + type = (int)cM_rndF(4.0f) % 4; } static daAlink_cutHorseParamTbl const cutParamTable[] = { { - daAlink_c::FTANM_UNK_20, - 0x91, - 0x10C, + daAlink_c::FTANM_CUTHLA, + dRes_ID_ALANM_BCK_CUTHLA_e, + dRes_ID_ALANM_BCK_FCUTHLA_e, 0x00, 0x0E, - 0x22, + CUT_TYPE_HORSE_LEFT_A, }, { - daAlink_c::FTANM_UNK_21, - 0x92, - 0x10D, + daAlink_c::FTANM_CUTHLB, + dRes_ID_ALANM_BCK_CUTHLB_e, + dRes_ID_ALANM_BCK_FCUTHLB_e, 0x00, 0x13, - 0x23, + CUT_TYPE_HORSE_LEFT_B, }, { - daAlink_c::FTANM_UNK_22, - 0x93, - 0x10E, + daAlink_c::FTANM_CUTHRA, + dRes_ID_ALANM_BCK_CUTHRA_e, + dRes_ID_ALANM_BCK_FCUTHRA_e, 0x00, 0x13, - 0x2A, + CUT_TYPE_HORSE_RIGHT_A, }, { - daAlink_c::FTANM_UNK_23, - 0x94, - 0x10F, + daAlink_c::FTANM_CUTHRB, + dRes_ID_ALANM_BCK_CUTHRB_e, + dRes_ID_ALANM_BCK_FCUTHRB_e, 0x00, 0x00, - 0x2A, + CUT_TYPE_HORSE_RIGHT_A, }, }; - const daAlinkHIO_hoCut_c1* var_r29; - const daAlink_cutHorseParamTbl* temp_r27 = &cutParamTable[var_r28]; + const daAlinkHIO_hoCut_c1* anmParams; + const daAlink_cutHorseParamTbl* cutParams = &cutParamTable[type]; field_0x2f96 = 2; - if (var_r28 == 0) { - var_r29 = &daAlinkHIO_hoCutLA_c0::m; - } else if (var_r28 == 1) { - var_r29 = &daAlinkHIO_hoCutLB_c0::m; - } else if (var_r28 == 2) { - var_r29 = &daAlinkHIO_hoCutRA_c0::m; + if (type == 0) { + anmParams = &mpHIO->mCut.mHorseCutLeftA.m; + } else if (type == 1) { + anmParams = &mpHIO->mCut.mHorseCutLeftB.m; + } else if (type == 2) { + anmParams = &mpHIO->mCut.mHorseCutRightA.m; } else { - var_r29 = &daAlinkHIO_hoCutRB_c0::m; + anmParams = &mpHIO->mCut.mHorseCutRightB.m; } - setUpperAnimeParam(temp_r27->m_upperAnm, UPPER_2, &var_r29->mCutAnm); - setFacePriTexture(temp_r27->m_faceanm); - setFacePriBck(temp_r27->m_faceBtk); - setCutType(temp_r27->m_cutType); + setUpperAnimeParam(cutParams->m_upperAnm, UPPER_2, &anmParams->mCutAnm); + setFacePriTexture(cutParams->m_faceanm); + setFacePriBck(cutParams->m_faceBtk); + setCutType(cutParams->m_cutType); - field_0x3478 = var_r29->mAttackStartFrame; - field_0x347c = var_r29->mAttackEndFrame; - field_0x3480 = var_r29->mAfterCutMorf; - field_0x3484 = var_r29->mCutAnm.mCancelFrame; + field_0x3478 = anmParams->mAttackStartFrame; + field_0x347c = anmParams->mAttackEndFrame; + field_0x3480 = anmParams->mAfterCutMorf; + field_0x3484 = anmParams->mCutAnm.mCancelFrame; if (checkBoarSingleBattle()) { - setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, mpHIO->mCut.m.mSwordLengthHorsebackFight, mpHIO->mCut.m.mSwordRadiusHorsebackFight); + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, dCcD_SE_SWORD, 2, mpHIO->mCut.m.mSwordLengthHorsebackFight, mpHIO->mCut.m.mSwordRadiusHorsebackFight); } else { - setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, mpHIO->mCut.m.mSwordLengthHorseback, mpHIO->mCut.m.mSwordRadiusHorseback); + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, dCcD_SE_SWORD, 2, mpHIO->mCut.m.mSwordLengthHorseback, mpHIO->mCut.m.mSwordRadiusHorseback); } voiceStart(Z2SE_AL_V_ATTACK_S); @@ -2012,7 +2031,7 @@ int daAlink_c::procHorseCutInit() { } int daAlink_c::procHorseCut() { - daPy_frameCtrl_c* temp_r30 = &mUpperFrameCtrl[2]; + daPy_frameCtrl_c* framectrl = &mUpperFrameCtrl[2]; if (setSyncRide(1) == 0) { return 1; @@ -2021,24 +2040,24 @@ int daAlink_c::procHorseCut() { setComboReserb(); checkCutTurnCharge(); - if (checkAnmEnd(temp_r30)) { - if (checkNoResetFlg2(FLG2_UNK_2)) { + if (checkAnmEnd(framectrl)) { + if (checkNoResetFlg2(FLG2_COMBO_RESERB)) { checkCutAction(); } else { resetUpperAnime(UPPER_2, 4.0f); procHorseWaitInit(); field_0x2060->initOldFrameMorf(field_0x3480, 0, 0x23); } - } else if (temp_r30->getFrame() > field_0x3484 && (checkNoResetFlg2(FLG2_UNK_2) || checkResetFlg0(RFLG0_UNK_40) || spActionButton())) { + } else if (framectrl->getFrame() > field_0x3484 && (checkNoResetFlg2(FLG2_COMBO_RESERB) || checkResetFlg0(RFLG0_UNK_40) || spActionButton())) { if (checkResetFlg0(RFLG0_UNK_40)) { procHorseCutChargeReadyInit(); - } else if (checkNoResetFlg2(FLG2_UNK_2)) { + } else if (checkNoResetFlg2(FLG2_COMBO_RESERB)) { checkCutAction(); } else { if (checkShieldGet()) { - setRStatus(0xB); + setRStatus(BUTTON_STATUS_DEFEND); } else { - setRStatus(0x3E); + setRStatus(BUTTON_STATUS_COVER); } resetUpperAnime(UPPER_2, -1.0f); @@ -2046,17 +2065,17 @@ int daAlink_c::procHorseCut() { procHorseWaitInit(); } } else { - if (temp_r30->getFrame() > field_0x3484) { + if (framectrl->getFrame() > field_0x3484) { if (checkShieldGet()) { - setRStatus(0xB); + setRStatus(BUTTON_STATUS_DEFEND); } else { - setRStatus(0x3E); + setRStatus(BUTTON_STATUS_COVER); } - resetCombo(1); + resetCombo(TRUE); } - if (temp_r30->getFrame() >= field_0x3478 && temp_r30->getFrame() < field_0x347c) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (framectrl->getFrame() >= field_0x3478 && framectrl->getFrame() < field_0x347c) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_S); } onResetFlg0(RFLG0_UNK_2); @@ -2068,8 +2087,8 @@ int daAlink_c::procHorseCut() { int daAlink_c::procHorseCutChargeReadyInit() { commonProcInit(PROC_HORSE_CUT_CHARGE_READY); - setUpperAnimeParam(0x96, UPPER_2, &mpHIO->mCut.mHorseCutCharge.m.mChargeAnm); - setFacePriBck(0xE8); + setUpperAnimeParam(dRes_ID_ALANM_BCK_CUTHTP_e, UPPER_2, &mpHIO->mCut.mHorseCutCharge.m.mChargeAnm); + setFacePriBck(dRes_ID_ALANM_BCK_FAT_e); field_0x2f96 = 2; setSyncRide(1); @@ -2084,16 +2103,16 @@ int daAlink_c::procHorseCutChargeReadyInit() { } int daAlink_c::procHorseCutChargeReady() { - daPy_frameCtrl_c* temp_r30 = &mUpperFrameCtrl[2]; + daPy_frameCtrl_c* framectrl = &mUpperFrameCtrl[2]; if (!setSyncRide(1)) { return 1; } setSwordChargeVoiceSe(); - BOOL var_r30 = 0; + BOOL var_r30 = FALSE; - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { if (!checkWoodSwordEquip()) { simpleAnmPlay(m_nSwordBtk); } else { @@ -2105,7 +2124,7 @@ int daAlink_c::procHorseCutChargeReady() { } if (m_nSwordBtk->getFrame() >= 14.0f || mProcVar0.field_0x3008 >= 14.0f) { - var_r30 = 1; + var_r30 = TRUE; } } @@ -2130,10 +2149,10 @@ int daAlink_c::procHorseCutTurnInit() { } setSingleAnimeParam(ANM_HORSE_CUT_TURN, &mpHIO->mCut.mHorseCutCharge.m.mSpinAnm); - setCutType(43); + setCutType(CUT_TYPE_HORSE_TURN); setSyncRide(1); field_0x3478 = mpHIO->mCut.mHorseCutCharge.m.mSpinAttackRadius; - setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, 1, 3, field_0x3478 * 0.5f, 200.0f); + setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, dCcD_SE_SWORD, 3, field_0x3478 * 0.5f, 200.0f); mProcVar4.field_0x3010 = mpHIO->mCut.mHorseCutCharge.m.mSpinStopTime; voiceStart(Z2SE_AL_V_KAITEN); setCutWaterDropEffect(); @@ -2142,17 +2161,17 @@ int daAlink_c::procHorseCutTurnInit() { } int daAlink_c::procHorseCutTurn() { - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; if (!setSyncRide(1)) { return 1; } - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { procHorseWaitInit(); field_0x2060->initOldFrameMorf(4.0f, 0, 0x23); } else { - if (temp_r30->getFrame() > mpHIO->mCut.mHorseCutCharge.m.mSpinAnm.mCancelFrame) { + if (framectrl->getFrame() > mpHIO->mCut.mHorseCutCharge.m.mSpinAnm.mCancelFrame) { if (orderTalk(1)) { return 1; } @@ -2167,8 +2186,8 @@ int daAlink_c::procHorseCutTurn() { } } - if (temp_r30->getFrame() >= mpHIO->mCut.mHorseCutCharge.m.mSpinAttackStartFrame && temp_r30->getFrame() < mpHIO->mCut.mHorseCutCharge.m.mSpinAttackEndFrame) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (framectrl->getFrame() >= mpHIO->mCut.mHorseCutCharge.m.mSpinAttackStartFrame && framectrl->getFrame() < mpHIO->mCut.mHorseCutCharge.m.mSpinAttackEndFrame) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_KAITENGIRI); } @@ -2180,7 +2199,7 @@ int daAlink_c::procHorseCutTurn() { return 1; } -int daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) { +int daAlink_c::procHorseDamageInit(dCcD_GObjInf* i_hitObj) { commonProcInit(PROC_HORSE_DAMAGE); if (checkHorseRide()) { @@ -2189,39 +2208,41 @@ int daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) { setSyncRide(0); - static u16 const anmIdx[] = { - 0x00BA, - 0x00B8, - 0x00BB, - 0x00BC, - 0x00B9, + static const u16 anmIdx[] = { + dRes_ID_ALANM_BCK_DAMHFS_e, + dRes_ID_ALANM_BCK_DAMHBS_e, + dRes_ID_ALANM_BCK_DAMHLS_e, + dRes_ID_ALANM_BCK_DAMHRS_e, + dRes_ID_ALANM_BCK_DAMHDS_e, }; + u16 var_r26 = mUnderAnmHeap[0].getIdx(); + if (checkUnderMove0BckNoArc(ANM_HORSE_STOP) || checkUnderMove0BckNoArc(ANM_HORSE_STOP_TO_STAND) || checkUnderMove0BckNoArc(ANM_HORSE_STAND) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_B) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_A) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_START)) { mProcVar4.field_0x3010 = 0; mProcVar5.field_0x3012 = 0; setUpperAnimeParam(anmIdx[4], UPPER_2, &mpHIO->mDamage.mDamHorse.m.mNoDirectionAnm); } else { - cXyz* temp_r29 = getDamageVec(param_0); + cXyz* dmg_vec = getDamageVec(i_hitObj); f32 temp_f31 = cM_ssin(shape_angle.y); f32 temp_f1 = cM_scos(shape_angle.y); - cXyz spC((temp_r29->z * -temp_f31) + (temp_r29->x * temp_f1), temp_r29->y, (temp_r29->z * temp_f1) + (temp_r29->x * temp_f31)); + cXyz spC((dmg_vec->z * -temp_f31) + (dmg_vec->x * temp_f1), dmg_vec->y, (dmg_vec->z * temp_f1) + (dmg_vec->x * temp_f31)); mProcVar4.field_0x3010 = cLib_minMaxLimit(cM_atan2s(spC.z, spC.y), -mpHIO->mDamage.mDamHorse.m.mFrontBackBodyMaxAngle, mpHIO->mDamage.mDamHorse.m.mFrontBackBodyMaxAngle); - mProcVar5.field_0x3012 = cLib_minMaxLimit(cM_atan2s(spC.x, -JMAFastSqrt((spC.y * spC.y) + (spC.z * spC.z))), -mpHIO->mDamage.mDamHorse.m.mLeftRightBodyMaxAngle, mpHIO->mDamage.mDamHorse.m.mLeftRightBodyMaxAngle); + mProcVar5.field_0x3012 = cLib_minMaxLimit(cM_atan2s(spC.x, -JMAFastSqrt(SQUARE(spC.y) + SQUARE(spC.z))), -mpHIO->mDamage.mDamHorse.m.mLeftRightBodyMaxAngle, mpHIO->mDamage.mDamHorse.m.mLeftRightBodyMaxAngle); int direction = getDirectionFromAngle(cM_atan2s(-spC.x, -spC.z)); setUpperAnimeParam(anmIdx[direction], UPPER_2, &mpHIO->mDamage.mDamHorse.m.mWithDirectionAnm); } - setFacePriBck(0xEA); - setFacePriTexture((daAlink_c::daAlink_FTANM) 0x27); + setFacePriBck(dRes_ID_ALANM_BCK_FB_e); + setFacePriTexture(FTANM_B_A); voiceStart(Z2SE_AL_V_DAMAGE_S); seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); - daPy_frameCtrl_c* temp_r28 = &mUpperFrameCtrl[2]; - field_0x347c = M_PI / (temp_r28->getEnd() - temp_r28->getStart()); + daPy_frameCtrl_c* framectrl = &mUpperFrameCtrl[2]; + field_0x347c = M_PI / (framectrl->getEnd() - framectrl->getStart()); setHorseZeldaDamage(); onNoResetFlg1(FLG1_UNK_10000000); return 1; @@ -2232,21 +2253,24 @@ int daAlink_c::procHorseDamage() { return 1; } - daPy_frameCtrl_c* temp_r30 = &mUpperFrameCtrl[2]; - f32 temp_f1 = cM_fsin(field_0x347c * (temp_r30->getFrame() - temp_r30->getStart())); + daPy_frameCtrl_c* framectrl = &mUpperFrameCtrl[2]; + f32 temp_f1 = cM_fsin(field_0x347c * (framectrl->getFrame() - framectrl->getStart())); mBodyAngle.x = mProcVar4.field_0x3010 * temp_f1; mBodyAngle.z = -mProcVar5.field_0x3012 * temp_f1; mBodyAngle.y = 0; - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { resetUpperAnime(UPPER_2, 4.0f); procHorseWaitInit(); } + return 1; } int daAlink_c::procHorseBowSubjectInit() { + bool var_r30 = mProcID == PROC_HORSE_BOW_MOVE; + if (!commonProcInitNotSameProc(PROC_HORSE_BOW_SUBJECT)) { return 0; } @@ -2259,7 +2283,7 @@ int daAlink_c::procHorseBowSubjectInit() { } int daAlink_c::procHorseBowSubject() { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); if (!setSyncRidePos()) { return 1; @@ -2290,7 +2314,7 @@ int daAlink_c::procHorseBowMoveInit() { } int daAlink_c::procHorseBowMove() { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); if (!setSyncRidePos()) { return 1; @@ -2365,7 +2389,7 @@ int daAlink_c::procHorseBoomerangSubject() { } if (checkBoomerangReadyAnime()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (!setSyncRidePos()) { @@ -2407,7 +2431,7 @@ int daAlink_c::procHorseBoomerangMove() { } if (checkBoomerangReadyAnime()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (!setSyncRidePos()) { @@ -2435,14 +2459,18 @@ int daAlink_c::procHorseHookshotSubjectInit() { setSyncRidePos(); setBaseRideAnime(); initHookshotUpperAnimeSpeed(1); + + #if PLATFORM_GCN setHookshotReadyMaterial(); + #endif + dComIfGp_setPlayerStatus0(0, 0x4000); return 1; } int daAlink_c::procHorseHookshotSubject() { if (checkHookshotWait()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (!setSyncRidePos()) { @@ -2482,7 +2510,7 @@ int daAlink_c::procHorseHookshotMove() { cancelHookshotMove(); if (checkHookshotWait()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (!setSyncRidePos()) { @@ -2502,7 +2530,7 @@ int daAlink_c::procHorseHookshotMove() { return 1; } -int daAlink_c::procHorseBottleDrinkInit(u16 param_0) { +int daAlink_c::procHorseBottleDrinkInit(u16 i_itemNo) { if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { return 0; } @@ -2518,9 +2546,9 @@ int daAlink_c::procHorseBottleDrinkInit(u16 param_0) { setBaseRideAnime(); if (checkHorseRide()) { - daHorse_c* temp_r3 = dComIfGp_getHorseActor(); - temp_r3->changeOriginalDemo(); - temp_r3->changeDemoMode(0xE, 0); + daHorse_c* horse = dComIfGp_getHorseActor(); + horse->changeOriginalDemo(); + horse->changeDemoMode(0xE, 0); } else { mRideAcKeep.getActor()->speedF = 0.0f; } @@ -2529,7 +2557,7 @@ int daAlink_c::procHorseBottleDrinkInit(u16 param_0) { setFacePriAnime(ANM_BOTTLE_DRINK_START); keepItemData(); - setBottleModel(param_0); + setBottleModel(i_itemNo); dComIfGp_setPlayerStatus1(0, 0x2000); field_0x319c = 1; @@ -2539,7 +2567,7 @@ int daAlink_c::procHorseBottleDrinkInit(u16 param_0) { } int daAlink_c::procHorseBottleDrink() { - dComIfGp_getHorseActor(); + daHorse_c* horse = dComIfGp_getHorseActor(); if (!setSyncRidePos()) { resetUpperAnime(UPPER_2, 3.0f); @@ -2571,9 +2599,9 @@ int daAlink_c::procHorseKandelaarPourInit() { field_0x3478 = mRideAcKeep.getActor()->speedF; if (checkHorseRide()) { - daHorse_c* temp_r3 = dComIfGp_getHorseActor(); - temp_r3->changeOriginalDemo(); - temp_r3->changeDemoMode(1, 0); + daHorse_c* horse = dComIfGp_getHorseActor(); + horse->changeOriginalDemo(); + horse->changeDemoMode(1, 0); } else { mRideAcKeep.getActor()->speedF = 0.0f; } @@ -2603,6 +2631,7 @@ int daAlink_c::procHorseKandelaarPour() { mRideAcKeep.getActor()->speedF = field_0x3478; dComIfGp_getHorseActor()->cancelOriginalDemo(); } + return 1; } @@ -2625,12 +2654,12 @@ int daAlink_c::procHorseComeback() { field_0x2fab = 0x13; return procHorseWaitInit(); } else if (frameCtrl_p->getFrame() >= 78.0f) { - field_0x2fab |= 2; + field_0x2fab |= (u8)2; } else if (frameCtrl_p->getFrame() >= 75.0f) { - field_0x2f93 = 5; - field_0x2fab |= 0x10; + mRightHandIndex = 5; + field_0x2fab |= (u8)0x10; } else if (frameCtrl_p->getFrame() >= 68.0f) { - field_0x2fab |= 1; + field_0x2fab |= (u8)1; } else if (frameCtrl_p->checkPass(20.0f)) { voiceStart(Z2SE_AL_V_LANDING_FAIL_2); } @@ -2659,7 +2688,7 @@ int daAlink_c::procHorseRunInit() { } int daAlink_c::procHorseRun() { - daHorse_c* temp_r29 = dComIfGp_getHorseActor(); + daHorse_c* horse = dComIfGp_getHorseActor(); if (!setSyncHorsePos()) { mDoAud_changeSubBgmStatus(1); return 1; @@ -2670,41 +2699,41 @@ int daAlink_c::procHorseRun() { return 1; } - if (temp_r29->speedF > 0.0f) { + if (horse->speedF > 0.0f) { if (mProcVar3.field_0x300e != 0) { mProcVar3.field_0x300e--; } - if (temp_r29->checkRodeoLeft()) { + if (horse->checkRodeoLeft()) { if (mProcVar3.field_0x300e != 0) { - mProcVar5.field_0x3012 -= 150; + mProcVar5.field_0x3012 -= (s16)150; } else { - mProcVar5.field_0x3012 -= 600; + mProcVar5.field_0x3012 -= (s16)600; } if (mProcVar2.field_0x300c == 0) { - set3DStatus(0x7A, 4); + set3DStatus(BUTTON_STATUS_HOLD_ON, 4); } } else { if (mProcVar3.field_0x300e != 0) { - mProcVar5.field_0x3012 += 150; + mProcVar5.field_0x3012 += (s16)150; } else { - mProcVar5.field_0x3012 += 600; + mProcVar5.field_0x3012 += (s16)600; } if (mProcVar2.field_0x300c == 0) { - set3DStatus(0x7A, 1); + set3DStatus(BUTTON_STATUS_HOLD_ON, 1); } } if (checkInputOnR()) { - int temp_r3 = getDirectionFromAngle(mStickAngle); + int direction = getDirectionFromAngle(mStickAngle); s16 temp_r26 = mProcVar5.field_0x3012; - if (temp_r3 == DIR_LEFT && !temp_r29->checkRodeoLeft()) { - mProcVar5.field_0x3012 -= (600.0f + (256.0f * field_0x33a8)); - } else if (temp_r3 == DIR_RIGHT && temp_r29->checkRodeoLeft()) { - mProcVar5.field_0x3012 += (600.0f + (256.0f * field_0x33a8)); + if (direction == DIR_LEFT && !horse->checkRodeoLeft()) { + mProcVar5.field_0x3012 -= (600.0f + (256.0f * mStickValue)); + } else if (direction == DIR_RIGHT && horse->checkRodeoLeft()) { + mProcVar5.field_0x3012 += (600.0f + (256.0f * mStickValue)); } if (temp_r26 * mProcVar5.field_0x3012 <= 0) { @@ -2712,13 +2741,13 @@ int daAlink_c::procHorseRun() { } } - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; - f32 temp_f31 = temp_r28->getFrame() / temp_r28->getEnd(); + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + f32 temp_f31 = framectrl->getFrame() / framectrl->getEnd(); mProcVar4.field_0x3010 = (field_0x3478 * (1.0f + cM_fsin((M_PI*2) * (temp_f31 - 0.69999999f)))) + (4000.0f * (1.0f - fabsf(0.000099999997f * mProcVar5.field_0x3012))); field_0x3088 = field_0x3478 * (1.0f + cM_fsin((M_PI*2) * (temp_f31 - 1.0f))); - if (temp_r28->checkPass(0.0f)) { + if (framectrl->checkPass(0.0f)) { field_0x3478 = 1000.0f - cM_rndF(500.0f); } @@ -2735,13 +2764,13 @@ int daAlink_c::procHorseRun() { mDoAud_changeSubBgmStatus(1); } } - } else if (temp_r29->getRodeoPointCnt() && temp_r29->checkTurnStand()) { - setDoStatus(0x6F); + } else if (horse->getRodeoPointCnt() && horse->checkTurnStand()) { + setDoStatus(BUTTON_STATUS_SEIZE); if (doTrigger()) { field_0x32cc = 1; - onSceneChangeArea(17, 0xFF, 0); - temp_r29->offRodeoMode(); + onSceneChangeArea(17, 0xFF, NULL); + horse->offRodeoMode(); } else { mProcVar2.field_0x300c = 1; } @@ -2750,28 +2779,30 @@ int daAlink_c::procHorseRun() { return 1; } -int daAlink_c::procHorseHangInit(dCcD_GObjInf* param_0, int param_1) { +int daAlink_c::procHorseHangInit(dCcD_GObjInf* i_hitObj, BOOL i_isPlaySE) { if (checkBoarRide()) { - return procHorseDamageInit(param_0); + return procHorseDamageInit(i_hitObj); } commonProcInit(PROC_HORSE_HANG); - daAlink_ANM var_r30; - if ((s16)(getDamageVec(param_0)->atan2sX_Z() - shape_angle.y) > 0) { - var_r30 = ANM_HORSE_DMG_LEFT; + daAlink_ANM anm; + cXyz* dmg_vec = getDamageVec(i_hitObj); + s16 var_r28 = dmg_vec->atan2sX_Z(); + if ((s16)(var_r28 - shape_angle.y) > 0) { + anm = ANM_HORSE_DMG_LEFT; field_0x32cc = 0x58; mProcVar4.field_0x3010 = 1; mProcVar5.field_0x3012 = 2; } else { - var_r30 = ANM_HORSE_DMG_RIGHT; + anm = ANM_HORSE_DMG_RIGHT; field_0x32cc = 0x59; mProcVar4.field_0x3010 = 2; mProcVar5.field_0x3012 = 1; } field_0x2fab &= ~mProcVar5.field_0x3012; - setSingleAnimeBase(var_r30); + setSingleAnimeBase(anm); mProcVar3.field_0x300e = 0; field_0x3004 = 0; field_0x3002 = 0; @@ -2780,7 +2811,7 @@ int daAlink_c::procHorseHangInit(dCcD_GObjInf* param_0, int param_1) { setSyncHorsePos(); setHorseZeldaDamage(); - if (param_1) { + if (i_isPlaySE) { voiceStart(Z2SE_AL_V_DAMAGE_ON_HORSE); seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); } @@ -2795,7 +2826,7 @@ int daAlink_c::procHorseHang() { if (checkHorseSpecialProc()) { if (checkSpecialHorseRide()) { - field_0x2fab |= 3; + field_0x2fab |= (u8)3; } else { boarForceGetOff(); } @@ -2803,9 +2834,9 @@ int daAlink_c::procHorseHang() { return 1; } - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (checkAnmEnd(temp_r30)) { + if (checkAnmEnd(framectrl)) { if (mProcVar3.field_0x300e == 0) { mProcVar3.field_0x300e = 1; voiceStart(Z2SE_AL_V_CLING_HORSE); @@ -2814,12 +2845,12 @@ int daAlink_c::procHorseHang() { checkNextActionHorse(); } } else if (mProcVar3.field_0x300e == 0) { - if (temp_r30->checkPass(7.0f)) { + if (framectrl->checkPass(7.0f)) { field_0x2fab &= ~mProcVar4.field_0x3010; - } else if (temp_r30->checkPass(36.0f)) { + } else if (framectrl->checkPass(36.0f)) { field_0x2fab |= mProcVar4.field_0x3010; } - } else if (temp_r30->checkPass(7.0f)) { + } else if (framectrl->checkPass(7.0f)) { field_0x2fab |= mProcVar5.field_0x3012; } @@ -2845,13 +2876,13 @@ int daAlink_c::procHorseGetKey() { if (checkAnmEnd(frameCtrl_p)) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else if (frameCtrl_p->getFrame() >= 34.0f) { - field_0x2f92 = 254; - field_0x2f93 = 254; + mLeftHandIndex = 254; + mRightHandIndex = 254; mProcVar2.field_0x300c = 1; } else if (frameCtrl_p->getFrame() >= 12.0f) { - field_0x2f92 = 2; + mLeftHandIndex = 2; } else if (frameCtrl_p->getFrame() >= 5.0f) { - field_0x2f92 = 3; + mLeftHandIndex = 3; } return 1; @@ -2878,6 +2909,7 @@ int daAlink_c::procHorseLookDown() { if (checkAnmEnd(mUnderFrameCtrl)) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } + return 1; } @@ -2899,8 +2931,8 @@ int daAlink_c::procBoarRunInit() { } int daAlink_c::procBoarRun() { - e_wb_class* temp_r30 = (e_wb_class*)mRideAcKeep.getActor(); - fopAc_ac_c* temp_r29 = (fopAc_ac_c*)temp_r30; + e_wb_class* boar = (e_wb_class*)mRideAcKeep.getActor(); + fopAc_ac_c* boar_actor = (fopAc_ac_c*)boar; if (mProcVar3.field_0x300e == 0 && checkAnmEnd(&mUnderFrameCtrl[0])) { setSingleAnimeBaseSpeed(ANM_HORSE_TAME_WAIT_B, 0.0f, -1.0f); @@ -2911,17 +2943,17 @@ int daAlink_c::procBoarRun() { return 1; } - if (temp_r29->speedF > 0.0f && mProcVar3.field_0x300e != 0) { - mProcVar4.field_0x3010 = (field_0x3478 * (1.0f + cM_fsin((M_PI*2) * (temp_r30->getAnimeFrameRate() - 0.2f)))) - 2000.0f; - field_0x3088 = field_0x3478 * (1.0f + cM_fsin((M_PI*2) * (temp_r30->getAnimeFrameRate() - 0.4f))); + if (boar_actor->speedF > 0.0f && mProcVar3.field_0x300e != 0) { + mProcVar4.field_0x3010 = (field_0x3478 * (1.0f + cM_fsin((M_PI*2) * (boar->getAnimeFrameRate() - 0.2f)))) - 2000.0f; + field_0x3088 = field_0x3478 * (1.0f + cM_fsin((M_PI*2) * (boar->getAnimeFrameRate() - 0.4f))); - if (temp_r30->checkAnmLoopFrame()) { + if (boar->checkAnmLoopFrame()) { field_0x3478 = 3000.0f - cM_rndF(1500.0f); } } else if (mProcVar2.field_0x300c == 0) { if (mUnderFrameCtrl[0].getFrame() >= 14.0f) { - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; mProcVar2.field_0x300c = 1; } } diff --git a/src/d/actor/d_a_alink_hvyboots.inc b/src/d/actor/d_a_alink_hvyboots.inc index a1fc4f7680..ccea1765f2 100644 --- a/src/d/actor/d_a_alink_hvyboots.inc +++ b/src/d/actor/d_a_alink_hvyboots.inc @@ -18,9 +18,9 @@ void daAlink_c::concatMagneBootInvMtx() { } } -void daAlink_c::multVecMagneBootInvMtx(cXyz* vec) { +void daAlink_c::multVecMagneBootInvMtx(cXyz* o_dst) { if (checkMagneBootsOn()) { - mDoMtx_multVecSR(mMagneBootInvMtx, vec, vec); + mDoMtx_multVecSR(mMagneBootInvMtx, o_dst, o_dst); } } @@ -35,7 +35,7 @@ bool daAlink_c::commonMagneLineCheck(cXyz* i_start, cXyz* i_end) { } BOOL daAlink_c::checkBootsMoveAnime(int param_0) { - return (checkHeavyStateOn(param_0, 1) && !checkNoResetFlg0(FLG0_UNDERWATER)) || + return (checkHeavyStateOn(param_0, 1) && !checkNoResetFlg0(FLG0_WATER_IN_MOVE)) || checkDkCaught2Anime(); } @@ -56,7 +56,7 @@ int daAlink_c::setHeavyBoots(int param_0) { deleteEquipItem(TRUE, FALSE); } - if (checkNoResetFlg0(FLG0_UNDERWATER) && !dComIfGp_checkPlayerStatus1(0, 0x2000000)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE) && !dComIfGp_checkPlayerStatus1(0, 0x2000000)) { return procSwimWaitInit(0); } @@ -92,7 +92,6 @@ int daAlink_c::setHeavyBoots(int param_0) { return 0; } - s16 daAlink_c::getMagneBootsLocalAngleY(s16 param_0, int param_1) { if (param_1 == 1 || (param_1 != 2 && field_0x3114 <= 0x4000 && field_0x3114 != -0x8000)) { return param_0; @@ -107,12 +106,12 @@ s16 daAlink_c::getMagneBootsLocalAngleY(s16 param_0, int param_1) { return vec.atan2sX_Z(); } - void daAlink_c::setMagneBootsMtx(cBgS_PolyInfo* i_polyinfo, int param_1) { cM3dGPla poly; dComIfG_Bgsp().GetTriPla(*i_polyinfo, &poly); s16 var_r28 = cM_atan2s(poly.mNormal.absXZ(), poly.mNormal.y); + s16 var_r26 = field_0x3116; int temp_r3_2 = abs(var_r28); if (temp_r3_2 < 500) { var_r28 = 0; @@ -145,16 +144,14 @@ void daAlink_c::setMagneBootsMtx(cBgS_PolyInfo* i_polyinfo, int param_1) { cXyz sp44 = mMagneBootsTopVec.outprod(poly.mNormal); sp44.normalizeZP(); - f32 var_f1_2 = JMAFastSqrt(1.0f - temp_f1 * temp_f1); - f32 temp_f1_2 = cM_atan2f(var_f1_2, temp_f1); + f32 temp_f1_2 = cM_atan2f(JMAFastSqrt(1.0f - temp_f1 * temp_f1), temp_f1); f32 var_f2 = temp_f1_2 * 0.2f; if (var_f2 > 0.4f) { var_f2 = 0.4f; } else if (var_f2 < 0.025f) { var_f2 = 0.025f; - - if (0.025f > temp_f1_2) { + if (var_f2 > temp_f1_2) { var_f2 = temp_f1_2; } } @@ -167,10 +164,10 @@ void daAlink_c::setMagneBootsMtx(cBgS_PolyInfo* i_polyinfo, int param_1) { field_0x3114 = cM_atan2s(sp40.absXZ(), sp40.y); - int temp_r3_4 = abs(field_0x3114); - if (temp_r3_4 < 500) { + temp_r3_2 = abs(field_0x3114); + if (temp_r3_2 < 500) { field_0x3114 = 0; - } else if (temp_r3_4 > 0x7E0B) { + } else if (temp_r3_2 > 0x7E0B) { field_0x3114 = -0x8000; } @@ -189,7 +186,7 @@ void daAlink_c::setMagneBootsMtx(cBgS_PolyInfo* i_polyinfo, int param_1) { s16 angle = sp40.atan2sX_Z(); shape_angle.y += angle; current.angle.y += angle; - field_0x2fe6 += angle; + mPrevAngleY += angle; field_0x310c += angle; } } @@ -201,7 +198,6 @@ void daAlink_c::setMagneBootsMtx(cBgS_PolyInfo* i_polyinfo, int param_1) { mDoMtx_multVec(mMagneBootMtx, &cXyz::BaseY, &mMagneBootsTopVec); } - int daAlink_c::cancelMagneBootsOn() { offNoResetFlg0(FLG0_MAGNE_BOOTS_ON); mZ2Link.setMagnetized(false); @@ -221,10 +217,10 @@ int daAlink_c::cancelMagneBootsOn() { current.pos += mMagneBootsTopVec * 100.0f; mLinkGndChk.SetPos(¤t.pos); - f32 gnd_cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk); + f32 ground_y = dComIfG_Bgsp().GroundCross(&mLinkGndChk); current.pos.y -= 100.0f; - if (gnd_cross > current.pos.y) { - current.pos.y = gnd_cross; + if (ground_y > current.pos.y) { + current.pos.y = ground_y; } old.pos = current.pos; @@ -242,7 +238,6 @@ int daAlink_c::cancelMagneBootsOn() { return 0; } - int daAlink_c::checkMagneBootsFly() { if (field_0x2fb8 != 0 && checkEquipHeavyBoots() && !checkDeadHP() && mProcID != PROC_MAGNE_BOOTS_FLY && !checkEventRun()) @@ -291,14 +286,13 @@ int daAlink_c::procBootsEquip() { onModeFlg(4); checkNextAction(1); } else if (frameCtrl_p->getFrame() >= 5.0f) { - field_0x2f92 = 1; - field_0x2f93 = 6; + mLeftHandIndex = 1; + mRightHandIndex = 6; } return 1; } - int daAlink_c::procMagneBootsFlyInit() { cXyz sp44 = field_0x369c.normZP(); cM3dGPla sp50(&sp44, -sp44.inprod(field_0x3834)); @@ -338,20 +332,27 @@ int daAlink_c::procMagneBootsFlyInit() { } field_0x3478 = 0.0f; - field_0x594 = mpHIO->mItem.mIronBoots.m.mMaxMagneFlySpeed; + mMaxSpeed = mpHIO->mItem.mIronBoots.m.mMaxMagneFlySpeed; mProcVar2.field_0x300c = 0; voiceStart(Z2SE_AL_V_MAGNET_CAUGHT); return 1; } - int daAlink_c::procMagneBootsFly() { field_0x3478 += mpHIO->mItem.mIronBoots.m.mMagneFlyAccelRate; - if (field_0x3478 > field_0x594) { - field_0x3478 = field_0x594; + if (field_0x3478 > mMaxSpeed) { + field_0x3478 = mMaxSpeed; } - if (dComIfG_Bgsp().ChkPolySafe(mPolyInfo2) && checkEquipHeavyBoots()) { + /* !@bug - If iron boots are unequipped mid-flight, player will still stick to magnetic poly + * Fixed in GCN and Wii KOR versions by adding a checkEquipHeavyBoots check + */ + if (dComIfG_Bgsp().ChkPolySafe(mPolyInfo2) + #if PLATFORM_GCN || VERSION == VERSION_WII_KOR + && checkEquipHeavyBoots() + #endif + ) + { if (dComIfG_Bgsp().ChkMoveBG(mPolyInfo2)) { cXyz old_37c8(field_0x37c8); dComIfG_Bgsp().MoveBgTransPos(mPolyInfo2, true, &field_0x37c8, NULL, NULL); @@ -377,7 +378,7 @@ int daAlink_c::procMagneBootsFly() { cLib_addCalcAngleS(&shape_angle.x, sp24.atan2sY_XZ() + -0x4000, 5, 0x1000, 0x100); cLib_addCalcAngleS(&shape_angle.y, sp24.atan2sX_Z(), 5, 0x1000, 0x100); - mProcVar2.field_0x300c += 0x1C00; + mProcVar2.field_0x300c += (s16)0x1C00; } return 1; diff --git a/src/d/actor/d_a_alink_iceleaf.inc b/src/d/actor/d_a_alink_iceleaf.inc index b65645f7ef..9959c04fef 100644 --- a/src/d/actor/d_a_alink_iceleaf.inc +++ b/src/d/actor/d_a_alink_iceleaf.inc @@ -8,6 +8,8 @@ #include "SSystem/SComponent/c_math.h" static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_Obj_IceLeaf) { return i_actor; } @@ -19,8 +21,8 @@ bool daAlink_c::checkSnowCode() const { return mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || mGndPolySpecialCode == dBgW_SPCODE_LIGHT_SNOW; } -bool daAlink_c::checkSnowCodePolygon(cBgS_PolyInfo& i_poly) { - int code = dComIfG_Bgsp().GetSpecialCode(i_poly); +bool daAlink_c::checkSnowCodePolygon(cBgS_PolyInfo& i_polyinfo) { + int code = dComIfG_Bgsp().GetSpecialCode(i_polyinfo); return code == dBgW_SPCODE_HEAVY_SNOW || code == dBgW_SPCODE_LIGHT_SNOW; } @@ -47,7 +49,7 @@ int daAlink_c::boardCommon(BOOL i_canMove) { for (int i = 0; i < 3; i++) { if (mAcchCir[i].ChkWallHit() && cLib_distanceAngleS(sp8, mAcchCir[i].GetWallAngleY()) <= 0x2000 && mNormalSpeed > 30.0f) { setJumpMode(); - return procCoLargeDamageInit(-4, 1, 0, 0, NULL, 0); + return procCoLargeDamageInit(-4, TRUE, 0, 0, NULL, 0); } } } @@ -66,14 +68,14 @@ int daAlink_c::boardCommon(BOOL i_canMove) { s16 var_r27; if (mLinkAcch.ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) { - cM3dGPla poly; - dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &poly); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &tripla); - mProcVar3.field_0x300e = cM_atan2s(poly.mNormal.absXZ(), poly.mNormal.y); + mProcVar3.field_0x300e = cM_atan2s(tripla.mNormal.absXZ(), tripla.mNormal.y); if (mProcVar3.field_0x300e == 0) { var_r27 = shape_angle.y; } else { - var_r27 = poly.mNormal.atan2sX_Z(); + var_r27 = tripla.mNormal.atan2sX_Z(); } } else { mProcVar3.field_0x300e = 0; @@ -82,7 +84,7 @@ int daAlink_c::boardCommon(BOOL i_canMove) { if (mProcVar0.field_0x3008 != 0) { mProcVar0.field_0x3008--; - onResetFlg1(RFLG1_UNK_40); + onResetFlg1(RFLG1_BOARD_NO_FOOT_ANGLE); } f32 var_f30 = 0.0f; @@ -90,10 +92,10 @@ int daAlink_c::boardCommon(BOOL i_canMove) { s16 var_r24; if (checkInputOnR() && i_canMove) { - var_r24 = 1024.0f * field_0x33ac * cM_ssin(mStickAngle); + var_r24 = 1024.0f * mMoveValue * cM_ssin(mStickAngle); if (temp_r26 > 0x6000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT) { - f32 temp_f29 = field_0x33ac * cM_scos((0x8000 - temp_r26) * 2); + f32 temp_f29 = mMoveValue * cM_scos((0x8000 - temp_r26) * 2); f32 speed_step = temp_f29; if (speed_step < 0.15f) { @@ -178,8 +180,8 @@ int daAlink_c::boardCommon(BOOL i_canMove) { f32 temp_f26 = (var_f31 * cM_scos(var_r27)) + (mNormalSpeed * cM_scos(shape_angle.y)); mNormalSpeed = JMAFastSqrt((temp_f27 * temp_f27) + (temp_f26 * temp_f26)); - if (mNormalSpeed > field_0x594) { - mNormalSpeed = field_0x594; + if (mNormalSpeed > mMaxSpeed) { + mNormalSpeed = mMaxSpeed; } if (mNormalSpeed > 0.1f) { @@ -203,8 +205,8 @@ int daAlink_c::boardCommon(BOOL i_canMove) { setCommonBoardAnime(FALSE); } - if (mNormalSpeed > (0.7f * field_0x594)) { - cLib_chaseF(&mNormalSpeed, 0.7f * field_0x594, 1.5f); + if (mNormalSpeed > (0.7f * mMaxSpeed)) { + cLib_chaseF(&mNormalSpeed, 0.7f * mMaxSpeed, 1.5f); } } @@ -227,19 +229,27 @@ int daAlink_c::boardCommon(BOOL i_canMove) { return 0; } -void daAlink_c::setCommonBoardAnime(BOOL i_is_ride_front) { +void daAlink_c::setCommonBoardAnime(BOOL i_isRideFront) { + // Fakematch, retail should use mpHIO->mItem.mBoard.m.mStandAnmSpeed and mpHIO->mItem.mBoard.m.mStandInterpolation + #if DEBUG + setDoubleAnime( + 0.0f, + mpHIO->mItem.mBoard.m.mStandAnmSpeed, + 1.0f, + i_isRideFront ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP, + 11, + mpHIO->mItem.mBoard.m.mStandInterpolation + ); + #else setDoubleAnime( 0.0f, - // Fakematch, should be - // mpHIO->mItem.mBoard.m.mStandAnmSpeed, daAlinkHIO_board_c0::m.mStandAnmSpeed, 1.0f, - i_is_ride_front ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP, + i_isRideFront ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP, 11, - // Fakematch, should be - // mpHIO->mItem.mBoard.m.mStandInterpolation daAlinkHIO_board_c0::m.mStandInterpolation ); + #endif } int daAlink_c::checkNextActionBoard() { @@ -296,7 +306,7 @@ int daAlink_c::procBoardRideInit() { setHeavyBoots(0); if (mEquipItem != 0x103) { - deleteEquipItem(1, 1); + deleteEquipItem(TRUE, TRUE); } else { offKandelaarModel(); } @@ -335,7 +345,8 @@ int daAlink_c::procBoardRide() { return 1; } -int daAlink_c::procBoardWaitInit(fopAc_ac_c* i_board) { +int daAlink_c::procBoardWaitInit(fopAc_ac_c* i_boardActor) { + #if PLATFORM_GCN if (mEquipItem != 0x103) { deleteEquipItem(TRUE, TRUE); } else { @@ -347,23 +358,24 @@ int daAlink_c::procBoardWaitInit(fopAc_ac_c* i_board) { if (!checkBoardRide()) { resetUpperAnime(UPPER_2, -1.0f); } + #endif - if (checkModeFlg(2) && i_board == NULL) { + if (checkModeFlg(2) && i_boardActor == NULL) { return procBoardJumpInit(0.0f, TRUE); } - BOOL prev_ride = mProcID == PROC_BOARD_RIDE; + BOOL is_prev_boardRide = mProcID == PROC_BOARD_RIDE; if (!commonProcInitNotSameProc(PROC_BOARD_WAIT)) { return 0; } current.angle.y = shape_angle.y; - if (i_board != NULL) { - mRideAcKeep.setData(i_board); - ((daObjIceLeaf_c*)i_board)->onRide(); + if (i_boardActor != NULL) { + mRideAcKeep.setData(i_boardActor); + ((daObjIceLeaf_c*)i_boardActor)->onRide(); - if (prev_ride) { + if (is_prev_boardRide) { f32 speed_ratio = mNormalSpeed / mpHIO->mMove.m.mMaxSpeed; if (speed_ratio > 1.0f) { speed_ratio = 1.0f; @@ -374,13 +386,13 @@ int daAlink_c::procBoardWaitInit(fopAc_ac_c* i_board) { mNormalSpeed = 0.0f; } - field_0x594 = mpHIO->mItem.mBoard.m.mMaxSpeed; + mMaxSpeed = mpHIO->mItem.mBoard.m.mMaxSpeed; mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = 0; setCommonBoardAnime(FALSE); } - mRideStatus = 4; + mRideStatus = RIDETYPE_BOARD; mProcVar5.field_0x3012 = 0; mProcVar1.field_0x300a = 0; return 1; @@ -423,7 +435,7 @@ int daAlink_c::procBoardWait() { return procBoardCutInit(); } else if (mProcVar5.field_0x3012 == 0) { if (!checkModeFlg(2) && mProcID != PROC_BOARD_ROW) { - setDoStatus(0xA); + setDoStatus(BUTTON_STATUS_CROUCH); if (doButton()) { f32 blend_ratio; @@ -440,7 +452,7 @@ int daAlink_c::procBoardWait() { } } else if (mProcVar5.field_0x3012 != 0) { if (mNormalSpeed > 15.0f) { - setDoStatus(0x19); + setDoStatus(BUTTON_STATUS_JUMP); } if (!doButton()) { @@ -463,7 +475,7 @@ int daAlink_c::procBoardWait() { int daAlink_c::procBoardRowInit() { commonProcInit(PROC_BOARD_ROW); setSingleAnimeBaseSpeed(ANM_RIDE_KICK, getBoardRowAnmSpeed(), mpHIO->mItem.mBoard.m.mPushInterpolation); - onResetFlg1(RFLG1_UNK_40); + onResetFlg1(RFLG1_BOARD_NO_FOOT_ANGLE); mProcVar0.field_0x3008 = 4; mProcVar4.field_0x3010 = 1; mProcVar5.field_0x3012 = 0; @@ -476,7 +488,7 @@ int daAlink_c::procBoardRow() { } if (mProcVar4.field_0x3010 != 0) { - onResetFlg1(RFLG1_UNK_40); + onResetFlg1(RFLG1_BOARD_NO_FOOT_ANGLE); mProcVar0.field_0x3008 = 4; } @@ -492,7 +504,6 @@ int daAlink_c::procBoardRow() { } } else if (frame_ctrl->checkPass(7.0f)) { mNormalSpeed += mpHIO->mItem.mBoard.m.mPushAccel; - if (mNormalSpeed > mpHIO->mItem.mBoard.m.mMaxPushSpeed) { mNormalSpeed = mpHIO->mItem.mBoard.m.mMaxPushSpeed; } @@ -530,7 +541,7 @@ int daAlink_c::procBoardTurn() { mProcVar1.field_0x300a = 1; } } else { - cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 5, 0x1B58, 0x7D0); + cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 5, 7000, 2000); current.angle.y = shape_angle.y; if (!checkModeFlg(2)) { @@ -544,7 +555,7 @@ int daAlink_c::procBoardTurn() { return 1; } -int daAlink_c::procBoardJumpInit(f32 i_jump_speed, BOOL i_no_speed_set) { +int daAlink_c::procBoardJumpInit(f32 i_jumpSpeed, BOOL i_isNoSpeed) { commonProcInit(PROC_BOARD_JUMP); mProcVar0.field_0x3008 = 0; mProcVar5.field_0x3012 = 1; @@ -554,8 +565,8 @@ int daAlink_c::procBoardJumpInit(f32 i_jump_speed, BOOL i_no_speed_set) { mpHIO->mItem.mBoard.m.mAirborneAnm.mEndFrame, mpHIO->mItem.mBoard.m.mAirborneAnm.mInterpolation); - if (!i_no_speed_set) { - speed.y = cLib_minMaxLimit(i_jump_speed, mpHIO->mItem.mBoard.m.mMinJumpSpeedY, mpHIO->mItem.mBoard.m.mMaxJumpSpeedY); + if (!i_isNoSpeed) { + speed.y = cLib_minMaxLimit(i_jumpSpeed, mpHIO->mItem.mBoard.m.mMinJumpSpeedY, mpHIO->mItem.mBoard.m.mMaxJumpSpeedY); } mProcVar4.field_0x3010 = 0; @@ -588,7 +599,6 @@ int daAlink_c::procBoardSubjectivityInit() { commonProcBoardInit(PROC_BOARD_SUBJECTIVITY); setSubjectMode(); setCommonBoardAnime(FALSE); - return 1; } @@ -603,7 +613,7 @@ int daAlink_c::procBoardSubjectivity() { shape_angle.y = old_shape_angle; - if (checkSubjectEnd(1)) { + if (checkSubjectEnd(TRUE)) { procBoardWaitInit(NULL); } else { setRideSubjectAngle(old_angle); @@ -615,17 +625,10 @@ int daAlink_c::procBoardSubjectivity() { int daAlink_c::procBoardCutInit() { commonProcBoardInit(PROC_BOARD_CUT); - bool cut_charge = false; - if (checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE)) { - if (mUnderFrameCtrl[0].getFrame() > mpHIO->mCut.m.mNormalSwingDuration) { - cut_charge = true; - } - } - + bool isCutCharge = checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE) && mUnderFrameCtrl[0].getFrame() > mpHIO->mCut.m.mNormalSwingDuration; setCommonBoardAnime(FALSE); - setCutDash(1, cut_charge); + setCutDash(1, isCutCharge); mProcVar5.field_0x3012 = 0; - return 1; } @@ -660,7 +663,7 @@ int daAlink_c::procBoardCutTurnInit() { } mProcVar5.field_0x3012 = 0; - resetCombo(1); + resetCombo(TRUE); field_0x3478 = mpHIO->mCut.mCutTurn.m.mAttackRadius; field_0x347c = 0.5f * field_0x3478; @@ -680,14 +683,14 @@ int daAlink_c::procBoardCutTurn() { daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0]; if (frame_ctrl->getFrame() >= 4.0f && frame_ctrl->getFrame() < 14.0f) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { seStartSwordCut(Z2SE_AL_KAITENGIRI); } onResetFlg0(RFLG0_UNK_2); cLib_chaseF(&field_0x347c, field_0x3478, 20.0f); - field_0xFB8.SetR(field_0x347c); - onResetFlg1(RFLG1_UNK_40); + mAtSph.SetR(field_0x347c); + onResetFlg1(RFLG1_BOARD_NO_FOOT_ANGLE); } else { mProcVar5.field_0x3012 = 0; } diff --git a/src/d/actor/d_a_alink_ironball.inc b/src/d/actor/d_a_alink_ironball.inc index a716b8587e..76eb232c22 100644 --- a/src/d/actor/d_a_alink_ironball.inc +++ b/src/d/actor/d_a_alink_ironball.inc @@ -42,10 +42,11 @@ bool daAlink_c::checkIronBallGroundStop() const { void daAlink_c::setIronBallWaitUpperAnime(int param_0) { if (!checkIronBallWaitAnime() && !checkIronBallPreSwingAnime() && - (mItemVar0.field_0x3018 == 0 || mItemVar0.field_0x3018 == 8) && (param_0 || checkNoUpperAnime())) { - setUpperAnimeBaseSpeed(0x19C, mpHIO->mItem.mIronBall.m.mWaitAnmSpeed, + (mItemVar0.field_0x3018 == 0 || mItemVar0.field_0x3018 == 8) && (param_0 || checkNoUpperAnime())) + { + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_IBWAIT_e, mpHIO->mItem.mIronBall.m.mWaitAnmSpeed, mpHIO->mBasic.m.mBasicInterpolation); - setFacePriBck(0xE8); + setFacePriBck(dRes_ID_ALANM_BCK_FAT_e); field_0x2f96 = 254; field_0x2f97 = 5; mItemVar0.field_0x3018 = 0; @@ -66,7 +67,7 @@ void daAlink_c::checkIronBallDelete() { } } -void daAlink_c::setIronBallReturn(int param_0) { +void daAlink_c::setIronBallReturn(BOOL param_0) { if (param_0 && field_0x301e != 0) { field_0x301e--; } else if (mItemVar0.field_0x3018 != 7) { @@ -89,8 +90,8 @@ void daAlink_c::setIronBallBgCheckPos() { void daAlink_c::setIronBallModel() { JKRHeap* prev_heap = setItemHeap(); - mHeldItemModel = initModelEnv(loadAramBmd(0x311, 0x2800), 0); - mpItemModelData = loadAramBmd(0x317, 0x1000); + mHeldItemModel = initModelEnv(loadAramBmd(dRes_ID_ALANM_BMD_AL_IB_e, 0x2800), 0); + mpItemModelData = loadAramBmd(dRes_ID_ALANM_BMD_AL_HS_KUSARI_e, 0x1000); mpHookChain = new hsChainShape_c(); mIronBallChainPos = new cXyz[102]; @@ -113,12 +114,12 @@ void daAlink_c::setIronBallModel() { mpHookChain->setUserArea((uintptr_t)this); - field_0xFB8.SetAtType(AT_TYPE_IRON_BALL); - field_0xFB8.SetAtHitMark(3); - field_0xFB8.SetAtSe(dCcD_SE_HAMMER); - field_0xFB8.SetAtAtp(2); - field_0xFB8.SetAtMtrl(dCcD_MTRL_NONE); - field_0xFB8.SetR(mpHIO->mItem.mIronBall.m.mAttackRadius); + mAtSph.SetAtType(AT_TYPE_IRON_BALL); + mAtSph.SetAtHitMark(3); + mAtSph.SetAtSe(dCcD_SE_HAMMER); + mAtSph.SetAtAtp(2); + mAtSph.SetAtMtrl(dCcD_MTRL_NONE); + mAtSph.SetR(mpHIO->mItem.mIronBall.m.mAttackRadius); csXyz* var_r28 = mIronBallChainAngle; for (int i = 0; i < 102; i++, var_r28++) { @@ -158,7 +159,7 @@ void daAlink_c::setIronBallModel() { field_0x3024 = 0; field_0x3026 = 0; - field_0x173c.Init(0xDC, 0xFF, this); + field_0x173c.Init(220, 0xFF, this); field_0x1778.Set(l_sphSrc); field_0x1778.SetStts(&field_0x173c); field_0x1778.OffTgSetBit(); @@ -289,11 +290,11 @@ void daAlink_c::setIronBallChainPos() { *var_r26 = (*var_r29 - sp28C) * mpHIO->mItem.mIronBall.m.mChainSpeedRate; } } else if (mItemVar0.field_0x3018 == 1 || mItemVar0.field_0x3018 == 3 || mItemVar0.field_0x3018 == 4) { - daPy_frameCtrl_c* sp30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; if (mItemVar0.field_0x3018 == 1) { - f32 temp_f25 = sp30->getEnd() - 13.0f; - f32 temp_f29 = (sp30->getFrame() - 13.0f) / temp_f25; + f32 temp_f25 = framectrl->getEnd() - 13.0f; + f32 temp_f29 = (framectrl->getFrame() - 13.0f) / temp_f25; s16 sp12 = -16384.0f - (14336.0f * temp_f29); mDoMtx_stack_c::ZXYrotS(mBodyAngle.x, shape_angle.y, 0); @@ -310,7 +311,7 @@ void daAlink_c::setIronBallChainPos() { mDoMtx_stack_c::ZXYrotS(mBodyAngle.x, shape_angle.y, 0); mDoMtx_stack_c::multVec(&sp268, &sp298); - sp38 = 2.0f * (1.0f + sp30->getFrame()); + sp38 = 2.0f * (1.0f + framectrl->getFrame()); } else { sp38 = -1; } @@ -448,8 +449,9 @@ BOOL daAlink_c::checkIronBallReturnChange() { if (mProcID != PROC_IRON_BALL_THROW || (!(mBodyAngle.x > 0x400) && mIronBallBgChkPos.y < (current.pos.y - 200.0f)) || (mBodyAngle.x > 0x400 && mItemMode == 0x64) || - (field_0xFB8.ChkAtHit() && field_0xFB8.GetAtHitGObj() != NULL && - static_cast(field_0xFB8.GetAtHitGObj())->ChkTgIronBallRebound())) { + (mAtSph.ChkAtHit() && mAtSph.GetAtHitGObj() != NULL && + static_cast(mAtSph.GetAtHitGObj())->ChkTgIronBallRebound())) + { setIronBallReturn(0); return true; } @@ -465,7 +467,7 @@ void daAlink_c::setIronBallPos() { cXyz spDC; cXyz spD0(mIronBallCenterPos); - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(0xF)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(15)); mDoMtx_stack_c::transM(-1.0f, -6.0f, -3.6f); mDoMtx_stack_c::XYZrotM(cM_deg2s(150.0f), cM_deg2s(-81.0f), cM_deg2s(111.0f)); @@ -478,7 +480,7 @@ void daAlink_c::setIronBallPos() { mDoMtx_stack_c::multVecZero(&mHeldItemRootPos); mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &field_0x316c); mDoMtx_multVecZero(mpLinkModel->getAnmMtx(9), &sp10C); - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(0xE), &sp100); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(14), &sp100); spE8 = (sp10C + sp100) * 0.5f; @@ -494,12 +496,12 @@ void daAlink_c::setIronBallPos() { cXyz spC4; cXyz spB8; - if (field_0xFB8.ChkAtHit()) { + if (mAtSph.ChkAtHit()) { dComIfGp_getVibration().StartShock(3, 1, cXyz(0.0f, 1.0f, 0.0f)); } if (mItemVar0.field_0x3018 == 0) { - mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(0xA)); + mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(10)); mDoMtx_stack_c::transM(-35.3f, -9.5f, -16.0f); mDoMtx_stack_c::XYZrotM(cM_deg2s(61.5f), cM_deg2s(-2.5f), cM_deg2s(50.3f)); mDoMtx_stack_c::multVecZero(mIronBallChainPos); @@ -513,8 +515,8 @@ void daAlink_c::setIronBallPos() { mItemMode = 6; } else if (mItemVar0.field_0x3018 != 1) { if (mItemVar0.field_0x3018 == 2) { - daPy_frameCtrl_c* temp_r24 = &mUpperFrameCtrl[2]; - s16 sp10 = 32768.0f - (65536.0f * (temp_r24->getFrame() / temp_r24->getEnd())); + daPy_frameCtrl_c* framectrl = &mUpperFrameCtrl[2]; + s16 sp10 = 32768.0f - (65536.0f * (framectrl->getFrame() / framectrl->getEnd())); mItemMode = 3; @@ -570,13 +572,13 @@ void daAlink_c::setIronBallPos() { spF4 = *mIronBallChainPos - mHookshotTopPos; f32 temp_f1 = spF4.abs(); - BOOL var_r26 = 0; + BOOL var_r26 = FALSE; if (temp_f1 > 1000.0f) { spF4 *= 1000.0f / temp_f1; *mIronBallChainPos = mHookshotTopPos + spF4; if (field_0x3848->abs2() < 1.0f) { - var_r26 = 1; + var_r26 = TRUE; } else { field_0x3848->x = 0.0f; field_0x3848->z = 0.0f; @@ -811,14 +813,14 @@ BOOL daAlink_c::checkIronBallAnime() const { void daAlink_c::setIronBallReadyAnime() { resetUpperAnime(UPPER_2, -1.0f); setSingleAnime(ANM_IRONBALL_ATTACK, mpHIO->mItem.mIronBall.m.mPrepareAnmSpeed, 0.0f, - 0x15, mpHIO->mItem.mIronBall.m.mPrepareInterpolation); - setUpperAnimeBaseSpeed(0x19A, mpHIO->mItem.mIronBall.m.mPrepareAnmSpeed, -1.0f); + 21, mpHIO->mItem.mIronBall.m.mPrepareInterpolation); + setUpperAnimeBaseSpeed(dRes_ID_ALANM_BCK_IBTHROW_e, mpHIO->mItem.mIronBall.m.mPrepareAnmSpeed, -1.0f); mNowAnmPackUpper[2].setRatio(0.0f); voiceStart(Z2SE_AL_V_SWING_IB); - field_0xFB8.OffAtSetBit(); - field_0xFB8.ResetAtHit(); - field_0xFB8.SetAtAtp(2); + mAtSph.OffAtSetBit(); + mAtSph.ResetAtHit(); + mAtSph.SetAtAtp(2); field_0x301e = 10; field_0x3020 = 0; @@ -845,13 +847,12 @@ BOOL daAlink_c::checkUpperItemActionIronBall() { return procIronBallThrowInit(); } - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { if (checkModeFlg(1)) { setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, mpHIO->mItem.mIronBall.m.mTurnAnmSpeed, mpHIO->mItem.mIronBall.m.mTurnInterpolation); } - u16 upperId = getMainBckData(ANM_IRONBALL_TURN)->m_upperID; - setUpperAnimeBaseSpeed(upperId, mpHIO->mItem.mIronBall.m.mTurnAnmSpeed, mpHIO->mItem.mIronBall.m.mTurnInterpolation); + setUpperAnimeBaseSpeed(getMainBckData(ANM_IRONBALL_TURN)->m_upperID, mpHIO->mItem.mIronBall.m.mTurnAnmSpeed, mpHIO->mItem.mIronBall.m.mTurnInterpolation); mItemVar0.field_0x3018 = 2; seStartOnlyReverb(Z2SE_AL_IB_SWING); return 1; @@ -912,7 +913,7 @@ int daAlink_c::procIronBallSubjectInit() { int daAlink_c::procIronBallSubject() { if (checkIronBallAnime()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } setShapeAngleToAtnActor(0); @@ -943,13 +944,13 @@ int daAlink_c::procIronBallMoveInit() { int daAlink_c::procIronBallMove() { if (checkIronBallAnime()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } setShapeAngleToAtnActor(0); if (!checkNextAction(0)) { - f32 var_f31 = -1.0f; + f32 morf = -1.0f; if (checkIronBallPreSwingAnime()) { mNormalSpeed = 0.0f; @@ -960,7 +961,7 @@ int daAlink_c::procIronBallMove() { if (field_0x2f98 != 2) { field_0x2f98 = 2; - var_f31 = mpHIO->mBasic.m.mBasicInterpolation; + morf = mpHIO->mBasic.m.mBasicInterpolation; } } else { offModeFlg(1); @@ -969,7 +970,7 @@ int daAlink_c::procIronBallMove() { if (checkModeFlg(1)) { setIronBallBaseAnime(); } else { - setBlendAtnMoveAnime(var_f31); + setBlendAtnMoveAnime(morf); } setBodyAngleXReadyAnime(0); @@ -992,12 +993,12 @@ int daAlink_c::procIronBallThrowInit() { voiceStart(Z2SE_AL_V_THROW_IB); seStartOnlyReverb(Z2SE_AL_IB_THROW); - field_0xFB8.SetAtAtp(3); + mAtSph.SetAtAtp(3); return 1; } int daAlink_c::procIronBallThrow() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; if (mEquipItem != fpcNm_ITEM_IRONBALL) { return checkWaitAction(); @@ -1009,16 +1010,16 @@ int daAlink_c::procIronBallThrow() { return procIronBallReturnInit(); } - if (mItemVar0.field_0x3018 == 4 && temp_r29->checkPass(6.0f)) { + if (mItemVar0.field_0x3018 == 4 && framectrl->checkPass(6.0f)) { mItemVar0.field_0x3018 = 5; mDoMtx_stack_c::ZXYrotS(mBodyAngle.x, shape_angle.y, 0); - Vec sp8 = {0.0f, mpHIO->mItem.mIronBall.m.mThrowSpeedY, mpHIO->mItem.mIronBall.m.mThrowSpeedZ}; - mDoMtx_stack_c::multVec(&sp8, field_0x3848); + Vec throwVec = {0.0f, mpHIO->mItem.mIronBall.m.mThrowSpeedY, mpHIO->mItem.mIronBall.m.mThrowSpeedZ}; + mDoMtx_stack_c::multVec(&throwVec, field_0x3848); field_0x3022 = 0; } - if (checkAnmEnd(temp_r29)) { + if (checkAnmEnd(framectrl)) { if (mProcVar2.field_0x300c == 0) { mProcVar2.field_0x300c = 1; setSingleAnimeBaseSpeed(ANM_IRONBALL_THROW, mpHIO->mItem.mIronBall.m.mThrowAnmSpeed, mpHIO->mItem.mIronBall.m.mThrowInterpolation); @@ -1028,9 +1029,9 @@ int daAlink_c::procIronBallThrow() { procIronBallReturnInit(); } } else if (mProcVar2.field_0x300c != 0) { - if (temp_r29->getFrame() >= 5.0f) { - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + if (framectrl->getFrame() >= 5.0f) { + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; } } @@ -1070,7 +1071,7 @@ int daAlink_c::procIronBallReturn() { seStartOnlyReverb(Z2SE_AL_IB_CATCH); dComIfGp_getVibration().StartShock(3, 1, cXyz(0.0f, 1.0f, 0.0f)); - } else if (frameCtrl->checkAnmEnd()) { + } else if (checkAnmEnd(frameCtrl)) { if (mItemVar0.field_0x3018 == 8) { mItemVar0.field_0x3018 = 0; setIronBallWaitUpperAnime(1); diff --git a/src/d/actor/d_a_alink_kandelaar.inc b/src/d/actor/d_a_alink_kandelaar.inc index 2f4a7ff867..d2769b7f24 100644 --- a/src/d/actor/d_a_alink_kandelaar.inc +++ b/src/d/actor/d_a_alink_kandelaar.inc @@ -11,6 +11,8 @@ #include "SSystem/SComponent/c_math.h" static fopAc_ac_c* daAlink_searchTagKandelaar(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_TAG_LANTERN) { return i_actor; } @@ -19,10 +21,11 @@ static fopAc_ac_c* daAlink_searchTagKandelaar(fopAc_ac_c* i_actor, void* i_data) } static fopAc_ac_c* daAlink_searchTagKtOnFire(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); daAlink_c* player_p = daAlink_getAlinkActorClass(); if (fopAcM_GetName(i_actor) == PROC_Tag_KtOnFire && - i_actor->current.pos.abs2(player_p->current.pos) < 22500.0f && + i_actor->current.pos.abs2(player_p->current.pos) < SQUARE(150.0f) && fopAcM_seenActorAngleY(player_p, i_actor) < 0x3000) { return i_actor; @@ -34,7 +37,7 @@ static fopAc_ac_c* daAlink_searchTagKtOnFire(fopAc_ac_c* i_actor, void* i_data) void daAlink_c::setKandelaarMtx(Mtx i_mtx, int param_1, int param_2) { if (mpKanteraModel != NULL) { if (checkNoResetFlg2(FLG2_UNK_1)) { - deleteEquipItem(0, 1); + deleteEquipItem(FALSE, TRUE); } onEndResetFlg1(ERFLG1_UNK_4); @@ -51,7 +54,6 @@ void daAlink_c::setKandelaarMtx(Mtx i_mtx, int param_1, int param_2) { } BOOL daAlink_c::checkWaterInKandelaarOffset(f32 param_0) { - f32 tmp_65 = 65.0f; // tmp can be removed with literals f32 base_y_pos; if (checkModeFlg(0x40)) { base_y_pos = mRightFootPos.y; @@ -59,7 +61,7 @@ BOOL daAlink_c::checkWaterInKandelaarOffset(f32 param_0) { base_y_pos = current.pos.y; } - return param_0 > tmp_65 + base_y_pos; + return param_0 > 65.0f + base_y_pos; } void daAlink_c::checkWaterInKandelaar(f32 param_0) { @@ -74,7 +76,7 @@ void daAlink_c::checkWaterInKandelaar(f32 param_0) { } void daAlink_c::offKandelaarModel() { - offNoResetFlg2(FLG2_UNK_10000001); + offNoResetFlg2(daPy_FLG2(FLG2_KANDELAAR_LIGHT_OFF | FLG2_UNK_1)); mZ2Link.setKanteraState(0); } @@ -111,7 +113,7 @@ int daAlink_c::kandelaarModelCallBack() { mDoMtx_stack_c::multVec(&sp38, &sp38); s16 var_r28 = cLib_minMaxLimit(cM_atan2s(-sp38.z, -sp38.y), -0x1800, 0x1800); - s16 var_r27 = cLib_minMaxLimit(cM_atan2s(sp38.x, JMAFastSqrt((sp38.y * sp38.y) + (sp38.z * sp38.z))), -0x1800, 0x1800); + s16 var_r27 = cLib_minMaxLimit(cM_atan2s(sp38.x, JMAFastSqrt(SQUARE(sp38.y) + SQUARE(sp38.z))), -0x1800, 0x1800); mDoMtx_stack_c::transS(sp44); if (mProcID != PROC_OPEN_TREASURE && (mProcID != PROC_GET_ITEM || mProcVar4.field_0x3010 == 0)) { @@ -124,10 +126,10 @@ int daAlink_c::kandelaarModelCallBack() { field_0x3618 = (mKandelaarFlamePos - field_0x3624) * 0.9f; if (!checkEndResetFlg1(ERFLG1_UNK_8)) { - f32 temp_f31 = JMAFastSqrt((J3DSys::mCurrentMtx[0][0] * J3DSys::mCurrentMtx[0][0]) + (J3DSys::mCurrentMtx[1][0] * J3DSys::mCurrentMtx[1][0]) + (J3DSys::mCurrentMtx[2][0] * J3DSys::mCurrentMtx[2][0])); + f32 scale = JMAFastSqrt(SQUARE(J3DSys::mCurrentMtx[0][0]) + SQUARE(J3DSys::mCurrentMtx[1][0]) + SQUARE(J3DSys::mCurrentMtx[2][0])); mDoMtx_stack_c::transS(J3DSys::mCurrentMtx[0][3], J3DSys::mCurrentMtx[1][3], J3DSys::mCurrentMtx[2][3]); mDoMtx_stack_c::ZXYrotM(var_r28, var_r29, var_r27); - mDoMtx_stack_c::scaleM(temp_f31, temp_f31, temp_f31); + mDoMtx_stack_c::scaleM(scale, scale, scale); mpKanteraModel->setAnmMtx(1, mDoMtx_stack_c::get()); cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); @@ -136,7 +138,9 @@ int daAlink_c::kandelaarModelCallBack() { return 1; } -static int daAlink_kandelaarModelCallBack(J3DJoint* param_0, int param_1) { +static int daAlink_kandelaarModelCallBack(J3DJoint* i_joint, int param_1) { + UNUSED(i_joint); + daAlink_c* player_p = (daAlink_c*)j3dSys.getModel()->getUserArea(); if (param_1 == 0) { @@ -147,7 +151,7 @@ static int daAlink_kandelaarModelCallBack(J3DJoint* param_0, int param_1) { } cXyz* daAlink_c::getKandelaarFlamePos() { - if ((!checkNoResetFlg2((daPy_FLG2)0x20001) && !checkEndResetFlg1(ERFLG1_UNK_4)) || + if ((!checkNoResetFlg2(daPy_FLG2(FLG2_UNK_20000 | FLG2_UNK_1)) && !checkEndResetFlg1(ERFLG1_UNK_4)) || checkWolf() || !checkNoResetFlg1(FLG1_UNK_80)) { return NULL; @@ -157,7 +161,7 @@ cXyz* daAlink_c::getKandelaarFlamePos() { } BOOL daAlink_c::checkKandelaarEquipAnime() const { - return checkUpperAnime(0x264) || checkUpperAnime(0x268); + return checkUpperAnime(dRes_ID_ALANM_BCK_WAITHK_e) || checkUpperAnime(dRes_ID_ALANM_BCK_WAITK_e); } void daAlink_c::preKandelaarDraw() { @@ -179,14 +183,14 @@ void daAlink_c::preKandelaarDraw() { mDoLib_project(&mKandelaarFlamePos, &proj); camera_class* camera_p = dComIfGp_getCamera(0); - f32 var_f3; + f32 trimHeight; if (camera_p != NULL) { - var_f3 = camera_p->mCamera.TrimHeight(); + trimHeight = camera_p->mCamera.TrimHeight(); } else { - var_f3 = 0.0f; + trimHeight = 0.0f; } - if (proj.x > 0.0f && proj.x < FB_WIDTH && proj.y > var_f3 && proj.y < FB_HEIGHT - var_f3) { + if (proj.x > 0.0f && proj.x < FB_WIDTH && proj.y > trimHeight && proj.y < FB_HEIGHT - trimHeight) { dComIfGd_peekZ(proj.x, proj.y, &field_0x32c8); } else { field_0x32c8 = 0; @@ -210,7 +214,7 @@ void daAlink_c::setKandelaarModel() { if (!checkNoResetFlg2(FLG2_UNK_1)) { onNoResetFlg2(FLG2_UNK_1); - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(field_0x30c0), &mKandelaarFlamePos); + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(mLeftItemJntNo), &mKandelaarFlamePos); mKandelaarFlamePos.y -= 30.0f; field_0x3630 = field_0x3624; @@ -227,7 +231,6 @@ void daAlink_c::setKandelaarModel() { mZ2Link.setKanteraState(1); } - void daAlink_c::resetOilBottleModel() { deleteEquipItem(FALSE, TRUE); @@ -270,7 +273,7 @@ int daAlink_c::commonKandelaarPour(int param_0) { current_anm = mUnderAnmHeap[0].getIdx(); } - onNoResetFlg2(FLG2_UNK_10000000); + onNoResetFlg2(FLG2_KANDELAAR_LIGHT_OFF); if (current_anm == getMainBckData(ANM_OIL_BOTTLE_POUR_START)->m_underID) { if (checkAnmEnd(frameCtrl_p)) { @@ -310,14 +313,13 @@ int daAlink_c::commonKandelaarPour(int param_0) { resetOilBottleModel(); resetSpecialEvent(); - offNoResetFlg2(FLG2_UNK_10000000); + offNoResetFlg2(FLG2_KANDELAAR_LIGHT_OFF); return 1; } return 0; } - void daAlink_c::initKandelaarSwing() { if (mEquipItem == fpcNm_ITEM_KANTERA) { if (dComIfGs_getOil() != 0) { @@ -328,19 +330,19 @@ void daAlink_c::initKandelaarSwing() { } voiceStart(Z2SE_AL_V_SWING_BOTTLE); - field_0xFB8.ResetAtHit(); + mAtSph.ResetAtHit(); if (!checkEventRun()) { dComIfGp_setItemOilCount(-mpHIO->mItem.mLantern.m.mShakeOilLoss); } - field_0xFB8.OffAtSetBit(); - field_0xFB8.SetR(50.0f); - field_0xFB8.SetAtType(AT_TYPE_LANTERN_SWING); - field_0xFB8.SetAtHitMark(0); - field_0xFB8.SetAtSe(dCcD_SE_NONE); - field_0xFB8.SetAtAtp(0); - field_0xFB8.SetAtMtrl(dCcD_MTRL_FIRE); + mAtSph.OffAtSetBit(); + mAtSph.SetR(50.0f); + mAtSph.SetAtType(AT_TYPE_LANTERN_SWING); + mAtSph.SetAtHitMark(0); + mAtSph.SetAtSe(dCcD_SE_NONE); + mAtSph.SetAtAtp(0); + mAtSph.SetAtMtrl(dCcD_MTRL_FIRE); } int daAlink_c::procKandelaarSwingInit() { @@ -383,17 +385,16 @@ int daAlink_c::procKandelaarSwingInit() { return 1; } - int daAlink_c::procKandelaarSwing() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (frameCtrl_p->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x27) { + if (checkAnmEnd(frameCtrl_p)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_KANDELAAR_SWING_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextAction(0); } - } else if (frameCtrl_p->getFrame() > field_0x3478 && mDemo.getDemoMode() != 0x27) { + } else if (frameCtrl_p->getFrame() > field_0x3478 && mDemo.getDemoMode() != daPy_demo_c::DEMO_KANDELAAR_SWING_e) { onModeFlg(4); checkNextAction(1); } @@ -402,7 +403,7 @@ int daAlink_c::procKandelaarSwing() { } int daAlink_c::procKandelaarPourInit() { - if (!dComIfGp_event_compulsory(this, 0, 0xFBFF)) { + if (!dComIfGp_event_compulsory(this, NULL, 0xFBFF)) { return 0; } diff --git a/src/d/actor/d_a_alink_link.inc b/src/d/actor/d_a_alink_link.inc index 33917c5f76..7fd3b3685f 100644 --- a/src/d/actor/d_a_alink_link.inc +++ b/src/d/actor/d_a_alink_link.inc @@ -63,38 +63,39 @@ int daAlink_c::checkSubjectAction() { return 0; } -s16 daAlink_c::checkBodyAngleX(s16 param_0) { +s16 daAlink_c::checkBodyAngleX(s16 i_angle) { if (checkWolf() || mProcID == PROC_PEEP_SUBJECTIVITY || mProcID == PROC_HOOKSHOT_WALL_SHOOT) { - return param_0; + return i_angle; } Vec sp2C = { 0.0f, 0.0f, 0.0f }; - sp2C.y = 0.5f * field_0x598; + f32 var_f31 = 0.5f * mHeight; + sp2C.y = var_f31; - cXyz sp20; - mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &sp20); - cXyz sp14; + cXyz backbone1_pos; + mDoMtx_multVecZero(mpLinkModel->getAnmMtx(1), &backbone1_pos); + cXyz check_pos; - if (param_0 >= 0) { + if (i_angle >= 0) { sp2C.z = 25.0f; } else { sp2C.z = -25.0f; } - mDoMtx_stack_c::transS(sp20); + mDoMtx_stack_c::transS(backbone1_pos); concatMagneBootMtx(); - mDoMtx_stack_c::ZXYrotM(param_0, shape_angle.y, 0); - mDoMtx_stack_c::multVec(&sp2C, &sp14); + mDoMtx_stack_c::ZXYrotM(i_angle, shape_angle.y, 0); + mDoMtx_stack_c::multVec(&sp2C, &check_pos); - if (commonLineCheck(&sp20, &sp14)) { - cXyz sp8 = sp14 - mLinkLinChk.GetCross(); - multVecMagneBootInvMtx(&sp8); + if (commonLineCheck(&backbone1_pos, &check_pos)) { + cXyz dist = check_pos - mLinkLinChk.GetCross(); + multVecMagneBootInvMtx(&dist); - current.pos.x -= sp8.x; - current.pos.z -= sp8.z; + current.pos.x -= dist.x; + current.pos.z -= dist.z; } - return param_0; + return i_angle; } BOOL daAlink_c::setBodyAngleToCamera() { @@ -105,7 +106,7 @@ BOOL daAlink_c::setBodyAngleToCamera() { s16 sp8; if (checkInputOnR()) { - f32 var_f31 = 512.0f * field_0x33ac * field_0x33ac; + f32 var_f31 = 512.0f * mMoveValue * mMoveValue; if (checkWolfEyeUp()) { var_f31 *= 0.6f; } @@ -160,11 +161,11 @@ BOOL daAlink_c::subjectCancelTrigger() { return false; } -int daAlink_c::checkSubjectEnd(BOOL i_playSound) { - setDoStatus(0x12); +BOOL daAlink_c::checkSubjectEnd(BOOL i_isPlaySe) { + setDoStatus(BUTTON_STATUS_BACK); if (checkEventRun() || checkEquipAnime() || doTrigger() || checkSetItemTrigger(fpcNm_ITEM_HAWK_EYE) || subjectCancelTrigger() || checkEndResetFlg0(ERFLG0_FORCE_SUBJECT_CANCEL) || dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x2000)) { - if (i_playSound) { + if (i_isPlaySe) { seStartSystem(Z2SE_SUBJ_VIEW_OUT); } @@ -180,7 +181,8 @@ void daAlink_c::searchPeepObj(fopAc_ac_c* i_actor, void* i_data) { f32 var_f31 = current.pos.abs2(i_actor->current.pos); if (var_f31 < field_0x3478) { field_0x3478 = var_f31; - *(fopAc_ac_c**)i_data = i_actor; + fopAc_ac_c** var_r29 = (fopAc_ac_c**)i_data; + *var_r29 = i_actor; } } } @@ -195,7 +197,7 @@ int daAlink_c::procCoSubjectivityInit() { mNormalSpeed = 0.0f; setSubjectMode(); - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; if (checkWolf()) { setSingleAnimeWolfBaseSpeed(WANM_WAIT, 0.0f, 3.0f); @@ -310,7 +312,7 @@ int daAlink_c::procCoPeepSubjectivity() { mPeepExitID = peep->getSceneListID(); } - if (dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + if (dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { startPeepChange(); } } @@ -319,45 +321,45 @@ int daAlink_c::procCoPeepSubjectivity() { } u32 daAlink_c::checkBoardRide() const { - return mRideStatus == 4; + return mRideStatus == RIDETYPE_BOARD; } u32 daAlink_c::checkCanoeRide() const { - return mRideStatus == 3; + return mRideStatus == RIDETYPE_CANOE; } u32 daAlink_c::checkHorseRide() const { - return mRideStatus == 1; + return mRideStatus == RIDETYPE_HORSE; } MtxP daAlink_c::getLeftItemMatrix() { - return mpLinkModel->getAnmMtx(field_0x30c0); + return mpLinkModel->getAnmMtx(mLeftItemJntNo); } u32 daAlink_c::checkBoarRide() const { - return mRideStatus == 2; + return mRideStatus == RIDETYPE_BOAR; } u32 daAlink_c::checkSpinnerRide() const { - return mRideStatus == 5; + return mRideStatus == RIDETYPE_SPINNER; } MtxP daAlink_c::getLeftHandMatrix() { - return mpLinkModel->getAnmMtx(field_0x30b8); + return mpLinkModel->getAnmMtx(mLeftHandJntNo); } MtxP daAlink_c::getRightHandMatrix() { - return mpLinkModel->getAnmMtx(field_0x30ba); + return mpLinkModel->getAnmMtx(mRightHandJntNo); } -void daAlink_c::onSceneChangeArea(u8 exitID, u8 exitDirection, fopAc_ac_c* scexAc) { - mExitID = exitID; - mExitDirection = exitDirection; - mpScnChg = (daScex_c*)scexAc; +void daAlink_c::onSceneChangeArea(u8 i_exitID, u8 i_exitDirection, fopAc_ac_c* i_scexAc) { + mExitID = i_exitID; + mExitDirection = i_exitDirection; + mpScnChg = (daScex_c*)i_scexAc; } MtxP daAlink_c::getRightItemMatrix() { - return mpLinkModel->getAnmMtx(field_0x30c2); + return mpLinkModel->getAnmMtx(mRightItemJntNo); } u32 daAlink_c::checkPlayerNoDraw() { @@ -366,5 +368,10 @@ u32 daAlink_c::checkPlayerNoDraw() { } daAlink_c::daAlink_c() - : mAnmHeap3(0), mAnmHeap4(0), mFaceBtpHeap(0x800), mFaceBtkHeap(0x400), mFaceBckHeap(0xC00), - mAnmHeap9(0x800) {} + : mAnmHeap3(0), + mAnmHeap4(0), + mFaceBtpHeap(0x800), + mFaceBtkHeap(0x400), + mFaceBckHeap(0xC00), + mAnmHeap9(0x800) + {} diff --git a/src/d/actor/d_a_alink_spinner.inc b/src/d/actor/d_a_alink_spinner.inc index 398d4e0408..d309a6ceb8 100644 --- a/src/d/actor/d_a_alink_spinner.inc +++ b/src/d/actor/d_a_alink_spinner.inc @@ -84,7 +84,6 @@ bool daAlink_c::checkSpinnerTriggerAttack() { return false; } - void daAlink_c::setSpinnerSyncPos() { daSpinner_c* spinner = (daSpinner_c*)mRideAcKeep.getActor(); @@ -150,8 +149,8 @@ int daAlink_c::procSpinnerReady() { return 1; } -void daAlink_c::setSpinnerStatus(u8 status, u8 flag) { - dComIfGp_setDoStatus(status, flag); +void daAlink_c::setSpinnerStatus(u8 i_status, u8 i_flag) { + dComIfGp_setDoStatus(i_status, i_flag); } int daAlink_c::procSpinnerWaitInit() { @@ -159,7 +158,7 @@ int daAlink_c::procSpinnerWaitInit() { return 0; } - mRideStatus = 5; + mRideStatus = RIDETYPE_SPINNER; setBgCheckParam(); setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, mpHIO->mItem.mBoard.m.mSitAnmSpeed, 4.0f); speed.y = 0.0f; @@ -177,12 +176,12 @@ int daAlink_c::procSpinnerWaitInit() { return 1; } - int daAlink_c::procSpinnerWait() { daSpinner_c* spinner = (daSpinner_c*)mRideAcKeep.getActor(); if (spinner == NULL || spinner->getDeleteFlg() || checkWindSpeedOnXZ() || - checkEndResetFlg1(ERFLG1_UNK_1) || checkEndResetFlg0(ERFLG0_UNK_2)) { + checkEndResetFlg1(ERFLG1_NS_SCREAM) || checkEndResetFlg0(ERFLG0_FORCE_WOLF_CHANGE)) + { mNormalSpeed = 0.0f; setJumpMode(); return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); @@ -200,7 +199,7 @@ int daAlink_c::procSpinnerWait() { spinner->setMove(mNormalSpeed, getSpinnerRideMoveTime()); } else if (checkInputOnR()) { int direction = getDirectionFromAngle(mStickAngle); - s16 angle = field_0x33ac * 384.0f * field_0x33ac; + s16 angle = mMoveValue * 384.0f * mMoveValue; if (direction == DIR_LEFT) { shape_angle.y += angle; @@ -226,10 +225,10 @@ int daAlink_c::procSpinnerWait() { if (spinner->checkPathMoveNow() == NULL) { seStartOnlyReverbLevel(Z2SE_AL_SPINNER_RIDE); - setSpinnerStatus(ACTION_STR_ATTACK, ACTION_FLG_DEFAULT); + setSpinnerStatus(BUTTON_STATUS_ATTACK, BUTTON_STATUS_FLAG_NONE); } else { seStartOnlyReverbLevel(Z2SE_AL_SPINNER_RAIL); - setSpinnerStatus(ACTION_STR_JUMP2, ACTION_FLG_DEFAULT); + setSpinnerStatus(BUTTON_STATUS_UNK_101, BUTTON_STATUS_FLAG_NONE); } mNormalSpeed = spinner->speedF; @@ -237,7 +236,7 @@ int daAlink_c::procSpinnerWait() { if (spinner->checkSpinnerTagIntoIncRot()) { mProcVar5.field_0x3012 = 1; - setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION); + setSpinnerStatus(BUTTON_STATUS_SPIN, BUTTON_STATUS_FLAG_CONTINUATION); if (field_0x3198 != ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) { setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, mpHIO->mItem.mBoard.m.mSitAnmSpeed, @@ -247,9 +246,9 @@ int daAlink_c::procSpinnerWait() { } } else if (spinner->checkSpinnerTagInto()) { if (mProcVar5.field_0x3012 != 0) { - setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION); + setSpinnerStatus(BUTTON_STATUS_SPIN, BUTTON_STATUS_FLAG_CONTINUATION); } else { - setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_DEFAULT); + setSpinnerStatus(BUTTON_STATUS_SPIN, BUTTON_STATUS_FLAG_NONE); } if ((field_0x3198 == ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) || @@ -276,7 +275,7 @@ int daAlink_c::procSpinnerWait() { mpHIO->mItem.mBoard.m.mAirborneAnm.mEndFrame, -1.0f); mProcVar4.field_0x3010 = 1; } - } else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) || + } else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && checkAnmEnd(frameCtrl)) || (field_0x3198 != ANM_RIDE_JUMP_LAND && field_0x3198 != ANM_RIDE_CROUCH)) { setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, mpHIO->mItem.mBoard.m.mSitAnmSpeed, mpHIO->mItem.mBoard.m.mSitInterpolation); diff --git a/src/d/actor/d_a_alink_sumou.inc b/src/d/actor/d_a_alink_sumou.inc index 4c9b9ffe79..7e40b91cb5 100644 --- a/src/d/actor/d_a_alink_sumou.inc +++ b/src/d/actor/d_a_alink_sumou.inc @@ -17,7 +17,7 @@ BOOL daAlink_c::checkSumouVsActor() { return false; } - if (mSpecialMode == 0xD || mSpecialMode == 0xB || mSpecialMode == 0xC || mSpecialMode == 0xE) { + if (mMode == 0xD || mMode == 0xB || mMode == 0xC || mMode == 0xE) { procSumouWinLoseInit(); return false; } @@ -27,15 +27,15 @@ BOOL daAlink_c::checkSumouVsActor() { void daAlink_c::cancelSumouMode() { mCargoCarryAcKeep.clearData(); - mSpecialMode = 0; + mMode = 0; } BOOL daAlink_c::sumouPunchTrigger() { - return itemTriggerCheck(BTN_B); + return swordTrigger(); } void daAlink_c::setSumouPunchStatus() { - setBStatus(ACTION_STR_SLAP); + setBStatus(BUTTON_STATUS_SLAP); } int daAlink_c::procSumouReadyInit() { @@ -49,7 +49,7 @@ int daAlink_c::procSumouReadyInit() { field_0x3588 = l_waitBaseAnime; field_0x34d4 = field_0x3588; field_0x2f99 = 4; - mSpecialMode = 1; + mMode = 1; mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = 0; deleteEquipItem(FALSE, TRUE); @@ -68,9 +68,9 @@ int daAlink_c::procSumouReady() { return 1; } - if (mSpecialMode == 2 || mSpecialMode == 3 || mSpecialMode == 4) { + if (mMode == 2 || mMode == 3 || mMode == 4) { setSumouPunchStatus(); - setDoStatusEmphasys(0x15); + setDoStatusEmphasys(BUTTON_STATUS_GRAB); dComIfGp_setAdvanceDirection(5); if (doTrigger()) { @@ -85,20 +85,20 @@ int daAlink_c::procSumouReady() { if (mUnderAnmHeap[0].getIdx() == getMainBckData(ANM_SUMOU_HAKEYOI)->m_underID && mUnderFrameCtrl[0].checkPass(7.0f)) { - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; } - if (mSpecialMode == 3) { + if (mMode == 3) { setSingleAnimeBase(ANM_SUMOU_HAKEYOI); field_0x2f99 = 12; - mSpecialMode = 4; + mMode = 4; dComIfGp_clearPlayerStatus0(0, 0x2000); } else if (checkAnmEnd(mUnderFrameCtrl)) { if (checkInputOnR()) { - s16 temp_r29 = (s16)(field_0x2fe2 - shape_angle.y); + s16 temp_r29 = (s16)(mMoveAngle - shape_angle.y); int var_r30 = abs(temp_r29); - cLib_distanceAngleS(field_0x2fe2, shape_angle.y); + cLib_distanceAngleS(mMoveAngle, shape_angle.y); if (var_r30 > 0x800 && var_r30 < 0x7800) { mNormalSpeed = 1.0f; @@ -111,10 +111,9 @@ int daAlink_c::procSumouReady() { } } - if (mSpecialMode == 0x1C || mSpecialMode == 0x1B || mProcVar2.field_0x300c != 0 || + if (mMode == 0x1C || mMode == 0x1B || mProcVar2.field_0x300c != 0 || mProcVar3.field_0x300e != 0 || - (static_cast(mCargoCarryAcKeep.getActor())->getWrestlerAction() == - 3 && + (static_cast(mCargoCarryAcKeep.getActor())->getWrestlerAction() == 3 && !checkZeroSpeedF())) { procSumouActionInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e, 0); @@ -126,7 +125,6 @@ int daAlink_c::procSumouReady() { return 1; } - int daAlink_c::procSumouMoveInit() { daNpcWrestler_c* wrestler_p = (daNpcWrestler_c*)mCargoCarryAcKeep.getActor(); commonProcInit(PROC_SUMOU_MOVE); @@ -135,30 +133,36 @@ int daAlink_c::procSumouMoveInit() { field_0x3478 = 1000.0f; daAlink_ANM anm; - if (mSpecialMode == 15 || mSpecialMode == 16) { - if (wrestler_p->getWrestlerType() != 0) { - anm = ANM_SUMOU_TACKLE_WAIT_GORON; - } else { + if (mMode == 15 || mMode == 16) { + #if VERSION == VERSION_SHIELD_DEBUG // probably a fakematch + if (wrestler_p->getWrestlerType() == 0) { anm = ANM_SUMOU_TACKLE_WAIT; + } else { + anm = ANM_SUMOU_TACKLE_WAIT_GORON; } - + #else + anm = wrestler_p->getWrestlerType() != 0 ? ANM_SUMOU_TACKLE_WAIT_GORON : ANM_SUMOU_TACKLE_WAIT; + #endif setSingleAnimeBase(anm); mSpeedModifier = 1.0f; - mSpecialMode = 7; + mMode = 7; mProcVar2.field_0x300c = 0xFFFF; mProcVar0.field_0x3008 = 10; field_0x3478 = 5.0f; field_0x32cc = Z2SE_AL_V_SUMO_PUSH; } else { - if (wrestler_p->getWrestlerType() != 0) { - anm = ANM_SUMOU_TACKLE_STAGGER_GORON; - } else { + #if VERSION == VERSION_SHIELD_DEBUG // probably a fakematch + if (wrestler_p->getWrestlerType() == 0) { anm = ANM_SUMOU_TACKLE_STAGGER; + } else { + anm = ANM_SUMOU_TACKLE_STAGGER_GORON; } - + #else + anm = wrestler_p->getWrestlerType() != 0 ? ANM_SUMOU_TACKLE_STAGGER_GORON : ANM_SUMOU_TACKLE_STAGGER; + #endif setSingleAnimeBase(anm); mSpeedModifier = -1.0f; - mSpecialMode = 8; + mMode = 8; mProcVar2.field_0x300c = 10; mProcVar0.field_0x3008 = 15; field_0x2f9d = 0x60; @@ -174,7 +178,6 @@ int daAlink_c::procSumouMoveInit() { return 1; } - int daAlink_c::procSumouMove() { field_0x2f99 = 4; @@ -190,7 +193,7 @@ int daAlink_c::procSumouMove() { voiceStart(field_0x32cc); } - if (mSpecialMode == 9 || mSpecialMode == 10) { + if (mMode == 9 || mMode == 10) { if (mProcVar1.field_0x300a != 0) { mProcVar1.field_0x300a--; } @@ -202,7 +205,7 @@ int daAlink_c::procSumouMove() { } f32 var_f1; - if (mSpecialMode == 10 && mProcVar1.field_0x300a == 0) { + if (mMode == 10 && mProcVar1.field_0x300a == 0) { var_f1 = 1.5f; } else { var_f1 = 0.2f; @@ -210,11 +213,11 @@ int daAlink_c::procSumouMove() { cLib_chaseF(&sp8, var_f1, 0.3f); frameCtrl_p->setRate(sp8); - } else if (mSpecialMode == 9) { + } else if (mMode == 9) { cLib_chaseF(&sp8, 1.5f, 0.3f); } else { setSingleAnimeBase(ANM_SUMOU_PUSH_BACK); - mSpecialMode = 0x23; + mMode = 0x23; mSpeedModifier = 0.0f; field_0x3478 = 13.0f; field_0x32cc = Z2SE_AL_V_SUMO_HOLD_BACK; @@ -240,26 +243,30 @@ int daAlink_c::procSumouMove() { dMeter2Info_onBlinkButton(1); - if (mSpecialMode == 0x24 || (mSpeedModifier < 0.0f && mProcVar2.field_0x300c == 0)) { + if (mMode == 0x24 || (mSpeedModifier < 0.0f && mProcVar2.field_0x300c == 0)) { mProcVar3.field_0x300e = 1; field_0x2f99 = 12; if (mSpeedModifier > 0.0f) { daAlink_ANM anm; - if (wrestler_p->getWrestlerType() != 0) { - anm = ANM_SUMOU_PULL_BACK_GORON; - } else { + #if VERSION == VERSION_SHIELD_DEBUG // probably a fakematch + if (wrestler_p->getWrestlerType() == 0) { anm = ANM_SUMOU_PULL_BACK; + } else { + anm = ANM_SUMOU_PULL_BACK_GORON; } + #else + anm = wrestler_p->getWrestlerType() != 0 ? ANM_SUMOU_PULL_BACK_GORON : ANM_SUMOU_PULL_BACK; + #endif setSingleAnimeBase(anm); - mSpecialMode = 0x24; + mMode = 0x24; field_0x3478 = 13.0f; field_0x32cc = Z2SE_AL_V_SUMO_PUSHED_BACK; field_0x3198 = anm; } else { setSingleAnimeBase(ANM_SUMOU_PUSH_BACK); - mSpecialMode = 0x23; + mMode = 0x23; field_0x3478 = 13.0f; field_0x32cc = Z2SE_AL_V_SUMO_HOLD_BACK; field_0x3198 = ANM_SUMOU_PUSH_BACK; @@ -272,7 +279,7 @@ int daAlink_c::procSumouMove() { if (mSpeedModifier > 0.0f && checkInputOnR()) { int direction = getDirectionFromAngle(mStickAngle); if (direction == DIR_LEFT || direction == DIR_RIGHT) { - var_r31 = field_0x33ac * (mpHIO->mPushpull.m.mSumoRotationAngle * field_0x33ac); + var_r31 = mMoveValue * (mpHIO->mPushpull.m.mSumoRotationAngle * mMoveValue); if (direction == DIR_RIGHT) { var_r31 = -var_r31; @@ -311,18 +318,17 @@ int daAlink_c::procSumouMove() { return 1; } - int daAlink_c::procSumouSideMoveInit() { commonProcInit(PROC_SUMOU_SIDE_MOVE); - mSpecialMode = 0x16; + mMode = 0x16; field_0x2f98 = 3; current.angle.y = shape_angle.y + -0x4000; - field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mAtnMove.m.mMaxSpeed; setSingleAnimeBase(ANM_SUMOU_FIGHT_WAIT); field_0x3198 = 0x141; setSumouPunchStatus(); - setDoStatusEmphasys(0x15); + setDoStatusEmphasys(BUTTON_STATUS_GRAB); dComIfGp_setAdvanceDirection(5); field_0x2f99 = 12; @@ -353,8 +359,8 @@ int daAlink_c::procSumouSideMove() { current.angle.y = shape_angle.y + 0x4000; } - int temp_r30_2 = cLib_distanceAngleS(field_0x2fe2, shape_angle.y); - if (mSpecialMode == 0x1C || mSpecialMode == 0x1B || doTrigger() || sumouPunchTrigger() || + int temp_r30_2 = cLib_distanceAngleS(mMoveAngle, shape_angle.y); + if (mMode == 0x1C || mMode == 0x1B || doTrigger() || sumouPunchTrigger() || (static_cast(mCargoCarryAcKeep.getActor())->getWrestlerAction() == 3 && !checkZeroSpeedF())) { @@ -362,12 +368,12 @@ int daAlink_c::procSumouSideMove() { } setSumouPunchStatus(); - setDoStatusEmphasys(0x15); + setDoStatusEmphasys(BUTTON_STATUS_GRAB); dComIfGp_setAdvanceDirection(5); f32 var_f1; if (checkInputOnR() && temp_r30_2 > 0x800 && temp_r30_2 < 0x7800) { - if (abs((s16)(field_0x2fe2 - current.angle.y)) > 0x4000) { + if (abs((s16)(mMoveAngle - current.angle.y)) > 0x4000) { current.angle.y += 0x8000; mNormalSpeed *= -1.0f; @@ -378,8 +384,8 @@ int daAlink_c::procSumouSideMove() { } } - if (field_0x33ac > (1.0f - fabsf(mNormalSpeed / field_0x594)) * 0.3f) { - var_f1 = mpHIO->mAtnMove.m.mAcceleration * field_0x33ac; + if (mMoveValue > (1.0f - fabsf(mNormalSpeed / mMaxSpeed)) * 0.3f) { + var_f1 = mpHIO->mAtnMove.m.mAcceleration * mMoveValue; } else { var_f1 = 0.0f; } @@ -391,7 +397,7 @@ int daAlink_c::procSumouSideMove() { if (checkZeroSpeedF()) { onModeFlg(1); - mSpecialMode = 0x16; + mMode = 0x16; field_0x2f98 = 3; current.angle.y = shape_angle.y - 0x4000; @@ -417,13 +423,15 @@ int daAlink_c::procSumouSideMove() { mSpeedModifier = 1.0f; } + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + if (field_0x2f98 == 3) { - mSpecialMode = 0x18; + mMode = 0x18; } else { - mSpecialMode = 0x17; + mMode = 0x17; } - mUnderFrameCtrl[0].setRate(mNormalSpeed / field_0x594); + framectrl->setRate(mNormalSpeed / mMaxSpeed); initBasAnime(); field_0x2f9d = 0x60; } @@ -431,8 +439,8 @@ int daAlink_c::procSumouSideMove() { return 1; } - -int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int unused) { +int daAlink_c::procSumouActionInit(BOOL i_isDoTrigger, BOOL i_isPunchTrigger, int unused) { + UNUSED(unused); commonProcInit(PROC_SUMOU_ACTION); daNpcWrestler_c* wrestler_p = (daNpcWrestler_c*)mCargoCarryAcKeep.getActor(); @@ -440,100 +448,94 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un mProcVar5.field_0x3012 = 0; daAlink_ANM anm; - if (mSpecialMode == 0x21) { - mSpecialMode = 0x22; + if (mMode == 0x21) { + mMode = 0x22; anm = ANM_SUMOU_PUNCH_SHOCK; - } else if (mSpecialMode == 0x1C) { - i_doTrigger = FALSE; - i_punchTrigger = FALSE; - mSpecialMode = 0x1E; + } else if (mMode == 0x1C) { + i_isDoTrigger = FALSE; + i_isPunchTrigger = FALSE; + mMode = 0x1E; if (!checkZeroSpeedF()) { - daAlink_ANM var_r0; if (field_0x2f98 == 2) { - var_r0 = ANM_SUMOU_FIGHT_STEP_LEFT; + anm = ANM_SUMOU_FIGHT_STEP_LEFT; } else { - var_r0 = ANM_SUMOU_FIGHT_STEP_RIGHT; + anm = ANM_SUMOU_FIGHT_STEP_RIGHT; } - - anm = var_r0; mProcVar5.field_0x3012 = 1; } else { anm = ANM_SUMOU_PUNCH_SHOCK; } - } else if (mSpecialMode == 0x1B) { - i_doTrigger = FALSE; - i_punchTrigger = FALSE; - mSpecialMode = 0x1D; + } else if (mMode == 0x1B) { + i_isDoTrigger = FALSE; + i_isPunchTrigger = FALSE; + mMode = 0x1D; anm = ANM_SUMOU_TACKLE_SHOCK; } else if (wrestler_action == 2) { - if (i_doTrigger) { - mSpecialMode = 0x10; + if (i_isDoTrigger) { + mMode = 0x10; anm = ANM_SUMOU_DODGE_TACKLE; - } else if (i_punchTrigger) { - mSpecialMode = 0x15; + } else if (i_isPunchTrigger) { + mMode = 0x15; anm = ANM_SUMOU_PUNCH_MISS_SHOCK_RETURN; } else { - mSpecialMode = 0x1E; + mMode = 0x1E; if (!checkZeroSpeedF()) { - daAlink_ANM var_r0_2; if (field_0x2f98 == 2) { - var_r0_2 = ANM_SUMOU_FIGHT_STEP_LEFT; + anm = ANM_SUMOU_FIGHT_STEP_LEFT; } else { - var_r0_2 = ANM_SUMOU_FIGHT_STEP_RIGHT; + anm = ANM_SUMOU_FIGHT_STEP_RIGHT; } - - anm = var_r0_2; mProcVar5.field_0x3012 = 1; } else { anm = ANM_SUMOU_PUNCH_SHOCK; } } } else if (wrestler_action == 3) { - if (i_doTrigger) { - mSpecialMode = 0x12; + if (i_isDoTrigger) { + mMode = 0x12; anm = ANM_SUMOU_TACKLE_SHOCK_RETURN; - } else if (i_punchTrigger) { - mSpecialMode = 0x14; + } else if (i_isPunchTrigger) { + mMode = 0x14; anm = ANM_SUMOU_PUNCH_MISS_SHOCK; } else if (!checkZeroSpeedF()) { if (field_0x2f98 == 3) { - mSpecialMode = 0x1A; + mMode = 0x1A; anm = ANM_SUMOU_FIGHT_STEP_RIGHT; } else { - mSpecialMode = 0x19; + mMode = 0x19; anm = ANM_SUMOU_FIGHT_STEP_LEFT; } } else { - mSpecialMode = 0x1D; + mMode = 0x1D; anm = ANM_SUMOU_TACKLE_SHOCK; } } else if (wrestler_action == 1) { - if (i_doTrigger) { - mSpecialMode = 0x11; + if (i_isDoTrigger) { + mMode = 0x11; anm = ANM_SUMOU_TACKLE_MISS; } else { - mSpecialMode = 0x13; + mMode = 0x13; anm = ANM_SUMOU_PUNCH; } } else if (wrestler_p->getWrestlerType() != 0 && !checkEquipHeavyBoots()) { - if (i_doTrigger) { - mSpecialMode = 0x12; + if (i_isDoTrigger) { + mMode = 0x12; anm = ANM_SUMOU_TACKLE_SHOCK_RETURN; } else { - mSpecialMode = 0x15; + mMode = 0x15; anm = ANM_SUMOU_PUNCH_MISS_SHOCK_RETURN; } - } else if (i_doTrigger) { - mSpecialMode = 0xF; + } else if (i_isDoTrigger) { + mMode = 0xF; if (wrestler_p->getWrestlerType() == 0) { anm = ANM_SUMOU_TACKLE; } else { anm = ANM_SUMOU_TACKLE_GORON; } } else { - mSpecialMode = 0x13; + mMode = 0x13; anm = ANM_SUMOU_PUNCH; } @@ -541,19 +543,19 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un mDoMtx_stack_c::YrotM(shape_angle.y); mProcVar3.field_0x300e = 0x82; - if (mSpecialMode == 0x19) { + if (mMode == 0x19) { dComIfGp_setAdvanceDirection(1); mProcVar4.field_0x3010 = shape_angle.y - 0x2800; field_0x2f98 = 2; - } else if (mSpecialMode == 0x1A) { + } else if (mMode == 0x1A) { field_0x2f98 = 3; dComIfGp_setAdvanceDirection(4); mProcVar4.field_0x3010 = shape_angle.y + 0x2800; - } else if (i_doTrigger) { - setDoStatusEmphasys(0x15); + } else if (i_isDoTrigger) { + setDoStatusEmphasys(BUTTON_STATUS_GRAB); mProcVar3.field_0x300e = 0x15; field_0x2f98 = 4; - } else if (i_punchTrigger) { + } else if (i_isPunchTrigger) { setSumouPunchStatus(); mProcVar3.field_0x300e = 0x44; field_0x2f98 = 4; @@ -567,13 +569,13 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un field_0x2f98 = 4; } - f32 var_f31; + f32 anm_frame; if ((anm == ANM_SUMOU_FIGHT_STEP_RIGHT || anm == ANM_SUMOU_FIGHT_STEP_LEFT) && mUnderAnmHeap[0].getIdx() != (getMainBckData(anm)->m_underID & 0xFFF)) { - var_f31 = mUnderFrameCtrl[0].getFrame(); + anm_frame = mUnderFrameCtrl[0].getFrame(); } else { - var_f31 = 0.0f; + anm_frame = 0.0f; } mProcVar2.field_0x300c = 0; @@ -587,8 +589,8 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un } setSingleAnime(anm, 1.0f, 0.0f, end_frame, 3.0f); - mUnderFrameCtrl[0].setFrame(var_f31); - getNowAnmPackUnder(UNDER_0)->setFrame(var_f31); + mUnderFrameCtrl[0].setFrame(anm_frame); + getNowAnmPackUnder(UNDER_0)->setFrame(anm_frame); cLib_addCalcAngleS(&shape_angle.y, cLib_targetAngleY(¤t.pos, &mCargoCarryAcKeep.getActor()->current.pos), @@ -634,7 +636,6 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un return 1; } - int daAlink_c::procSumouAction() { field_0x2f99 = 4; @@ -650,11 +651,11 @@ int daAlink_c::procSumouAction() { mProcVar2.field_0x300c++; - if (mSpecialMode == 0x1C || mSpecialMode == 0x1B) { + if (mMode == 0x1C || mMode == 0x1B) { return procSumouActionInit(FALSE, FALSE, 0); } - if (mSpecialMode == 0x19 || mSpecialMode == 0x1A) { + if (mMode == 0x19 || mMode == 0x1A) { cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x400, 0x40); current.angle.y = shape_angle.y; @@ -664,20 +665,20 @@ int daAlink_c::procSumouAction() { procSumouSideMoveInit(); } } else { - if (mSpecialMode == 0x13) { + if (mMode == 0x13) { cLib_addCalcAngleS( &shape_angle.y, cLib_targetAngleY(¤t.pos, &mCargoCarryAcKeep.getActor()->current.pos), 2, 0x2000, 0x800); current.angle.y = shape_angle.y; - } else if (mSpecialMode == 0x1E && mProcVar5.field_0x3012 != 0) { + } else if (mMode == 0x1E && mProcVar5.field_0x3012 != 0) { cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x400, 0x40); current.angle.y = shape_angle.y; current.pos.set(field_0x37c8.x - field_0x3478 * cM_ssin(current.angle.y), field_0x37c8.y, field_0x37c8.z - field_0x3478 * cM_scos(current.angle.y)); - } else if (mSpecialMode == 0x1E || mSpecialMode == 0x1D) { + } else if (mMode == 0x1E || mMode == 0x1D) { cLib_addCalcAngleS( &shape_angle.y, cLib_targetAngleY(¤t.pos, &mCargoCarryAcKeep.getActor()->current.pos), 2, @@ -686,18 +687,18 @@ int daAlink_c::procSumouAction() { } if (mProcVar3.field_0x300e == 0x15) { - setDoStatusEmphasys(0x15); + setDoStatusEmphasys(BUTTON_STATUS_GRAB); } else if (mProcVar3.field_0x300e == 0x44) { setSumouPunchStatus(); } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (checkAnmEnd(frameCtrl_p)) { - if (mSpecialMode == 0x1E) { + if (mMode == 0x1E) { procSumouStaggerInit(); - } else if (mSpecialMode == 0x12 || mSpecialMode == 0x22 || mSpecialMode == 0x13 || - mSpecialMode == 0x1A || mSpecialMode == 0x19 || mSpecialMode == 0x11 || - mSpecialMode == 0x15) + } else if (mMode == 0x12 || mMode == 0x22 || mMode == 0x13 || + mMode == 0x1A || mMode == 0x19 || mMode == 0x11 || + mMode == 0x15) { procSumouSideMoveInit(); } else { @@ -725,14 +726,13 @@ int daAlink_c::procSumouAction() { return 1; } - int daAlink_c::procSumouStaggerInit() { commonProcInit(PROC_SUMOU_STAGGER); - if (mSpecialMode == 0x11) { - mSpecialMode = 0x20; + if (mMode == 0x11) { + mMode = 0x20; } else { - mSpecialMode = 0x1F; + mMode = 0x1F; } setSingleAnimeBase(ANM_SUMOU_STAGGER); @@ -750,8 +750,8 @@ int daAlink_c::procSumouStagger() { } mProcVar0.field_0x3008--; - if (mSpecialMode == 0x1C || mSpecialMode == 0x21 || mSpecialMode == 0x1B) { - procSumouActionInit(0, 0, 0); + if (mMode == 0x1C || mMode == 0x21 || mMode == 0x1B) { + procSumouActionInit(FALSE, FALSE, 0); } else if (mProcVar0.field_0x3008 == 0) { procSumouSideMoveInit(); } @@ -760,7 +760,7 @@ int daAlink_c::procSumouStagger() { } int daAlink_c::procSumouWinLoseInit() { - if (mSpecialMode == 0xB && mUnderFrameCtrl[0].getAttribute() == 2) { + if (mMode == 0xB && mUnderFrameCtrl[0].getAttribute() == 2) { cancelSumouMode(); return procWaitInit(); } @@ -770,15 +770,20 @@ int daAlink_c::procSumouWinLoseInit() { field_0x3478 = 1000.0f; daAlink_ANM anm = ANM_WAIT; - if (mSpecialMode == 0xB) { + if (mMode == 0xB) { mProcVar2.field_0x300c = 1; - } else if (mSpecialMode == 0xD) { + } else if (mMode == 0xD) { field_0x2f99 = 12; - if (wrestler_p->getWrestlerType() != 0) { - anm = ANM_SUMOU_WIN_GORON; - } else { + + #if VERSION == VERSION_SHIELD_DEBUG // probably a fakematch + if (wrestler_p->getWrestlerType() == 0) { anm = ANM_SUMOU_WIN; + } else { + anm = ANM_SUMOU_WIN_GORON; } + #else + anm = wrestler_p->getWrestlerType() != 0 ? ANM_SUMOU_WIN_GORON : ANM_SUMOU_WIN; + #endif setSingleAnimeBase(anm); mProcVar2.field_0x300c = 1; @@ -787,7 +792,7 @@ int daAlink_c::procSumouWinLoseInit() { field_0x3198 = 13; } else { f32 start_frame; - if (mSpecialMode == 12) { + if (mMode == 12) { start_frame = 24.0f; voiceStart(Z2SE_AL_V_SUMO_FALL_LOSE); } else { @@ -796,11 +801,15 @@ int daAlink_c::procSumouWinLoseInit() { field_0x32cc = Z2SE_AL_V_SUMO_FALL_LOSE; } - if (wrestler_p->getWrestlerType() != 0) { - anm = ANM_SUMOU_LOSE_GORON; - } else { + #if VERSION == VERSION_SHIELD_DEBUG // probably a fakematch + if (wrestler_p->getWrestlerType() == 0) { anm = ANM_SUMOU_LOSE; + } else { + anm = ANM_SUMOU_LOSE_GORON; } + #else + anm = wrestler_p->getWrestlerType() != 0 ? ANM_SUMOU_LOSE_GORON : ANM_SUMOU_LOSE; + #endif setSingleAnime(anm, 1.0f, start_frame, -1, 3.0f); field_0x2f99 = 15; @@ -818,7 +827,6 @@ int daAlink_c::procSumouWinLoseInit() { return 1; } - int daAlink_c::procSumouWinLose() { if (mProcVar3.field_0x300e == 0) { if (mProcVar2.field_0x300c != 0) { @@ -844,7 +852,7 @@ int daAlink_c::procSumouWinLose() { field_0x3478 = 1000.0f; field_0x3198 = ANM_SUMOU_KNOCKED_DOWN; } - } else if (mProcVar3.field_0x300e == 0 && mSpecialMode == 0x25) { + } else if (mProcVar3.field_0x300e == 0 && mMode == 0x25) { setSingleAnimeBase(ANM_SUMOU_GET_UP); mProcVar3.field_0x300e = 1; field_0x3478 = 1000.0f; @@ -860,7 +868,6 @@ int daAlink_c::procSumouWinLose() { return 1; } - int daAlink_c::procSumouShikoInit() { if (!commonProcInitNotSameProc(PROC_SUMOU_SHIKO)) { return 0; @@ -872,10 +879,10 @@ int daAlink_c::procSumouShikoInit() { field_0x34d4 = field_0x3588; field_0x2f99 = 12; mProcVar2.field_0x300c = 0; - mSpecialMode = 0; + mMode = 0; setFootEffectProcType(5); - deleteEquipItem(0, 1); + deleteEquipItem(FALSE, TRUE); return 1; } @@ -885,7 +892,7 @@ int daAlink_c::procSumouShiko() { field_0x2f99 = 4; } - if (mSpecialMode == 1) { + if (mMode == 1) { return procSumouReadyInit(); } @@ -899,8 +906,8 @@ int daAlink_c::procSumouShiko() { } else if (frameCtrl_p->checkPass(65.0f)) { voiceStart(Z2SE_AL_V_SUMO_SHIKO); } else if (frameCtrl_p->checkPass(9.0f)) { - field_0x2f92 = 0xFE; - field_0x2f93 = 0xFE; + mLeftHandIndex = 0xFE; + mRightHandIndex = 0xFE; } } else { dComIfGp_evmng_cutEnd(mAlinkStaffId); diff --git a/src/d/actor/d_a_alink_swim.inc b/src/d/actor/d_a_alink_swim.inc index 4cd7a0c15b..52773e9914 100644 --- a/src/d/actor/d_a_alink_swim.inc +++ b/src/d/actor/d_a_alink_swim.inc @@ -17,7 +17,7 @@ BOOL daAlink_c::checkAcceptUseItemInWater(u16 i_itemNo) const { void daAlink_c::swimDeleteItem() { if (!checkHookshotItem(mEquipItem) && (mEquipItem != 0x103 || !checkBootsOrArmorHeavy())) { - deleteEquipItem(1, 1); + deleteEquipItem(TRUE, TRUE); } if (checkNoResetFlg2(FLG2_UNK_1)) { @@ -54,23 +54,21 @@ f32 daAlink_c::getSwimMaxFallSpeed() const { } void daAlink_c::checkOxygenTimer() { - BOOL hide_timer; + BOOL is_hide_timer; if (!checkNoResetFlg0(FLG0_SWIM_UP) || (checkModeFlg(MODE_SWIMMING) && mWaterY > 5.0f + current.pos.y)) { - hide_timer = false; + is_hide_timer = false; } else { - hide_timer = true; + is_hide_timer = true; } if (dComIfGp_getOxygenShowFlag()) { if (checkZoraWearAbility()) { offOxygenTimer(); - } else if (hide_timer) { - s32 max = dComIfGp_getMaxOxygen(); - dComIfGp_setOxygenCount(max); - + } else if (is_hide_timer) { + dComIfGp_setOxygenCount(dComIfGp_getMaxOxygen()); if (field_0x2fbe < 90) { field_0x2fbe++; } else { @@ -79,7 +77,7 @@ void daAlink_c::checkOxygenTimer() { } else if (!checkEventRun()) { dComIfGp_setOxygenCount(-1); } - } else if (!hide_timer && !checkZoraWearAbility()) { + } else if (!is_hide_timer && !checkZoraWearAbility()) { if (field_0x2fbe != 0) { field_0x2fbe--; } else { @@ -91,19 +89,19 @@ void daAlink_c::checkOxygenTimer() { void daAlink_c::offOxygenTimer() { dComIfGp_offOxygenShowFlag(); - s32 max = dComIfGp_getMaxOxygen(); - dComIfGp_setOxygen(max); + dComIfGp_setOxygen(dComIfGp_getMaxOxygen()); field_0x2fbe = 90; } BOOL daAlink_c::checkPossibleWaterInMode() const { - return checkModeFlg(MODE_VINE_CLIMB) || dComIfGp_checkPlayerStatus1(0, 0x2000000) || + return checkModeFlg(MODE_VINE_CLIMB) || + dComIfGp_checkPlayerStatus1(0, 0x2000000) || mProcID == PROC_HOOKSHOT_FLY; } void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* i_frameCtrl, f32 i_rate) { - if (checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { if (checkZoraWearAbility()) { i_rate *= mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; } else { @@ -121,24 +119,24 @@ void daAlink_c::swimBgCheck(f32 param_0) { return; } - cXyz start_pos(current.pos); - cXyz end_pos; + cXyz linechk_start(current.pos); + cXyz linechk_end; s16 var_r29; if (getZoraSwim()) { var_r29 = field_0x3080; } else { var_r29 = mProcVar2.field_0x300c; - start_pos.y += mpHIO->mWolf.mWlWallHang.m.mAutoWalkHeight; + linechk_start.y += mpHIO->mWolf.mWlWallHang.m.mAutoWalkHeight; } f32 var_f28 = param_0 * cM_scos(var_r29); - end_pos.set(start_pos.x + (var_f28 * cM_ssin(shape_angle.y)), - start_pos.y - param_0 * cM_ssin(var_r29), - start_pos.z + (var_f28 * cM_scos(shape_angle.y))); + linechk_end.set(linechk_start.x + (var_f28 * cM_ssin(shape_angle.y)), + linechk_start.y - param_0 * cM_ssin(var_r29), + linechk_start.z + (var_f28 * cM_scos(shape_angle.y))); - if (!commonLineCheck(&start_pos, &end_pos)) { + if (!commonLineCheck(&linechk_start, &linechk_end)) { return; } @@ -148,12 +146,9 @@ void daAlink_c::swimBgCheck(f32 param_0) { if (cBgW_CheckBWall(tri.mNormal.y) && (mProcID != PROC_METAMORPHOSE || dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7)) { - cXyz sp14 = end_pos - mLinkLinChk.GetCross(); - f32 temp_f1 = sp14.absXZ(); + cXyz sp14 = linechk_end - mLinkLinChk.GetCross(); - s16 var_r28 = sp14.atan2sX_Z(); - f32 var_f26 = cM_scos(var_r28 - cM_atan2s(-tri.mNormal.x, -tri.mNormal.z)); - f32 var_f29 = -temp_f1 * var_f26; + f32 var_f29 = -sp14.absXZ() * cM_scos(sp14.atan2sX_Z() - cM_atan2s(-tri.mNormal.x, -tri.mNormal.z)); f32 var_f31 = var_f29 * tri.mNormal.x; f32 var_f30 = var_f29 * tri.mNormal.z; @@ -165,21 +160,18 @@ void daAlink_c::swimBgCheck(f32 param_0) { onNoResetFlg1(FLG1_UNK_20000000); } - start_pos.x -= var_f31; - start_pos.z -= var_f30; - end_pos.x -= var_f31; - end_pos.z -= var_f30; + linechk_start.x -= var_f31; + linechk_start.z -= var_f30; + linechk_end.x -= var_f31; + linechk_end.z -= var_f30; - if (commonLineCheck(&start_pos, &end_pos)) { + if (commonLineCheck(&linechk_start, &linechk_end)) { dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tri); if (cBgW_CheckBWall(tri.mNormal.y)) { - sp14 = end_pos - mLinkLinChk.GetCross(); - temp_f1 = sp14.absXZ(); + sp14 = linechk_end - mLinkLinChk.GetCross(); - var_r28 = sp14.atan2sX_Z(); - var_f26 = cM_scos(var_r28 - cM_atan2s(-tri.mNormal.x, -tri.mNormal.z)); - var_f29 = -temp_f1 * var_f26; + var_f29 = -sp14.absXZ() * cM_scos(sp14.atan2sX_Z() - cM_atan2s(-tri.mNormal.x, -tri.mNormal.z)); var_f31 += var_f29 * tri.mNormal.x; var_f30 += var_f29 * tri.mNormal.z; @@ -193,35 +185,36 @@ void daAlink_c::swimBgCheck(f32 param_0) { } void daAlink_c::setSpeedAndAngleSwim() { - if (!checkBootsOrArmorHeavy() && dComIfGp_getDoStatus() == 0 && (!checkHookshotAnime() || (checkHookshotItem(mEquipItem) && (mItemMode == 0 || mItemMode == 1)))) { + if (!checkBootsOrArmorHeavy() && dComIfGp_getDoStatus() == BUTTON_STATUS_NONE && (!checkHookshotAnime() || (checkHookshotItem(mEquipItem) && (mItemMode == 0 || mItemMode == 1)))) { if (checkZoraWearAbility()) { if (checkNoResetFlg0(FLG0_SWIM_UP)) { if (field_0x2fcd == 0) { - setDoStatus(0x41); + setDoStatus(BUTTON_STATUS_DIVE); } } else { - setDoStatus(0x4C); + setDoStatus(BUTTON_STATUS_SWIM); } } else if (!checkNoResetFlg0(FLG0_SWIM_UP)) { - setDoStatus(0x97); + setDoStatus(BUTTON_STATUS_UNK_151); } else if (mProcID == PROC_SWIM_MOVE && checkUnderMove0BckNoArc(ANM_SWIM_A) && field_0x30d0 == 0 && field_0x30d2 == 0) { - setDoStatus(9); + setDoStatus(BUTTON_STATUS_DASH); } } f32 var_f31; f32 var_f30; + s16 temp_r29; if (mProcID == PROC_SWIM_HOOKSHOT_MOVE && !checkHookshotWait()) { var_f30 = 0.0f; } else if (checkZoraSwimMove()) { - s16 temp_r29 = shape_angle.y; + temp_r29 = shape_angle.y; if (mTargetedActor != NULL && current.pos.abs2XZ(mTargetedActor->eyePos) > 22500.0f) { setShapeAngleToAtnActor(0); } else if (checkInputOnR()) { s16 var_r28; if (checkEventRun()) { - var_r28 = field_0x2fe2; + var_r28 = mMoveAngle; } else { var_r28 = shape_angle.y + (16384.0f * cM_ssin(mStickAngle)); } @@ -230,24 +223,24 @@ void daAlink_c::setSpeedAndAngleSwim() { } current.angle.y = shape_angle.y; - var_f30 = 3.0f * cM_scos((shape_angle.y - temp_r29)); + var_f30 = 3.0f * cM_scos(shape_angle.y - temp_r29); } else if (!checkAttentionLock()) { if (checkInputOnR()) { - s16 temp_r29_2 = shape_angle.y; + temp_r29 = shape_angle.y; if (checkNoResetFlg0(FLG0_SWIM_UP)) { - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mSwim.m.mTurnRate, mpHIO->mSwim.m.mMaxTurn, mpHIO->mSwim.m.mMinTurn); + cLib_addCalcAngleS(&shape_angle.y, mMoveAngle, mpHIO->mSwim.m.mTurnRate, mpHIO->mSwim.m.mMaxTurn, mpHIO->mSwim.m.mMinTurn); } else { - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mSwim.m.mUnderwaterTurnRate, mpHIO->mSwim.m.mUnderwaterMaxTurn, mpHIO->mSwim.m.mUnderwaterMinTurn); + cLib_addCalcAngleS(&shape_angle.y, mMoveAngle, mpHIO->mSwim.m.mUnderwaterTurnRate, mpHIO->mSwim.m.mUnderwaterMaxTurn, mpHIO->mSwim.m.mUnderwaterMinTurn); } f32 var_f29; if (checkUnderMove0BckNoArc(ANM_SWIM_DASH)) { var_f29 = 1.0f; } else { - var_f29 = field_0x33a8; + var_f29 = mStickValue; } - var_f30 = 3.0f * var_f29 * cM_scos((shape_angle.y - temp_r29_2)); + var_f30 = 3.0f * var_f29 * cM_scos(shape_angle.y - temp_r29); cLib_addCalcAngleS(¤t.angle.y, shape_angle.y, 2, 0x2000, 0x1000); } else { var_f30 = 0.0f; @@ -266,17 +259,17 @@ void daAlink_c::setSpeedAndAngleSwim() { } if (checkZeroSpeedF()) { - current.angle.y = field_0x2fe2; + current.angle.y = mMoveAngle; } - s16 temp_r29_3 = current.angle.y; + temp_r29 = current.angle.y; if (checkNoResetFlg0(FLG0_SWIM_UP)) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mSwim.m.mTurnRate, mpHIO->mSwim.m.mMaxTurn, mpHIO->mSwim.m.mMinTurn); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mSwim.m.mTurnRate, mpHIO->mSwim.m.mMaxTurn, mpHIO->mSwim.m.mMinTurn); } else { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mSwim.m.mUnderwaterTurnRate, mpHIO->mSwim.m.mUnderwaterMaxTurn, mpHIO->mSwim.m.mUnderwaterMinTurn); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mSwim.m.mUnderwaterTurnRate, mpHIO->mSwim.m.mUnderwaterMaxTurn, mpHIO->mSwim.m.mUnderwaterMinTurn); } - var_f30 = mpHIO->mSwim.m.mAcceleration * field_0x33a8 * cM_scos((s16)(current.angle.y - temp_r29_3)); + var_f30 = mpHIO->mSwim.m.mAcceleration * mStickValue * cM_scos((s16)(current.angle.y - temp_r29)); } else { var_f30 = 0.0f; } @@ -322,7 +315,7 @@ int daAlink_c::checkNextActionSwim() { field_0x3000 = 30; } - if ((checkZoraWearAbility() && !checkHeavyStateOn(1, 1)) || checkNoResetFlg0(FLG0_SWIM_UP)) { + if ((checkZoraWearAbility() && !checkHeavyStateOn(TRUE, TRUE)) || checkNoResetFlg0(FLG0_SWIM_UP)) { setTalkStatus(); } @@ -333,7 +326,7 @@ int daAlink_c::checkNextActionSwim() { if (mAttList != NULL && mAttList->mType == fopAc_attn_ETC_e && checkNoResetFlg0(FLG0_SWIM_UP) && fopAcM_GetName(field_0x27f4) == PROC_CANOE) { - setDoStatus(0x17); + setDoStatus(BUTTON_STATUS_GET_ON); if (doTrigger()) { return procCanoeRideInit(); @@ -362,9 +355,15 @@ int daAlink_c::checkSwimAction(int param_0) { var_f31 = mpHIO->mSwim.m.mStartHeight; } - if (checkNoResetFlg0(FLG0_UNK_80) && !checkNoResetFlg0(FLG0_UNDERWATER) && !checkModeFlg(0x40000) && mProcID != PROC_MAGNE_BOOTS_FLY && ((mProcID != PROC_WOLF_LOCK_ATTACK && mProcID != PROC_WOLF_LOCK_ATTACK_TURN) || mProcVar5.field_0x3012 == 0) && mDemo.getDemoMode() != 0x11) { - f32 var_f28; + if (checkNoResetFlg0(FLG0_UNK_80) + && !checkNoResetFlg0(FLG0_WATER_IN_MOVE) + && !checkModeFlg(0x40000) + && mProcID != PROC_MAGNE_BOOTS_FLY + && ((mProcID != PROC_WOLF_LOCK_ATTACK && mProcID != PROC_WOLF_LOCK_ATTACK_TURN) || mProcVar5.field_0x3012 == 0) + && mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_17_e) + { f32 var_f29; + f32 var_f28; f32 var_f30; if (checkWolf()) { @@ -393,14 +392,14 @@ int daAlink_c::checkSwimAction(int param_0) { offNoResetFlg0(FLG0_SWIM_UP); mZ2Link.setInWater(true); - field_0x594 = var_f29; + mMaxSpeed = var_f29; if (!param_0) { mNormalSpeed *= 0.75f; } - if (mNormalSpeed >= field_0x594) { - mNormalSpeed = field_0x594; + if (mNormalSpeed >= mMaxSpeed) { + mNormalSpeed = mMaxSpeed; } swimDeleteItem(); @@ -421,7 +420,7 @@ int daAlink_c::checkSwimAction(int param_0) { } if (checkModeFlg(2) && !checkPossibleWaterInMode()) { - dComIfGp_getVibration().StartShock(2, 1, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 1, cXyz(0.0f, 1.0f, 0.0f)); current.pos.y = var_f30 + var_f31; speed.y = 0.75f * field_0x3528.y; @@ -433,15 +432,15 @@ int daAlink_c::checkSwimAction(int param_0) { if (checkWolf()) { if (checkNoResetFlg2(FLG2_UNK_8)) { - daAlink_WANM var_r29; + daAlink_WANM anm; if (cM_rnd() < 0.5f) { - var_r29 = WANM_FLING_LEFT; + anm = WANM_FLING_LEFT; onNoResetFlg2(FLG2_WOLF_ENEMY_LEFT_THROW); } else { - var_r29 = WANM_FLING_RIGHT; + anm = WANM_FLING_RIGHT; offNoResetFlg2(FLG2_WOLF_ENEMY_LEFT_THROW); } - setWolfEnemyThrowUpperAnime(var_r29, 0.0f); + setWolfEnemyThrowUpperAnime(anm, 0.0f); } return procWolfSwimWaitInit(1); @@ -460,7 +459,7 @@ int daAlink_c::checkSwimAction(int param_0) { } if (checkBootsOrArmorHeavy() || checkPossibleWaterInMode()) { - onNoResetFlg0(FLG0_UNDERWATER); + onNoResetFlg0(FLG0_WATER_IN_MOVE); return 0; } @@ -541,7 +540,7 @@ int daAlink_c::checkSwimUpAction() { } else { current.pos.y = mLinkAcch.GetGroundH(); mLinkAcch.SetGroundHit(); - onNoResetFlg0(FLG0_UNDERWATER); + onNoResetFlg0(FLG0_WATER_IN_MOVE); procLandInit(0.0f); field_0x2f99 = 0x90; return 1; @@ -559,12 +558,14 @@ int daAlink_c::checkSwimUpAction() { } void daAlink_c::swimOutAfter(int param_0) { + UNUSED(param_0); + onNoResetFlg0(FLG0_SWIM_UP); onEndResetFlg1(ERFLG1_UNK_100); mZ2Link.setInWater(false); - if (checkNoResetFlg0(FLG0_UNDERWATER)) { - offNoResetFlg0(FLG0_UNDERWATER); + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + offNoResetFlg0(FLG0_WATER_IN_MOVE); } else { field_0x2b98 = 0.0f; field_0x2f98 = 4; @@ -630,12 +631,11 @@ int daAlink_c::checkSwimOutAction() { } void daAlink_c::setSwimMoveAnime() { - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; - daPy_frameCtrl_c* temp_r27 = &mUpperFrameCtrl[2]; + daPy_frameCtrl_c* framectrl_under0 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl_upper2 = &mUpperFrameCtrl[2]; f32 var_f31; - f32 temp_f25 = temp_r28->getEnd(); - f32 var_f26 = temp_r28->getFrame() * temp_f25; + f32 var_f26 = framectrl_under0->getFrame() * framectrl_under0->getEnd(); if (field_0x3000 != 0 && !checkHookshotAnime()) { field_0x2f98 = 4; @@ -650,9 +650,9 @@ void daAlink_c::setSwimMoveAnime() { field_0x2f98 = 0; } - daAlink_ANM var_r29; - BOOL var_r26 = 1; - BOOL var_r25 = 0; + daAlink_ANM anm = (daAlink_ANM)field_0x3198; + BOOL var_r26 = TRUE; + BOOL var_r25 = FALSE; if (field_0x2f98 == 4) { f32 temp_f29 = mpHIO->mSwim.m.mUnderwaterMaxSpeed + mpHIO->mSwim.m.mUnderwaterButtonAdditionalSpeed; @@ -660,12 +660,12 @@ void daAlink_c::setSwimMoveAnime() { field_0x3478 = mpHIO->mSwim.m.mUnderwaterMinAnmSpeed; field_0x347c = mpHIO->mSwim.m.mUnderwaterMaxAnmSpeed; - if (field_0x594 < mpHIO->mSwim.m.mUnderwaterMaxSpeed) { - field_0x594 = mpHIO->mSwim.m.mUnderwaterMaxSpeed; + if (mMaxSpeed < mpHIO->mSwim.m.mUnderwaterMaxSpeed) { + mMaxSpeed = mpHIO->mSwim.m.mUnderwaterMaxSpeed; } else if (doTrigger()) { - field_0x594 += 0.75f; - if (field_0x594 > temp_f29) { - field_0x594 = temp_f29; + mMaxSpeed += 0.75f; + if (mMaxSpeed > temp_f29) { + mMaxSpeed = temp_f29; } if (!checkSwimMoveHandAnime() && !checkZoraSwimDamageAnime()) { @@ -679,77 +679,77 @@ void daAlink_c::setSwimMoveAnime() { setUpperAnime(0x23F, UPPER_2, 1.0f, 0.0f, 0x28, var_f28); mProcVar5.field_0x3012 = 0; var_r25 = 1; - } else if (temp_r27->getFrame() > 25.0f) { + } else if (framectrl_upper2->getFrame() > 25.0f) { mProcVar5.field_0x3012 = 1; } } else if (!checkSwimMoveHandAnime()) { - cLib_chaseF(&field_0x594, mpHIO->mSwim.m.mUnderwaterMaxSpeed, 0.4f); + cLib_chaseF(&mMaxSpeed, mpHIO->mSwim.m.mUnderwaterMaxSpeed, 0.4f); } var_f31 = 1.0f / mpHIO->mSwim.m.mUnderwaterMaxSpeed; - if (checkZoraWearAbility() && (field_0x3198 == ANM_SWIM_DIVE || (field_0x3198 == ANM_SWIM_ZORA_START && !checkAnmEnd(temp_r28)))) { - var_r29 = ANM_SWIM_ZORA_START; + if (checkZoraWearAbility() && (field_0x3198 == ANM_SWIM_DIVE || (field_0x3198 == ANM_SWIM_ZORA_START && !checkAnmEnd(framectrl_under0)))) { + anm = ANM_SWIM_ZORA_START; } else { - var_r29 = ANM_SWIM_C; + anm = ANM_SWIM_C; if (field_0x3198 == ANM_SWIM_ZORA_START) { - var_r26 = 0; + var_r26 = FALSE; if (mProcVar4.field_0x3010 == 1) { mProcVar4.field_0x3010 = 0; } } } } else if (field_0x2f98 == 0) { - if (checkSwimDashMode() && checkUnderMove0BckNoArc(ANM_SWIM_DASH) && !checkAnmEnd(temp_r28)) { - var_r29 = ANM_SWIM_DASH; + if (checkSwimDashMode() && checkUnderMove0BckNoArc(ANM_SWIM_DASH) && !checkAnmEnd(framectrl_under0)) { + anm = ANM_SWIM_DASH; } else if (mNormalSpeed < 3.0f || checkHookshotAnime()) { - var_r29 = ANM_SWIM_WAIT; + anm = ANM_SWIM_WAIT; field_0x30d0 = 0; } else { - var_r29 = ANM_SWIM_A; + anm = ANM_SWIM_A; } if (checkSwimDashMode()) { field_0x3478 = mpHIO->mSwim.m.mDashMinAnmSpeed; field_0x347c = mpHIO->mSwim.m.mDashMaxAnmSpeed; - field_0x594 = mpHIO->mSwim.m.mDashMaxSpeed; + mMaxSpeed = mpHIO->mSwim.m.mDashMaxSpeed; } else { field_0x3478 = mpHIO->mSwim.m.mForwardMinAnmSpeed; field_0x347c = mpHIO->mSwim.m.mForwardMaxAnmSpeed; - field_0x594 = getSwimFrontMaxSpeed(); + mMaxSpeed = getSwimFrontMaxSpeed(); } - var_f31 = 1.0f / field_0x594; + var_f31 = 1.0f / mMaxSpeed; } else if (field_0x2f98 == 1) { - var_r29 = ANM_ATN_SWIM_BACK; + anm = ANM_ATN_SWIM_BACK; field_0x3478 = mpHIO->mSwim.m.mBackwardMinAnmSpeed; field_0x347c = mpHIO->mSwim.m.mBackwardMaxAnmSpeed; if (checkZoraWearAbility()) { - field_0x594 = 10.0f; + mMaxSpeed = 10.0f; } else { - field_0x594 = mpHIO->mSwim.m.mBackwardMaxSpeed; + mMaxSpeed = mpHIO->mSwim.m.mBackwardMaxSpeed; } - var_f31 = 1.0f / field_0x594; + var_f31 = 1.0f / mMaxSpeed; } else { if (field_0x2f98 == 2) { - var_r29 = ANM_ATN_SWIM_LEFT; + anm = ANM_ATN_SWIM_LEFT; } else { - var_r29 = ANM_ATN_SWIM_RIGHT; + anm = ANM_ATN_SWIM_RIGHT; } field_0x3478 = mpHIO->mSwim.m.mStrafeMinAnmSpeed; field_0x347c = mpHIO->mSwim.m.mStrafeMaxAnmSpeed; if (checkZoraWearAbility()) { - field_0x594 = 12.0f; + mMaxSpeed = 12.0f; } else { - field_0x594 = mpHIO->mSwim.m.mStrafeMaxSpeed; + mMaxSpeed = mpHIO->mSwim.m.mStrafeMaxSpeed; } - var_f31 = 1.0f / field_0x594; + var_f31 = 1.0f / mMaxSpeed; } field_0x347c -= field_0x3478; @@ -759,55 +759,55 @@ void daAlink_c::setSwimMoveAnime() { } if (checkBootsOrArmorHeavy()) { - var_r29 = ANM_SWIM_WAIT; - field_0x594 = mpHIO->mSwim.m.mUnderwaterFallMaxSpeed; + anm = ANM_SWIM_WAIT; + mMaxSpeed = mpHIO->mSwim.m.mUnderwaterFallMaxSpeed; if (mEquipItem != fpcNm_ITEM_NONE && !checkHookshotAnime()) { - setDoStatus(4); + setDoStatus(BUTTON_STATUS_PUT_AWAY); } } - if (var_r29 != field_0x3198) { + if (anm != field_0x3198) { if (field_0x3198 == ANM_SWIM_ZORA_START) { speed.y = 0.0f; } - field_0x3198 = var_r29; + field_0x3198 = anm; if (checkUnderMove0BckNoArc(ANM_SWIM_DASH)) { field_0x30d2 = mpHIO->mSwim.m.field_0x5e; } - if (var_r29 == ANM_SWIM_WAIT) { + if (anm == ANM_SWIM_WAIT) { setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, mpHIO->mSwim.m.mWaitAnmSpeed, mpHIO->mSwim.m.mWaitInterpolation); } else { - f32 var_f27; - if (var_r26 != 0) { - var_f27 = mpHIO->mSwim.m.mMoveInterpolation; + f32 morf; + if (var_r26) { + morf = mpHIO->mSwim.m.mMoveInterpolation; } else { - var_f27 = 0.0f; + morf = 0.0f; } - setSingleAnimeBaseMorf(var_r29, var_f27); + setSingleAnimeBaseMorf(anm, morf); } } - if (var_r29 != ANM_SWIM_WAIT && var_r29 != ANM_SWIM_DASH) { + if (anm != ANM_SWIM_WAIT && anm != ANM_SWIM_DASH) { f32 temp_f30 = var_f31 * fabsf(mNormalSpeed); if (temp_f30 > 1.0f && field_0x2f98 == 4) { - temp_r28->setRate(mpHIO->mSwim.m.mUnderwaterMaxAnmSpeed + ((temp_f30 - 1.0f) * mpHIO->mSwim.m.mUnderwaterAdditionalAnmSpeed)); + framectrl_under0->setRate(mpHIO->mSwim.m.mUnderwaterMaxAnmSpeed + ((temp_f30 - 1.0f) * mpHIO->mSwim.m.mUnderwaterAdditionalAnmSpeed)); } else { - temp_r28->setRate(field_0x3478 + (field_0x347c * temp_f30)); + framectrl_under0->setRate(field_0x3478 + (field_0x347c * temp_f30)); } } if (checkSwimMoveHandAnime()) { - if (temp_r27->checkPass(17.0f)) { + if (framectrl_upper2->checkPass(17.0f)) { seStartOnlyReverb(Z2SE_AL_WATER_STROKE_L); } - if (var_r29 == ANM_SWIM_C) { - temp_r27->setRate(temp_r28->getRate()); + if (anm == ANM_SWIM_C) { + framectrl_upper2->setRate(framectrl_under0->getRate()); - if (var_r25 == 0 && temp_r27->checkPass(0.0f)) { + if (!var_r25 && framectrl_upper2->checkPass(0.0f)) { if (mProcVar5.field_0x3012 != 0) { mProcVar5.field_0x3012 = 0; } else { @@ -821,7 +821,7 @@ void daAlink_c::setSwimMoveAnime() { maxFallSpeed = getSwimMaxFallSpeed(); - if (var_r29 == ANM_SWIM_C || var_r29 == ANM_SWIM_ZORA_START) { + if (anm == ANM_SWIM_C || anm == ANM_SWIM_ZORA_START) { if (!checkZoraWearAbility()) { if (field_0x3080 != -0x3800) { setOldRootQuaternion(0x4000, 0, 0); @@ -854,11 +854,11 @@ void daAlink_c::setSwimMoveAnime() { } bool daAlink_c::checkSwimButtonAccept() { - return dComIfGp_getDoStatus() == 0x41 || dComIfGp_getDoStatus() == 0x4C; + return dComIfGp_getDoStatus() == BUTTON_STATUS_DIVE || dComIfGp_getDoStatus() == BUTTON_STATUS_SWIM; } bool daAlink_c::checkUpSwimButtonAccept() { - return dComIfGp_getDoStatus() == 0x97; + return dComIfGp_getDoStatus() == BUTTON_STATUS_UNK_151; } BOOL daAlink_c::checkSwimButtonMove() { @@ -879,7 +879,7 @@ void daAlink_c::setSwimUpDownOffset() { f32 var_f1; if (checkWolf()) { - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { var_f1 = mpHIO->mWolf.mWlSwim.m.mHeavyIdleUpDownSwayAmount; } else { var_f1 = mpHIO->mWolf.mWlSwim.m.mIdleUpDownSwayAmount; @@ -946,10 +946,10 @@ int daAlink_c::procSwimUp() { int daAlink_c::procSwimWaitInit(int param_0) { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; - u32 mode_40000 = checkModeFlg(0x40000); + u32 is_mode40000 = checkModeFlg(0x40000); - if (checkNoResetFlg0(FLG0_UNDERWATER)) { - offNoResetFlg0(FLG0_UNDERWATER); + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + offNoResetFlg0(FLG0_WATER_IN_MOVE); current.pos.y += mpHIO->mSwim.m.mStartHeight; } @@ -959,7 +959,7 @@ int daAlink_c::procSwimWaitInit(int param_0) { seStartMapInfo(Z2SE_AL_INTO_WATER); mProcVar4.field_0x3010 = 0; field_0x3480 = mpHIO->mSwim.m.mStartHeight; - } else if (!mode_40000) { + } else if (!is_mode40000) { mProcVar4.field_0x3010 = 0; field_0x3480 = mpHIO->mSwim.m.mStartHeight; } @@ -991,18 +991,18 @@ int daAlink_c::procSwimWaitInit(int param_0) { mProcVar2.field_0x300c = 0; mProcVar0.field_0x3008 = 0; - field_0x594 = getSwimFrontMaxSpeed(); + mMaxSpeed = getSwimFrontMaxSpeed(); return 1; } int daAlink_c::procSwimWait() { - if (mDemo.getDemoMode() == 6 || mDemo.getDemoMode() == 8) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_6_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_8_e) { setShapeAngleToTalkActor(); current.angle.y = shape_angle.y; } maxFallSpeed = getSwimMaxFallSpeed(); - field_0x594 = getSwimFrontMaxSpeed(); + mMaxSpeed = getSwimFrontMaxSpeed(); setSpeedAndAngleSwim(); @@ -1015,7 +1015,7 @@ int daAlink_c::procSwimWait() { setSwimUpDownOffset(); if (checkEquipHeavyBoots() && mEquipItem != fpcNm_ITEM_NONE) { - setDoStatus(0x4); + setDoStatus(BUTTON_STATUS_PUT_AWAY); } if (checkSwimUpAction()) { @@ -1047,25 +1047,25 @@ int daAlink_c::procSwimWait() { } int daAlink_c::procSwimMoveInit() { - u32 mode_40000 = checkModeFlg(0x40000); - bool proc_dive_jump = mProcID == PROC_DIVE_JUMP; - bool proc_swim_dive = mProcID == PROC_SWIM_DIVE; + u32 is_mode40000 = checkModeFlg(0x40000); + bool is_prev_dive_jump = mProcID == PROC_DIVE_JUMP; + bool is_prev_swim_dive = mProcID == PROC_SWIM_DIVE; commonProcInit(PROC_SWIM_MOVE); - if (checkNoResetFlg0(FLG0_UNDERWATER)) { - offNoResetFlg0(FLG0_UNDERWATER); + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + offNoResetFlg0(FLG0_WATER_IN_MOVE); } - if (!mode_40000) { + if (!is_mode40000) { field_0x3480 = mpHIO->mSwim.m.mStartHeight; mProcVar4.field_0x3010 = 0; } - if (proc_swim_dive || proc_dive_jump) { + if (is_prev_swim_dive || is_prev_dive_jump) { field_0x3198 = 199; - if (proc_dive_jump) { + if (is_prev_dive_jump) { field_0x3080 = 0x2800; mProcVar3.field_0x300e = field_0x3080; mProcVar4.field_0x3010 = 1; @@ -1092,6 +1092,8 @@ int daAlink_c::procSwimMoveInit() { int daAlink_c::procSwimMove() { setSpeedAndAngleSwim(); + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + if (checkUpSwimButtonAccept() && doButton()) { field_0x3000 = 30; } @@ -1113,7 +1115,7 @@ int daAlink_c::procSwimMove() { if (checkSwimButtonAccept() && doTrigger() && !getZoraSwim()) { procSwimDiveInit(); - } else if (dComIfGp_getDoStatus() == 9 && doTrigger()) { + } else if (dComIfGp_getDoStatus() == BUTTON_STATUS_DASH && doTrigger()) { onNoResetFlg1(FLG1_DASH_MODE); field_0x30d0 = mpHIO->mSwim.m.field_0x5c; setSingleAnimeParam(ANM_SWIM_DASH, &mpHIO->mSwim.m.mDashAnm); @@ -1153,12 +1155,11 @@ int daAlink_c::procSwimDiveInit() { return 1; } - int daAlink_c::procSwimDive() { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; if (mProcVar2.field_0x300c == 0) { - setDoStatus(0x4C); + setDoStatus(BUTTON_STATUS_SWIM); } else if (checkNoResetFlg0(FLG0_SWIM_UP) && frame_ctrl->getFrame() > 20.0f) { offNoResetFlg0(FLG0_SWIM_UP); mZ2Link.setInWater(true); @@ -1178,8 +1179,8 @@ int daAlink_c::procSwimDive() { fopKyM_createWpillar(&pos, 0.7f, 0); } - if (mLinkAcch.GetGroundH() > current.pos.y - field_0x598 * 0.5f) { - current.pos.y = field_0x598 * 0.5f + mLinkAcch.GetGroundH(); + if (mLinkAcch.GetGroundH() > current.pos.y - mHeight * 0.5f) { + current.pos.y = mHeight * 0.5f + mLinkAcch.GetGroundH(); } if (checkAnmEnd(frame_ctrl)) { @@ -1198,7 +1199,6 @@ int daAlink_c::procSwimDive() { return 1; } - int daAlink_c::procSwimHookshotSubjectInit() { if (!commonProcInitNotSameProc(PROC_SWIM_HOOKSHOT_SUBJECT)) { return 0; @@ -1226,23 +1226,26 @@ int daAlink_c::procSwimHookshotSubjectInit() { mProcVar2.field_0x300c = 0; mProcVar0.field_0x3008 = 0; - field_0x594 = getSwimFrontMaxSpeed(); + mMaxSpeed = getSwimFrontMaxSpeed(); field_0x3480 = mpHIO->mSwim.m.mStartHeight; mProcVar4.field_0x3010 = 0; field_0x30d0 = 0; + #if PLATFORM_GCN setHookshotReadyMaterial(); + #endif + dComIfGp_setPlayerStatus0(0, 0x104000); return 1; } int daAlink_c::procSwimHookshotSubject() { maxFallSpeed = getSwimMaxFallSpeed(); - field_0x594 = getSwimFrontMaxSpeed(); + mMaxSpeed = getSwimFrontMaxSpeed(); if (checkHookshotWait()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } setShapeAngleToAtnActor(0); @@ -1316,7 +1319,7 @@ int daAlink_c::procSwimHookshotMove() { cancelHookshotMove(); if (checkHookshotWait() && !checkZoraWearAbility()) { - setDoStatus(0x12); + setDoStatus(BUTTON_STATUS_BACK); } if (mItemVar0.field_0x3018 == 0) { @@ -1364,48 +1367,50 @@ int daAlink_c::procSwimHookshotMove() { return 1; } -int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { +int daAlink_c::procSwimDamageInit(dCcD_GObjInf* i_hitObj) { seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); - dComIfGp_getVibration().StartShock(2, 31, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 31, cXyz(0.0f, 1.0f, 0.0f)); - BOOL bvar4 = - checkNoResetFlg0(FLG0_SWIM_UP) || ((param_0 != NULL && param_0->GetTgHitAc() != NULL) && - fopAcM_GetName(param_0->GetTgHitAc()) == PROC_E_SG); + BOOL bvar4 = checkNoResetFlg0(FLG0_SWIM_UP) + || ((i_hitObj != NULL && i_hitObj->GetTgHitAc() != NULL) + && fopAcM_GetName(i_hitObj->GetTgHitAc()) == PROC_E_SG); if (!getZoraSwim() && bvar4 && mProcID != PROC_SWIM_WAIT) { return 1; } - cXyz* temp_r30; - cXyz sp30; + cXyz* dmg_vec; + cXyz work; - if (param_0 != NULL) { - temp_r30 = (cXyz*)getDamageVec(param_0); + if (i_hitObj != NULL) { + dmg_vec = (cXyz*)getDamageVec(i_hitObj); } else { - sp30.set(-cM_ssin(current.angle.y), 0.0f, -cM_scos(current.angle.y)); - temp_r30 = &sp30; + work.set(-cM_ssin(current.angle.y), 0.0f, -cM_scos(current.angle.y)); + dmg_vec = &work; } - f32 scale = - temp_r30->abs() * mpHIO->mDamage.mDamSwim.m.mAttackSpeedRate + mpHIO->mDamage.mDamSwim.m.mInitialSpeed; + f32 scale = dmg_vec->abs() * mpHIO->mDamage.mDamSwim.m.mAttackSpeedRate + mpHIO->mDamage.mDamSwim.m.mInitialSpeed; if (scale > mpHIO->mDamage.mDamSwim.m.mMaxSpeed) { scale = mpHIO->mDamage.mDamSwim.m.mMaxSpeed; } - field_0x3750 = temp_r30->normZP(); + field_0x3750 = dmg_vec->normZP(); field_0x3750 *= scale; if (getZoraSwim()) { - setUpperAnimeParam(0xBF, UPPER_2, &mpHIO->mDamage.mDamSwim.m.mSinkAnm); - setFacePriBck(0xEA); - setFacePriTexture(FTANM_UNK_27); + setUpperAnimeParam(dRes_ID_ALANM_BCK_DAMSW_e, UPPER_2, &mpHIO->mDamage.mDamSwim.m.mSinkAnm); + setFacePriBck(dRes_ID_ALANM_BCK_FB_e); + setFacePriTexture(FTANM_B_A); return 1; } commonProcInit(PROC_SWIM_DAMAGE); - cXyz sp24(temp_r30->z * -cM_ssin(shape_angle.y) + temp_r30->x * cM_scos(shape_angle.y), - temp_r30->y, - temp_r30->z * cM_scos(shape_angle.y) + temp_r30->x * cM_ssin(shape_angle.y)); + + f32 var_f30 = cM_ssin(shape_angle.y); + f32 var_f29 = cM_scos(shape_angle.y); + cXyz sp24(dmg_vec->z * -var_f30 + dmg_vec->x * var_f29, + dmg_vec->y, + dmg_vec->z * var_f29 + dmg_vec->x * var_f30); mProcVar0.field_0x3008 = cLib_minMaxLimit(cM_atan2s(sp24.z, sp24.y), (s16)-mpHIO->mDamage.mDamSwim.m.mFrontBackBodyMaxAngle, @@ -1436,7 +1441,9 @@ int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { } mNormalSpeed = 0.0f; - field_0x347c = M_PI / (mUnderFrameCtrl->getEnd() - mUnderFrameCtrl->getStart()); + + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + field_0x347c = M_PI / (framectrl->getEnd() - framectrl->getStart()); field_0x3480 = mpHIO->mSwim.m.mStartHeight; current.angle.y = shape_angle.y; @@ -1470,13 +1477,12 @@ int daAlink_c::procSwimDamage() { return 1; } - int daAlink_c::procOctaIealSpitInit() { u32 temp_r30 = checkModeFlg(MODE_SWIMMING); commonProcInit(PROC_OCTAIEAL_SPIT); - if (checkNoResetFlg0(FLG0_UNDERWATER)) { - offNoResetFlg0(FLG0_UNDERWATER); + if (checkNoResetFlg0(FLG0_WATER_IN_MOVE)) { + offNoResetFlg0(FLG0_WATER_IN_MOVE); } setSingleAnimeBase(ANM_MORPHEEL_SPIT_OUT); @@ -1519,14 +1525,14 @@ static f32 dummyFloat() { } int daAlink_c::procOctaIealSpit() { - if (mDemo.getDemoMode() == 0x2E) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_CAUGHT_e) { cancelOriginalDemo(); } cLib_addCalc(&mNormalSpeed, 0.0f, 0.5f, field_0x3478, 0.1f); field_0x2f99 = 7; - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(mUnderFrameCtrl)) { procSwimWaitInit(0); } diff --git a/src/d/actor/d_a_alink_swindow.inc b/src/d/actor/d_a_alink_swindow.inc index 79225d79c7..d990f8a9e1 100644 --- a/src/d/actor/d_a_alink_swindow.inc +++ b/src/d/actor/d_a_alink_swindow.inc @@ -5,8 +5,9 @@ #include "d/actor/d_a_alink.h" #include "JSystem/JKernel/JKRExpHeap.h" +#include "JSystem/J3DGraphLoader/J3DAnmLoader.h" -static int daAlink_modelCallBack(J3DJoint* p_joint, int param_1); +static int daAlink_modelCallBack(J3DJoint* i_joint, int param_1); static int daAlink_headModelCallBack(J3DJoint* i_joint, int param_1); static int daAlink_wolfModelCallBack(J3DJoint* i_joint, int param_1); @@ -24,14 +25,6 @@ void daAlink_c::setArcName(BOOL i_isWolf) { } } -inline bool checkCarvingWoodShieldEquip() { - return dComIfGs_getSelectEquipShield() == fpcNm_ITEM_WOOD_SHIELD; -} - -inline bool checkShopWoodShieldEquip() { - return dComIfGs_getSelectEquipShield() == fpcNm_ITEM_SHIELD; -} - void daAlink_c::setShieldArcName() { if (checkCarvingWoodShieldEquip() || !checkShieldGet()) { mShieldArcName = l_cWShdArcName; @@ -44,8 +37,13 @@ void daAlink_c::setShieldArcName() { void daAlink_c::setOriginalHeap(JKRExpHeap** i_ppheap, u32 i_size) { if (*i_ppheap == NULL) { - *i_ppheap = - JKRExpHeap::create(ROUND(i_size, 0x10) + 0xA0, mDoExt_getGameHeap(), true); + u32 var_r29 = 0x90; + u32 var_r28 = 0x10; + u32 size = ROUND(i_size, 16); + JKRHeap* parent = mDoExt_getGameHeap(); + + JKRExpHeap* heap = JKRExpHeap::create(size + (var_r29 + var_r28), parent, true); + *i_ppheap = heap; } } @@ -91,7 +89,8 @@ int daAlink_c::loadModelDVD() { mClothesChangeWaitTimer = 0; changeLink(1); } else { - if (dComIfG_resLoad(&mPhaseReq, mArcName, mpArcHeap) == cPhs_COMPLEATE_e) { + int phase_state = dComIfG_resLoad(&mPhaseReq, mArcName, mpArcHeap); + if (phase_state == cPhs_COMPLEATE_e) { mClothesChangeWaitTimer = 0; if (mProcID == PROC_METAMORPHOSE || mProcID == PROC_METAMORPHOSE_ONLY) { @@ -134,8 +133,8 @@ int daAlink_c::loadShieldModelDVD() { mpShieldArcHeap->freeAll(); setShieldArcName(); } else if (mShieldChangeWaitTimer == 1) { - if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, mpShieldArcHeap) == cPhs_COMPLEATE_e) - { + int phase_state = dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, mpShieldArcHeap); + if (phase_state == cPhs_COMPLEATE_e) { mShieldChangeWaitTimer = 0; setShieldModel(); } else { @@ -151,6 +150,7 @@ int daAlink_c::loadShieldModelDVD() { void daAlink_c::changeModelDataDirect(int param_0) { u16 i; + J3DModelData* modelData; field_0x064C = mpLinkModel->getModelData(); field_0x06c0 = mpLinkFaceModel->getModelData(); @@ -164,14 +164,14 @@ void daAlink_c::changeModelDataDirect(int param_0) { field_0x064C->getJointNodePointer(i)->setCallBack(daAlink_modelCallBack); } - J3DModelData* head_modelData = mpLinkHatModel->getModelData(); - for (i = 1; i < head_modelData->getJointNum(); i++) { - head_modelData->getJointNodePointer(i)->setCallBack(daAlink_headModelCallBack); + modelData = mpLinkHatModel->getModelData(); + for (i = 1; i < modelData->getJointNum(); i++) { + modelData->getJointNodePointer(i)->setCallBack(daAlink_headModelCallBack); } if (param_0) { - if (field_0x2154 != NULL) { - field_0x06c0->entryTexNoAnimator(field_0x2154); + if (mpFaceBtp != NULL) { + field_0x06c0->entryTexNoAnimator(mpFaceBtp); } if (mpFaceBtk != NULL) { @@ -188,14 +188,14 @@ void daAlink_c::changeModelDataDirect(int param_0) { field_0x064C->getJointNodePointer(i)->setCallBack(NULL); } - J3DModelData* head_modelData = mpLinkHatModel->getModelData(); - for (i = 1; i < head_modelData->getJointNum(); i++) { - head_modelData->getJointNodePointer(i)->setCallBack(NULL); + modelData = mpLinkHatModel->getModelData(); + for (i = 1; i < modelData->getJointNum(); i++) { + modelData->getJointNodePointer(i)->setCallBack(NULL); } if (!checkNoResetFlg2(daPy_FLG2(FLG2_UNK_100000 | FLG2_UNK_80000))) { for (i = 6; i < 8; i++) { - head_modelData->getJointNodePointer(i)->setCallBack(daAlink_headModelCallBack); + modelData->getJointNodePointer(i)->setCallBack(daAlink_headModelCallBack); } } } @@ -217,8 +217,8 @@ void daAlink_c::changeModelDataDirectWolf(int param_0) { } if (param_0) { - if (field_0x2154 != NULL) { - field_0x06c0->entryTexNoAnimator(field_0x2154); + if (mpFaceBtp != NULL) { + field_0x06c0->entryTexNoAnimator(mpFaceBtp); } if (mpFaceBtk != NULL) { @@ -240,61 +240,61 @@ void daAlink_c::initStatusWindow() { onNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); void* tmpBuffer = new (0x20) void*[0x500]; - JUT_ASSERT(0x18A, tmpBuffer); + JUT_ASSERT(394, tmpBuffer); - u16 var_r28, var_r31, var_r30; + u16 bckResIdx, btpResIdx, btkResIdx; if (checkWolf()) { - var_r28 = 0x2FF; - var_r31 = 0x408; - var_r30 = 0x3A7; + bckResIdx = dRes_ID_ALANM_BCK_WL_WAITA_e; + btpResIdx = dRes_ID_ALANM_BTP_WL_FA_e; + btkResIdx = dRes_ID_ALANM_BTK_WL_FA_e; changeModelDataDirectWolf(0); } else { - var_r28 = 0x26A; - var_r31 = 0x3AF; - var_r30 = 0x32C; + bckResIdx = dRes_ID_ALANM_BCK_WAITS_e; + btpResIdx = dRes_ID_ALANM_BTP_FA_e; + btkResIdx = dRes_ID_ALANM_BTK_FA_e; if (checkZoraWearAbility() && !checkZoraWearMaskDraw()) { field_0x06f0->hide(); } + changeModelDataDirect(0); } - JKRReadIdxResource(tmpBuffer, 0x1400, var_r28, dComIfGp_getAnmArchive()); + JKRReadIdxResource(tmpBuffer, 0x1400, bckResIdx, dComIfGp_getAnmArchive()); m_sWindowBck = new mDoExt_bckAnm(); - JUT_ASSERT(0x1AC, m_sWindowBck); + JUT_ASSERT(428, m_sWindowBck); - J3DAnmTransform* bck = (J3DAnmTransform*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0); - if (!m_sWindowBck->init(bck, 1, 2, 1.0f, 0, -1, false)) { + if (!m_sWindowBck->init((J3DAnmTransform*)J3DAnmLoaderDataBase::load(tmpBuffer), TRUE, 2, 1.0f, 0, -1, false)) { JUT_ASSERT(433, FALSE); } tmpBuffer = new (0x20) void*[0x100]; - JUT_ASSERT(0x1B5, tmpBuffer); + JUT_ASSERT(437, tmpBuffer); - JKRReadIdxResource(tmpBuffer, 0x400, var_r31, dComIfGp_getAnmArchive()); + JKRReadIdxResource(tmpBuffer, 0x400, btpResIdx, dComIfGp_getAnmArchive()); J3DAnmTexPattern* btp = (J3DAnmTexPattern*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0); btp->setFrame(0.0f); btp->searchUpdateMaterialID(field_0x06c0); field_0x06c0->entryTexNoAnimator(btp); tmpBuffer = new (0x20) void*[0x100]; - JUT_ASSERT(0x1C1, tmpBuffer); + JUT_ASSERT(449, tmpBuffer); - JKRReadIdxResource(tmpBuffer, 0x400, var_r30, dComIfGp_getAnmArchive()); + JKRReadIdxResource(tmpBuffer, 0x400, btkResIdx, dComIfGp_getAnmArchive()); J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0); btk->setFrame(0.0f); btk->searchUpdateMaterialID(field_0x06c0); field_0x06c0->entryTexMtxAnimator(btk); } - void daAlink_c::statusWindowExecute(const cXyz* i_pos, s16 i_angle) { if (loadModelDVD()) { if (mSwordChangeWaitTimer != 0) { mSwordChangeWaitTimer--; } + loadShieldModelDVD(); - setSelectEquipItem(1); + setSelectEquipItem(TRUE); if (mSwordChangeWaitTimer >= 30) { mSwordChangeWaitTimer = 0; @@ -367,7 +367,7 @@ void daAlink_c::resetStatusWindow() { setMatrix(); mpLinkModel->calc(); onNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); - setSelectEquipItem(0); + setSelectEquipItem(FALSE); if (checkWolf()) { setWolfItemMatrix(); diff --git a/src/d/actor/d_a_alink_whistle.inc b/src/d/actor/d_a_alink_whistle.inc index 628e209a5e..43780cf58c 100644 --- a/src/d/actor/d_a_alink_whistle.inc +++ b/src/d/actor/d_a_alink_whistle.inc @@ -11,6 +11,8 @@ #include "d/actor/d_a_obj_yobikusa.h" static fopAc_ac_c* daAlink_searchWhistle(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (daAlink_getAlinkActorClass()->getGrassHowlEventActor() == fopAcM_GetName(i_actor)) { return i_actor; } @@ -19,6 +21,8 @@ static fopAc_ac_c* daAlink_searchWhistle(fopAc_ac_c* i_actor, void* i_data) { } static fopAc_ac_c* daAlink_searchHawk(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_NPC_TK) { return i_actor; } @@ -26,7 +30,7 @@ static fopAc_ac_c* daAlink_searchHawk(fopAc_ac_c* i_actor, void* i_data) { return NULL; } -void daAlink_c::setGrassWhistleModel(int modelType) { +void daAlink_c::setGrassWhistleModel(int i_modelType) { static const char* grassWhistleArcName[] = { "J_Tobi", "J_Umak", @@ -38,8 +42,8 @@ void daAlink_c::setGrassWhistleModel(int modelType) { JKRHeap* prev_heap = setItemHeap(); - J3DModelData* modeldata = (J3DModelData*)dComIfG_getObjectRes(grassWhistleArcName[modelType], - grassWhistleIdx[modelType]); + J3DModelData* modeldata = (J3DModelData*)dComIfG_getObjectRes(grassWhistleArcName[i_modelType], + grassWhistleIdx[i_modelType]); mHeldItemModel = mDoExt_J3DModel__create(modeldata, 0x80000, 0x11000084); mDoExt_setCurrentHeap(prev_heap); @@ -50,7 +54,7 @@ void daAlink_c::setGrassWhistleModel(int modelType) { void daAlink_c::setHorseWhistleModel() { JKRHeap* prev_heap = setItemHeap(); - mHeldItemModel = initModel(loadAramBmd(0x31A, 0x3000), 0); + mHeldItemModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_AL_PEND_e, 0x3000), 0); mDoExt_setCurrentHeap(prev_heap); mEquipItem = fpcNm_ITEM_HORSE_FLUTE; @@ -68,7 +72,7 @@ int daAlink_c::procGrassWhistleGetInit() { field_0x2f98 = 4; setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &mpHIO->mItem.mBottle.m.mSwingDownAnm); - field_0x2f92 = 0xFE; + mLeftHandIndex = 0xFE; field_0x280c.setData(field_0x27f4); daObjYobikusa_c* yobikusa_p = (daObjYobikusa_c*)field_0x27f4; @@ -83,11 +87,10 @@ int daAlink_c::procGrassWhistleGetInit() { return 1; } - int daAlink_c::procGrassWhistleGet() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (frameCtrl_p->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl_p)) { procGrassWhistleWaitInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e, mProcVar4.field_0x3010, mProcVar5.field_0x3012, &field_0x37c8); } else if (mEquipItem == fpcNm_ITEM_NONE && frameCtrl_p->getFrame() >= 9.0f) { @@ -104,14 +107,14 @@ int daAlink_c::procGrassWhistleGet() { int daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s16 param_3, cXyz* param_4) { - u16 var_r6; + u16 hindFlag; if (param_0 == 3) { - var_r6 = 0xFFFF; + hindFlag = 0xFFFF; } else { - var_r6 = 0xFFF9; + hindFlag = 0xFFF9; } - if (!dComIfGp_event_compulsory(this, NULL, var_r6)) { + if (!dComIfGp_event_compulsory(this, NULL, hindFlag)) { return checkNextAction(0); } @@ -167,7 +170,6 @@ int daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s return 1; } - int daAlink_c::procGrassWhistleWait() { if (mProcVar5.field_0x3012 != 0) { if (checkEndMessage(field_0x32cc)) { @@ -216,16 +218,16 @@ int daAlink_c::procGrassWhistleWait() { return procWaitInit(); } - setFaceBasicTexture(FTANM_UNK_0); + setFaceBasicTexture(FTANM_0); mProcVar5.field_0x3012 = 1; return 1; } } - setGrassCancelStatus(0); + setGrassCancelStatus(BUTTON_STATUS_NONE); } else if (checkAnmEnd(&mUpperFrameCtrl[2])) { - setGrassCancelStatus(0x12); - setDoStatus(0x2C); + setGrassCancelStatus(BUTTON_STATUS_BACK); + setDoStatus(BUTTON_STATUS_BLOW); if (mProcVar2.field_0x300c == 3 || doTrigger()) { setSingleAnimeBaseMorf(ANM_GRASS_WHISTLE_PLAY, 0.0f); @@ -256,7 +258,7 @@ int daAlink_c::procGrassWhistleWait() { } } else { #if VERSION != VERSION_SHIELD_DEBUG - setGrassCancelStatus(0); + setGrassCancelStatus(BUTTON_STATUS_NONE); #endif } @@ -280,13 +282,13 @@ int daAlink_c::procCoHorseCallWaitInit(int param_0) { setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); } - setGrassCancelStatus(0); + setGrassCancelStatus(BUTTON_STATUS_NONE); dComIfGp_setPlayerStatus1(0, 0x4000000); return 1; } int daAlink_c::procCoHorseCallWait() { - setGrassCancelStatus(0); + setGrassCancelStatus(BUTTON_STATUS_NONE); mProcVar4.field_0x3010--; if (mProcVar4.field_0x3010 > 2 && dComIfGp_getHorseActor() != NULL) { @@ -322,7 +324,7 @@ int daAlink_c::procHawkCatchInit() { } int daAlink_c::procHawkCatch() { - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(mUnderFrameCtrl)) { dComIfGp_evmng_cutEnd(mAlinkStaffId); procHawkSubjectInit(); } @@ -360,8 +362,8 @@ int daAlink_c::procHawkSubject() { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { fopAc_ac_c* temp_r29 = field_0x280c.getActor(); - setGrassCancelStatus(0x12); - setDoStatus(0x31); + setGrassCancelStatus(BUTTON_STATUS_BACK); + setDoStatus(BUTTON_STATUS_SET_FREE); if (doTrigger()) { mProcVar2.field_0x300c = 2; diff --git a/src/d/actor/d_a_alink_wolf.inc b/src/d/actor/d_a_alink_wolf.inc index 77e4b67d45..f9e3fc4136 100644 --- a/src/d/actor/d_a_alink_wolf.inc +++ b/src/d/actor/d_a_alink_wolf.inc @@ -35,6 +35,7 @@ // Forward declarations (for clangd) int daAlink_kandelaarModelCallBack(J3DJoint* param_0, int param_1); +extern BOOL l_debugMode; extern const char l_wArcName[]; extern const char l_bArcName[]; extern const char l_kArcName[]; @@ -114,9 +115,8 @@ void daAlink_c::changeCommon() { field_0x2180[1]->init(); mWolfEyeUpTimer = 0; - resetCombo(1); + resetCombo(TRUE); - i = 0; mItemTrigger = 0; mItemButton = 0; field_0x2ba4 = 0.0f; @@ -134,6 +134,7 @@ void daAlink_c::changeCommon() { mHotspringRecoverTimer = mpHIO->mBasic.m.mHotspringRecoverTime; field_0x2fc9 = 0x10; + i = 0; for (; i < 4; i++) { clearFirePointDamageEffect(i); } @@ -198,9 +199,9 @@ void daAlink_c::changeWolf() { field_0x2e44.init(this, l_wolfJntColData, mpLinkModel, 18); offNoResetFlg1(FLG1_UNK_800000); - field_0x598 = 115.0f; - mLinkAcch.SetRoofCrrHeight(field_0x598); - field_0x594 = mpHIO->mWolf.mWlMove.m.mMaxSpeed; + mHeight = 115.0f; + mLinkAcch.SetRoofCrrHeight(mHeight); + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mMaxSpeed; l_autoUpHeight = mpHIO->mWolf.mWlWallHang.m.mAutoWalkHeight + 0.01f; l_autoDownHeight = -l_autoUpHeight; @@ -212,7 +213,7 @@ void daAlink_c::changeWolf() { field_0x2e44.offPassNum(16); field_0x2e44.offPassNum(15); - offNoResetFlg0(FLG0_UNDERWATER); + offNoResetFlg0(FLG0_WATER_IN_MOVE); setHeavyBoots(0); for (int i = 0; i < 3; i++) { @@ -224,7 +225,7 @@ void daAlink_c::changeWolf() { field_0x30d6 = 0; field_0x2fa6 = 0; field_0x2e54.changeWaterOffset(mpHIO->mBasic.m.mWolfWaterSurfaceEffectHeight); - field_0x2e54.changeRippleOffset(field_0x598); + field_0x2e54.changeRippleOffset(mHeight); mWoodSwordModel = NULL; field_0x3420 = 1.25f; field_0x30c6 = 40; @@ -237,10 +238,10 @@ void daAlink_c::changeWolf() { field_0x2f54 = &l_wolfLieTopUpOffset; m_swordBlur.field_0x14 = 0; resetAtCollision(0); - field_0x30b8 = 19; - field_0x30ba = 24; - field_0x30c0 = 19; - field_0x30c2 = 24; + mLeftHandJntNo = 19; + mRightHandJntNo = 24; + mLeftItemJntNo = 19; + mRightItemJntNo = 24; field_0x30c4 = 3; field_0x30b4 = 4; field_0x30bc = 31; @@ -250,7 +251,7 @@ void daAlink_c::changeWolf() { field_0x30b6 = 2; attention_info.field_0xa = 50; - dCcD_Cyl* cyl_p = field_0x850; + dCcD_Cyl* cyl_p = mTgCyls; for (int i = 0; i < 3; i++, cyl_p++) { cyl_p->OffTgShieldFrontRange(); cyl_p->OffTgSmallShield(); @@ -258,11 +259,11 @@ void daAlink_c::changeWolf() { cyl_p->OffTgShield(); } - field_0xFB8.StartCAt(current.pos); - field_0xFB8.OffAtSetBit(); - field_0xFB8.OnTgSetBit(); - field_0xFB8.OnCoSetBit(); - field_0xFB8.SetR(40.0f); + mAtSph.StartCAt(current.pos); + mAtSph.OffAtSetBit(); + mAtSph.OnTgSetBit(); + mAtSph.OnCoSetBit(); + mAtSph.SetR(40.0f); mpKanteraModel = NULL; mpLinkHatModel = NULL; @@ -271,7 +272,7 @@ void daAlink_c::changeWolf() { mMagicArmorBodyBrk = NULL; mMagicArmorHeadBrk = NULL; - field_0x2fc7 = (u8)dStage_stagInfo_GetWolfDashType(dComIfGp_getStage()->getStagInfo()); + field_0x2fc7 = dStage_stagInfo_GetWolfDashType(dComIfGp_getStage()->getStagInfo()); } void daAlink_c::changeLink(int param_0) { @@ -280,15 +281,14 @@ void daAlink_c::changeLink(int param_0) { mMagicArmorBodyBrk = NULL; mMagicArmorHeadBrk = NULL; - J3DModelData* tempModelData_r28; + J3DModelData* modelData; if (checkNoResetFlg2(FLG2_UNK_200000)) { offNoResetFlg2(FLG2_UNK_200000); onNoResetFlg2(FLG2_UNK_80000); - tempModelData_r28 = static_cast(dComIfG_getObjectRes("alSumou", 0x31)); - mpLinkModel = mDoExt_J3DModel__create(tempModelData_r28, - 0x80000, 0x11000084); + modelData = static_cast(dComIfG_getObjectRes("alSumou", 0x31)); + mpLinkModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); mpLinkHatModel = initModel(static_cast(dComIfG_getObjectRes("alSumou", 0x33)), 0); mpLinkHandModel = initModel(static_cast(dComIfG_getObjectRes("alSumou", 0x32)), 0); } else if (checkCasualWearFlg()) { @@ -337,22 +337,21 @@ void daAlink_c::changeLink(int param_0) { initModel(static_cast(dComIfG_getObjectRes(mArcName, "zl_face.bmd")), 0x20200); } - tempModelData_r28 = static_cast(dComIfG_getObjectRes(mArcName, "al_bootsH.bmd")); + modelData = static_cast(dComIfG_getObjectRes(mArcName, "al_bootsH.bmd")); u16 i; for (i = 0; i < 2; i++) { - mpLinkBootModels[i] = initModel(tempModelData_r28, 0); + mpLinkBootModels[i] = initModel(modelData, 0); } mpKanteraModel = initModelEnv(static_cast(dComIfG_getObjectRes(mArcName, "al_kantera.bmd")), 0); - tempModelData_r28 = - static_cast(dComIfG_getObjectRes(mArcName, "ef_ktGlow.bmd")); - mpKanteraGlowModel = initModel(tempModelData_r28, 0x200); + modelData = static_cast(dComIfG_getObjectRes(mArcName, "ef_ktGlow.bmd")); + mpKanteraGlowModel = initModel(modelData, 0x200); mpKanteraGlowBtk = static_cast(dComIfG_getObjectRes(mArcName, "ef_ktGlow.btk")); mpKanteraGlowBtk->setFrame(0.0f); - mpKanteraGlowBtk->searchUpdateMaterialID(tempModelData_r28); - tempModelData_r28->entryTexMtxAnimator(mpKanteraGlowBtk); + mpKanteraGlowBtk->searchUpdateMaterialID(modelData); + modelData->entryTexMtxAnimator(mpKanteraGlowBtk); mWoodSwordModel = initModel(static_cast(dComIfG_getObjectRes(mArcName, "al_SWB.bmd")), 0); @@ -430,19 +429,18 @@ void daAlink_c::changeLink(int param_0) { field_0x06d0 = field_0x06d8; field_0x06d4 = field_0x06dc; - tempModelData_r28 = mpLinkHandModel->getModelData(); + modelData = mpLinkHandModel->getModelData(); for (i = 0; i < 11; i++) { - tempModelData_r28->getMaterialNodePointer(i)->getShape()->hide(); + modelData->getMaterialNodePointer(i)->getShape()->hide(); } - tempModelData_r28 = mpLinkFaceModel->getModelData(); - tempModelData_r28->getMaterialNodePointer(2)->setMaterialAnm(field_0x2180[0]); - tempModelData_r28->getMaterialNodePointer(3)->setMaterialAnm(field_0x2180[1]); - mEyeHL1.entry(tempModelData_r28, "highlight02"); + modelData = mpLinkFaceModel->getModelData(); + modelData->getMaterialNodePointer(2)->setMaterialAnm(field_0x2180[0]); + modelData->getMaterialNodePointer(3)->setMaterialAnm(field_0x2180[1]); + mEyeHL1.entry(modelData, "highlight02"); mpKanteraModel->setUserArea((uintptr_t)this); - mpKanteraModel->getModelData()->getJointNodePointer(1)->setCallBack( - daAlink_kandelaarModelCallBack); + mpKanteraModel->getModelData()->getJointNodePointer(1)->setCallBack(daAlink_kandelaarModelCallBack); mZ2Link.setLinkState(var_r27); #if VERSION != VERSION_SHIELD_DEBUG @@ -464,9 +462,9 @@ void daAlink_c::changeLink(int param_0) { field_0x3060 = 0; field_0x3062 = shape_angle.y; - field_0x598 = 180.0f; - mLinkAcch.SetRoofCrrHeight(field_0x598); - field_0x594 = mpHIO->mMove.m.mMaxSpeed; + mHeight = 180.0f; + mLinkAcch.SetRoofCrrHeight(mHeight); + mMaxSpeed = mpHIO->mMove.m.mMaxSpeed; l_autoUpHeight = mpHIO->mWallHang.m.auto_walk_height + 0.01f; l_autoDownHeight = -l_autoUpHeight; @@ -476,7 +474,7 @@ void daAlink_c::changeLink(int param_0) { field_0x345c = -200.0f; field_0x2e54.changeWaterOffset(mpHIO->mBasic.m.mWaterSurfaceEffectHeight); - field_0x2e54.changeRippleOffset(field_0x598); + field_0x2e54.changeRippleOffset(mHeight); offWolfEyeUp(); field_0x3420 = 1.0f; @@ -499,10 +497,10 @@ void daAlink_c::changeLink(int param_0) { } mWolfLockNum = 0; - field_0x30b8 = 9; - field_0x30ba = 14; - field_0x30c0 = 10; - field_0x30c2 = 15; + mLeftHandJntNo = 9; + mRightHandJntNo = 14; + mLeftItemJntNo = 10; + mRightItemJntNo = 15; field_0x30c4 = 3; field_0x30b4 = 4; field_0x30bc = 21; @@ -512,7 +510,7 @@ void daAlink_c::changeLink(int param_0) { field_0x32c4[1] = 16; attention_info.field_0xa = 10; - dCcD_Cyl* cyl_p = field_0x850; + dCcD_Cyl* cyl_p = mTgCyls; for (int i = 0; i < 3; i++, cyl_p++) { cyl_p->OnTgShieldFrontRange(); cyl_p->OnTgSmallShield(); @@ -520,9 +518,9 @@ void daAlink_c::changeLink(int param_0) { mMagneBootsTopVec = cXyz::BaseY; - field_0xFB8.OnAtSetBit(); - field_0xFB8.OffTgSetBit(); - field_0xFB8.OffCoSetBit(); + mAtSph.OnAtSetBit(); + mAtSph.OffTgSetBit(); + mAtSph.OffCoSetBit(); mpWlMidnaModel = NULL; mpWlMidnaMaskModel = NULL; @@ -532,7 +530,7 @@ void daAlink_c::changeLink(int param_0) { } void daAlink_c::onWolfEyeUp() { - if (mWolfEyeUp == 0) { + if (!checkWolfEyeUp()) { mZ2Link.setWolfEyeOpen(true); mWolfEyeUp = mpHIO->mWolf.m.mSensesLingerTime; field_0x2fd2 = 20; @@ -540,7 +538,7 @@ void daAlink_c::onWolfEyeUp() { } void daAlink_c::offWolfEyeUp() { - if (mWolfEyeUp != 0) { + if (checkWolfEyeUp()) { mWolfEyeUp = 0; field_0x2fd2 = 20; mZ2Link.setWolfEyeOpen(false); @@ -551,25 +549,28 @@ BOOL daAlink_c::wolfSenseTrigger() { return itemTriggerCheck(BTN_X); } -void daAlink_c::setWolfSenceStatus(u8 status) { - dComIfGp_setXStatus(status, 0); +void daAlink_c::setWolfSenceStatus(u8 i_status) { + dComIfGp_setXStatus(i_status, 0); } BOOL daAlink_c::wolfClawTrigger() { return itemTriggerCheck(BTN_Y); } -void daAlink_c::setWolfDigStatus(u8 flag) { - dComIfGp_setYStatus(13, flag); +void daAlink_c::setWolfDigStatus(u8 i_flag) { + dComIfGp_setYStatus(BUTTON_STATUS_DIG, i_flag); } BOOL daAlink_c::checkWolfShapeReverse() const { - return ((mProcID == PROC_WOLF_SLIDE_READY || mProcID == PROC_WOLF_LOCK_ATTACK_TURN || - mProcID == PROC_WOLF_JUMP_AT_SLIDE_LAND) && - mProcVar2.field_0x300c != 0) || - mProcID == PROC_WOLF_SLIP_TURN_LAND || - (mProcID == PROC_WOLF_LARGE_DAMAGE_UP && field_0x3198 != 0) || - mProcID == PROC_WOLF_ROPE_TURN; + return ((mProcID == PROC_WOLF_SLIDE_READY + || mProcID == PROC_WOLF_LOCK_ATTACK_TURN + || mProcID == PROC_WOLF_JUMP_AT_SLIDE_LAND + ) + && mProcVar2.field_0x300c != 0 + ) + || mProcID == PROC_WOLF_SLIP_TURN_LAND + || (mProcID == PROC_WOLF_LARGE_DAMAGE_UP && field_0x3198 != 0) + || mProcID == PROC_WOLF_ROPE_TURN; } BOOL daAlink_c::checkWolfSideStep() const { @@ -582,9 +583,9 @@ void daAlink_c::setWolfTailAngle() { s16* var_r30 = field_0x3094; s16* var_r29 = field_0x309a; - s16 var_r27 = (s16)(shape_angle.y - field_0x2fe6); + s16 var_r27 = (s16)(shape_angle.y - mPrevAngleY); - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 3; i++, var_r30++, var_r29++) { if (checkEndResetFlg0(ERFLG0_UNK_800000)) { *var_r30 = 0; *var_r29 = 0; @@ -598,59 +599,56 @@ void daAlink_c::setWolfTailAngle() { var_r27 = (s16)(*var_r30 - sp38); *var_r29 = var_r27 * 0.5f; } - - var_r30++; - var_r29++; } } BOOL daAlink_c::checkWolfSlowDash() { - return field_0x2fc7 == 1 || field_0x2fc7 == 3 || field_0x3174 == 11; + return field_0x2fc7 == 1 || field_0x2fc7 == 3 || mGroundCode == 11; } void daAlink_c::setSpeedAndAngleWolf() { - f32 var_f31 = 0.0f; + f32 speed = 0.0f; - f32 var_f30; - f32 var_f29; - s16 var_r30; - s16 var_r29; - s16 var_r28; + f32 acceleration; + f32 deceleration; + s16 turn_rate; + s16 turn_max; + s16 turn_min; if (checkWolfDashMode()) { - var_r30 = mpHIO->mWolf.mWlMove.m.mTurnAngleRate; - var_r29 = mpHIO->mWolf.mWlMove.m.mTurnMax; - var_r28 = mpHIO->mWolf.mWlMove.m.mTurnMin; + turn_rate = mpHIO->mWolf.mWlMove.m.mTurnAngleRate; + turn_max = mpHIO->mWolf.mWlMove.m.mTurnMax; + turn_min = mpHIO->mWolf.mWlMove.m.mTurnMin; if (checkWolfSlowDash()) { - var_f30 = mpHIO->mWolf.mWlMove.m.mADashAccelerationSlow; + acceleration = mpHIO->mWolf.mWlMove.m.mADashAccelerationSlow; } else if (field_0x2fc7 == 2) { - var_f30 = mpHIO->mWolf.mWlMove.m.mADashAccelerationSlow2; + acceleration = mpHIO->mWolf.mWlMove.m.mADashAccelerationSlow2; } else { - var_f30 = mpHIO->mWolf.mWlMove.m.mADashAcceleration; + acceleration = mpHIO->mWolf.mWlMove.m.mADashAcceleration; } - var_f29 = mpHIO->mWolf.mWlMove.m.mDeceleration; + deceleration = mpHIO->mWolf.mWlMove.m.mDeceleration; } else { - var_r30 = mpHIO->mWolf.mWlMoveNoP.m.mTurnAngleRate; - var_r29 = mpHIO->mWolf.mWlMoveNoP.m.mTurnMax; - var_r28 = mpHIO->mWolf.mWlMoveNoP.m.mTurnMin; - var_f30 = mpHIO->mWolf.mWlMoveNoP.m.mAcceleration; - var_f29 = mpHIO->mWolf.mWlMoveNoP.m.mDeceleration; + turn_rate = mpHIO->mWolf.mWlMoveNoP.m.mTurnAngleRate; + turn_max = mpHIO->mWolf.mWlMoveNoP.m.mTurnMax; + turn_min = mpHIO->mWolf.mWlMoveNoP.m.mTurnMin; + acceleration = mpHIO->mWolf.mWlMoveNoP.m.mAcceleration; + deceleration = mpHIO->mWolf.mWlMoveNoP.m.mDeceleration; } - BOOL temp_r31 = checkEventRun(); + BOOL isEventRun = checkEventRun(); if (checkInputOnR()) { s16 temp_r4 = current.angle.y; - BOOL var_r26 = 0; - f32 temp_f28 = field_0x33a8 * field_0x33a8; - f32 temp_f27 = speedF / field_0x594; + BOOL var_r26 = FALSE; + f32 temp_f28 = mStickValue * mStickValue; + f32 temp_f27 = speedF / mMaxSpeed; - if (cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7000 && + if (cLib_distanceAngleS(mMoveAngle, current.angle.y) > 0x7000 && abs(field_0x3180) < 0x5000 && - ((!checkModeFlg(1) && !(speedF < 0.001f)) || field_0x33a8 > 0.85f)) + ((!checkModeFlg(1) && !(speedF < 0.001f)) || mStickValue > 0.85f)) { - if ((checkModeFlg(1) || speedF < 0.001f) && !temp_r31 && + if ((checkModeFlg(1) || speedF < 0.001f) && !isEventRun && (mProcID == PROC_WOLF_WAIT || mProcID == PROC_WOLF_MOVE)) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, var_r30, var_r29, var_r28); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, turn_rate, turn_max, turn_min); if (mProcID == PROC_WOLF_MOVE && temp_f27 > 0.6f) { var_r26 = 1; } @@ -660,7 +658,7 @@ void daAlink_c::setSpeedAndAngleWolf() { { return; } else { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, var_r30, var_r29, var_r28); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, turn_rate, turn_max, turn_min); if (mProcID == PROC_WOLF_MOVE && temp_f27 > 0.6f) { var_r26 = 1; } @@ -668,102 +666,100 @@ void daAlink_c::setSpeedAndAngleWolf() { } else { s16 var_r6; s16 var_r7; - if (temp_r31 != 0) { - var_r6 = var_r29; - var_r7 = var_r28; + if (isEventRun) { + var_r6 = turn_max; + var_r7 = turn_min; } else { - var_r6 = var_r29 * temp_f28; + var_r6 = turn_max * temp_f28; if (var_r6 < 10) { var_r6 = 10; } - var_r7 = var_r28 * temp_f28; + var_r7 = turn_min * temp_f28; if (var_r7 < 1) { var_r7 = 1; } } - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, var_r30, var_r6, var_r7); + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, turn_rate, var_r6, var_r7); } if (wolfSideBgCheck(temp_r4)) { current.angle.y = temp_r4; onEndResetFlg1(ERFLG1_UNK_200000); - if (cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7000) { - var_r26 = 1; + if (cLib_distanceAngleS(mMoveAngle, current.angle.y) > 0x7000) { + var_r26 = TRUE; } } if (!var_r26) { f32 temp_f27_2 = getStickAngleDistanceRate(); - if (temp_r31) { - var_f31 = temp_f27_2 * (var_f30 * field_0x33a8); + if (isEventRun) { + speed = temp_f27_2 * (acceleration * mStickValue); } else { - f32 var_f26 = (1.0f - fabsf(mNormalSpeed / field_0x594)) * 0.3f; - if (checkHeavyStateOn(1, 1) != 0) { + f32 var_f26 = (1.0f - fabsf(mNormalSpeed / mMaxSpeed)) * 0.3f; + if (checkHeavyStateOn(TRUE, TRUE) != 0) { var_f26 *= mHeavySpeedMultiplier; } if ((!checkNoResetFlg1(FLG1_UNK_20000000) || cLib_distanceAngleS(current.angle.y + 0x8000, field_0x3092) >= 0xC00) && - field_0x33a8 > var_f26) + mStickValue > var_f26) { - var_f31 = temp_f27_2 * (var_f30 * temp_f28); + speed = temp_f27_2 * (acceleration * temp_f28); } } } } - if (checkInputOnR() || (mProcID == PROC_WOLF_ROLL_ATTACK_MOVE)) { + if (checkInputOnR() || mProcID == PROC_WOLF_ROLL_ATTACK_MOVE) { s16 temp_r26 = shape_angle.y; s16 var_r4; if (checkWolfShapeReverse()) { - var_r4 = field_0x2fe2 + 0x8000; + var_r4 = mMoveAngle + 0x8000; } else { - var_r4 = field_0x2fe2; + var_r4 = mMoveAngle; } - cLib_addCalcAngleS(&shape_angle.y, var_r4, var_r30, var_r29 * 2, var_r28 * 2); + cLib_addCalcAngleS(&shape_angle.y, var_r4, turn_rate, turn_max * 2, turn_min * 2); int temp_r3 = (s16)(temp_r26 - current.angle.y) * (s16)(shape_angle.y - current.angle.y); if (temp_r3 <= 0 && temp_r3 >= -0x1000000) { shape_angle.y = current.angle.y; } - } else if (temp_r31 == 0 && !checkInputOnR() && checkAttentionState() && - mProcID == PROC_WOLF_WAIT) - { + } else if (!isEventRun && !checkInputOnR() && checkAttentionState() && mProcID == PROC_WOLF_WAIT) { cLib_addCalcAngleS(&shape_angle.y, field_0x2fe4, 2, 0x2000, 0x800); current.angle.y = shape_angle.y; } - setNormalSpeedF(var_f31, var_f29); + setNormalSpeedF(speed, deceleration); } void daAlink_c::setSpeedAndAngleWolfAtn() { - f32 var_f31; - f32 var_f30; - f32 var_f29; + f32 speed; + f32 acceleration; + f32 deceleration; if (field_0x2f98 == 1) { - var_f30 = mpHIO->mWolf.mWlAtnMove.m.mRearAcceleration; - var_f29 = mpHIO->mWolf.mWlAtnMove.m.mRearDeceleration; + acceleration = mpHIO->mWolf.mWlAtnMove.m.mRearAcceleration; + deceleration = mpHIO->mWolf.mWlAtnMove.m.mRearDeceleration; } else { - var_f30 = mpHIO->mWolf.mWlAtnMove.m.mAcceleration; - var_f29 = mpHIO->mWolf.mWlAtnMove.m.mDeceleration; + acceleration = mpHIO->mWolf.mWlAtnMove.m.mAcceleration; + deceleration = mpHIO->mWolf.mWlAtnMove.m.mDeceleration; } - s16 var_r29; + s16 turn_max; if (checkFmChainGrabAnime()) { - var_r29 = 1000; + turn_max = 1000; } else { - var_r29 = mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMax; + turn_max = mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMax; } s16 var_r27; if (checkUnderMove0BckNoArcWolf(WANM_CHAIN_PULL_END)) { var_r27 = getChainStickAngleY(field_0x2fe4); } else { - var_r27 = field_0x2fe2; + var_r27 = mMoveAngle; } if (checkInputOnR()) { @@ -781,7 +777,7 @@ void daAlink_c::setSpeedAndAngleWolfAtn() { } s16 temp_r28 = current.angle.y; - cLib_addCalcAngleS(¤t.angle.y, var_r27, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleRate, var_r29, + cLib_addCalcAngleS(¤t.angle.y, var_r27, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleRate, turn_max, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMin); if (wolfSideBgCheck(temp_r28)) { @@ -789,7 +785,7 @@ void daAlink_c::setSpeedAndAngleWolfAtn() { onEndResetFlg1(ERFLG1_UNK_200000); } - var_f31 = var_f30 * field_0x33a8 * cM_scos((s16)(current.angle.y - temp_r28)); + speed = acceleration * mStickValue * cM_scos((s16)(current.angle.y - temp_r28)); } else { if (checkZeroSpeedF()) { if (!setShapeAngleToAtnActor(0) && !checkEventRun() && !checkInputOnR() && @@ -806,7 +802,7 @@ void daAlink_c::setSpeedAndAngleWolfAtn() { } } - var_f31 = 0.0f; + speed = 0.0f; } if (!checkWolfShapeReverse()) { @@ -820,14 +816,14 @@ void daAlink_c::setSpeedAndAngleWolfAtn() { } cLib_addCalcAngleS(&shape_angle.y, var_r26, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleRate, - var_r29 * 2, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMin * 2); + turn_max * 2, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMin * 2); } - setNormalSpeedF(var_f31, var_f29); + setNormalSpeedF(speed, deceleration); } BOOL daAlink_c::checkWolfAtnWait() { - if ((checkEnemyGroup(mTargetedActor) || mDemo.getDemoMode() == 0x17) || + if ((checkEnemyGroup(mTargetedActor) || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_23_e) || (mTargetedActor != NULL && fopAcM_GetName(mTargetedActor) == PROC_NPC_MOI && ((daNpc_Moi_c*)mTargetedActor)->chkSFight())) { @@ -837,54 +833,63 @@ BOOL daAlink_c::checkWolfAtnWait() { return false; } -BOOL daAlink_c::checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM anm_id) const { +BOOL daAlink_c::checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM i_anm) const { return mUnderAnmHeap[0].checkNoSetArcNo() && - m_wlAnmDataTable[anm_id].field_0x0 == mUnderAnmHeap[0].getIdx(); + m_wlAnmDataTable[i_anm].m_bckID == mUnderAnmHeap[0].getIdx(); } void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { f32 sp8; - if (field_0x3174 == 8) { + if (mGroundCode == 8) { sp8 = 1.0f; } else { sp8 = cM_scos(field_0x2ff0); } f32 var_f31; - f32 temp_f30 = fabsf(mNormalSpeed * sp8) / field_0x594; + f32 temp_f30 = fabsf(mNormalSpeed * sp8) / mMaxSpeed; - daPy_frameCtrl_c* sp38 = &mUnderFrameCtrl[0]; - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[1]; + daPy_frameCtrl_c* framectrl0 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl1 = &mUnderFrameCtrl[1]; - f32 sp34, sp30, sp2C, sp28, sp24, sp20, sp1C, sp18, sp14, sp10; + f32 idleAnmSpeed; + f32 walkAnmSpeed; + f32 jogAnmSpeed; + f32 runAnmSpeed; + f32 climbAnmSpeed; + f32 walkToJogRate; + f32 idleToWalkRate; + f32 jogToRunRate; + f32 walkRunMorf; + f32 runAnmMinBlendRate; if (checkWolfDashMode()) { - sp20 = mpHIO->mWolf.mWlMove.m.mWalkToBriskWalkRate; - sp14 = mpHIO->mWolf.mWlMove.m.mWalkRunInterpolation; - sp1C = mpHIO->mWolf.mWlMove.m.mIdleToWalkRate; - sp18 = mpHIO->mWolf.mWlMove.m.mStandbyRunToRunRate; - sp34 = mpHIO->mWolf.mWlMove.m.mIdleAnmSpeed; - sp30 = mpHIO->mWolf.mWlMove.m.mWalkAnmSpeed; - sp2C = mpHIO->mWolf.mWlMove.m.mBriskWalkAnmSpeed; - sp28 = mpHIO->mWolf.mWlMove.m.mRunAnmSpeed; - sp24 = mpHIO->mWolf.mWlSlide.m.mClimbingAnmSpeed; - sp10 = mpHIO->mWolf.mWlMove.m.mRunAnmMinBlendRate; + walkToJogRate = mpHIO->mWolf.mWlMove.m.mWalkToBriskWalkRate; + walkRunMorf = mpHIO->mWolf.mWlMove.m.mWalkRunInterpolation; + idleToWalkRate = mpHIO->mWolf.mWlMove.m.mIdleToWalkRate; + jogToRunRate = mpHIO->mWolf.mWlMove.m.mStandbyRunToRunRate; + idleAnmSpeed = mpHIO->mWolf.mWlMove.m.mIdleAnmSpeed; + walkAnmSpeed = mpHIO->mWolf.mWlMove.m.mWalkAnmSpeed; + jogAnmSpeed = mpHIO->mWolf.mWlMove.m.mBriskWalkAnmSpeed; + runAnmSpeed = mpHIO->mWolf.mWlMove.m.mRunAnmSpeed; + climbAnmSpeed = mpHIO->mWolf.mWlSlide.m.mClimbingAnmSpeed; + runAnmMinBlendRate = mpHIO->mWolf.mWlMove.m.mRunAnmMinBlendRate; } else { - sp20 = mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate; - sp14 = mpHIO->mWolf.mWlMoveNoP.m.mWalkRunInterpolation; - sp1C = mpHIO->mWolf.mWlMoveNoP.m.mIdleToWalkRate; - sp18 = mpHIO->mWolf.mWlMoveNoP.m.mJogToRunRate; - sp34 = mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed; - sp30 = mpHIO->mWolf.mWlMoveNoP.m.mWalkAnmSpeed; - sp2C = mpHIO->mWolf.mWlMoveNoP.m.mJogAnmSpeed; - sp28 = mpHIO->mWolf.mWlMoveNoP.m.mRunAnmSpeed; - sp24 = mpHIO->mWolf.mWlSlide.m.mClimbingAnmSpeedWeak; - sp10 = mpHIO->mWolf.mWlMoveNoP.m.mRunAnmMinBlendRate; + walkToJogRate = mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate; + walkRunMorf = mpHIO->mWolf.mWlMoveNoP.m.mWalkRunInterpolation; + idleToWalkRate = mpHIO->mWolf.mWlMoveNoP.m.mIdleToWalkRate; + jogToRunRate = mpHIO->mWolf.mWlMoveNoP.m.mJogToRunRate; + idleAnmSpeed = mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed; + walkAnmSpeed = mpHIO->mWolf.mWlMoveNoP.m.mWalkAnmSpeed; + jogAnmSpeed = mpHIO->mWolf.mWlMoveNoP.m.mJogAnmSpeed; + runAnmSpeed = mpHIO->mWolf.mWlMoveNoP.m.mRunAnmSpeed; + climbAnmSpeed = mpHIO->mWolf.mWlSlide.m.mClimbingAnmSpeedWeak; + runAnmMinBlendRate = mpHIO->mWolf.mWlMoveNoP.m.mRunAnmMinBlendRate; } - if (temp_f30 < sp20 || checkAttentionState() || checkHeavyStateOn(1, 1) || checkSlope()) { + if (temp_f30 < walkToJogRate || checkAttentionState() || checkHeavyStateOn(TRUE, TRUE) || checkSlope()) { field_0x2fc1 = 0; - if ((temp_f30 < sp20 || checkAttentionState() || checkHeavyStateOn(1, 1)) && + if ((temp_f30 < walkToJogRate || checkAttentionState() || checkHeavyStateOn(TRUE, TRUE)) && field_0x30d0 != 0) { field_0x30d0 = 0; @@ -893,28 +898,28 @@ void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { if (checkNoResetFlg1(FLG1_UNK_800000)) { offNoResetFlg1(FLG1_UNK_800000); - param_0 = sp14; + param_0 = walkRunMorf; } int var_r29 = 1; daAlink_WANM var_r27 = WANM_WAIT; daAlink_WANM var_r26; daAlink_WANM var_r25; - if (checkHeavyStateOn(1, 1)) { + if (checkHeavyStateOn(TRUE, TRUE)) { var_r26 = WANM_ATN_LOCK_WALK_FRONT; var_r25 = WANM_ATN_LOCK_WALK_FRONT; - sp30 = 1.2f; - sp2C = 1.2f; + walkAnmSpeed = 1.2f; + jogAnmSpeed = 1.2f; } else { var_r25 = WANM_WALK_B; var_r26 = WANM_WALK_A; } - if (temp_f30 < sp1C) { + if (temp_f30 < idleToWalkRate) { if (checkModeFlg(1)) { var_r29 = 2; - s16 temp_r0 = shape_angle.y - field_0x2fe6; + s16 temp_r0 = shape_angle.y - mPrevAngleY; if (abs(temp_r0) > 0 && !checkAttentionState()) { var_f31 = 0.64999998f + (0.001f * abs(temp_r0)); if (var_f31 > 1.0f) { @@ -922,38 +927,38 @@ void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { } var_f31 = 1.0f - var_f31; - setDoubleAnimeWolf(var_f31, sp30, sp34, var_r26, WANM_WAIT, 2, param_0); + setDoubleAnimeWolf(var_f31, walkAnmSpeed, idleAnmSpeed, var_r26, var_r27, var_r29, param_0); return; } if (checkAttentionState()) { var_r27 = WANM_ATN; - sp34 = mpHIO->mWolf.mWlMove.m.mGazeIdleAnmSpeed; + idleAnmSpeed = mpHIO->mWolf.mWlMove.m.mGazeIdleAnmSpeed; } else if (checkWindSpeedOnXZ() && !checkEventRun()) { var_r27 = WANM_WAIT_WIND; - sp34 = 1.0f; + idleAnmSpeed = 1.0f; } } if (checkSlope()) { var_r26 = WANM_WALK_SLOPE; var_r27 = WANM_WAIT; - sp30 = sp24; + walkAnmSpeed = climbAnmSpeed; field_0x2fc1 = 2; } - var_f31 = temp_f30 / sp1C; - setDoubleAnimeWolf(var_f31, sp34, sp30, var_r27, var_r26, var_r29, param_0); + var_f31 = temp_f30 / idleToWalkRate; + setDoubleAnimeWolf(var_f31, idleAnmSpeed, walkAnmSpeed, var_r27, var_r26, var_r29, param_0); } else if (checkSlope()) { field_0x2fc1 = 2; - setDoubleAnimeWolf(1.0f, sp24, sp24, WANM_WALK_SLOPE, WANM_WALK_SLOPE, 1, param_0); + setDoubleAnimeWolf(1.0f, climbAnmSpeed, climbAnmSpeed, WANM_WALK_SLOPE, WANM_WALK_SLOPE, var_r29, param_0); field_0x2fc1 = 2; } else { - var_f31 = (temp_f30 - sp1C) / (sp20 - sp1C); + var_f31 = (temp_f30 - idleToWalkRate) / (walkToJogRate - idleToWalkRate); if (var_f31 > 1.0f) { var_f31 = 1.0f; } - setDoubleAnimeWolf(var_f31, sp30, sp2C, var_r26, var_r25, 1, param_0); + setDoubleAnimeWolf(var_f31, walkAnmSpeed, jogAnmSpeed, var_r26, var_r25, var_r29, param_0); } if (!checkBarkAnime() && var_r29 != 1) { @@ -964,26 +969,26 @@ void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { if (!checkNoResetFlg1(FLG1_UNK_800000)) { onNoResetFlg1(FLG1_UNK_800000); - param_0 = sp14; + param_0 = walkRunMorf; } field_0x2fc1 = 1; - if (temp_f30 < sp18) { - var_f31 = sp10 + (((1.0f - sp10) * (temp_f30 - sp20)) / (sp18 - sp20)); - setDoubleAnimeWolf(var_f31, sp34, sp28, WANM_WAIT, WANM_DASH_A, 1, param_0); + if (temp_f30 < jogToRunRate) { + var_f31 = runAnmMinBlendRate + (((1.0f - runAnmMinBlendRate) * (temp_f30 - walkToJogRate)) / (jogToRunRate - walkToJogRate)); + setDoubleAnimeWolf(var_f31, idleAnmSpeed, runAnmSpeed, WANM_WAIT, WANM_DASH_A, 1, param_0); } else { if (!checkWolfDashMode()) { - setDoubleAnimeWolf(1.0f, sp28, sp28, WANM_DASH_A, WANM_DASH_A, 1, param_0); + setDoubleAnimeWolf(1.0f, runAnmSpeed, runAnmSpeed, WANM_DASH_A, WANM_DASH_A, 1, param_0); } else { - var_f31 = (temp_f30 - sp18) / (mpHIO->mWolf.mWlMove.m.mRunToQuickRunRate - sp18); + var_f31 = (temp_f30 - jogToRunRate) / (mpHIO->mWolf.mWlMove.m.mRunToQuickRunRate - jogToRunRate); if (var_f31 > 1.0f) { var_f31 = 1.0f; } f32 spC; if (checkNoResetFlg1(FLG1_DASH_MODE)) { - if (checkWolfSlowDash() != 0) { + if (checkWolfSlowDash()) { spC = mpHIO->mWolf.mWlMove.m.mADashQuickRunASpeedSlow; } else if (field_0x2fc7 == 2) { spC = mpHIO->mWolf.mWlMove.m.mADashQuickRunASpeedSlow2; @@ -994,28 +999,28 @@ void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { spC = mpHIO->mWolf.mWlMove.m.mQuickRunAnmSpeed; } - setDoubleAnimeWolf(var_f31, sp28, spC, WANM_DASH_A, WANM_DASH_B, 1, param_0); + setDoubleAnimeWolf(var_f31, runAnmSpeed, spC, WANM_DASH_A, WANM_DASH_B, 1, param_0); } - if (temp_r28->checkPass(l_wolfFootOnFrame[1][0])) { + if (framectrl1->checkPass(l_wolfFootOnFrame[1][0])) { field_0x2f9d = 8; - } else if (temp_r28->checkPass(l_wolfFootOnFrame[1][1])) { + } else if (framectrl1->checkPass(l_wolfFootOnFrame[1][1])) { field_0x2f9d = 0x10; - } else if (temp_r28->checkPass(l_wolfFootOnFrame[1][2])) { + } else if (framectrl1->checkPass(l_wolfFootOnFrame[1][2])) { field_0x2f9d = 0x20; - } else if (temp_r28->checkPass(l_wolfFootOnFrame[1][3])) { + } else if (framectrl1->checkPass(l_wolfFootOnFrame[1][3])) { field_0x2f9d = 0x40; } if (checkWindSpeedOnAngle()) { onEndResetFlg0(ERFLG0_UNK_2000); if (checkNoSetUpperAnime()) { - setUpperAnimeBase(0x2B7); + setUpperAnimeBase(dRes_ID_ALANM_BCK_WL_DASHWIND_e); } } } - if (!checkBarkAnime() && temp_r28->checkPass(11.0f)) { + if (!checkBarkAnime() && framectrl1->checkPass(11.0f)) { voiceStart(Z2SE_WL_V_BREATH_RUN); } } @@ -1036,7 +1041,7 @@ void daAlink_c::setWolfAtnMoveDirection() { if (checkUnderMove0BckNoArcWolf(WANM_CHAIN_PULL_END)) { var_r29 = getChainStickAngleY(field_0x2fe4); } else { - var_r29 = field_0x2fe2; + var_r29 = mMoveAngle; } if ((mProcID == PROC_WOLF_ATN_AC_MOVE || mProcID == PROC_WOLF_ROLL_ATTACK_MOVE) && @@ -1060,7 +1065,7 @@ void daAlink_c::setWolfAtnMoveDirection() { } s16 temp_r27 = var_r29 - field_0x2fe4; - if (mDemo.getDemoMode() == 23) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_23_e) { field_0x2f98 = 0; } else if (checkInputOnR()) { if (checkWolfAtnMoveBack(temp_r27)) { @@ -1080,22 +1085,22 @@ void daAlink_c::setWolfAtnMoveDirection() { void daAlink_c::setBlendWolfAtnMoveAnime(f32 param_0) { if (checkSetChainPullAnime(field_0x2fe4)) { - daAlink_WANM var_r29; - if (checkEndResetFlg1(ERFLG1_UNK_2000000)) { - var_r29 = WANM_CHAIN_PULL_END; + daAlink_WANM anm; + if (checkEndResetFlg1(ERFLG1_CHAIN_PULL_END)) { + anm = WANM_CHAIN_PULL_END; } else { - var_r29 = WANM_CHAIN_PULL; + anm = WANM_CHAIN_PULL; } - if (!checkUnderMove0BckNoArcWolf(var_r29)) { - f32 var_f29; + if (!checkUnderMove0BckNoArcWolf(anm)) { + f32 anm_speed; if (checkChainBlockPushPull()) { - var_f29 = 0.7f; + anm_speed = 0.7f; } else { - var_f29 = 1.0f; + anm_speed = 1.0f; } - setSingleAnimeWolfBaseSpeed(var_r29, var_f29, 3.0f); + setSingleAnimeWolfBaseSpeed(anm, anm_speed, 3.0f); } } else if (field_0x2f98 == 1) { setBlendWolfAtnBackMoveAnime(param_0); @@ -1103,13 +1108,13 @@ void daAlink_c::setBlendWolfAtnMoveAnime(f32 param_0) { field_0x2fc1 = 0; s16 var_r28; - if (field_0x3174 == 8 || !mLinkAcch.ChkGroundHit()) { + if (mGroundCode == 8 || !mLinkAcch.ChkGroundHit()) { var_r28 = 0; } else { var_r28 = getGroundAngle(&mLinkAcch.m_gnd, current.angle.y); } - f32 var_f31 = fabsf((mNormalSpeed * cM_scos(var_r28)) / field_0x594); + f32 var_f31 = fabsf((mNormalSpeed * cM_scos(var_r28)) / mMaxSpeed); f32 var_f30; if (var_f31 < mpHIO->mWolf.mWlAtnMove.m.mWalkChangeRate) { var_f30 = var_f31 / mpHIO->mWolf.mWlAtnMove.m.mWalkChangeRate; @@ -1148,16 +1153,16 @@ void daAlink_c::setBlendWolfAtnMoveAnime(f32 param_0) { } void daAlink_c::setBlendWolfAtnBackMoveAnime(f32 param_0) { - field_0x594 = mpHIO->mWolf.mWlAtnMove.m.mRearMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlAtnMove.m.mRearMaxSpeed; f32 var_f28; - if (field_0x3174 == 8) { + if (mGroundCode == 8) { var_f28 = 1.0f; } else { var_f28 = cM_scos(field_0x2ff0); } - f32 temp_f31 = fabsf(mNormalSpeed * var_f28) / field_0x594; + f32 temp_f31 = fabsf(mNormalSpeed * var_f28) / mMaxSpeed; f32 var_f30; field_0x2fc1 = 3; @@ -1191,16 +1196,18 @@ void daAlink_c::setBlendWolfAtnBackMoveAnime(f32 param_0) { } int daAlink_c::setDoubleAnimeWolf(f32 param_0, f32 param_1, f32 param_2, - daAlink_c::daAlink_WANM param_3, daAlink_c::daAlink_WANM param_4, - int param_5, f32 param_6) { + daAlink_c::daAlink_WANM param_3, daAlink_c::daAlink_WANM param_4, + int param_5, f32 param_6) { if (!checkWolf()) { // "Is Adult Link but setting Wolf animation\n" OS_REPORT("リンクなのに狼アニメ設定\n"); JUT_ASSERT(2091, FALSE); - } + } J3DAnmTransform* var_r25 = getNowAnmPackUnder(UNDER_0); - J3DAnmTransform* var_r29 = getAnimeResource(&mUnderAnmHeap[0], m_wlAnmDataTable[param_3].field_0x0, 0x2C00); + daPy_frameCtrl_c* framectrl0 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl1 = &mUnderFrameCtrl[1]; + J3DAnmTransform* var_r29 = getAnimeResource(&mUnderAnmHeap[0], m_wlAnmDataTable[param_3].m_bckID, 0x2C00); int var_r30; if (var_r29 == NULL) { var_r29 = getNowAnmPackUnder(UNDER_0); @@ -1209,7 +1216,7 @@ int daAlink_c::setDoubleAnimeWolf(f32 param_0, f32 param_1, f32 param_2, var_r30 = 1; } - J3DAnmTransform* var_r28 = getAnimeResource(&mUnderAnmHeap[1], m_wlAnmDataTable[param_4].field_0x0, 0x2C00); + J3DAnmTransform* var_r28 = getAnimeResource(&mUnderAnmHeap[1], m_wlAnmDataTable[param_4].m_bckID, 0x2C00); if (!var_r28) { var_r28 = getNowAnmPackUnder(UNDER_1); } else { @@ -1226,12 +1233,12 @@ int daAlink_c::setDoubleAnimeWolf(f32 param_0, f32 param_1, f32 param_2, field_0x2060->initOldFrameMorf(param_6, 0, 40); } - setFaceBasicTexture(FTANM_UNK_8B); + setFaceBasicTexture(FTANM_WL_MABA01); if (checkWolfLieCode()) { mMidnaAnm = 2; } else { - mMidnaAnm = m_wlAnmDataTable[param_3].field_0x2; + mMidnaAnm = m_wlAnmDataTable[param_3].m_midnaAnm; } daAlink_WANM var_r27; @@ -1243,8 +1250,8 @@ int daAlink_c::setDoubleAnimeWolf(f32 param_0, f32 param_1, f32 param_2, var_r27 = param_4; } - field_0x2160 = (u16*)&m_wlAnmDataTable[var_r27].field_0x4; - field_0x2fd8 = m_wlAnmDataTable[var_r27].field_0x3; + field_0x2160 = m_wlAnmDataTable[var_r27].m_voiceFrames; + field_0x2fd8 = m_wlAnmDataTable[var_r27].m_voiceIdx; return 1; } @@ -1266,10 +1273,10 @@ int daAlink_c::setSingleAnimeWolf(daAlink_c::daAlink_WANM i_anmID, f32 i_speed, if (!checkWolf()) { // "Is Adult Link but setting Wolf animation\n" OS_REPORT("リンクなのに狼アニメ設定\n"); - JUT_ASSERT(2091, FALSE); + JUT_ASSERT(2214, FALSE); } - J3DAnmTransform* var_r30 = getAnimeResource(&mUnderAnmHeap[0], m_wlAnmDataTable[i_anmID].field_0x0, 0x10800); + J3DAnmTransform* var_r30 = getAnimeResource(&mUnderAnmHeap[0], m_wlAnmDataTable[i_anmID].m_bckID, 0x10800); if (var_r30 == NULL) { var_r30 = getNowAnmPackUnder(UNDER_0); } @@ -1280,17 +1287,17 @@ int daAlink_c::setSingleAnimeWolf(daAlink_c::daAlink_WANM i_anmID, f32 i_speed, field_0x2060->initOldFrameMorf(i_morf, 0, 40); } - setFaceBasicTexture(FTANM_UNK_8B); + setFaceBasicTexture(FTANM_WL_MABA01); if (checkWolfLieCode()) { mMidnaAnm = 2; } else { - mMidnaAnm = m_wlAnmDataTable[i_anmID].field_0x2; + mMidnaAnm = m_wlAnmDataTable[i_anmID].m_midnaAnm; } field_0x215c = mUnderFrameCtrl; - field_0x2160 = (u16*)&m_wlAnmDataTable[i_anmID].field_0x4; - field_0x2fd8 = m_wlAnmDataTable[i_anmID].field_0x3; + field_0x2160 = m_wlAnmDataTable[i_anmID].m_voiceFrames; + field_0x2fd8 = m_wlAnmDataTable[i_anmID].m_voiceIdx; return 1; } @@ -1300,11 +1307,11 @@ void daAlink_c::setSingleAnimeWolfParam(daAlink_c::daAlink_WANM i_anmID, i_anmData->mInterpolation); } -int daAlink_c::checkWolfLandAction(int param_0) { +int daAlink_c::checkWolfLandAction(BOOL param_0) { f32 temp_f31 = 0.0099999998f * (mFallHeight - current.pos.y); if (checkNoLandDamageSlidePolygon() || temp_f31 < mpHIO->mWolf.mWlDamage.mFall.m.mSmallDamageHeight) { - if (param_0 != 0) { + if (param_0) { procWolfLandDamageInit(0); } else if (mProcID == PROC_WOLF_JUMP_ATTACK || mProcID == PROC_WOLF_DASH_REVERSE) { return 0; @@ -1312,14 +1319,7 @@ int daAlink_c::checkWolfLandAction(int param_0) { procWolfLandInit(); } } else { - int var_r4; - if (temp_f31 < mpHIO->mWolf.mWlDamage.mFall.m.mLargeDamageHeight) { - var_r4 = 1; - } else { - var_r4 = 2; - } - - procWolfLandDamageInit(var_r4); + procWolfLandDamageInit(temp_f31 < mpHIO->mWolf.mWlDamage.mFall.m.mLargeDamageHeight ? 1 : 2); } return 1; @@ -1336,16 +1336,21 @@ void daAlink_c::checkWolfUseAbility() { if (checkMidnaLockJumpPoint() != NULL && !checkMidnaRide()) { offWolfEyeUp(); - } else { - // event flag 0x4308: senses ability unlocked - if (dComIfGs_isEventBit(0x4308) && field_0x2fd2 == 0 && !checkEventRun() && - mWolfEyeUp < mpHIO->mWolf.m.mSensesLingerTime && wolfSenseTrigger()) - { - if (mWolfEyeUp == 0) { - onWolfEyeUp(); - } else { - offWolfEyeUp(); - } + return; + } + + if (dComIfGs_isEventBit(dSv_event_flag_c::F_0550) + && field_0x2fd2 == 0 + #if DEBUG + && !l_debugMode + #endif + && !checkEventRun() + && mWolfEyeUp < mpHIO->mWolf.m.mSensesLingerTime && wolfSenseTrigger()) + { + if (!checkWolfEyeUp()) { + onWolfEyeUp(); + } else { + offWolfEyeUp(); } } } @@ -1355,13 +1360,13 @@ int daAlink_c::checkWolfGroundSpecialMode() { checkEndResetFlg0(ERFLG0_UNK_1)) { return procCoMetamorphoseInit(); - } else if (mSpecialMode == SMODE_WOLF_PUZZLE || mSpecialMode == 0x28) { + } else if (mMode == SMODE_WOLF_PUZZLE || mMode == 0x28) { return procWolfGiantPuzzleInit(); } else if (checkCargoCarry()) { return procWolfCargoCarryInit(); } else if (checkSlideAction()) { return 1; - } else if (checkEndResetFlg1(ERFLG1_UNK_1)) { + } else if (checkEndResetFlg1(ERFLG1_NS_SCREAM)) { return procWolfScreamWaitInit(); } return 0; @@ -1396,28 +1401,28 @@ int daAlink_c::checkNextActionWolf(int param_0) { if (checkSlope()) { if (checkWolfDashMode()) { - field_0x594 = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeed; } else { - field_0x594 = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeedWeak; + mMaxSpeed = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeedWeak; } } else if (checkFmChainGrabAnime()) { - field_0x594 = 13.0f; + mMaxSpeed = 13.0f; } else if (mTargetedActor != NULL) { - field_0x594 = mpHIO->mWolf.mWlAtnMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlAtnMove.m.mMaxSpeed; } else if (checkAttentionState()) { - field_0x594 = mpHIO->mWolf.mWlMove.m.mGazeMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mGazeMaxSpeed; } else if (checkNoResetFlg1(FLG1_DASH_MODE)) { if (checkWolfSlowDash()) { - field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow; } else if (field_0x2fc7 == 2) { - field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; } else { - field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mADashMaxSpeed; } } else if (checkWolfDashMode()) { - field_0x594 = mpHIO->mWolf.mWlMove.m.mMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mMaxSpeed; } else { - field_0x594 = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; } if (checkWolfGroundSpecialMode()) { @@ -1432,9 +1437,9 @@ int daAlink_c::checkNextActionWolf(int param_0) { return 1; } - fopAc_ac_c* var_r4 = checkWolfRopeHit(&field_0x850[0], field_0x850[0].GetCP(), FALSE); + fopAc_ac_c* var_r4 = checkWolfRopeHit(&mTgCyls[0], mTgCyls[0].GetCP(), FALSE); if (var_r4 == NULL) { - var_r4 = checkWolfRopeHit(&field_0x850[1], ¤t.pos, FALSE); + var_r4 = checkWolfRopeHit(&mTgCyls[1], ¤t.pos, FALSE); } if (var_r4 != NULL) { @@ -1446,46 +1451,46 @@ int daAlink_c::checkNextActionWolf(int param_0) { return 0; } - BOOL var_r30; + BOOL rt; if (!checkInputOnR() && mProcID == PROC_WOLF_WAIT_SLIP && checkWolfWaitSlipPolygon()) { - var_r30 = 0; + rt = FALSE; } else if (checkAttentionState()) { - var_r30 = procWolfAtnActorMoveInit(); + rt = procWolfAtnActorMoveInit(); } else { field_0x2f98 = 4; if (checkZeroSpeedF()) { - if (!checkEventRun() && field_0x33a8 > 0.85f && abs(field_0x3180) < 0x5000 && + if (!checkEventRun() && mStickValue > 0.85f && abs(field_0x3180) < 0x5000 && (mProcID == PROC_WOLF_WAIT || mProcID == PROC_WOLF_MOVE) && - cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7000) + cLib_distanceAngleS(mMoveAngle, current.angle.y) > 0x7000) { if (checkEndResetFlg1(ERFLG1_UNK_200000)) { - var_r30 = procWolfSlipTurnInit(0); + rt = procWolfSlipTurnInit(0); } else { - var_r30 = 0; + rt = 0; } - if (var_r30 == 0 && !checkEventRun()) { - var_r30 = checkWaitAction(); + if (!rt && !checkEventRun()) { + rt = checkWaitAction(); } } else { - var_r30 = checkWaitAction(); + rt = checkWaitAction(); } } else if (checkInputOnR() && mGndPolySpecialCode != dBgW_SPCODE_ICE && abs(field_0x3180) < 0x5000 && - cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7000 && + cLib_distanceAngleS(mMoveAngle, current.angle.y) > 0x7000 && ((checkWolfDashMode() && - speedF / field_0x594 > mpHIO->mWolf.mWlMove.m.mSlipStartRate) || + speedF / mMaxSpeed > mpHIO->mWolf.mWlMove.m.mSlipStartRate) || (!checkWolfDashMode() && - speedF / field_0x594 > mpHIO->mWolf.mWlMoveNoP.m.mSlideStartRate))) + speedF / mMaxSpeed > mpHIO->mWolf.mWlMoveNoP.m.mSlideStartRate))) { - var_r30 = procWolfSlipInit(); + rt = procWolfSlipInit(); } else { - var_r30 = procWolfMoveInit(); + rt = procWolfMoveInit(); } } - return var_r30; + return rt; } BOOL daAlink_c::wolfSideBgCheck(s16 param_0) { @@ -1538,7 +1543,7 @@ BOOL daAlink_c::checkWolfAttackReverse(int param_0) { return procWolfAttackReverseInit(); } - if ((checkNoResetFlg0(FLG0_UNK_18) && mProcID == PROC_WOLF_DASH) || + if ((checkNoResetFlg0(daPy_FLG0(FLG0_UNK_10 | FLG0_UNK_8)) && mProcID == PROC_WOLF_DASH) || (param_0 && !checkNoResetFlg3(FLG3_UNK_400) && checkNoResetFlg1(FLG1_UNK_20000000) && cLib_distanceAngleS(field_0x3092, current.angle.y) > 0x6000)) { @@ -1571,19 +1576,19 @@ int daAlink_c::checkWolfBarrierHitReverse() { } } else { setFrontRollCrashShock(0); - return procCoLargeDamageInit(-6, 1, 0, 0, NULL, 0); + return procCoLargeDamageInit(-6, TRUE, 0, 0, NULL, 0); } } return 0; } -BOOL daAlink_c::checkWolfBarrierWallHit(cBgS_PolyInfo& i_poly) { +BOOL daAlink_c::checkWolfBarrierWallHit(cBgS_PolyInfo& i_polyinfo) { if (field_0x3100 != 0 || checkZeroSpeedF()) { return false; } - s16 bg_name = getMoveBGActorName(i_poly, TRUE); + s16 bg_name = getMoveBGActorName(i_polyinfo, TRUE); if (bg_name == PROC_OBJ_TP || bg_name == PROC_OBJ_GB || bg_name == PROC_Obj_GanonWall2) { return true; } @@ -1629,7 +1634,7 @@ void daAlink_c::wolfBgCheck() { var_r26 = 2; } - cM3dGPla sp44; + cM3dGPla tripla; for (i = 0; i < 2; i++) { sp38.set(current.pos.x, current.pos.y + mAcchCir[2].GetWallH(), current.pos.z); @@ -1658,7 +1663,7 @@ void daAlink_c::wolfBgCheck() { setWolfBarrierHitEffect(mLinkLinChk); } else { onNoResetFlg3(FLG3_UNK_800000); - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp44); + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); field_0x378c = mLinkLinChk.GetCross(); } } @@ -1676,7 +1681,7 @@ void daAlink_c::wolfBgCheck() { setWolfBarrierHitEffect(mLinkLinChk); } else { onNoResetFlg3(FLG3_UNK_800000); - dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp44); + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &tripla); field_0x378c = mLinkLinChk.GetCross(); } } @@ -1725,7 +1730,7 @@ void daAlink_c::wolfBgCheck() { field_0x3092 = cM_atan2s(-sp8.x, -sp8.z); if (checkNoResetFlg3(FLG3_UNK_800000)) { - field_0x3166.set(cM_atan2s(sp44.mNormal.y, sp44.mNormal.absXZ()), cM_atan2s(-sp44.mNormal.x, -sp44.mNormal.z), 0); + field_0x3166.set(cM_atan2s(tripla.mNormal.y, tripla.mNormal.absXZ()), cM_atan2s(-tripla.mNormal.x, -tripla.mNormal.z), 0); } var_r24++; @@ -1769,12 +1774,12 @@ void daAlink_c::wolfBgCheck() { if (field_0x2fa6 == 0 && !checkEndResetFlg1(ERFLG1_UNK_200000)) { s16 var_r27 = field_0x3092 - shape_angle.y; if (var_r27 <= 0) { - var_r27 += 0x4000; + var_r27 += (s16)0x4000; } else { - var_r27 -= 0x4000; + var_r27 -= (s16)0x4000; } - field_0x2fe6 += var_r27; + mPrevAngleY += var_r27; current.angle.y += var_r27; shape_angle.y += var_r27; } @@ -1803,33 +1808,33 @@ void daAlink_c::changeWolfBlendRate(int param_0) { void daAlink_c::setWolfFootMatrix() { static const u16 fFootJoint[] = { - 0x0010, - 0x0015, + 16, + 21, }; static const u16 bFootJoint[] = { - 0x001C, - 0x0021, + 28, + 33, }; - daAlink_footData_c* var_r29 = mFootData1; + daAlink_footData_c* footData = mFootData1; int i, j; - for (i = 0; i < 2; i++, var_r29++) { + for (i = 0; i < 2; i++, footData++) { int var_r31 = fFootJoint[i]; for (j = 0; j < 3; j++, var_r31++) { - cMtx_copy(mpLinkModel->getAnmMtx(var_r31), var_r29->field_0x14[j]); + cMtx_copy(mpLinkModel->getAnmMtx(var_r31), footData->field_0x14[j]); if (j == 1) { var_r31++; } } } - var_r29 = mFootData2; + footData = mFootData2; - for (int i = 0; i < 2; i++, var_r29++) { + for (int i = 0; i < 2; i++, footData++) { int var_r31 = bFootJoint[i]; for (int j = 0; j < 3; j++, var_r31++) { - cMtx_copy(mpLinkModel->getAnmMtx(var_r31), var_r29->field_0x14[j]); + cMtx_copy(mpLinkModel->getAnmMtx(var_r31), footData->field_0x14[j]); if (j == 0) { var_r31++; } @@ -1841,58 +1846,58 @@ void daAlink_c::setWolfFootMatrix() { cXyz sp34(0.0f, 0.0f, 0.0f); cXyz sp28; - var_r29 = mFootData1; + footData = mFootData1; - for (i = 0; i < 2; i++, var_r29++) { + for (i = 0; i < 2; i++, footData++) { int var_r31 = fFootJoint[i]; for (j = 0; j < 4; j++, var_r31++) { mDoMtx_multVecZero(mpLinkModel->getAnmMtx(var_r31), &sp40[j]); } int temp_r31 = fFootJoint[i]; - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), var_r29->field_0x6, 0, 0, 0, NULL); + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), footData->field_0x6, 0, 0, 0, NULL); sp34.x = sp40[0].abs(sp40[1]); mDoMtx_stack_c::multVec(&sp34, &sp28); temp_r31++; - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), var_r29->field_0x4, 0, 0, 0, &sp28); + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), footData->field_0x4, 0, 0, 0, &sp28); sp34.x = sp40[1].abs(sp40[2]); mDoMtx_stack_c::multVec(&sp34, &sp28); temp_r31++; - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), var_r29->field_0x4, 0, 0, 0, &sp28); + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), footData->field_0x4, 0, 0, 0, &sp28); sp34.x = sp40[2].abs(sp40[3]); mDoMtx_stack_c::multVec(&sp34, &sp28); temp_r31++; - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), var_r29->field_0x2, 0, 0, 0, &sp28); + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), footData->field_0x2, 0, 0, 0, &sp28); } - var_r29 = mFootData2; + footData = mFootData2; - for (i = 0; i < 2; i++, var_r29++) { + for (i = 0; i < 2; i++, footData++) { int var_r31 = bFootJoint[i]; for (j = 0; j < 4; j++, var_r31++) { mDoMtx_multVecZero(mpLinkModel->getAnmMtx(var_r31), &sp40[j]); } int temp_r31 = bFootJoint[i]; - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), var_r29->field_0x6, 0, 0, 0, NULL); + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), footData->field_0x6, 0, 0, 0, NULL); sp34.x = sp40[0].abs(sp40[1]); mDoMtx_stack_c::multVec(&sp34, &sp28); temp_r31++; - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), var_r29->field_0x6, 0, 0, 0, &sp28); + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), footData->field_0x6, 0, 0, 0, &sp28); sp34.x = sp40[1].abs(sp40[2]); mDoMtx_stack_c::multVec(&sp34, &sp28); temp_r31++; - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), var_r29->field_0x4, 0, 0, 0, &sp28); + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), footData->field_0x4, 0, 0, 0, &sp28); sp34.x = sp40[2].abs(sp40[3]); mDoMtx_stack_c::multVec(&sp34, &sp28); temp_r31++; - setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), var_r29->field_0x2, 0, 0, 0, &sp28); + setMatrixWorldAxisRot(mpLinkModel->getAnmMtx(temp_r31), footData->field_0x2, 0, 0, 0, &sp28); } } } @@ -1930,7 +1935,7 @@ void daAlink_c::wolfFootBgCheck() { int j; int i; - daAlink_footData_c* var_r28; + daAlink_footData_c* footData; f32* sp20 = &spA0[0][0]; cXyz* var_r26 = &spC8[0]; @@ -1948,28 +1953,28 @@ void daAlink_c::wolfFootBgCheck() { for (i = 0; i < 2; i++) { if (i == 0) { - var_r28 = mFootData1; + footData = mFootData1; } else { - var_r28 = mFootData2; + footData = mFootData2; } - for (j = 0; j < 2; j++, var_r28++, sp20++, var_r26++) { + for (j = 0; j < 2; j++, footData++, sp20++, var_r26++) { if (sp24) { - var_r28->field_0x1 = 0xF; + footData->field_0x1 = 0xF; } else { - spB0 = *var_r26 - var_r28->field_0x8; - if (spB0.abs2XZ() < 100.0f && sp30 && var_r28->field_0x0 != 0) { - if (var_r28->field_0x1 != 0) { - var_r28->field_0x1--; + spB0 = *var_r26 - footData->field_0x8; + if (spB0.abs2XZ() < 100.0f && sp30 && footData->field_0x0 != 0) { + if (footData->field_0x1 != 0) { + footData->field_0x1--; } else { - *var_r26 = var_r28->field_0x8; + *var_r26 = footData->field_0x8; } } else { - var_r28->field_0x1 = 0xF; + footData->field_0x1 = 0xF; } } - var_r28->field_0x8 = *var_r26; + footData->field_0x8 = *var_r26; spBC.set(var_r26->x, temp_f29 + (50.0f + (current.pos.y + l_autoUpHeight)), var_r26->z); mLinkGndChk.SetPos(&spBC); @@ -1979,7 +1984,7 @@ void daAlink_c::wolfFootBgCheck() { if (-G_CM3D_F_INF != temp_f31 && temp_f30 < temp_f27 && temp_f30 > sp1C) { *sp20 = temp_f31; - var_r28->field_0x0 = 1; + footData->field_0x0 = 1; sp48[i][j] = getGroundAngle(&mLinkGndChk, shape_angle.y); spBC.set(var_r26->x - current.pos.x, temp_f31 - current.pos.y, var_r26->z - current.pos.z); @@ -1987,7 +1992,7 @@ void daAlink_c::wolfFootBgCheck() { *sp20 = spB0.y + current.pos.y; } else { *sp20 = current.pos.y; - var_r28->field_0x0 = 0; + footData->field_0x0 = 0; } } } @@ -2018,12 +2023,12 @@ void daAlink_c::wolfFootBgCheck() { for (i = 0; i < 2; i++) { if (i == 0) { - var_r28 = mFootData1; + footData = mFootData1; } else { - var_r28 = mFootData2; + footData = mFootData2; } - for (j = 0; j < 2; j++, var_r28++) { + for (j = 0; j < 2; j++, footData++) { if (sp24 || (i == 0 && checkUnderMove0BckNoArcWolf(WANM_SMELL))) { sp58[i][j] = 0; sp50[i][j] = 0; @@ -2034,7 +2039,7 @@ void daAlink_c::wolfFootBgCheck() { } if (temp_f30 > 0.0f || sp30) { - if (!setLegAngle(temp_f30, var_r28, &sp58[i][j], &sp50[i][j], 1)) { + if (!setLegAngle(temp_f30, footData, &sp58[i][j], &sp50[i][j], 1)) { sp58[i][j] = 0; sp50[i][j] = 0; } @@ -2044,8 +2049,8 @@ void daAlink_c::wolfFootBgCheck() { } } - cLib_addCalcAngleS(&var_r28->field_0x6, sp58[i][j], 2, 0x1800, 0x10); - cLib_addCalcAngleS(&var_r28->field_0x4, sp50[i][j], 2, 0x1800, 0x10); + cLib_addCalcAngleS(&footData->field_0x6, sp58[i][j], 2, 0x1800, 0x10); + cLib_addCalcAngleS(&footData->field_0x4, sp50[i][j], 2, 0x1800, 0x10); s16 spE; if (mProcID == PROC_WOLF_SLIDE_READY) { @@ -2054,11 +2059,11 @@ void daAlink_c::wolfFootBgCheck() { spE = -shape_angle.x; } - if (!sp24 && var_r28->field_0x0 != 0 && field_0x3174 != 8 && sp30) { + if (!sp24 && footData->field_0x0 != 0 && mGroundCode != 8 && sp30) { spE += sp48[i][j]; } - cLib_addCalcAngleS(&var_r28->field_0x2, spE, 2, 0x1800, 0x10); + cLib_addCalcAngleS(&footData->field_0x2, spE, 2, 0x1800, 0x10); } } @@ -2135,30 +2140,30 @@ void daAlink_c::wolfFootBgCheck() { } BOOL daAlink_c::checkWolfWaitSlipPolygon() { - if (!dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) || mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || field_0x3174 == 8) { - return 0; + if (!dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) || mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || mGroundCode == 8) { + return FALSE; } - cM3dGPla sp8; - if (!dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp8) || !cBgW_CheckBGround(sp8.mNormal.y)) { - return 0; + cM3dGPla tripla; + if (!dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &tripla) || !cBgW_CheckBGround(tripla.mNormal.y)) { + return FALSE; } - if (mGndPolySpecialCode == dBgW_SPCODE_LIGHT_SNOW && sp8.mNormal.y < cM_scos(cM_deg2s(mpHIO->mSlide.m.mClimbAngle))) { - return 1; + if (mGndPolySpecialCode == dBgW_SPCODE_LIGHT_SNOW && tripla.mNormal.y < cM_scos(cM_deg2s(mpHIO->mSlide.m.mClimbAngle))) { + return TRUE; } - return cM_atan2s(sp8.mNormal.absXZ(), sp8.mNormal.y) > field_0x3122; + return cM_atan2s(tripla.mNormal.absXZ(), tripla.mNormal.y) > field_0x3122; } f32 daAlink_c::setWolfWaitSlip() { - cM3dGPla sp8; - dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp8); + cM3dGPla tripla; + dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &tripla); - current.angle.y = sp8.mNormal.atan2sX_Z(); + current.angle.y = tripla.mNormal.atan2sX_Z(); f32 var_f31; - f32 temp_f30 = JMAFastSqrt(1.0f - sp8.mNormal.y); + f32 temp_f30 = JMAFastSqrt(1.0f - tripla.mNormal.y); if (abs((s16)(shape_angle.y - current.angle.y)) >= 0x4000) { mProcVar2.field_0x300c = 1; @@ -2168,7 +2173,7 @@ f32 daAlink_c::setWolfWaitSlip() { var_f31 = 1000.0f; } - field_0x37c8.set(current.pos.x + (temp_f30 * (var_f31 * sp8.mNormal.x)), eyePos.y - (var_f31 * sp8.mNormal.y), current.pos.z + (temp_f30 * (var_f31 * sp8.mNormal.z))); + field_0x37c8.set(current.pos.x + (temp_f30 * (var_f31 * tripla.mNormal.x)), eyePos.y - (var_f31 * tripla.mNormal.y), current.pos.z + (temp_f30 * (var_f31 * tripla.mNormal.z))); return temp_f30; } @@ -2195,14 +2200,14 @@ void daAlink_c::setWolfChainPos() { } cXyz sp78; - mDoMtx_multVec(mpLinkModel->getAnmMtx(0x11), &wolfChainBaseOffset, &sp78); + mDoMtx_multVec(mpLinkModel->getAnmMtx(17), &wolfChainBaseOffset, &sp78); cXyz sp6C; - mDoMtx_multVecSR(mpLinkModel->getAnmMtx(0x11), &cXyz::BaseZ, &sp6C); + mDoMtx_multVecSR(mpLinkModel->getAnmMtx(17), &cXyz::BaseZ, &sp6C); s16 sp12 = sp6C.atan2sX_Z(); s16 sp10 = sp6C.atan2sY_XZ(); - mDoMtx_multVecSR(mpLinkModel->getAnmMtx(0x11), &cXyz::BaseY, &sp6C); + mDoMtx_multVecSR(mpLinkModel->getAnmMtx(17), &cXyz::BaseY, &sp6C); s16 spE = (cM_atan2s(sp6C.y, sp6C.absXZ()) + 0x4000); @@ -2319,13 +2324,13 @@ void daAlink_c::setWolfAnmVoice() { Z2SE_WL_V_TURN_BACK, Z2SE_WL_V_HOLD_THROW, Z2SE_WL_V_FAILED, Z2SE_WL_V_NOSE, }; - s8* var_r29 = (s8*)field_0x2160; + const s8* var_r29 = field_0x2160; if (field_0x2fd8 >= 12 || field_0x215c == NULL) { return; } - for (int i = 0; i < 4; i++) { + for (int i = 0; i < 4; i++, var_r29++) { if (*var_r29 == -1) { return; } @@ -2333,7 +2338,6 @@ void daAlink_c::setWolfAnmVoice() { if (field_0x215c->checkPass(*var_r29)) { voiceStart(label[field_0x2fd8]); } - var_r29++; } } @@ -2349,7 +2353,7 @@ int daAlink_c::procWolfServiceWaitInit(int param_0) { } else if (param_0 == 1) { if (cM_rnd() < 0.5f) { setSingleAnimeWolfBase(WANM_SERVICE_WAIT_A); - setFaceBasicTexture(FTANM_UNK_8D); + setFaceBasicTexture(FTANM_WL_SWAITA); field_0x3198 = 0; mProcVar2.field_0x300c = 0; } else { @@ -2374,13 +2378,13 @@ int daAlink_c::procWolfServiceWaitInit(int param_0) { } int daAlink_c::procWolfServiceWait() { - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; - if (mDemo.getDemoMode() != 0x5E && !checkNextActionWolf(0) && !checkFrontWallTypeAction() && ((checkEventRun() && mProcVar5.field_0x3012 == 0) || shape_angle.y != field_0x2fe6)) { - temp_r30->setRate(0.0f); + if (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_94_e && !checkNextActionWolf(0) && !checkFrontWallTypeAction() && ((checkEventRun() && mProcVar5.field_0x3012 == 0) || shape_angle.y != mPrevAngleY)) { + framectrl->setRate(0.0f); field_0x3198 = 1; procWolfWaitInit(); - } else if (checkAnmEnd(temp_r30)) { + } else if (checkAnmEnd(framectrl)) { if (checkUnderMove0BckNoArcWolf(WANM_SERVICE_WAIT_A)) { setSingleAnimeWolfBase(WANM_WAIT_A_TO_S); field_0x3198 = 0; @@ -2400,12 +2404,12 @@ int daAlink_c::procWolfServiceWait() { field_0x3198 = 1; mProcVar2.field_0x300c = 0; } - } else if (checkUnderMove0BckNoArcWolf(WANM_SERVICE_WAIT_A) && temp_r30->checkPass(25.0f)) { + } else if (checkUnderMove0BckNoArcWolf(WANM_SERVICE_WAIT_A) && framectrl->checkPass(25.0f)) { voiceStart(Z2SE_WL_V_YAWN); } else if (checkUnderMove0BckNoArcWolf(WANM_SERVICE_WAIT_D) && mProcVar5.field_0x3012 == 0) { mProcVar0.field_0x3008--; - if (mProcVar0.field_0x3008 == 0 && mDemo.getDemoMode() != 0x5E) { + if (mProcVar0.field_0x3008 == 0 && mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_94_e) { setSingleAnimeWolfBaseSpeed(WANM_WAIT_A_TO_S, -1.0f, 3.0f); mProcVar4.field_0x3010 = 1; } @@ -2431,8 +2435,12 @@ int daAlink_c::procWolfTiredWaitInit() { int daAlink_c::procWolfTiredWait() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (!checkNextActionWolf(0) && frameCtrl->checkAnmEnd()) { - setSingleAnimeWolfBase(WANM_WAIT_TIRED); + if (!checkNextActionWolf(0)) { + if (checkAnmEnd(frameCtrl)) { + setSingleAnimeWolfBase(WANM_WAIT_TIRED); + } else if (frameCtrl->getAttribute() != 2) { + + } } return 1; @@ -2449,7 +2457,7 @@ int daAlink_c::procWolfMidnaRideShockInit() { } setSingleAnimeWolfBase(WANM_MIDNA_SHOCK); - setFaceBasicTexture(FTANM_UNK_9F); + setFaceBasicTexture(FTANM_WL_MDSHOCK); voiceStart(Z2SE_WL_V_MD_SHOCK); mNormalSpeed = 0.0f; @@ -2461,13 +2469,13 @@ int daAlink_c::procWolfMidnaRideShockInit() { int daAlink_c::procWolfMidnaRideShock() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (frameCtrl->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x32) { + if (checkAnmEnd(frameCtrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_WOLF_MIDNA_RIDE_SHOCK_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextActionWolf(0); } - } else if (frameCtrl->getFrame() > 11.0f && mDemo.getDemoMode() != 0x32) { + } else if (frameCtrl->getFrame() > 11.0f && mDemo.getDemoMode() != daPy_demo_c::DEMO_WOLF_MIDNA_RIDE_SHOCK_e) { checkNextActionWolf(1); } @@ -2532,9 +2540,9 @@ int daAlink_c::procWolfMoveInit() { int daAlink_c::procWolfMove() { if (!checkNextActionWolf(0) && !checkFrontWallTypeAction()) { - if (mDemo.getDemoMode() == 2) { - if (mNormalSpeed > field_0x594 * mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate) { - mNormalSpeed = field_0x594 * mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate; + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_2_e) { + if (mNormalSpeed > mMaxSpeed * mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate) { + mNormalSpeed = mMaxSpeed * mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate; } } @@ -2557,21 +2565,21 @@ int daAlink_c::procWolfDashInit() { if (checkWolfSlowDash()) { field_0x30d0 = mpHIO->mWolf.mWlMove.m.mADashDurationSlow; - field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow; if (mNormalSpeed < mpHIO->mWolf.mWlMove.m.mADashInitSpeedSlow) { mNormalSpeed = mpHIO->mWolf.mWlMove.m.mADashInitSpeedSlow; } } else if (field_0x2fc7 == 2) { - field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; - field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; if (mNormalSpeed < mpHIO->mWolf.mWlMove.m.mADashInitSpeedSlow2) { mNormalSpeed = mpHIO->mWolf.mWlMove.m.mADashInitSpeedSlow2; } } else { field_0x30d0 = mpHIO->mWolf.mWlMove.m.mADashDuration; - field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlMove.m.mADashMaxSpeed; if (mNormalSpeed < mpHIO->mWolf.mWlMove.m.mADashInitSpeed) { mNormalSpeed = mpHIO->mWolf.mWlMove.m.mADashInitSpeed; @@ -2597,10 +2605,10 @@ int daAlink_c::procWolfDash() { } else { step_amount = mpHIO->mWolf.mWlMove.m.mADashAcceleration; } - cLib_chaseF(&mNormalSpeed, field_0x594, step_amount); + cLib_chaseF(&mNormalSpeed, mMaxSpeed, step_amount); if (checkInputOnR()) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mWolf.mWlMove.m.mTurnAngleRate, + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mWolf.mWlMove.m.mTurnAngleRate, mpHIO->mWolf.mWlMove.m.mTurnMax, mpHIO->mWolf.mWlMove.m.mTurnMin); shape_angle.y = current.angle.y; } @@ -2647,7 +2655,7 @@ int daAlink_c::procWolfDash() { onResetFlg1(RFLG1_UNK_30); } else if (frameCtrl_p->checkPass(8.0f) || frameCtrl_p->checkPass(16.5f)) { field_0x2f9d = 0x18; - onResetFlg1(RFLG1_UNK_C); + onResetFlg1(daPy_RFLG1(RFLG1_UNK_8 | RFLG1_UNK_4)); } field_0x30a2 = field_0x2fec; @@ -2714,6 +2722,10 @@ int daAlink_c::procWolfDashReverse() { frameCtrl_p->setRate(mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mSpeed); frameCtrl_p->setEnd(mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mEndFrame); + #if DEBUG + mpHIO->jumpStateUpdate(&mLastJumpPos, ¤t.pos, l_jumpTop); + #endif + current.angle.y = shape_angle.y; offModeFlg(0x2); onModeFlg(0x8000); @@ -2783,7 +2795,7 @@ int daAlink_c::procWolfWaitTurnInit() { mNormalSpeed = 0.0f; } - mProcVar3.field_0x300e = field_0x2fe2; + mProcVar3.field_0x300e = mMoveAngle; current.angle.y = shape_angle.y; return 1; } @@ -2810,7 +2822,7 @@ int daAlink_c::procWolfWaitTurn() { if (var_r31 == 0) { if (checkEventRun()) { - if (mDemo.getDemoMode() == 5) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_WAIT_TURN_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextActionWolf(0); @@ -2895,7 +2907,7 @@ int daAlink_c::procWolfSideStep() { return procWolfSideStepLandInit(mProcVar5.field_0x3012); } - if (mDemo.getDemoMode() != 0x10 && + if (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_16_e && current.pos.y < mLastJumpPos.y - mpHIO->mWolf.mWlSideStep.m.mFallHeight) { field_0x2f98 = 0; @@ -2914,12 +2926,16 @@ int daAlink_c::procWolfSideStepLandInit(s16 param_0) { field_0x3478 = mpHIO->mWolf.mWlSideStep.m.mBackLandAnm.mCancelFrame; field_0x2fcc = 10; } else { + int _; field_0x2fcc = 0; setSingleAnimeWolfParam( field_0x2f98 == 2 ? WANM_SIDE_JUMP_LEFT_END : WANM_SIDE_JUMP_RIGHT_END, - // Fakematch, should be - // &mpHIO->mWolf.mWlSideStep.m.mSideLandAnm + // Fakematch, should be &mpHIO->mWolf.mWlSideStep.m.mSideLandAnm + #if DEBUG + &mpHIO->mWolf.mWlSideStep.m.mSideLandAnm + #else &daAlinkHIO_wlSideStep_c0::m.mSideLandAnm + #endif ); field_0x3478 = mpHIO->mWolf.mWlSideStep.m.mSideLandAnm.mCancelFrame; } @@ -2927,7 +2943,7 @@ int daAlink_c::procWolfSideStepLandInit(s16 param_0) { mProcVar5.field_0x3012 = param_0; field_0x2f9d = 4; setFootEffectProcType(2); - onResetFlg1(RFLG1_UNK_C); + onResetFlg1(daPy_RFLG1(RFLG1_UNK_8 | RFLG1_UNK_4)); mNormalSpeed = 0.0f; setStepLandVibration(); @@ -2944,8 +2960,8 @@ int daAlink_c::procWolfSideStepLand() { setWolfAtnMoveDirection(); checkWolfAtnDoCharge(); - if (frameCtrl->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x10) { + if (checkAnmEnd(frameCtrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_16_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextActionWolf(0); @@ -3010,9 +3026,9 @@ int daAlink_c::procWolfBackJump() { backJumpSpeedDec(); - if (mUnderFrameCtrl[0].checkAnmEnd() && mLinkAcch.ChkGroundHit()) { + if (checkAnmEnd(mUnderFrameCtrl) && mLinkAcch.ChkGroundHit()) { procWolfBackJumpLandInit(mProcVar5.field_0x3012, mProcVar4.field_0x3010); - } else if (mDemo.getDemoMode() != 0x10 && + } else if (mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_16_e && current.pos.y < mLastJumpPos.y - mpHIO->mWolf.mWlBackJump.m.mFallHeight) { field_0x2f98 = 0; @@ -3049,8 +3065,8 @@ int daAlink_c::procWolfBackJumpLand() { checkWolfAtnDoCharge(); } - if (frameCtrl->checkAnmEnd()) { - if (mDemo.getDemoMode() == 0x10) { + if (checkAnmEnd(frameCtrl)) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_16_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextActionWolf(0); @@ -3102,8 +3118,8 @@ int daAlink_c::procWolfHowl() { checkNextActionWolf(1); } } else { - if ((!doButton() || mProcVar2.field_0x300c != 0) && mDemo.getDemoMode() != 0x15 && - mDemo.getDemoMode() != 0x16) + if ((!doButton() || mProcVar2.field_0x300c != 0) && mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_21_e && + mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_22_e) { if (!(frameCtrl_p->getFrame() < 38.0f)) { mProcVar2.field_0x300c = 1; @@ -3125,55 +3141,55 @@ int daAlink_c::procWolfHowl() { int daAlink_c::procWolfAutoJumpInit(int param_0) { commonProcInit(PROC_WOLF_AUTO_JUMP); - f32 var_f1; - f32 var_f31; - f32 var_f30; - s16 var_r30; + f32 anmSpeed; + f32 minSpeed; + f32 speedRate; + s16 angle; if (checkWolfDashMode() && field_0x2fc7 != 3) { - var_f1 = mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mSpeed; - field_0x594 = mpHIO->mWolf.mWlAutoJump.m.mJumpMaxSpeed; - var_f31 = mpHIO->mWolf.mWlAutoJump.m.mJumpMinSpeed; - var_f30 = mpHIO->mWolf.mWlAutoJump.m.mJumpSpeedRate; - var_r30 = mpHIO->mWolf.mWlAutoJump.m.mJumpAngle; + anmSpeed = mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mSpeed; + mMaxSpeed = mpHIO->mWolf.mWlAutoJump.m.mJumpMaxSpeed; + minSpeed = mpHIO->mWolf.mWlAutoJump.m.mJumpMinSpeed; + speedRate = mpHIO->mWolf.mWlAutoJump.m.mJumpSpeedRate; + angle = mpHIO->mWolf.mWlAutoJump.m.mJumpAngle; onNoResetFlg2(FLG2_WOLF_DASH_AUTO_JUMP); } else { - var_f1 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpAnmSpeed; - field_0x594 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpMaxSpeed; - var_f31 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpMinSpeed; - var_f30 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpSpeedRate; - var_r30 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpAngle; + anmSpeed = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpAnmSpeed; + mMaxSpeed = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpMaxSpeed; + minSpeed = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpMinSpeed; + speedRate = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpSpeedRate; + angle = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpAngle; } - setSingleAnimeWolf(WANM_JUMP_ATTACK_START, var_f1, + setSingleAnimeWolf(WANM_JUMP_ATTACK_START, anmSpeed, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mStartFrame, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mEndFrame, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mInterpolation); - if (speedF > field_0x594 || param_0 || mpHIO->mWolf.mWlAutoJump.m.mAlwaysMaxSpeedJump == true) { - speedF = field_0x594; - } else if (speedF < var_f31) { - speedF = var_f31; + if (speedF > mMaxSpeed || param_0 || mpHIO->mWolf.mWlAutoJump.m.mAlwaysMaxSpeedJump == true) { + speedF = mMaxSpeed; + } else if (speedF < minSpeed) { + speedF = minSpeed; } - mNormalSpeed = speedF * var_f30; - speed.y = mNormalSpeed * cM_ssin(var_r30); - mNormalSpeed *= cM_scos(var_r30); + mNormalSpeed = speedF * speedRate; + speed.y = mNormalSpeed * cM_ssin(angle); + mNormalSpeed *= cM_scos(angle); field_0x3588 = l_wolfBaseAnime; field_0x33b0 = l_wolfBaseAnime.y; current.angle.y = shape_angle.y; offNoResetFlg0(FLG0_UNK_40000); - onResetFlg0(RFLG0_UNK_100); + onResetFlg0(RFLG0_AUTO_JUMP_START); voiceStart(Z2SE_WL_V_BREATH_JUMP); mProcVar2.field_0x300c = 1; return 1; } int daAlink_c::procWolfAutoJump() { - if (mSpecialMode != 0x27) { + if (mMode != 0x27) { if (checkInputOnR() && getDirectionFromCurrentAngle() == DIR_BACKWARD) { - cLib_chaseF(&mNormalSpeed, 0.0f, field_0x33a8 * 0.2f); + cLib_chaseF(&mNormalSpeed, 0.0f, mStickValue * 0.2f); } else if (!checkInputOnR()) { cLib_chaseF(&mNormalSpeed, 0.0f, 0.1f); } @@ -3336,7 +3352,7 @@ int daAlink_c::procWolfLand() { field_0x2f99 = 4; } - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > field_0x3478) { checkNextActionWolf(1); @@ -3375,9 +3391,9 @@ int daAlink_c::procWolfSit() { checkWolfDashMode() ? mpHIO->mWolf.mWlMove.m.mDeceleration : mpHIO->mWolf.mWlMoveNoP.m.mDeceleration); - if (!spActionButton() && mDemo.getDemoMode() != 0xF) { + if (!spActionButton() && mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK_15_e) { checkNextActionWolfFromLie(); - } else if (frameCtrl->checkAnmEnd()) { + } else if (checkAnmEnd(frameCtrl)) { setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); field_0x3198 = 1; @@ -3452,13 +3468,13 @@ int daAlink_c::procWolfSlip() { field_0x2f99 = 5; - f32 var_f2; + f32 deceleration; if (checkWolfDashMode()) { - var_f2 = mpHIO->mWolf.mWlMove.m.mSlipDeceleration; + deceleration = mpHIO->mWolf.mWlMove.m.mSlipDeceleration; } else { - var_f2 = mpHIO->mWolf.mWlMoveNoP.m.mSlideDeceleration; + deceleration = mpHIO->mWolf.mWlMoveNoP.m.mSlideDeceleration; } - cLib_chaseF(&mNormalSpeed, 0.0f, var_f2); + cLib_chaseF(&mNormalSpeed, 0.0f, deceleration); if (checkAnmEnd(frameCtrl_p)) { mNormalSpeed = 0.0f; @@ -3488,9 +3504,9 @@ int daAlink_c::procWolfSlipTurnInit(int param_0) { return 0; } - f32 var_f31; + f32 start_frame; if (param_0) { - var_f31 = mpHIO->mWolf.mWlMove.m.mReverseAnm.mStartFrame; + start_frame = mpHIO->mWolf.mWlMove.m.mReverseAnm.mStartFrame; current.angle.y = shape_angle.y + 0x8000; if (checkWolfDashMode()) { @@ -3499,21 +3515,21 @@ int daAlink_c::procWolfSlipTurnInit(int param_0) { field_0x347c = mpHIO->mWolf.mWlMoveNoP.m.mReverseSpeed; } } else { - var_f31 = mpHIO->mWolf.mWlMove.m.mIdleReverseStartFrame; - current.angle.y = field_0x2fe2; + start_frame = mpHIO->mWolf.mWlMove.m.mIdleReverseStartFrame; + current.angle.y = mMoveAngle; setOldRootQuaternion(0, (shape_angle.y - current.angle.y) - 0x8000, 0); shape_angle.y = current.angle.y + 0x8000; field_0x347c = 10.0f; } - setSingleAnimeWolf(WANM_TURN, mpHIO->mWolf.mWlMove.m.mReverseAnm.mSpeed, var_f31, 12, + setSingleAnimeWolf(WANM_TURN, mpHIO->mWolf.mWlMove.m.mReverseAnm.mSpeed, start_frame, 12, mpHIO->mWolf.mWlMove.m.mReverseAnm.mInterpolation); voiceStart(Z2SE_WL_V_BREATH_JUMP); mNormalSpeed = 0.0f; field_0x2f99 = 5; field_0x3588 = l_wolfBaseAnime; - field_0x3478 = 1.0f / (12.0f - var_f31); + field_0x3478 = 1.0f / (12.0f - start_frame); return 1; } @@ -3538,7 +3554,7 @@ int daAlink_c::procWolfSlipTurn() { { setOldRootQuaternion(0, -0x8000, 0); shape_angle.y = current.angle.y; - field_0x2fe6 = shape_angle.y; + mPrevAngleY = shape_angle.y; procWolfFallInit(2, mpHIO->mWolf.mWlMove.m.mReverseFallInterpolation); } @@ -3566,7 +3582,7 @@ int daAlink_c::procWolfSlipTurnLand() { field_0x2f99 = 5; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlMove.m.mReverseAnm.mCancelFrame) { checkNextActionWolf(1); @@ -3583,12 +3599,12 @@ int daAlink_c::procWolfSlideReadyInit(s16 i_angle, int param_1) { voiceStart(Z2SE_WL_V_SLIP_ROLL); mNormalSpeed = 0.0f; - field_0x594 = mpHIO->mWolf.mWlSlide.m.mMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlSlide.m.mMaxSpeed; field_0x3588 = l_wolfBaseAnime; field_0x3478 = 1.0f / mUnderFrameCtrl[0].getEnd(); mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = param_1; - field_0x814.SetWeight(0xFF); + mCcStts.SetWeight(255); return 1; } @@ -3602,7 +3618,8 @@ int daAlink_c::procWolfSlideReady() { cM3dGPla slide_poly; if (getSlidePolygon(&slide_poly)) { - cLib_addCalcAngleS(¤t.angle.y, slide_poly.mNormal.atan2sX_Z(), 4, 0x1000, 0x400); + s16 var_r28 = slide_poly.mNormal.atan2sX_Z(); + cLib_addCalcAngleS(¤t.angle.y, var_r28, 4, 0x1000, 0x400); cLib_addCalcAngleS(&shape_angle.y, current.angle.y, 4, 0x1000, 0x400); } @@ -3628,8 +3645,10 @@ int daAlink_c::procWolfSlideInit(s16 i_angle, int param_1) { return procWolfSlideReadyInit(i_angle, 1); } + BOOL is_prev_slideReady = mProcID == PROC_WOLF_SLIDE_READY; + commonProcInit(PROC_WOLF_SLIDE); - field_0x814.SetWeight(0xFF); + mCcStts.SetWeight(255); field_0x3090 = 8; current.angle.y = i_angle; setSingleAnimeWolfParam(WANM_SLIDE_BACKWARD, &mpHIO->mWolf.mWlSlide.m.mBackSlideAnm); @@ -3642,7 +3661,7 @@ int daAlink_c::procWolfSlideInit(s16 i_angle, int param_1) { dComIfGp_setPlayerStatus1(0, 0x200); field_0x2f9d = 0x78; setFootEffectProcType(1); - field_0x594 = mpHIO->mWolf.mWlSlide.m.mMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlSlide.m.mMaxSpeed; return 1; } @@ -3657,8 +3676,8 @@ int daAlink_c::procWolfSlide() { mNormalSpeed += mpHIO->mWolf.mWlSlide.m.mAcceleration * ((1.0f - slide_poly.mNormal.y) * 0.5f + 1.0f) * cM_scos(current.angle.y - var_r30); - if (mNormalSpeed > field_0x594) { - mNormalSpeed = field_0x594; + if (mNormalSpeed > mMaxSpeed) { + mNormalSpeed = mMaxSpeed; } field_0x2f9d = 0x78; @@ -3674,7 +3693,7 @@ int daAlink_c::procWolfSlideLandInit() { commonProcInit(PROC_WOLF_SLIDE_LAND); setSingleAnimeWolfParam(WANM_SLIDE_BACKWARD_END, &mpHIO->mWolf.mWlSlide.m.mLandingAnm); mNormalSpeed *= 0.5f; - field_0x814.SetWeight(0xFF); + mCcStts.SetWeight(255); return 1; } @@ -3684,7 +3703,7 @@ int daAlink_c::procWolfSlideLand() { cLib_chaseF(&mNormalSpeed, 0.0f, 4.0f); - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { current.angle.y = shape_angle.y; checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlSlide.m.mLandingAnm.mCancelFrame) { @@ -3724,7 +3743,7 @@ int daAlink_c::procWolfWaitSlip() { dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &tri); s16 var_r30 = tri.mNormal.atan2sX_Z(); - if (getGroundAngle(&mLinkAcch.m_gnd, field_0x2fe2) < -field_0x3122) { + if (getGroundAngle(&mLinkAcch.m_gnd, mMoveAngle) < -field_0x3122) { int var_r3 = abs((s16)(var_r30 - shape_angle.y)); if (var_r3 >= 0x6000) { @@ -3776,7 +3795,7 @@ int daAlink_c::procWolfSlopeStartInit(int param_0) { int daAlink_c::procWolfSlopeStart() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlSlide.m.mSlipDownRecoveryAnm.mCancelFrame) { if (!checkNextActionWolf(1)) { @@ -3789,7 +3808,9 @@ int daAlink_c::procWolfSlopeStart() { return 1; } -static fopAc_ac_c* daAlink_searchGoldWolf(fopAc_ac_c* i_actor, void*) { +static fopAc_ac_c* daAlink_searchGoldWolf(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_NPC_GWOLF) { return i_actor; } @@ -3799,15 +3820,16 @@ static fopAc_ac_c* daAlink_searchGoldWolf(fopAc_ac_c* i_actor, void*) { static void* daAlink_searchWolfHowl(fopAc_ac_c* i_actor, void* i_data) { s16 actor_name = fopAcM_GetName(i_actor); + fopAc_ac_c** var_r30 = (fopAc_ac_c**)i_data; daAlink_c* player_p = daAlink_getAlinkActorClass(); - if ((actor_name == PROC_KAGO && dComIfGs_isEventBit(0xA10)) || + if ((actor_name == PROC_KAGO && dComIfGs_isEventBit(dSv_event_flag_c::M_051)) || (actor_name == PROC_E_PM && - player_p->current.pos.abs2XZ(i_actor->current.pos) < 9000000.0f) || + player_p->current.pos.abs2XZ(i_actor->current.pos) < SQUARE(3000.0f)) || actor_name == PROC_OBJ_SEKIZOA || - (*(fopAc_ac_c**)i_data == NULL && actor_name == player_p->getGrassHowlEventActor())) + (*var_r30 == NULL && actor_name == player_p->getGrassHowlEventActor())) { - *(fopAc_ac_c**)i_data = i_actor; + *var_r30 = i_actor; } return NULL; @@ -3835,7 +3857,7 @@ void daAlink_c::setWolfHowlNotHappen(int param_0) { } int daAlink_c::procWolfHowlDemoInit() { - if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { return 0; } @@ -3939,7 +3961,7 @@ int daAlink_c::procWolfHowlDemoInit() { mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); } else { setSingleAnimeWolfBase(WANM_LISTEN); - setFaceBasicTexture(FTANM_UNK_A2); + setFaceBasicTexture(FTANM_WL_C_A); } } @@ -3952,9 +3974,7 @@ int daAlink_c::procWolfHowlDemoInit() { mDoAud_taktModeMute(); if (checkStageName("F_SP200")) { - fopAc_ac_c* gwolf_p = - (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchGoldWolf, NULL); - field_0x280c.setData(gwolf_p); + field_0x280c.setData((fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchGoldWolf, NULL)); } else { field_0x280c.clearData(); } @@ -3967,13 +3987,13 @@ int daAlink_c::procWolfHowlDemo() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; daNpc_GWolf_c* gwolf_p = (daNpc_GWolf_c*)field_0x280c.getActor(); - BOOL skip_edge = dComIfGp_getEvent()->checkSkipEdge(); - if (skip_edge) { + BOOL isSkipEdge = dComIfGp_getEvent()->checkSkipEdge(); + if (isSkipEdge) { mZ2WolfHowlMgr.skipCorrectDemo(); } if (checkEndMessage(field_0x32cc) || - (skip_edge && (field_0x32cc == 0x535 || field_0x32cc == 0x532))) + (isSkipEdge && (field_0x32cc == 0x535 || field_0x32cc == 0x532))) { if (mProcVar2.field_0x300c == 0) { resetSpecialEvent(); @@ -3994,7 +4014,7 @@ int daAlink_c::procWolfHowlDemo() { if (checkAnmEnd(frameCtrl_p)) { if (mProcVar4.field_0x3010 != 0) { setSingleAnimeWolfBase(WANM_LISTEN); - setFaceBasicTexture(FTANM_UNK_A2); + setFaceBasicTexture(FTANM_WL_C_A); } else { setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); @@ -4005,9 +4025,9 @@ int daAlink_c::procWolfHowlDemo() { } else if (field_0x347c > 1.5f) { field_0x347c -= 1.0f; } else { - bool var_r26 = mDoCPd_c::getHoldA(PAD_1) != false; + bool isHowl = mDoCPd_c::getHoldA(PAD_1) != false; if (mProcVar4.field_0x3010 != 0 && mProcVar2.field_0x300c != 0) { - var_r26 = false; + isHowl = false; } if (checkUnderMove0BckNoArcWolf(WANM_HOWL_SUCCESS)) { @@ -4018,7 +4038,7 @@ int daAlink_c::procWolfHowlDemo() { if (gwolf_p == NULL) { dComIfGp_getEvent()->startCheckSkipEdge(this); } - } else if ((var_r26 || mZ2WolfHowlMgr.getTimer() != 0) && + } else if ((isHowl || mZ2WolfHowlMgr.getTimer() != 0) && mZ2WolfHowlMgr.getReleaseTimer() != 30) { if (!checkUnderMove0BckNoArcWolf(WANM_HOWL_SIT) || mProcVar1.field_0x300a == 0) { @@ -4045,7 +4065,7 @@ int daAlink_c::procWolfHowlDemo() { (checkAnmEnd(frameCtrl_p) || checkUnderMove0BckNoArcWolf(WANM_WAIT_SIT))) { setSingleAnimeWolfBase(WANM_LISTEN); - setFaceBasicTexture(FTANM_UNK_A2); + setFaceBasicTexture(FTANM_WL_C_A); } else if (checkAnmEnd(frameCtrl_p)) { setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); @@ -4054,12 +4074,12 @@ int daAlink_c::procWolfHowlDemo() { s16 var_r25 = mProcVar3.field_0x300e; f32 stick_y = mDoCPd_c::getStickY(PAD_1); - mProcVar3.field_0x300e = mZ2WolfHowlMgr.startWolfHowlSound(0.0f, stick_y, var_r26, 0.0f); + mProcVar3.field_0x300e = mZ2WolfHowlMgr.startWolfHowlSound(0.0f, stick_y, isHowl, 0.0f); s16 var_r26_2 = 0; - if (mProcVar3.field_0x300e == -1 || skip_edge) { - if (checkUnderMove0BckNoArcWolf(WANM_HOWL_END) || skip_edge) { - if (checkAnmEnd(frameCtrl_p) || skip_edge) { + if (mProcVar3.field_0x300e == -1 || isSkipEdge) { + if (checkUnderMove0BckNoArcWolf(WANM_HOWL_END) || isSkipEdge) { + if (checkAnmEnd(frameCtrl_p) || isSkipEdge) { if (mProcVar0.mHowlExitID >= 0) { dStage_changeScene(mProcVar0.mHowlExitID, 0.0f, 0, fopAcM_GetRoomNo(this), shape_angle.y, -1); @@ -4078,33 +4098,32 @@ int daAlink_c::procWolfHowlDemo() { if (actor_p != NULL) { fopAcM_OnStatus(actor_p, 0x800); - if (fopAcM_GetName(actor_p) == PROC_KAGO) { + s16 actorName = fopAcM_GetName(actor_p); + if (actorName == PROC_KAGO) { static_cast(actor_p)->setEvent(); - static_cast(actor_p)->setKagoPath( - mProcVar5.field_0x3012); - } else if (fopAcM_GetName(actor_p) == PROC_OBJ_SEKIZOA) { + static_cast(actor_p)->setKagoPath(mProcVar5.field_0x3012); + } else if (actorName == PROC_OBJ_SEKIZOA) { static_cast(actor_p)->setWolfHowling(); - } else if (fopAcM_GetName(actor_p) == PROC_E_PM) { + } else if (actorName == PROC_E_PM) { static_cast(actor_p)->AppearSet(); - } else if (fopAcM_GetName(actor_p) == PROC_HORSE) { - int ret = static_cast(actor_p)->callHorse(¤t.pos); - + } else if (actorName == PROC_HORSE) { + daHorse_c* horse = static_cast(actor_p); + int ret = horse->callHorse(¤t.pos); if (ret == 1 || ret == 2) { mDoAud_taktModeMuteOff(); return procCoHorseCallWaitInit(ret); } if (ret != 3) { - setWolfHowlNotHappen(skip_edge); + setWolfHowlNotHappen(isSkipEdge); return 1; } - } else if (fopAcM_GetName(actor_p) == PROC_NPC_TK) { + } else if (actorName == PROC_NPC_TK) { static_cast(actor_p)->setEventWolf(); - static_cast(actor_p)->setHawkPath( - mProcVar5.field_0x3012); + static_cast(actor_p)->setHawkPath(mProcVar5.field_0x3012); } } else if (mProcVar4.field_0x3010 == 0) { - setWolfHowlNotHappen(skip_edge); + setWolfHowlNotHappen(isSkipEdge); return 1; } @@ -4134,7 +4153,7 @@ int daAlink_c::procWolfHowlDemo() { setSingleAnimeWolfBase(WANM_HOWL_SUCCESS); mUnderFrameCtrl[0].setLoop(27); mUnderFrameCtrl[0].setAttribute(2); - setFaceBasicTexture(FTANM_UNK_A1); + setFaceBasicTexture(FTANM_WL_HOWLC); if (gwolf_p != NULL) { fopAcM_OnStatus(gwolf_p, 0x800); @@ -4164,8 +4183,8 @@ fopAc_ac_c* daAlink_c::checkWolfRopeHit(dCcD_GObjInf* i_collider, cXyz const* pa if (i_collider->ChkCoHit() && rope_p != NULL && fopAcM_GetName(rope_p) == PROC_Obj_Crope) { if (param_2) { - if (rope_p->getRopeStartPos()->abs2XZ(*param_1) > 10000.0f) { - if (rope_p->getRopeEndPos()->abs2XZ(*param_1) > 10000.0f) { + if (rope_p->getRopeStartPos()->abs2XZ(*param_1) > SQUARE(100.0f)) { + if (rope_p->getRopeEndPos()->abs2XZ(*param_1) > SQUARE(100.0f)) { return rope_p; } } @@ -4189,9 +4208,9 @@ fopAc_ac_c* daAlink_c::checkWolfRopeHit(dCcD_GObjInf* i_collider, cXyz const* pa } int daAlink_c::checkWolfRopeJumpHang() { - fopAc_ac_c* hit_actor = checkWolfRopeHit(&field_0x850[0], ¤t.pos, TRUE); + fopAc_ac_c* hit_actor = checkWolfRopeHit(&mTgCyls[0], ¤t.pos, TRUE); if (hit_actor == NULL) { - hit_actor = checkWolfRopeHit(&field_0xFB8, ¤t.pos, TRUE); + hit_actor = checkWolfRopeHit(&mAtSph, ¤t.pos, TRUE); } if (hit_actor != NULL) { @@ -4204,46 +4223,49 @@ int daAlink_c::checkWolfRopeJumpHang() { f32 daAlink_c::getWolfRopeMoveSpeed() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - f32 frame = frameCtrl->getFrame(); - if (frame >= 13.5f) { - frame -= 13.5f; + f32 frame; + if (frameCtrl->getFrame() >= 13.5f) { + frame = frameCtrl->getFrame() - 13.5f; + } else { + frame = frameCtrl->getFrame(); } return mpHIO->mWolf.mWlRope.m.mMovementRate * frameCtrl->getRate() * cM_fsin(0.23271057f * frame); } int daAlink_c::setWolfRopePosY() { - daObjCrope_c* temp_r3 = (daObjCrope_c*)field_0x280c.getActor(); - cXyz* temp_r28 = temp_r3->getRopeStartPos(); - cXyz* temp_r27 = temp_r3->getRopeEndPos(); - cXyz* temp_r26 = temp_r3->getRopeVec(); - f32 temp_f30 = temp_r3->getStartRate(¤t.pos); + daObjCrope_c* rope = (daObjCrope_c*)field_0x280c.getActor(); + cXyz* ropeStartPos = rope->getRopeStartPos(); + cXyz* ropeEndPos = rope->getRopeEndPos(); + cXyz* ropeVec = rope->getRopeVec(); + f32 ropeStartRate = rope->getStartRate(¤t.pos); f32 var_f31; if (mProcID == PROC_WOLF_ROPE_MOVE && - (((var_f31 = temp_r3->getStartRate(&mLeftHandPos)) < 0.0f || var_f31 > 1.0f) || - ((var_f31 = temp_r3->getStartRate(&mRightHandPos)) < 0.0f || var_f31 > 1.0f) || - ((var_f31 = temp_r3->getStartRate(&mLeftFootPos)) < 0.0f || var_f31 > 1.0f) || - ((var_f31 = temp_r3->getStartRate(&mRightFootPos)) < 0.0f || var_f31 > 1.0f))) + (((var_f31 = rope->getStartRate(&mLeftHandPos)) < 0.0f || var_f31 > 1.0f) || + ((var_f31 = rope->getStartRate(&mRightHandPos)) < 0.0f || var_f31 > 1.0f) || + ((var_f31 = rope->getStartRate(&mLeftFootPos)) < 0.0f || var_f31 > 1.0f) || + ((var_f31 = rope->getStartRate(&mRightFootPos)) < 0.0f || var_f31 > 1.0f))) { - if (temp_r28->abs2XZ(current.pos) > temp_r27->abs2XZ(current.pos)) { - current.pos.y = temp_r27->y; + int _; + if (ropeStartPos->abs2XZ(current.pos) > ropeEndPos->abs2XZ(current.pos)) { + current.pos.y = ropeEndPos->y; } else { - current.pos.y = temp_r28->y; + current.pos.y = ropeStartPos->y; } - temp_r3->onOutFlg(); + rope->onOutFlg(); return 1; } - if (temp_f30 < 0.0f) { - current.pos.y = temp_r28->y; - } else if (temp_f30 > 1.0f) { - current.pos.y = temp_r27->y; + if (ropeStartRate < 0.0f) { + current.pos.y = ropeStartPos->y; + } else if (ropeStartRate > 1.0f) { + current.pos.y = ropeEndPos->y; } else { - current.pos.y = ((temp_r28->y + (temp_f30 * temp_r26->y)) - 40.0f) - - (10.0f * cM_fsin(M_PI * temp_f30)); + current.pos.y = ((ropeStartPos->y + (ropeStartRate * ropeVec->y)) - 40.0f) - + (10.0f * cM_fsin(M_PI * ropeStartRate)); } return 0; @@ -4251,18 +4273,14 @@ int daAlink_c::setWolfRopePosY() { s16 daAlink_c::initWolfRopeShapeAngle() { fopAc_ac_c* actor = field_0x280c.getActor(); - int a = abs((s16)(actor->shape_angle.y - shape_angle.y)); - s16 angle; - if (a < 0x4000) { + if (abs((s16)(actor->shape_angle.y - shape_angle.y)) < 0x4000) { shape_angle.y = actor->shape_angle.y; - angle = actor->shape_angle.x; + return actor->shape_angle.x; } else { shape_angle.y = actor->shape_angle.y - -0x8000; - angle = -actor->shape_angle.x; + return -actor->shape_angle.x; } - - return angle; } void daAlink_c::wolfRopeSwingInc(f32 param_0) { @@ -4299,7 +4317,7 @@ void daAlink_c::setWolfRopeOffsetY(int param_0) { } int daAlink_c::getDirectionRopeMove() const { - s16 angle = field_0x2fe2 - shape_angle.y; + s16 angle = mMoveAngle - shape_angle.y; if (abs(angle) > 0x5000) { return DIR_BACKWARD; @@ -4348,47 +4366,47 @@ int daAlink_c::procWolfRopeMoveInit(int param_0, int param_1) { } int daAlink_c::procWolfRopeMove() { - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; - daObjCrope_c* temp_r29 = (daObjCrope_c*)field_0x280c.getActor(); + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + daObjCrope_c* rope = (daObjCrope_c*)field_0x280c.getActor(); int var_r27 = 0; f32 temp_f26 = getAnmSpeedStickRate(mpHIO->mWolf.mWlRope.m.mMovementMinAnmSpeed, mpHIO->mWolf.mWlRope.m.mMovementMaxAnmSpeed); f32 temp_f25 = -1.0f * getAnmSpeedStickRate(mpHIO->mWolf.mWlRope.m.mMovementMinAnmSpeed, mpHIO->mWolf.mWlRope.m.mBackMovementMaxAnmSpeed); - if (temp_r28->getRate() > 0.0f) { - temp_r28->setRate(temp_f26); - } else if (temp_r28->getRate() < 0.0f) { - temp_r28->setRate(temp_f25); + if (framectrl->getRate() > 0.0f) { + framectrl->setRate(temp_f26); + } else if (framectrl->getRate() < 0.0f) { + framectrl->setRate(temp_f25); } else { var_r27 = 1; } - cXyz* sp10 = temp_r29->getRopeStartPos(); - cXyz* spC = temp_r29->getRopeEndPos(); - cXyz* sp8 = temp_r29->getRopeVec(); - f32 temp_f31 = temp_r29->getStartRate(¤t.pos); + cXyz* ropeStartPos = rope->getRopeStartPos(); + cXyz* ropeEndPos = rope->getRopeEndPos(); + cXyz* ropeVec = rope->getRopeVec(); + f32 ropeStartRate = rope->getStartRate(¤t.pos); if (setTalkStatus()) { if (orderTalk(1)) { return 1; } } else if (mTargetedActor != NULL) { - setDoStatus(0x8B); + setDoStatus(BUTTON_STATUS_UNK_139); if (doTrigger()) { return procWolfJumpAttackInit(1); } } - int temp_r26 = getDirectionRopeMove(); - f32 temp_f29 = sp10->absXZ(current.pos); - f32 temp_f28 = spC->absXZ(current.pos); + int ropeMoveDirection = getDirectionRopeMove(); + f32 rope_start_distXZ = ropeStartPos->absXZ(current.pos); + f32 rope_end_distXZ = ropeEndPos->absXZ(current.pos); - if (temp_f31 > 0.0f && temp_f31 < 1.0f && temp_f29 > 100.0f && temp_f28 > 100.0f) { - if (field_0x814.GetCCMoveP()->abs2XZ() > 100.0f) { - field_0x814.ClrCcMove(); + if (ropeStartRate > 0.0f && ropeStartRate < 1.0f && rope_start_distXZ > 100.0f && rope_end_distXZ > 100.0f) { + if (mCcStts.GetCCMoveP()->abs2XZ() > SQUARE(10.0f)) { + mCcStts.ClrCcMove(); - if (field_0x814.GetCCMoveP()->atan2sX_Z() - shape_angle.y > 0) { + if (mCcStts.GetCCMoveP()->atan2sX_Z() - shape_angle.y > 0) { return procWolfRopeHangInit(2); } return procWolfRopeHangInit(3); @@ -4401,18 +4419,18 @@ int daAlink_c::procWolfRopeMove() { return procWolfRopeHangInit(3); } - if (field_0x33ac > 0.5f) { - if (temp_r26 == 2) { + if (mMoveValue > 0.5f) { + if (ropeMoveDirection == DIR_LEFT) { return procWolfRopeStaggerInit(2); - } else if (temp_r26 == 3) { + } else if (ropeMoveDirection == DIR_RIGHT) { return procWolfRopeStaggerInit(3); } } } - field_0x814.ClrCcMove(); + mCcStts.ClrCcMove(); - if (temp_f31 > 0.0f && temp_f31 < 1.0f && temp_f29 > 85.0f && temp_f28 > 85.0f) { + if (ropeStartRate > 0.0f && ropeStartRate < 1.0f && rope_start_distXZ > 85.0f && rope_end_distXZ > 85.0f) { if (!checkInputOnR() && var_r27 != 0 && checkServiceWaitMode()) { if (field_0x30ca != 0) { field_0x30ca--; @@ -4426,18 +4444,20 @@ int daAlink_c::procWolfRopeMove() { initServiceWaitTime(); } - if (var_r27 == 1 || temp_r28->checkPass(0.0f) || temp_r28->checkPass(15.0f)) { - if (checkInputOnR() && temp_r26 != 3 && temp_r26 != 2) { - if (var_r27 != 0 && field_0x33ac > 0.5f && cLib_distanceAngleS(field_0x2fe2, shape_angle.y) > 0x7000 && ((shape_angle.y == temp_r29->shape_angle.y && temp_f29 > 70.0f) || (shape_angle.y != temp_r29->shape_angle.y && temp_f28 > 70.0f))) { + if (var_r27 == 1 || framectrl->checkPass(0.0f) || framectrl->checkPass(15.0f)) { + if (checkInputOnR() && ropeMoveDirection != DIR_RIGHT && ropeMoveDirection != DIR_LEFT) { + if (var_r27 != 0 && mMoveValue > 0.5f && cLib_distanceAngleS(mMoveAngle, shape_angle.y) > 0x7000 && + ((shape_angle.y == rope->shape_angle.y && rope_start_distXZ > 70.0f) || (shape_angle.y != rope->shape_angle.y && rope_end_distXZ > 70.0f))) + { return procWolfRopeTurnInit(); } - if (temp_r26 != 1) { - temp_r28->setRate(temp_f26); - temp_r28->setLoop(0); + if (ropeMoveDirection != DIR_BACKWARD) { + framectrl->setRate(temp_f26); + framectrl->setLoop(0); } else { - temp_r28->setRate(temp_f25); - temp_r28->setLoop(temp_r28->getEnd()); + framectrl->setRate(temp_f25); + framectrl->setLoop(framectrl->getEnd()); } initBasAnime(); @@ -4472,8 +4492,8 @@ int daAlink_c::procWolfRopeMove() { } f32 var_f24 = 45.0f; - if ((temp_f31 < 0.0f && temp_f29 > var_f24) || (temp_f31 > 1.0f && temp_f28 > var_f24)) { - temp_r29->offRide(); + if ((ropeStartRate < 0.0f && rope_start_distXZ > var_f24) || (ropeStartRate > 1.0f && rope_end_distXZ > var_f24)) { + rope->offRide(); f32 var_f27; if (current.angle.y != shape_angle.y) { @@ -4490,21 +4510,21 @@ int daAlink_c::procWolfRopeMove() { setWolfRopeOffsetY(setWolfRopePosY()); - f32 temp_f30 = temp_r28->getFrame(); - if (temp_f30 < 1.0f || (temp_f30 > 12.5f && temp_f30 < 14.5f) || temp_f30 > (temp_r28->getEnd() - 1.0f)) { + f32 temp_f30 = framectrl->getFrame(); + if (temp_f30 < 1.0f || (temp_f30 > 12.5f && temp_f30 < 14.5f) || temp_f30 > (framectrl->getEnd() - 1.0f)) { if (mLeftHandPos.abs2XZ(current.pos) > mRightHandPos.abs2XZ(current.pos)) { - temp_r29->setFrontJoint(0x13); - temp_r29->setBackJoint(0x1F); + rope->setFrontJoint(19); + rope->setBackJoint(31); } else { - temp_r29->setFrontJoint(0x18); - temp_r29->setBackJoint(0x24); + rope->setFrontJoint(24); + rope->setBackJoint(36); } } else if (temp_f30 < 13.5f) { - temp_r29->setFrontJoint(0x13); - temp_r29->setBackJoint(0x24); + rope->setFrontJoint(19); + rope->setBackJoint(36); } else { - temp_r29->setFrontJoint(0x18); - temp_r29->setBackJoint(0x1F); + rope->setFrontJoint(24); + rope->setBackJoint(31); } return 1; @@ -4565,14 +4585,14 @@ int daAlink_c::procWolfRopeHangInit(int param_0) { } int daAlink_c::procWolfRopeHang() { - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; - daObjCrope_c* temp_r3 = (daObjCrope_c*)field_0x280c.getActor(); + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + daObjCrope_c* rope = (daObjCrope_c*)field_0x280c.getActor(); - if (temp_r3 == NULL) { + if (rope == NULL) { return checkNextActionWolf(0); } - if (checkAnmEnd(temp_r28)) { + if (checkAnmEnd(framectrl)) { if (mProcVar3.field_0x300e != 0) { field_0x2060->getOldFrameTransInfo(0)->mTranslate.z -= 15.0f; @@ -4591,22 +4611,22 @@ int daAlink_c::procWolfRopeHang() { mProcVar3.field_0x300e = 1; - daAlink_WANM var_r27; + daAlink_WANM anm; if (field_0x3198 == 2) { - var_r27 = WANM_ROPE_CLIMB_LEFT; + anm = WANM_ROPE_CLIMB_LEFT; } else { - var_r27 = WANM_ROPE_CLIMB_RIGHT; + anm = WANM_ROPE_CLIMB_RIGHT; } - setSingleAnimeWolfBaseSpeed(var_r27, mpHIO->mWolf.mWlRope.m.mTwistClimbAnmSpeed, mpHIO->mWolf.mWlRope.m.mTwistClimbInterpolation); + setSingleAnimeWolfBaseSpeed(anm, mpHIO->mWolf.mWlRope.m.mTwistClimbAnmSpeed, mpHIO->mWolf.mWlRope.m.mTwistClimbInterpolation); } - f32 temp_f31 = temp_r28->getFrame(); + f32 temp_f31 = framectrl->getFrame(); if (mProcVar3.field_0x300e == 0 || temp_f31 < 22.0f) { - setDoStatus(0x33); + setDoStatus(BUTTON_STATUS_DROP_DOWN); if (doTrigger()) { - temp_r3->setCoCancelTimer(); + rope->setCoCancelTimer(); current.pos.x -= 80.0f * cM_ssin(shape_angle.y); current.pos.z -= 80.0f * cM_scos(shape_angle.y); @@ -4618,46 +4638,46 @@ int daAlink_c::procWolfRopeHang() { if (mProcVar3.field_0x300e != 0) { if (field_0x3198 == 2) { - if (temp_r28->checkPass(22.0f)) { + if (framectrl->checkPass(22.0f)) { wolfRopeSwingInc(15.0f); mProcVar0.field_0x3008 = 0; } if (temp_f31 < 1.0f) { - temp_r3->setFrontJoint(0x13); - temp_r3->setBackJoint(0x17); + rope->setFrontJoint(19); + rope->setBackJoint(23); } else if (temp_f31 < 5.0f) { - temp_r3->setFrontJoint(-1); + rope->setFrontJoint(-1); } else if (temp_f31 < 22.0f) { - temp_r3->setFrontJoint(0x12); + rope->setFrontJoint(18); } else if (temp_f31 < 41.0f) { - temp_r3->setBackJoint(0x24); + rope->setBackJoint(36); } else { - temp_r3->setFrontJoint(0x13); - temp_r3->setBackJoint(0x1F); + rope->setFrontJoint(19); + rope->setBackJoint(31); if (checkWolfGrabAnime()) { field_0x30a0 = -0x1800; } } } else { - if (temp_r28->checkPass(27.0f)) { + if (framectrl->checkPass(27.0f)) { wolfRopeSwingInc(15.0f); mProcVar0.field_0x3008 = 0; } if (temp_f31 < 1.0f) { - temp_r3->setFrontJoint(0x13); - temp_r3->setBackJoint(0x17); + rope->setFrontJoint(19); + rope->setBackJoint(23); } else if (temp_f31 < 12.0f) { - temp_r3->setFrontJoint(-1); + rope->setFrontJoint(-1); } else if (temp_f31 < 27.0f) { - temp_r3->setFrontJoint(0x12); + rope->setFrontJoint(18); } else if (temp_f31 < 46.0f) { - temp_r3->setFrontJoint(0x1F); + rope->setFrontJoint(31); } else { - temp_r3->setBackJoint(0x18); - temp_r3->setFrontJoint(0x24); + rope->setBackJoint(24); + rope->setFrontJoint(36); if (checkWolfGrabAnime()) { field_0x30a0 = -0x1800; @@ -4665,16 +4685,16 @@ int daAlink_c::procWolfRopeHang() { } } } else { - if (temp_r28->checkPass(4.0f)) { + if (framectrl->checkPass(4.0f)) { dComIfGp_getVibration().StartShock(2, 0xF, cXyz(0.0f, 1.0f, 0.0f)); } if (temp_f31 < 7.0f) { - temp_r3->rideKeep(); + rope->rideKeep(); } else if (temp_f31 < 9.0f) { - temp_r3->setFrontJoint(0x13); + rope->setFrontJoint(19); } else { - temp_r3->setBackJoint(0x17); + rope->setBackJoint(23); } } @@ -4702,42 +4722,43 @@ int daAlink_c::procWolfRopeTurnInit() { } int daAlink_c::procWolfRopeTurn() { - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; - daObjCrope_c* temp_r29 = (daObjCrope_c*)field_0x280c.getActor(); + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + daObjCrope_c* rope = (daObjCrope_c*)field_0x280c.getActor(); field_0x2f99 = 4; - f32 temp_f30 = field_0x347c * temp_r28->getFrame(); + f32 temp_f30 = field_0x347c * framectrl->getFrame(); field_0x3588.x = l_wolfBaseAnime.x - (temp_f30 * (l_wolfBaseAnime.x + l_wolfRopeBaseAnime.x)); field_0x3588.z = l_wolfBaseAnime.z - (temp_f30 * (l_wolfBaseAnime.z + l_wolfRopeBaseAnime.z)); setWolfRopePosY(); - if (checkAnmEnd(temp_r28)) { + if (checkAnmEnd(framectrl)) { return procWolfRopeMoveInit(0, 0); } - f32 temp_f31 = temp_r28->getFrame(); - if (temp_r28->checkPass(9.0f)) { + f32 anm_frame = framectrl->getFrame(); + if (framectrl->checkPass(9.0f)) { wolfRopeSwingInc(30.0f); mProcVar0.field_0x3008 = 0; dComIfGp_getVibration().StartShock(1, 0xF, cXyz(0.0f, 1.0f, 0.0f)); - } else if (temp_r28->checkPass(13.0f)) { + } else if (framectrl->checkPass(13.0f)) { wolfRopeSwingInc(10.0f); mProcVar0.field_0x3008 = 0; } - if (!(temp_f31 < 7.0f)) { - if (temp_f31 < 9.0f) { + if (!(anm_frame < 7.0f)) { + int _; + if (anm_frame < 9.0f) { mProcVar2.field_0x300c = mProcVar3.field_0x300e; - temp_r29->setFrontJoint(0x13); - } else if (temp_f31 < 11.0f) { - temp_r29->setFrontJoint(0x18); - } else if (temp_f31 < 13.0f) { - temp_r29->setFrontJoint(0x18); - temp_r29->setBackJoint(0x1F); + rope->setFrontJoint(19); + } else if (anm_frame < 11.0f) { + rope->setFrontJoint(24); + } else if (anm_frame < 13.0f) { + rope->setFrontJoint(24); + rope->setBackJoint(31); } else { - temp_r29->setFrontJoint(0x13); - temp_r29->setBackJoint(0x1F); + rope->setFrontJoint(19); + rope->setBackJoint(31); } } @@ -4775,29 +4796,29 @@ int daAlink_c::procWolfRopeStaggerInit(int param_0) { } int daAlink_c::procWolfRopeStagger() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; - daObjCrope_c* temp_r3 = (daObjCrope_c*)field_0x280c.getActor(); + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + daObjCrope_c* rope = (daObjCrope_c*)field_0x280c.getActor(); - f32 temp_f31, temp_f30, temp_f29; - temp_f30 = temp_r3->getRopeStartPos()->absXZ(current.pos); - temp_f29 = temp_r3->getRopeEndPos()->absXZ(current.pos); - temp_f31 = temp_r3->getStartRate(¤t.pos); + f32 ropeStartRate, ropeStartDistXZ, ropeEndDistXZ; + ropeStartDistXZ = rope->getRopeStartPos()->absXZ(current.pos); + ropeEndDistXZ = rope->getRopeEndPos()->absXZ(current.pos); + ropeStartRate = rope->getStartRate(¤t.pos); - if (field_0x814.GetCCMoveP()->abs2XZ() > 100.0f) { - field_0x814.ClrCcMove(); + if (mCcStts.GetCCMoveP()->abs2XZ() > 100.0f) { + mCcStts.ClrCcMove(); - if ((field_0x814.GetCCMoveP()->atan2sX_Z() - shape_angle.y) > 0) { + if ((mCcStts.GetCCMoveP()->atan2sX_Z() - shape_angle.y) > 0) { return procWolfRopeHangInit(2); } else { return procWolfRopeHangInit(3); } } - if (!(temp_f31 > 0.0f) || !(temp_f31 < 1.0f) || !(temp_f30 > 85.0f) || !(temp_f29 > 85.0f)) { + if (!(ropeStartRate > 0.0f) || !(ropeStartRate < 1.0f) || !(ropeStartDistXZ > 85.0f) || !(ropeEndDistXZ > 85.0f)) { return procWolfRopeMoveInit(0, 0); } - if (checkAnmEnd(temp_r29)) { + if (checkAnmEnd(framectrl)) { if (mProcVar3.field_0x300e != 0) { return procWolfRopeMoveInit(0, 0); } else { @@ -4805,10 +4826,10 @@ int daAlink_c::procWolfRopeStagger() { } } - field_0x814.ClrCcMove(); + mCcStts.ClrCcMove(); - int temp_r26 = getDirectionRopeMove(); - if ((mProcVar3.field_0x300e != 0 && checkInputOnR()) || (mProcVar3.field_0x300e == 0 && (!checkInputOnR() || temp_r26 == 0 || temp_r26 == 1))) { + int direction = getDirectionRopeMove(); + if ((mProcVar3.field_0x300e != 0 && checkInputOnR()) || (mProcVar3.field_0x300e == 0 && (!checkInputOnR() || direction == DIR_FORWARD || direction == DIR_BACKWARD))) { return procWolfRopeMoveInit(0, 0); } @@ -4817,38 +4838,38 @@ int daAlink_c::procWolfRopeStagger() { return 1; } - if (temp_r29->checkPass(30.0f) || temp_r29->checkPass(61.0f) || temp_r29->checkPass(86.0f)) { + if (framectrl->checkPass(30.0f) || framectrl->checkPass(61.0f) || framectrl->checkPass(86.0f)) { wolfRopeSwingInc(10.0f); - } else if (temp_r29->checkPass(65.0f)) { + } else if (framectrl->checkPass(65.0f)) { voiceStart(Z2SE_WL_V_FOOTMISS); } } else { - if (temp_r29->checkPass(16.0f) || temp_r29->checkPass(33.0f) || temp_r29->checkPass(50.0f) || temp_r29->checkPass(71.0f)) { + if (framectrl->checkPass(16.0f) || framectrl->checkPass(33.0f) || framectrl->checkPass(50.0f) || framectrl->checkPass(71.0f)) { wolfRopeSwingInc(10.0f); - } else if (temp_r29->checkPass(60.0f)) { + } else if (framectrl->checkPass(60.0f)) { voiceStart(Z2SE_WL_V_BREATH_JUMP); } field_0x2f99 = 4; - daObjCrope_c* temp_r28 = (daObjCrope_c*)field_0x280c.getActor(); + daObjCrope_c* rope = (daObjCrope_c*)field_0x280c.getActor(); - if (temp_r29->getFrame() > 46.0f) { + if (framectrl->getFrame() > 46.0f) { mNormalSpeed = 0.0f; } else { - mNormalSpeed = (7.0f + (2.0f * (2 - ((int)temp_r29->getFrame() / 15)))) * fabsf(cM_fsin((M_PI * temp_r29->getFrame()) / 15.0f)); + mNormalSpeed = (7.0f + (2.0f * (2 - ((int)framectrl->getFrame() / 15)))) * fabsf(cM_fsin((M_PI * framectrl->getFrame()) / 15.0f)); } - if ((temp_r29->getFrame() >= 5.0f && temp_r29->getFrame() < 19.0f) || (temp_r29->getFrame() >= 39.0f && temp_r29->getFrame() < 51.0f)) { - temp_r28->setBackJoint(0x24); + if ((framectrl->getFrame() >= 5.0f && framectrl->getFrame() < 19.0f) || (framectrl->getFrame() >= 39.0f && framectrl->getFrame() < 51.0f)) { + rope->setBackJoint(36); } else { - temp_r28->setBackJoint(0x1F); + rope->setBackJoint(31); } - if ((temp_r29->getFrame() >= 13.0f && temp_r29->getFrame() < 30.0f) || (temp_r29->getFrame() >= 48.0f && temp_r29->getFrame() < 63.0f)) { - temp_r28->setFrontJoint(0x18); + if ((framectrl->getFrame() >= 13.0f && framectrl->getFrame() < 30.0f) || (framectrl->getFrame() >= 48.0f && framectrl->getFrame() < 63.0f)) { + rope->setFrontJoint(24); } else { - temp_r28->setFrontJoint(0x13); + rope->setFrontJoint(19); } } @@ -4857,6 +4878,8 @@ int daAlink_c::procWolfRopeStagger() { } int daAlink_c::procWolfRopeSubjectivityInit() { + fopAc_ac_c* rope = field_0x280c.getActor(); + commonProcInit(PROC_WOLF_ROPE_SUBJECTIVITY); if (!checkUnderMove0BckNoArcWolf(WANM_ROPE_WALK)) { @@ -4868,9 +4891,8 @@ int daAlink_c::procWolfRopeSubjectivityInit() { setSpecialGravity(0.0f, maxFallSpeed, 0); - f32 tmp_0 = 0.0f; - speed.y = tmp_0; - mNormalSpeed = tmp_0; + speed.y = 0.0f; + mNormalSpeed = 0.0f; setWolfRopeOffsetY(setWolfRopePosY()); @@ -4883,35 +4905,35 @@ int daAlink_c::procWolfRopeSubjectivityInit() { } int daAlink_c::procWolfRopeSubjectivity() { - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; - daObjCrope_c* temp_r3 = (daObjCrope_c*)field_0x280c.getActor(); + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; + daObjCrope_c* rope = (daObjCrope_c*)field_0x280c.getActor(); - cXyz* temp_r26 = temp_r3->getRopeStartPos(); - cXyz* temp_r25 = temp_r3->getRopeEndPos(); - cXyz* r23 = temp_r3->getRopeVec(); + cXyz* ropeStartPos = rope->getRopeStartPos(); + cXyz* ropeEndPos = rope->getRopeEndPos(); + cXyz* ropeVec = rope->getRopeVec(); - f32 temp_f31 = temp_r3->getStartRate(¤t.pos); - f32 temp_f30 = temp_r26->absXZ(current.pos); - f32 temp_f29 = temp_r25->absXZ(current.pos); + f32 ropeStartRate = rope->getStartRate(¤t.pos); + f32 ropeStartDistXZ = ropeStartPos->absXZ(current.pos); + f32 ropeEndDistXZ = ropeEndPos->absXZ(current.pos); onResetFlg0(RFLG0_UNK_4000000); - if (temp_f31 > 0.0f && temp_f31 < 1.0f && temp_f30 > 100.0f && temp_f29 > 100.0f && field_0x814.GetCCMoveP()->abs2XZ() > 100.0f) { - field_0x814.ClrCcMove(); + if (ropeStartRate > 0.0f && ropeStartRate < 1.0f && ropeStartDistXZ > 100.0f && ropeEndDistXZ > 100.0f && mCcStts.GetCCMoveP()->abs2XZ() > SQUARE(10.0f)) { + mCcStts.ClrCcMove(); - if ((field_0x814.GetCCMoveP()->atan2sX_Z() - shape_angle.y) > 0) { + if ((mCcStts.GetCCMoveP()->atan2sX_Z() - shape_angle.y) > 0) { return procWolfRopeHangInit(2); } else { return procWolfRopeHangInit(3); } } - field_0x814.ClrCcMove(); + mCcStts.ClrCcMove(); setWolfRopeOffsetY(setWolfRopePosY()); - if (checkSubjectEnd(1)) { + if (checkSubjectEnd(TRUE)) { int var_r27; - if (temp_r28->getFrame() >= 12.5f && temp_r28->getFrame() <= 14.5f) { + if (framectrl->getFrame() >= 12.5f && framectrl->getFrame() <= 14.5f) { var_r27 = 1; } else { var_r27 = 0; @@ -4954,8 +4976,7 @@ const cXyz* daAlink_c::checkMidnaLockJumpPoint() const { return NULL; } - daPy_py_c* player_p = daPy_getLinkPlayerActorClass(); - fopAc_ac_c* partner_p = fopAcM_getTalkEventPartner(player_p); + fopAc_ac_c* partner_p = fopAcM_getTalkEventPartner(daPy_getLinkPlayerActorClass()); fopAc_ac_c* wljump_p = NULL; if (checkWolfTagLockJumpReady()) { @@ -4977,30 +4998,31 @@ const cXyz* daAlink_c::checkMidnaLockJumpPoint() const { return NULL; } -int daAlink_c::procWolfTagJumpInit(fopAc_ac_c* param_0) { +int daAlink_c::procWolfTagJumpInit(fopAc_ac_c* i_tag) { commonProcInit(PROC_WOLF_TAG_JUMP); field_0x3480 = mpHIO->mWolf.mWlPoint.m.mTagJumpSpeed; field_0x3198 = 0; - if (param_0 == NULL) { + if (i_tag == NULL) { field_0x37c8.set(current.pos.x + (300.0f * cM_ssin(shape_angle.y)), current.pos.y + 200.0f, current.pos.z + (300.0f * cM_scos(shape_angle.y))); field_0x3480 = 30.0f; field_0x280c.clearData(); mProcVar1.field_0x300a = 0; field_0x3198 = 1; } else { - field_0x37c8 = *((daTagWljump_c*)param_0)->getLockPos(); + daTagWljump_c* tag = (daTagWljump_c*)i_tag; + field_0x37c8 = *tag->getLockPos(); cXyz sp14 = field_0x37c8 - current.pos; - f32 temp_f31 = ((daTagWljump_c*)param_0)->getLandArea() / sp14.absXZ(); + f32 temp_f31 = tag->getLandArea() / sp14.absXZ(); field_0x37c8.x -= sp14.x * temp_f31; field_0x37c8.z -= sp14.z * temp_f31; - field_0x280c.setData(param_0); - ((daTagWljump_c*)param_0)->onNextCheckFlg(); - mProcVar1.field_0x300a = ((daTagWljump_c*)param_0)->getNotSlideFlg(); + field_0x280c.setData(i_tag); + tag->onNextCheckFlg(); + mProcVar1.field_0x300a = tag->getNotSlideFlg(); } setSingleAnimeWolf(WANM_JUMP_ATTACK_START, mpHIO->mWolf.mWlAutoJump.m.mWeakJumpAnmSpeed, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mStartFrame, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mEndFrame, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mInterpolation); @@ -5043,21 +5065,21 @@ int daAlink_c::procWolfTagJumpInit(fopAc_ac_c* param_0) { } int daAlink_c::procWolfTagJump() { - daTagWljump_c* temp_r29 = (daTagWljump_c*)field_0x280c.getActor(); - daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; + daTagWljump_c* tag = (daTagWljump_c*)field_0x280c.getActor(); + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; mProcVar0.field_0x3008--; if (mProcVar0.field_0x3008 < 0) { - if (temp_r29 == NULL || temp_r29->getLockPos() == NULL || mProcVar0.field_0x3008 < -mpHIO->mWolf.mWlPoint.m.mLockJumpStopTime) { + if (tag == NULL || tag->getLockPos() == NULL || mProcVar0.field_0x3008 < -mpHIO->mWolf.mWlPoint.m.mLockJumpStopTime) { procWolfWaitInit(); } else { if (field_0x3198 == 0) { - onResetFlg0(RFLG0_UNK_20000); + onResetFlg0(RFLG0_WOLF_TAG_LOCK_JUMP_READY); } - field_0x3738 = *temp_r29->getLockPos(); - setDoStatus(0x93); + field_0x3738 = *tag->getLockPos(); + setDoStatus(BUTTON_STATUS_UNK_147); cLib_addCalcAngleS(&shape_angle.y, cLib_targetAngleY(¤t.pos, &field_0x3738), 2, 0x2000, 0x800); current.angle.y = shape_angle.y; @@ -5066,9 +5088,9 @@ int daAlink_c::procWolfTagJump() { mProcVar5.field_0x3012 = 1; } - if (mProcVar5.field_0x3012 && (checkModeFlg(0x100) || checkAnmEnd(temp_r28) || temp_r28->getFrame() > mpHIO->mWolf.mWlPoint.m.mLandingAnm.mCancelFrame)) { - procWolfTagJumpInit(temp_r29); - } else if (checkAnmEnd(temp_r28)) { + if (mProcVar5.field_0x3012 && (checkModeFlg(0x100) || checkAnmEnd(framectrl) || framectrl->getFrame() > mpHIO->mWolf.mWlPoint.m.mLandingAnm.mCancelFrame)) { + procWolfTagJumpInit(tag); + } else if (checkAnmEnd(framectrl)) { onModeFlg(0x100); setSingleAnimeWolfBaseSpeed(WANM_WAIT_B, mpHIO->mWolf.mWlPoint.m.mIdleAnmSpeed, mpHIO->mWolf.mWlPoint.m.mIdleInterpolation); } @@ -5086,7 +5108,7 @@ int daAlink_c::procWolfTagJump() { mProcVar2.field_0x300c = cM_atan2s(-speed.y, mNormalSpeed) >> 1; - if (checkUnderMove0BckNoArcWolf(WANM_JUMP_ATTACK_START) && checkAnmEnd(temp_r28)) { + if (checkUnderMove0BckNoArcWolf(WANM_JUMP_ATTACK_START) && checkAnmEnd(framectrl)) { field_0x2f99 = 0xC; setSingleAnimeWolfBaseSpeed(WANM_JUMP_ATTACK, 0.0f, mpHIO->mWolf.mWlAutoJump.m.mClimbAnm.mInterpolation); } @@ -5098,10 +5120,10 @@ int daAlink_c::procWolfTagJump() { current.pos = field_0x37c8; } - if (temp_r29 != NULL) { - if (temp_r29->getLockPos() != NULL) { - onResetFlg0(RFLG0_UNK_20000); - field_0x3738 = *temp_r29->getLockPos(); + if (tag != NULL) { + if (tag->getLockPos() != NULL) { + onResetFlg0(RFLG0_WOLF_TAG_LOCK_JUMP_READY); + field_0x3738 = *tag->getLockPos(); if (mProcVar1.field_0x300a != 0) { field_0x2f99 = 0x50; @@ -5115,7 +5137,7 @@ int daAlink_c::procWolfTagJump() { setFootEffectProcType(4); dComIfGp_getVibration().StartShock(2, 0xF, cXyz(0.0f, 1.0f, 0.0f)); } else { - procWolfTagJumpLandInit(temp_r29); + procWolfTagJumpLandInit(tag); } } else { procWolfTagJumpLandInit(NULL); @@ -5135,7 +5157,7 @@ int daAlink_c::procWolfTagJump() { return 1; } -int daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* param_0) { +int daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* i_tag) { commonProcInit(PROC_WOLF_TAG_JUMP_LAND); setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &mpHIO->mWolf.mWlPoint.m.mTagLandingAnm); @@ -5148,8 +5170,8 @@ int daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* param_0) { speed.y = 0.0f; field_0x3588 = l_wolfBaseAnime; - if (param_0 != NULL) { - field_0x280c.setData(param_0); + if (i_tag != NULL) { + field_0x280c.setData(i_tag); } field_0x2f9d = 0x78; @@ -5165,11 +5187,11 @@ int daAlink_c::procWolfTagJumpLand() { daTagWljump_c* wljump_p = (daTagWljump_c*)field_0x280c.getActor(); if (wljump_p != NULL && wljump_p->getLockPos() != NULL) { - onResetFlg0(RFLG0_UNK_20000); + onResetFlg0(RFLG0_WOLF_TAG_LOCK_JUMP_READY); field_0x3738 = *wljump_p->getLockPos(); if (frameCtrl_p->getFrame() > mpHIO->mWolf.mWlPoint.m.mTagLandingAnm.mCancelFrame) { - setDoStatus(0x93); + setDoStatus(BUTTON_STATUS_UNK_147); if (doTrigger()) { return procWolfTagJumpInit(field_0x280c.getActor()); @@ -5202,7 +5224,7 @@ static fopAc_ac_c* daAlink_searchGiant(fopAc_ac_c* i_actor, void* i_data) { cXyz* gnd_chk_pos = static_cast(i_data); if (fopAcM_GetName(i_actor) == PROC_OBJ_SEKIZOA && - i_actor->current.pos.abs2(*gnd_chk_pos) < 40000.0f) + i_actor->current.pos.abs2(*gnd_chk_pos) < SQUARE(200.0f)) { return i_actor; } @@ -5211,6 +5233,8 @@ static fopAc_ac_c* daAlink_searchGiant(fopAc_ac_c* i_actor, void* i_data) { } static void* daAlink_searchGiantTalk(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_OBJ_SEKIZOA && static_cast(i_actor)->getType() == 0) { @@ -5232,25 +5256,24 @@ int daAlink_c::procWolfGiantPuzzleInit() { mProcVar2.mPuzzleAimAngle = shape_angle.y; field_0x3478 = 0.0f; field_0x347c = mpHIO->mWolf.mWlMoveNoP.m.mDeceleration; - field_0x594 = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; offWolfEyeUp(); return 1; } int daAlink_c::procWolfGiantPuzzle() { - if (mSpecialMode == 0) { + if (mMode == 0) { return checkNextActionWolf(0); } if (!checkNoResetFlg0(FLG0_UNK_4000) && mProcVar2.field_0x300c == shape_angle.y && - mSpecialMode != 0x28 && checkZeroSpeedF()) + mMode != 0x28 && checkZeroSpeedF()) { - setDoStatusEmphasys(0x1C); + setDoStatusEmphasys(BUTTON_STATUS_SPEAK); if (doTrigger()) { - fopAc_ac_c* giant_p = - (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchGiantTalk, NULL); + fopAc_ac_c* giant_p = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchGiantTalk, NULL); if (giant_p != NULL) { fopAcM_orderTalkEvent(this, giant_p, 0, 0); } @@ -5266,7 +5289,7 @@ int daAlink_c::procWolfGiantPuzzle() { fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchGiant, &gnd_chk_pos) == NULL) { field_0x347c = mpHIO->mWolf.mWlMoveNoP.m.mAcceleration; - field_0x3478 = field_0x594; + field_0x3478 = mMaxSpeed; } } else if (direction == DIR_LEFT) { mProcVar2.mPuzzleAimAngle += 0x4000; @@ -5318,7 +5341,7 @@ int daAlink_c::changeWolfHangEndProc() { if (current.pos.y < (field_0x33d8 + var_f1) - 1.0f) { return procWolfLandInit(); } else { - setDoStatus(0x33); + setDoStatus(BUTTON_STATUS_DROP_DOWN); if (doTrigger()) { current.pos.x -= cM_ssin(shape_angle.y) * 50.0f; @@ -5341,9 +5364,8 @@ int daAlink_c::procWolfHangReadyInit() { field_0x3198 = field_0x2f91; mProcVar2.field_0x300c = field_0x306e + 0x8000; - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; + mNormalSpeed = 0.0f; + speed.y = 0.0f; return 1; } @@ -5354,7 +5376,7 @@ int daAlink_c::procWolfHangReady() { cLib_addCalcAngleS(&shape_angle.y, mProcVar2.field_0x300c, 2, 0x1000, 0x400); current.angle.y = shape_angle.y; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { shape_angle.y = mProcVar2.field_0x300c; current.angle.y = shape_angle.y; @@ -5399,7 +5421,7 @@ int daAlink_c::procWolfHangWallCatchInit(int param_0) { shape_angle.y = field_0x306e + 0x8000; } else { sp18 = current.pos; - var_r29 = field_0x3174; + var_r29 = mGroundCode; } if (checkModeFlg(0x40000)) { @@ -5455,7 +5477,7 @@ int daAlink_c::procWolfHangWallCatch() { if (checkAnmEnd(frameCtrl_p)) { if (mProcVar3.field_0x300e == 0) { - if (field_0x3174 == 6) { + if (mGroundCode == 6) { if (mProcVar4.field_0x3010 == 0) { setSingleAnimeWolf(WANM_HANG, mpHIO->mWolf.mWlWallHang.m.mFallGrabAnm.mSpeed, 35.0f, mpHIO->mWolf.mWlWallHang.m.mFallGrabAnm.mEndFrame, @@ -5487,14 +5509,14 @@ int daAlink_c::procWolfHangWallCatch() { return 1; } -int daAlink_c::procWolfHangFallStartInit(cM3dGPla* param_0) { +int daAlink_c::procWolfHangFallStartInit(cM3dGPla* i_tripla) { if (mProcID == PROC_WOLF_HANG_WALL_CATCH || checkNoResetFlg1(FLG1_UNK_20)) { return 0; } - s16 var_r30 = param_0->mNormal.atan2sX_Z(); - current.pos.x -= param_0->mNormal.x * 1.5f; - current.pos.z -= param_0->mNormal.z * 1.5f; + s16 var_r30 = i_tripla->mNormal.atan2sX_Z(); + current.pos.x -= i_tripla->mNormal.x * 1.5f; + current.pos.z -= i_tripla->mNormal.z * 1.5f; checkHangStartSideWall(var_r30); @@ -5568,14 +5590,14 @@ int daAlink_c::procWolfHangFallStart() { } void daAlink_c::setWolfHeadDamage() { - setUpperAnimeParam(0x2A7, UPPER_2, &mpHIO->mWolf.mWlDamage.m.mRunningAnm); + setUpperAnimeParam(dRes_ID_ALANM_BCK_WL_DAM_e, UPPER_2, &mpHIO->mWolf.mWlDamage.m.mRunningAnm); seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); freeGrabItem(); - setFacePriTexture(FTANM_UNK_90); + setFacePriTexture(FTANM_WL_DAM); voiceStart(Z2SE_WL_V_DAMAGE); } -int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { +int daAlink_c::procWolfDamageInit(dCcD_GObjInf* i_hitObj) { commonProcInit(PROC_WOLF_DAMAGE); cXyz sp14; @@ -5583,8 +5605,8 @@ int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { f32 temp_f30 = cM_scos(shape_angle.y); cXyz* var_r30; - if (param_0 != NULL) { - var_r30 = getDamageVec(param_0); + if (i_hitObj != NULL) { + var_r30 = getDamageVec(i_hitObj); } else { sp14.set(cM_ssin(field_0x311e), 0.0f, cM_scos(field_0x311e)); var_r30 = &sp14; @@ -5592,14 +5614,14 @@ int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { cXyz sp8((var_r30->z * -temp_f31) + (var_r30->x * temp_f30), var_r30->y, (var_r30->z * temp_f30) + (var_r30->x * temp_f31)); - int temp_r3 = getDirectionFromAngle(cM_atan2s(-sp8.x, -sp8.z)); - if (temp_r3 == DIR_FORWARD) { + int direction = getDirectionFromAngle(cM_atan2s(-sp8.x, -sp8.z)); + if (direction == DIR_FORWARD) { setSingleAnimeWolfParam(WANM_DMG_FRONT, &mpHIO->mWolf.mWlDamage.mNormal.m.mForwardAnm); field_0x3478 = mpHIO->mWolf.mWlDamage.mNormal.m.mForwardAnm.mCancelFrame; - } else if (temp_r3 == DIR_BACKWARD) { + } else if (direction == DIR_BACKWARD) { setSingleAnimeWolfParam(WANM_DMG_BACK, &mpHIO->mWolf.mWlDamage.mNormal.m.mBackwardAnm); field_0x3478 = mpHIO->mWolf.mWlDamage.mNormal.m.mBackwardAnm.mCancelFrame; - } else if (temp_r3 == DIR_LEFT) { + } else if (direction == DIR_LEFT) { setSingleAnimeWolfParam(WANM_DMG_LEFT, &mpHIO->mWolf.mWlDamage.mNormal.m.mLeftAnm); field_0x3478 = mpHIO->mWolf.mWlDamage.mNormal.m.mLeftAnm.mCancelFrame; } else { @@ -5607,7 +5629,7 @@ int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { field_0x3478 = mpHIO->mWolf.mWlDamage.mNormal.m.mRightAnm.mCancelFrame; } - setFaceBasicTexture(FTANM_UNK_90); + setFaceBasicTexture(FTANM_WL_DAM); current.angle.y = var_r30->atan2sX_Z(); mProcVar4.field_0x3010 = current.angle.y; @@ -5619,12 +5641,12 @@ int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { field_0x3588 = l_wolfBaseAnime; - if (param_0 == NULL || (param_0->GetTgHitGObj() != NULL && param_0->GetTgHitGObj()->GetAtMtrl() == dCcD_MTRL_ICE)) { + if (i_hitObj == NULL || (i_hitObj->GetTgHitGObj() != NULL && i_hitObj->GetTgHitGObj()->GetAtMtrl() == dCcD_MTRL_ICE)) { mUnderFrameCtrl[0].setRate(mpHIO->mWolf.mWlDamage.mNormal.m.mIceDamageAnmSpeed); mUnderFrameCtrl[0].setEnd(3); mNormalSpeed = 0.0f; mProcVar0.field_0x3008 = 90; - onNoResetFlg1(FLG1_ICE_FREEZE); + onNoResetFlg1(FLG1_FREEZE_DAMAGE); seStartOnlyReverb(Z2SE_AL_FREEZE); voiceStart(Z2SE_WL_V_DAMAGE_FREEZE); @@ -5675,11 +5697,11 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, return 0; } - const daAlinkHIO_wlDamLaHu_c1* var_r30; + const daAlinkHIO_wlDamLaHu_c1* anmParams; if (param_1 != 0) { - var_r30 = &mpHIO->mWolf.mWlDamage.mLarge.m; + anmParams = &mpHIO->mWolf.mWlDamage.mLarge.m; } else { - var_r30 = &mpHIO->mWolf.mWlDamage.mHuge.m; + anmParams = &mpHIO->mWolf.mWlDamage.mHuge.m; } field_0x3198 = 0; @@ -5691,11 +5713,11 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, f32 var_f31, var_f30, var_f29; + daAlink_WANM anm; + s16 var_r27; if (param_0 < 0) { - daAlink_WANM var_r28; - s16 var_r27; if (param_0 == -3) { - var_r28 = WANM_DMG_AIR_FRONT_GETUP; + anm = WANM_DMG_AIR_FRONT_GETUP; var_f29 = 0.0f; var_r27 = -1; @@ -5717,7 +5739,7 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, var_f30 = mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mInterpolation; } - var_r28 = WANM_DMG_AIR_FRONT_GETUP; + anm = WANM_DMG_AIR_FRONT_GETUP; var_f29 = 16.0f; var_r27 = -1; @@ -5743,8 +5765,8 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, } mProcVar2.field_0x300c = 1; - setSingleAnimeWolf(var_r28, var_f31, var_f29, var_r27, var_f30); - setFaceBasicTexture(FTANM_UNK_92); + setSingleAnimeWolf(anm, var_f31, var_f29, var_r27, var_f30); + setFaceBasicTexture(FTANM_WL_DAMFFBUP); field_0x347c = 9.0f; field_0x3484 = 13.0f; } else { @@ -5754,28 +5776,28 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, field_0x2f9d = 4; if (param_0 == 0x29) { - setSingleAnimeWolfParam(WANM_DMG_AIR_BACK_GETUP, &var_r30->mBackRiseAnm); - setFaceBasicTexture(FTANM_UNK_92); - field_0x3478 = var_r30->mBackRiseAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_DMG_AIR_BACK_GETUP, &anmParams->mBackRiseAnm); + setFaceBasicTexture(FTANM_WL_DAMFFBUP); + field_0x3478 = anmParams->mBackRiseAnm.mCancelFrame; field_0x347c = 16.0f; field_0x3198 = 1; field_0x3484 = 15.0; } else if (param_0 == 0x2A) { - setSingleAnimeWolfParam(WANM_DMG_AIR_LEFT_GETUP, &var_r30->mLeftRiseAnm); - setFaceBasicTexture(FTANM_UNK_93); - field_0x3478 = var_r30->mLeftRiseAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_DMG_AIR_LEFT_GETUP, &anmParams->mLeftRiseAnm); + setFaceBasicTexture(FTANM_WL_DAMFLRUP); + field_0x3478 = anmParams->mLeftRiseAnm.mCancelFrame; field_0x347c = 11.0f; field_0x3484 = 13.0f; } else if (param_0 == 0x2B) { - setSingleAnimeWolfParam(WANM_DMG_AIR_RIGHT_GETUP, &var_r30->mRightRiseAnm); - setFaceBasicTexture(FTANM_UNK_93); - field_0x3478 = var_r30->mRightRiseAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_DMG_AIR_RIGHT_GETUP, &anmParams->mRightRiseAnm); + setFaceBasicTexture(FTANM_WL_DAMFLRUP); + field_0x3478 = anmParams->mRightRiseAnm.mCancelFrame; field_0x347c = 11.0f; field_0x3484 = 13.0f; } else { - setSingleAnimeWolfParam(WANM_DMG_AIR_FRONT_GETUP, &var_r30->mFrontRiseAnm); - setFaceBasicTexture(FTANM_UNK_92); - field_0x3478 = var_r30->mFrontRiseAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_DMG_AIR_FRONT_GETUP, &anmParams->mFrontRiseAnm); + setFaceBasicTexture(FTANM_WL_DAMFFBUP); + field_0x3478 = anmParams->mFrontRiseAnm.mCancelFrame; field_0x347c = 9.0f; field_0x3484 = 13.0f; } @@ -5796,7 +5818,7 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, } int daAlink_c::procWolfLargeDamageUp() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; mProcVar4.field_0x3010 = 0; if (mProcVar2.field_0x300c == 0) { @@ -5806,7 +5828,7 @@ int daAlink_c::procWolfLargeDamageUp() { } if (field_0x3198 != 0) { - f32 temp_f31 = 2.0f * (0.5f - (field_0x3480 * temp_r29->getFrame())); + f32 temp_f31 = 2.0f * (0.5f - (field_0x3480 * framectrl->getFrame())); field_0x3588.x = l_wolfBaseAnime.x * temp_f31; field_0x3588.z = l_wolfBaseAnime.z * temp_f31; } @@ -5815,7 +5837,7 @@ int daAlink_c::procWolfLargeDamageUp() { if (checkNoResetFlg2(FLG2_PRESSED_DAMAGE)) { return 1; } - temp_r29->setRate(mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mSpeed); + framectrl->setRate(mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mSpeed); } if (mProcVar0.field_0x3008 > 0) { @@ -5823,36 +5845,36 @@ int daAlink_c::procWolfLargeDamageUp() { if (mProcVar0.field_0x3008 == 0) { mProcVar0.field_0x3008 = -1; - temp_r29->setRate(mpHIO->mWolf.mWlDamage.m.mReturnWakeupAnmSpeed); - temp_r29->offEndFlg(); + framectrl->setRate(mpHIO->mWolf.mWlDamage.m.mReturnWakeupAnmSpeed); + framectrl->offEndFlg(); } } else { - if (mProcVar3.field_0x300e != 0 && temp_r29->checkPass(24.0f)) { + if (mProcVar3.field_0x300e != 0 && framectrl->checkPass(24.0f)) { voiceStart(Z2SE_WL_V_RESTART); } - if (temp_r29->getFrame() > field_0x347c) { + if (framectrl->getFrame() > field_0x347c) { offModeFlg(0x8000); } - if (checkAnmEnd(temp_r29)) { + if (checkAnmEnd(framectrl)) { if (mProcVar5.field_0x3012 != 0) { - daMidna_c* temp_r3_2 = (daMidna_c*)getMidnaActor(); - if (temp_r3_2->checkDemoPortalWarpWait()) { - temp_r3_2->changeDemoMode(0xD); + daMidna_c* midna = (daMidna_c*)getMidnaActor(); + if (midna->checkDemoPortalWarpWait()) { + midna->changeDemoMode(13); return procWolfMidnaRideShockInit(); } } - if (mDemo.getDemoMode() == 0x1B || mDemo.getDemoMode() == 9) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_27_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_9_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextActionWolf(0); } - } else if (temp_r29->getFrame() > field_0x3478) { + } else if (framectrl->getFrame() > field_0x3478) { checkNextActionWolf(1); - } else if (checkEndResetFlg1(ERFLG1_LARGE_DAMAGE_UP_STOP) && temp_r29->getFrame() > field_0x3484) { - temp_r29->setFrame(field_0x3484); + } else if (checkEndResetFlg1(ERFLG1_LARGE_DAMAGE_UP_STOP) && framectrl->getFrame() > field_0x3484) { + framectrl->setFrame(field_0x3484); getNowAnmPackUnder(UNDER_0)->setFrame(field_0x3484); } } @@ -5897,7 +5919,7 @@ int daAlink_c::procWolfLandDamageInit(int param_0) { setSingleAnimeWolf(WANM_FALL_LAND, mpHIO->mWolf.mWlDamage.mFall.m.mLandingAnm.mSpeed, var_f31, mpHIO->mWolf.mWlDamage.mFall.m.mLandingAnm.mEndFrame, mpHIO->mWolf.mWlDamage.mFall.m.mLandingAnm.mInterpolation); - setFaceBasicTexture(FTANM_UNK_95); + setFaceBasicTexture(FTANM_WL_LANDDAMA); field_0x3198 = 0; field_0x2f9d = 4; setFootEffectProcType(4); @@ -5908,17 +5930,17 @@ int daAlink_c::procWolfLandDamage() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; if (field_0x3198 != 0) { - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlDamage.mFall.m.mRightRiseAnm.mCancelFrame) { checkNextActionWolf(1); } - } else if (frameCtrl->checkAnmEnd()) { + } else if (checkAnmEnd(frameCtrl)) { if (mProcVar0.field_0x3008 > 0) { mProcVar0.field_0x3008--; } else { setSingleAnimeWolfParam(WANM_FALL_LAND_START, &mpHIO->mWolf.mWlDamage.mFall.m.mRightRiseAnm); - setFaceBasicTexture(FTANM_UNK_96); + setFaceBasicTexture(FTANM_WL_LANDDAMAST); field_0x3198 = 1; } } @@ -5928,7 +5950,7 @@ int daAlink_c::procWolfLandDamage() { void daAlink_c::setWolfScreamWaitAnime() { setSingleAnimeWolfBase(WANM_WAIT_STUNNED); - setFaceBasicTexture(FTANM_UNK_91); + setFaceBasicTexture(FTANM_WL_B_A); voiceStart(Z2SE_WL_V_TERRORED); mProcVar2.field_0x300c = 1; @@ -5955,11 +5977,11 @@ int daAlink_c::procWolfScreamWaitInit() { int daAlink_c::procWolfScreamWait() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (!checkEndResetFlg1(ERFLG1_UNK_1)) { + if (!checkEndResetFlg1(ERFLG1_NS_SCREAM)) { if (mProcVar3.field_0x300e != 0) { field_0x2f99 = 5; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mCancelFrame) { checkNextActionWolf(1); @@ -6106,8 +6128,8 @@ int daAlink_c::procWolfLieStart() { } int daAlink_c::procWolfLieMoveInit(int param_0) { - BOOL var_r30 = mProcID == PROC_TALK; - BOOL var_r29 = checkUnderMove0BckNoArcWolf(WANM_CROUCH_WALK) == FALSE; + BOOL is_prev_talk = mProcID == PROC_TALK; + BOOL is_no_crouchWalk = checkUnderMove0BckNoArcWolf(WANM_CROUCH_WALK) == FALSE; BOOL var_r28; if (dComIfGp_checkPlayerStatus0(0, 0x2000)) { var_r28 = TRUE; @@ -6121,16 +6143,16 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { mProcVar3.field_0x300e = 0; - if (!var_r29) { - if (var_r30) { - var_r29 = true; + if (!is_no_crouchWalk) { + if (is_prev_talk) { + is_no_crouchWalk = true; } else { onModeFlg(0x6000); } } else { f32 anm_speed = getWolfLieMoveAnmSpeed(); - if (mDemo.getDemoMode() == 0x2C) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_44_e) { anm_speed = 0.0f; } else if (param_0) { mProcVar3.field_0x300e = 1; @@ -6143,8 +6165,8 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { setSingleAnimeWolfBaseSpeed(WANM_CROUCH_WALK, anm_speed, mpHIO->mWolf.mWlLie.m.mProneMoveInterp); } - field_0x3198 = var_r29 ^ 1; - mProcVar4.field_0x3010 = var_r30; + field_0x3198 = is_no_crouchWalk ^ 1; + mProcVar4.field_0x3010 = is_prev_talk; field_0x2f99 = 0xD; dComIfGp_setPlayerStatus0(0, 0x8000000); @@ -6162,7 +6184,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { } int daAlink_c::procWolfLieMove() { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; cXyz sp64; cXyz sp58; @@ -6204,26 +6226,26 @@ int daAlink_c::procWolfLieMove() { int var_r27 = 0; f32 temp_f31 = getWolfLieMoveAnmSpeed(); - if (temp_r29->getRate() > 0.0f) { - temp_r29->setRate(temp_f31); - } else if (temp_r29->getRate() < 0.0f) { - temp_r29->setRate(-temp_f31); + if (framectrl->getRate() > 0.0f) { + framectrl->setRate(temp_f31); + } else if (framectrl->getRate() < 0.0f) { + framectrl->setRate(-temp_f31); } else { var_r27 = 1; } - if (var_r27 == 1 || temp_r29->checkPass(0.0f) || temp_r29->checkPass(15.0f)) { + if (var_r27 == 1 || framectrl->checkPass(0.0f) || framectrl->checkPass(15.0f)) { if (mProcVar3.field_0x300e != 0) { mProcVar3.field_0x300e--; - temp_r29->setRate(temp_f31); - temp_r29->setLoop(0); + framectrl->setRate(temp_f31); + framectrl->setLoop(0); } else if (checkInputOnR()) { if (getDirectionFromShapeAngle() != 1) { - temp_r29->setRate(temp_f31); - temp_r29->setLoop(0); + framectrl->setRate(temp_f31); + framectrl->setLoop(0); } else { - temp_r29->setRate(-temp_f31); - temp_r29->setLoop(temp_r29->getEnd()); + framectrl->setRate(-temp_f31); + framectrl->setLoop(framectrl->getEnd()); } initBasAnime(); @@ -6245,9 +6267,9 @@ int daAlink_c::procWolfLieMove() { return 1; } else if (mProcVar3.field_0x300e == 0 && checkInputOnR()) { if (getWolfLieMoveSpeed() >= 0.0f) { - spA = field_0x2fe2; + spA = mMoveAngle; } else { - spA = field_0x2fe2 + 0x8000; + spA = mMoveAngle + 0x8000; } cLib_addCalcAngleS(&shape_angle.y, spA, mpHIO->mWolf.mWlLie.m.mProneTurnRate, mpHIO->mWolf.mWlLie.m.mProneTurnMax, mpHIO->mWolf.mWlLie.m.mProneTurnMin); @@ -6281,7 +6303,13 @@ int daAlink_c::procWolfLieMove() { } int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) { - BOOL var_r30 = dComIfGp_checkPlayerStatus0(0, 0x2000) != 0 ? TRUE : FALSE; + BOOL var_r30; + if (dComIfGp_checkPlayerStatus0(0, 0x2000)) { + var_r30 = TRUE; + } else { + var_r30 = FALSE; + } + commonProcInit(PROC_WOLF_LIE_AUTO_MOVE); field_0x37c8 = *param_1; @@ -6305,17 +6333,17 @@ int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) { int daAlink_c::procWolfLieAutoMove() { field_0x2f99 = 0xD; - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* framectrl = &mUnderFrameCtrl[0]; s16 temp_r27 = shape_angle.y; s16 temp_r26 = current.angle.y; setWolfLieMoveVoice(1); if (mProcVar0.field_0x3008 > 0) { - if (temp_r29->checkPass(0.0f) || temp_r29->checkPass(15.0f)) { + if (framectrl->checkPass(0.0f) || framectrl->checkPass(15.0f)) { stopHalfMoveAnime(15.0f); mNormalSpeed = 0.0f; - } else if (checkAnmEnd(temp_r29)) { + } else if (checkAnmEnd(framectrl)) { mNormalSpeed = 0.0f; mProcVar0.field_0x3008--; } @@ -6334,11 +6362,11 @@ int daAlink_c::procWolfLieAutoMove() { dComIfGp_setAdvanceDirection(0); if (shape_angle.y == current.angle.y) { - temp_r29->setRate(2.0f); - temp_r29->setLoop(0); + framectrl->setRate(2.0f); + framectrl->setLoop(0); } else { - temp_r29->setRate(-2.0f); - temp_r29->setLoop(temp_r29->getEnd()); + framectrl->setRate(-2.0f); + framectrl->setLoop(framectrl->getEnd()); } initBasAnime(); @@ -6391,25 +6419,26 @@ int daAlink_c::procWolfLieAutoMove() { void daAlink_c::setSpeedAndAngleSwimWolf() { if (checkWolfDashMode()) { - field_0x594 = mpHIO->mWolf.mWlSwim.m.mMaxSpeed; + mMaxSpeed = mpHIO->mWolf.mWlSwim.m.mMaxSpeed; } else { - field_0x594 = mpHIO->mWolf.mWlSwim.m.mMaxSpeedWeak; + mMaxSpeed = mpHIO->mWolf.mWlSwim.m.mMaxSpeedWeak; } - f32 var_f31; + f32 speed; + s16 prev_angle; if (checkInputOnR()) { - s16 prev_angle = current.angle.y; - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mWolf.mWlSwim.m.mTurnRate, + prev_angle = current.angle.y; + cLib_addCalcAngleS(¤t.angle.y, mMoveAngle, mpHIO->mWolf.mWlSwim.m.mTurnRate, mpHIO->mWolf.mWlSwim.m.mTurnMax, mpHIO->mWolf.mWlSwim.m.mTurnMin); - var_f31 = field_0x33a8 * 3.0f * cM_scos(current.angle.y - prev_angle); + speed = mStickValue * 3.0f * cM_scos(current.angle.y - prev_angle); shape_angle.y = current.angle.y; } else { - var_f31 = 0.0f; + speed = 0.0f; } if (checkWolfSwimDashAnime()) { - var_f31 = 3.0f; + speed = 3.0f; } if (checkAttentionState() && mProcID == PROC_WOLF_SWIM_WAIT) { @@ -6424,7 +6453,7 @@ void daAlink_c::setSpeedAndAngleSwimWolf() { current.angle.y = shape_angle.y; } - setNormalSpeedF(var_f31, mpHIO->mWolf.mWlSwim.m.mDeceleration); + setNormalSpeedF(speed, mpHIO->mWolf.mWlSwim.m.mDeceleration); if (dComIfGp_checkPlayerStatus0(0, 0x10)) { mNormalSpeed = 0.0f; @@ -6432,22 +6461,18 @@ void daAlink_c::setSpeedAndAngleSwimWolf() { } f32 daAlink_c::getWolfSwimMoveAnmSpeed() { - f32 anm_speed = fabsf(mNormalSpeed) / field_0x594; + f32 anm_speed = fabsf(mNormalSpeed) / mMaxSpeed; if (anm_speed > 1.0f) { anm_speed = 1.0f; } if (checkWolfDashMode()) { - anm_speed = - mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeed + + return mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeed + anm_speed * (mpHIO->mWolf.mWlSwim.m.mMoveMaxAnmSpeed - mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeed); } else { - anm_speed = - mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeedWeak + + return mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeedWeak + anm_speed * (mpHIO->mWolf.mWlSwim.m.mMoveMaxAnmSpeedWeak - mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeedWeak); } - - return anm_speed; } int daAlink_c::decideDoStatusSwimWolf() { @@ -6458,15 +6483,15 @@ int daAlink_c::decideDoStatusSwimWolf() { } if (field_0x27f4 != NULL && fopAcM_GetName(field_0x27f4) == PROC_Obj_Drop) { - setDoStatus(0x39); + setDoStatus(BUTTON_STATUS_UNK_57); if (doTrigger()) { fopAcM_setCarryNow(field_0x27f4, 0); - onResetFlg0(RFLG0_UNK_8000); + onResetFlg0(RFLG0_GRAB_UP_START); } } else if (checkNoResetFlg0(FLG0_SWIM_UP) && field_0x30d2 == 0 && !checkWolfSwimDashAnime() && mProcID == PROC_WOLF_SWIM_MOVE) { - setDoStatus(9); + setDoStatus(BUTTON_STATUS_DASH); if (doTrigger()) { onNoResetFlg1(FLG1_DASH_MODE); @@ -6500,7 +6525,7 @@ int daAlink_c::procWolfSwimUpInit() { mZ2Link.setInWater(false); setSingleAnimeWolfParam(WANM_SWIM_RESURFACE, &mpHIO->mWolf.mWlSwim.m.mSurfacingAnm); - setFaceBasicTexture(FTANM_UNK_8E); + setFaceBasicTexture(FTANM_WL_SWIMP); dComIfGp_setPlayerStatus0(0, 0x100000); seStartMapInfo(Z2SE_WL_OUTOF_WATER); mProcVar5.field_0x3012 = 1; @@ -6511,7 +6536,7 @@ int daAlink_c::procWolfSwimUp() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; setNormalSpeedF(0.0f, mpHIO->mWolf.mWlSwim.m.mDeceleration); - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { procWolfSwimWaitInit(0); } else if (checkInputOnR() && frameCtrl->getFrame() > mpHIO->mWolf.mWlSwim.m.mSurfacingAnm.mCancelFrame) @@ -6562,7 +6587,7 @@ int daAlink_c::procWolfSwimWaitInit(int param_0) { } int daAlink_c::procWolfSwimWait() { - if (mDemo.getDemoMode() == 6 || mDemo.getDemoMode() == 8) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_6_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_8_e) { setShapeAngleToTalkActor(); current.angle.y = shape_angle.y; } @@ -6608,8 +6633,10 @@ int daAlink_c::procWolfSwimMoveInit() { int daAlink_c::procWolfSwimMove() { setSpeedAndAngleSwimWolf(); + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + if (!checkWolfSwimDashAnime()) { - mUnderFrameCtrl[0].setRate(getWolfSwimMoveAnmSpeed()); + framectrl->setRate(getWolfSwimMoveAnmSpeed()); } if (checkSwimUpAction()) { @@ -6648,13 +6675,13 @@ int daAlink_c::procWolfSwimMove() { int daAlink_c::procWolfSwimEndWaitInit(int param_0) { commonProcInit(PROC_WOLF_SWIM_END_WAIT); setSingleAnimeWolfParam(WANM_WAIT_SHAKE, &mpHIO->mWolf.mWlSwim.m.mWaterSplashIdleAnm); - setFaceBasicTexture(FTANM_UNK_8F); + setFaceBasicTexture(FTANM_WL_SWAITB); mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &field_0x37c8); if (param_0 == 0) { mProcVar3.field_0x300e = 0; - } else if (field_0x2fbb == 13) { + } else if (mGndPolyAtt0 == 13) { mProcVar3.field_0x300e = 2; } else { mProcVar3.field_0x300e = 1; @@ -6712,36 +6739,39 @@ int daAlink_c::procWolfSwimEndWait() { return 1; } -bool daAlink_c::onWolfEnemyBiteAll(fopAc_ac_c* param_0, daPy_py_c::daPy_FLG2 param_1) { +bool daAlink_c::onWolfEnemyBiteAll(fopAc_ac_c* i_enemy, daPy_py_c::daPy_FLG2 i_flag) { if (field_0x281c.getActor() != NULL) { return 0; } - if (param_1 == 8) { - if (mCutType != 0x2C && mCutType != 0x2D && mCutType != 0x31 && mCutType != 0x39 && - mCutType != 0x32) + if (i_flag == FLG2_UNK_8) { + if (mCutType != CUT_TYPE_WOLF_B_LEFT && + mCutType != CUT_TYPE_WOLF_B_RIGHT && + mCutType != CUT_TYPE_WOLF_JUMP_S && + mCutType != CUT_TYPE_WOLF_JUMP && + mCutType != CUT_TYPE_WOLF_JUMP_S_FINISH) { return 0; } - } else if (mCutType != 0x39) { + } else if (mCutType != CUT_TYPE_WOLF_JUMP) { return 0; } - onNoResetFlg2(param_1); - field_0x281c.setData(param_0); + onNoResetFlg2(i_flag); + field_0x281c.setData(i_enemy); return 1; } void daAlink_c::resetWolfEnemyBiteAll() { field_0x281c.clearData(); - offNoResetFlg2(FLG2_UNK_58); + offNoResetFlg2(daPy_FLG2(FLG2_WOLF_ENEMY_HANG_BITE | FLG2_UNK_10 | FLG2_UNK_8)); } void daAlink_c::checkWolfEnemyThrowAction() { daPy_frameCtrl_c* frameCtrl = &mUpperFrameCtrl[2]; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { resetUpperAnime(UPPER_2, 3.0f); } else if (frameCtrl->checkPass(17.0f)) { resetWolfEnemyBiteAll(); @@ -6751,9 +6781,9 @@ void daAlink_c::checkWolfEnemyThrowAction() { void daAlink_c::setWolfLockDomeModel() { JKRHeap* prev_heap = setItemHeap(); - mHeldItemModel = initModel(loadAramBmd(799, 0x1C00), 0x200); - field_0x0718 = loadAramItemBtk(0x3A6, mHeldItemModel); - field_0x0724 = loadAramItemBrk(0x324, mHeldItemModel); + mHeldItemModel = initModel(loadAramBmd(dRes_ID_ALANM_BMD_S_BALL_YAMI_e, 0x1C00), 0x200); + field_0x0718 = loadAramItemBtk(dRes_ID_ALANM_BTK_S_BALL_YAMI_e, mHeldItemModel); + field_0x0724 = loadAramItemBrk(dRes_ID_ALANM_BRK_S_BALL_YAMI_e, mHeldItemModel); mDoExt_setCurrentHeap(prev_heap); mEquipItem = 0x109; @@ -6800,21 +6830,23 @@ void daAlink_c::resetWolfBallGrab() { resetUpperAnime(UPPER_2, 3.0f); } - dComIfGp_particle_setColor(0x86CE, &mHeldItemRootPos, &tevStr, NULL, NULL, 0.0f, 0xFF); - dComIfGp_particle_setColor(0x86CF, &mHeldItemRootPos, &tevStr, NULL, NULL, 0.0f, 0xFF); + dComIfGp_particle_setColor(dPa_RM(ID_ZI_S_ID_SETC_A), &mHeldItemRootPos, &tevStr, NULL, NULL, 0.0f, 0xFF); + dComIfGp_particle_setColor(dPa_RM(ID_ZI_S_ID_SETC_B), &mHeldItemRootPos, &tevStr, NULL, NULL, 0.0f, 0xFF); onEndResetFlg0(ERFLG0_UNK_20000000); offNoResetFlg3(FLG3_UNK_200000); } } void daAlink_c::checkWolfLockData() { - for (int i = 0; i < 10; i++) { + int i; + int var_r29; + + for (i = 0; i < 10; i++) { mWolfLockAcKeep[i].setActor(); } - for (int i = 0; i < mWolfLockNum; i++) { + for (i = 0; i < mWolfLockNum; i++) { if (mWolfLockAcKeep[i].getActor() == NULL) { - int var_r29; for (var_r29 = i; var_r29 < mWolfLockNum - 1; var_r29++) { mWolfLockAcKeep[var_r29].setData(mWolfLockAcKeep[var_r29 + 1].getActor()); } @@ -6854,22 +6886,21 @@ fopAc_ac_c* daAlink_c::getWolfLockActorEnd() { } void daAlink_c::searchWolfLockEnemy(fopAc_ac_c* i_actor, void* i_data) { - fopAc_ac_c** lock_actor_pp = (fopAc_ac_c**)i_data; - for (int i = 0; i < mWolfLockNum; i++) { if (mWolfLockAcKeep[i].getActor() == i_actor) { return; } } - fopEn_enemy_c* enemy_p = static_cast(i_actor); - if (fopAcM_GetGroup(enemy_p) == 2 && enemy_p->attention_info.flags & (fopAc_AttnFlag_BATTLE_e | fopAc_AttnFlag_LOCK_e) && - !enemy_p->checkWolfNoLock()) + if (fopAcM_GetGroup(i_actor) == fopAc_ENEMY_e && i_actor->attention_info.flags & (fopAc_AttnFlag_BATTLE_e | fopAc_AttnFlag_LOCK_e) && + !((fopEn_enemy_c*)i_actor)->checkWolfNoLock()) { - f32 dist_to_enemy = current.pos.abs2(enemy_p->eyePos); + f32 enemy_dist2 = current.pos.abs2(i_actor->eyePos); - if (enemy_p->eyePos.y >= current.pos.y - 50.0f && dist_to_enemy < field_0x3478) { - field_0x3478 = dist_to_enemy; + if (i_actor->eyePos.y >= current.pos.y - 50.0f && enemy_dist2 < field_0x3478) { + field_0x3478 = enemy_dist2; + + fopAc_ac_c** lock_actor_pp = (fopAc_ac_c**)i_data; *lock_actor_pp = i_actor; } } @@ -6882,14 +6913,21 @@ static int daAlink_searchWolfLockEnemy(fopAc_ac_c* i_actor, void* i_data) { void daAlink_c::checkWolfComboCnt() { if (!dComIfGp_checkPlayerStatus1(0, 0x1000000)) { - if (mComboCutCount == 2 && checkAttentionLock() && mAtCyl.ChkAtHit()) { + if (mComboCutCount == 2 && checkAttentionLock() + && (mAtCyl.ChkAtHit() + #if DEBUG + || mpHIO->mCut.m.mForceHitCombo + #endif + ) + ) + { onNoResetFlg0(FLG0_UNK_8000); } if (field_0x307e > 0) { field_0x307e--; } else { - resetCombo(1); + resetCombo(TRUE); } } } @@ -6899,7 +6937,7 @@ BOOL daAlink_c::checkWolfAttackAction() { static int const normalType1[] = {0, 0, 0, 3, 3}; if (mComboCutCount == 4) { - resetCombo(1); + resetCombo(TRUE); } mComboCutCount++; @@ -6949,11 +6987,15 @@ BOOL daAlink_c::checkWolfAttackAction() { void daAlink_c::setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM i_anmID, f32 param_1) { setUpperAnime( - i_anmID == WANM_FLING_LEFT ? (u16)0x2BD : (u16)0x2BE, + i_anmID == WANM_FLING_LEFT ? (u16)dRes_ID_ALANM_BCK_WL_FLINGNECKL_e : (u16)dRes_ID_ALANM_BCK_WL_FLINGNECKR_e, UPPER_2, // Fakematch, should be // mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowAnmSpeed, + #if DEBUG + mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowAnmSpeed, + #else daAlinkHIO_wlAtBite_c0::m.mEnemyBiteThrowAnmSpeed, + #endif param_1, -1, -1.0f @@ -6970,13 +7012,13 @@ BOOL daAlink_c::setWolfEnemyHangBitePos(fopEn_enemy_c* i_enemy) { if (commonLineCheck(&field_0x3540, ¤t.pos)) { current.pos = old_pos; - return 0; + return FALSE; } else { - return 1; + return TRUE; } } - return 0; + return FALSE; } static cXyz l_wolfBiteHitMarkScale(0.5f, 0.5f, 0.5f); @@ -7008,9 +7050,12 @@ int daAlink_c::procWolfRollAttackCharge() { return 1; } + #if PLATFORM_GCN if (!itemButtonCheck(BTN_B)) { checkWolfAttackAction(); - } else if (field_0x2060->getOldFrameRate() < 0.1f) { + } else + #endif + if (field_0x2060->getOldFrameRate() < 0.1f) { procWolfRollAttackMoveInit(); } else { cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mWolf.mWlMoveNoP.m.mDeceleration); @@ -7053,7 +7098,7 @@ int daAlink_c::procWolfRollAttackMove() { if (mProcVar0.field_0x3008 == 0) { if (mWolfLockNum != 0) { - resetCombo(1); + resetCombo(TRUE); return procWolfLockAttackInit(0); } else { return procWolfRollAttackInit(1, 0); @@ -7103,7 +7148,7 @@ int daAlink_c::procWolfRollAttackMove() { voiceStartLevel(Z2SE_WL_V_ROAR); - BOOL var_r28 = 0; + BOOL var_r28 = FALSE; f32 anm_speed = getWolfLieMoveAnmSpeed(); if (frameCtrl_p->getRate() > 0.0f) { @@ -7111,12 +7156,12 @@ int daAlink_c::procWolfRollAttackMove() { } else if (frameCtrl_p->getRate() < 0.0f) { frameCtrl_p->setRate(-anm_speed); } else { - var_r28 = 1; + var_r28 = TRUE; } setWolfAtnMoveDirection(); - if (var_r28 == true || frameCtrl_p->checkPass(0.0f) || frameCtrl_p->checkPass(15.0f)) { + if (var_r28 == TRUE || frameCtrl_p->checkPass(0.0f) || frameCtrl_p->checkPass(15.0f)) { if (checkInputOnR()) { if (field_0x2f98 != 1) { frameCtrl_p->setRate(anm_speed); @@ -7151,33 +7196,33 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { commonProcInit(PROC_WOLF_JUMP_ATTACK); mProcVar0.field_0x3008 = 0; - f32 var_f26; - f32 var_f31; - f32 var_f27; - f32 var_f28; + f32 max_vertical_speed; + f32 min_vertical_speed; + f32 min_horizontal_speed; + f32 attack_init_speed; f32 var_f30; f32 var_f29; if (param_0 == 1) { - setCutType(0x39); - setCylAtParam(0x80000000, dCcG_At_Spl_UNK_1, 3, 4, 3, mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackHeight); - field_0x594 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMaxHorizontalSpeed; - var_f26 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMaxVerticalSpeed; + setCutType(CUT_TYPE_WOLF_JUMP); + setCylAtParam(AT_TYPE_WOLF_ATTACK, dCcG_At_Spl_UNK_1, 3, dCcD_SE_WOLF_BITE, 3, mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackHeight); + mMaxSpeed = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMaxHorizontalSpeed; + max_vertical_speed = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMaxVerticalSpeed; if (mTargetedActor != NULL) { - var_f31 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMinVerticalSpeed; - var_f28 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackInitSpeed; + min_vertical_speed = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMinVerticalSpeed; + attack_init_speed = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackInitSpeed; } else { - var_f31 = 25.0f; - var_f28 = 26.0f; + min_vertical_speed = 25.0f; + attack_init_speed = 26.0f; } - var_f27 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMinHorizontalSpeed; + min_horizontal_speed = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMinHorizontalSpeed; field_0x3438 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackRadiusOffset; voiceStart(Z2SE_WL_V_ATTACK_L); seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_SCREW); - if (!dComIfGs_isEventBit(0x520) && checkStageName("R_SP30")) { + if (!dComIfGs_isEventBit(dSv_event_flag_c::M_010) && checkStageName("R_SP30")) { mProcVar0.field_0x3008 = 1; } @@ -7190,25 +7235,25 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { mProcVar4.field_0x3010 = 1; } else { if (mComboCutCount == 4) { - setCutType(0x32); - setCylAtParam(0x80000000, dCcG_At_Spl_UNK_1, 3, 4, 3, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackHeight); + setCutType(CUT_TYPE_WOLF_JUMP_S_FINISH); + setCylAtParam(AT_TYPE_WOLF_ATTACK, dCcG_At_Spl_UNK_1, 3, dCcD_SE_WOLF_BITE, 3, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackHeight); voiceStart(Z2SE_WL_V_ATTACK_L); seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_SCREW); mProcVar5.field_0x3012 = 1; } else { - setCutType(0x31); - setCylAtParam(0x80000000, dCcG_At_Spl_UNK_0, 1, 4, 2, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackHeight); + setCutType(CUT_TYPE_WOLF_JUMP_S); + setCylAtParam(AT_TYPE_WOLF_ATTACK, dCcG_At_Spl_UNK_0, 1, dCcD_SE_WOLF_BITE, 2, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackHeight); voiceStart(Z2SE_WL_V_ATTACK_S); seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_S); mProcVar5.field_0x3012 = 0; } - field_0x594 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMaxHorizontalSpeed; - var_f27 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMinHorizontalSpeed; - var_f26 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMaxVerticalSpeed; - var_f31 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMinVerticalSpeed; + mMaxSpeed = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMaxHorizontalSpeed; + min_horizontal_speed = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMinHorizontalSpeed; + max_vertical_speed = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMaxVerticalSpeed; + min_vertical_speed = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMinVerticalSpeed; field_0x3438 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackRadiusOffset; - var_f28 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackInitSpeed; + attack_init_speed = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackInitSpeed; mProcVar4.field_0x3010 = 0; } @@ -7218,7 +7263,7 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { shape_angle.y = cLib_targetAngleY(¤t.pos, &mTargetedActor->eyePos); if (mComboCutCount == 1 && param_0 != 1) { - speed.y = var_f31; + speed.y = min_vertical_speed; mNormalSpeed = (-gravity * eyePos.absXZ(mTargetedActor->eyePos)) / (2.0f * speed.y); } else { var_f30 = (mTargetedActor->eyePos.y - eyePos.y) - 10.0f; @@ -7236,21 +7281,21 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { if (var_f29 >= 1.0f) { f32 temp_f25 = 1.0f / var_f29; mNormalSpeed = temp_f25 * current.pos.absXZ(mTargetedActor->eyePos); - speed.y = cLib_minMaxLimit(temp_f25 * (var_f30 - (var_f29 * (0.5f * gravity * var_f29))), var_f31, var_f26); + speed.y = cLib_minMaxLimit(temp_f25 * (var_f30 - (var_f29 * (0.5f * gravity * var_f29))), min_vertical_speed, max_vertical_speed); } else { - mNormalSpeed = var_f28; - speed.y = var_f31; + mNormalSpeed = attack_init_speed; + speed.y = min_vertical_speed; } } } else { - mNormalSpeed = var_f28; - speed.y = var_f31; + mNormalSpeed = attack_init_speed; + speed.y = min_vertical_speed; } - if (mNormalSpeed > field_0x594) { - mNormalSpeed = field_0x594; - } else if (mNormalSpeed < var_f27) { - mNormalSpeed = var_f27; + if (mNormalSpeed > mMaxSpeed) { + mNormalSpeed = mMaxSpeed; + } else if (mNormalSpeed < min_horizontal_speed) { + mNormalSpeed = min_horizontal_speed; } mProcVar1.field_0x300a = param_0; @@ -7362,10 +7407,9 @@ int daAlink_c::procWolfJumpAttackKickInit() { commonProcInit(PROC_WOLF_JUMP_AT_KICK); setSingleAnimeWolfParam(WANM_JUMP_KICK, &mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mFlipKickAnm); - f32 tmp_0 = 0.0f; - speed.y = tmp_0; - mNormalSpeed = tmp_0; - setSpecialGravity(tmp_0, maxFallSpeed, 0); + speed.y = 0.0f; + mNormalSpeed = 0.0f; + setSpecialGravity(0.0f, maxFallSpeed, 0); voiceStart(Z2SE_WL_V_ATTACK_S); seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_S); @@ -7374,7 +7418,7 @@ int daAlink_c::procWolfJumpAttackKickInit() { } int daAlink_c::procWolfJumpAttackKick() { - if (mUnderFrameCtrl[0].checkAnmEnd()) { + if (checkAnmEnd(mUnderFrameCtrl)) { procWolfBackJumpInit(2); dComIfGp_setPlayerStatus1(0, 0x200000); } @@ -7386,7 +7430,7 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par commonProcInit(PROC_WOLF_JUMP_AT_SLIDE_LAND); if (mTargetedActor == NULL || !param_0 || - (fopAcM_GetGroup(mTargetedActor) == 2 && + (fopAcM_GetGroup(mTargetedActor) == fopAc_ENEMY_e && static_cast(mTargetedActor)->checkDeadFlg())) { mProcVar4.field_0x3010 = 0; @@ -7394,7 +7438,7 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par mProcVar4.field_0x3010 = 1; } - if ((mTargetedActor != NULL && fopAcM_GetGroup(mTargetedActor) == 2 && param_0 && + if ((mTargetedActor != NULL && fopAcM_GetGroup(mTargetedActor) == fopAc_ENEMY_e && param_0 && !static_cast(mTargetedActor)->checkDeadFlg() && fopAcM_seenActorAngleY(this, mTargetedActor) > 0x5000) || param_2) @@ -7500,7 +7544,7 @@ int daAlink_c::procWolfJumpAttackNormalLand() { setComboReserb(); checkCutTurnCharge(); - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlAttack.mWlAtLand.m.mNormalLandingAnm.mCancelFrame) { if (mProcVar2.field_0x300c != 0) { @@ -7559,22 +7603,22 @@ int daAlink_c::procWolfWaitAttackInit(int i_attackType) { mProcVar3.field_0x300e = 1; } - f32 var_f2; + f32 start_frame; if (mComboCutCount == 4) { - setCylAtParam(0x80000000, dCcG_At_Spl_UNK_1, 3, 4, 3, atk_hio->mAttackRadius, + setCylAtParam(AT_TYPE_WOLF_ATTACK, dCcG_At_Spl_UNK_1, 3, dCcD_SE_WOLF_BITE, 3, atk_hio->mAttackRadius, atk_hio->mAttackHeight); field_0x3478 = atk_hio->mAttackAnm.mCancelFrame; mProcVar0.field_0x3008 = atk_hio->mStopTime; - var_f2 = atk_hio->mAttackAnm.mStartFrame; + start_frame = atk_hio->mAttackAnm.mStartFrame; } else { - setCylAtParam(0x80000000, dCcG_At_Spl_UNK_0, 1, 4, 2, atk_hio->mAttackRadius, + setCylAtParam(AT_TYPE_WOLF_ATTACK, dCcG_At_Spl_UNK_0, 1, dCcD_SE_WOLF_BITE, 2, atk_hio->mAttackRadius, atk_hio->mAttackHeight); field_0x3478 = atk_hio->mComboMidCF; mProcVar0.field_0x3008 = atk_hio->mComboMidStopTime; - var_f2 = atk_hio->mComboMidStartF; + start_frame = atk_hio->mComboMidStartF; } - setSingleAnimeWolf(atk_params->m_anmID, atk_hio->mAttackAnm.mSpeed, var_f2, + setSingleAnimeWolf(atk_params->m_anmID, atk_hio->mAttackAnm.mSpeed, start_frame, atk_hio->mAttackAnm.mEndFrame, atk_hio->mAttackAnm.mInterpolation); if (mTargetedActor != NULL) { @@ -7620,9 +7664,9 @@ int daAlink_c::procWolfWaitAttack() { } if (checkAnmEnd(frameCtrl_p)) { - resetCombo(1); + resetCombo(TRUE); - if (mDemo.getDemoMode() == 0x2B) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_43_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else if (mProcVar0.field_0x3008 > 0) { if (!(frameCtrl_p->getFrame() > field_0x3478) || !checkNextActionWolf(1)) { @@ -7634,9 +7678,10 @@ int daAlink_c::procWolfWaitAttack() { } } else if (frameCtrl_p->getFrame() > field_0x3478) { if (!checkNextActionWolf(1)) { - resetCombo(1); + resetCombo(TRUE); } } else { + int _; setShapeAngleToAtnActor(1); current.angle.y = shape_angle.y; @@ -7692,7 +7737,7 @@ int daAlink_c::procWolfRollAttackInit(int param_0, int param_1) { setSingleAnimeWolfParam(anm, &mpHIO->mWolf.mWlAttack.mAtRoll.m.mAttackAnm); field_0x3478 = mpHIO->mWolf.mWlAttack.mAtRoll.m.mAttackRadius; - setCylAtParam(0x40000000, dCcG_At_Spl_UNK_1, 3, 4, 3, field_0x3478 * 0.5f, 155.0f); + setCylAtParam(AT_TYPE_WOLF_CUT_TURN, dCcG_At_Spl_UNK_1, 3, dCcD_SE_WOLF_BITE, 3, field_0x3478 * 0.5f, 155.0f); mNormalSpeed = 0.0f; mProcVar3.field_0x300e = param_1; @@ -7729,7 +7774,7 @@ int daAlink_c::procWolfRollAttack() { } else if (mProcVar3.field_0x300e == 0 && frameCtrl_p->getFrame() >= 4.0f && frameCtrl_p->getFrame() < 13.0f) { - if (!checkNoResetFlg0(FLG0_UNK_40)) { + if (!checkNoResetFlg0(FLG0_CUT_AT_FLG)) { mNormalSpeed = mpHIO->mWolf.mWlAttack.mAtRoll.m.mAttackSpeed; } @@ -7785,7 +7830,7 @@ int daAlink_c::procWolfDownAttack() { fopEn_enemy_c* enemy_p = (fopEn_enemy_c*)field_0x280c.getActor(); if (enemy_p != NULL && enemy_p->checkDownFlg() && - eyePos.abs2XZ(enemy_p->getDownPos()) < 10000.0f && + eyePos.abs2XZ(enemy_p->getDownPos()) < SQUARE(100.0f) && fabsf(enemy_p->current.pos.y - current.pos.y) < 50.0f) { procWolfDownAtLandInit(enemy_p); @@ -7830,16 +7875,16 @@ int daAlink_c::procWolfDownAtLand() { if (checkAnmEnd(frameCtrl_p)) { if (checkUnderMove0BckNoArcWolf(WANM_PULL_OUT)) { - setUpperAnime(0x2DA, UPPER_2, 0.0f, 20.0f, -1, -1.0f); + setUpperAnime(dRes_ID_ALANM_BCK_WL_PICKUPA_e, UPPER_2, 0.0f, 20.0f, -1, -1.0f); if (enemy_p != NULL) { enemy_p->onWolfDownPullEndFlg(); - dComIfGp_particle_setColor(0x86CA, &enemy_p->getDownPos(), &tevStr, NULL, NULL, + dComIfGp_particle_setColor(dPa_RM(ID_ZI_S_ID_SETB_A), &enemy_p->getDownPos(), &tevStr, NULL, NULL, 0.0f, 0xFF); - dComIfGp_particle_setColor(0x86CB, &enemy_p->getDownPos(), &tevStr, NULL, NULL, + dComIfGp_particle_setColor(dPa_RM(ID_ZI_S_ID_SETB_B), &enemy_p->getDownPos(), &tevStr, NULL, NULL, 0.0f, 0xFF); - dComIfGp_particle_setColor(0x86CC, &enemy_p->getDownPos(), &tevStr, NULL, NULL, + dComIfGp_particle_setColor(dPa_RM(ID_ZI_S_ID_SETB_C), &enemy_p->getDownPos(), &tevStr, NULL, NULL, 0.0f, 0xFF); } @@ -7860,7 +7905,7 @@ int daAlink_c::procWolfDownAtLand() { int daAlink_c::procWolfDownAtMissLandInit() { commonProcInit(PROC_WOLF_DOWN_AT_MISS_LAND); setSingleAnimeWolfParam(WANM_ATTACK_POE_MISS, &mpHIO->mWolf.mWlAttack.mWlAtDown.m.mRollOverAnm); - setFaceBasicTexture(FTANM_UNK_97); + setFaceBasicTexture(FTANM_WL_ATTACKUNG); mNormalSpeed = 0.0f; setFootEffectProcType(1); @@ -7880,7 +7925,7 @@ int daAlink_c::procWolfDownAtMissLand() { field_0x2f99 = 4; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlAttack.mWlAtDown.m.mRollOverAnm.mCancelFrame) { checkNextActionWolf(1); @@ -7945,7 +7990,7 @@ int daAlink_c::procWolfLockAttackInit(int param_0) { speed.y = -gravity * var_f31; mProcVar0.field_0x3008 = var_f31; - setCylAtParam(0x8000000, dCcG_At_Spl_UNK_0, 1, 4, 6, mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackRadius, + setCylAtParam(AT_TYPE_MIDNA_LOCK, dCcG_At_Spl_UNK_0, 1, dCcD_SE_WOLF_BITE, 6, mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackHeight); field_0x3438 = mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackRadiusOffset; @@ -7953,26 +7998,25 @@ int daAlink_c::procWolfLockAttackInit(int param_0) { voiceStart(Z2SE_WL_V_ATTACK_THRUST); dComIfGp_setPlayerStatus1(0, 0x1000000); - dComIfGp_particle_set(0x247, ¤t.pos, ¤t.angle, 0); + dComIfGp_particle_set(ID_ZI_J_WL_LOCKATDASH_A, ¤t.pos, ¤t.angle, 0); return 1; } int daAlink_c::procWolfLockAttack() { - BOOL var_r29 = false; + BOOL isAtShieldHit = false; - // check if any field_0x850 clylinders collided with at shields for (int i = 0; i < 3; i++) { - if (checkAtShieldHit(field_0x850[i])) { - var_r29 = true; + if (checkAtShieldHit(mTgCyls[i])) { + isAtShieldHit = true; break; } } // early return checks for colliding with at shields or if the actor hit is not freezard - if (var_r29 || (checkAtShieldHit(mAtCyl) && (mAtCyl.GetAtHitAc() == NULL || + if (isAtShieldHit || (checkAtShieldHit(mAtCyl) && (mAtCyl.GetAtHitAc() == NULL || fopAcM_GetName(mAtCyl.GetAtHitAc()) != PROC_E_FB))) { - return procCoLargeDamageInit(-4, 1, 0, 0, NULL, 2); + return procCoLargeDamageInit(-4, TRUE, 0, 0, NULL, 2); } if (checkWolfAttackReverse(1)) { @@ -8087,7 +8131,7 @@ int daAlink_c::procWolfLockAttackTurn() { int daAlink_c::procWolfAttackReverseInit() { commonProcInit(PROC_WOLF_ATTACK_REVERSE); setSingleAnimeWolfBase(WANM_ATTACK_RECOIL_START); - setFaceBasicTexture(FTANM_UNK_9A); + setFaceBasicTexture(FTANM_WL_ATTACKREST); mNormalSpeed = mpHIO->mWolf.mWlAttack.m.mJumpBackSpeedH; speed.y = mpHIO->mWolf.mWlAttack.m.mJumpBackSpeedV; @@ -8127,7 +8171,12 @@ int daAlink_c::procWolfAttackReverse() { mNormalSpeed = 0.0f; setSingleAnimeWolfParam(WANM_ATTACK_RECOIL_END, &mpHIO->mWolf.mWlAttack.m.mJumpBackLandAnm); - setFaceBasicTexture(FTANM_UNK_9B); + setFaceBasicTexture(FTANM_WL_ATTACKREED); + + #if DEBUG + mpHIO->jumpStateUpdate(&mLastJumpPos, ¤t.pos, l_jumpTop); + #endif + current.angle.y = shape_angle.y; offModeFlg(2); onModeFlg(1); @@ -8148,16 +8197,16 @@ int daAlink_c::procWolfEnemyThrowInit(int param_0) { offNoResetFlg2(FLG2_WOLF_ENEMY_LEFT_THROW); } - f32 var_f31; + f32 start_frame; if (param_0 == 4) { - var_f31 = 0.0f; + start_frame = 0.0f; } else { - var_f31 = 3.0f; + start_frame = 3.0f; } - setSingleAnimeWolf(anm, mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowAnmSpeed, var_f31, -1, + setSingleAnimeWolf(anm, mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowAnmSpeed, start_frame, -1, mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowInterpolation); - setWolfEnemyThrowUpperAnime(anm, var_f31); + setWolfEnemyThrowUpperAnime(anm, start_frame); field_0x3588 = l_wolfBaseAnime; mNormalSpeed = 0.0f; speed.y = 0.0f; @@ -8174,7 +8223,7 @@ int daAlink_c::procWolfEnemyThrow() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; field_0x2f99 = 5; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowCF) { checkNextActionWolf(1); @@ -8187,10 +8236,9 @@ int daAlink_c::procWolfEnemyHangBiteInit() { commonProcInit(PROC_WOLF_ENEMY_HANG_BITE); setSingleAnimeWolfParam(WANM_CATCH_START, &mpHIO->mWolf.mWlAttack.mWlAtBite.m.mHangingBitePreparationAnm); - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; - setSpecialGravity(tmp_0, maxFallSpeed, 0); + mNormalSpeed = 0.0f; + speed.y = 0.0f; + setSpecialGravity(0.0f, maxFallSpeed, 0); if (!setWolfEnemyHangBitePos((fopEn_enemy_c*)field_0x281c.getActor())) { return procWolfJumpAttackKickInit(); @@ -8348,7 +8396,7 @@ int daAlink_c::procWolfGrabUp() { } if (frameCtrl_p->checkPass(field_0x3478)) { - onResetFlg0(RFLG0_UNK_8000); + onResetFlg0(RFLG0_GRAB_UP_START); fopAcM_setStageLayer(item_p); voiceStart(Z2SE_WL_V_HOLD_MOUTH); } @@ -8378,10 +8426,10 @@ int daAlink_c::procWolfGrabPutInit() { return 0; } - BOOL grab_obj = checkWolfGrabAnimeObj(); + BOOL isGrabObjAnm = checkWolfGrabAnimeObj(); commonProcInit(PROC_WOLF_GRAB_PUT); - if (grab_obj) { + if (isGrabObjAnm) { setSingleAnimeWolfParam(WANM_PICKUP_A, &mpHIO->mWolf.mWlGrab.m.mPotReleaseAnm); field_0x3478 = 10.0f; field_0x347c = mpHIO->mWolf.mWlGrab.m.mPotReleaseAnm.mCancelFrame; @@ -8408,7 +8456,7 @@ int daAlink_c::procWolfGrabPut() { } if (checkAnmEnd(frameCtrl_p)) { - if (mDemo.getDemoMode() == 13) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_GRAB_PUT_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { checkNextActionWolf(0); @@ -8418,7 +8466,7 @@ int daAlink_c::procWolfGrabPut() { } } else { if (actor_p == NULL) { - if (mDemo.getDemoMode() == 13) { + if (mDemo.getDemoMode() == daPy_demo_c::DEMO_GRAB_PUT_e) { dComIfGp_evmng_cutEnd(mAlinkStaffId); return 1; } else { @@ -8426,8 +8474,7 @@ int daAlink_c::procWolfGrabPut() { } } - if (grabLineCheck(&field_0x34e0, &actor_p->current.pos) && dBgS_CheckBWallPoly(mObjLinChk)) - { + if (grabLineCheck(&field_0x34e0, &actor_p->current.pos) && dBgS_CheckBWallPoly(mObjLinChk)) { cXyz sp8 = actor_p->current.pos - mObjLinChk.GetCross(); current.pos.x -= sp8.x * 1.5f; current.pos.z -= sp8.z * 1.5f; @@ -8456,7 +8503,7 @@ int daAlink_c::procWolfGrabThrow() { setGrabItemThrow(); } - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { checkNextActionWolf(0); } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlGrab.m.mThrowAnm.mCancelFrame) { checkNextActionWolf(1); @@ -8469,15 +8516,15 @@ int daAlink_c::procWolfPushInit() { commonProcInit(PROC_WOLF_PUSH); mProcVar3.field_0x300e = 18; - s16 var_r5; + s16 end_frame; if (fopAcM_CheckCarryType(field_0x27f4, fopAcM_CARRY_TYPE_1)) { mProcVar2.field_0x300c = 1; - var_r5 = 24; + end_frame = 24; } else { mProcVar2.field_0x300c = 0; - var_r5 = mProcVar3.field_0x300e; + end_frame = mProcVar3.field_0x300e; } - setSingleAnimeWolf(WANM_PUSH_LIGHT, 1.0f, 0.0f, var_r5, 3.0f); + setSingleAnimeWolf(WANM_PUSH_LIGHT, 1.0f, 0.0f, end_frame, 3.0f); mUnderFrameCtrl[0].setAttribute(0); mNormalSpeed = 0.0f; @@ -8505,7 +8552,7 @@ int daAlink_c::procWolfPush() { field_0x2f99 = 4; - if (frameCtrl->checkAnmEnd()) { + if (checkAnmEnd(frameCtrl)) { if (mProcVar2.field_0x300c != 0) { setSingleAnimeWolf(WANM_PUSH_LIGHT, 1.0f, 0.0f, mProcVar3.field_0x300e, 3.0f); mUnderFrameCtrl[0].setAttribute(0); @@ -8522,7 +8569,9 @@ int daAlink_c::procWolfPush() { return 1; } -static fopAc_ac_c* daAlink_searchEnemyCargo(fopAc_ac_c* i_actor, void*) { +static fopAc_ac_c* daAlink_searchEnemyCargo(fopAc_ac_c* i_actor, void* i_data) { + UNUSED(i_data); + if (fopAcM_GetName(i_actor) == PROC_E_YC) { return i_actor; } @@ -8535,10 +8584,9 @@ int daAlink_c::procWolfCargoCarryInit() { return 1; } - f32 tmp_0 = 0.0f; - mNormalSpeed = tmp_0; - speed.y = tmp_0; - setSpecialGravity(tmp_0, maxFallSpeed, 0); + mNormalSpeed = 0.0f; + speed.y = 0.0f; + setSpecialGravity(0.0f, maxFallSpeed, 0); daAlink_WANM anm; if (checkCargoCarry()) { @@ -8575,8 +8623,7 @@ int daAlink_c::procWolfCargoCarry() { return checkNextActionWolf(0); } - daKago_c* kago_p = (daKago_c*)mCargoCarryAcKeep.getActor(); - mDoMtx_stack_c::copy(kago_p->getLegR3Mtx()); + mDoMtx_stack_c::copy(((daKago_c*)mCargoCarryAcKeep.getActor())->getLegR3Mtx()); mDoMtx_stack_c::transM(-9.0f, -17.0f, -30.0f); mDoMtx_stack_c::multVecZero(¤t.pos); mDoMtx_stack_c::ZXYrotM(-0x1928, 0x3FFF, 0); @@ -8589,8 +8636,7 @@ int daAlink_c::procWolfCargoCarry() { return checkNextActionWolf(0); } - e_yc_class* yc_p = (e_yc_class*)field_0x280c.getActor(); - mDoMtx_stack_c::copy(yc_p->getLegR3Mtx()); + mDoMtx_stack_c::copy(((e_yc_class*)field_0x280c.getActor())->getLegR3Mtx()); mDoMtx_stack_c::transM(-9.0f, -7.0f, -30.0f); mDoMtx_stack_c::multVecZero(¤t.pos); mDoMtx_stack_c::ZXYrotM(0x770C, 0, -0x4C94); @@ -8620,16 +8666,18 @@ int daAlink_c::procWolfChainUpInit() { int daAlink_c::procWolfChainUp() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - setWallGrabStatus(0x96, 2); + #if PLATFORM_GCN + setWallGrabStatus(BUTTON_STATUS_UNK_150, BUTTON_STATUS_FLAG_EMPHASIS); + #endif - if (frameCtrl->checkAnmEnd() || + if (checkAnmEnd(frameCtrl) || (checkInputOnR() && frameCtrl->getFrame() > mpHIO->mWolf.mWlGrab.m.mBoneGrabAnm.mCancelFrame)) { u8 old_2fa3 = field_0x2fa3; fopAc_ac_c* old_actor = field_0x2844.getActor(); procWolfWaitInit(); - setUpperAnimeBaseSpeed(m_wlAnmDataTable[WANM_CHAIN_PULL].field_0x0, 0.0f, 3.0f); + setUpperAnimeBaseSpeed(m_wlAnmDataTable[WANM_CHAIN_PULL].m_bckID, 0.0f, 3.0f); if (old_actor != NULL) { field_0x2fa3 = old_2fa3; @@ -8641,7 +8689,7 @@ int daAlink_c::procWolfChainUp() { } int daAlink_c::procWolfGanonCatchInit() { - if (!dComIfGp_event_compulsory(this, 0, 0xFFEF)) { + if (!dComIfGp_event_compulsory(this, NULL, 0xFFEF)) { return 0; } @@ -8749,55 +8797,64 @@ int daAlink_c::procWolfChainReadyInit() { int daAlink_c::procWolfChainReady() { daObjWchain_c* chain = static_cast(field_0x280c.getActor()); + daPy_frameCtrl_c* framectrl = mUnderFrameCtrl; + if (chain == NULL || mLinkAcch.ChkWallHit()) { return procWolfFallInit(2, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); - } else if (mUnderFrameCtrl[0].getFrame() < 3.0f) { - s16 target_angle_y = cLib_targetAngleY(¤t.pos, &chain->getJumpAimPos()); - cLib_addCalcAngleS(&shape_angle.y, target_angle_y, 2, 0x2000, 0x800); + } else if (framectrl->getFrame() < 3.0f) { + cLib_addCalcAngleS(&shape_angle.y, cLib_targetAngleY(¤t.pos, &chain->getJumpAimPos()), 2, 0x2000, 0x800); current.angle.y = shape_angle.y; } else if (mProcVar3.field_0x300e == 0) { shape_angle.y = cLib_targetAngleY(¤t.pos, &chain->getJumpAimPos()); current.angle.y = shape_angle.y; mProcVar3.field_0x300e = 1; + cXyz vec1 = chain->getJumpAimPos() - field_0x34e0; f32 dist_xz = vec1.absXZ(); f32 dist = vec1.abs(); - s16 angle = vec1.atan2sY_XZ(); - mProcVar2.field_0x300c = angle >> 1; + mProcVar2.field_0x300c = vec1.atan2sY_XZ() >> 1; mNormalSpeed = dist_xz * 40.0f / dist + 1.0f; mProcVar0.field_0x3008 = dist_xz / mNormalSpeed + 1.0f; speed.y = (vec1.y - gravity * 0.5f * mProcVar0.field_0x3008 * mProcVar0.field_0x3008) / mProcVar0.field_0x3008; } else { mProcVar0.field_0x3008--; + if (chain->getJumpAimPos().abs2(field_0x34e0) < 10000.0f) { procWolfChainWaitInit(); } else if (mProcVar0.field_0x3008 == 0) { procWolfFallInit(2, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } } + return 1; } int daAlink_c::procWolfChainWaitInit() { daObjWchain_c* chain = static_cast(field_0x280c.getActor()); + commonProcInit(PROC_WOLF_CHAIN_WAIT); setSingleAnimeWolfParam(WANM_HANDLE_HANG, &mpHIO->mWolf.mWlChain.m.mLoweringStartAnm); + mProcVar1.field_0x300a = 0; chain->onRide(); field_0x2f99 = 0x50; + current.pos = chain->getTopPos(); setSpecialGravity(0.0f, maxFallSpeed, 0); speed.y = 0.0f; + mProcVar4.field_0x3010 = 0; mProcVar0.field_0x3008 = mpHIO->mWolf.mWlChain.m.mTensionWaitTime + 20; field_0x3478 = chain->getPullLength(); current.angle.y = shape_angle.y; + if (mNormalSpeed > 30.0f) { mNormalSpeed = 15.0f; } else { mNormalSpeed *= 0.5f; } + field_0x37c8.set(mNormalSpeed * cM_ssin(shape_angle.y), 0.0f, mNormalSpeed * cM_scos(shape_angle.y)); mNormalSpeed = 0.0f; @@ -8841,14 +8898,16 @@ int daAlink_c::procWolfChainWait() { cXyz vec1 = current.pos - chain->getRoofPos(); if (checkInputOnR()) { - vec1.x += field_0x33a8 * cM_ssin(field_0x2fe2); - vec1.z += field_0x33a8 * cM_scos(field_0x2fe2); + vec1.x += mStickValue * cM_ssin(mMoveAngle); + vec1.z += mStickValue * cM_scos(mMoveAngle); } + vec1.y -= 15.0f; vec1 += field_0x37c8; vec1.normalizeZP(); current.pos = chain->getRoofPos() + vec1 * (field_0x3478 + chain->getInitOutLength()); field_0x37c8 = (current.pos - field_0x3798) * 0.95f; + mDoMtx_stack_c::YrotS(-shape_angle.y); mDoMtx_stack_c::multVec(&vec1, &vec1); shape_angle.x = cM_atan2s(-vec1.z, -vec1.y); @@ -8856,18 +8915,19 @@ int daAlink_c::procWolfChainWait() { mProcVar2.field_0x300c = shape_angle.x; daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0]; - if (mProcVar1.field_0x300a != 0 || frame_ctrl->checkAnmEnd()) { + if (mProcVar1.field_0x300a != 0 || checkAnmEnd(frame_ctrl)) { daAlink_WANM anm; - f32 f1, f2, f3; + f32 anmSpeed, morf, f3; if (checkInputOnR()) { anm = WANM_HANDLE_HANG_SW; - f1 = mpHIO->mWolf.mWlChain.m.mWaitAnmSpeed; - f2 = mpHIO->mWolf.mWlChain.m.mWaitInterp; + anmSpeed = mpHIO->mWolf.mWlChain.m.mWaitAnmSpeed; + morf = mpHIO->mWolf.mWlChain.m.mWaitInterp; } else { anm = WANM_HANDLE_HANG_WAIT; - f1 = mpHIO->mWolf.mWlChain.m.mSwingAnmSpeed; - f2 = mpHIO->mWolf.mWlChain.m.mSwingInterp; + anmSpeed = mpHIO->mWolf.mWlChain.m.mSwingAnmSpeed; + morf = mpHIO->mWolf.mWlChain.m.mSwingInterp; } + if (anm != mUnderAnmHeap[0].getIdx()) { if (mProcVar1.field_0x300a == 0) { mProcVar1.field_0x300a = 1; @@ -8875,7 +8935,7 @@ int daAlink_c::procWolfChainWait() { } else { f3 = frame_ctrl->getFrame() / frame_ctrl->getEnd(); } - setSingleAnimeWolfBaseSpeed(anm, f1, f2); + setSingleAnimeWolfBaseSpeed(anm, anmSpeed, morf); frame_ctrl->setFrame(f3 * frame_ctrl->getEnd()); } } @@ -8885,12 +8945,12 @@ int daAlink_c::procWolfChainWait() { } int daAlink_c::procWolfDigInit() { - BOOL var_r28 = 1; + BOOL var_r28 = TRUE; if (checkEndResetFlg1(ERFLG1_UNK_100000) && field_0x27f4 != NULL && fopAcM_GetName(field_0x27f4) == PROC_Obj_Digpl) { int type = ((daObjDigpl_c*)field_0x27f4)->getType(); if (type == 0 || type == 2 || type == 3) { - var_r28 = 0; + var_r28 = FALSE; } } @@ -8963,28 +9023,28 @@ int daAlink_c::procWolfDigInit() { field_0x37c8.set(current.pos.x + (50.0f * cM_ssin(shape_angle.y)), current.pos.y, current.pos.z + (50.0f * cM_scos(shape_angle.y))); } - s16 var_r26; + s16 end_frame; if (mProcVar2.mDigType == 0 || mProcVar2.mDigType == 2 || mProcVar2.mDigType == 3) { - var_r26 = 59; + end_frame = 59; field_0x3478 = 51.0f; } else if (mProcVar2.mDigType == 1) { - var_r26 = 33; + end_frame = 33; field_0x3478 = 100.0f; dCam_getBody()->SetTrimTypeForce(3); } else { - var_r26 = mpHIO->mWolf.mWlChain.m.mDigAnm.mEndFrame; + end_frame = mpHIO->mWolf.mWlChain.m.mDigAnm.mEndFrame; field_0x3478 = 66.0f; } - f32 var_f31; + f32 start_frame; if (checkEndResetFlg1(ERFLG1_UNK_100000)) { - var_f31 = 0.0f; + start_frame = 0.0f; } else { - var_f31 = 29.0f; - var_r26 = 59; + start_frame = 29.0f; + end_frame = 59; } - setSingleAnimeWolf(WANM_DIG, mpHIO->mWolf.mWlChain.m.mDigAnm.mSpeed, var_f31, var_r26, mpHIO->mWolf.mWlChain.m.mDigAnm.mInterpolation); + setSingleAnimeWolf(WANM_DIG, mpHIO->mWolf.mWlChain.m.mDigAnm.mSpeed, start_frame, end_frame, mpHIO->mWolf.mWlChain.m.mDigAnm.mInterpolation); mNormalSpeed = 0.0f; field_0x3588 = l_wolfBaseAnime; mProcVar3.mDigChangeArea = false; @@ -9035,6 +9095,7 @@ int daAlink_c::procWolfDig() { dComIfG_Bgsp().MoveBgCrrPos(mLinkAcch.m_gnd, mLinkAcch.ChkGroundHit(), &field_0x37c8, NULL, NULL, false, false); field_0x37d4 += field_0x37c8 - sp14; + BOOL var_r28 = FALSE; if (mProcVar3.mDigChangeArea) { if (frame_ctrl->getFrame() >= 25.0f) { onSceneChangeArea(mProcVar4.mDigExitID, 0xFF, NULL); @@ -9093,10 +9154,17 @@ int daAlink_c::procWolfDig() { int daAlink_c::procWolfDigThroughInit(int param_0) { static const u16 snowID[] = { - 0x884D, 0x884E, 0x8851, 0x8852, + dPa_RM(ID_ZI_S_DIGTHROUGHSNOW_A), + dPa_RM(ID_ZI_S_DIGTHROUGHSNOW_B), + dPa_RM(ID_ZI_S_DIGTHROUGHSNOW_C), + dPa_RM(ID_ZI_S_DIGTHROUGHSNOW_D), }; + static const u16 smokeID[] = { - 0x83A0, 0x83A1, 0x83A4, 0x83A5, + dPa_RM(ID_ZI_S_DIGTHROUGHA_A), + dPa_RM(ID_ZI_S_DIGTHROUGHA_B), + dPa_RM(ID_ZI_S_DIGTHROUGHA_C), + dPa_RM(ID_ZI_S_DIGTHROUGHA_D), }; if (param_0 != 0) { @@ -9109,7 +9177,7 @@ int daAlink_c::procWolfDigThroughInit(int param_0) { commonProcInit(PROC_WOLF_DIG_THROUGH); - int var_r27 = field_0x2fbb; + int poly_att = mGndPolyAtt0; if (param_0 == 0) { if (fopAcM_seenActorAngleY(field_0x27f4, this) <= 0x4000) { @@ -9135,7 +9203,7 @@ int daAlink_c::procWolfDigThroughInit(int param_0) { cXyz sp8(current.pos.x, 30.0f + field_0x27f4->current.pos.y, current.pos.z); if (fopAcM_gc_c::gndCheck(&sp8)) { - var_r27 = fopAcM_gc_c::getPolyAtt0(); + poly_att = fopAcM_gc_c::getPolyAtt0(); } } else { field_0x3198 = -1; @@ -9146,15 +9214,20 @@ int daAlink_c::procWolfDigThroughInit(int param_0) { mProcVar5.field_0x3012 = param_0; - const u16* var_r29 = var_r27 == 13 ? snowID : smokeID; - for (int i = 0; i < 4; i++) { - dComIfGp_particle_set(*var_r29, ¤t.pos, &shape_angle, NULL); - var_r29++; + const u16* effList; + if (poly_att == 13) { + effList = snowID; + } else { + effList = smokeID; + } + + for (int i = 0; i < 4; i++, effList++) { + dComIfGp_particle_set(*effList, ¤t.pos, &shape_angle, NULL); } seStartOnlyReverb(Z2SE_WOLF_DIG_HOLE_THROUGH); setSingleAnimeWolfBase(WANM_DIG_UNDER); - setFaceBasicTexture(FTANM_UNK_99); + setFaceBasicTexture(FTANM_WL_THROUGH); mNormalSpeed = 0.0f; speed.y = 0.0f; @@ -9205,28 +9278,28 @@ int daAlink_c::procWolfDigThrough() { void daAlink_c::setSmellSave() { if (dComIfGs_getCollectSmell() == fpcNm_ITEM_SMELL_MEDICINE) { - dComIfGs_offEventBit(0x2F04); // OFF: Got Medicine Scent + dComIfGs_offEventBit(dSv_event_flag_c::F_0387); } dMsgObject_setSmellType(mProcVar5.field_0x3012); if (mProcVar5.field_0x3012 == fpcNm_ITEM_SMELL_MEDICINE) { - dComIfGs_onEventBit(0x2F04); // ON: Got Medicine Scent + dComIfGs_onEventBit(dSv_event_flag_c::F_0387); } else if (mProcVar5.field_0x3012 == fpcNm_ITEM_SMELL_CHILDREN) { fopAcM_onSwitch(this, 102); } else if (mProcVar5.field_0x3012 == fpcNm_ITEM_SMELL_YELIA_POUCH) { fopAcM_onSwitch(this, 103); } else if (mProcVar5.field_0x3012 == fpcNm_ITEM_SMELL_FISH) { - dComIfGs_onEventBit(0x6120); // ON: Got Reekfish scent + dComIfGs_onEventBit(dSv_event_flag_c::F_0801); } else if (mProcVar5.field_0x3012 == fpcNm_ITEM_SMELL_POH) { - dComIfGs_onEventBit(0x6210); // ON: Got Poe scent + dComIfGs_onEventBit(dSv_event_flag_c::F_0810); } setGetSubBgm(mProcVar5.field_0x3012); } int daAlink_c::procWolfGetSmellInit() { - if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { return 0; } diff --git a/src/d/actor/d_a_andsw.cpp b/src/d/actor/d_a_andsw.cpp index 01e50a0a9b..463f2b852c 100644 --- a/src/d/actor/d_a_andsw.cpp +++ b/src/d/actor/d_a_andsw.cpp @@ -16,8 +16,8 @@ daAndsw_HIO_c::daAndsw_HIO_c() { } void daAndsw_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("SW監視", 0, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genCheckBox("SW状態出力", &field_0x6, 0x01, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); + ctx->genLabel("SW監視", 0); + ctx->genCheckBox("SW状態出力", &field_0x6, 0x01); } #endif @@ -99,7 +99,8 @@ static int daAndsw_Delete(daAndsw_c* i_this) { } static int daAndsw_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daAndsw_c, i_this, "Andsw"); + daAndsw_c* a_this = (daAndsw_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Andsw"); return a_this->create(); } diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index fc26f70eb7..920448ce24 100644 --- a/src/d/actor/d_a_arrow.cpp +++ b/src/d/actor/d_a_arrow.cpp @@ -1132,7 +1132,7 @@ static void* daAlink_searchHorseZelda(fopAc_ac_c* param_0, void* param_1) { return NULL; } -cPhs__Step daArrow_c::create() { +cPhs_Step daArrow_c::create() { fopAcM_ct(this, daArrow_c); mArrowType = fopAcM_GetParamBit(this, 8, 8); diff --git a/src/d/actor/d_a_b_bh.cpp b/src/d/actor/d_a_b_bh.cpp index a114328562..777fa09d40 100644 --- a/src/d/actor/d_a_b_bh.cpp +++ b/src/d/actor/d_a_b_bh.cpp @@ -55,11 +55,11 @@ daB_BH_HIO_c::daB_BH_HIO_c() { #if DEBUG void daB_BH_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" ボスデグババ手", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("本体サイズ", &model_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("攻撃頻度\x87\x40", &attack_freq_a, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("攻撃頻度\x87\x41", &attack_freq_b, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("ダウン→復活時間", &down_revive_time, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); + ctx->genLabel(" ボスデグババ手", 0x80000001); + ctx->genSlider("本体サイズ", &model_size, 0.0f, 5.0f); + ctx->genSlider("攻撃頻度\x87\x40", &attack_freq_a, 0, 1000); + ctx->genSlider("攻撃頻度\x87\x41", &attack_freq_b, 0, 1000); + ctx->genSlider("ダウン→復活時間", &down_revive_time, 0, 1000); } #endif @@ -1409,7 +1409,7 @@ static int daB_BH_IsDelete(b_bh_class* i_this) { static int daB_BH_Delete(b_bh_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; - fpc_ProcID id = fopAcM_GetID(a_this); + fopAcM_RegisterDeleteID(a_this, "B_BH"); dComIfG_resDelete(&i_this->mPhase, "B_BH"); if (i_this->mInitHIO) { diff --git a/src/d/actor/d_a_b_bq.cpp b/src/d/actor/d_a_b_bq.cpp index eb2d9f0247..17ef77cdf0 100644 --- a/src/d/actor/d_a_b_bq.cpp +++ b/src/d/actor/d_a_b_bq.cpp @@ -2306,7 +2306,7 @@ static int daB_BQ_Execute(b_bq_class* i_this) { dComIfG_Ccsp()->Set(&i_this->mCcCoreSph); sp50 = a_this->eyePos; - if (daPy_getPlayerActorClass()->getCutType() != 0x27 && i_this->mAction >= ACTION_DAMAGE) { + if (daPy_getPlayerActorClass()->getCutType() != daPy_py_c::CUT_TYPE_DOWN && i_this->mAction >= ACTION_DAMAGE) { sp50.y = player->current.pos.y + 70.0f + KREG_F(7); } else { sp50.x -= 20000.0f; diff --git a/src/d/actor/d_a_b_dr.cpp b/src/d/actor/d_a_b_dr.cpp index 4bb3e1c98d..b9c5fc548e 100644 --- a/src/d/actor/d_a_b_dr.cpp +++ b/src/d/actor/d_a_b_dr.cpp @@ -1813,7 +1813,7 @@ void daB_DR_c::executeWeekHit() { dComIfGp_particle_set(0x8999, &sp50, NULL, NULL); dComIfGp_particle_set(0x899A, &sp50, NULL, NULL); - if (health <= 0 || player->getCutType() == 0x20) { + if (health <= 0 || player->getCutType() == daPy_py_c::CUT_TYPE_FINISH_STAB) { health = 0; mSound.startCollisionSE(Z2SE_HIT_SWORD, 0x20); diff --git a/src/d/actor/d_a_b_ds.cpp b/src/d/actor/d_a_b_ds.cpp index 99795f5bee..88b5c8042a 100644 --- a/src/d/actor/d_a_b_ds.cpp +++ b/src/d/actor/d_a_b_ds.cpp @@ -5426,10 +5426,10 @@ static int useHeapInit(fopAc_ac_c* i_this) { return static_cast(i_this)->CreateHeap(); } -cPhs__Step daB_DS_c::create() { +cPhs_Step daB_DS_c::create() { fopAcM_ct(this, daB_DS_c); - cPhs__Step phase_state = (cPhs__Step)dComIfG_resLoad(&mPhase, "B_DS"); + cPhs_Step phase_state = dComIfG_resLoad(&mPhase, "B_DS"); if (phase_state == cPhs_COMPLEATE_e) { if (arg0 == TYPE_BATTLE_1 && dComIfGs_isStageBossEnemy()) { // "After B_DS defeated, so not re-setting\n" @@ -5676,7 +5676,7 @@ cPhs__Step daB_DS_c::create() { daB_DS_c::daB_DS_c() {} -static cPhs__Step daB_DS_Create(daB_DS_c* i_this) { +static cPhs_Step daB_DS_Create(daB_DS_c* i_this) { return i_this->create(); } diff --git a/src/d/actor/d_a_b_gnd.cpp b/src/d/actor/d_a_b_gnd.cpp index 1bc70756d5..6349ee995a 100644 --- a/src/d/actor/d_a_b_gnd.cpp +++ b/src/d/actor/d_a_b_gnd.cpp @@ -3300,8 +3300,8 @@ static void demo_camera(b_gnd_class* i_this) { sp114.y = 0.0f; sp114.z = 135.0f; MtxPosition(&sp114, &sp108); - a_this->current.pos.x = sp108.x + player->field_0x5f8.x; - a_this->current.pos.z = sp108.z + player->field_0x5f8.z; + a_this->current.pos.x = sp108.x + player->mViewerCurrentPos.x; + a_this->current.pos.z = sp108.z + player->mViewerCurrentPos.z; a_this->current.angle.y = player->shape_angle.y + 0x8000; spF0 = a_this->current.pos + ((*player->getViewerCurrentPosP() - a_this->current.pos) * 0.5f); @@ -4787,7 +4787,7 @@ static int daB_GND_Create(fopAc_ac_c* a_this) { l_HIO.no = mDoHIO_CREATE_CHILD("ガノンドロフ", &l_HIO); } - a_this->attention_info.distances[2] = 36; + a_this->attention_info.distances[fopAc_attn_BATTLE_e] = 36; fopAcM_SetMtx(a_this, i_this->mpModelMorf->getModel()->getBaseTRMtx()); fopAcM_SetMin(a_this, -400.0f, -200.0f, -400.0f); diff --git a/src/d/actor/d_a_b_mgn.cpp b/src/d/actor/d_a_b_mgn.cpp index 51c8fe8684..8cb9ca1ae9 100644 --- a/src/d/actor/d_a_b_mgn.cpp +++ b/src/d/actor/d_a_b_mgn.cpp @@ -197,14 +197,14 @@ daB_MGN_HIO_c::daB_MGN_HIO_c() { #if DEBUG void daB_MGN_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" 豚ガノン", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("基本サイズ", &base_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("ダッシュ速度", &dash_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("旋回速度", &turn_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("ダッシュアニメ", &dash_anim, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("宝石R", &jewel_R, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("宝石G", &jewel_G, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("宝石B", &jewel_B, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel(" 豚ガノン", 0x80000001); + ctx->genSlider("基本サイズ", &base_size, 0.0f, 5.0f); + ctx->genSlider("ダッシュ速度", &dash_speed, 0.0f, 100.0f); + ctx->genSlider("旋回速度", &turn_speed, 0.0f, 100.0f); + ctx->genSlider("ダッシュアニメ", &dash_anim, 0.0f, 10.0f); + ctx->genSlider("宝石R", &jewel_R, 0.0f, 100.0f); + ctx->genSlider("宝石G", &jewel_G, 0.0f, 100.0f); + ctx->genSlider("宝石B", &jewel_B, 0.0f, 100.0f); } #endif @@ -1115,8 +1115,8 @@ void daB_MGN_c::damage_check() { dComIfGs_onOneZoneSwitch(6, fopAcM_GetRoomNo(this)); } - if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_WOLF_ATTACK) && player->getCutType() != 44 && - player->getCutType() != 45 && player->onWolfEnemyHangBite(this)) + if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_WOLF_ATTACK) && player->getCutType() != daPy_py_c::CUT_TYPE_WOLF_B_LEFT && + player->getCutType() != daPy_py_c::CUT_TYPE_WOLF_B_RIGHT && player->onWolfEnemyHangBite(this)) { setActionMode(ACTION_DOWN_BITE_DAMAGE_e, 0); return; @@ -3379,14 +3379,10 @@ int daB_MGN_c::_delete() { } static int daB_MGN_Delete(daB_MGN_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "B_MGN"); return i_this->_delete(); } -#if DEBUG -char* const unused = "Delete -> B_MGN(id=%d)\n"; -#endif - int daB_MGN_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("B_mgn", BMDR_MGN); JUT_ASSERT(4010, modelData != NULL); diff --git a/src/d/actor/d_a_b_tn.cpp b/src/d/actor/d_a_b_tn.cpp index 6febefa837..608cbf6336 100644 --- a/src/d/actor/d_a_b_tn.cpp +++ b/src/d/actor/d_a_b_tn.cpp @@ -1121,7 +1121,7 @@ u32 daB_TN_c::getCutType() { case daPy_py_c::CUT_TYPE_NM_RIGHT: case daPy_py_c::CUT_TYPE_FINISH_LEFT: case daPy_py_c::CUT_TYPE_FINISH_VERTICAL: - case daPy_py_c::CUT_TYPE_DASH_UNK_26: + case daPy_py_c::CUT_TYPE_DASH_RIGHT: return rv | 0x12; case daPy_py_c::CUT_TYPE_NM_STAB: @@ -1129,7 +1129,7 @@ u32 daB_TN_c::getCutType() { return rv | 0x02; case daPy_py_c::CUT_TYPE_NM_LEFT: - case daPy_py_c::CUT_TYPE_DASH_UNK_25: + case daPy_py_c::CUT_TYPE_DASH_LEFT: return rv | 0x21; case daPy_py_c::CUT_TYPE_COMBO_STAB: @@ -1344,8 +1344,8 @@ void daB_TN_c::damage_check() { if (cut_type == daPy_py_c::CUT_TYPE_LARGE_JUMP_FINISH) { return; } else if (mActionMode1 < 8) { - if (cut_type == daPy_py_c::CUT_TYPE_DASH_UNK_25 || - cut_type == daPy_py_c::CUT_TYPE_DASH_UNK_26 || + if (cut_type == daPy_py_c::CUT_TYPE_DASH_LEFT || + cut_type == daPy_py_c::CUT_TYPE_DASH_RIGHT || mAtInfo.mpCollider->ChkAtType(AT_TYPE_UNK)) { setShieldEffect(&dStack_160); @@ -1403,8 +1403,8 @@ void daB_TN_c::damage_check() { if (mTimer10 != 0 || abs((s16)(fopAcM_searchPlayerAngleY(this) - shape_angle.y)) < 0x3000 || - cut_type == daPy_py_c::CUT_TYPE_DASH_UNK_25 || - cut_type == daPy_py_c::CUT_TYPE_DASH_UNK_26) + cut_type == daPy_py_c::CUT_TYPE_DASH_LEFT || + cut_type == daPy_py_c::CUT_TYPE_DASH_RIGHT) { field_0xaa8 = false; setShieldEffect(&dStack_160); @@ -5048,9 +5048,9 @@ int daB_TN_c::create() { } } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq1, "B_tn"); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq1, "B_tn"); if (step == cPhs_COMPLEATE_e) { - step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq2, mArcName); + step = dComIfG_resLoad(&mPhaseReq2, mArcName); if (step == cPhs_COMPLEATE_e) { mBrkAnmFrame = fopAcM_GetParamBit(this, 16, 16); diff --git a/src/d/actor/d_a_b_yo.cpp b/src/d/actor/d_a_b_yo.cpp index 5029eec6d8..70a7d42391 100644 --- a/src/d/actor/d_a_b_yo.cpp +++ b/src/d/actor/d_a_b_yo.cpp @@ -3242,9 +3242,9 @@ static int useHeapInit2(fopAc_ac_c* i_this) { return static_cast(i_this)->CreateHeap2(); } -cPhs__Step daB_YO_c::create() { +cPhs_Step daB_YO_c::create() { fopAcM_ct(this, daB_YO_c); - cPhs__Step step; + cPhs_Step step; mSwNo = fopAcM_GetParam(this) & 0xff; mSwNo2 = (fopAcM_GetParam(this) >> 8) & 0xff; @@ -3258,7 +3258,7 @@ cPhs__Step daB_YO_c::create() { mIsInactive2 = mIsInactive; if (mIsInactive == 1) { - step = (cPhs__Step)dComIfG_resLoad(&mPhase2, "L5_R50"); + step = dComIfG_resLoad(&mPhase2, "L5_R50"); if (step == cPhs_COMPLEATE_e) { if (!daMirror_c::remove()) { @@ -3292,11 +3292,11 @@ cPhs__Step daB_YO_c::create() { return step; } else { - if ((step = (cPhs__Step)dComIfG_resLoad(&mPhase1, "B_YO"), step == cPhs_COMPLEATE_e) - && (step = (cPhs__Step)dComIfG_resLoad(&mPhase2, "L5_R50"), step == cPhs_COMPLEATE_e) - && (step = (cPhs__Step)dComIfG_resLoad(&mPhase3, "ykW"), step == cPhs_COMPLEATE_e) - && (step = (cPhs__Step)dComIfG_resLoad(&mPhase4, "ykW1"), step == cPhs_COMPLEATE_e) - && (step = (cPhs__Step)dComIfG_resLoad(&mPhase5, "E_FZ"), step == cPhs_COMPLEATE_e)) + if ((step = dComIfG_resLoad(&mPhase1, "B_YO"), step == cPhs_COMPLEATE_e) + && (step = dComIfG_resLoad(&mPhase2, "L5_R50"), step == cPhs_COMPLEATE_e) + && (step = dComIfG_resLoad(&mPhase3, "ykW"), step == cPhs_COMPLEATE_e) + && (step = dComIfG_resLoad(&mPhase4, "ykW1"), step == cPhs_COMPLEATE_e) + && (step = dComIfG_resLoad(&mPhase5, "E_FZ"), step == cPhs_COMPLEATE_e)) { if (cDmr_SkipInfo != 0 && !daMirror_c::remove()) { return cPhs_INIT_e; @@ -3412,7 +3412,7 @@ cPhs__Step daB_YO_c::create() { } } -static cPhs__Step daB_YO_Create(daB_YO_c* i_this) { +static cPhs_Step daB_YO_Create(daB_YO_c* i_this) { return i_this->create(); } diff --git a/src/d/actor/d_a_b_yo_ice.cpp b/src/d/actor/d_a_b_yo_ice.cpp index 085fb1e0d7..ca2c8e130b 100644 --- a/src/d/actor/d_a_b_yo_ice.cpp +++ b/src/d/actor/d_a_b_yo_ice.cpp @@ -1010,9 +1010,9 @@ static int useHeapInit(fopAc_ac_c* i_this) { } // data/rodata swap -cPhs__Step daB_YOI_c::create() { +cPhs_Step daB_YOI_c::create() { fopAcM_ct(this, daB_YOI_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, "B_YO"); + cPhs_Step step = dComIfG_resLoad(&mPhase, "B_YO"); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x1CA0)) { @@ -1087,7 +1087,7 @@ daB_YOI_c::daB_YOI_c() { /* empty function */ } -static cPhs__Step daB_YOI_Create(daB_YOI_c* i_this) { +static cPhs_Step daB_YOI_Create(daB_YOI_c* i_this) { return i_this->create(); } diff --git a/src/d/actor/d_a_balloon_2D.cpp b/src/d/actor/d_a_balloon_2D.cpp index 3d7b126d43..f19c81c90b 100644 --- a/src/d/actor/d_a_balloon_2D.cpp +++ b/src/d/actor/d_a_balloon_2D.cpp @@ -589,123 +589,75 @@ static int daBalloon2D_draw(daBalloon2D_c* i_this) { #if DEBUG void daBalloon2D_HIO_c::genMessage(JORMContext* ctx) { - ctx->genCheckBox("調整ON", &m.mAdjustmentToggle, 1, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - ctx->genSlider("スコア", &m.mScore, 0, 99999, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("コンボ数", &m.mComboCount, 0, 99, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->startComboBox("風船のサイズ", &m.mBalloonSize, 0, NULL, 0xffff, 0xffff, 0x100, - 0x1a); + ctx->genCheckBox("調整ON", &m.mAdjustmentToggle, 0x1); + ctx->genSlider("スコア", &m.mScore, 0, 99999); + ctx->genSlider("コンボ数", &m.mComboCount, 0, 99); + ctx->startComboBox("風船のサイズ", &m.mBalloonSize); ctx->genComboBoxItem("大", 0); // large ctx->genComboBoxItem("中", 1); // medium ctx->genComboBoxItem("小", 2); // small ctx->endComboBox(); - ctx->genCheckBox("頭上スコアON", &m.mOverheadScoreToggle, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("頭上スコア", &m.mOverheadScore, 0, 99999, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genLabel("*****「SCORE」(score_tn)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.mScorePosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.mScorePosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.mScoreSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genCheckBox("頭上スコアON", &m.mOverheadScoreToggle, 0x1); + ctx->genSlider("頭上スコア", &m.mOverheadScore, 0, 99999); + ctx->genLabel("*****「SCORE」(score_tn)*****", 0); + ctx->genSlider("位置X", &m.mScorePosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.mScorePosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.mScoreSize, 0.0, 3.0); // 5-digit number - ctx->genLabel("*****5ケタの数字(suji_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.m5DNumberPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.m5DNumberPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズX", &m.m5DNumberSizeX, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズY", &m.m5DNumberSizeY, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("アルファ", &m.m5DNumberAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel("*****5ケタの数字(suji_n)*****", 0); + ctx->genSlider("位置X", &m.m5DNumberPosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.m5DNumberPosY, -300.0, 300.0); + ctx->genSlider("サイズX", &m.m5DNumberSizeX, 0.0, 3.0); + ctx->genSlider("サイズY", &m.m5DNumberSizeY, 0.0, 3.0); + ctx->genSlider("アルファ", &m.m5DNumberAlpha, 0.0, 1.0); // "SCORE" & 5-digit number - ctx->genLabel("*****「SCORE」&5ケタの数字(suji_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.m5DNumber2PosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.m5DNumber2PosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.m5DNumber2Size, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genLabel("*****「+」(tas_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.mUnkPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.mUnkPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.mUnkSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genLabel("*****「COMBO」\u3000(combo_tn)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.mComboPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.mComboPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.mComboSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genLabel("*****2ケタの数字(num_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.m2DNumberPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.m2DNumberPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズX", &m.m2DNumberSizeX, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズY", &m.m2DNumberSizeY, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel("*****「SCORE」&5ケタの数字(suji_n)*****", 0); + ctx->genSlider("位置X", &m.m5DNumber2PosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.m5DNumber2PosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.m5DNumber2Size, 0.0, 3.0); + ctx->genLabel("*****「+」(tas_n)*****", 0); + ctx->genSlider("位置X", &m.mUnkPosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.mUnkPosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.mUnkSize, 0.0, 3.0); + ctx->genLabel("*****「COMBO」\u3000(combo_tn)*****", 0); + ctx->genSlider("位置X", &m.mComboPosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.mComboPosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.mComboSize, 0.0, 3.0); + ctx->genLabel("*****2ケタの数字(num_n)*****", 0); + ctx->genSlider("位置X", &m.m2DNumberPosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.m2DNumberPosY, -300.0, 300.0); + ctx->genSlider("サイズX", &m.m2DNumberSizeX, 0.0, 3.0); + ctx->genSlider("サイズY", &m.m2DNumberSizeY, 0.0, 3.0); // "+" & 2-digit number & "COMBO" - ctx->genLabel("*****「+」&2ケタの数字&「COMBO」(co_set_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.m2DNumberComboPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.m2DNumberComboPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.m2DNumberComboSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("アルファ", &m.m2DNumberComboAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel("*****「+」&2ケタの数字&「COMBO」(co_set_n)*****", 0); + ctx->genSlider("位置X", &m.m2DNumberComboPosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.m2DNumberComboPosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.m2DNumberComboSize, 0.0, 3.0); + ctx->genSlider("アルファ", &m.m2DNumberComboAlpha, 0.0, 1.0); // balloon "large" - ctx->genLabel("*****風船「大」(bal_1_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.mBalloonLargePosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.mBalloonLargePosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.mBalloonLargeSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("アルファ", &m.mBalloonLargeAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel("*****風船「大」(bal_1_n)*****", 0); + ctx->genSlider("位置X", &m.mBalloonLargePosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.mBalloonLargePosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.mBalloonLargeSize, 0.0, 3.0); + ctx->genSlider("アルファ", &m.mBalloonLargeAlpha, 0.0, 1.0); // balloon "medium" - ctx->genLabel("*****風船「中」(bal_2_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.mBalloonMedPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.mBalloonMedPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.mBalloonMedSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("アルファ", &m.mBalloonMedAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel("*****風船「中」(bal_2_n)*****", 0); + ctx->genSlider("位置X", &m.mBalloonMedPosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.mBalloonMedPosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.mBalloonMedSize, 0.0, 3.0); + ctx->genSlider("アルファ", &m.mBalloonMedAlpha, 0.0, 1.0); // balloon "small" - ctx->genLabel("*****風船「小」(bal_3_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("位置X", &m.mBalloonSmallPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.mBalloonSmallPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.mBalloonSmallSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("アルファ", &m.mBalloonSmallAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel("*****風船「小」(bal_3_n)*****", 0); + ctx->genSlider("位置X", &m.mBalloonSmallPosX, -300.0, 300.0); + ctx->genSlider("位置Y", &m.mBalloonSmallPosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.mBalloonSmallSize, 0.0, 3.0); + ctx->genSlider("アルファ", &m.mBalloonSmallAlpha, 0.0, 1.0); // "Balloon" & "+" & two-digit number & "COMBO" - ctx->genLabel("*****「風船」&「+」&2ケタの数字&「COMBO」(ba_com_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("位置X", &m.m2DNumberCombo2PosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置X(4:3)", &m.m2DNumberCombo2PosX43, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("位置Y", &m.m2DNumberCombo2PosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("サイズ", &m.m2DNumberCombo2Size, 0.0, 3.0, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel("*****「風船」&「+」&2ケタの数字&「COMBO」(ba_com_n)*****", 0); + ctx->genSlider("位置X", &m.m2DNumberCombo2PosX, -300.0, 300.0); + ctx->genSlider("位置X(4:3)", &m.m2DNumberCombo2PosX43, -300.0, 300.0); + ctx->genSlider("位置Y", &m.m2DNumberCombo2PosY, -300.0, 300.0); + ctx->genSlider("サイズ", &m.m2DNumberCombo2Size, 0.0, 3.0); } #endif diff --git a/src/d/actor/d_a_bd.cpp b/src/d/actor/d_a_bd.cpp index a97746ce2a..f006f90dbe 100644 --- a/src/d/actor/d_a_bd.cpp +++ b/src/d/actor/d_a_bd.cpp @@ -71,15 +71,13 @@ daBd_HIO_c::daBd_HIO_c() { #if DEBUG /* daBd_HIO_c::genMessage (JORMContext *) */ void daBd_HIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("小鳥", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("基本大きさ", &mBasicSize, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("飛行速度", &mFlightSpeed, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("地上速度", &mGroundSpeed, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("飛行時間(およそ)", &mFlightTime, 0, 30000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 24); - mctx->genSlider("リンク認識距離", &mLinkDetectRange, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 24); - mctx->genSlider("羽LevelSE鳴る距離", &mChirpDist, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + mctx->genLabel("小鳥", 0x80000001); + mctx->genSlider("基本大きさ", &mBasicSize, 0.0f, 5.0f); + mctx->genSlider("飛行速度", &mFlightSpeed, 0.0f, 50.0f); + mctx->genSlider("地上速度", &mGroundSpeed, 0.0f, 20.0f); + mctx->genSlider("飛行時間(およそ)", &mFlightTime, 0, 30000); + mctx->genSlider("リンク認識距離", &mLinkDetectRange, 0.0f, 2000.0f); + mctx->genSlider("羽LevelSE鳴る距離", &mChirpDist, 0, 1000); } #endif diff --git a/src/d/actor/d_a_bg.cpp b/src/d/actor/d_a_bg.cpp index be8960fc51..39f7e07990 100644 --- a/src/d/actor/d_a_bg.cpp +++ b/src/d/actor/d_a_bg.cpp @@ -10,6 +10,7 @@ #include "d/d_com_static.h" #include "d/actor/d_a_grass.h" #include "d/d_bg_w.h" +#include "d/d_bg_parts.h" #include "m_Do/m_Do_lib.h" #include "d/d_demo.h" #include "JSystem/JKernel/JKRExpHeap.h" diff --git a/src/d/actor/d_a_bg_obj.cpp b/src/d/actor/d_a_bg_obj.cpp index e8c934afab..bf131498f5 100644 --- a/src/d/actor/d_a_bg_obj.cpp +++ b/src/d/actor/d_a_bg_obj.cpp @@ -8,7 +8,7 @@ #include "d/actor/d_a_bg_obj.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include -#include "dolphin/os.h" +#include #include "d/actor/d_a_set_bgobj.h" #include "d/d_s_play.h" #include "SSystem/SComponent/c_math.h" diff --git a/src/d/actor/d_a_boomerang.cpp b/src/d/actor/d_a_boomerang.cpp index 6f6b2cd1a0..59ee181d4c 100644 --- a/src/d/actor/d_a_boomerang.cpp +++ b/src/d/actor/d_a_boomerang.cpp @@ -1341,6 +1341,7 @@ daBoomerang_c::~daBoomerang_c() { } static int daBoomerang_Delete(daBoomerang_c* i_this) { + fopAcM_RegisterDeleteID(i_this, "Boomerang"); i_this->~daBoomerang_c(); return 1; } @@ -1419,7 +1420,7 @@ static dCcD_SrcCyl l_windAtCylSrc = { }; int daBoomerang_c::create() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterCreateID(this, "Boomerang"); fopAcM_ct(this, daBoomerang_c); if (!fopAcM_entrySolidHeap(this, daBoomerang_createHeap, 0xC0D0)) { diff --git a/src/d/actor/d_a_canoe.cpp b/src/d/actor/d_a_canoe.cpp index f238b3ed5e..c5650cc69e 100644 --- a/src/d/actor/d_a_canoe.cpp +++ b/src/d/actor/d_a_canoe.cpp @@ -168,7 +168,7 @@ int daCanoe_c::create() { static int daCanoe_Create(fopAc_ac_c* i_this) { daCanoe_c* a_this = (daCanoe_c*)i_this; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterCreateID(i_this, "Canoe"); return a_this->create(); } @@ -178,7 +178,7 @@ daCanoe_c::~daCanoe_c() { } static int daCanoe_Delete(daCanoe_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "Canoe"); i_this->~daCanoe_c(); return 1; } diff --git a/src/d/actor/d_a_cow.cpp b/src/d/actor/d_a_cow.cpp index f6d7e88ada..2b12092989 100644 --- a/src/d/actor/d_a_cow.cpp +++ b/src/d/actor/d_a_cow.cpp @@ -15,7 +15,7 @@ #include "d/d_com_inf_game.h" #include "d/d_meter2_info.h" #include "d/d_timer.h" -#include "dolphin/types.h" +#include #include "f_op/f_op_actor_mng.h" #include "f_op/f_op_camera_mng.h" #include "m_Do/m_Do_ext.h" @@ -3265,7 +3265,7 @@ static int daCow_Draw(void* actor) { } int daCow_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "COW"); dComIfG_resDelete(&mPhase, "Cow"); if (heap != NULL) { diff --git a/src/d/actor/d_a_cstatue.cpp b/src/d/actor/d_a_cstatue.cpp index e055ec0c37..57536d8c55 100644 --- a/src/d/actor/d_a_cstatue.cpp +++ b/src/d/actor/d_a_cstatue.cpp @@ -321,7 +321,7 @@ int daCstatue_c::create() { dComIfGs_onTbox(20); } } - attention_info.distances[4] = 8; + attention_info.distances[fopAc_attn_CARRY_e] = 8; fopAcM_SetMtx(this, mModel->getBaseTRMtx()); int acchTblSize; if (mType == daCstatueType_Normal || mType == daCstatueType_Normal2) { @@ -376,7 +376,7 @@ int daCstatue_c::create() { } mSph->SetTgType(0xd97afddf); mControlDistanceOffset = JMAFastSqrt(650000.0f); - attention_info.distances[0] = 92; + attention_info.distances[fopAc_attn_LOCK_e] = 92; cLib_onBit(attention_info.flags, fopAc_AttnFlag_LOCK_e); mTargetFrame = 35.0f; } diff --git a/src/d/actor/d_a_demo00.cpp b/src/d/actor/d_a_demo00.cpp index a5a071d17c..c9eda75917 100644 --- a/src/d/actor/d_a_demo00.cpp +++ b/src/d/actor/d_a_demo00.cpp @@ -1837,7 +1837,8 @@ static int daDemo00_Delete(daDemo00_c* i_this) { } static int daDemo00_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daDemo00_c, i_this, "Demo00"); + daDemo00_c* a_this = (daDemo00_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Demo00"); fopAcM_ct(a_this, daDemo00_c); a_this->field_0x6a2 = 0; diff --git a/src/d/actor/d_a_do.cpp b/src/d/actor/d_a_do.cpp index 9e6fb93316..f8632be6c9 100644 --- a/src/d/actor/d_a_do.cpp +++ b/src/d/actor/d_a_do.cpp @@ -2342,7 +2342,7 @@ static int daDo_IsDelete(do_class* i_this) { } static int daDo_Delete(do_class* i_this) { - u32 actor_id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "Do"); dComIfG_resDelete(&i_this->mPhase, "Do"); if (i_this->mHIOInit) { hio_set = false; @@ -2402,11 +2402,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daDo_Create(fopAc_ac_c* i_this) { +static cPhs_Step daDo_Create(fopAc_ac_c* i_this) { do_class* _this = static_cast(i_this); fopAcM_ct(i_this, do_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, "Do"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, "Do"); if (step == cPhs_COMPLEATE_e) { _this->mParam0 = fopAcM_GetParam(i_this) & 7; diff --git a/src/d/actor/d_a_door_boss.cpp b/src/d/actor/d_a_door_boss.cpp index 8bc8cee3f8..1b124f12bf 100644 --- a/src/d/actor/d_a_door_boss.cpp +++ b/src/d/actor/d_a_door_boss.cpp @@ -104,9 +104,9 @@ int daBdoor_c::CreateInit() { return 1; } -cPhs__Step daBdoor_c::create() { +cPhs_Step daBdoor_c::create() { fopAcM_ct(this, daBdoor_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, getArcName()); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, getArcName()); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0xa000)) { return cPhs_ERROR_e; @@ -404,7 +404,7 @@ static int daBdoor_Delete(daBdoor_c* i_this) { return 1; } -static cPhs__Step daBdoor_Create(fopAc_ac_c* i_this) { +static cPhs_Step daBdoor_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_door_spiral.cpp b/src/d/actor/d_a_door_spiral.cpp index 501e43930a..133194549a 100644 --- a/src/d/actor/d_a_door_spiral.cpp +++ b/src/d/actor/d_a_door_spiral.cpp @@ -1173,7 +1173,8 @@ int daSpiral_Delete(daSpiral_c* i_this) { } int daSpiral_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daSpiral_c, i_this, "Door10"); + daSpiral_c* a_this = (daSpiral_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Door10"); fopAcM_ct(a_this, daSpiral_c); return a_this->create(); } diff --git a/src/d/actor/d_a_e_ba.cpp b/src/d/actor/d_a_e_ba.cpp index 2c6134559d..f1271aa873 100644 --- a/src/d/actor/d_a_e_ba.cpp +++ b/src/d/actor/d_a_e_ba.cpp @@ -989,7 +989,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { } } -static cPhs__Step daE_BA_Create(fopAc_ac_c* i_this) { +static cPhs_Step daE_BA_Create(fopAc_ac_c* i_this) { static char* arc_name[3] = {"E_ba", "E_fb", "E_ib"}; static dCcD_SrcSph cc_sph_src = { @@ -1013,7 +1013,7 @@ static cPhs__Step daE_BA_Create(fopAc_ac_c* i_this) { } _this->mArcName = arc_name[_this->mType]; - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, _this->mArcName); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, _this->mArcName); if (step == cPhs_COMPLEATE_e) { int sw = fopAcM_GetParam(_this) >> 24; diff --git a/src/d/actor/d_a_e_bee.cpp b/src/d/actor/d_a_e_bee.cpp index 85ffee70bb..d0f182031d 100644 --- a/src/d/actor/d_a_e_bee.cpp +++ b/src/d/actor/d_a_e_bee.cpp @@ -716,11 +716,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { return true; } -static cPhs__Step daE_Bee_Create(fopAc_ac_c* i_this) { +static cPhs_Step daE_Bee_Create(fopAc_ac_c* i_this) { e_bee_class* _this = static_cast(i_this); fopAcM_ct(_this, e_bee_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, "E_bee"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, "E_bee"); if (step == cPhs_COMPLEATE_e) { _this->mParam0 = (u8)fopAcM_GetParam(_this); _this->mParam1 = (u8)(fopAcM_GetParam(_this) >> 8); diff --git a/src/d/actor/d_a_e_bg.cpp b/src/d/actor/d_a_e_bg.cpp index ed18d46750..c0363529c6 100644 --- a/src/d/actor/d_a_e_bg.cpp +++ b/src/d/actor/d_a_e_bg.cpp @@ -30,17 +30,14 @@ daE_BG_HIO_c::daE_BG_HIO_c() { #if DEBUG void daE_BG_HIO_c::genMessage(JORMContext* ctx) { // "Bomb fish" - ctx->genLabel("爆弾魚", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("追跡速度", &mTrackingSpeed, 0.0, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("突進速度", &mRushSpeed, 0.0, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("プレイヤーサーチ距離", &mPlayerSearchDistance, 0.0, 2000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - ctx->genSlider("攻撃行動範囲", &mAttackRange, 0.0, 2000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("遊泳行動範囲", &mSwimRange, 0.0, 2000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("突進前待機距離", &mWaitDistanceBeforeCharging, 0.0, 1000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - ctx->genSlider("湧き出し時間", &mJumpTime, 0.0, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("爆弾魚", 0x80000001); + ctx->genSlider("追跡速度", &mTrackingSpeed, 0.0, 100.0f); + ctx->genSlider("突進速度", &mRushSpeed, 0.0, 100.0f); + ctx->genSlider("プレイヤーサーチ距離", &mPlayerSearchDistance, 0.0, 2000.0f); + ctx->genSlider("攻撃行動範囲", &mAttackRange, 0.0, 2000.0f); + ctx->genSlider("遊泳行動範囲", &mSwimRange, 0.0, 2000.0f); + ctx->genSlider("突進前待機距離", &mWaitDistanceBeforeCharging, 0.0, 1000.0f); + ctx->genSlider("湧き出し時間", &mJumpTime, 0.0, 1000.0f); } #endif @@ -1283,7 +1280,7 @@ int daE_BG_c::_delete() { } static int daE_BG_Delete(daE_BG_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_BG"); return i_this->_delete(); } diff --git a/src/d/actor/d_a_e_bi.cpp b/src/d/actor/d_a_e_bi.cpp index b5a43fa168..e6eb59aeb3 100644 --- a/src/d/actor/d_a_e_bi.cpp +++ b/src/d/actor/d_a_e_bi.cpp @@ -864,11 +864,11 @@ static int useHeapInit(fopAc_ac_c* actor) { return 1; } -static cPhs__Step daE_BI_Create(fopAc_ac_c* actor) { +static cPhs_Step daE_BI_Create(fopAc_ac_c* actor) { fopAcM_ct(actor, e_bi_class); e_bi_class* i_this = (e_bi_class*)actor; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->phase, "E_BI"); + cPhs_Step phase = dComIfG_resLoad(&i_this->phase, "E_BI"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_BI PARAM %x\n", fopAcM_GetParam(actor)); diff --git a/src/d/actor/d_a_e_bs.cpp b/src/d/actor/d_a_e_bs.cpp index a8ff9d589d..3f2cfdef58 100644 --- a/src/d/actor/d_a_e_bs.cpp +++ b/src/d/actor/d_a_e_bs.cpp @@ -779,7 +779,7 @@ static int daE_BS_IsDelete(e_bs_class* i_this) { static int daE_BS_Delete(e_bs_class* i_this) { fopAc_ac_c* actor = &i_this->enemy; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_BS"); dComIfG_resDelete(&i_this->phase, "E_BS"); if (i_this->HIOInit) { diff --git a/src/d/actor/d_a_e_bu.cpp b/src/d/actor/d_a_e_bu.cpp index 2bb44da4ba..d636a9be5d 100644 --- a/src/d/actor/d_a_e_bu.cpp +++ b/src/d/actor/d_a_e_bu.cpp @@ -176,7 +176,7 @@ static void damage_check(e_bu_class* i_this) { if (i_this->atInfo.mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { actor->speedF = 0.0f; i_this->head_rot_y = i_this->atInfo.mHitDirection.y; - } else if (player->getCutType() == 10 && player->checkCutJumpCancelTurn()) { + } else if (player->getCutType() == daPy_py_c::CUT_TYPE_JUMP && player->checkCutJumpCancelTurn()) { i_this->invulnerabilityTimer = NREG_S(7) + 3; actor->speedF = 0.0f; } else { @@ -990,7 +990,7 @@ static int daE_BU_IsDelete(e_bu_class* i_this) { static int daE_BU_Delete(e_bu_class* i_this) { fopAc_ac_c* actor = &i_this->enemy; - fpc_ProcID id = fopAcM_GetID(actor); + fopAcM_RegisterDeleteID(actor, "E_BU"); dComIfG_resDelete(&i_this->phase, "E_BU"); if (i_this->HIOInit != 0) { diff --git a/src/d/actor/d_a_e_bug.cpp b/src/d/actor/d_a_e_bug.cpp index 51b0561706..d31174a14e 100644 --- a/src/d/actor/d_a_e_bug.cpp +++ b/src/d/actor/d_a_e_bug.cpp @@ -801,12 +801,12 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daE_Bug_Create(fopAc_ac_c* a_this) { +static cPhs_Step daE_Bug_Create(fopAc_ac_c* a_this) { e_bug_class* i_this = (e_bug_class*)a_this; fopAcM_ct(a_this, e_bug_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "E_bug"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "E_bug"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_BUG PARAM %x\n", fopAcM_GetParam(a_this)); i_this->field_0x570 = fopAcM_GetParam(a_this); diff --git a/src/d/actor/d_a_e_cr.cpp b/src/d/actor/d_a_e_cr.cpp index d606d9eaaf..4c360fdece 100644 --- a/src/d/actor/d_a_e_cr.cpp +++ b/src/d/actor/d_a_e_cr.cpp @@ -443,7 +443,7 @@ static int daE_CR_IsDelete(e_cr_class* a_this) { static int daE_CR_Delete(e_cr_class* a_this) { fopEn_enemy_c* actor = &a_this->enemy; - fpc_ProcID id = fopAcM_GetID(a_this); + fopAcM_RegisterDeleteID(a_this, "E_CR"); dComIfG_resDelete(&a_this->phase, "E_CR"); if (a_this->HIOInit) { diff --git a/src/d/actor/d_a_e_cr_egg.cpp b/src/d/actor/d_a_e_cr_egg.cpp index 8db1b18c37..ebb18c0874 100644 --- a/src/d/actor/d_a_e_cr_egg.cpp +++ b/src/d/actor/d_a_e_cr_egg.cpp @@ -140,7 +140,7 @@ static int daE_CR_EGG_IsDelete(e_cr_egg_class* a_this) { static int daE_CR_EGG_Delete(e_cr_egg_class* a_this) { fopAc_ac_c* actor = &a_this->enemy; - fpc_ProcID id = fopAcM_GetID(actor); + fopAcM_RegisterDeleteID(actor, "E_CR_EGG"); dComIfG_resDelete(&a_this->phase, "E_CR"); a_this->sound.stopAnime(); return 1; @@ -162,7 +162,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { static int daE_CR_EGG_Create(fopAc_ac_c* i_this) { e_cr_egg_class* a_this = (e_cr_egg_class*)i_this; - fopAcM_ct(i_this, e_cr_egg_class); + fopAcM_ct(&a_this->enemy, e_cr_egg_class); int phase_state = dComIfG_resLoad(&a_this->phase, "E_CR"); if (phase_state == cPhs_COMPLEATE_e) { diff --git a/src/d/actor/d_a_e_db.cpp b/src/d/actor/d_a_e_db.cpp index 8b6bb55690..bb03745617 100644 --- a/src/d/actor/d_a_e_db.cpp +++ b/src/d/actor/d_a_e_db.cpp @@ -2015,7 +2015,7 @@ static int daE_DB_IsDelete(e_db_class* i_this) { static int daE_DB_Delete(e_db_class* i_this) { fopAc_ac_c* actor = &i_this->enemy; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_DB"); dComIfG_resDelete(&i_this->phase, "E_db"); if (i_this->HIOInit) { diff --git a/src/d/actor/d_a_e_dd.cpp b/src/d/actor/d_a_e_dd.cpp index 867d6a1335..e0de6cb03f 100644 --- a/src/d/actor/d_a_e_dd.cpp +++ b/src/d/actor/d_a_e_dd.cpp @@ -1661,11 +1661,11 @@ static int kabe_initial_pos_set(e_dd_class* i_this) { return 0; } -static cPhs__Step daE_DD_Create(fopAc_ac_c* a_this) { +static cPhs_Step daE_DD_Create(fopAc_ac_c* a_this) { e_dd_class* i_this = (e_dd_class*)a_this; fopAcM_ct(a_this, e_dd_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "E_dd"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "E_dd"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_DD PARAM %x\n", fopAcM_GetParam(a_this)); diff --git a/src/d/actor/d_a_e_df.cpp b/src/d/actor/d_a_e_df.cpp index 3f431340ec..cd1fd1b187 100644 --- a/src/d/actor/d_a_e_df.cpp +++ b/src/d/actor/d_a_e_df.cpp @@ -25,8 +25,8 @@ STATIC_ASSERT(sizeof(daE_DF_HIO_c) == 0xC); #if DEBUG inline void daE_DF_HIO_c::genMessage(JORMContext* i_ctx) { - i_ctx->genLabel("デクレシア", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("速度", &field_0x8, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + i_ctx->genLabel("デクレシア", 0x80000001); + i_ctx->genSlider("速度", &field_0x8, 0.0f, 100.0f); } #endif @@ -642,20 +642,20 @@ static int daE_DF_IsDelete(daE_DF_c* i_this) { } static int daE_DF_Delete(daE_DF_c* i_this) { - fpc_ProcID proc_id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_DF"); return i_this->Delete(); } int daE_DF_c::Create() { fopAcM_ct(this, daE_DF_c); - cPhs__Step rv = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, "E_DF"); + cPhs_Step rv = dComIfG_resLoad(&mPhaseReq, "E_DF"); if (rv == cPhs_COMPLEATE_e) { OS_REPORT("E_DF PARAM %x\n", fopAcM_GetParam(this)); mArg0 = (u8)fopAcM_GetParam(this); if (mArg0 != 0xff && dComIfGs_isSwitch(mArg0, fopAcM_GetRoomNo(this))) { - OS_REPORT("E_WS やられ後なので再セットしません"); + OS_REPORT("E_WS やられ後なので再セットしません\n"); return cPhs_ERROR_e; } @@ -706,7 +706,7 @@ int daE_DF_c::Create() { static int daE_DF_Create(fopAc_ac_c* i_this) { daE_DF_c* a_this = (daE_DF_c*)i_this; - fpc_ProcID proc_id = fopAcM_GetID(i_this); + fopAcM_RegisterCreateID(i_this, "E_DF"); return a_this->Create(); } diff --git a/src/d/actor/d_a_e_dk.cpp b/src/d/actor/d_a_e_dk.cpp index e97bc0672a..a21506dcba 100644 --- a/src/d/actor/d_a_e_dk.cpp +++ b/src/d/actor/d_a_e_dk.cpp @@ -932,7 +932,7 @@ int daE_DK_c::_delete() { } static int daE_DK_Delete(daE_DK_c* i_this) { - fpc_ProcID unusedId = fopAcM_GetID(i_this); // debug match + fopAcM_RegisterDeleteID(i_this, "E_DK"); return i_this->_delete(); } diff --git a/src/d/actor/d_a_e_dn.cpp b/src/d/actor/d_a_e_dn.cpp index 24b19326f8..794458bbe6 100644 --- a/src/d/actor/d_a_e_dn.cpp +++ b/src/d/actor/d_a_e_dn.cpp @@ -146,17 +146,17 @@ daE_DN_HIO_c::daE_DN_HIO_c() { #if DEBUG void daE_DN_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" リザードマン", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("基本サイズ", &model_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("移動速度", &movement_speed, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("突進速度", &dash_speed, 0.0f, 40.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("戦闘開始範囲", &battle_init_range, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("攻撃開始範囲", &attack_init_range, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("不死身", &invulnerable, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("学習なし", &no_learn, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("魂抜間 弱", &soul_disappear_time_weak, 0, 100, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("魂抜間 強", &soul_disappear_time_strong, 0, 100, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("防御静止間", &defense_pause_time, 0, 20, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel(" リザードマン", 0x80000001); + ctx->genSlider("基本サイズ", &model_size, 0.0f, 5.0f); + ctx->genSlider("移動速度", &movement_speed, 0.0f, 20.0f); + ctx->genSlider("突進速度", &dash_speed, 0.0f, 40.0f); + ctx->genSlider("戦闘開始範囲", &battle_init_range, 0.0f, 2000.0f); + ctx->genSlider("攻撃開始範囲", &attack_init_range, 0.0f, 1000.0f); + ctx->genCheckBox("不死身", &invulnerable, 0x1); + ctx->genCheckBox("学習なし", &no_learn, 0x1); + ctx->genSlider("魂抜間 弱", &soul_disappear_time_weak, 0, 100); + ctx->genSlider("魂抜間 強", &soul_disappear_time_strong, 0, 100); + ctx->genSlider("防御静止間", &defense_pause_time, 0, 20); } #endif @@ -3282,7 +3282,7 @@ static int daE_DN_IsDelete(e_dn_class* i_this) { static int daE_DN_Delete(e_dn_class* i_this) { fopEn_enemy_c* actor = (fopEn_enemy_c*)&i_this->actor; - fpc_ProcID no = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_DN"); dComIfG_resDelete(&i_this->phase, "E_dn"); @@ -3358,12 +3358,12 @@ static int useHeapInit(fopAc_ac_c* actor) { return 1; } -static cPhs__Step daE_DN_Create(fopAc_ac_c* actor) { +static cPhs_Step daE_DN_Create(fopAc_ac_c* actor) { e_dn_class* i_this = (e_dn_class*)actor; fopAcM_ct(actor, e_dn_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->phase, "E_dn"); + cPhs_Step phase = dComIfG_resLoad(&i_this->phase, "E_dn"); if (phase == cPhs_COMPLEATE_e) { int swBit = (fopAcM_GetParam(actor) & 0xFF000000) >> 24; if (swBit != 0xFF) { diff --git a/src/d/actor/d_a_e_dt.cpp b/src/d/actor/d_a_e_dt.cpp index 76034bb66d..7b52cf0f37 100644 --- a/src/d/actor/d_a_e_dt.cpp +++ b/src/d/actor/d_a_e_dt.cpp @@ -2456,18 +2456,18 @@ static int useHeapInit(fopAc_ac_c* i_this) { return static_cast(i_this)->CreateHeap(); } -cPhs__Step daE_DT_c::create() { +cPhs_Step daE_DT_c::create() { fopAcM_ct(this, daE_DT_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase[0], "E_DT"); + cPhs_Step step = dComIfG_resLoad(&mPhase[0], "E_DT"); if (step != cPhs_COMPLEATE_e) { return step; } - step = (cPhs__Step)dComIfG_resLoad(&mPhase[1], "Dalways"); + step = dComIfG_resLoad(&mPhase[1], "Dalways"); if (step != cPhs_COMPLEATE_e) { return step; } - step = (cPhs__Step)dComIfG_resLoad(&mPhase[2], "E_OT"); + step = dComIfG_resLoad(&mPhase[2], "E_OT"); if (step != cPhs_COMPLEATE_e) { return step; } @@ -2548,7 +2548,7 @@ cPhs__Step daE_DT_c::create() { return step; } -static cPhs__Step daE_DT_Create(daE_DT_c* i_this) { +static cPhs_Step daE_DT_Create(daE_DT_c* i_this) { return i_this->create(); } diff --git a/src/d/actor/d_a_e_fb.cpp b/src/d/actor/d_a_e_fb.cpp index 73bebf54ed..1fbbbc2410 100644 --- a/src/d/actor/d_a_e_fb.cpp +++ b/src/d/actor/d_a_e_fb.cpp @@ -32,29 +32,29 @@ daE_FB_HIO_c::daE_FB_HIO_c() { #if DEBUG void daE_FB_HIO_c::genMessage(JORMContext* ctext) { // "Frizzard (large)" - ctext->genLabel("フリザド(大)", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel("フリザド(大)", 0x80000001); // "Model size" - ctext->genSlider("モデルサイズ", &model_size, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("モデルサイズ", &model_size, 0.0f, 10.0f); // "Player detection range" - ctext->genSlider("プレイヤー発見距離", &player_detection_range, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("プレイヤー発見距離", &player_detection_range, 0.0f, 10000.0f); // "Next attack wait time" - ctext->genSlider("次回攻撃待ち時間", &next_attack_waiting_time, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("次回攻撃待ち時間", &next_attack_waiting_time, 0, 1000); // "Maximum rotation width" - ctext->genSlider("最大回転幅", &maximum_rotation_width, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("最大回転幅", &maximum_rotation_width, 0, 10000); // "Minimum turning range" - ctext->genSlider("最小回転幅", &minimum_turning_range, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("最小回転幅", &minimum_turning_range, 0, 10000); // "Stage rotation amplitude (speed)" - ctext->genSlider("階段用回転幅(速度)", &rotation_width_stairs, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("階段用回転幅(速度)", &rotation_width_stairs, 0, 10000); // "Color Regi 1R" - ctext->genSlider("カラレジ1R", &color_register_1r, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("カラレジ1R", &color_register_1r, 0, 0xFF); // "Color Regi 1G" - ctext->genSlider("カラレジ1G", &color_register_1g, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("カラレジ1G", &color_register_1g, 0, 0xFF); // "Color Regi 1B" - ctext->genSlider("カラレジ1B", &color_register_1b, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("カラレジ1B", &color_register_1b, 0, 0xFF); // "Color Regi 1α " - ctext->genSlider("カラレジ1α ", &color_register_1a, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("カラレジ1α ", &color_register_1a, 0, 0xFF); // "Maximum rotation width" - ctext->genSlider("最大回転幅", &maximum_rotation_width_2, 0, 180, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("最大回転幅", &maximum_rotation_width_2, 0, 180); } #endif @@ -817,12 +817,6 @@ void daE_FB_c::dead_eff_set() { } } -#if DEBUG -static char* dummy_117771() { - return "Delete -> E_FB(id=%d)\n"; -} -#endif - int daE_FB_c::execute() { if (field_0x69c != 0) { --field_0x69c; @@ -869,7 +863,7 @@ int daE_FB_c::_delete() { } static int daE_FB_Delete(daE_FB_c* i_this) { - int id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_FB"); return static_cast(i_this)->_delete(); } @@ -913,7 +907,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return a_this->CreateHeap(); } -cPhs__Step daE_FB_c::create() { +cPhs_Step daE_FB_c::create() { fopAcM_ct(this, daE_FB_c); mType = fopAcM_GetParam(this); swBit0 = (fopAcM_GetParam(this) & 0xFF00) >> 8; @@ -922,7 +916,7 @@ cPhs__Step daE_FB_c::create() { mType = 0; } - cPhs__Step phase = (cPhs__Step) dComIfG_resLoad(&mPhaseReq, "E_FL"); + cPhs_Step phase = dComIfG_resLoad(&mPhaseReq, "E_FL"); if (phase == cPhs_COMPLEATE_e) { if (mType == 10 || mType == 11) { fopAcM_OffStatus(this, 0); diff --git a/src/d/actor/d_a_e_fs.cpp b/src/d/actor/d_a_e_fs.cpp index 7ab29d6fca..7e57585d0e 100644 --- a/src/d/actor/d_a_e_fs.cpp +++ b/src/d/actor/d_a_e_fs.cpp @@ -718,10 +718,10 @@ static int useHeapIe_fst(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daE_Fs_Create(fopAc_ac_c* i_this) { +static cPhs_Step daE_Fs_Create(fopAc_ac_c* i_this) { fopAcM_ct(i_this, e_fs_class); e_fs_class* _this = (e_fs_class*)(i_this); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, "E_FS"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, "E_FS"); if (step == cPhs_COMPLEATE_e) { _this->field_0x5b4 = fopAcM_GetParam(_this) & 0xff; diff --git a/src/d/actor/d_a_e_ga.cpp b/src/d/actor/d_a_e_ga.cpp index 00fa54d706..84d4a1f155 100644 --- a/src/d/actor/d_a_e_ga.cpp +++ b/src/d/actor/d_a_e_ga.cpp @@ -153,18 +153,18 @@ static int daE_Ga_IsDelete(e_ga_class* a_this) { static u8 hio_set; -static int daE_Ga_Delete(e_ga_class* a_this) { - fopAc_ac_c* actor = &a_this->actor; - fpc_ProcID id = fopAcM_GetID(actor); +static int daE_Ga_Delete(e_ga_class* i_this) { + fopAc_ac_c* actor = &i_this->actor; + fopAcM_RegisterDeleteID(i_this, "E_Ga"); - if (a_this->initialized) { + if (i_this->initialized) { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("E_ga", 3); dComIfGp_removeSimpleModel(modelData, fopAcM_GetRoomNo(actor)); } - dComIfG_resDelete(&a_this->phase, "E_ga"); + dComIfG_resDelete(&i_this->phase, "E_ga"); - if (a_this->HIOInit) { + if (i_this->HIOInit) { hio_set = FALSE; } diff --git a/src/d/actor/d_a_e_gb.cpp b/src/d/actor/d_a_e_gb.cpp index 5bbec45128..e3aff4c735 100644 --- a/src/d/actor/d_a_e_gb.cpp +++ b/src/d/actor/d_a_e_gb.cpp @@ -60,15 +60,15 @@ daE_GB_HIO_c::daE_GB_HIO_c() { #if DEBUG void daE_GB_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" デカババ  ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genLabel("   大幅なサイズ変更は姿勢生成に影響があるので注意   ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("顔サイズ", &face_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("花サイズ", &flower_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("茎サイズ", &stem_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("攻撃頻度", &attack_frequency, 0, 30000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("攻撃速度", &attack_spd, 0.0f, 200.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("攻後距離", &attack_range, 0, 30, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("攻後停間", &post_attack_pause_timer, 0, 200, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel(" デカババ  ", 0x80000001); + ctx->genLabel("   大幅なサイズ変更は姿勢生成に影響があるので注意   ", 0x80000001); + ctx->genSlider("顔サイズ", &face_size, 0.0f, 5.0f); + ctx->genSlider("花サイズ", &flower_size, 0.0f, 5.0f); + ctx->genSlider("茎サイズ", &stem_size, 0.0f, 5.0f); + ctx->genSlider("攻撃頻度", &attack_frequency, 0, 30000); + ctx->genSlider("攻撃速度", &attack_spd, 0.0f, 200.0f); + ctx->genSlider("攻後距離", &attack_range, 0, 30); + ctx->genSlider("攻後停間", &post_attack_pause_timer, 0, 200); } #endif @@ -1544,10 +1544,8 @@ static int daE_GB_IsDelete(e_gb_class* i_this) { } static int daE_GB_Delete(e_gb_class* i_this) { - "Delete -> E_GB(id=%d)\n"; - fopEn_enemy_c* actor = &i_this->actor; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_GB"); dComIfG_resDelete(&i_this->phase, "E_gb"); if (i_this->hioInit != 0) { @@ -1616,7 +1614,7 @@ static int useHeapInit(fopAc_ac_c* actor) { return 1; } -static cPhs__Step daE_GB_Create(fopAc_ac_c* actor) { +static cPhs_Step daE_GB_Create(fopAc_ac_c* actor) { static dCcD_SrcSph head_cc_sph_src = { { {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj @@ -1648,7 +1646,7 @@ static cPhs__Step daE_GB_Create(fopAc_ac_c* actor) { e_gb_class* i_this = (e_gb_class*)actor; fopAcM_ct(&i_this->actor, e_gb_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->phase, "E_gb"); + cPhs_Step phase = dComIfG_resLoad(&i_this->phase, "E_gb"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_gb PARAM %x\n", fopAcM_GetParam(actor)); u8 sw_bit = (fopAcM_GetParam(actor) & 0xFF0000) >> 16; diff --git a/src/d/actor/d_a_e_ge.cpp b/src/d/actor/d_a_e_ge.cpp index e47c48cdb8..f0784578d8 100644 --- a/src/d/actor/d_a_e_ge.cpp +++ b/src/d/actor/d_a_e_ge.cpp @@ -1315,7 +1315,7 @@ int daE_GE_c::create() { l_HIO.id = mDoHIO_CREATE_CHILD("グェー", &l_HIO); } - attention_info.flags = 4; + attention_info.flags = fopAc_AttnFlag_BATTLE_e; fopAcM_SetMtx(this, mpMorfSO->getModel()->getBaseTRMtx()); fopAcM_SetMin(this, -200.0f, -200.0f, -200.0f); fopAcM_SetMax(this, 200.0f, 200.0f, 200.0f); diff --git a/src/d/actor/d_a_e_gm.cpp b/src/d/actor/d_a_e_gm.cpp index 228779b6ea..eef5561904 100644 --- a/src/d/actor/d_a_e_gm.cpp +++ b/src/d/actor/d_a_e_gm.cpp @@ -1699,7 +1699,7 @@ static u16 const l_heapsize[4] = { 0x3120, 0x3120, 0x21E0, 0x2DE0, }; -cPhs__Step daE_GM_c::create() { +cPhs_Step daE_GM_c::create() { fopAcM_ct(this, daE_GM_c); mType = fopAcM_GetParam(this); @@ -1727,11 +1727,11 @@ cPhs__Step daE_GM_c::create() { field_0xa54 = uVar1 * 100.0f; } - cPhs__Step phase; + cPhs_Step phase; if (mType == TYPE_GOMA) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_mg"); + phase = dComIfG_resLoad(&mPhase, "E_mg"); } else { - phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_gm"); + phase = dComIfG_resLoad(&mPhase, "E_gm"); } if (phase == cPhs_COMPLEATE_e) { diff --git a/src/d/actor/d_a_e_hb.cpp b/src/d/actor/d_a_e_hb.cpp index 3aa28fb726..46d1cd9645 100644 --- a/src/d/actor/d_a_e_hb.cpp +++ b/src/d/actor/d_a_e_hb.cpp @@ -1323,7 +1323,7 @@ static int daE_HB_IsDelete(e_hb_class* i_this) { static int daE_HB_Delete(e_hb_class* i_this) { fopAc_ac_c* actor = &i_this->enemy; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_HB"); dComIfG_resDelete(&i_this->phase, "E_hb"); if (i_this->HIOInit) { diff --git a/src/d/actor/d_a_e_hm.cpp b/src/d/actor/d_a_e_hm.cpp index 4c6e5d37da..f6a473fe11 100644 --- a/src/d/actor/d_a_e_hm.cpp +++ b/src/d/actor/d_a_e_hm.cpp @@ -43,13 +43,13 @@ daE_HM_HIO_c::daE_HM_HIO_c() { void daE_HM_HIO_c::genMessage(JORMContext* ctx) { // "Himekuji" // appears to be a portmanteau - "ヒメ" = small (prefix), "ナメクジ" = slug) - ctx->genLabel("ヒメクジ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("サーチエリア", &searchArea, 0.0f, 2000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("飛ばし方向スピード", &flyDirSpeed, 0.0f, -100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("飛ばし方向Yスピード", &flyDirYSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("重力設定", &gravity, 0.0f, -20.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("攻撃範囲", &attackRange, -1.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("疾風受け時間", &galeStunTime, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("ヒメクジ", 0x80000001); + ctx->genSlider("サーチエリア", &searchArea, 0.0f, 2000.0f); + ctx->genSlider("飛ばし方向スピード", &flyDirSpeed, 0.0f, -100.0f); + ctx->genSlider("飛ばし方向Yスピード", &flyDirYSpeed, 0.0f, 100.0f); + ctx->genSlider("重力設定", &gravity, 0.0f, -20.0f); + ctx->genSlider("攻撃範囲", &attackRange, -1.0f, 20.0f); + ctx->genSlider("疾風受け時間", &galeStunTime, 0.0f, 1000.0f); } #endif @@ -1301,7 +1301,7 @@ int daE_HM_c::Execute() { cXyz bindEffectSize(1.0f, 1.0f, 1.0f); u32 cutType = daPy_getPlayerActorClass()->getCutType(); - if (cutType == 0x36 && mSph.ChkAtSet() != 0) { + if (cutType == daPy_py_c::CUT_TYPE_WOLF_LOCK && mSph.ChkAtSet() != 0) { mSph.OffAtSetBit(); field_0x5ac = 1; } else if (field_0x5ac != 0) { @@ -1393,7 +1393,7 @@ static int daE_HM_IsDelete(daE_HM_c* i_this) { } static int daE_HM_Delete(daE_HM_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_HM"); return i_this->Delete(); } diff --git a/src/d/actor/d_a_e_hp.cpp b/src/d/actor/d_a_e_hp.cpp index 483f0d8346..f51abeba26 100644 --- a/src/d/actor/d_a_e_hp.cpp +++ b/src/d/actor/d_a_e_hp.cpp @@ -85,15 +85,12 @@ daE_HP_HIO_c::daE_HP_HIO_c() { #if DEBUG void daE_HP_HIO_c::genMessage(JORMContext* ctx) { // General-purpose Poe - ctx->genLabel("汎用ポゥ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("モデルサイズ", &modelSize, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("攻撃終了後待ち時間", &waitTimeAfterAttack, 0, 1000, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("復活時間", &resurrectionTime, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("接近後攻撃しない時間", &attackDelayOnApproach, 0, 0xfe, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genCheckBox("範囲表示(FINALでは不可)", &rangeDisplay, 1, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genLabel("汎用ポゥ", 0x80000001); + ctx->genSlider("モデルサイズ", &modelSize, 0.0, 10.0); + ctx->genSlider("攻撃終了後待ち時間", &waitTimeAfterAttack, 0, 1000); + ctx->genSlider("復活時間", &resurrectionTime, 0, 1000); + ctx->genSlider("接近後攻撃しない時間", &attackDelayOnApproach, 0, 0xfe); + ctx->genCheckBox("範囲表示(FINALでは不可)", &rangeDisplay, 0x1); } #endif @@ -1132,14 +1129,14 @@ int daE_HP_c::_delete() { } static int daE_HP_Delete(daE_HP_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_HP"); return i_this->_delete(); } int daE_HP_c::CreateHeap() { - J3DModelData* modeldata = (J3DModelData*)dComIfG_getObjectRes("E_HP", 19); - JUT_ASSERT(0x764, modeldata != NULL); - mpMorfSO = new mDoExt_McaMorfSO(modeldata, NULL, NULL, + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("E_HP", 19); + JUT_ASSERT(0x764, modelData != NULL); + mpMorfSO = new mDoExt_McaMorfSO(modelData, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_HP", 13), 2, 1.0f, 0, -1, &mSound1, 0x80000, 0x11000084); if (mpMorfSO == NULL || mpMorfSO->getModel() == NULL) { @@ -1159,10 +1156,10 @@ int daE_HP_c::CreateHeap() { } } - modeldata = (J3DModelData*)dComIfG_getObjectRes("E_HP", 20); - JUT_ASSERT(0x78b, modeldata != NULL); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_HP", 20); + JUT_ASSERT(0x78b, modelData != NULL); - mpModel = mDoExt_J3DModel__create(modeldata, 0x80000, 0x11000084); + mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); if (mpModel == NULL) { return 0; } @@ -1174,9 +1171,9 @@ int daE_HP_c::CreateHeap() { } } - modeldata = (J3DModelData*)dComIfG_getObjectRes("E_HP", 18); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_HP", 18); mpMorf = - new mDoExt_McaMorf(modeldata, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_HP", 4), + new mDoExt_McaMorf(modelData, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_HP", 4), 2, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000084); if (mpMorf == NULL || mpMorf->getModel() == 0) { diff --git a/src/d/actor/d_a_e_hz.cpp b/src/d/actor/d_a_e_hz.cpp index 7b1bc09e81..ca896091f4 100644 --- a/src/d/actor/d_a_e_hz.cpp +++ b/src/d/actor/d_a_e_hz.cpp @@ -69,21 +69,21 @@ daE_HZ_HIO_c::daE_HZ_HIO_c() { #if DEBUG void daE_HZ_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" 敵サンプル", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("基本サイズ", &basic_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("PL発見半径表示", &pl_detection_radius_display, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("PL発見半径(内)", &pl_detection_radius_in, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("PL発見半径(外)", &pl_detection_radius_outside, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("逃げ速度", &escape_speed, 0.0f, 200.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("ぴより時間", &piyori_time, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("巻き込み回転速度", &reeling_rotation_speed, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("巻き込みY位置", &y_position_wrap, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("伸び溜め時間", &extension_time, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("伸びアニメ速度", &stretch_anim_speed, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("伸び前の溜め時間", &retention_time_before_stretch, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genLabel("カメラ用タイマー", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("オンタイマー", &camera_on_timer, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("オフタイマー", &camera_off_timer, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel(" 敵サンプル", 0x80000001); + ctx->genSlider("基本サイズ", &basic_size, 0.0f, 5.0f); + ctx->genCheckBox("PL発見半径表示", &pl_detection_radius_display, 0x1); + ctx->genSlider("PL発見半径(内)", &pl_detection_radius_in, 0.0f, 5000.0f); + ctx->genSlider("PL発見半径(外)", &pl_detection_radius_outside, 0.0f, 5000.0f); + ctx->genSlider("逃げ速度", &escape_speed, 0.0f, 200.0f); + ctx->genSlider("ぴより時間", &piyori_time, 0.0f, 500.0f); + ctx->genSlider("巻き込み回転速度", &reeling_rotation_speed, 0.0f, 10000.0f); + ctx->genSlider("巻き込みY位置", &y_position_wrap, 0.0f, 1000.0f); + ctx->genSlider("伸び溜め時間", &extension_time, 0.0f, 100.0f); + ctx->genSlider("伸びアニメ速度", &stretch_anim_speed, 0.0f, 1.0f); + ctx->genSlider("伸び前の溜め時間", &retention_time_before_stretch, 0.0f, 100.0f); + ctx->genLabel("カメラ用タイマー", 0x80000001); + ctx->genSlider("オンタイマー", &camera_on_timer, 0.0f, 100.0f); + ctx->genSlider("オフタイマー", &camera_off_timer, 0.0f, 100.0f); } #endif @@ -1634,7 +1634,7 @@ void daE_HZ_c::action() { setActionMode(ACTION_WATER_DEATH); } - attention_info.flags = 4; + attention_info.flags = fopAc_AttnFlag_BATTLE_e; field_0x566 = 1; switch (mAction) { @@ -1870,7 +1870,7 @@ int daE_HZ_c::_delete() { } static int daE_HZ_Delete(daE_HZ_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_HZ"); return i_this->_delete(); } diff --git a/src/d/actor/d_a_e_kk.cpp b/src/d/actor/d_a_e_kk.cpp index 8e298b5dd4..8038ca1365 100644 --- a/src/d/actor/d_a_e_kk.cpp +++ b/src/d/actor/d_a_e_kk.cpp @@ -876,7 +876,7 @@ void daE_KK_c::executeDead() { case 0: fopAcM_OffStatus(this, 0); attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; - attention_info.distances[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; offHeadLockFlg(); health = 0; speedF = 0.0f; @@ -1266,8 +1266,8 @@ int daE_KK_c::execute() { return 1; } - if (attention_info.distances[2] == 0) { - attention_info.distances[2] = 0x45; + if (attention_info.distances[fopAc_attn_BATTLE_e] == 0) { + attention_info.distances[fopAc_attn_BATTLE_e] = 0x45; fopAcM_SetGroup(this, 2); fopAcM_OnStatus(this, 0); attention_info.flags |= fopAc_AttnFlag_BATTLE_e; @@ -1443,7 +1443,7 @@ int daE_KK_c::create() { field_0x760 = current.pos.y; attention_info.flags = fopAc_AttnFlag_BATTLE_e; - attention_info.distances[2] = 0x4C; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x4C; if (field_0x679 != 3) { setActionMode(0, 0); @@ -1461,7 +1461,7 @@ int daE_KK_c::create() { fopAcM_SetMax(this, 600.0f, 600.0f, 600.0f); if (field_0x679 == 2 && !checkItemGet(fpcNm_ITEM_IRONBALL, 1)) { - attention_info.distances[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; fopAcM_SetGroup(this, 0); fopAcM_OffStatus(this, 0); attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; diff --git a/src/d/actor/d_a_e_mb.cpp b/src/d/actor/d_a_e_mb.cpp index f99e754c62..b750c328fd 100644 --- a/src/d/actor/d_a_e_mb.cpp +++ b/src/d/actor/d_a_e_mb.cpp @@ -49,12 +49,12 @@ daE_MB_HIO_c::daE_MB_HIO_c() { #if DEBUG void daE_MB_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" ボス戦ブーメラン猿", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("基本サイズ", &base_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("振り子速度", &swing_speed, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("振り子下弦", &swing_descend, 0.5f, 2.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("軌道修正", &swing_correction, -500.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("再出現時間(およそ)", &reappear_time, 0.0f, 300.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); + ctx->genLabel(" ボス戦ブーメラン猿", 0x80000001); + ctx->genSlider("基本サイズ", &base_size, 0.0f, 5.0f); + ctx->genSlider("振り子速度", &swing_speed, 0.0f, 1000.0f); + ctx->genSlider("振り子下弦", &swing_descend, 0.5f, 2.0f); + ctx->genSlider("軌道修正", &swing_correction, -500.0f, 2000.0f); + ctx->genSlider("再出現時間(およそ)", &reappear_time, 0.0f, 300.0f); } #endif @@ -619,7 +619,7 @@ static int daE_MB_IsDelete(e_mb_class* i_this) { static int daE_MB_Delete(e_mb_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; - fpc_ProcID id = fopAcM_GetID(a_this); + fopAcM_RegisterDeleteID(a_this, "E_MB"); dComIfG_resDelete(&i_this->mPhase, "E_mb"); diff --git a/src/d/actor/d_a_e_md.cpp b/src/d/actor/d_a_e_md.cpp index cd109f1e16..dbc3cdf3ff 100644 --- a/src/d/actor/d_a_e_md.cpp +++ b/src/d/actor/d_a_e_md.cpp @@ -102,7 +102,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { static int daE_MD_Create(fopAc_ac_c* i_this) { daE_MD_c* a_this = (daE_MD_c*)i_this; - fpc_ProcID id = fopAcM_GetID(a_this); + fpc_ProcID id = fopAcM_GetID(i_this); return a_this->create(); } diff --git a/src/d/actor/d_a_e_mf.cpp b/src/d/actor/d_a_e_mf.cpp index 3374b2a919..42ad76cfd7 100644 --- a/src/d/actor/d_a_e_mf.cpp +++ b/src/d/actor/d_a_e_mf.cpp @@ -3136,12 +3136,12 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daE_MF_Create(fopAc_ac_c* a_this) { +static cPhs_Step daE_MF_Create(fopAc_ac_c* a_this) { e_mf_class* i_this = (e_mf_class*)a_this; fopAcM_ct(a_this, e_mf_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "E_mf"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "E_mf"); if (phase == cPhs_COMPLEATE_e) { int swBit = fopAcM_GetParam(a_this) >> 24; if (swBit != 0xFF) { diff --git a/src/d/actor/d_a_e_mk.cpp b/src/d/actor/d_a_e_mk.cpp index f9569500db..fef3a86675 100644 --- a/src/d/actor/d_a_e_mk.cpp +++ b/src/d/actor/d_a_e_mk.cpp @@ -48,17 +48,17 @@ daE_MK_HIO_c::daE_MK_HIO_c() { #if DEBUG void daE_MK_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" ブーメラン猿", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("基本サイズ", &size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("ブーメラン比率", &boomerang_ratio, 0.0f, 2.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("PL投max距離", &pl_throw_dist_max, 0.0f, 4000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("動作停止", &halt_action, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genLabel("王冠位置補正", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider(" X", &crown_pos_adjust.x, -50.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider(" Y", &crown_pos_adjust.y, -50.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider(" Z", &crown_pos_adjust.z, -50.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel(" ブーメラン猿", 0x80000001); + ctx->genSlider("基本サイズ", &size, 0.0f, 5.0f); + ctx->genSlider("ブーメラン比率", &boomerang_ratio, 0.0f, 2.0f); + ctx->genSlider("PL投max距離", &pl_throw_dist_max, 0.0f, 4000.0f); + ctx->genLabel(" ", 0x80000001); + ctx->genCheckBox("動作停止", &halt_action, 0x1); + ctx->genLabel(" ", 0x80000001); + ctx->genLabel("王冠位置補正", 0x80000001); + ctx->genSlider(" X", &crown_pos_adjust.x, -50.0f, 50.0f); + ctx->genSlider(" Y", &crown_pos_adjust.y, -50.0f, 50.0f); + ctx->genSlider(" Z", &crown_pos_adjust.z, -50.0f, 50.0f); } #endif @@ -2774,7 +2774,7 @@ static int daE_MK_IsDelete(e_mk_class* i_this) { static int daE_MK_Delete(e_mk_class* i_this) { fopEn_enemy_c* actor = (fopEn_enemy_c*)&i_this->actor; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_MK"); dComIfG_resDelete(&i_this->phase, "E_mk"); if (i_this->hioInit != 0) { @@ -2886,7 +2886,7 @@ static int daE_MK_Create(fopAc_ac_c* i_actor) { mk->sound.init(&i_actor->current.pos, &i_actor->eyePos, 3, 1); mk->atInfo.mpSound = &mk->sound; - i_actor->attention_info.distances[2] = 4; + i_actor->attention_info.distances[fopAc_attn_BATTLE_e] = 4; mk->stts.Init(0xFF, 0, i_actor); mk->tgSph.Set(cc_sph_src); diff --git a/src/d/actor/d_a_e_mm_mt.cpp b/src/d/actor/d_a_e_mm_mt.cpp index 61976863ce..92d02f20fc 100644 --- a/src/d/actor/d_a_e_mm_mt.cpp +++ b/src/d/actor/d_a_e_mm_mt.cpp @@ -134,7 +134,7 @@ static void e_mm_mt_normal(e_mm_mt_class* i_this) { fopAcM_SetGroup(actor, 3); fopAcM_OffStatus(actor, 0); actor->attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; - actor->attention_info.distances[2] = 0; + actor->attention_info.distances[fopAc_attn_BATTLE_e] = 0; fopAcM_OnStatus(actor, 0x400); s16 actor_angle = player->shape_angle.y + 0x4000; s16 angle = actor->shape_angle.y - actor_angle; @@ -372,7 +372,7 @@ static void e_mm_mt_drop(e_mm_mt_class* i_this) { i_this->enemy.attention_info.position = i_this->enemy.current.pos; cLib_addCalcAngleS2(&i_this->m_rotation.z, (TREG_S(6)+0x10000)-0x8000, 1, 0x1000); cLib_onBit(i_this->enemy.attention_info.flags, fopAc_AttnFlag_CARRY_e); - i_this->enemy.attention_info.distances[4] = 7; + i_this->enemy.attention_info.distances[fopAc_attn_CARRY_e] = 7; i_this->m_rotation.y += i_this->m_spin; if (i_this->enemy.speedF >= 20.0f) { i_this->m_sphere.OnAtSetBit(); @@ -595,10 +595,10 @@ static void action(e_mm_mt_class* i_this) { fopAc_ac_c* local_a4 = at_power_check(&i_this->m_atInfo); if (i_this->m_atInfo.mHitType == 1) { - if (daPy_getPlayerActorClass()->getCutType() == 8 || - daPy_getPlayerActorClass()->getCutType() == 9 || - daPy_getPlayerActorClass()->getCutType() == 23 || - daPy_getPlayerActorClass()->getCutType() == 24) { + if (daPy_getPlayerActorClass()->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || + daPy_getPlayerActorClass()->getCutType() == daPy_py_c::CUT_TYPE_UNK_9 || + daPy_getPlayerActorClass()->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT || + daPy_getPlayerActorClass()->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) { actor->speedF = cM_rndF(10.0f) + 40.0f + TREG_F(16); i_this->m_spin = (s16)(cM_rndF(2000.0f) + 5500.0f); i_this->field_0x69C = (s16)(cM_rndF(1000.0f) + 5000.0f); @@ -750,7 +750,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { } static int daE_MM_MT_Create(fopAc_ac_c* i_this) { - cPhs__Step cVar1; + cPhs_Step cVar1; bool bVar2; f32 fVar3; diff --git a/src/d/actor/d_a_e_nest.cpp b/src/d/actor/d_a_e_nest.cpp index b02feff7bf..9da31111fd 100644 --- a/src/d/actor/d_a_e_nest.cpp +++ b/src/d/actor/d_a_e_nest.cpp @@ -959,11 +959,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daE_Nest_Create(fopAc_ac_c* i_this) { +static cPhs_Step daE_Nest_Create(fopAc_ac_c* i_this) { fopAcM_ct(i_this, e_nest_class); e_nest_class* _this = static_cast(i_this); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, "E_nest"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, "E_nest"); if (step == cPhs_COMPLEATE_e) { _this->mBrokenSwitch = (u8)((u16)_this->current.angle.z >> 8); _this->shape_angle.z = 0; diff --git a/src/d/actor/d_a_e_nz.cpp b/src/d/actor/d_a_e_nz.cpp index 7918dfe541..738d01b3bf 100644 --- a/src/d/actor/d_a_e_nz.cpp +++ b/src/d/actor/d_a_e_nz.cpp @@ -71,21 +71,19 @@ daE_NZ_HIO_c::daE_NZ_HIO_c() { #if DEBUG void daE_NZ_HIO_c::genMessage(JORMContext* ctx) { // Ghost Rat - ctx->genLabel(" 幽霊ネズミ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel(" 幽霊ネズミ", 0x80000001); // Basic Size - ctx->genSlider("基本サイズ", &mBasicSize, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("基本サイズ", &mBasicSize, 0.0f, 5.0f); // Basic Speed - ctx->genSlider("移動速度", &mSpeed, 0.0f, 30.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("移動速度", &mSpeed, 0.0f, 30.0f); // Attack Speed - ctx->genSlider("攻撃速度", &mAttackSpeed, 0.0f, 60.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("攻撃速度", &mAttackSpeed, 0.0f, 60.0f); // Attack Wait Time - ctx->genSlider("出現タイムラグ", &mWaitTime, 0, 0x23, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("出現タイムラグ", &mWaitTime, 0, 0x23); // Current alpha speed - ctx->genSlider("現α速度", &mCurrentAlphaSpeed, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("現α速度", &mCurrentAlphaSpeed, 0.0f, 255.0f); // Vanishing alpha speed - ctx->genSlider("消α速度", &mVanishingAlphaSpeed, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("消α速度", &mVanishingAlphaSpeed, 0.0f, 255.0f); } #endif diff --git a/src/d/actor/d_a_e_oc.cpp b/src/d/actor/d_a_e_oc.cpp index e8bb8c8f3e..2dc8ee4845 100644 --- a/src/d/actor/d_a_e_oc.cpp +++ b/src/d/actor/d_a_e_oc.cpp @@ -107,25 +107,25 @@ daE_OC_HIO_c::daE_OC_HIO_c() { #if DEBUG void daE_OC_HIO_c::genMessage(JORMContext* ctext) { // enemy sample - ctext->genLabel("敵サンプル", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel("敵サンプル", 0x80000001); // basic size - ctext->genSlider("基本サイズ", &basic_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("基本サイズ", &basic_size, 0.0f, 5.0f); // player search max radius S - ctext->genSlider("プレイヤーサーチ最大半径S", &plyr_srch_max_radius_S, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("プレイヤーサーチ最大半径S", &plyr_srch_max_radius_S, 0.0f, 10000.0f); // player search max radius M - ctext->genSlider("プレイヤーサーチ最大半径M", &plyr_srch_max_radius_M, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("プレイヤーサーチ最大半径M", &plyr_srch_max_radius_M, 0.0f, 10000.0f); // player search min radius - ctext->genSlider("プレイヤーサーチ最小半径", &plyr_srch_min_radius, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("プレイヤーサーチ最小半径", &plyr_srch_min_radius, 0.0f, 10000.0f); // battle participation radius - ctext->genSlider("戦闘参加半径", &battle_participation_radius, 0.0f, 3000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("戦闘参加半径", &battle_participation_radius, 0.0f, 3000.0f); // attention radius of slain teammate - ctext->genSlider("やられ仲間注目半径", &teammate_attention_radius, 0.0f, 3000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("やられ仲間注目半径", &teammate_attention_radius, 0.0f, 3000.0f); // demo waiting time - ctext->genSlider("デモ待機時間", &demo_waiting_time, 0.0f, 3000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("デモ待機時間", &demo_waiting_time, 0.0f, 3000.0f); // out of range standby distance - ctext->genSlider("範囲外待機距離", &standby_distance, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("範囲外待機距離", &standby_distance, 0.0f, 10000.0f); // radius representation - ctext->genCheckBox("半径表示", &radius_representation, 1, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genCheckBox("半径表示", &radius_representation, 0x1); } #endif @@ -613,13 +613,13 @@ int daE_OC_c::getCutType() { case daPy_py_c::CUT_TYPE_NM_STAB: case daPy_py_c::CUT_TYPE_NM_RIGHT: case daPy_py_c::CUT_TYPE_FINISH_STAB: - case daPy_py_c::CUT_TYPE_DASH_UNK_26: + case daPy_py_c::CUT_TYPE_DASH_RIGHT: case daPy_py_c::CUT_TYPE_NM_VERTICAL: return 0; case daPy_py_c::CUT_TYPE_COMBO_STAB: - case daPy_py_c::CUT_TYPE_HORSE_UNK_22: - case daPy_py_c::CUT_TYPE_HORSE_UNK_23: - case daPy_py_c::CUT_TYPE_DASH_UNK_25: + case daPy_py_c::CUT_TYPE_HORSE_LEFT_A: + case daPy_py_c::CUT_TYPE_HORSE_LEFT_B: + case daPy_py_c::CUT_TYPE_DASH_LEFT: case daPy_py_c::CUT_TYPE_NM_LEFT: return 1; default: @@ -2669,7 +2669,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return a_this->CreateHeap(); } -cPhs__Step daE_OC_c::create() { +cPhs_Step daE_OC_c::create() { fopAcM_ct(this, daE_OC_c); field_0x6b4 = fopAcM_GetParam(this) & 0xFF; if (field_0x6b4 == 0xFF) { @@ -2706,9 +2706,9 @@ cPhs__Step daE_OC_c::create() { mName = "E_OC2"; } - cPhs__Step phase = (cPhs__Step) dComIfG_resLoad(&mPhaseReqs[0], mName); + cPhs_Step phase = dComIfG_resLoad(&mPhaseReqs[0], mName); if (phase == cPhs_COMPLEATE_e) { - phase = (cPhs__Step) dComIfG_resLoad(&mPhaseReqs[1], "E_ocb"); + phase = dComIfG_resLoad(&mPhaseReqs[1], "E_ocb"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_OC PARAM %x\n", fopAcM_GetParam(this)); if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x2e40)) { diff --git a/src/d/actor/d_a_e_oct_bg.cpp b/src/d/actor/d_a_e_oct_bg.cpp index f4dde1c3cc..a16544f204 100644 --- a/src/d/actor/d_a_e_oct_bg.cpp +++ b/src/d/actor/d_a_e_oct_bg.cpp @@ -4,7 +4,7 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep -#include "dolphin/types.h" +#include #include "d/actor/d_a_e_oct_bg.h" #include "f_op/f_op_actor_mng.h" @@ -684,7 +684,7 @@ void daE_OctBg_c::damage_check() { field_0x9f8.ChkAtHit()) { if (field_0x9f8.ChkAtShieldHit()) { - if (daPy_getPlayerActorClass()->getCutType() == 41) { + if (daPy_getPlayerActorClass()->getCutType() == daPy_py_c::CUT_TYPE_GUARD_ATTACK) { setAction(&daE_OctBg_c::damage); return; } diff --git a/src/d/actor/d_a_e_ot.cpp b/src/d/actor/d_a_e_ot.cpp index ac7ed366f7..e4849ccad6 100644 --- a/src/d/actor/d_a_e_ot.cpp +++ b/src/d/actor/d_a_e_ot.cpp @@ -741,10 +741,10 @@ static int useHeapInit(fopAc_ac_c* i_this) { return static_cast(i_this)->CreateHeap(); } -cPhs__Step daE_OT_c::create() { +cPhs_Step daE_OT_c::create() { fopAcM_ct(this, daE_OT_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_OT"); + cPhs_Step step = dComIfG_resLoad(&mPhase, "E_OT"); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x1f40)) { return cPhs_ERROR_e; @@ -825,7 +825,7 @@ cPhs__Step daE_OT_c::create() { return step; } -static cPhs__Step daE_OT_Create(daE_OT_c* i_this) { +static cPhs_Step daE_OT_Create(daE_OT_c* i_this) { return i_this->create(); } diff --git a/src/d/actor/d_a_e_pm.cpp b/src/d/actor/d_a_e_pm.cpp index b9c75e830a..56041078ce 100644 --- a/src/d/actor/d_a_e_pm.cpp +++ b/src/d/actor/d_a_e_pm.cpp @@ -2794,9 +2794,9 @@ void daE_PM_c::SkipChk() { } } -cPhs__Step daE_PM_c::Create() { +cPhs_Step daE_PM_c::Create() { fopAcM_ct(this, daE_PM_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_PM"); + cPhs_Step step = dComIfG_resLoad(&mPhase, "E_PM"); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x45E0)) { @@ -2855,7 +2855,7 @@ cPhs__Step daE_PM_c::Create() { return step; } -static cPhs__Step daE_PM_Create(fopAc_ac_c* i_this) { +static cPhs_Step daE_PM_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->Create(); } diff --git a/src/d/actor/d_a_e_pz.cpp b/src/d/actor/d_a_e_pz.cpp index 9241a33234..bb5e1c6688 100644 --- a/src/d/actor/d_a_e_pz.cpp +++ b/src/d/actor/d_a_e_pz.cpp @@ -265,14 +265,14 @@ u8 daE_PZ_c::getCutType() { case daPy_py_c::CUT_TYPE_NM_STAB: case daPy_py_c::CUT_TYPE_NM_RIGHT: case daPy_py_c::CUT_TYPE_FINISH_VERTICAL: - case daPy_py_c::CUT_TYPE_DASH_UNK_26: + case daPy_py_c::CUT_TYPE_DASH_RIGHT: return 1; case daPy_py_c::CUT_TYPE_NM_LEFT: case daPy_py_c::CUT_TYPE_FINISH_LEFT: case daPy_py_c::CUT_TYPE_COMBO_STAB: - case daPy_py_c::CUT_TYPE_HORSE_UNK_22: - case daPy_py_c::CUT_TYPE_HORSE_UNK_23: - case daPy_py_c::CUT_TYPE_DASH_UNK_25: + case daPy_py_c::CUT_TYPE_HORSE_LEFT_A: + case daPy_py_c::CUT_TYPE_HORSE_LEFT_B: + case daPy_py_c::CUT_TYPE_DASH_LEFT: return 2; default: return 3; diff --git a/src/d/actor/d_a_e_rd.cpp b/src/d/actor/d_a_e_rd.cpp index 41746956c3..98e8ce700a 100644 --- a/src/d/actor/d_a_e_rd.cpp +++ b/src/d/actor/d_a_e_rd.cpp @@ -231,52 +231,52 @@ daE_RD_HIO_c::daE_RD_HIO_c() { #if DEBUG void daE_RD_HIO_c::genMessage(JORMContext* ctext) { // Rider (a.k.a. Bulblins) - ctext->genLabel(" ライダー", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel(" ライダー", 0x80000001); // basic size - ctext->genSlider("基本サイズ", &model_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("基本サイズ", &model_size, 0.0f, 5.0f); // leader size ratio - ctext->genSlider("リーダーサイズ比", &leader_size_ratio, 0.0f, 2.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("リーダーサイズ比", &leader_size_ratio, 0.0f, 2.0f); // movement speed - ctext->genSlider("移動速度", &movement_speed, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("移動速度", &movement_speed, 0.0f, 20.0f); // ~~ In the case of a club-wielding soldier ~~ - ctext->genLabel(" ~~ こん棒兵の場合 ~~", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel(" ~~ こん棒兵の場合 ~~", 0x80000001); // speed rush - ctext->genSlider("突進速度", &dash_speed, 0.0f, 40.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("突進速度", &dash_speed, 0.0f, 40.0f); // combat start range - ctext->genSlider("戦闘開始範囲", &battle_init_range, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("戦闘開始範囲", &battle_init_range, 0.0f, 2000.0f); // attack range - ctext->genSlider("攻撃開始範囲", &attack_init_range, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("攻撃開始範囲", &attack_init_range, 0.0f, 1000.0f); // swing speed - ctext->genSlider("振り速さ", &swing_speed, 0.0f, 3.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genLabel(" ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("振り速さ", &swing_speed, 0.0f, 3.0f); + ctext->genLabel(" ", 0x80000001); // ~~ In the case of archers ~~ - ctext->genLabel(" ~~ 矢兵の場合 ~~", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel(" ~~ 矢兵の場合 ~~", 0x80000001); // Command → Ready stance - ctext->genSlider("号令→構えの間", &command_to_ready_stance, 0, 200, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("号令→構えの間", &command_to_ready_stance, 0, 200); // attack range - ctext->genSlider("攻撃範囲", &attack_range, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("攻撃範囲", &attack_range, 0.0f, 2000.0f); // riding firing distance - ctext->genSlider("騎乗発射距離", &mounted_launch_distance, 0.0f, 3000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("騎乗発射距離", &mounted_launch_distance, 0.0f, 3000.0f); // wolf takedown power Y - ctext->genSlider("狼倒れ力Y", &wolf_falling_power_y, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("狼倒れ力Y", &wolf_falling_power_y, 0.0f, 50.0f); // wolf takedown power Z - ctext->genSlider("狼倒れ力Z", &wolf_falling_power_z, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("狼倒れ力Z", &wolf_falling_power_z, 0.0f, 50.0f); // flying Z (Rider suspended) - ctext->genSlider("飛びZ(騎乗停止)", &jump_z_suspended, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("飛びZ(騎乗停止)", &jump_z_suspended, 0.0f, 50.0f); // flying Z - ctext->genSlider("飛びZ", &jump_z, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("飛びZ", &jump_z, 0.0f, 50.0f); // flying y - ctext->genSlider("飛びY", &jump_y, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("飛びY", &jump_y, 0.0f, 50.0f); // jump g - ctext->genSlider("飛びG", &jump_g, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("飛びG", &jump_g, 0.0f, 20.0f); // invincible - ctext->genCheckBox("不死身", &invulnerable, 1, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genCheckBox("不死身", &invulnerable, 0x1); // eye polygons - ctext->genCheckBox("目ポリゴン", &eye_polygon, 1, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genCheckBox("目ポリゴン", &eye_polygon, 0x1); // one-hit kill - ctext->genCheckBox("一撃必殺", &one_hit_kill, 1, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genCheckBox("一撃必殺", &one_hit_kill, 0x1); // ikki (da) size - ctext->genSlider("一騎(ダ)サイズ", &field_0x3c, 0.0f, 150.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("一騎(ダ)サイズ", &field_0x3c, 0.0f, 150.0f); } #endif @@ -5237,7 +5237,7 @@ static void action(e_rd_class* i_this) { if (i_this->field_0x9bc == 0) { - a_this->attention_info.distances[2] = 3; + a_this->attention_info.distances[fopAc_attn_BATTLE_e] = 3; if (i_this->field_0x9ec) { cMtx_YrotS(*calc_mtx, i_this->field_0xa0c.y); if (i_this->field_0xaf0 == 0) { @@ -7274,7 +7274,7 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daE_RD_Create(fopAc_ac_c* a_this) { +static cPhs_Step daE_RD_Create(fopAc_ac_c* a_this) { e_rd_class* i_this = (e_rd_class*)a_this; fopAcM_ct(&i_this->actor, e_rd_class); @@ -7302,7 +7302,7 @@ static cPhs__Step daE_RD_Create(fopAc_ac_c* a_this) { i_this->mResName = "E_RD"; } - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, i_this->mResName); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, i_this->mResName); if (phase == cPhs_COMPLEATE_e) { if (strcmp(dComIfGp_getStartStageName(), "F_SP124") == 0) { // Gerudo Desert diff --git a/src/d/actor/d_a_e_rdy.cpp b/src/d/actor/d_a_e_rdy.cpp index 46624ca064..c12cfef2d9 100644 --- a/src/d/actor/d_a_e_rdy.cpp +++ b/src/d/actor/d_a_e_rdy.cpp @@ -250,9 +250,9 @@ void daE_RDY_HIO_c::genMessage(JORMContext* context) { context->genSlider("飛びZ", &field_0x44, 0.0f, 50.0f); context->genSlider("飛びY", &field_0x4c, 0.0f, 50.0f); context->genSlider("飛びG", &field_0x40, 0.0f, 20.0f); - context->genCheckBox("不死身", &field_0x39, 1); - context->genCheckBox("目ポリゴン", &mDrawEyeModel, 1); - context->genCheckBox("一撃必殺", &field_0x3b, 1); + context->genCheckBox("不死身", &field_0x39, 0x1); + context->genCheckBox("目ポリゴン", &mDrawEyeModel, 0x1); + context->genCheckBox("一撃必殺", &field_0x3b, 0x1); context->genSlider("一騎(ダ)サイズ", &field_0x3c, 0.0f, 150.0f); } #endif @@ -4758,7 +4758,7 @@ static int daE_RDY_IsDelete(e_rdy_class* i_this) { static int daE_RDY_Delete(e_rdy_class* i_this) { fopAc_ac_c* a_this = &i_this->actor; - fpc_ProcID unused = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_RDY"); dComIfG_resDelete(&i_this->mPhase, i_this->mpArcName); if (i_this->mHIOInit) { @@ -4869,7 +4869,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daE_RDY_Create(fopAc_ac_c* i_this) { +static cPhs_Step daE_RDY_Create(fopAc_ac_c* i_this) { e_rdy_class* _this = (e_rdy_class*)i_this; fopAcM_ct(&_this->actor, e_rdy_class); @@ -4881,7 +4881,7 @@ static cPhs__Step daE_RDY_Create(fopAc_ac_c* i_this) { } _this->mpArcName = "E_rdy"; - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, _this->mpArcName); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, _this->mpArcName); if (step == cPhs_COMPLEATE_e) { OS_REPORT("E_RDY PARAM %x\n", fopAcM_GetParam(i_this)); if (_this->field_0x5b8 != 3) { diff --git a/src/d/actor/d_a_e_sb.cpp b/src/d/actor/d_a_e_sb.cpp index b9b744d2ea..d876993191 100644 --- a/src/d/actor/d_a_e_sb.cpp +++ b/src/d/actor/d_a_e_sb.cpp @@ -35,33 +35,33 @@ daE_SB_HIO_c::daE_SB_HIO_c() { #if DEBUG void daE_SB_HIO_c::genMessage(JORMContext* ctext) { // "Shell Blade" - ctext->genLabel("シェルブレイド", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel("シェルブレイド", 0x80000001); // "Search Area" - ctext->genSlider("サーチエリア", &search_area, 0.0f, 3000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("サーチエリア", &search_area, 0.0f, 3000.0f); // "Distance home" - ctext->genSlider("お家に帰る距離", &distance_home, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("お家に帰る距離", &distance_home, 0.0f, 1000.0f); // "Jump XZ axis speed" - ctext->genSlider("ジャンプXZ軸スピード", &jump_xz_axis_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("ジャンプXZ軸スピード", &jump_xz_axis_speed, 0.0f, 100.0f); // "Jump Y-axis speed" - ctext->genSlider("ジャンプY軸スピード", &jump_y_axis_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("ジャンプY軸スピード", &jump_y_axis_speed, 0.0f, 100.0f); // "Attack jump XZ axis speed" - ctext->genSlider("攻撃ジャンプXZ軸スピード", &atk_jump_xz_axis_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("攻撃ジャンプXZ軸スピード", &atk_jump_xz_axis_speed, 0.0f, 100.0f); // "Attack Y-axis speed" - ctext->genSlider("攻撃Y軸スピード", &atk_y_axis_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("攻撃Y軸スピード", &atk_y_axis_speed, 0.0f, 100.0f); // "Magne On Attack Y-axis Speed" - ctext->genSlider("マグネOn攻撃Y軸スピード", &magne_on_atk_y_axis_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("マグネOn攻撃Y軸スピード", &magne_on_atk_y_axis_speed, 0.0f, 100.0f); // "Gravity reduction rate" - ctext->genSlider("重力の減る比率", &grav_reduct_rate, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("重力の減る比率", &grav_reduct_rate, 0.0f, 1.0f); // "Other animation speed" - ctext->genSlider("その他アニメーションスピード", &other_anm_speed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("その他アニメーションスピード", &other_anm_speed, 0.0f, 10.0f); // "Shield attack animation speed" - ctext->genSlider("盾攻撃アニメーションスピード", &shield_atk_anm_speed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("盾攻撃アニメーションスピード", &shield_atk_anm_speed, 0.0f, 10.0f); // "DEATH animation speed" - ctext->genSlider("DEATHアニメーションスピード", &death_anm_speed, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("DEATHアニメーションスピード", &death_anm_speed, 0.0f, 10.0f); // "Size" - ctext->genSlider("大きさ", &size, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("大きさ", &size, 0.0f, 10.0f); // "Attack start range" - ctext->genSlider("攻撃開始範囲", &atk_start_range, 0.0f, 3000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("攻撃開始範囲", &atk_start_range, 0.0f, 3000.0f); } #endif @@ -607,7 +607,7 @@ void daE_SB_c::ActionCheck() { if ( (s16) (shape_angle.y - tgt_ang) > -0x3000 && (s16) (shape_angle.y - tgt_ang) < 0x3000) { if (temp_r27 > 1U) { Hit(); - } else if (temp_r29 == 1 || temp_r29 == 10 || temp_r29 == 0x29 || dComIfGp_checkPlayerStatus0(0, 0x4000U)) { + } else if (temp_r29 == daPy_py_c::CUT_TYPE_NM_VERTICAL || temp_r29 == daPy_py_c::CUT_TYPE_JUMP || temp_r29 == daPy_py_c::CUT_TYPE_GUARD_ATTACK || dComIfGp_checkPlayerStatus0(0, 0x4000U)) { Hanekaeri(); } else { Hit(); @@ -1094,9 +1094,9 @@ static int daE_SB_Delete(daE_SB_c* i_this) { return i_this->Delete(); } -cPhs__Step daE_SB_c::Create() { +cPhs_Step daE_SB_c::Create() { fopAcM_ct(this, daE_SB_c); - cPhs__Step phase = (cPhs__Step) dComIfG_resLoad(&mPhaseReq, "E_SB"); + cPhs_Step phase = dComIfG_resLoad(&mPhaseReq, "E_SB"); if (phase == cPhs_COMPLEATE_e) { field_0x61a = fopAcM_GetParam(this); if (field_0x61a != 0xFF && dComIfGs_isSwitch(field_0x61a, fopAcM_GetRoomNo(this))) { @@ -1115,7 +1115,7 @@ cPhs__Step daE_SB_c::Create() { } attention_info.flags = fopAc_AttnFlag_BATTLE_e; - attention_info.distances[2] = 0x24; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x24; fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); fopAcM_SetMin(this, -200.0f, 0.0f, -200.0f); fopAcM_SetMax(this, 200.0f, 200.0f, 200.0f); diff --git a/src/d/actor/d_a_e_sf.cpp b/src/d/actor/d_a_e_sf.cpp index 45bf84f63c..55414997c4 100644 --- a/src/d/actor/d_a_e_sf.cpp +++ b/src/d/actor/d_a_e_sf.cpp @@ -1739,11 +1739,11 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daE_SF_Create(fopAc_ac_c* a_this) { +static cPhs_Step daE_SF_Create(fopAc_ac_c* a_this) { e_sf_class* i_this = (e_sf_class*)a_this; fopAcM_ct(a_this, e_sf_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "E_sf"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "E_sf"); if (phase == cPhs_COMPLEATE_e) { i_this->mSwBit = a_this->current.angle.z & 0xFF; if (i_this->mSwBit != 0xFF) { diff --git a/src/d/actor/d_a_e_sg.cpp b/src/d/actor/d_a_e_sg.cpp index 6e24f68b3c..36abce70fd 100644 --- a/src/d/actor/d_a_e_sg.cpp +++ b/src/d/actor/d_a_e_sg.cpp @@ -1163,7 +1163,7 @@ static int daE_SG_Create(fopAc_ac_c* i_this) { e_sg_class* a_this = static_cast(i_this); fopAcM_ct(i_this, e_sg_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "E_sg"); + cPhs_Step step = dComIfG_resLoad(&a_this->mPhaseReq, "E_sg"); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(i_this, useHeapInit, 4000)) { diff --git a/src/d/actor/d_a_e_sh.cpp b/src/d/actor/d_a_e_sh.cpp index bda0eb701b..a2d7722926 100644 --- a/src/d/actor/d_a_e_sh.cpp +++ b/src/d/actor/d_a_e_sh.cpp @@ -46,16 +46,16 @@ daE_SH_HIO_c::daE_SH_HIO_c() { #if DEBUG void daE_SH_HIO_c::genMessage(JORMContext* ctx) { // "Stalhound" - ctx->genLabel(" スタルハウンド", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("基本サイズ", &mBaseSize, 0.0f, 3.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("歩き速度", &mWalkSpeed, 0.0f, 60.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("走り速度", &mRunSpeed, 0.0f, 60.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("チェック1", &mCheck1, 0.0f, 2000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("チェック2", &mCheck2, 0.0f, 2000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("チェック3", &mCheck3, 0.0f, 2000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("チェック4", &mCheck4, 0.0f, 2000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("チェック5", &mCheck5, 0.0f, 2000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genCheckBox("時間無視", &mIgnoreTime, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel(" スタルハウンド", 0x80000001); + ctx->genSlider("基本サイズ", &mBaseSize, 0.0f, 3.0f); + ctx->genSlider("歩き速度", &mWalkSpeed, 0.0f, 60.0f); + ctx->genSlider("走り速度", &mRunSpeed, 0.0f, 60.0f); + ctx->genSlider("チェック1", &mCheck1, 0.0f, 2000.0f); + ctx->genSlider("チェック2", &mCheck2, 0.0f, 2000.0f); + ctx->genSlider("チェック3", &mCheck3, 0.0f, 2000.0f); + ctx->genSlider("チェック4", &mCheck4, 0.0f, 2000.0f); + ctx->genSlider("チェック5", &mCheck5, 0.0f, 2000.0f); + ctx->genCheckBox("時間無視", &mIgnoreTime, 0x1); } #endif @@ -1109,7 +1109,7 @@ static int daE_SH_IsDelete(e_sh_class* i_this) { static int daE_SH_Delete(e_sh_class* i_this) { fopAc_ac_c* actor = (fopAc_ac_c*)&i_this->enemy; - fpc_ProcID unusedId = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_SH"); dComIfG_resDelete(&i_this->mPhase, "E_sh"); diff --git a/src/d/actor/d_a_e_sm.cpp b/src/d/actor/d_a_e_sm.cpp index a00d3a2f62..9814a6021a 100644 --- a/src/d/actor/d_a_e_sm.cpp +++ b/src/d/actor/d_a_e_sm.cpp @@ -1895,10 +1895,10 @@ void daE_SM_c::initCoSph() { mCoCore.OnTgNoHitMark(); } -cPhs__Step daE_SM_c::Create() { +cPhs_Step daE_SM_c::Create() { fopAcM_ct(this, daE_SM_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_SM"); + cPhs_Step phase = dComIfG_resLoad(&mPhase, "E_SM"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_SM PARAM %x\n", fopAcM_GetParam(this)); diff --git a/src/d/actor/d_a_e_sm2.cpp b/src/d/actor/d_a_e_sm2.cpp index 9c02533746..47b5b5872e 100644 --- a/src/d/actor/d_a_e_sm2.cpp +++ b/src/d/actor/d_a_e_sm2.cpp @@ -42,11 +42,11 @@ daE_SM2_HIO_c::daE_SM2_HIO_c() { #if DEBUG void daE_SM2_HIO_c::genMessage(JORMContext* ctx) { - ctx->genCheckBox("合体しない", &merge_OFF, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("色調整する", &color_debug_ON, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("色調整R", &color_debug_R, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("色調整G", &color_debug_G, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("色調整B", &color_debug_B, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genCheckBox("合体しない", &merge_OFF, 0x1); + ctx->genCheckBox("色調整する", &color_debug_ON, 0x1); + ctx->genSlider("色調整R", &color_debug_R, 0, 0xFF); + ctx->genSlider("色調整G", &color_debug_G, 0, 0xFF); + ctx->genSlider("色調整B", &color_debug_B, 0, 0xFF); } #endif @@ -1399,7 +1399,7 @@ static int daE_SM2_IsDelete(e_sm2_class* i_this) { static int daE_SM2_Delete(e_sm2_class* i_this) { fopAc_ac_c* actor = &i_this->enemy; - fpc_ProcID id = fopAcM_GetID(&i_this->enemy); + fopAcM_RegisterDeleteID(&i_this->enemy, "E_SM2"); #if DEBUG l_HIO.removeHIO(i_this->enemy); diff --git a/src/d/actor/d_a_e_st.cpp b/src/d/actor/d_a_e_st.cpp index 77b85f7b0a..e5b148b07a 100644 --- a/src/d/actor/d_a_e_st.cpp +++ b/src/d/actor/d_a_e_st.cpp @@ -244,12 +244,12 @@ daE_ST_HIO_c::daE_ST_HIO_c() { #if DEBUG void daE_ST_HIO_c::genMessage(JORMContext* ctext) { // "stalchura" - a.k.a. skultula - ctext->genLabel(" スタルチュラ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("基本サイズ", &basic_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("PL認識距離", &pl_recognize_dist, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("戦闘開始距離", &combat_start_dist, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("攻撃前間", &time_before_attack, 0, 50, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("ダウン時間", &down_time, 0, 300, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel(" スタルチュラ", 0x80000001); + ctext->genSlider("基本サイズ", &basic_size, 0.0f, 5.0f); + ctext->genSlider("PL認識距離", &pl_recognize_dist, 0.0f, 5000.0f); + ctext->genSlider("戦闘開始距離", &combat_start_dist, 0.0f, 1000.0f); + ctext->genSlider("攻撃前間", &time_before_attack, 0, 50); + ctext->genSlider("ダウン時間", &down_time, 0, 300); } #endif @@ -3005,11 +3005,11 @@ static BOOL roof_initial_pos_set(e_st_class* i_this) { return FALSE; } -static cPhs__Step daE_ST_Create(fopAc_ac_c* a_this) { +static cPhs_Step daE_ST_Create(fopAc_ac_c* a_this) { e_st_class* i_this = (e_st_class*)a_this; fopAcM_ct(&i_this->actor, e_st_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "E_st"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "E_st"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_st PARAM %x\n", fopAcM_GetParam(a_this)); i_this->arg0 = fopAcM_GetParam(a_this) & 0xF; diff --git a/src/d/actor/d_a_e_sw.cpp b/src/d/actor/d_a_e_sw.cpp index 82014649c9..62b0ada490 100644 --- a/src/d/actor/d_a_e_sw.cpp +++ b/src/d/actor/d_a_e_sw.cpp @@ -1638,7 +1638,7 @@ static int useHeapInit(fopAc_ac_c* a_this) { return i_this->CreateHeap(); } -cPhs__Step daE_SW_c::create() { +cPhs_Step daE_SW_c::create() { fopAcM_ct(this, daE_SW_c); field_0x68c = fopAcM_GetParam(this) & 15; @@ -1682,7 +1682,7 @@ cPhs__Step daE_SW_c::create() { field_0x696 = 0xFF; } - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_SW"); + cPhs_Step phase = dComIfG_resLoad(&mPhase, "E_SW"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_SW PARAM %x %d %d\n", fopAcM_GetParam(this), field_0x696, fopAcM_GetID(this)); shape_angle.x = 0; @@ -1755,10 +1755,10 @@ cPhs__Step daE_SW_c::create() { if (field_0x694 == 0) { mBgc.OnLineCheck(); field_0x698 = 2; - attention_info.distances[2] = 3; + attention_info.distances[fopAc_attn_BATTLE_e] = 3; d_setAction(&daE_SW_c::d_wait); } else { - attention_info.distances[2] = 4; + attention_info.distances[fopAc_attn_BATTLE_e] = 4; if (field_0x6dc > 1.0f) { field_0x98c.SetAtSpl((dCcG_At_Spl)1); diff --git a/src/d/actor/d_a_e_tk.cpp b/src/d/actor/d_a_e_tk.cpp index 1531055bee..dbe22e40f4 100644 --- a/src/d/actor/d_a_e_tk.cpp +++ b/src/d/actor/d_a_e_tk.cpp @@ -1,13 +1,14 @@ /** -* @file d_a_e_tk.cpp + * @file d_a_e_tk.cpp * */ -#include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_e_tk.h" #include "d/actor/d_a_e_tk_ball.h" #include "d/d_com_inf_game.h" +#include "d/d_s_play.h" #include "f_op/f_op_kankyo_mng.h" enum Action { @@ -45,26 +46,46 @@ static bool hio_set; static daE_TK_HIO_c l_HIO; daE_TK_HIO_c::daE_TK_HIO_c() { - field_0x04 = -1; - mRadiusScale = 1.9f; - mPlayerRange2 = 1400.0f; - mPlayerRange1 = 500.0f; - mSpeedModifier1 = 10.0f; - mSpeedModifier2 = 25.0f; + mNo = -1; + mBaseSize = 1.9f; + mPlayerDetectionDistanceFar = 1400.0f; + mPlayerDetectionDistanceNear = 500.0f; + mSwimSpeedModifier = 10.0f; + mFleeSpeedModifier = 25.0f; } -static void anm_init(e_tk_class* i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_rate) { - J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes("E_tk", i_index); +#if DEBUG +void daE_TK_HIO_c::genMessage(JORMContext* ctext) { + // Tadpole + ctext->genLabel(" タドポール", 0x80000001, 0U, NULL); + // Base Size + ctext->genSlider("基本サイズ", &mBaseSize, 0.0f, 5.0f); + // Player Detection Distance Far + ctext->genSlider("PL認識距離 遠", &mPlayerDetectionDistanceFar, 0.0f, 3000.0f); + // Player Detection Distance Near + ctext->genSlider("PL認識距離 近", &mPlayerDetectionDistanceNear, 0.0f, 3000.0f); + ctext->genLabel(" ", 0x80000001); + // ↓ Behavior not guaranteed if changed + ctext->genLabel(" ↓変更すると動作保証しません", 0x80000001); + // Swim Speed + ctext->genSlider("泳ぎ速度", &mSwimSpeedModifier, 0.0f, 40.0f); + // Flee Speed + ctext->genSlider("逃げ速度", &mFleeSpeedModifier, 0.0f, 40.0f); +} +#endif - i_this->mpMorf->setAnm(anm, i_attr, i_morf, i_rate, 0.0f, -1.0f); +static void anm_init(e_tk_class* i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_rate) { + i_this->mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("E_tk", i_index), i_attr, i_morf, + i_rate, 0.0f, -1.0f); i_this->mAnim = i_index; } static int daE_TK_Draw(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; J3DModel* model = i_this->mpMorf->getModel(); - g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->tevStr); - g_env_light.setLightTevColorType_MAJI(model, &i_this->tevStr); + g_env_light.settingTevStruct(0, &actor->current.pos, &actor->tevStr); + g_env_light.setLightTevColorType_MAJI(model, &actor->tevStr); i_this->mpMorf->entryDL(); return 1; } @@ -72,6 +93,7 @@ static int daE_TK_Draw(e_tk_class* i_this) { static int other_bg_check(e_tk_class* i_this, fopAc_ac_c* i_ac) { fopAc_ac_c* actor = i_this; dBgS_LinChk line_check; + cXyz _unk1; cXyz start_pos; cXyz end_pos; @@ -90,7 +112,13 @@ static int other_bg_check(e_tk_class* i_this, fopAc_ac_c* i_ac) { } static int pl_y_check(e_tk_class* i_this) { - if (i_this->current.pos.y - dComIfGp_getPlayer(0)->current.pos.y > 130.0f) { + fopAc_ac_c* actor = i_this; +#if DEBUG // TODO: Debug Fakematch. On retail, actor is accessed before the gameInfo. + fopAc_ac_c* player = dComIfGp_getPlayer(0); + if (actor->current.pos.y - player->current.pos.y > 130.0f) { +#else + if (actor->current.pos.y - dComIfGp_getPlayer(0)->current.pos.y > 130.0f) { +#endif return 0; } else { return 1; @@ -98,10 +126,11 @@ static int pl_y_check(e_tk_class* i_this) { } static int pl_check(e_tk_class* i_this, f32 i_limit, s16 i_max_diff) { + fopAc_ac_c* actor = i_this; fopAc_ac_c* player = dComIfGp_getPlayer(0); if (i_this->mPlayerDistanceLimit < i_limit) { - s16 diff = i_this->shape_angle.y - i_this->mPlayerAngleY; + s16 diff = actor->shape_angle.y - i_this->mPlayerAngleY; if (diff < i_max_diff && diff > (s16)-i_max_diff && !other_bg_check(i_this, player)) { return 1; } @@ -111,6 +140,9 @@ static int pl_check(e_tk_class* i_this, f32 i_limit, s16 i_max_diff) { } static void damage_check(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + fopAc_ac_c* player = dComIfGp_getPlayer(0); + if (i_this->mInvincibilityTimer == 0) { i_this->mStts.Move(); @@ -129,7 +161,7 @@ static void damage_check(e_tk_class* i_this) { i_this->mMode = MODE_TK_KYORO2; i_this->mActionTimer[0] = 50; } else { - cc_at_check(i_this, &i_this->mAtInfo); + cc_at_check(actor, &i_this->mAtInfo); if (i_this->mAtInfo.mHitType == HIT_TYPE_STUN) { i_this->mAction = ACT_TK_S_DAMAGE; } else { @@ -139,8 +171,8 @@ static void damage_check(e_tk_class* i_this) { } } - if (i_this->health <= 1) { - i_this->health = 0; + if (actor->health <= 1) { + actor->health = 0; i_this->mSph.SetTgHitMark(CcG_Tg_UNK_MARK_3); } } @@ -152,12 +184,12 @@ static int way_bg_check(e_tk_class* i_this, f32 i_limit) { cXyz mtx_pos; cXyz start_pos; + cXyz end_pos; start_pos = actor->current.pos; start_pos.y -= 50.0f; - mDoMtx_YrotS(*calc_mtx, actor->shape_angle.y); + cMtx_YrotS(*calc_mtx, actor->shape_angle.y); - cXyz end_pos; mtx_pos.x = 0.0; mtx_pos.y = -50.0f; mtx_pos.z = i_limit; @@ -174,8 +206,11 @@ static int way_bg_check(e_tk_class* i_this, f32 i_limit) { } static void e_tk_wait_0(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + cXyz src_pos; f32 speed_mul = 1.0f; + f32 speed_step = 1.0f + YREG_F(5); i_this->mAttentionOFF = true; @@ -187,23 +222,23 @@ static void e_tk_wait_0(e_tk_class* i_this) { case MODE_TK_APPEAR: if (i_this->mActionTimer[0] == 0) { - src_pos = i_this->home.pos - i_this->current.pos; + src_pos = actor->home.pos - actor->current.pos; i_this->mSomeAngle = cM_atan2s(src_pos.x, src_pos.z) + (s16)cM_rndFX(8000.0f); i_this->mActionTimer[0] = cM_rndF(30.0f) + 30.0f; } if (i_this->mActionTimer[2] == 0 && way_bg_check(i_this, 200.0f)) { i_this->mActionTimer[2] = 40; - src_pos = i_this->home.pos - i_this->current.pos; + src_pos = actor->home.pos - actor->current.pos; i_this->mSomeAngle = cM_atan2s(src_pos.x, src_pos.z) + (s16)cM_rndFX(2000.0f); i_this->mActionTimer[0] = cM_rndF(30.0f) + 30.0f; } if (i_this->mActionTimer[1] == 0 && pl_y_check(i_this) && - pl_check(i_this, l_HIO.mPlayerRange2, 0x4000)) + pl_check(i_this, l_HIO.mPlayerDetectionDistanceFar, 0x4000)) { i_this->mAction = ACT_TK_FIND; - if (pl_check(i_this, l_HIO.mPlayerRange1, 0x4000)) { + if (pl_check(i_this, l_HIO.mPlayerDetectionDistanceNear, 0x4000)) { i_this->mMode = MODE_TK_WAIT01; } else { i_this->mMode = MODE_TK_NONE; @@ -212,19 +247,22 @@ static void e_tk_wait_0(e_tk_class* i_this) { break; } - cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->mSomeAngle, 0x10, 0x400); - cLib_addCalcAngleS2(&i_this->shape_angle.x, 0, 0x10, 0x400); - cLib_addCalc2(&i_this->speedF, l_HIO.mSpeedModifier1 * speed_mul, 1.0f, 1.0f); - cMtx_YrotS(*calc_mtx, i_this->shape_angle.y); + cLib_addCalcAngleS2(&actor->shape_angle.y, i_this->mSomeAngle, 0x10, 0x400); + cLib_addCalcAngleS2(&actor->shape_angle.x, 0, 0x10, 0x400); + cLib_addCalc2(&actor->speedF, l_HIO.mSwimSpeedModifier * speed_mul, 1.0f, speed_step); + cMtx_YrotS(*calc_mtx, actor->shape_angle.y); src_pos.x = 0.0f; src_pos.y = 0.0f; - src_pos.z = i_this->speedF; - MtxPosition(&src_pos, &i_this->speed); - i_this->current.pos += i_this->speed; + src_pos.z = actor->speedF; + MtxPosition(&src_pos, &actor->speed); + actor->current.pos += actor->speed; } static void e_tk_find(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + + cXyz local_58; f32 speed_target = 0.0f; f32 speed_step = 3.0f; @@ -247,7 +285,7 @@ static void e_tk_find(e_tk_class* i_this) { i_this->mAction = ACT_TK_ATTACK; i_this->mMode = MODE_TK_NONE; } else { - if (pl_check(i_this, l_HIO.mPlayerRange1, 0x4000)) { + if (pl_check(i_this, l_HIO.mPlayerDetectionDistanceNear, 0x4000)) { i_this->mMode = MODE_TK_KYORO2; } } @@ -279,7 +317,7 @@ static void e_tk_find(e_tk_class* i_this) { break; case MODE_TK_SWIM: - i_this->mPlayerAngleY = i_this->mPlayerAngleY + -0x8000; + ADD_ANGLE(i_this->mPlayerAngleY, 0x8000); i_this->mAttentionOFF = true; if (i_this->mpMorf->isStop()) { i_this->mAnimSpeed = 4.0f; @@ -292,10 +330,10 @@ static void e_tk_find(e_tk_class* i_this) { i_this->mAttentionOFF = true; cLib_addCalc2(&i_this->mAnimSpeed, 2.0f, 1.0f, 0.15f); i_this->mpMorf->setPlaySpeed(i_this->mAnimSpeed); - speed_target = 1.0f; - speed_step = 10.0f; + speed_target = 1.0f + YREG_F(17); + speed_step = 10.0f + YREG_F(18); if (i_this->mActionTimer[0] == 0 && - i_this->mPlayerDistanceLimit > l_HIO.mPlayerRange1 * 1.2f) + i_this->mPlayerDistanceLimit > l_HIO.mPlayerDetectionDistanceNear * 1.2f) { i_this->mMode = MODE_TK_NONE; } else { @@ -305,27 +343,28 @@ static void e_tk_find(e_tk_class* i_this) { } } if (i_this->mActionTimer[1] == 0) { - i_this->mPlayerAngleY = i_this->mPlayerAngleY - 0x8000; + ADD_ANGLE(i_this->mPlayerAngleY, 0x8000); } else { i_this->mPlayerAngleY = i_this->mSomeAngle; } break; } - cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->mPlayerAngleY, 4, 0x800); - cLib_addCalc2(&i_this->speedF, l_HIO.mSpeedModifier2 * speed_target, 1.0f, speed_step); - cMtx_YrotS(*calc_mtx, i_this->shape_angle.y); + cLib_addCalcAngleS2(&actor->shape_angle.y, i_this->mPlayerAngleY, 4, 0x800); + cLib_addCalc2(&actor->speedF, l_HIO.mFleeSpeedModifier * speed_target, 1.0f, speed_step); + cMtx_YrotS(*calc_mtx, actor->shape_angle.y); - cXyz local_58; local_58.x = 0.0f; local_58.y = 0.0f; - local_58.z = i_this->speedF; - MtxPosition(&local_58, &i_this->speed); - i_this->current.pos += i_this->speed; - cLib_addCalcAngleS2(&i_this->shape_angle.x, 0, 4, 0x400); + local_58.z = actor->speedF; + MtxPosition(&local_58, &actor->speed); + actor->current.pos += actor->speed; + cLib_addCalcAngleS2(&actor->shape_angle.x, 0, 4, 0x400); } static void e_tk_attack(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + switch (i_this->mMode) { case MODE_TK_NONE: i_this->mMode = MODE_TK_APPEAR; @@ -336,8 +375,8 @@ static void e_tk_attack(e_tk_class* i_this) { if (pl_y_check(i_this)) { if ((int)i_this->mpMorf->getFrame() == 24) { i_this->mBallID = - fopAcM_createChild(PROC_E_TK_BALL, fopAcM_GetID(i_this), 0, &i_this->eyePos, - fopAcM_GetRoomNo(i_this), &i_this->shape_angle, 0, -1, 0); + fopAcM_createChild(PROC_E_TK_BALL, fopAcM_GetID(actor), 0, &actor->eyePos, + fopAcM_GetRoomNo(actor), &actor->shape_angle, 0, -1, 0); } if ((int)i_this->mpMorf->getFrame() == 28) { i_this->mTKBallSpawned = true; @@ -355,22 +394,24 @@ static void e_tk_attack(e_tk_class* i_this) { i_this->mAction = ACT_TK_FIND; i_this->mMode = MODE_TK_DAMAGE; } - if (pl_check(i_this, l_HIO.mPlayerRange1, 0x4000)) { + if (pl_check(i_this, l_HIO.mPlayerDetectionDistanceNear, 0x4000)) { i_this->mAction = ACT_TK_FIND; i_this->mMode = MODE_TK_KYORO2; } break; } - cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->mPlayerAngleY, 4, 0x800); + cLib_addCalcAngleS2(&actor->shape_angle.y, i_this->mPlayerAngleY, 4, 0x800); } static void e_tk_pathswim(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + cXyz local_50; + cXyz _unk1; f32 speed_target = 1.0f; - f32 speed_step = 1.0f; - + f32 speed_step = 1.0f + YREG_F(5); switch (i_this->mMode) { case MODE_TK_NONE: anm_init(i_this, ANM_TK_SWIM, 5.0f, 0x2, 1.0f); @@ -400,7 +441,7 @@ static void e_tk_pathswim(e_tk_class* i_this) { } case MODE_TK_ATTACK: - local_50 = i_this->mPos - i_this->current.pos; + local_50 = i_this->mPos - actor->current.pos; if (JMAFastSqrt(local_50.x * local_50.x + local_50.z * local_50.z) < 100.0f) { dPnt* point = &i_this->mpPath->m_points[i_this->mPathID]; if (point->mArg0 != 0x2) { @@ -412,14 +453,15 @@ static void e_tk_pathswim(e_tk_class* i_this) { i_this->mMode = MODE_TK_APPEAR; } } - i_this->mSomeAngle = cM_atan2s(local_50.x, local_50.z); + i_this->mSomeAngle = (s16)cM_atan2s(local_50.x, local_50.z); break; case MODE_TK_DAMAGE: speed_target = 0.0f; speed_step = 3.0f; + dPnt* point; if (i_this->mActionTimer[1] == 0 && pl_y_check(i_this) && - pl_check(i_this, l_HIO.mPlayerRange2, 0x4000)) + pl_check(i_this, l_HIO.mPlayerDetectionDistanceFar, 0x4000)) { i_this->mAction = ACT_TK_FIND; anm_init(i_this, ANM_TK_WAIT01, 5.0f, 0x2, 1.0f); @@ -432,18 +474,20 @@ static void e_tk_pathswim(e_tk_class* i_this) { break; } - cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->mSomeAngle, 8, 0x400); - cLib_addCalc2(&i_this->speedF, l_HIO.mSpeedModifier1 * speed_target, 1.0f, speed_step); - cMtx_YrotS(*calc_mtx, i_this->shape_angle.y); + cLib_addCalcAngleS2(&actor->shape_angle.y, i_this->mSomeAngle, 8, 0x400); + cLib_addCalc2(&actor->speedF, l_HIO.mSwimSpeedModifier * speed_target, 1.0f, speed_step); + cMtx_YrotS(*calc_mtx, actor->shape_angle.y); local_50.x = 0.0f; local_50.y = 0.0f; - local_50.z = i_this->speedF; - MtxPosition(&local_50, &i_this->speed); - i_this->current.pos += i_this->speed; + local_50.z = actor->speedF; + MtxPosition(&local_50, &actor->speed); + actor->current.pos += actor->speed; } static void e_tk_s_damage(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + switch (i_this->mMode) { case MODE_TK_NONE: anm_init(i_this, ANM_TK_DAMAGE, 2.0f, 0x0, 1.0f); @@ -451,7 +495,7 @@ static void e_tk_s_damage(e_tk_class* i_this) { break; case MODE_TK_APPEAR: - if (i_this->mpMorf->getFrame() > 10.0f) { + if (i_this->mpMorf->getFrame() > 10.0f + YREG_F(3)) { i_this->mAction = ACT_TK_FIND; i_this->mMode = MODE_TK_DAMAGE; } @@ -460,6 +504,8 @@ static void e_tk_s_damage(e_tk_class* i_this) { } static void e_tk_damage(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + i_this->mInvincibilityTimer = 6; i_this->mAttentionOFF = true; @@ -471,16 +517,21 @@ static void e_tk_damage(e_tk_class* i_this) { case MODE_TK_APPEAR: if (i_this->mpMorf->isStop()) { - fopAcM_createDisappear(i_this, &i_this->eyePos, 10, 0, 0x11); - fopAcM_delete(i_this); + fopAcM_createDisappear(actor, &actor->eyePos, 10, 0, 0x11); + fopAcM_delete(actor); } break; } } static void action(e_tk_class* i_this) { - i_this->mPlayerAngleY = fopAcM_searchPlayerAngleY(i_this); - i_this->mPlayerDistanceLimit = fopAcM_searchPlayerDistance(i_this); + fopAc_ac_c* actor = i_this; + + cXyz _unk1; + cXyz _unk2; + + i_this->mPlayerAngleY = fopAcM_searchPlayerAngleY(actor); + i_this->mPlayerDistanceLimit = fopAcM_searchPlayerDistance(actor); damage_check(i_this); s8 link_search_flag = false; @@ -513,27 +564,32 @@ static void action(e_tk_class* i_this) { i_this->mSound.setLinkSearch(false); } - if (i_this->speedF < 2.0f) { - cXyz this_pos = i_this->current.pos; - fopAcM_effHamonSet(&i_this->mHamonSet, &this_pos, 2.3f, 0.05f); + if (actor->speedF < 2.0f) { + cXyz this_pos = actor->current.pos; + f32 emit_rate = 0.05f + KREG_F(3); + fopAcM_effHamonSet(&i_this->mHamonSet, &this_pos, 2.3f + KREG_F(2), emit_rate); } } static int daE_TK_Execute(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + cXyz cStack_94; cXyz cStack_a0; if (i_this->mExecuteState == 0x00) { dBgS_ObjGndChk_Spl ground_check; - cStack_94 = i_this->current.pos; + cStack_94 = actor->current.pos; cStack_94.y += 200.0f; ground_check.SetPos(&cStack_94); - i_this->current.pos.y = dComIfG_Bgsp().GroundCross(&ground_check); + f32 ground_cross = dComIfG_Bgsp().GroundCross(&ground_check); + actor->current.pos.y = ground_cross + KREG_F(17); } i_this->mLifetime++; i_this->mAttentionOFF = false; - for (int i = 0; i <= 3; i++) { + for (int i = 0; i < 4; i++) { + (void)i; // Debug Fakematch: Force i into register. if (i_this->mActionTimer[i] != 0) { i_this->mActionTimer[i]--; } @@ -545,20 +601,20 @@ static int daE_TK_Execute(e_tk_class* i_this) { action(i_this); i_this->mAcch.CrrPos(dComIfG_Bgsp()); - mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z); - mDoMtx_stack_c::YrotM(i_this->shape_angle.y); - mDoMtx_stack_c::XrotM(i_this->shape_angle.x); - mDoMtx_stack_c::scaleM(l_HIO.mRadiusScale, l_HIO.mRadiusScale, l_HIO.mRadiusScale); + mDoMtx_stack_c::transS(actor->current.pos.x, actor->current.pos.y, actor->current.pos.z); + mDoMtx_stack_c::YrotM(actor->shape_angle.y); + mDoMtx_stack_c::XrotM(actor->shape_angle.x); + mDoMtx_stack_c::scaleM(l_HIO.mBaseSize, l_HIO.mBaseSize, l_HIO.mBaseSize); J3DModel* model = i_this->mpMorf->getModel(); model->setBaseTRMtx(mDoMtx_stack_c::get()); - i_this->mpMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->mpMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor))); if (i_this->mpMorf->checkFrame(6.0f) && (i_this->mAnim == ANM_TK_APPEAR || i_this->mAnim == ANM_TK_HIDE)) { - fopKyM_createWpillar(&i_this->current.pos, 2.3f, 0); + fopKyM_createWpillar(&actor->current.pos, 2.3f + KREG_F(6), 0); } if (i_this->mAnim == ANM_TK_SWIM) { @@ -602,33 +658,31 @@ static int daE_TK_Execute(e_tk_class* i_this) { MTXCopy(model->getAnmMtx(3), *calc_mtx); cStack_94.set(0.0f, 0.0f, 0.0f); - MtxPosition(&cStack_94, &i_this->eyePos); + MtxPosition(&cStack_94, &actor->eyePos); - i_this->attention_info.position = i_this->eyePos; - i_this->attention_info.position.y = - i_this->attention_info.position.y + l_HIO.mRadiusScale * 35.0f; + actor->attention_info.position = actor->eyePos; + actor->attention_info.position.y = actor->attention_info.position.y + l_HIO.mBaseSize * 35.0f; if (i_this->mTKBallSpawned) { e_tk_ball_class* ball_actor = static_cast(fopAcM_SearchByID(i_this->mBallID)); if (ball_actor != NULL) { - ball_actor->current.pos = i_this->eyePos; + ball_actor->current.pos = actor->eyePos; ball_actor->mSuspended = false; } - cXyz scale; - scale.setall(2.0f); - dComIfGp_particle_set(0x819B, &i_this->eyePos, &i_this->shape_angle, &scale); - dComIfGp_particle_set(0x819C, &i_this->eyePos, &i_this->shape_angle, &scale); + cXyz scale(2.0f + TREG_F(8), 2.0f + TREG_F(8), 2.0f + TREG_F(8)); + dComIfGp_particle_set(0x819B, &actor->eyePos, &actor->shape_angle, &scale); + dComIfGp_particle_set(0x819C, &actor->eyePos, &actor->shape_angle, &scale); i_this->mTKBallSpawned = false; } if (i_this->mAttentionOFF) { - fopAcM_OffStatus(i_this, 0); - i_this->attention_info.flags = 0; + fopAcM_OffStatus(actor, 0); + actor->attention_info.flags = 0; } else { - fopAcM_OnStatus(i_this, 0); - i_this->attention_info.flags = fopAc_AttnFlag_BATTLE_e; + fopAcM_OnStatus(actor, 0); + actor->attention_info.flags = fopAc_AttnFlag_BATTLE_e; } MTXCopy(model->getAnmMtx(2), *calc_mtx); @@ -636,7 +690,7 @@ static int daE_TK_Execute(e_tk_class* i_this) { MtxPosition(&cStack_94, &cStack_a0); i_this->mSph.SetC(cStack_a0); - i_this->mSph.SetR(50.0f * l_HIO.mRadiusScale); + i_this->mSph.SetR((50.0f + JREG_F(3)) * l_HIO.mBaseSize); dComIfG_Ccsp()->Set(&i_this->mSph); @@ -648,18 +702,23 @@ static int daE_TK_IsDelete(e_tk_class* i_this) { } static int daE_TK_Delete(e_tk_class* i_this) { + fopAc_ac_c* actor = i_this; + + fopAcM_RegisterDeleteID(i_this, "E_TK"); + dComIfG_resDelete(&i_this->mPhaseReq, "E_tk"); if (i_this->mInitHIO) { hio_set = false; + mDoHIO_DELETE_CHILD(l_HIO.mNo); } - if (i_this->heap != NULL) { + if (actor->heap != NULL) { i_this->mpMorf->stopZelAnime(); } return 1; } -static int useHeapInit(fopAc_ac_c* a_this) { - e_tk_class* i_this = static_cast(a_this); +static int useHeapInit(fopAc_ac_c* actor) { + e_tk_class* i_this = static_cast(actor); i_this->mpMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("E_tk", 0xE), NULL, NULL, @@ -673,70 +732,76 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static int daE_TK_Create(fopAc_ac_c* i_this) { - static dCcD_SrcSph cc_sph_src = { - { - {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph - } // mSphAttr - }; - +static int daE_TK_Create(fopAc_ac_c* actor) { + e_tk_class* i_this = (e_tk_class*)actor; fopAcM_ct(i_this, e_tk_class); - e_tk_class* const a_this = static_cast(i_this); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "E_tk"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhaseReq, "E_tk"); if (phase == cPhs_COMPLEATE_e) { - a_this->mArg0 = fopAcM_GetParamBit(a_this, 0, 8); - a_this->mArg1 = fopAcM_GetParamBit(a_this, 8, 4); - a_this->mArg2 = fopAcM_GetParamBit(a_this, 12, 4); - a_this->mParamPathIdx = fopAcM_GetParamBit(a_this, 16, 8); + OS_REPORT("E_tk PARAM %x\n", fopAcM_GetParam(actor)); + i_this->mArg0 = (fopAcM_GetParam(actor) & 0xFF) >> 0; + i_this->mArg1 = (fopAcM_GetParam(actor) & 0xF00) >> 8; + i_this->mArg2 = (fopAcM_GetParam(actor) & 0xF000) >> 12; + i_this->mParamPathIdx = (fopAcM_GetParam(actor) & 0xFF0000) >> 16; - if (!fopAcM_entrySolidHeap(a_this, useHeapInit, 0x1e20)) { + OS_REPORT("E_tk//////////////E_TK SET 1 !!\n"); + + if (!fopAcM_entrySolidHeap(actor, useHeapInit, 0x1e20)) { + OS_REPORT("//////////////E_TK SET NON !!\n"); return cPhs_ERROR_e; } - if (a_this->mParamPathIdx != 0xff) { - a_this->mpPath = dPath_GetRoomPath(a_this->mParamPathIdx, fopAcM_GetRoomNo(a_this)); - if (a_this->mpPath == NULL) { + OS_REPORT("//////////////E_TK SET 2 !!\n"); + + if (i_this->mParamPathIdx != 0xff) { + i_this->mpPath = dPath_GetRoomPath(i_this->mParamPathIdx, fopAcM_GetRoomNo(actor)); + if (i_this->mpPath == NULL) { + OS_REPORT("//////////////E_TK NON PATH !!!\n"); return cPhs_ERROR_e; } - a_this->mPathLoaded = a_this->mParamPathIdx + 0x1; - a_this->mPathDirection = 0x1; - a_this->mAction = ACT_TK_PATHSWIM; + i_this->mPathLoaded = i_this->mParamPathIdx + 0x1; + i_this->mPathDirection = 0x1; + i_this->mAction = ACT_TK_PATHSWIM; } if (hio_set == false) { - a_this->mInitHIO = true; + i_this->mInitHIO = true; hio_set = true; - l_HIO.field_0x04 = -1; + l_HIO.mNo = mDoHIO_CREATE_CHILD("たどぽーる", &l_HIO); // "Tadpole" } - a_this->attention_info.flags = fopAc_AttnFlag_BATTLE_e; + actor->attention_info.flags = fopAc_AttnFlag_BATTLE_e; - fopAcM_SetMtx(a_this, a_this->mpMorf->getModel()->getBaseTRMtx()); - fopAcM_SetMin(a_this, -100.0f, -100.0f, -100.0f); - fopAcM_SetMax(a_this, 100.0f, 100.0f, 100.0f); + fopAcM_SetMtx(actor, i_this->mpMorf->getModel()->getBaseTRMtx()); + fopAcM_SetMin(actor, -100.0f, -100.0f, -100.0f); + fopAcM_SetMax(actor, 100.0f, 100.0f, 100.0f); - a_this->attention_info.distances[2] = 0x04; - a_this->health = 10; - a_this->field_0x560 = 10; + actor->attention_info.distances[fopAc_attn_BATTLE_e] = 0x04; + actor->field_0x560 = actor->health = 10; - a_this->mStts.Init(100, 0, a_this); - a_this->mSph.Set(cc_sph_src); - a_this->mSph.SetStts(&a_this->mStts); + static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr + }; - a_this->mAcch.Set(&i_this->current.pos, &a_this->old.pos, a_this, 1, &a_this->mAcchCir, - fopAcM_GetSpeed_p(a_this), NULL, NULL); + i_this->mStts.Init(100, 0, actor); + i_this->mSph.Set(cc_sph_src); + i_this->mSph.SetStts(&i_this->mStts); - a_this->mAcchCir.SetWall(-50.0f, 60.0f); - a_this->mSound.init(&a_this->current.pos, &a_this->eyePos, 0x3, 0x1); - a_this->mSound.setEnemyName("E_tk"); - a_this->mAtInfo.mpSound = &a_this->mSound; - a_this->mExecuteState = 0x14; - daE_TK_Execute(a_this); + i_this->mAcch.Set(fopAcM_GetPosition_p(actor), fopAcM_GetOldPosition_p(actor), actor, 1, + &i_this->mAcchCir, fopAcM_GetSpeed_p(actor), NULL, NULL); + + i_this->mAcchCir.SetWall(-50.0f, 60.0f); + i_this->mSound.init(&actor->current.pos, &actor->eyePos, 0x3, 0x1); + i_this->mSound.setEnemyName("E_tk"); + i_this->mAtInfo.mpSound = &i_this->mSound; + i_this->mExecuteState = 0x14; + daE_TK_Execute(i_this); } return phase; } diff --git a/src/d/actor/d_a_e_tk2.cpp b/src/d/actor/d_a_e_tk2.cpp index 9c85a529c6..4d2b62d295 100644 --- a/src/d/actor/d_a_e_tk2.cpp +++ b/src/d/actor/d_a_e_tk2.cpp @@ -1,13 +1,14 @@ /** -* @file d_a_e_tk2.cpp + * @file d_a_e_tk2.cpp * */ -#include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_e_tk2.h" #include "d/actor/d_a_e_tk_ball.h" #include "d/d_com_inf_game.h" +#include "d/d_s_play.h" enum Action { /* 0x0 */ ACT_TK2_WAIT, @@ -43,26 +44,46 @@ static bool hio_set; static daE_TK2_HIO_c l_HIO; daE_TK2_HIO_c::daE_TK2_HIO_c() { - field_0x04 = -1; - mRadiusScale = 2.3f; - mPlayerRange2 = 1400.0f; - mPlayerRange1 = 500.0f; - mSpeedModifier1 = 10.0f; - mSpeedModifier2 = 25.0f; + mNo = -1; + mBaseSize = 2.3f; + mPlayerDetectionDistanceFar = 1400.0f; + mPlayerDetectionDistanceNear = 500.0f; + mSwimSpeedModifier = 10.0f; + mFleeSpeedModifier = 25.0f; } -static void anm_init(e_tk2_class* i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_rate) { - J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes("E_tk2", i_index); +#if DEBUG +void daE_TK2_HIO_c::genMessage(JORMContext* ctext) { + // Tadpole + ctext->genLabel(" タドポール", 0x80000001, 0U, NULL); + // Base Size + ctext->genSlider("基本サイズ", &mBaseSize, 0.0f, 5.0f); + // Player Detection Distance Far + ctext->genSlider("PL認識距離 遠", &mPlayerDetectionDistanceFar, 0.0f, 3000.0f); + // Player Detection Distance Near + ctext->genSlider("PL認識距離 近", &mPlayerDetectionDistanceNear, 0.0f, 3000.0f); + ctext->genLabel(" ", 0x80000001); + // ↓ Behavior not guaranteed if changed + ctext->genLabel(" ↓変更すると動作保証しません", 0x80000001); + // Swim Speed + ctext->genSlider("泳ぎ速度", &mSwimSpeedModifier, 0.0f, 40.0f); + // Flee Speed + ctext->genSlider("逃げ速度", &mFleeSpeedModifier, 0.0f, 40.0f); +} +#endif - i_this->mpMorf->setAnm(anm, i_attr, i_morf, i_rate, 0.0f, -1.0f); +static void anm_init(e_tk2_class* i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_rate) { + i_this->mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("E_tk2", i_index), i_attr, i_morf, + i_rate, 0.0f, -1.0f); i_this->mAnim = i_index; } static int daE_TK2_Draw(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; J3DModel* model = i_this->mpMorf->getModel(); - g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->tevStr); - g_env_light.setLightTevColorType_MAJI(model, &i_this->tevStr); + g_env_light.settingTevStruct(0, &actor->current.pos, &actor->tevStr); + g_env_light.setLightTevColorType_MAJI(model, &actor->tevStr); i_this->mpMorf->entryDL(); return 1; } @@ -70,6 +91,7 @@ static int daE_TK2_Draw(e_tk2_class* i_this) { static int other_bg_check(e_tk2_class* i_this, fopAc_ac_c* i_ac) { fopAc_ac_c* actor = i_this; dBgS_LinChk line_check; + cXyz _unk1; cXyz start_pos; cXyz end_pos; @@ -88,10 +110,11 @@ static int other_bg_check(e_tk2_class* i_this, fopAc_ac_c* i_ac) { } static int pl_check(e_tk2_class* i_this, f32 i_limit, s16 i_max_diff) { + fopAc_ac_c* actor = i_this; fopAc_ac_c* player = dComIfGp_getPlayer(0); if (i_this->mPlayerDistanceLimit < i_limit) { - s16 diff = i_this->shape_angle.y - i_this->mPlayerAngleY; + s16 diff = actor->shape_angle.y - i_this->mPlayerAngleY; if (diff < i_max_diff && diff > (s16)-i_max_diff && !other_bg_check(i_this, player)) { return 1; } @@ -101,6 +124,9 @@ static int pl_check(e_tk2_class* i_this, f32 i_limit, s16 i_max_diff) { } static void damage_check(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; + fopAc_ac_c* player = dComIfGp_getPlayer(0); + if (i_this->mInvincibilityTimer == 0) { i_this->mStts.Move(); @@ -119,7 +145,7 @@ static void damage_check(e_tk2_class* i_this) { i_this->mMode = MODE_TK2_KYORO2; i_this->mActionTimer[0] = 50; } else { - cc_at_check(i_this, &i_this->mAtInfo); + cc_at_check(actor, &i_this->mAtInfo); if (i_this->mAtInfo.mHitType == HIT_TYPE_STUN) { i_this->mAction = ACT_TK2_S_DAMAGE; } else { @@ -129,18 +155,24 @@ static void damage_check(e_tk2_class* i_this) { } } - if (i_this->health <= 1) { - i_this->health = 0; + if (actor->health <= 1) { + actor->health = 0; i_this->mSph.SetTgHitMark(CcG_Tg_UNK_MARK_3); } - if (i_this->health <= 1) { // Yes, this is a duplicate (??) - i_this->health = 0; + if (actor->health <= 1) { // Yes, this is a duplicate (??) + actor->health = 0; i_this->mSph.SetTgHitMark(CcG_Tg_UNK_MARK_3); } } } static void e_tk2_wait_0(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; + + cXyz src_pos; + f32 speed_mul = 1.0f; + f32 speed_step = 1.0f + YREG_F(5); + i_this->mAttentionOFF = true; switch (i_this->mMode) { @@ -149,7 +181,9 @@ static void e_tk2_wait_0(e_tk2_class* i_this) { break; case MODE_TK2_APPEAR: - if (i_this->mActionTimer[1] == 0 && pl_check(i_this, l_HIO.mPlayerRange2, 0x4000)) { + if (i_this->mActionTimer[1] == 0 && + pl_check(i_this, l_HIO.mPlayerDetectionDistanceFar, 0x4000)) + { i_this->mAction = ACT_TK2_FIND; i_this->mMode = MODE_TK2_NONE; } @@ -157,10 +191,16 @@ static void e_tk2_wait_0(e_tk2_class* i_this) { } i_this->mSomeAngle = i_this->mPlayerAngleY; - cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->mSomeAngle, 0x10, 0x400); + cLib_addCalcAngleS2(&actor->shape_angle.y, i_this->mSomeAngle, 0x10, 0x400); } static void e_tk2_find(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; + + cXyz local_58; + f32 speed_target = 0.0f; + f32 speed_step = 3.0f; + switch (i_this->mMode) { case MODE_TK2_NONE: anm_init(i_this, ANM_TK2_APPEAR, 3.0f, 0x0, 1.0f); @@ -202,7 +242,7 @@ static void e_tk2_find(e_tk2_class* i_this) { break; case MODE_TK2_SWIM: - i_this->mPlayerAngleY = i_this->mPlayerAngleY + -0x8000; + ADD_ANGLE(i_this->mPlayerAngleY, 0x8000); i_this->mAttentionOFF = true; if (i_this->mpMorf->isStop()) { i_this->mAnimSpeed = 4.0f; @@ -215,8 +255,10 @@ static void e_tk2_find(e_tk2_class* i_this) { i_this->mAttentionOFF = true; cLib_addCalc2(&i_this->mAnimSpeed, 2.0f, 1.0f, 0.15f); i_this->mpMorf->setPlaySpeed(i_this->mAnimSpeed); + speed_target = 1.0f + YREG_F(17); + speed_step = 10.0f + YREG_F(18); if (i_this->mActionTimer[0] == 0 && - i_this->mPlayerDistanceLimit > l_HIO.mPlayerRange1 * 1.2f) + i_this->mPlayerDistanceLimit > l_HIO.mPlayerDetectionDistanceNear * 1.2f) { i_this->mMode = MODE_TK2_NONE; } else { @@ -226,16 +268,18 @@ static void e_tk2_find(e_tk2_class* i_this) { } } if (i_this->mActionTimer[1] == 0) { - i_this->mPlayerAngleY = i_this->mPlayerAngleY - 0x8000; + ADD_ANGLE(i_this->mPlayerAngleY, 0x8000); } else { i_this->mPlayerAngleY = i_this->mSomeAngle; } } - cLib_addCalcAngleS2(&(i_this)->shape_angle.y, i_this->mPlayerAngleY, 4, 0x800); + cLib_addCalcAngleS2(&actor->shape_angle.y, i_this->mPlayerAngleY, 4, 0x800); } static void e_tk2_attack(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; + switch (i_this->mMode) { case MODE_TK2_NONE: i_this->mMode = MODE_TK2_APPEAR; @@ -245,15 +289,15 @@ static void e_tk2_attack(e_tk2_class* i_this) { case MODE_TK2_APPEAR: if ((int)i_this->mpMorf->getFrame() == 0x18) { i_this->mBallID = - fopAcM_createChild(PROC_E_TK_BALL, fopAcM_GetID(i_this), 1, &i_this->eyePos, - fopAcM_GetRoomNo(i_this), &i_this->shape_angle, 0, -1, 0); + fopAcM_createChild(PROC_E_TK_BALL, fopAcM_GetID(actor), 1, &actor->eyePos, + fopAcM_GetRoomNo(actor), &actor->shape_angle, 0, -1, 0); } if ((int)i_this->mpMorf->getFrame() == 0x1c) { i_this->mTKBallSpawned = true; } if (i_this->mpMorf->isStop()) { anm_init(i_this, ANM_TK2_WAIT01, 1.0f, 0x02, 1.0f); - i_this->mActionTimer[0] = (short)(int)(cM_rndF(30.0f) + 70.0f); + i_this->mActionTimer[0] = cM_rndF(30.0f) + 70.0f; i_this->mMode = MODE_TK2_ATTACK; } break; @@ -261,17 +305,19 @@ static void e_tk2_attack(e_tk2_class* i_this) { case MODE_TK2_ATTACK: if (i_this->mActionTimer[0] == 0) { i_this->mMode = MODE_TK2_NONE; - } else if (!pl_check(i_this, l_HIO.mPlayerRange2 + 50.0f, 0x6000)) { + } else if (!pl_check(i_this, l_HIO.mPlayerDetectionDistanceFar + 50.0f, 0x6000)) { i_this->mAction = ACT_TK2_FIND; i_this->mMode = MODE_TK2_DAMAGE; } break; } - cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->mPlayerAngleY, 4, 0x800); + cLib_addCalcAngleS2(&actor->shape_angle.y, i_this->mPlayerAngleY, 4, 0x800); } static void e_tk2_s_damage(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; + switch (i_this->mMode) { case MODE_TK2_NONE: anm_init(i_this, ANM_TK2_DAMAGE, 2.0f, 0x0, 1.0f); @@ -279,7 +325,7 @@ static void e_tk2_s_damage(e_tk2_class* i_this) { break; case MODE_TK2_APPEAR: - if (i_this->mpMorf->getFrame() > 10.0f) { + if (i_this->mpMorf->getFrame() > 10.0f + YREG_F(3)) { i_this->mAction = ACT_TK2_FIND; i_this->mMode = MODE_TK2_DAMAGE; } @@ -288,6 +334,8 @@ static void e_tk2_s_damage(e_tk2_class* i_this) { } static void e_tk2_damage(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; + i_this->mInvincibilityTimer = 6; i_this->mAttentionOFF = true; @@ -299,8 +347,8 @@ static void e_tk2_damage(e_tk2_class* i_this) { case MODE_TK2_APPEAR: if (i_this->mpMorf->isStop()) { - fopAcM_createDisappear(i_this, &i_this->eyePos, 10, 0, 0x12); - fopAcM_delete(i_this); + fopAcM_createDisappear(actor, &actor->eyePos, 10, 0, 0x12); + fopAcM_delete(actor); } break; } @@ -308,6 +356,10 @@ static void e_tk2_damage(e_tk2_class* i_this) { static void action(e_tk2_class* i_this) { fopAc_ac_c* actor = i_this; + + cXyz _unk1; + cXyz _unk2; + i_this->mPlayerAngleY = fopAcM_searchPlayerAngleY(actor); i_this->mPlayerDistanceLimit = fopAcM_searchPlayerDistance(actor); damage_check(i_this); @@ -341,20 +393,23 @@ static void action(e_tk2_class* i_this) { } static int daE_TK2_Execute(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; + cXyz cStack_94; cXyz cStack_a0; if (i_this->mExecuteState == 0x00) { dBgS_ObjGndChk_Spl ground_check; - cStack_94 = i_this->current.pos; + cStack_94 = actor->current.pos; cStack_94.y += 200.0f; ground_check.SetPos(&cStack_94); - i_this->current.pos.y = dComIfG_Bgsp().GroundCross(&ground_check) - 10.0f; + f32 ground_cross = dComIfG_Bgsp().GroundCross(&ground_check); + actor->current.pos.y = ground_cross - 10.0f + JREG_F(8); } i_this->mLifetime++; i_this->mAttentionOFF = false; - for (int i = 0; i <= 3; i++) { + for (int i = 0; i < 4; i++) { if (i_this->mActionTimer[i] != 0) { i_this->mActionTimer[i]--; } @@ -366,14 +421,14 @@ static int daE_TK2_Execute(e_tk2_class* i_this) { action(i_this); i_this->mAcch.CrrPos(dComIfG_Bgsp()); - mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z); - mDoMtx_stack_c::YrotM(i_this->shape_angle.y); - mDoMtx_stack_c::scaleM(l_HIO.mRadiusScale, l_HIO.mRadiusScale, l_HIO.mRadiusScale); + mDoMtx_stack_c::transS(actor->current.pos.x, actor->current.pos.y, actor->current.pos.z); + mDoMtx_stack_c::YrotM(actor->shape_angle.y); + mDoMtx_stack_c::scaleM(l_HIO.mBaseSize, l_HIO.mBaseSize, l_HIO.mBaseSize); J3DModel* model = i_this->mpMorf->getModel(); model->setBaseTRMtx(mDoMtx_stack_c::get()); - i_this->mpMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->mpMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor))); if (i_this->mAnim == ANM_TK2_SWIM) { if (i_this->mpMorf->checkFrame(0.0f) || i_this->mpMorf->checkFrame(6.0f) || @@ -416,32 +471,30 @@ static int daE_TK2_Execute(e_tk2_class* i_this) { MTXCopy(model->getAnmMtx(3), *calc_mtx); cStack_94.set(0.0f, 0.0f, 0.0f); - MtxPosition(&cStack_94, &i_this->eyePos); + MtxPosition(&cStack_94, &actor->eyePos); - i_this->attention_info.position = i_this->eyePos; - i_this->attention_info.position.y = - i_this->attention_info.position.y + l_HIO.mRadiusScale * 35.0f; + actor->attention_info.position = actor->eyePos; + actor->attention_info.position.y = actor->attention_info.position.y + l_HIO.mBaseSize * 35.0f; if (i_this->mTKBallSpawned) { e_tk_ball_class* ball_actor = static_cast(fopAcM_SearchByID(i_this->mBallID)); if (ball_actor != NULL) { - ball_actor->current.pos = i_this->eyePos; + ball_actor->current.pos = actor->eyePos; ball_actor->mSuspended = false; } - cXyz scale; - scale.setall(2.0f); - dComIfGp_particle_set(0x8198, &i_this->eyePos, &i_this->shape_angle, &scale); - dComIfGp_particle_set(0x8199, &i_this->eyePos, &i_this->shape_angle, &scale); + cXyz scale(2.0f + TREG_F(8), 2.0f + TREG_F(8), 2.0f + TREG_F(8)); + dComIfGp_particle_set(0x8198, &actor->eyePos, &actor->shape_angle, &scale); + dComIfGp_particle_set(0x8199, &actor->eyePos, &actor->shape_angle, &scale); i_this->mTKBallSpawned = false; } if (i_this->mAttentionOFF) { - fopAcM_OffStatus(i_this, 0); - i_this->attention_info.flags = 0; + fopAcM_OffStatus(actor, 0); + actor->attention_info.flags = 0; } else { - fopAcM_OnStatus(i_this, 0); - i_this->attention_info.flags = fopAc_AttnFlag_BATTLE_e; + fopAcM_OnStatus(actor, 0); + actor->attention_info.flags = fopAc_AttnFlag_BATTLE_e; } MTXCopy(model->getAnmMtx(2), *calc_mtx); @@ -449,7 +502,7 @@ static int daE_TK2_Execute(e_tk2_class* i_this) { MtxPosition(&cStack_94, &cStack_a0); i_this->mSph.SetC(cStack_a0); - i_this->mSph.SetR(50.0f * l_HIO.mRadiusScale); + i_this->mSph.SetR((50.0f + JREG_F(3)) * l_HIO.mBaseSize); dComIfG_Ccsp()->Set(&i_this->mSph); @@ -461,18 +514,23 @@ static int daE_TK2_IsDelete(e_tk2_class* i_this) { } static int daE_TK2_Delete(e_tk2_class* i_this) { + fopAc_ac_c* actor = i_this; + + fopAcM_RegisterDeleteID(i_this, "E_TK2"); + dComIfG_resDelete(&i_this->mPhaseReq, "E_tk2"); if (i_this->mInitHIO) { hio_set = false; + mDoHIO_DELETE_CHILD(l_HIO.mNo); } - if (i_this->heap != NULL) { + if (actor->heap != NULL) { i_this->mpMorf->stopZelAnime(); } return 1; } -static int useHeapInit(fopAc_ac_c* a_this) { - e_tk2_class* i_this = static_cast(a_this); +static int useHeapInit(fopAc_ac_c* actor) { + e_tk2_class* i_this = static_cast(actor); i_this->mpMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("E_tk2", 0xE), NULL, NULL, @@ -486,61 +544,66 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static int daE_TK2_Create(fopAc_ac_c* i_this) { - static dCcD_SrcSph cc_sph_src = { - { - {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph - } // mSphAttr - }; - +static int daE_TK2_Create(fopAc_ac_c* actor) { + e_tk2_class* i_this = (e_tk2_class*)actor; fopAcM_ct(i_this, e_tk2_class); - e_tk2_class* a_this = static_cast(i_this); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "E_tk2"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhaseReq, "E_tk2"); if (phase == cPhs_COMPLEATE_e) { - a_this->mArg0 = fopAcM_GetParamBit(a_this, 0, 8); - a_this->mArg1 = fopAcM_GetParamBit(a_this, 8, 4); - a_this->mArg2 = fopAcM_GetParamBit(a_this, 12, 4); + OS_REPORT("E_tk2 PARAM %x\n", fopAcM_GetParam(actor)); + i_this->mArg0 = (fopAcM_GetParam(actor) & 0xFF) >> 0; + i_this->mArg1 = (fopAcM_GetParam(actor) & 0xF00) >> 8; + i_this->mArg2 = (fopAcM_GetParam(actor) & 0xF000) >> 12; - if (!fopAcM_entrySolidHeap(a_this, useHeapInit, 0x23a0)) { + OS_REPORT("E_tk2//////////////E_TK2 SET 1 !!\n"); + + if (!fopAcM_entrySolidHeap(actor, useHeapInit, 0x23a0)) { + OS_REPORT("//////////////E_TK2 SET NON !!\n"); return cPhs_ERROR_e; } + OS_REPORT("//////////////E_TK2 SET 2 !!\n"); + if (hio_set == false) { - a_this->mInitHIO = true; + i_this->mInitHIO = true; hio_set = true; - l_HIO.field_0x04 = -1; + l_HIO.mNo = mDoHIO_CREATE_CHILD("たどぽーる2", &l_HIO); // "Tadpole 2" } - a_this->attention_info.flags = fopAc_AttnFlag_BATTLE_e; + actor->attention_info.flags = fopAc_AttnFlag_BATTLE_e; - fopAcM_SetMtx(a_this, a_this->mpMorf->getModel()->getBaseTRMtx()); - fopAcM_SetMin(a_this, -100.0f, -100.0f, -100.0f); - fopAcM_SetMax(a_this, 100.0f, 100.0f, 100.0f); + fopAcM_SetMtx(actor, i_this->mpMorf->getModel()->getBaseTRMtx()); + fopAcM_SetMin(actor, -100.0f, -100.0f, -100.0f); + fopAcM_SetMax(actor, 100.0f, 100.0f, 100.0f); - a_this->attention_info.distances[2] = 0x04; - a_this->health = 0; - a_this->field_0x560 = 0; + actor->attention_info.distances[fopAc_attn_BATTLE_e] = 0x04; + actor->field_0x560 = actor->health = 0; - a_this->mStts.Init(100, 0, a_this); - a_this->mSph.Set(cc_sph_src); - a_this->mSph.SetStts(&a_this->mStts); + static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr + }; - a_this->mAcch.Set(&i_this->current.pos, &a_this->old.pos, a_this, 1, &a_this->mAcchCir, - fopAcM_GetSpeed_p(a_this), NULL, NULL); + i_this->mStts.Init(100, 0, actor); + i_this->mSph.Set(cc_sph_src); + i_this->mSph.SetStts(&i_this->mStts); - a_this->mAcchCir.SetWall(-50.0f, 60.0f); - a_this->mSound.init(&a_this->current.pos, &a_this->eyePos, 0x3, 0x1); - a_this->mSound.setEnemyName("E_tk2"); - a_this->mAtInfo.mpSound = &a_this->mSound; - a_this->mExecuteState = 0x14; - daE_TK2_Execute(a_this); + i_this->mAcch.Set(fopAcM_GetPosition_p(actor), fopAcM_GetOldPosition_p(actor), actor, 1, + &i_this->mAcchCir, fopAcM_GetSpeed_p(actor), NULL, NULL); + + i_this->mAcchCir.SetWall(-50.0f, 60.0f); + i_this->mSound.init(&actor->current.pos, &actor->eyePos, 0x3, 0x1); + i_this->mSound.setEnemyName("E_tk2"); + i_this->mAtInfo.mpSound = &i_this->mSound; + i_this->mExecuteState = 0x14; + daE_TK2_Execute(i_this); } return phase; } diff --git a/src/d/actor/d_a_e_tk_ball.cpp b/src/d/actor/d_a_e_tk_ball.cpp index 4429670d69..529eec4a89 100644 --- a/src/d/actor/d_a_e_tk_ball.cpp +++ b/src/d/actor/d_a_e_tk_ball.cpp @@ -1,12 +1,13 @@ /** -* @file d_a_e_tk_ball.cpp + * @file d_a_e_tk_ball.cpp * */ -#include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_e_tk_ball.h" #include "d/actor/d_a_player.h" +#include "d/d_s_play.h" enum Action { /* 0x00 */ ACT_TK_BALL_MOVE, // Move in a straight line @@ -30,8 +31,10 @@ static int daE_TK_BALL_Draw(e_tk_ball_class* i_this) { return 1; } - g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->tevStr); - g_env_light.setLightTevColorType_MAJI(i_this->mpModel, &i_this->tevStr); + fopAc_ac_c* actor = i_this; + + g_env_light.settingTevStruct(0, &actor->current.pos, &actor->tevStr); + g_env_light.setLightTevColorType_MAJI(i_this->mpModel, &actor->tevStr); mDoExt_modelUpdateDL(i_this->mpModel); return 1; } @@ -39,15 +42,20 @@ static int daE_TK_BALL_Draw(e_tk_ball_class* i_this) { static int simple_bg_check(e_tk_ball_class* i_this) { fopAc_ac_c* actor = i_this; - cXyz current_pos = actor->current.pos; + cXyz current_pos; + cXyz start_pos; + cXyz end_pos; + cXyz ray_offset; + cXyz mtx_offset; + + current_pos = actor->current.pos; current_pos.y += i_this->mArcHeight; cMtx_YrotS(*calc_mtx, actor->current.angle.y); - cXyz start_pos; - cXyz end_pos; - cXyz ray_offset(0.0f, 30.0f, -50.0f); + ray_offset.x = 0.0f; + ray_offset.y = 30.0f; + ray_offset.z = -50.0f; - cXyz mtx_offset; MtxPosition(&ray_offset, &mtx_offset); start_pos = current_pos + mtx_offset; @@ -66,13 +74,14 @@ static int simple_bg_check(e_tk_ball_class* i_this) { } static void impact_eff_set(e_tk_ball_class* i_this) { - cXyz pos = i_this->current.pos; + fopAc_ac_c* actor = i_this; + cXyz pos = actor->current.pos; pos.y += i_this->mArcHeight; - cXyz scale(2.0f, 2.0f, 2.0f); + cXyz scale(2.0f + TREG_F(8), 2.0f + TREG_F(8), 2.0f + TREG_F(8)); - csXyz rotation = i_this->current.angle; - rotation.y -= 0x8000; + csXyz rotation = actor->current.angle; + ADD_ANGLE(rotation.y, 0x8000); if (i_this->mType == TYPE_TK_BALL_WATER) { dComIfGp_particle_set(0x819B, &pos, &rotation, &scale); @@ -91,14 +100,14 @@ static void e_tk_ball_move(e_tk_ball_class* i_this) { cXyz direction_vec; cXyz speed_vec; - cXyz target_center; + cXyz unk1; switch (i_this->mMode) { case MODE_TK_BALL_INIT: i_this->mMode = MODE_TK_BALL_MOVE; i_this->mInitalPosition = actor->current.pos; direction_vec = player->eyePos; - direction_vec.y += -20.0f; + direction_vec.y += -20.0f + TREG_F(9); direction_vec -= i_this->mInitalPosition; i_this->mInitalDistance = direction_vec.abs(); @@ -112,7 +121,9 @@ static void e_tk_ball_move(e_tk_ball_class* i_this) { cMtx_YrotS(*calc_mtx, actor->current.angle.y); cMtx_XrotM(*calc_mtx, actor->current.angle.x); - direction_vec.set(0.0f, 0.0f, 50.0f); + direction_vec.x = 0.0f; + direction_vec.y = 0.0f; + direction_vec.z = 50.0f + TREG_F(10); MtxPosition(&direction_vec, &actor->speed); i_this->mAtSph.OnAtVsPlayerBit(); @@ -126,7 +137,7 @@ static void e_tk_ball_move(e_tk_ball_class* i_this) { break; } - target_center = actor->current.pos; + cXyz target_center = actor->current.pos; target_center.y += i_this->mArcHeight; i_this->mTgSph.SetC(target_center); dComIfG_Ccsp()->Set(&i_this->mTgSph); @@ -146,7 +157,7 @@ static void e_tk_ball_move(e_tk_ball_class* i_this) { if (actor_lockon && daPy_getPlayerActorClass()->getCutType() != daPy_py_c::CUT_TYPE_NONE) { i_this->mAction = ACT_TK_BALL_RETURN; i_this->mMode = MODE_TK_BALL_INIT; - actor->current.angle.y -= 0x8000; + ADD_ANGLE(actor->current.angle.y, 0x8000); } else { i_this->mAction = ACT_TK_BALL_DROP; i_this->mMode = MODE_TK_BALL_INIT; @@ -165,7 +176,7 @@ static void e_tk_ball_move(e_tk_ball_class* i_this) { speed_vec.x = 0.0; speed_vec.y = 0.0; if (daPy_getPlayerActorClass()->getCutType() != daPy_py_c::CUT_TYPE_NONE) { - speed_vec.z = 60.0f; + speed_vec.z = 60.0f + TREG_F(16); } cMtx_YrotS(*calc_mtx, actor->current.angle.y); cMtx_XrotM(*calc_mtx, actor->current.angle.x); @@ -187,46 +198,59 @@ static void e_tk_ball_move(e_tk_ball_class* i_this) { } static void e_tk_ball_return(e_tk_ball_class* i_this) { + fopAc_ac_c* actor = i_this; + + cXyz _unk1; + cXyz _unk2; + switch (i_this->mMode) { case MODE_TK_BALL_INIT: - i_this->current.pos += i_this->speed; + actor->current.pos += actor->speed; if (i_this->mActionTimer[1] == 0) { i_this->mTgSph.SetTgHitMark(CcG_Tg_UNK_MARK_0); } break; } - cXyz new_center = i_this->current.pos; + cXyz new_center = actor->current.pos; new_center.y += i_this->mArcHeight; i_this->mAtSph.MoveCAt(new_center); dComIfG_Ccsp()->Set(&i_this->mAtSph); if (i_this->mActionTimer[1] == 0 && (simple_bg_check(i_this) || i_this->mAtSph.ChkAtHit())) { impact_eff_set(i_this); - fopAcM_delete(i_this); + fopAcM_delete(actor); } } static void e_tk_ball_drop(e_tk_ball_class* i_this) { + fopAc_ac_c* actor = i_this; + + cXyz _unk1; + cXyz _unk2; + switch (i_this->mMode) { case MODE_TK_BALL_INIT: - i_this->current.pos += i_this->speed; - i_this->speed.y -= 2.0f; - if (i_this->speed.y < -50.0f) { - i_this->speed.y = -50.0f; + actor->current.pos += actor->speed; + actor->speed.y -= 2.0f; + if (actor->speed.y < -50.0f) { + actor->speed.y = -50.0f; } break; } if (simple_bg_check(i_this) || i_this->mActionTimer[0] == 0) { impact_eff_set(i_this); - fopAcM_delete(i_this); + fopAcM_delete(actor); } } static void action(e_tk_ball_class* i_this) { fopAc_ac_c* actor = i_this; + cXyz position_diff; + cXyz _unk2; + static u16 e_id[3] = {0x819D, 0x819E, 0x819A}; s8 is_moving = true; @@ -244,11 +268,11 @@ static void action(e_tk_ball_class* i_this) { } if (is_moving) { - cXyz position_diff = actor->home.pos - actor->current.pos; + position_diff = actor->home.pos - actor->current.pos; f32 pos_diff_abs = position_diff.abs(); - f32 height_scale = i_this->mInitalDistance * 0.1f; - if (height_scale > 300.0f) { - height_scale = 300.0f; + f32 height_scale = i_this->mInitalDistance * (TREG_F(19) + 0.1f); + if (height_scale > 300.0f + TREG_F(18)) { + height_scale = 300.0f + TREG_F(18); } i_this->mArcHeight = height_scale * cM_ssin((pos_diff_abs / i_this->mInitalDistance) * 32768.0f); @@ -262,7 +286,7 @@ static void action(e_tk_ball_class* i_this) { cXyz particle_position = actor->current.pos; particle_position.y += i_this->mArcHeight; - cXyz particle_scale(2.0f, 2.0f, 2.0f); + cXyz particle_scale(2.0f + TREG_F(8), 2.0f + TREG_F(8), 2.0f + TREG_F(8)); for (int i = 0; i < 2; i++) { i_this->mParticleKey[i] = dComIfGp_particle_set( @@ -294,6 +318,11 @@ static int daE_TK_BALL_Execute(e_tk_ball_class* i_this) { return 1; } + fopAc_ac_c* actor = i_this; + + cXyz _unk1; + cXyz _unk2; + i_this->mLifetime++; for (int i = 0; i < 2; i++) { if (i_this->mActionTimer[i] != 0) { @@ -306,17 +335,18 @@ static int daE_TK_BALL_Execute(e_tk_ball_class* i_this) { action(i_this); - i_this->shape_angle.y += 0x1000; - i_this->shape_angle.x += 0xE00; + ADD_ANGLE(actor->shape_angle.y, 0x1000); + ADD_ANGLE(actor->shape_angle.x, 0xE00); - mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y + i_this->mArcHeight, - i_this->current.pos.z); - mDoMtx_stack_c::YrotM(i_this->shape_angle.y); - mDoMtx_stack_c::XrotM(i_this->shape_angle.x); - mDoMtx_stack_c::scaleM(2.0f, 2.0f, 2.0f); + mDoMtx_stack_c::transS(actor->current.pos.x, actor->current.pos.y + i_this->mArcHeight, + actor->current.pos.z); + mDoMtx_stack_c::YrotM(actor->shape_angle.y); + mDoMtx_stack_c::XrotM(actor->shape_angle.x); + f32 scale = 2.0f + TREG_F(8); + mDoMtx_stack_c::scaleM(scale, scale, scale); i_this->mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); - i_this->mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor))); return 1; } @@ -325,29 +355,32 @@ static int daE_TK_BALL_IsDelete(e_tk_ball_class* i_this) { } static int daE_TK_BALL_Delete(e_tk_ball_class* i_this) { + fopAc_ac_c* actor = i_this; + fopAcM_RegisterDeleteID(i_this, "E_TK_BALL"); if (i_this->mType == TYPE_TK_BALL_WATER) { dComIfG_resDelete(&i_this->mPhaseReq, "E_tk"); } else { dComIfG_resDelete(&i_this->mPhaseReq, "E_tk2"); } - if (i_this->heap != NULL) { + if (actor->heap != NULL) { i_this->mSound.deleteObject(); } return 1; } static int useHeapInit(fopAc_ac_c* i_this) { - e_tk_ball_class* a_this = static_cast(i_this); - J3DModelData* ball_model; + e_tk_ball_class* actor = static_cast(i_this); + J3DModelData* modelData; - if (a_this->mType == TYPE_TK_BALL_WATER) { - ball_model = (J3DModelData*)dComIfG_getObjectRes("E_tk", 0xD); + if (actor->mType == TYPE_TK_BALL_WATER) { + modelData = (J3DModelData*)dComIfG_getObjectRes("E_tk", 0xD); } else { - ball_model = (J3DModelData*)dComIfG_getObjectRes("E_tk2", 0xD); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_tk2", 0xD); } - a_this->mpModel = mDoExt_J3DModel__create(ball_model, 0x80000, 0x11000084); + JUT_ASSERT(679, modelData != 0); + actor->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); - if (a_this->mpModel == NULL) { + if (actor->mpModel == NULL) { return 0; } else { return 1; @@ -355,77 +388,84 @@ static int useHeapInit(fopAc_ac_c* i_this) { } static int daE_TK_BALL_Create(fopAc_ac_c* i_this) { - static dCcD_SrcSph at_sph_src = { - { - {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj - {dCcD_SE_METAL, 0x1, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph - } // mSphAttr - }; + e_tk_ball_class* actor = (e_tk_ball_class*)i_this; + fopAcM_ct(actor, e_tk_ball_class); - static dCcD_SrcSph tg_sph_src = { - { - {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_METAL, 0x5, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph - } // mSphAttr - }; - - fopAcM_ct(i_this, e_tk_ball_class); - e_tk_ball_class* a_this = static_cast(i_this); - - a_this->mType = fopAcM_GetParam(a_this); - if (a_this->mType == TYPE_TK_BALL_UNK) { - a_this->mType = TYPE_TK_BALL_WATER; + actor->mType = fopAcM_GetParam(i_this); + if (actor->mType == TYPE_TK_BALL_UNK) { + actor->mType = TYPE_TK_BALL_WATER; } - cPhs__Step phase; + cPhs_Step phase; u32 size; - if (a_this->mType == TYPE_TK_BALL_WATER) { - phase = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "E_tk"); + if (actor->mType == TYPE_TK_BALL_WATER) { + phase = dComIfG_resLoad(&actor->mPhaseReq, "E_tk"); size = 0x820; } else { - phase = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "E_tk2"); + phase = dComIfG_resLoad(&actor->mPhaseReq, "E_tk2"); size = 0xEE0; } if (phase == cPhs_COMPLEATE_e) { - a_this->mArg1 = fopAcM_GetParamBit(i_this, 8, 8); - if (a_this->mArg1 == 0xff) { - a_this->mArg1 = 0x00; + OS_REPORT("E_tk_BALL PARAM %x\n", fopAcM_GetParam(i_this)); + actor->mArg1 = (fopAcM_GetParam(i_this) & 0xFF00) >> 8; + if (actor->mArg1 == 0xff) { + actor->mArg1 = 0x00; } + OS_REPORT("E_tk_BALL//////////////E_TK_BALL SET 1 !!\n"); + if (!fopAcM_entrySolidHeap(i_this, useHeapInit, size)) { + OS_REPORT("//////////////E_TK_BALL SET NON !!\n"); return cPhs_ERROR_e; } - fopAcM_SetMtx(a_this, a_this->mpModel->getBaseTRMtx()); - a_this->mStts.Init(0xff, 0, a_this); - a_this->mAtSph.Set(at_sph_src); - a_this->mAtSph.SetStts(&a_this->mStts); - if (a_this->mType == TYPE_TK_BALL_FIRE) { - a_this->mAtSph.SetAtType(AT_TYPE_100); - a_this->mAtSph.SetAtMtrl(dCcD_MTRL_FIRE); + + OS_REPORT("//////////////E_TK_BALL SET 2 !!\n"); + + static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr + }; + + static dCcD_SrcSph tg_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr + }; + + fopAcM_SetMtx(i_this, actor->mpModel->getBaseTRMtx()); + actor->mStts.Init(0xff, 0, i_this); + actor->mAtSph.Set(at_sph_src); + actor->mAtSph.SetStts(&actor->mStts); + if (actor->mType == TYPE_TK_BALL_FIRE) { + actor->mAtSph.SetAtType(AT_TYPE_100); + actor->mAtSph.SetAtMtrl(dCcD_MTRL_FIRE); } - a_this->mTgSph.Set(tg_sph_src); - a_this->mTgSph.SetStts(&a_this->mStts); + actor->mTgSph.Set(tg_sph_src); + actor->mTgSph.SetStts(&actor->mStts); - a_this->mSound.init(&a_this->current.pos, 1); - a_this->shape_angle.y = cM_rndFX(32768.0f); - a_this->shape_angle.x = cM_rndFX(32768.0f); - a_this->mSuspended = true; + actor->mSound.init(&i_this->current.pos, 1); + i_this->shape_angle.y = cM_rndFX(32768.0f); + i_this->shape_angle.x = cM_rndFX(32768.0f); + actor->mSuspended = true; mDoMtx_stack_c::scaleS(0.0f, 0.0f, 0.0f); - a_this->mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); - daE_TK_BALL_Execute(a_this); + actor->mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + daE_TK_BALL_Execute(actor); } return phase; } diff --git a/src/d/actor/d_a_e_tt.cpp b/src/d/actor/d_a_e_tt.cpp index 45e95c5690..a8ad219025 100644 --- a/src/d/actor/d_a_e_tt.cpp +++ b/src/d/actor/d_a_e_tt.cpp @@ -171,7 +171,7 @@ int daE_TT_c::getCutType() { case daPy_py_c::CUT_TYPE_NM_VERTICAL: case daPy_py_c::CUT_TYPE_NM_STAB: case daPy_py_c::CUT_TYPE_NM_RIGHT: - case daPy_py_c::CUT_TYPE_DASH_UNK_26: + case daPy_py_c::CUT_TYPE_DASH_RIGHT: return 0; default: @@ -1278,7 +1278,7 @@ int daE_TT_c::create() { l_HIO.id = mDoHIO_CREATE_CHILD("テクタイト", &l_HIO); // Tektite } - attention_info.flags = 4; + attention_info.flags = fopAc_AttnFlag_BATTLE_e; fopAcM_SetMtx(this, mpMorfSO->getModel()->getBaseTRMtx()); fopAcM_SetMin(this, -200.0f, -200.0f, -200.0f); fopAcM_SetMax(this, 200.0f, 200.0f, 200.0f); diff --git a/src/d/actor/d_a_e_vt.cpp b/src/d/actor/d_a_e_vt.cpp index ed0c071dec..a9d716acd0 100644 --- a/src/d/actor/d_a_e_vt.cpp +++ b/src/d/actor/d_a_e_vt.cpp @@ -2759,7 +2759,7 @@ void daE_VA_c::executeOpaciDown() { break; } - if (player->getCutCount() > 1 || player->getCutType() == 10) { + if (player->getCutCount() > 1 || player->getCutType() == daPy_py_c::CUT_TYPE_JUMP) { if (mFadeAwayTimer < 30) { mFadeAwayTimer = 30; } @@ -2773,7 +2773,7 @@ void daE_VA_c::executeOpaciDown() { void daE_VA_c::executeOpaciDownDamage() { daPy_py_c* player = daPy_getPlayerActorClass(); - if (player->getCutCount() > 1 || player->getCutType() == 10) { + if (player->getCutCount() > 1 || player->getCutType() == daPy_py_c::CUT_TYPE_JUMP) { if (mFadeAwayTimer < 30) { mFadeAwayTimer = 30; } diff --git a/src/d/actor/d_a_e_wb.cpp b/src/d/actor/d_a_e_wb.cpp index f18148632d..165b936064 100644 --- a/src/d/actor/d_a_e_wb.cpp +++ b/src/d/actor/d_a_e_wb.cpp @@ -87,47 +87,32 @@ daE_WB_HIO_c::daE_WB_HIO_c() { #if DEBUG void daE_WB_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" イノシシ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("基本サイズ", &base_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("リーダーサイズ比", &leader_size_ratio, 0.0f, 5.0, 0, NULL, 0xFFFF, 0xFFFF, 512, - 24); - ctx->genSlider("移動速度", &movement_speed, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("PL認識距離", &player_recognition_dist, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, - 512, 24); - ctx->genSlider("最速度", &max_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("騎馬戦最速", &cavalry_battle_max_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, - 512, 24); - ctx->genSlider("歩き速(リ)", &leader_walking_speed, 0.0f, 30.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, - 24); - ctx->genSlider("最速度(リ)", &leader_max_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, - 24); - ctx->genSlider("騎馬戦最(リ)", &leader_cavalry_battle_max_speed, 0.0f, 100.0f, 0, NULL, - 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("通常速(車)", &normal_speed_vi, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, - 24); - ctx->genSlider("中速度(車)", &medium_speed_vi, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, - 24); - ctx->genSlider("最速度(車)", &mMaxSpeedVi, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("一騎速", &mSingleRiderSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genCheckBox("手綱ナシ", &mNoReins, 1, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genLabel(" プレイヤー騎乗時", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("最大速度", &mPlayerMountedMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, - 24); - ctx->genSlider("モーション再生速度", &mPlayerMountedMotionPlaybackSpeed, 0.0f, 5.0f, 0, NULL, - 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("ダッシュ時間", &mPlayerMountedDashTime, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, - 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genLabel(" 以下 一騎討ち用", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("サーチ無視距離(1)", &mSearchIgnoreDistance1, 0.0f, 5000.0f, 0, NULL, 0xFFFF, - 0xFFFF, 512, 24); - ctx->genSlider("サーチ無視距離(2)", &mSearchIgnoreDistance2, 0.0f, 5000.0f, 0, NULL, 0xFFFF, - 0xFFFF, 512, 24); - ctx->genSlider("案内表示距離(1)", &mGuidanceDisplayDistance1, 0.0f, 5000.0f, 0, NULL, 0xFFFF, - 0xFFFF, 512, 24); - ctx->genSlider("案内表示距離(2)", &mGuidanceDisplayDistance2, 0.0f, 5000.0f, 0, NULL, 0xFFFF, - 0xFFFF, 512, 24); + ctx->genLabel(" イノシシ", 0x80000001); + ctx->genSlider("基本サイズ", &base_size, 0.0f, 5.0f); + ctx->genSlider("リーダーサイズ比", &leader_size_ratio, 0.0f, 5.0); + ctx->genSlider("移動速度", &movement_speed, 0.0f, 20.0f); + ctx->genSlider("PL認識距離", &player_recognition_dist, 0.0f, 2000.0f); + ctx->genSlider("最速度", &max_speed, 0.0f, 100.0f); + ctx->genSlider("騎馬戦最速", &cavalry_battle_max_speed, 0.0f, 100.0f); + ctx->genSlider("歩き速(リ)", &leader_walking_speed, 0.0f, 30.0f); + ctx->genSlider("最速度(リ)", &leader_max_speed, 0.0f, 100.0f); + ctx->genSlider("騎馬戦最(リ)", &leader_cavalry_battle_max_speed, 0.0f, 100.0f); + ctx->genSlider("通常速(車)", &normal_speed_vi, 0.0f, 100.0f); + ctx->genSlider("中速度(車)", &medium_speed_vi, 0.0f, 100.0f); + ctx->genSlider("最速度(車)", &mMaxSpeedVi, 0.0f, 100.0f); + ctx->genSlider("一騎速", &mSingleRiderSpeed, 0.0f, 100.0f); + ctx->genCheckBox("手綱ナシ", &mNoReins, 0x1); + ctx->genLabel(" ", 0x80000001); + ctx->genLabel(" プレイヤー騎乗時", 0x80000001); + ctx->genSlider("最大速度", &mPlayerMountedMaxSpeed, 0.0f, 100.0f); + ctx->genSlider("モーション再生速度", &mPlayerMountedMotionPlaybackSpeed, 0.0f, 5.0f); + ctx->genSlider("ダッシュ時間", &mPlayerMountedDashTime, 0.0f, 2000.0f); + ctx->genLabel(" ", 0x80000001); + ctx->genLabel(" 以下 一騎討ち用", 0x80000001); + ctx->genSlider("サーチ無視距離(1)", &mSearchIgnoreDistance1, 0.0f, 5000.0f); + ctx->genSlider("サーチ無視距離(2)", &mSearchIgnoreDistance2, 0.0f, 5000.0f); + ctx->genSlider("案内表示距離(1)", &mGuidanceDisplayDistance1, 0.0f, 5000.0f); + ctx->genSlider("案内表示距離(2)", &mGuidanceDisplayDistance2, 0.0f, 5000.0f); } #endif @@ -5470,7 +5455,7 @@ static int daE_WB_IsDelete(e_wb_class* i_this) { static int daE_WB_Delete(e_wb_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; - fpc_ProcID unused = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_WB"); dComIfG_resDelete(&i_this->mPhase, i_this->mResName); if (i_this->field_0x17e0 != 0) { hio_set = false; diff --git a/src/d/actor/d_a_e_ww.cpp b/src/d/actor/d_a_e_ww.cpp index dc750410a2..9155826162 100644 --- a/src/d/actor/d_a_e_ww.cpp +++ b/src/d/actor/d_a_e_ww.cpp @@ -163,15 +163,15 @@ daE_WW_HIO_c::daE_WW_HIO_c() { #if DEBUG void daE_WW_HIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("ホワイトウルフォス", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("モデルサイズ", &model_size, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("攻撃間隔", &attack_interval, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("走りアニメーション", &run_anm, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("歩きアニメーション", &walk_anm, 0.0f, 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("走る速度", &run_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("狼から逃亡速度", &wolf_escape_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("リンクから逃亡速度", &link_escape_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genCheckBox("移動範囲デバック表示", &move_range_debug_display, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + mctx->genLabel("ホワイトウルフォス", 0x80000001); + mctx->genSlider("モデルサイズ", &model_size, 0.0f, 10.0f); + mctx->genSlider("攻撃間隔", &attack_interval, 0.0f, 2000.0f); + mctx->genSlider("走りアニメーション", &run_anm, 0.0f, 10.0f); + mctx->genSlider("歩きアニメーション", &walk_anm, 0.0f, 10.0f); + mctx->genSlider("走る速度", &run_speed, 0.0f, 100.0f); + mctx->genSlider("狼から逃亡速度", &wolf_escape_speed, 0.0f, 100.0f); + mctx->genSlider("リンクから逃亡速度", &link_escape_speed, 0.0f, 100.0f); + mctx->genCheckBox("移動範囲デバック表示", &move_range_debug_display, 0x1); } #endif diff --git a/src/d/actor/d_a_e_yc.cpp b/src/d/actor/d_a_e_yc.cpp index 7dc53234c4..f6b975f4e9 100644 --- a/src/d/actor/d_a_e_yc.cpp +++ b/src/d/actor/d_a_e_yc.cpp @@ -752,11 +752,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daE_YC_Create(fopAc_ac_c* i_this) { +static cPhs_Step daE_YC_Create(fopAc_ac_c* i_this) { e_yc_class* _this = static_cast(i_this); fopAcM_ct(i_this, e_yc_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, "E_yc"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, "E_yc"); if (step == cPhs_COMPLEATE_e) { _this->mParam = (u8)fopAcM_GetParam(_this); diff --git a/src/d/actor/d_a_e_yg.cpp b/src/d/actor/d_a_e_yg.cpp index 7bc63dfba9..f0a3059f62 100644 --- a/src/d/actor/d_a_e_yg.cpp +++ b/src/d/actor/d_a_e_yg.cpp @@ -109,12 +109,12 @@ daE_YG_HIO_c::daE_YG_HIO_c() { #if DEBUG void daE_YG_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" グース", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("基本サイズ", &basic_size, 0.0f, 3.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("移動速度", &movement_spd, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("攻撃速度", &attack_spd, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("泳ぎ速度", &swim_spd, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("PL認識距離", &pl_recognition_dist, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel(" グース", 0x80000001); + ctx->genSlider("基本サイズ", &basic_size, 0.0f, 3.0f); + ctx->genSlider("移動速度", &movement_spd, 0.0f, 50.0f); + ctx->genSlider("攻撃速度", &attack_spd, 0.0f, 50.0f); + ctx->genSlider("泳ぎ速度", &swim_spd, 0.0f, 50.0f); + ctx->genSlider("PL認識距離", &pl_recognition_dist, 0.0f, 2000.0f); } #endif @@ -1299,7 +1299,7 @@ static int daE_YG_IsDelete(e_yg_class* i_this) { static int daE_YG_Delete(e_yg_class* i_this) { fopAc_ac_c* actor = (fopAc_ac_c*)&i_this->actor; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "E_YG"); dComIfG_resDelete(&i_this->mPhase, "E_YG"); @@ -1332,12 +1332,12 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daE_YG_Create(fopAc_ac_c* actor) { +static cPhs_Step daE_YG_Create(fopAc_ac_c* actor) { e_yg_class* i_this = (e_yg_class*)actor; fopAcM_ct(&i_this->actor, e_yg_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "E_YG"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "E_YG"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_YG PARAM %x\n", fopAcM_GetParam(actor)); diff --git a/src/d/actor/d_a_e_yh.cpp b/src/d/actor/d_a_e_yh.cpp index 79d344eb51..871708c0f9 100644 --- a/src/d/actor/d_a_e_yh.cpp +++ b/src/d/actor/d_a_e_yh.cpp @@ -38,17 +38,12 @@ daE_YH_HIO_c::daE_YH_HIO_c() { #if DEBUG void daE_YH_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" デグババ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("基本サイズ", &mBasicSize, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("花時サイズ", &mFlowerSeasonSize, 0.0f, 3.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("出現サイズ", &mDisplaySize, 0.0f, 3.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("天井再出現間隔", &mCeilingReappearanceInterval, 0, 300, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("攻撃頻度", &mAttackFreq, 0, 300, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel(" デグババ", 0x80000001); + ctx->genSlider("基本サイズ", &mBasicSize, 0.0f, 5.0f); + ctx->genSlider("花時サイズ", &mFlowerSeasonSize, 0.0f, 3.0f); + ctx->genSlider("出現サイズ", &mDisplaySize, 0.0f, 3.0f); + ctx->genSlider("天井再出現間隔", &mCeilingReappearanceInterval, 0, 300); + ctx->genSlider("攻撃頻度", &mAttackFreq, 0, 300); } #endif diff --git a/src/d/actor/d_a_e_yk.cpp b/src/d/actor/d_a_e_yk.cpp index 33d293d5f7..b9dcff3ff8 100644 --- a/src/d/actor/d_a_e_yk.cpp +++ b/src/d/actor/d_a_e_yk.cpp @@ -59,12 +59,12 @@ static daE_YK_HIO_c l_HIO; #if DEBUG void daE_YK_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("闇キース", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); + ctx->genLabel("闇キース", 0x80000001); ctx->genSlider("基本サイズ", &mModelScale, 0.0f, 3.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x512, 24); - ctx->genSlider("飛行速度", &mFlySpeed, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("戦闘開始範囲", &mAttackRange, 0.0f, 600.0f,0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("戦闘速度", &mCruiseSpeed, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("突進速度", &mChargeSpeed, 0.0f, 50.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); + ctx->genSlider("飛行速度", &mFlySpeed, 0.0f, 50.0f); + ctx->genSlider("戦闘開始範囲", &mAttackRange, 0.0f, 600.0f); + ctx->genSlider("戦闘速度", &mCruiseSpeed, 0.0f, 50.0f); + ctx->genSlider("突進速度", &mChargeSpeed, 0.0f, 50.0f); } #endif diff --git a/src/d/actor/d_a_e_ym.cpp b/src/d/actor/d_a_e_ym.cpp index 133c316988..9180972082 100644 --- a/src/d/actor/d_a_e_ym.cpp +++ b/src/d/actor/d_a_e_ym.cpp @@ -63,20 +63,20 @@ daE_YM_HIO_c::daE_YM_HIO_c() { #if DEBUG void daE_YM_HIO_c::genMessage(JORMContext* ctext) { // 'yami mushi', a.k.a. dark insect - ctext->genLabel(" 闇虫", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel(" 闇虫", 0x80000001); // basic size - ctext->genSlider("基本サイズ", &mModelSize, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("放電無敵延長時間", &mElectricInvincibilityTimeExtension, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("基本サイズ", &mModelSize, 0.0f, 5.0f); + ctext->genSlider("放電無敵延長時間", &mElectricInvincibilityTimeExtension, 0.0f, 100.0f); // hovering speed - ctext->genSlider("徘徊速度", &mMoveSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("徘徊速度", &mMoveSpeed, 0.0f, 100.0f); // surprising distance - ctext->genSlider("びっくり距離", &mSurpriseDistance, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("びっくり距離", &mSurpriseDistance, 0.0f, 1000.0f); // movement radius - ctext->genSlider("移動半径", &mMoveRange, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("移動半径", &mMoveRange, 0.0f, 1000.0f); // flight speed - ctext->genSlider("飛行移動速度", &mFlyMoveSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("飛行移動速度", &mFlyMoveSpeed, 0.0f, 100.0f); // flight attack speed - ctext->genSlider("飛行攻撃速度", &mFlyAttackSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("飛行攻撃速度", &mFlyAttackSpeed, 0.0f, 100.0f); } #endif @@ -562,7 +562,7 @@ void daE_YM_c::setAppear() { mType = 0; } - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; } void daE_YM_c::setMoveSound(int param_0) { @@ -689,7 +689,7 @@ void daE_YM_c::executeWait() { case 1: field_0x718 = 1; if (field_0x6d4) { - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; } else { field_0x714 = 0; } @@ -727,13 +727,13 @@ void daE_YM_c::executeWait() { case 4: { if (field_0x6d4) { - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; } else { field_0x714 = 0; } if (dComIfGs_isSwitch(field_0x6a3, fopAcM_GetRoomNo(this)) && mType == 1) { - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; if (mTagPosP != NULL) { setActionMode(ACT_FLY); } else { @@ -2259,7 +2259,7 @@ void daE_YM_c::executeRail() { case 0: { mIsHide = 1; field_0x6a6 = 4; - field_0x714 |= 4; + field_0x714 |= fopAc_AttnFlag_BATTLE_e; field_0x6dc = -70.0f; dPnt* point_p = dPath_GetPnt(mpPath, mCurrentPntNo); current.pos = old.pos = point_p->m_position; @@ -2361,14 +2361,14 @@ void daE_YM_c::executeBackRail() { field_0x6a5 = 0; mSphCc.SetCoSPrm(0x145); mSphCc.SetTgType(0x10000); - field_0x714 &= ~0x4; + field_0x714 &= ~fopAc_AttnFlag_BATTLE_e; bckSet(0x10, 2, 3.0f, 0.0f); } else { if (field_0x6a5 == 2) { field_0x6f0 = 0xf; mSphCc.SetCoSPrm(0x145); mSphCc.SetTgType(0x10000); - field_0x714 &= ~0x4; + field_0x714 &= ~fopAc_AttnFlag_BATTLE_e; } else { field_0x6f0 = 7; } @@ -2413,7 +2413,7 @@ void daE_YM_c::executeBackRail() { // following needed for both (a) dbg stack reg to use r31, and (b) force b instruction in asm: int _; if (field_0x6f0 == 0) { - field_0x714 |= 4; + field_0x714 |= fopAc_AttnFlag_BATTLE_e; setActionMode(ACT_RAIL); } @@ -2499,7 +2499,7 @@ void daE_YM_c::executeSwitch() { mIsHide = 1; if (mpPath != NULL) { if (mpPath->field_0x4 == 1) { - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; } else { field_0x714 = 0; field_0x6cf = 0; @@ -2627,7 +2627,7 @@ void daE_YM_c::executeFire() { } } if (field_0x6d4) { - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; } else { field_0x714 = 0; } @@ -2655,7 +2655,7 @@ void daE_YM_c::executeFire() { field_0x6cc = 1; } if (mpMorf->checkFrame(14.0f)) { - attention_info.distances[2] = 0x2e; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x2e; gravity = 0.0f; fopAcM_SearchByName(0x1f7, &field_0x660); if (field_0x660 != NULL) { @@ -2751,7 +2751,7 @@ void daE_YM_c::executeFire() { void daE_YM_c::setRiverAttention() { cXyz player_pos = daPy_getPlayerActorClass()->current.pos; - attention_info.distances[2] = 60; + attention_info.distances[fopAc_attn_BATTLE_e] = 60; field_0x714 = 0; if (current.pos.abs(mpKago->current.pos) > 2000.0f) { return; @@ -2764,7 +2764,7 @@ void daE_YM_c::setRiverAttention() { mDoMtx_stack_c::multVecZero(&my_vec_0); my_vec_1.set(my_vec_0.x, my_vec_0.z, my_vec_0.y); if (abs(cM_atan2s(my_vec_1.y, my_vec_1.absXZ()) - 0x4000) < 0x2000) { - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; } } @@ -2862,7 +2862,7 @@ void daE_YM_c::executeRiver() { next_path = mpKago->checkNextPath(current.pos); if (mpKago->isFlying()) { if (field_0x6f2) { - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; if (next_path < 200.0f) { cLib_chaseF(&field_0x6ec, 70.0f, 1.0f); } else if (next_path > 1000.0f) { @@ -2994,7 +2994,7 @@ void daE_YM_c::checkFrinedSamePos() { void daE_YM_c::action() { int reg_r27 = 0; // set but not used - if (daPy_getPlayerActorClass()->getCutType() == 0x36) { + if (daPy_getPlayerActorClass()->getCutType() == daPy_py_c::CUT_TYPE_WOLF_LOCK) { reg_r27 = 1; field_0x700 = 0; } @@ -3602,7 +3602,7 @@ int daE_YM_c::create() { l_HIO.field_0x4 = mDoHIO_CREATE_CHILD("闇の虫", &l_HIO); } - field_0x714 = 4; + field_0x714 = fopAc_AttnFlag_BATTLE_e; attention_info.distances[fopAc_attn_BATTLE_e] = 58; fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); fopAcM_SetMin(this, -200.0f, -100.0f, -200.0f); diff --git a/src/d/actor/d_a_e_ymb.cpp b/src/d/actor/d_a_e_ymb.cpp index 37da21606f..2ef563ca6e 100644 --- a/src/d/actor/d_a_e_ymb.cpp +++ b/src/d/actor/d_a_e_ymb.cpp @@ -2754,9 +2754,9 @@ void daE_YMB_c::action() { } if (mAction != 5) { - attention_info.distances[2] = 24; + attention_info.distances[fopAc_attn_BATTLE_e] = 24; } else { - attention_info.distances[2] = 25; + attention_info.distances[fopAc_attn_BATTLE_e] = 25; } field_0x712 = 0; @@ -3158,7 +3158,7 @@ static int useHeapInit(fopAc_ac_c* a_this) { return i_this->CreateHeap(); } -cPhs__Step daE_YMB_c::create() { +cPhs_Step daE_YMB_c::create() { fopAcM_ct(this, daE_YMB_c); mSwitchBit = fopAcM_GetParam(this); @@ -3170,7 +3170,7 @@ cPhs__Step daE_YMB_c::create() { } } - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_YB"); + cPhs_Step phase = dComIfG_resLoad(&mPhase, "E_YB"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_YMB PARAM %x\n", fopAcM_GetParam(this)); if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x5200)) { diff --git a/src/d/actor/d_a_e_yr.cpp b/src/d/actor/d_a_e_yr.cpp index 379df6c34d..f329c48a9a 100644 --- a/src/d/actor/d_a_e_yr.cpp +++ b/src/d/actor/d_a_e_yr.cpp @@ -93,50 +93,33 @@ public: #if DEBUG void e_yrHIO_c::genMessage(JORMContext* ctx) { // "Kagarok" - ctx->genLabel("\u3000闇カーゴロック", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genCheckBox("不死身", &mInvulnerable, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genCheckBox("静止", &mStationary, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genCheckBox("いきなり攻撃", &mSuddenAttack, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("旋回半径", &mTurningRadius, 0.0, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("モデルスケール", &mModelScale, 0.0, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("A攻時間(最短)", &mAttackAMinTime, 0, 15000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("A攻時間(最長)", &mAttackAMaxTime, 0, 15000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("B攻時間(最短)", &mAttackBMinTime, 0, 15000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("B攻時間(最長)", &mAttackBMaxTime, 0, 15000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("攻撃移動速度", &mAttackMoveSpeed, 0.0, 2.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("攻撃頻度", &mAttackFrequency, 0.0, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("fly再生速度", &mFlyPlaybackSpeed, 0.0, 3.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("hovering再生速度", &mHoveringPlaybackSpeed, 0.0, 3.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("atack再生速度", &mAttackPlaybackSpeed, 0.0, 3.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("chance再生速度", &mChancePlaybackSpeed, 0.0, 3.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("chance時間", &mChanceTime, 0, 200, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("brake開始距離", &mBrakeStartDist, 0, 3000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("大ダメージ力", &mLargeDamage, 0.0, 150.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("小ダメージ力", &mSmallDamage, 0.0, 150.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("HIT発生フレーム", &mHitOccurrenceFrame, 0, 5, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("プ認距離(空)", &mDetectDistSky, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("プ認高さ(空)", &mDetectHeightSky, 0.0f, 5000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("プ認角度(空)", &mDetectAngleSky, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("プ認距離(地)", &mDetectDistGround, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("プ認高さ(地)", &mDetectHeightGround, 0.0f, 5000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("プ認角度(地)", &mDetectAngleGround, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genLabel("\u3000闇カーゴロック", 0x80000001); + ctx->genCheckBox("不死身", &mInvulnerable, 0x1); + ctx->genCheckBox("静止", &mStationary, 0x1); + ctx->genCheckBox("いきなり攻撃", &mSuddenAttack, 0x1); + ctx->genSlider("旋回半径", &mTurningRadius, 0.0, 10000.0f); + ctx->genSlider("モデルスケール", &mModelScale, 0.0, 10.0f); + ctx->genSlider("A攻時間(最短)", &mAttackAMinTime, 0, 15000); + ctx->genSlider("A攻時間(最長)", &mAttackAMaxTime, 0, 15000); + ctx->genSlider("B攻時間(最短)", &mAttackBMinTime, 0, 15000); + ctx->genSlider("B攻時間(最長)", &mAttackBMaxTime, 0, 15000); + ctx->genSlider("攻撃移動速度", &mAttackMoveSpeed, 0.0, 2.0f); + ctx->genSlider("攻撃頻度", &mAttackFrequency, 0.0, 10.0f); + ctx->genSlider("fly再生速度", &mFlyPlaybackSpeed, 0.0, 3.0f); + ctx->genSlider("hovering再生速度", &mHoveringPlaybackSpeed, 0.0, 3.0f); + ctx->genSlider("atack再生速度", &mAttackPlaybackSpeed, 0.0, 3.0f); + ctx->genSlider("chance再生速度", &mChancePlaybackSpeed, 0.0, 3.0f); + ctx->genSlider("chance時間", &mChanceTime, 0, 200); + ctx->genSlider("brake開始距離", &mBrakeStartDist, 0, 3000); + ctx->genSlider("大ダメージ力", &mLargeDamage, 0.0, 150.0f); + ctx->genSlider("小ダメージ力", &mSmallDamage, 0.0, 150.0f); + ctx->genSlider("HIT発生フレーム", &mHitOccurrenceFrame, 0, 5); + ctx->genSlider("プ認距離(空)", &mDetectDistSky, 0.0f, 10000.0f); + ctx->genSlider("プ認高さ(空)", &mDetectHeightSky, 0.0f, 5000.0f); + ctx->genSlider("プ認角度(空)", &mDetectAngleSky, 0, 0x7fff); + ctx->genSlider("プ認距離(地)", &mDetectDistGround, 0.0f, 10000.0f); + ctx->genSlider("プ認高さ(地)", &mDetectHeightGround, 0.0f, 5000.0f); + ctx->genSlider("プ認角度(地)", &mDetectAngleGround, 0, 0x7fff); } #endif diff --git a/src/d/actor/d_a_e_zh.cpp b/src/d/actor/d_a_e_zh.cpp index 996cdf036e..4cae4a1adc 100644 --- a/src/d/actor/d_a_e_zh.cpp +++ b/src/d/actor/d_a_e_zh.cpp @@ -814,7 +814,7 @@ void daE_ZH_c::executeWait() { switch (mMoveMode) { case 0: - attention_info.distances[2] = 3; + attention_info.distances[fopAc_attn_BATTLE_e] = 3; fopAcM_OnStatus(this, 0); attention_info.flags |= fopAc_AttnFlag_BATTLE_e; setBck(BCK_ZH_WAIT01, 0, 3.0f, 1.0f); @@ -871,7 +871,7 @@ void daE_ZH_c::executeBallWait() { if (bitSw != 0xFF && fopAcM_isSwitch(this, bitSw) && mStartFlag != 0) { fopAcM_OnStatus(this, 0); attention_info.flags |= fopAc_AttnFlag_BATTLE_e; - attention_info.distances[2] = 3; + attention_info.distances[fopAc_attn_BATTLE_e] = 3; mMoveMode = 10; } break; @@ -1498,7 +1498,7 @@ void daE_ZH_c::executeCatchFlyMove() { case 12: fopAcM_OffStatus(this, 0); attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; - attention_info.distances[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; for (int i = 0; i < 3; i++) { field_0x764[i] = 0.0f; @@ -1639,7 +1639,7 @@ void daE_ZH_c::executeFlyDelete() { case 0: fopAcM_OffStatus(this, 0); attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; - attention_info.distances[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; if (bitSw != 0xFF && fopAcM_isSwitch(this, bitSw)) { fopAcM_offSwitch(this, bitSw); @@ -1662,7 +1662,7 @@ void daE_ZH_c::executeFlyDelete() { if (fabsf(current.pos.y - (fopAcM_rc_c::getRoofY() + 200.0f)) < 20.0f) { fopAcM_OffStatus(this, 0); attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; - attention_info.distances[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; if (arg0 == 0) { setActionMode(ACTION_EXECUTE_WAIT, 0); @@ -2165,10 +2165,10 @@ static int useHeapInit(fopAc_ac_c* a_this) { return i_this->CreateHeap(); } -cPhs__Step daE_ZH_c::create() { +cPhs_Step daE_ZH_c::create() { fopAcM_ct(this, daE_ZH_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_ZH"); + cPhs_Step phase = dComIfG_resLoad(&mPhase, "E_ZH"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_ZH PARAM %x\n", fopAcM_GetParam(this)); arg0 = fopAcM_GetParam(this); @@ -2191,7 +2191,7 @@ cPhs__Step daE_ZH_c::create() { if (arg0 == 2) { fopAcM_OffStatus(this, 0); attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; - attention_info.distances[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; fopAcM_SetGroup(this, 0); fopAcM_SetMin(this, -2000.0f, -2000.0f, -2000.0f); fopAcM_SetMax(this, 2000.0f, 2000.0f, 2000.0f); @@ -2255,7 +2255,7 @@ cPhs__Step daE_ZH_c::create() { shape_angle.z = 0; shape_angle.x = 0; - attention_info.distances[2] = 3; + attention_info.distances[fopAc_attn_BATTLE_e] = 3; fopAcM_OffStatus(this, 0); attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; @@ -2283,7 +2283,7 @@ cPhs__Step daE_ZH_c::create() { setBck(BCK_ZH_WAIT01, 0, 3.0f, 1.0f); field_0x78c = 0; - attention_info.distances[2] = 3; + attention_info.distances[fopAc_attn_BATTLE_e] = 3; fopAcM_OffStatus(this, 0); attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; @@ -2300,7 +2300,7 @@ cPhs__Step daE_ZH_c::create() { setActionMode(ACTION_EXECUTE_DEAD_STOP, 0); } } else { - attention_info.distances[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; field_0x764[0] = 255.0f; field_0x764[2] = 50.0f; mStartFlag = 0; diff --git a/src/d/actor/d_a_e_zm.cpp b/src/d/actor/d_a_e_zm.cpp index e9ea08514f..6432a9acf8 100644 --- a/src/d/actor/d_a_e_zm.cpp +++ b/src/d/actor/d_a_e_zm.cpp @@ -417,7 +417,7 @@ void daE_ZM_c::executeWait() { mTimer = l_HIO.wait_time_to_appear_after_attack; attention_info.distances[fopAc_attn_BATTLE_e] = 0; fopAcM_OffStatus(this, 0); - attention_info.flags &= 0xFFFFFFFB; + attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; shape_angle.x = 0; field_0x6f4.set(0.0f, 0.0f, 0.0f); setActionMode(ACTION_WAIT, MODE_0); @@ -905,10 +905,10 @@ static int useHeapInit(fopAc_ac_c* a_this) { return static_cast(a_this)->CreateHeap(); } -cPhs__Step daE_ZM_c::create() { +cPhs_Step daE_ZM_c::create() { fopAcM_ct(this, daE_ZM_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "E_ZM"); + cPhs_Step phase = dComIfG_resLoad(&mPhase, "E_ZM"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_ZM PARAM %x\n", fopAcM_GetParam(this)); diff --git a/src/d/actor/d_a_e_zs.cpp b/src/d/actor/d_a_e_zs.cpp index 805a0d28c3..1a2e827453 100644 --- a/src/d/actor/d_a_e_zs.cpp +++ b/src/d/actor/d_a_e_zs.cpp @@ -548,7 +548,7 @@ int daE_ZS_c::create() { shape_angle.z = 0; shape_angle.x = 0; - attention_info.distances[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; daE_ZS_Execute(this); mCyl.OffTgSetBit(); mCyl.OffCoSetBit(); diff --git a/src/d/actor/d_a_ep.cpp b/src/d/actor/d_a_ep.cpp index 9eed297ef2..7b86e201a8 100644 --- a/src/d/actor/d_a_ep.cpp +++ b/src/d/actor/d_a_ep.cpp @@ -937,7 +937,7 @@ static int daEp_Create(fopAc_ac_c* a_this) { } i_this->field_0xa5c = -1; - i_this->attention_info.distances[4] = 7; + i_this->attention_info.distances[fopAc_attn_CARRY_e] = 7; fopAcM_OnCarryType(i_this, fopAcM_CARRY_UNK_30); i_this->mSph2.Set(at_sph_src); diff --git a/src/d/actor/d_a_fr.cpp b/src/d/actor/d_a_fr.cpp index 4dbe0d2a74..7eb4b89c9d 100644 --- a/src/d/actor/d_a_fr.cpp +++ b/src/d/actor/d_a_fr.cpp @@ -643,7 +643,7 @@ static int daFr_IsDelete(fr_class* i_this) { } static int daFr_Delete(fr_class* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "Fr"); dComIfG_resDelete(&i_this->mPhase, "Fr"); if (i_this->field_0x9e4) { diff --git a/src/d/actor/d_a_horse.cpp b/src/d/actor/d_a_horse.cpp index 301245e996..e6303ca10e 100644 --- a/src/d/actor/d_a_horse.cpp +++ b/src/d/actor/d_a_horse.cpp @@ -791,9 +791,9 @@ int daHorse_c::create() { } static int daHorse_Create(fopAc_ac_c* i_this) { - daHorse_c* this_horse = (daHorse_c*)i_this; - fpc_ProcID unused = fopAcM_GetID(i_this); - return this_horse->create(); + daHorse_c* a_this = (daHorse_c*)i_this; + fopAcM_RegisterCreateID(i_this, "HORSE"); + return a_this->create(); } void daHorse_c::setBasAnime(int param_0) { @@ -4535,7 +4535,7 @@ daHorse_c::~daHorse_c() { } static int daHorse_Delete(daHorse_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "HORSE"); i_this->~daHorse_c(); return 1; } diff --git a/src/d/actor/d_a_hozelda.cpp b/src/d/actor/d_a_hozelda.cpp index 3364fd3989..4d64d0e6ed 100644 --- a/src/d/actor/d_a_hozelda.cpp +++ b/src/d/actor/d_a_hozelda.cpp @@ -14,11 +14,11 @@ static const char l_arcName[] = "HoZelda"; #if DEBUG void daHoZelda_hio_c::genMessage(JORMContext* context) { - context->genSlider("弓サーチY角度", &m.bow_search_y_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("弓開始角度", &m.bow_start_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("弓開始距離", &m.bow_start_distance, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("弓終了角度", &m.bow_end_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("弓終了距離", &m.bow_end_distance, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("弓サーチY角度", &m.bow_search_y_angle, 0, 0x7fff); + context->genSlider("弓開始角度", &m.bow_start_angle, 0, 0x7fff); + context->genSlider("弓開始距離", &m.bow_start_distance, 0.0f, 10000.0f); + context->genSlider("弓終了角度", &m.bow_end_angle, 0, 0x7fff); + context->genSlider("弓終了距離", &m.bow_end_distance, 0.0f, 10000.0f); } #endif @@ -243,7 +243,7 @@ int daHoZelda_c::create() { static int daHoZelda_Create(fopAc_ac_c* i_this) { daHoZelda_c* a_this = (daHoZelda_c*)i_this; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterCreateID(i_this, "HOZELDA"); return a_this->create(); } @@ -269,7 +269,7 @@ daHoZelda_c::~daHoZelda_c() { } static int daHoZelda_Delete(daHoZelda_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "HOZELDA"); i_this->~daHoZelda_c(); return 1; } diff --git a/src/d/actor/d_a_kago.cpp b/src/d/actor/d_a_kago.cpp index ed46b10ddd..4e2b90659d 100644 --- a/src/d/actor/d_a_kago.cpp +++ b/src/d/actor/d_a_kago.cpp @@ -95,50 +95,50 @@ daKago_HIO_c::daKago_HIO_c() { #if DEBUG void daKago_HIO_c::genMessage(JORMContext* ctx) { // friendly Kargarok (literally, "Kargarok (good guy)") - ctx->genLabel("カーゴロック(いい奴)", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); + ctx->genLabel("カーゴロック(いい奴)", 0x80000001); + ctx->genLabel(" ", 0x80000001); + ctx->genLabel(" ", 0x80000001); + ctx->genLabel(" ", 0x80000001); // Revocon processing (Revolution controller?) - ctx->genLabel("レボコン処理", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("レボコン上下", &mRevoconUpDown, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("レボコン上下Max", &mRevoconUpDownMax, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("レボコン左右", &mRevoconLeftRight, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("レボコン左右Max", &mRevoconLeftRightMax, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel(" ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("基本サイズ", &mBasicSize, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("飛行速度", &mFlightSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("飛行地面高度", &mFlightGroundAltitude, 0.0f, 20000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("飛行天井高度", &mFlightCeilingAltitude, 0.0f, 20000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("下降速度加算値", &mDescentRateIncrement, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("上昇速度減速値", &mAscentRateDecel, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("影の濃さ", &mShadowDensity, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("壁かすり後無敵時間", &mWallHitInvulnTime, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("ダッシュ時間", &mDashTime, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("ダッシュ溜め時間(当社比X倍)", &mDashTimeMultiplier, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("ダッシュ無効時間", &mDashCooldownTime, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel("-", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel("---------------------------------------", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); + ctx->genLabel("レボコン処理", 0x80000001); + ctx->genLabel(" ", 0x80000001); + ctx->genSlider("レボコン上下", &mRevoconUpDown, 0.0f, 10000.0f); + ctx->genSlider("レボコン上下Max", &mRevoconUpDownMax, 0.0f, 10000.0f); + ctx->genSlider("レボコン左右", &mRevoconLeftRight, 0.0f, 10000.0f); + ctx->genSlider("レボコン左右Max", &mRevoconLeftRightMax, 0.0f, 10000.0f); + ctx->genLabel(" ", 0x80000001); + ctx->genLabel(" ", 0x80000001); + ctx->genLabel(" ", 0x80000001); + ctx->genSlider("基本サイズ", &mBasicSize, 0.0f, 5.0f); + ctx->genSlider("飛行速度", &mFlightSpeed, 0.0f, 100.0f); + ctx->genSlider("飛行地面高度", &mFlightGroundAltitude, 0.0f, 20000.0f); + ctx->genSlider("飛行天井高度", &mFlightCeilingAltitude, 0.0f, 20000.0f); + ctx->genSlider("下降速度加算値", &mDescentRateIncrement, 0.0f, 100.0f); + ctx->genSlider("上昇速度減速値", &mAscentRateDecel, 0.0f, 100.0f); + ctx->genSlider("影の濃さ", &mShadowDensity, 0.0f, 10.0f); + ctx->genSlider("壁かすり後無敵時間", &mWallHitInvulnTime, 0.0f, 100.0f); + ctx->genSlider("ダッシュ時間", &mDashTime, 0.0f, 100.0f); + ctx->genSlider("ダッシュ溜め時間(当社比X倍)", &mDashTimeMultiplier, 0.0f, 10.0f); + ctx->genSlider("ダッシュ無効時間", &mDashCooldownTime, 0.0f, 1000.0f); + ctx->genLabel("-", 0x80000001); + ctx->genLabel("---------------------------------------", 0x80000001); // "Below this are experimental parameters" - ctx->genLabel("これより下は効果線エフェクト実験パラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel("-", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("Zオフセット", &mZOffset, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("Zオフセット(横)", &mZOffsetHori, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genCheckBox("角度追従モード", &mAngleTrackingMode, 1, 0, NULL, 0xffff, 0xffff, 512, 24); + ctx->genLabel("これより下は効果線エフェクト実験パラメータ", 0x80000001); + ctx->genLabel("-", 0x80000001); + ctx->genSlider("Zオフセット", &mZOffset, 0.0f, 10000.0f); + ctx->genSlider("Zオフセット(横)", &mZOffsetHori, 0.0f, 10000.0f); + ctx->genCheckBox("角度追従モード", &mAngleTrackingMode, 0x1); // check OFF to track camera speed - ctx->genLabel(".....チェックOFFでカメラの速度追従", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); + ctx->genLabel(".....チェックOFFでカメラの速度追従", 0x80000001); // check ON to track Kargarok angle - ctx->genLabel(".....チェックONでカーゴの角度追従", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel("-", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); + ctx->genLabel(".....チェックONでカーゴの角度追従", 0x80000001); + ctx->genLabel("-", 0x80000001); // "Secret ripple effect parameters" - ctx->genLabel("こっそりさざ波エフェクトパラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genLabel("-", 0x80000001, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("水面からのYオフセット", &mYOffsetFromWaterSurface, -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("着水時飛沫発生時間", &mWaterSplashTime, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("ダッシュ時飛沫発生時間", &mSplashGenTimeDuringDash, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + ctx->genLabel("こっそりさざ波エフェクトパラメータ", 0x80000001); + ctx->genLabel("-", 0x80000001); + ctx->genSlider("水面からのYオフセット", &mYOffsetFromWaterSurface, -1000.0f, 1000.0f); + ctx->genSlider("着水時飛沫発生時間", &mWaterSplashTime, 0.0f, 100.0f); + ctx->genSlider("ダッシュ時飛沫発生時間", &mSplashGenTimeDuringDash, 0.0f, 100.0f); } #endif @@ -3712,7 +3712,7 @@ int daKago_c::_delete() { } static int daKago_Delete(daKago_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "Kago"); return i_this->_delete(); } diff --git a/src/d/actor/d_a_kytag12.cpp b/src/d/actor/d_a_kytag12.cpp index 4cea546573..04d8c94f39 100644 --- a/src/d/actor/d_a_kytag12.cpp +++ b/src/d/actor/d_a_kytag12.cpp @@ -30,7 +30,7 @@ static BOOL d_kytag12_cut_normal_check() { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); BOOL var_r3 = true; if (player != NULL && - (player->getCutType() == 0x28 || player->getCutType() == daPy_py_c::CUT_TYPE_GUARD_ATTACK)) + (player->getCutType() == daPy_py_c::CUT_TYPE_UNK_28 || player->getCutType() == daPy_py_c::CUT_TYPE_GUARD_ATTACK)) { var_r3 = false; } diff --git a/src/d/actor/d_a_mant.cpp b/src/d/actor/d_a_mant.cpp index 0e203ddca9..f8c8180894 100644 --- a/src/d/actor/d_a_mant.cpp +++ b/src/d/actor/d_a_mant.cpp @@ -759,13 +759,14 @@ static bool daMant_IsDelete(mant_class* i_this) { } static int daMant_Delete(mant_class* i_this) { + fopAcM_RegisterDeleteID(i_this, "Mant"); return 1; } static int daMant_Create(fopAc_ac_c* i_this) { mant_class* m_this = (mant_class*)i_this; - fpc_ProcID unusedId = fopAcM_GetID(m_this); + fopAcM_RegisterCreateID(m_this, "Mant"); fopAcM_ct(m_this, mant_class); //m_this->field_0x0570.field_0x74 = 0; diff --git a/src/d/actor/d_a_mg_fish.cpp b/src/d/actor/d_a_mg_fish.cpp index ab644a3c73..16ed251d30 100644 --- a/src/d/actor/d_a_mg_fish.cpp +++ b/src/d/actor/d_a_mg_fish.cpp @@ -3232,7 +3232,7 @@ static int daMg_Fish_Execute(mg_fish_class* i_this) { #if VERSION == VERSION_GCN_JPN lit_1008 = 0; #elif VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_ENGLISH) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_ENGLISH) { lit_1008 = 2; } else { lit_1008 = 0; @@ -3845,7 +3845,7 @@ static int daMg_Fish_Create(fopAc_ac_c* i_this) { #if VERSION == VERSION_GCN_JPN lit_1008 = 0; #elif VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_ENGLISH) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_ENGLISH) { lit_1008 = 2; } else { lit_1008 = 0; @@ -3854,8 +3854,8 @@ static int daMg_Fish_Create(fopAc_ac_c* i_this) { lit_1008 = 1; #endif - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, a_this->mResName); - cPhs__Step retval = phase; + cPhs_Step phase = dComIfG_resLoad(&a_this->mPhaseReq, a_this->mResName); + cPhs_Step retval = phase; if (phase == cPhs_COMPLEATE_e) { s32 params_0 = fopAcM_GetParam(i_this) >> 24; diff --git a/src/d/actor/d_a_mg_fshop.cpp b/src/d/actor/d_a_mg_fshop.cpp index 995979031c..87b27246de 100644 --- a/src/d/actor/d_a_mg_fshop.cpp +++ b/src/d/actor/d_a_mg_fshop.cpp @@ -1614,13 +1614,13 @@ static int daFshop_Create(fopAc_ac_c* actor) { u8 sp10 = 1; #if VERSION == VERSION_GCN_PAL || VERSION == VERSION_WII_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_ENGLISH) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_ENGLISH) { sp10 = 2; } else { sp10 = 0; } #elif PLATFORM_SHIELD - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_GERMAN) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_GERMAN) { sp10 = 2; } else { sp10 = 0; diff --git a/src/d/actor/d_a_mg_rod.cpp b/src/d/actor/d_a_mg_rod.cpp index 3016f58aaa..9acbaea735 100644 --- a/src/d/actor/d_a_mg_rod.cpp +++ b/src/d/actor/d_a_mg_rod.cpp @@ -67,8 +67,8 @@ dmg_rod_HIO_c::dmg_rod_HIO_c() { #if DEBUG void dmg_rod_HIO_c::genMessage(JORMContext* ctx) { // Fishing System - ctx->genLabel(" 釣りシステム ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->startComboBox("強制魚メッセージ出力", &force_fish_msg_output, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0x1A); + ctx->genLabel(" 釣りシステム ", 0x80000001); + ctx->startComboBox("強制魚メッセージ出力", &force_fish_msg_output); ctx->genComboBoxItem("通常", 0); // Normal ctx->genComboBoxItem("バス", 1); // Bass ctx->genComboBoxItem("ドジョウ", 2); //Loach @@ -6059,7 +6059,7 @@ static int dmg_rod_IsDelete(dmg_rod_class* i_this) { static int dmg_rod_Delete(dmg_rod_class* i_this) { fopAc_ac_c* actor = &i_this->actor; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "Mg_rod"); dComIfG_resDelete(&i_this->phase, i_this->arcname); if (i_this->HIOInit) { @@ -6077,10 +6077,6 @@ static int dmg_rod_Delete(dmg_rod_class* i_this) { return 1; } -static void dummy_report_str_1() { - OS_REPORT("Delete -> Mg_rod(id=%d)\n"); -} - static int useHeapInit(fopAc_ac_c* i_this) { dmg_rod_class* a_this = (dmg_rod_class*)i_this; J3DModel* model; diff --git a/src/d/actor/d_a_midna.cpp b/src/d/actor/d_a_midna.cpp index dd09eff513..afaccaf13b 100644 --- a/src/d/actor/d_a_midna.cpp +++ b/src/d/actor/d_a_midna.cpp @@ -91,20 +91,20 @@ enum Joint { #if DEBUG void daMidna_hio_c::genMessage(JORMContext* ctx) { - ctx->genSlider("スケール", &m.scale, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("強制表示", &m.forced_display, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Y位置", &m.y_pos, -1000.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Z位置", &m.z_pos, -1000.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("HIO優先", &m.hio_priority, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪カラー1R", &m.hair_color_1r, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪カラー1G", &m.hair_color_1g, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪カラー1B", &m.hair_color_1b, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪Kカラー1R", &m.hair_k_color_1r, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪Kカラー1G", &m.hair_k_color_1g, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪Kカラー1B", &m.hair_k_color_1b, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪Kカラー2R", &m.hair_k_color_2r, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪Kカラー2G", &m.hair_k_color_2g, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("髪Kカラー2B", &m.hair_k_color_2b, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("スケール", &m.scale, 0.0f, 5.0f); + ctx->genCheckBox("強制表示", &m.forced_display, 0x1); + ctx->genSlider("Y位置", &m.y_pos, -1000.0f, 1000.0f); + ctx->genSlider("Z位置", &m.z_pos, -1000.0f, 1000.0f); + ctx->genCheckBox("HIO優先", &m.hio_priority, 0x1); + ctx->genSlider("髪カラー1R", &m.hair_color_1r, 0, 0xFF); + ctx->genSlider("髪カラー1G", &m.hair_color_1g, 0, 0xFF); + ctx->genSlider("髪カラー1B", &m.hair_color_1b, 0, 0xFF); + ctx->genSlider("髪Kカラー1R", &m.hair_k_color_1r, 0, 0xFF); + ctx->genSlider("髪Kカラー1G", &m.hair_k_color_1g, 0, 0xFF); + ctx->genSlider("髪Kカラー1B", &m.hair_k_color_1b, 0, 0xFF); + ctx->genSlider("髪Kカラー2R", &m.hair_k_color_2r, 0, 0xFF); + ctx->genSlider("髪Kカラー2G", &m.hair_k_color_2g, 0, 0xFF); + ctx->genSlider("髪Kカラー2B", &m.hair_k_color_2b, 0, 0xFF); } #endif @@ -541,9 +541,9 @@ daMidna_hio_c::daMidna_hio_c() { } #endif -cPhs__Step daMidna_c::create() { +cPhs_Step daMidna_c::create() { fopAcM_ct(this, daMidna_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhase, l_arcName); if (step == cPhs_COMPLEATE_e) { if (dStage_roomControl_c::getDemoArcName()[0] != '\0' && @@ -663,10 +663,10 @@ cPhs__Step daMidna_c::create() { return step; } -static cPhs__Step daMidna_Create(fopAc_ac_c* i_this) { - daMidna_c* actor = (daMidna_c*)i_this; - fpc_ProcID id = fopAcM_GetID(i_this); - return actor->create(); +static cPhs_Step daMidna_Create(fopAc_ac_c* i_this) { + daMidna_c* a_this = (daMidna_c*)i_this; + fopAcM_RegisterCreateID(i_this, "MIDNA"); + return a_this->create(); } void daMidna_c::allAnimePlay() { @@ -3578,7 +3578,7 @@ daMidna_c::~daMidna_c() { } static int daMidna_Delete(daMidna_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "MIDNA"); i_this->~daMidna_c(); return 1; } diff --git a/src/d/actor/d_a_mirror.cpp b/src/d/actor/d_a_mirror.cpp index 8ad5a997e8..822ea0f314 100644 --- a/src/d/actor/d_a_mirror.cpp +++ b/src/d/actor/d_a_mirror.cpp @@ -10,8 +10,8 @@ #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" -#include "dolphin/gf/GFGeometry.h" -#include "dolphin/gf/GFLight.h" +#include +#include #include "m_Do/m_Do_lib.h" #ifndef __MWERKS__ diff --git a/src/d/actor/d_a_myna.cpp b/src/d/actor/d_a_myna.cpp index 067a544d41..6e28336fd2 100644 --- a/src/d/actor/d_a_myna.cpp +++ b/src/d/actor/d_a_myna.cpp @@ -133,39 +133,39 @@ public: #if DEBUG void genMessage(JORMContext* ctext) { // scale: - ctext->genSlider("スケール", &scale, 0.0f, 2.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genLabel("**********", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("スケール", &scale, 0.0f, 2.0f); + ctext->genLabel("**********", 0); // turn angle add value - ctext->genSlider("振向角加算値", &turn_angle_add_val, -0x8000, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("振向角加算値", &turn_angle_add_val, -0x8000, 0x7fff); // max vibration angle - ctext->genSlider("振向角最大", &max_vibration_angle, -0x8000, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("振向角最大", &max_vibration_angle, -0x8000, 0x7fff); // min vibration angle - ctext->genSlider("振向角最小", &min_vibration_angle, -0x8000, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genLabel("**********", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("振向角最小", &min_vibration_angle, -0x8000, 0x7fff); + ctext->genLabel("**********", 0); // jump anime - ctext->genSlider("Jumpアニメ", &jump_anime, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("Jumpアニメ", &jump_anime, 0.0f, 5.0f); // jump speed - ctext->genSlider("Jumpスピード", &jump_speed, 0.0f, 2.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("Jumpスピード", &jump_speed, 0.0f, 2.0f); // side walking speed - ctext->genSlider("側歩スピード", &side_walking_speed, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genLabel("**********", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("側歩スピード", &side_walking_speed, 0.0f, 5.0f); + ctext->genLabel("**********", 0); // approach dist to streetlights? - ctext->genSlider("外灯接近距離 ", &streetlight_approach_dist, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("外灯接近距離 ", &streetlight_approach_dist, 0.0f, 100.0f); // return approach dist - ctext->genSlider("戻り接近距離", &return_approach_dist, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("戻り接近距離", &return_approach_dist, 0.0f, 100.0f); // annihilation return wait - ctext->genSlider("全滅戻りウエイト", &annihilation_return_wait, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genLabel("**********", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("全滅戻りウエイト", &annihilation_return_wait, 0, 1000); + ctext->genLabel("**********", 0); // link attack height - ctext->genSlider("リンク攻撃高さ", &link_attack_height, -100.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("リンク攻撃高さ", &link_attack_height, -100.0f, 100.0f); // link approach dist - ctext->genSlider("リンク接近距離", &link_approach_dist, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("リンク接近距離", &link_approach_dist, 0.0f, 100.0f); // up and down movement - ctext->genSlider("上下揺れ具合", &up_and_down_movement, 0, 100, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("上下揺れ具合", &up_and_down_movement, 0, 100); // heaving speed - ctext->genSlider("上下揺れ速度", &heaving_speed, 0, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("上下揺れ速度", &heaving_speed, 0, 0x7fff); // damage timer - ctext->genSlider("ダメージタイマー", &damage_timer, 10, 500, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("ダメージタイマー", &damage_timer, 10, 500); } #endif @@ -333,7 +333,7 @@ daMyna_c::BaseMotionFunc daMyna_c::mBaseMotionTBL[] = { int daMyna_c::create() { fopAcM_ct(this, daMyna_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "Npc_myna"); + cPhs_Step phase = dComIfG_resLoad(&mPhase, "Npc_myna"); if (phase != cPhs_COMPLEATE_e) { return phase; } diff --git a/src/d/actor/d_a_npc.cpp b/src/d/actor/d_a_npc.cpp index 49c17d8129..c9fc16906b 100644 --- a/src/d/actor/d_a_npc.cpp +++ b/src/d/actor/d_a_npc.cpp @@ -141,41 +141,33 @@ void daNpcT_cmnListenPropertyEvent(char* param_0, int* param_1, daNpcT_HIOParam* void daNpcT_cmnGenMessage(JORMContext* ctx, daNpcT_HIOParam* i_hioParam) { ctx->genSlider("注目オフセット ", &i_hioParam->attention_offset, - 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 1000.0f); ctx->genSlider("重力 ", &i_hioParam->gravity, - -100.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -100.0f, 100.0f); ctx->genSlider("スケ−ル ", &i_hioParam->scale, - 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 100.0f); ctx->genSlider("リアル影サイズ ", &i_hioParam->real_shadow_size, - 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 10000.0f); ctx->genSlider("体重 ", &i_hioParam->weight, - 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 255.0f); ctx->genSlider("高さ ", &i_hioParam->height, - 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 1000.0f); ctx->genSlider("ひざ丈 ", &i_hioParam->knee_length, - 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 1000.0f); ctx->genSlider("幅 ", &i_hioParam->width, - 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genSlider("腰のX角上限 ", &i_hioParam->body_angleX_max, -90.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 512, 24); - ctx->genSlider("腰のX角下限 ", &i_hioParam->body_angleX_min, -90.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 512, 24); - ctx->genSlider("腰のY角上限 ", &i_hioParam->body_angleY_max, -180.0f, 179.0f, 0, NULL, - 0xffff, 0xffff, 512, 24); - ctx->genSlider("腰のY角下限 ", &i_hioParam->body_angleY_min, -180.0f, 179.0f, 0, NULL, - 0xffff, 0xffff, 512, 24); - ctx->genSlider("頭のX角上限 ", &i_hioParam->head_angleX_max, -90.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 512, 24); - ctx->genSlider("頭のX角下限 ", &i_hioParam->head_angleX_min, -90.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 512, 24); - ctx->genSlider("頭のY角上限 ", &i_hioParam->head_angleY_max, -180.0f, 179.0f, 0, NULL, - 0xffff, 0xffff, 512, 24); - ctx->genSlider("頭のY角下限 ", &i_hioParam->head_angleY_min, -180.0f, 179.0f, 0, NULL, - 0xffff, 0xffff, 512, 24); + 0.0f, 1000.0f); + ctx->genSlider("腰のX角上限 ", &i_hioParam->body_angleX_max, -90.0f, 90.0f); + ctx->genSlider("腰のX角下限 ", &i_hioParam->body_angleX_min, -90.0f, 90.0f); + ctx->genSlider("腰のY角上限 ", &i_hioParam->body_angleY_max, -180.0f, 179.0f); + ctx->genSlider("腰のY角下限 ", &i_hioParam->body_angleY_min, -180.0f, 179.0f); + ctx->genSlider("頭のX角上限 ", &i_hioParam->head_angleX_max, -90.0f, 90.0f); + ctx->genSlider("頭のX角下限 ", &i_hioParam->head_angleX_min, -90.0f, 90.0f); + ctx->genSlider("頭のY角上限 ", &i_hioParam->head_angleY_max, -180.0f, 179.0f); + ctx->genSlider("頭のY角下限 ", &i_hioParam->head_angleY_min, -180.0f, 179.0f); ctx->genSlider("首の移動割合 ", &i_hioParam->neck_rotation_ratio, - 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 1.0f); ctx->genSlider("補間フレ-ム ", &i_hioParam->morf_frame, - 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 100.0f); ctx->startComboBox("会話距離 ", &i_hioParam->talk_distance, 0, NULL, 0xffff, 0xffff, 0x100, 26); ctx->genComboBoxItem(" 50", 0); @@ -243,43 +235,41 @@ void daNpcT_cmnGenMessage(JORMContext* ctx, daNpcT_HIOParam* i_hioParam) { ctx->genComboBoxItem(" 180", 6); ctx->endComboBox(); ctx->genSlider("視界 ", &i_hioParam->fov, - 0.0f, 180.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 180.0f); ctx->genSlider("サ-チ距離 ", &i_hioParam->search_distance, - 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 10000.0f); ctx->genSlider("サ-チ高さ ", &i_hioParam->search_height, - -10000.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -10000.0f, 10000.0f); ctx->genSlider("サ-チ低さ ", &i_hioParam->search_depth, - -10000.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -10000.0f, 10000.0f); ctx->genSlider("? ", &i_hioParam->attention_time, - 0, 10000, 0, NULL, 0xffff, 0xffff, 512, 24); + 0, 10000); ctx->genSlider("? ", &i_hioParam->damage_time, - 0, 10000, 0, NULL, 0xffff, 0xffff, 512, 24); + 0, 10000); ctx->genSlider("表情 ", &i_hioParam->face_expression, - 0, 0xff, 0, NULL, 0xffff, 0xffff, 512, 24); + 0, 0xff); ctx->genSlider("動作 ", &i_hioParam->motion, - 0, 0xff, 0, NULL, 0xffff, 0xffff, 512, 24); + 0, 0xff); ctx->genSlider("注視モ-ド ", &i_hioParam->look_mode, - 0, 0xff, 0, NULL, 0xffff, 0xffff, 512, 24); - ctx->genCheckBox("デバグモ-ドON", &i_hioParam->debug_mode_ON, 1, 0, NULL, - 0xffff, 0xffff, 512, 24); - ctx->genCheckBox("デバグ情報ON ", &i_hioParam->debug_info_ON, 1, 0, NULL, - 0xffff, 0xffff, 512, 24); + 0, 0xff); + ctx->genCheckBox("デバグモ-ドON", &i_hioParam->debug_mode_ON, 0x1); + ctx->genCheckBox("デバグ情報ON ", &i_hioParam->debug_info_ON, 0x1); ctx->genSlider("表情補間フレ-ム", &i_hioParam->expression_morf_frame, - 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + 0.0f, 100.0f); ctx->genSlider("箱最小x ", &i_hioParam->box_min_x, - -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -1000.0f, 1000.0f); ctx->genSlider("箱最小y ", &i_hioParam->box_min_y, - -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -1000.0f, 1000.0f); ctx->genSlider("箱最小z ", &i_hioParam->box_min_z, - -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -1000.0f, 1000.0f); ctx->genSlider("箱最大x ", &i_hioParam->box_max_x, - -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -1000.0f, 1000.0f); ctx->genSlider("箱最大y ", &i_hioParam->box_max_y, - -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -1000.0f, 1000.0f); ctx->genSlider("箱最大z ", &i_hioParam->box_max_z, - -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -1000.0f, 1000.0f); ctx->genSlider("箱オフセット ", &i_hioParam->box_offset, - -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 512, 24); + -1000.0f, 1000.0f); } #endif diff --git a/src/d/actor/d_a_npc4.cpp b/src/d/actor/d_a_npc4.cpp index 5f7621d926..934f607a17 100644 --- a/src/d/actor/d_a_npc4.cpp +++ b/src/d/actor/d_a_npc4.cpp @@ -2026,25 +2026,25 @@ void daNpcF_commonListenPropertyEvent(char* param_1, int* param_2, daNpcF_HIOPar } void daNpcF_commonGenMessage(JORMContext* i_ctx, daNpcF_HIOParam* i_hio) { - i_ctx->genSlider("注目オフセット ", &i_hio->attention_offset, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("重力 ", &i_hio->gravity, -100.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("スケ−ル ", &i_hio->scale, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("リアル影サイズ ", &i_hio->real_shadow_size, 0.0f, 10000.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("体重 ", &i_hio->weight, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff,0x200, 0x18); - i_ctx->genSlider("高さ ", &i_hio->height, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff,0x200, 0x18); - i_ctx->genSlider("ひざ丈 ", &i_hio->knee_length, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff,0x200, 0x18); - i_ctx->genSlider("幅 ", &i_hio->width, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff,0x200, 0x18); - i_ctx->genSlider("腰のX角上限 ", &i_hio->body_angleX_max, -90.0f, 90.0f, 0, NULL, 0xffff,0xffff, 0x200, 0x18); - i_ctx->genSlider("腰のX角下限 ", &i_hio->body_angleX_min, -90.0f, 90.0f, 0, NULL, 0xffff,0xffff, 0x200, 0x18); - i_ctx->genSlider("腰のY角上限 ", &i_hio->body_angleY_max, -180.0, 179.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("腰のY角下限 ", &i_hio->body_angleY_min, -180.0, 179.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("頭のX角上限 ", &i_hio->head_angleX_max, -90.0f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("頭のX角下限 ", &i_hio->head_angleX_min, -90.0f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("頭のY角上限 ", &i_hio->head_angleY_max, -180.0f, 179.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("頭のY角下限 ", &i_hio->head_angleY_min, -180.0f, 179.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("首の回転比率 ", &i_hio->neck_rotation_ratio, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("補間フレ-ム ", &i_hio->morf_frame, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->startComboBox("会話距離 ", &i_hio->talk_distance, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + i_ctx->genSlider("注目オフセット ", &i_hio->attention_offset, 0.0f, 1000.0f); + i_ctx->genSlider("重力 ", &i_hio->gravity, -100.0f, 100.0f); + i_ctx->genSlider("スケ−ル ", &i_hio->scale, 0.0f, 100.0f); + i_ctx->genSlider("リアル影サイズ ", &i_hio->real_shadow_size, 0.0f, 10000.0); + i_ctx->genSlider("体重 ", &i_hio->weight, 0.0f, 255.0f); + i_ctx->genSlider("高さ ", &i_hio->height, 0.0f, 1000.0f); + i_ctx->genSlider("ひざ丈 ", &i_hio->knee_length, 0.0f, 1000.0f); + i_ctx->genSlider("幅 ", &i_hio->width, 0.0f, 1000.0f); + i_ctx->genSlider("腰のX角上限 ", &i_hio->body_angleX_max, -90.0f, 90.0f); + i_ctx->genSlider("腰のX角下限 ", &i_hio->body_angleX_min, -90.0f, 90.0f); + i_ctx->genSlider("腰のY角上限 ", &i_hio->body_angleY_max, -180.0, 179.0); + i_ctx->genSlider("腰のY角下限 ", &i_hio->body_angleY_min, -180.0, 179.0); + i_ctx->genSlider("頭のX角上限 ", &i_hio->head_angleX_max, -90.0f, 90.0f); + i_ctx->genSlider("頭のX角下限 ", &i_hio->head_angleX_min, -90.0f, 90.0f); + i_ctx->genSlider("頭のY角上限 ", &i_hio->head_angleY_max, -180.0f, 179.0f); + i_ctx->genSlider("頭のY角下限 ", &i_hio->head_angleY_min, -180.0f, 179.0f); + i_ctx->genSlider("首の回転比率 ", &i_hio->neck_rotation_ratio, 0.0f, 1.0f); + i_ctx->genSlider("補間フレ-ム ", &i_hio->morf_frame, 0.0f, 100.0f); + i_ctx->startComboBox("会話距離 ", &i_hio->talk_distance); i_ctx->genComboBoxItem(" 50", 0); i_ctx->genComboBoxItem(" 100", 1); i_ctx->genComboBoxItem(" 150", 2); @@ -2066,7 +2066,7 @@ void daNpcF_commonGenMessage(JORMContext* i_ctx, daNpcF_HIOParam* i_hio) { i_ctx->genComboBoxItem(" 950", 18); i_ctx->genComboBoxItem("1000", 19); i_ctx->endComboBox(); - i_ctx->startComboBox("会話角度 ", &i_hio->talk_angle, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + i_ctx->startComboBox("会話角度 ", &i_hio->talk_angle); i_ctx->genComboBoxItem(" 30", 0); i_ctx->genComboBoxItem(" 45", 1); i_ctx->genComboBoxItem(" 60", 2); @@ -2075,7 +2075,7 @@ void daNpcF_commonGenMessage(JORMContext* i_ctx, daNpcF_HIOParam* i_hio) { i_ctx->genComboBoxItem(" 135", 5); i_ctx->genComboBoxItem(" 180", 6); i_ctx->endComboBox(); - i_ctx->startComboBox("注目距離 ", &i_hio->attention_distance, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + i_ctx->startComboBox("注目距離 ", &i_hio->attention_distance); i_ctx->genComboBoxItem(" 50", 0); i_ctx->genComboBoxItem(" 100", 1); i_ctx->genComboBoxItem(" 150", 2); @@ -2097,7 +2097,7 @@ void daNpcF_commonGenMessage(JORMContext* i_ctx, daNpcF_HIOParam* i_hio) { i_ctx->genComboBoxItem(" 950", 18); i_ctx->genComboBoxItem("1000", 19); i_ctx->endComboBox(); - i_ctx->startComboBox("注目角度 ", &i_hio->attention_angle, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + i_ctx->startComboBox("注目角度 ", &i_hio->attention_angle); i_ctx->genComboBoxItem(" 30", 0); i_ctx->genComboBoxItem(" 45", 1); i_ctx->genComboBoxItem(" 60", 2); @@ -2106,17 +2106,17 @@ void daNpcF_commonGenMessage(JORMContext* i_ctx, daNpcF_HIOParam* i_hio) { i_ctx->genComboBoxItem(" 135", 5); i_ctx->genComboBoxItem(" 180", 6); i_ctx->endComboBox(); - i_ctx->genSlider("視界 ", &i_hio->fov, 0.0f, 180.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("サ-チ距離 ", &i_hio->search_distance, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("サ-チ高さ ", &i_hio->search_height, -10000.0,10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("サ-チ低さ ", &i_hio->search_depth, -10000.0,10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("注目時間 ", &i_hio->attention_time, 0, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("ダメ-ジ期間 ", &i_hio->damage_time, 0,10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("表情 ", &i_hio->face_expression, 0,10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("動作 ", &i_hio->motion, 0, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genSlider("注視モ-ド ", &i_hio->look_mode, 0, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genCheckBox("デバグモ-ドON", &i_hio->debug_mode_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - i_ctx->genCheckBox("デバグ情報ON ", &i_hio->debug_info_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + i_ctx->genSlider("視界 ", &i_hio->fov, 0.0f, 180.0f); + i_ctx->genSlider("サ-チ距離 ", &i_hio->search_distance, 0.0f, 10000.0f); + i_ctx->genSlider("サ-チ高さ ", &i_hio->search_height, -10000.0,10000.0f); + i_ctx->genSlider("サ-チ低さ ", &i_hio->search_depth, -10000.0,10000.0f); + i_ctx->genSlider("注目時間 ", &i_hio->attention_time, 0, 10000.0f); + i_ctx->genSlider("ダメ-ジ期間 ", &i_hio->damage_time, 0,10000.0f); + i_ctx->genSlider("表情 ", &i_hio->face_expression, 0,10000.0f); + i_ctx->genSlider("動作 ", &i_hio->motion, 0, 10000.0f); + i_ctx->genSlider("注視モ-ド ", &i_hio->look_mode, 0, 10000.0f); + i_ctx->genCheckBox("デバグモ-ドON", &i_hio->debug_mode_ON, 0x1); + i_ctx->genCheckBox("デバグ情報ON ", &i_hio->debug_info_ON, 0x1); } #endif diff --git a/src/d/actor/d_a_npc_aru.cpp b/src/d/actor/d_a_npc_aru.cpp index 3e126080bf..9ad1f1029a 100644 --- a/src/d/actor/d_a_npc_aru.cpp +++ b/src/d/actor/d_a_npc_aru.cpp @@ -14,6 +14,10 @@ #include "d/d_meter2_info.h" #include "d/actor/d_a_horse.h" #include "Z2AudioLib/Z2Instances.h" +#if DEBUG +#include "JSystem/JHostIO/JORFile.h" +#include "d/d_debug_viewer.h" +#endif enum Aru_RES_File_ID { /* BCK */ @@ -136,6 +140,109 @@ enum Type { /* 0x4 */ TYPE_4, }; +const daNpc_Aru_HIOParam daNpc_Aru_Param_c::m = { + 220.0f, + -3.0f, + 1.0f, + 600.0f, + 255.0f, + 210.0f, + 35.0f, + 40.0f, + 0.0f, + 0.0f, + 10.0f, + -10.0f, + 30.0f, + -10.0f, + 45.0f, + -45.0f, + 0.6f, + 12.0f, + 6, + 6, + 9, + 6, + 110.0f, + 0.0f, + 0.0f, + 0.0f, + 60, + 8, + 0, + 0, + 0, + 0, + 0, + 4.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 1500.0f, + 24.0f, + 4.0f, + 10, + 20, + 45.0f, +}; + +#if DEBUG +daNpc_Aru_HIO_c::daNpc_Aru_HIO_c() { + m = daNpc_Aru_Param_c::m; +} + +void daNpc_Aru_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { + char msg_buffer[2000]; + + JORReflexible::listenPropertyEvent(event); + + JORFile aJStack_910; + int len; + switch ((u32)event->id) { + case 0x40000002: + if (aJStack_910.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL) != 0) { + memset(msg_buffer, 0, 2000); + len = 0; + daNpcT_cmnListenPropertyEvent(msg_buffer, &len, &m.common); + sprintf(msg_buffer + len, "%.3ff,\t// 警戒範囲\n", m.warning_range); + len = strlen(msg_buffer); + sprintf(msg_buffer + len, "%.3ff,\t// 走る速度\n", m.run_speed); + len = strlen(msg_buffer); + sprintf(msg_buffer + len, "%.3ff,\t// 歩き速度\n", m.walk_speed); + len = strlen(msg_buffer); + sprintf(msg_buffer + len, "%d, \t// 旋回禁止時間\n", m.no_turn_time); + len = strlen(msg_buffer); + sprintf(msg_buffer + len, "%d, \t// 避け時間\n", m.avoid_time); + len = strlen(msg_buffer); + sprintf(msg_buffer + len, "%.3ff,\t// 前方視界\n", m.forward_visibility); + len = strlen(msg_buffer); + aJStack_910.writeData(msg_buffer, len); + aJStack_910.close(); + OS_REPORT("write append success!::%6d\n", len); + } else { + OS_REPORT("write append failure!\n"); + } + break; + } +} + +void daNpc_Aru_HIO_c::genMessage(JORMContext* ctx) { + daNpcT_cmnGenMessage(ctx, &m.common); + ctx->genSlider("警戒範囲 ", &m.warning_range, 0.0f, 10000.0f); + ctx->genSlider("走る速度 ", &m.run_speed, 0.0f, 10000.0f); + ctx->genSlider("歩く速度 ", &m.walk_speed, 0.0f, 10000.0f); + ctx->genSlider("旋回禁止時間 ", &m.no_turn_time, 0, 10000); + ctx->genSlider("避け時間 ", &m.avoid_time, 0, 10000); + ctx->genSlider("前方視界 ", &m.forward_visibility, 0.0f, 180.0f); + // export file: + ctx->genButton("ファイル書き出し", 0x40000002); +} +#endif + static int l_bmdData[1][2] = { {BMDR_ARU, ARU}, }; @@ -257,73 +364,11 @@ daNpc_Aru_c::cutFunc daNpc_Aru_c::mCutList[7] = { &daNpc_Aru_c::cutNoEntrance, }; -const daNpc_Aru_HIOParam daNpc_Aru_Param_c::m = { - 220.0f, - -3.0f, - 1.0f, - 600.0f, - 255.0f, - 210.0f, - 35.0f, - 40.0f, - 0.0f, - 0.0f, - 10.0f, - -10.0f, - 30.0f, - -10.0f, - 45.0f, - -45.0f, - 0.6f, - 12.0f, - 6, - 6, - 9, - 6, - 110.0f, - 0.0f, - 0.0f, - 0.0f, - 60, - 8, - 0, - 0, - 0, - 0, - 0, - 4.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 1500.0f, - 24.0f, - 4.0f, - 10, - 20, - 45.0f, -}; - static NPC_ARU_HIO_CLASS l_HIO; -#if DEBUG -daNpc_Aru_HIO_c::daNpc_Aru_HIO_c() { - m = daNpc_Aru_Param_c::m; -} - -void daNpc_Aru_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { - // NONMATCHING -} - -void daNpc_Aru_HIO_c::genMessage(JORMContext* ctx) { - // NONMATCHING -} -#endif - daNpc_Aru_c::~daNpc_Aru_c() { + // destruct + OS_REPORT("|%06d:%x|daNpc_Aru_c -> デストラクト\n", g_Counter.mCounter0, this); if (mpMorf[0] != NULL) { mpMorf[0]->stopZelAnime(); } @@ -337,7 +382,7 @@ daNpc_Aru_c::~daNpc_Aru_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_Aru_c::create() { +cPhs_Step daNpc_Aru_c::create() { daNpcT_ct(this, daNpc_Aru_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -345,9 +390,10 @@ cPhs__Step daNpc_Aru_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { - OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, (getPathID() >> 32) & 0xFF, fopAcM_GetParam(this)); + OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x<%08x> ", fopAcM_getProcNameString(this), + mType, mFlowNodeNo, getPathID(), fopAcM_GetParam(this)); if (isDelete()) { OS_REPORT("===>isDelete:TRUE\n"); @@ -365,6 +411,7 @@ cPhs__Step daNpc_Aru_c::create() { return cPhs_ERROR_e; } + J3DModelData* modelData = mpMorf[0]->getModel()->getModelData(); // unused fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -200.0f, -100.0f, -200.0f, 200.0f, 300.0f, 200.0f); @@ -406,17 +453,24 @@ cPhs__Step daNpc_Aru_c::create() { } int daNpc_Aru_c::CreateHeap() { - J3DModelData* mdlData_p = static_cast(dComIfG_getObjectRes(l_resNameList[l_bmdData[0][1]], l_bmdData[0][0])); + J3DModelData* mdlData_p = NULL; + J3DModel* model = NULL; + int bmdIdx = FALSE; + int res_name_idx = l_bmdData[bmdIdx][1]; + int my_bmd = l_bmdData[bmdIdx][0]; + mdlData_p = static_cast(dComIfG_getObjectRes(l_resNameList[res_name_idx], my_bmd)); if (mdlData_p == NULL) { return 1; } - mpMorf[0] = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, 0x11020284); + u32 sp_0x18 = 0x11020284; + mpMorf[0] = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, + sp_0x18); if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) { return 0; } - J3DModel* model = mpMorf[0]->getModel(); + model = mpMorf[0]->getModel(); for (u16 i = 0; i < mdlData_p->getJointNum(); i++) { mdlData_p->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); } @@ -435,6 +489,8 @@ int daNpc_Aru_c::CreateHeap() { } int daNpc_Aru_c::Delete() { + OS_REPORT("|%06d:%x|daNpc_Aru_c -> Delete\n", g_Counter.mCounter0, this); + fopAcM_RegisterDeleteID(this, "NPC_ARU"); this->~daNpc_Aru_c(); return 1; } @@ -449,25 +505,20 @@ int daNpc_Aru_c::Draw() { mdlData_p->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw( -#if DEBUG - chkAction(&daNpc_Aru_c::test), -#else - FALSE, -#endif - FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE - ); + return draw(NpcT_CHK_ACTION(daNpc_Aru_c), FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } -int daNpc_Aru_c::createHeapCallBack(fopAc_ac_c* a_this) { - return static_cast(a_this)->CreateHeap(); +int daNpc_Aru_c::createHeapCallBack(fopAc_ac_c* i_this) { + daNpc_Aru_c* a_this = static_cast(i_this); + return a_this->CreateHeap(); } int daNpc_Aru_c::ctrlJointCallBack(J3DJoint* i_joint, int param_2) { if (param_2 == 0) { - daNpc_Aru_c* i_this = (daNpc_Aru_c*)j3dSys.getModel()->getUserArea(); + J3DModel* model = j3dSys.getModel(); + daNpc_Aru_c* i_this = (daNpc_Aru_c*) model->getUserArea(); if (i_this != NULL) { - i_this->ctrlJoint(i_joint, j3dSys.getModel()); + i_this->ctrlJoint(i_joint, model); } } @@ -475,9 +526,10 @@ int daNpc_Aru_c::ctrlJointCallBack(J3DJoint* i_joint, int param_2) { } void* daNpc_Aru_c::srchCow(void* i_actor, void* i_data) { + fopAc_ac_c* data_p = (fopAc_ac_c*) i_data; if (mFindCount < 50) { - fopAc_ac_c* actor_p = (fopAc_ac_c*)i_actor; - if (actor_p != NULL && actor_p != i_data) { + fopAc_ac_c* actor_p = (fopAc_ac_c*) i_actor; + if (actor_p != NULL && actor_p != data_p) { if (fopAcM_IsExecuting(fopAcM_GetID(actor_p)) && fopAcM_GetName(actor_p) == PROC_COW && !((daCow_c*)actor_p)->isGuardFad()) { mFindActorPtrs[mFindCount] = actor_p; mFindCount++; @@ -489,10 +541,14 @@ void* daNpc_Aru_c::srchCow(void* i_actor, void* i_data) { } void* daNpc_Aru_c::srchUDoor(void* i_actor, void* i_data) { - if (mFindCount < 50 && i_actor != NULL && i_actor != i_data) { - if (fopAcM_IsExecuting(fopAcM_GetID(i_actor)) && fopAcM_GetName(i_actor) == PROC_OBJ_UDOOR) { - mFindActorPtrs[mFindCount] = (fopAc_ac_c*)i_actor; - mFindCount++; + fopAc_ac_c* data_p = (fopAc_ac_c*) i_data; + if (mFindCount < 50) { + fopAc_ac_c* actor_p = (fopAc_ac_c*) i_actor; + if (actor_p != NULL && actor_p != data_p) { + if (fopAcM_IsExecuting(fopAcM_GetID(actor_p)) && fopAcM_GetName(actor_p) == PROC_OBJ_UDOOR) { + mFindActorPtrs[mFindCount] = (fopAc_ac_c*) actor_p; + mFindCount++; + } } } @@ -500,17 +556,18 @@ void* daNpc_Aru_c::srchUDoor(void* i_actor, void* i_data) { } BOOL daNpc_Aru_c::chkThrust(fopAc_ac_c* actor_p) { - cM_atan2s(actor_p->speed.x, actor_p->speed.z); - fopAcM_searchActorAngleY(actor_p, this); + s16 reg_r27 = cM_atan2s(actor_p->speed.x, actor_p->speed.z); // unused + reg_r27 = reg_r27 - fopAcM_searchActorAngleY(actor_p, this); f32 actorDistance = fopAcM_searchActorDistance(this, actor_p); if (actor_p != NULL) { if (cM3d_IsZero(actor_p->speedF) <= 0 && (cM3d_IsZero(actor_p->speed.x) <= 0 || cM3d_IsZero(actor_p->speed.z) <= 0)) { f32 fVar2 = fopAcM_searchActorDistance(this, actor_p); - s16 sVar1 = cM_atan2s(actor_p->speed.x, actor_p->speed.z) - fopAcM_searchActorAngleY(actor_p, this); + s16 reg_r28 = cM_atan2s(actor_p->speed.x, actor_p->speed.z); + reg_r28 = reg_r28 - fopAcM_searchActorAngleY(actor_p, this); if (fVar2 < mpHIO->m.warning_range) { - if (abs(sVar1) < cM_deg2s(35.0f)) { + if (abs(reg_r28) < cM_deg2s(35.0f)) { return TRUE; } } @@ -525,6 +582,7 @@ BOOL daNpc_Aru_c::chkThrust(fopAc_ac_c* actor_p) { } fopAc_ac_c* daNpc_Aru_c::getCowP(int param_1) { + int i = 0; mFindCount = 0; if (daPy_py_c::checkNowWolf()) { @@ -550,7 +608,7 @@ fopAc_ac_c* daNpc_Aru_c::getCowP(int param_1) { return NULL; } - for (int i = 0; i < mFindCount; i++) { + for (i = 0; i < mFindCount; i++) { if (chkThrust(mFindActorPtrs[i])) { return mFindActorPtrs[i]; } @@ -594,13 +652,14 @@ fopAc_ac_c* daNpc_Aru_c::getUDoor_r_P() { } u8 daNpc_Aru_c::getType() { - switch (fopAcM_GetParam(this) & 0xFF) { + u8 prm = fopAcM_GetParam(this); + switch (prm & 0xFF) { case 0: return 0; case 1: return 1; - + case 2: return 2; @@ -778,6 +837,17 @@ BOOL daNpc_Aru_c::checkChangeEvt() { return TRUE; } + +#if DEBUG + switch (mType) { + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } +#endif } return FALSE; @@ -790,7 +860,7 @@ void daNpc_Aru_c::setAfterTalkMotion() { case FACE_NORMAL: i_index = FACE_H_NORMAL; break; - + case FACE_GRUMPY: i_index = FACE_H_GRUMPY; break; @@ -899,7 +969,8 @@ BOOL daNpc_Aru_c::evtCutProc() { } void daNpc_Aru_c::action() { - fopAc_ac_c* actor_p = hitChk(&mCyl, 0xFFFFFFFF); + fopAc_ac_c* actor_p = NULL; + actor_p = hitChk(&mCyl, 0xFFFFFFFF); if (actor_p != NULL && mCyl.GetTgHitObj()->ChkAtType(AT_TYPE_THROW_OBJ)) { mStagger.setParam(this, actor_p, mCurAngle.y); @@ -964,13 +1035,14 @@ void daNpc_Aru_c::setAttnPos() { static cXyz prtclScl(1.0f, 1.0f, 1.0f); setFootPos(); - setFootPrtcl(&prtclScl, 0.0f, 0.0f); + setFootPrtcl(&prtclScl, MREG_F(19), 0.0f); } void daNpc_Aru_c::setCollision() { cXyz pos; if (!mHide) { + u32 co_sprm = 0x79; u32 tgType = 0xD8FBFDFF; u32 tgSPrm = 0x1F; @@ -982,7 +1054,7 @@ void daNpc_Aru_c::setCollision() { tgSPrm = 0; } - mCyl.SetCoSPrm(0x79); + mCyl.SetCoSPrm(co_sprm); mCyl.SetTgType(tgType); mCyl.SetTgSPrm(tgSPrm); mCyl.OnTgNoHitMark(); @@ -1005,11 +1077,37 @@ void daNpc_Aru_c::setCollision() { } int daNpc_Aru_c::drawDbgInfo() { - return 0; +#if DEBUG + if (mpHIO->m.common.debug_info_ON) { + f32 dist_max_speak = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_SPEAK_e]).mDistMax; + f32 dist_max_talk = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_TALK_e]).mDistMax; + dDbVw_drawCircleOpa(attention_info.position, dist_max_speak, (GXColor){0x00, 0xC8, 0x00, 0xFF}, 1, 12); + dDbVw_drawCircleOpa(attention_info.position, dist_max_talk, (GXColor){0xC8, 0x00, 0x00, 0xFF}, 1, 12); + dDbVw_drawSphereXlu(eyePos, 18.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + dDbVw_drawSphereXlu(attention_info.position, 9.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + cXyz vec_0x2c = mFootLPos; + cXyz vec_0x20 = vec_0x2c; + vec_0x20.y -= MREG_F(19); + dDbVw_drawLineOpa(vec_0x2c, vec_0x20, (GXColor){0x80, 0x80, 0x00, 0xA0}, 1, 12); + vec_0x2c = mFootRPos; + vec_0x20 = vec_0x2c; + vec_0x20.y -= MREG_F(19); + dDbVw_drawLineOpa(vec_0x2c, vec_0x20, (GXColor){0x80, 0x80, 0x00, 0xA0}, 1, 12); + return TRUE; + } +#endif + + return FALSE; } BOOL daNpc_Aru_c::selectAction() { mNextAction = NULL; +#if DEBUG + if (mpHIO->m.common.debug_mode_ON) { + mNextAction = &daNpc_Aru_c::test; + return 1; + } +#endif switch (mType) { case TYPE_0: @@ -1025,7 +1123,7 @@ BOOL daNpc_Aru_c::selectAction() { mNextAction = &daNpc_Aru_c::wait; break; - + case TYPE_2: if (chkBullRunningStage()) { mNextAction = &daNpc_Aru_c::bullRunning; @@ -1078,35 +1176,27 @@ BOOL daNpc_Aru_c::setAction(actionFunc action) { } BOOL daNpc_Aru_c::chkBullRunningStage() { - BOOL rv; - if (strcmp(dComIfGp_getStartStageName(), "F_SP00") == 0) { - rv = dComIfG_play_c::getLayerNo(0) == 4 || dComIfG_play_c::getLayerNo(0) == 5; + return dComIfG_play_c::getLayerNo(0) == 4 || dComIfG_play_c::getLayerNo(0) == 5; } else { - rv = FALSE; + return FALSE; } - - return rv; } BOOL daNpc_Aru_c::chkSkipFenceStage() { - BOOL rv; - if (strcmp(dComIfGp_getStartStageName(), "F_SP00") == 0) { - rv = dComIfG_play_c::getLayerNo(0) == 6 || dComIfG_play_c::getLayerNo(0) == 7; + return dComIfG_play_c::getLayerNo(0) == 6 || dComIfG_play_c::getLayerNo(0) == 7; } else { - rv = FALSE; + return FALSE; } - - return rv; } s16 daNpc_Aru_c::srchActorDirection(fopAc_ac_c* actor_p) { - s16 rv; s16 sVar1 = fopAcM_searchActorAngleY(this, actor_p) - mCurAngle.y; s16 sVar2 = abs(sVar1); s16 sVar3 = cM_deg2s(mpHIO->m.forward_visibility); - + s16 rv = 0; + if (sVar2 < sVar3) { if (sVar1 > 0) { rv = 7; @@ -1132,23 +1222,24 @@ void daNpc_Aru_c::adjustMoveDir() { cM3dGPla planes[3]; cXyz sp84, sp90, sp9c; s16 sVar1[3] = {0, -0x2000, 0x2000}; - bool bVar1[3]; + u8 bVar1[3]; f32 fVar1[3]; s16 sVar3[3]; sp84 = current.pos; sp84.y += mpHIO->m.common.knee_length; + f32 reg_f31 = 400.0f; for (int i = 0; i < 3; i++) { bVar1[i] = 0; sp90 = sp84; if (i != 0) { - sp90.x += cM_ssin(mCurAngle.y + sVar1[i]) * 280.0f; - sp90.z += cM_scos(mCurAngle.y + sVar1[i]) * 280.0f; + sp90.x += 0.7f * reg_f31 * cM_ssin(mCurAngle.y + sVar1[i]); + sp90.z += 0.7f * reg_f31 * cM_scos(mCurAngle.y + sVar1[i]); } else { - sp90.x += cM_ssin(mCurAngle.y + sVar1[i]) * 400.0f; - sp90.z += cM_scos(mCurAngle.y + sVar1[i]) * 400.0f; + sp90.x += cM_ssin(mCurAngle.y + sVar1[i]) * reg_f31; + sp90.z += cM_scos(mCurAngle.y + sVar1[i]) * reg_f31; } mLinChk.Set(&sp84, &sp90, this); @@ -1156,9 +1247,7 @@ void daNpc_Aru_c::adjustMoveDir() { if (dComIfG_Bgsp().LineCross(&mLinChk)) { bVar1[i] = dComIfG_Bgsp().GetTriPla(mLinChk, &planes[i]); f32 fVar2 = cM_ssin(0x6000); - f32 fVar3 = std::abs(planes[i].mNormal.y); - - if (fVar3 <= fVar2) { + if (std::abs(planes[i].mNormal.y) <= fVar2) { sp9c = current.pos - mLinChk.GetCross(); fVar1[i] = sp9c.absXZ(); sVar3[i] = cM_atan2s(planes[i].mNormal.x, planes[i].mNormal.z); @@ -1225,7 +1314,7 @@ void daNpc_Aru_c::adjustMoveDir() { field_0xfca = 6; mTimer = mpHIO->m.no_turn_time; break; - + case 2: field_0xfca = 7; break; @@ -1263,11 +1352,11 @@ void daNpc_Aru_c::adjustMoveDir() { case 7: field_0xfca = 2; break; - + case 1: field_0xfca = 6; break; - + case 6: field_0xfca = 1; break; @@ -1284,8 +1373,9 @@ void daNpc_Aru_c::adjustMoveDir() { } int daNpc_Aru_c::duck(int param_1) { - fopAc_ac_c* cow_p; + fopAc_ac_c* cow_p = NULL; int iVar1 = mpHIO->m.avoid_time; + int weight = 37; cow_p = getCowP(param_1); if (cow_p != NULL) { @@ -1304,7 +1394,7 @@ int daNpc_Aru_c::duck(int param_1) { if (cLib_calcTimer(&field_0xfc4) != 0) { cow_p = mActorMngrs[2].getActorP(); if (cow_p != NULL) { - mActorDirection = srchActorDirection(cow_p); + mActorDirection = (s16) srchActorDirection(cow_p); } adjustMoveDir(); @@ -1312,19 +1402,19 @@ int daNpc_Aru_c::duck(int param_1) { switch (field_0xfca) { case 1: - sVar1 -= 0x1000; + sVar1 -= (s16) 0x1000; break; case 7: - sVar1 += 0x1000; + sVar1 += (s16) 0x1000; break; - + case 2: - sVar1 -= 0x4000; + sVar1 -= (s16) 0x4000; break; - + case 6: - sVar1 += 0x4000; + sVar1 += (s16) 0x4000; break; } @@ -1339,7 +1429,7 @@ int daNpc_Aru_c::duck(int param_1) { speedF *= 0.85f; } - mCcStts.SetWeight(37); + mCcStts.SetWeight(weight); return 1; } @@ -1352,6 +1442,7 @@ int daNpc_Aru_c::duck(int param_1) { } int daNpc_Aru_c::lookround(s16 param_1) { + s16 reg_30, reg_29; if (field_0xfd1) { cLib_addCalcAngleS2(¤t.angle.y, param_1, MREG_S(0) + 4, MREG_S(1) + 0x800); shape_angle.y = current.angle.y; @@ -1360,15 +1451,21 @@ int daNpc_Aru_c::lookround(s16 param_1) { if (mMotionSeqMngr.getNo() != MOT_STEP_R) { mMotionSeqMngr.setNo(MOT_STEP_R, -1.0f, FALSE, 0); } else if (mMotionSeqMngr.checkEndSequence()) { - if (cM_deg2s(4.0f) >= (s16)abs((s16)(param_1 - mCurAngle.y))) { + reg_30 = param_1 - mCurAngle.y; + reg_29 = abs(reg_30); + if (reg_29 <= cM_deg2s(4.0f)) { mMotionSeqMngr.setNo(MOT_WAIT_A, -1.0f, FALSE, 0); field_0xfd1 = false; } else { mMotionSeqMngr.setNo(MOT_STEP_R, 0.0f, TRUE, 0); } } - } else if (cM_deg2s(90.0f) < (s16)abs((s16)(param_1 - mCurAngle.y))) { - field_0xfd1 = true; + } else { + reg_30 = param_1 - mCurAngle.y; + reg_29 = abs(reg_30); + if (cM_deg2s(90.0f) < reg_29) { + field_0xfd1 = true; + } } return 1; @@ -1376,8 +1473,9 @@ int daNpc_Aru_c::lookround(s16 param_1) { int daNpc_Aru_c::cutRideOnHorse(int i_staffID) { int rv = 0; + int* piVar1 = NULL; int prm = -1; - int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); if (piVar1 != NULL) { prm = *piVar1; } @@ -1387,7 +1485,7 @@ int daNpc_Aru_c::cutRideOnHorse(int i_staffID) { case 0: initTalk(mFlowNodeNo, NULL); break; - + case 1: mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); mMotionSeqMngr.setNo(MOT_WAIT_A, -1.0f, FALSE, 0); @@ -1418,8 +1516,9 @@ int daNpc_Aru_c::cutRideOnHorse(int i_staffID) { int daNpc_Aru_c::cutGotoBullRunningStage(int i_staffID) { int rv = 0; + int* piVar1 = NULL; int prm = -1; - int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); if (piVar1 != NULL) { prm = *piVar1; } @@ -1433,7 +1532,7 @@ int daNpc_Aru_c::cutGotoBullRunningStage(int i_staffID) { mStepMode = 0; } break; - + case 1: mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); mMotionSeqMngr.setNo(MOT_WAIT_A, -1.0f, FALSE, 0); @@ -1461,8 +1560,9 @@ int daNpc_Aru_c::cutGotoBullRunningStage(int i_staffID) { int daNpc_Aru_c::cutEndBullRunning(int i_staffID) { int rv = 0; + int* piVar1 = NULL; int prm = -1; - int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); if (piVar1 != NULL) { prm = *piVar1; } @@ -1475,7 +1575,7 @@ int daNpc_Aru_c::cutEndBullRunning(int i_staffID) { case 1: mDoAud_subBgmStop(); break; - + case 2: if (daNpcT_chkTmpBit(181)) { // dSv_event_tmp_flag_c::T_0181 - Ordon Ranch - Started Goat herding Ⅱ daNpcT_onTmpBit(182); // dSv_event_tmp_flag_c::T_0182 - Ordon Ranch - Finished Goat herding Ⅱ @@ -1510,14 +1610,18 @@ int daNpc_Aru_c::cutEndBullRunning(int i_staffID) { break; case 1: - if (dComIfG_getTimerPtr() != NULL && dComIfG_getTimerMode() == 2 && !dComIfG_TimerDeleteCheck(2)) { - dComIfG_TimerDeleteRequest(2); + if (dComIfG_getTimerPtr() != NULL && dComIfG_getTimerMode() == 2) { + if (!dComIfG_TimerDeleteCheck(2)) { + dComIfG_TimerDeleteRequest(2); + } + } else { + rv = 1; // useless statement, as rv set to 1 below } action(); rv = 1; break; - + case 2: action(); rv = 1; @@ -1551,8 +1655,9 @@ int daNpc_Aru_c::cutEndBullRunning(int i_staffID) { int daNpc_Aru_c::cutGotoSkipFenceStage(int i_staffID) { int rv = 0; + int* piVar1 = NULL; int prm = -1; - int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); if (piVar1 != NULL) { prm = *piVar1; } @@ -1561,7 +1666,7 @@ int daNpc_Aru_c::cutGotoSkipFenceStage(int i_staffID) { switch (prm) { case 0: break; - + case 1: mDoAud_subBgmStop(); break; @@ -1573,7 +1678,7 @@ int daNpc_Aru_c::cutGotoSkipFenceStage(int i_staffID) { action(); rv = 1; break; - + case 1: if (dComIfG_getTimerPtr() != NULL && dComIfG_getTimerMode() == 2) { if (!dComIfG_TimerDeleteCheck(2)) { @@ -1592,8 +1697,9 @@ int daNpc_Aru_c::cutGotoSkipFenceStage(int i_staffID) { int daNpc_Aru_c::cutSpeakTo(int i_staffID) { int rv = 0; + int* piVar1 = NULL; int prm = -1; - int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); if (piVar1 != NULL) { prm = *piVar1; } @@ -1667,11 +1773,13 @@ int daNpc_Aru_c::cutSpeakTo(int i_staffID) { } int daNpc_Aru_c::cutNoEntrance(int i_staffID) { + fopAc_ac_c* actor_p = NULL; cXyz work; csXyz angle; int rv = 0; + int* piVar1 = NULL; int prm = -1; - int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); if (piVar1 != NULL) { prm = *piVar1; } @@ -1679,7 +1787,7 @@ int daNpc_Aru_c::cutNoEntrance(int i_staffID) { if (dComIfGp_getEventManager().getIsAddvance(i_staffID)) { switch (prm) { case 0: { - fopAc_ac_c* actor_p = mActorMngrs[3].getActorP(); + actor_p = mActorMngrs[3].getActorP(); JUT_ASSERT(3279, NULL != actor_p); @@ -1710,7 +1818,7 @@ int daNpc_Aru_c::cutNoEntrance(int i_staffID) { setAngle(cLib_targetAngleY(¤t.pos, &work)); break; } - + case 1: initTalk(54, NULL); break; @@ -1721,7 +1829,7 @@ int daNpc_Aru_c::cutNoEntrance(int i_staffID) { case 0: rv = 1; break; - + case 1: if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { rv = 1; @@ -1732,15 +1840,22 @@ int daNpc_Aru_c::cutNoEntrance(int i_staffID) { return rv; } -int daNpc_Aru_c::wait(void* param_1) { - fopAc_ac_c* actor_p; +int daNpc_Aru_c::wait(void*) { + fopAc_ac_c* actor_p = NULL; + int reg_29 = 0; // used but not set switch (mMode) { case MODE_ENTER: case MODE_INIT: if (!mStagger.checkStagger()) { - mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); - mMotionSeqMngr.setNo(MOT_WAIT_A, -1.0f, FALSE, 0); + if (mType == TYPE_1 && reg_29 > 0) { + // cannot enter here + mFaceMotionSeqMngr.setNo(FACE_H_WORRY, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOT_TALK_D, -1.0f, FALSE, 0); + } else { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOT_WAIT_A, -1.0f, FALSE, 0); + } field_0xfd1 = false; mMode = MODE_RUN; } @@ -1758,7 +1873,7 @@ int daNpc_Aru_c::wait(void* param_1) { } } break; - + case TYPE_2: if (field_0xfcf) { mSpeakEvent = true; @@ -1813,8 +1928,8 @@ int daNpc_Aru_c::wait(void* param_1) { if (checkStep()) { mStepMode = 0; } - } else if (mType == TYPE_0 || mType == TYPE_2 && - daNpcT_chkTmpBit(182)) { // dSv_event_tmp_flag_c::T_0182 - Ordon Ranch - Finished Goat herding Ⅱ + } else if (mType == TYPE_0 || (mType == TYPE_2 && daNpcT_chkTmpBit(182))) { + // dSv_event_tmp_flag_c::T_0182 - Ordon Ranch - Finished Goat herding Ⅱ mJntAnm.lookPlayer(0); lookround(fopAcM_searchPlayerAngleY(this)); } else { @@ -1822,8 +1937,7 @@ int daNpc_Aru_c::wait(void* param_1) { mPlayerActorMngr.remove(); } - fopAc_ac_c* actor_p = mPlayerActorMngr.getActorP(); - if (actor_p != NULL) { + if (mPlayerActorMngr.getActorP() != NULL) { mJntAnm.lookPlayer(0); if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) { mJntAnm.lookNone(0); @@ -1851,7 +1965,10 @@ int daNpc_Aru_c::wait(void* param_1) { } } - mJntAnm.getMode(); + switch (mJntAnm.getMode()) { + case 0: + break; + } } } break; @@ -1863,7 +1980,8 @@ int daNpc_Aru_c::wait(void* param_1) { return 1; } -int daNpc_Aru_c::bullRunning(void* param_1) { +int daNpc_Aru_c::bullRunning(void*) { + int reg_r30 = 0; // unused switch (mMode) { case MODE_ENTER: case MODE_INIT: @@ -1875,7 +1993,7 @@ int daNpc_Aru_c::bullRunning(void* param_1) { } // fallthrough case MODE_RUN: - if (dMeter2Info_getNowCount() == (u32)dMeter2Info_getMaxCount() && field_0xfd3) { + if (dMeter2Info_getNowCount() == dMeter2Info_getMaxCount() && field_0xfd3) { mDoAud_subBgmStart(Z2BGM_MINIGAME_WIN01); if (dComIfG_getTimerPtr() != NULL) { @@ -1967,13 +2085,14 @@ int daNpc_Aru_c::skipFence(void* param_1) { return 1; } -int daNpc_Aru_c::talk(void* param_1) { +int daNpc_Aru_c::talk(void*) { + daHorse_c* horse_p = NULL; switch (mMode) { case MODE_ENTER: case MODE_INIT: if (!mStagger.checkStagger()) { daNpcT_offTmpBit(90); // dSv_event_tmp_flag_c::T_0090 - Ordon Ranch - Epona is at the range (used in goat herding game) - daHorse_c* horse_p = dComIfGp_getHorseActor(); + horse_p = dComIfGp_getHorseActor(); if (horse_p != NULL && !horse_p->checkHorseCallWait()) { daNpcT_onTmpBit(90); // dSv_event_tmp_flag_c::T_0090 - Ordon Ranch - Epona is at the range (used in goat herding game) } diff --git a/src/d/actor/d_a_npc_ash.cpp b/src/d/actor/d_a_npc_ash.cpp index 6cbd2c6a46..5f285ace08 100644 --- a/src/d/actor/d_a_npc_ash.cpp +++ b/src/d/actor/d_a_npc_ash.cpp @@ -218,8 +218,8 @@ daNpcAsh_c::~daNpcAsh_c() { } } -cPhs__Step daNpcAsh_c::Create() { - cPhs__Step step; +cPhs_Step daNpcAsh_c::Create() { + cPhs_Step step; fopAcM_ct(this, daNpcAsh_c); @@ -249,7 +249,7 @@ cPhs__Step daNpcAsh_c::Create() { u32 i = 0; int arcIndex; while (arcIndex = l_loadRes_list[mType][i], arcIndex >= 0) { - step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_arcNames[arcIndex]); + step = dComIfG_resLoad(&mPhase[i], l_arcNames[arcIndex]); if (step != cPhs_COMPLEATE_e) { return step; } @@ -1195,7 +1195,7 @@ BOOL daNpcAsh_c::EvCut_WiretapEntrant(int i_staffID) { return true; } -static cPhs__Step daNpcAsh_Create(void* i_this) { +static cPhs_Step daNpcAsh_Create(void* i_this) { return static_cast(i_this)->Create(); } diff --git a/src/d/actor/d_a_npc_ashB.cpp b/src/d/actor/d_a_npc_ashB.cpp index 0a61d67882..237c93aa58 100644 --- a/src/d/actor/d_a_npc_ashB.cpp +++ b/src/d/actor/d_a_npc_ashB.cpp @@ -87,7 +87,7 @@ daNpcAshB_HIO_c::daNpcAshB_HIO_c() { void daNpcAshB_HIO_c::genMessage(JORMContext* ctext) { // Post-conversation follow-up distance - ctext->genSlider("会話後追従距離", &m.field_0x6c, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("会話後追従距離", &m.field_0x6c, 0.0f, 2000.0f); daNpcF_commonGenMessage(ctext, &m.common); } #endif @@ -115,8 +115,8 @@ daNpcAshB_c::~daNpcAshB_c() { #endif } -cPhs__Step daNpcAshB_c::Create() { - cPhs__Step step; +cPhs_Step daNpcAshB_c::Create() { + cPhs_Step step; fopAcM_ct(this, daNpcAshB_c); @@ -132,7 +132,7 @@ cPhs__Step daNpcAshB_c::Create() { step = cPhs_ERROR_e; for (int i = 0; i < 1; i++) { - step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_arcNames[i]); + step = dComIfG_resLoad(&mPhase[i], l_arcNames[i]); if (step != cPhs_COMPLEATE_e) { return step; } @@ -1066,7 +1066,7 @@ BOOL daNpcAshB_c::EvCut_Appear(int i_staffID) { return FALSE; } -static cPhs__Step daNpcAshB_Create(void* i_this) { +static cPhs_Step daNpcAshB_Create(void* i_this) { return static_cast(i_this)->Create(); } @@ -1089,10 +1089,10 @@ static bool daNpcAshB_IsDelete(void* param_0) { void daNpcAshB_c::setParam() { attention_info.flags = daPy_py_c::checkNowWolf() ? 0 : (fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e); - attention_info.distances[0] = + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(mpHIO->m.common.attention_distance, mpHIO->m.common.attention_angle); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(mpHIO->m.common.talk_distance, mpHIO->m.common.talk_angle); } diff --git a/src/d/actor/d_a_npc_bans.cpp b/src/d/actor/d_a_npc_bans.cpp index b083ecdcbc..8bb1ec6260 100644 --- a/src/d/actor/d_a_npc_bans.cpp +++ b/src/d/actor/d_a_npc_bans.cpp @@ -137,6 +137,51 @@ enum Type { /* 0x5 */ TYPE_DEFAULT, }; +daNpc_Bans_HIOParam const daNpc_Bans_Param_c::m = { + 200.0f, + -3.0f, + 1.0f, + 400.0f, + 255.0f, + 190.0f, + 35.0f, + 30.0f, + 0.0f, + 0.0f, + 10.0f, + -10.0f, + 30.0f, + -10.0f, + 45.0f, + -45.0f, + 0.6f, + 12.0f, + 3, + 6, + 5, + 6, + 110.0f, + 0.0f, + 0.0f, + 0.0f, + 60, + 8, + 0, + 0, + 0, + false, + false, + 4.0f, + -20.0f, + 0.0f, + -20.0f, + 20.0f, + 40.0f, + 20.0f, + 110.0f, + 10.0f, +}; + #if DEBUG daNpc_Bans_HIO_c::daNpc_Bans_HIO_c() { m = daNpc_Bans_Param_c::m; @@ -150,7 +195,7 @@ void daNpc_Bans_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { switch ((u32)event->id) { case 0x40000002: - if (jorFile.open(6, "", NULL, NULL, NULL)) { + if (jorFile.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL)) { memset(buffer, 0, sizeof(buffer)); len = 0; daNpcT_cmnListenPropertyEvent(buffer, &len, &m.common); @@ -168,8 +213,8 @@ void daNpc_Bans_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_Bans_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); - ctx->genSlider("走り速度 ", &m.run_spd, 0.0f, 32.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("走り速度 ", &m.run_spd, 0.0f, 32.0f); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -325,54 +370,9 @@ daNpc_Bans_c::~daNpc_Bans_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -daNpc_Bans_HIOParam const daNpc_Bans_Param_c::m = { - 200.0f, - -3.0f, - 1.0f, - 400.0f, - 255.0f, - 190.0f, - 35.0f, - 30.0f, - 0.0f, - 0.0f, - 10.0f, - -10.0f, - 30.0f, - -10.0f, - 45.0f, - -45.0f, - 0.6f, - 12.0f, - 3, - 6, - 5, - 6, - 110.0f, - 0.0f, - 0.0f, - 0.0f, - 60, - 8, - 0, - 0, - 0, - false, - false, - 4.0f, - -20.0f, - 0.0f, - -20.0f, - 20.0f, - 40.0f, - 20.0f, - 110.0f, - 10.0f, -}; - static NPC_BANS_HIO_CLASS l_HIO; -cPhs__Step daNpc_Bans_c::create() { +cPhs_Step daNpc_Bans_c::create() { daNpcT_ct(this, daNpc_Bans_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -380,7 +380,7 @@ cPhs__Step daNpc_Bans_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = dKy_darkworld_check(); - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x, MaxItem:%d, group:%d<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, getPathID(), getMaxNumItem(), getGroupId(), fopAcM_GetParam(this)); @@ -439,13 +439,11 @@ cPhs__Step daNpc_Bans_c::create() { } int daNpc_Bans_c::CreateHeap() { - J3DModelData* modelData; - int bmdIdx; - int resIdx; - u32 idx = 0; - idx = mTwilight == true ? TRUE : FALSE; - resIdx = l_bmdData[idx][1]; - bmdIdx = l_bmdData[idx][0]; + J3DModelData* modelData = NULL; + J3DModel* model = NULL; + u32 idx = mTwilight == true ? TRUE : FALSE; + int resIdx = l_bmdData[idx][1]; + int bmdIdx = l_bmdData[idx][0]; modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[resIdx], bmdIdx); if (modelData == NULL) { return 0; @@ -457,7 +455,7 @@ int daNpc_Bans_c::CreateHeap() { return 0; } - J3DModel* model = mpMorf[0]->getModel(); + model = mpMorf[0]->getModel(); for (u16 i = 0; i < modelData->getJointNum(); i++) { modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); } @@ -477,8 +475,8 @@ int daNpc_Bans_c::CreateHeap() { return 1; } - u32 uVar3 = 0x11000084; - mpScoopMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, NULL, J3DMdlFlag_DifferedDLBuffer, uVar3); + uVar2 = 0x11000084; + mpScoopMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, NULL, J3DMdlFlag_DifferedDLBuffer, uVar2); if (mpScoopMorf == NULL || mpScoopMorf->getModel() == NULL) { return 0; } @@ -517,7 +515,7 @@ int daNpc_Bans_c::CreateHeap() { int daNpc_Bans_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Bans_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_BANS"); this->~daNpc_Bans_c(); return 1; } @@ -547,11 +545,7 @@ int daNpc_Bans_c::Draw() { modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - #if DEBUG - return draw(chkAction(&daNpc_Bans_c::test), !(mTwilight & 0xFF), mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); - #else - return draw(FALSE, !(mTwilight & 0xFF), mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); - #endif + return draw(NpcT_CHK_ACTION(daNpc_Bans_c), !(mTwilight & 0xFF), mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } int daNpc_Bans_c::createHeapCallBack(fopAc_ac_c* a_this) { @@ -1123,10 +1117,10 @@ bool daNpc_Bans_c::setScoopAnm(int i_idx, int i_attr, f32 i_morf) { }; J3DAnmTransform* anm = NULL; - + int my_idx = i_idx; if (mpScoopMorf != NULL) { - if (scoopAnmData[i_idx][0] > 0) { - anm = getTrnsfrmKeyAnmP(l_resNameList[scoopAnmData[i_idx][1]], scoopAnmData[i_idx][0]); + if (scoopAnmData[my_idx][0] > 0) { + anm = getTrnsfrmKeyAnmP(l_resNameList[scoopAnmData[my_idx][1]], scoopAnmData[my_idx][0]); } if (anm != NULL) { @@ -1137,12 +1131,9 @@ bool daNpc_Bans_c::setScoopAnm(int i_idx, int i_attr, f32 i_morf) { return 1; } -bool daNpc_Bans_c::afterSetMotionAnm(int i_idx, int i_attr, f32 i_morf, int param_4) { - if (mCreating == true) { - i_morf = 0.0f; - } - - return setScoopAnm(i_idx, i_attr, i_morf); +bool daNpc_Bans_c::afterSetMotionAnm(int i_idx, int i_attr, f32 i_morf, int) { + f32 morf_val = (mCreating == true) ? 0.0f : i_morf; + return setScoopAnm(i_idx, i_attr, morf_val); } BOOL daNpc_Bans_c::selectAction() { @@ -1188,43 +1179,35 @@ BOOL daNpc_Bans_c::setAction(actionFunc action) { } BOOL daNpc_Bans_c::checkPlayerIn2ndFloorOfBombShop() { - bool rv = false; - return strcmp("R_SP109", dComIfGp_getStartStageName()) == 0 && dComIfGp_roomControl_getStayNo() == 1 && 300.0f < fabsf(daPy_getPlayerActorClass()->current.pos.y - current.pos.y); } void daNpc_Bans_c::orderAngerEvt() { + daTag_EvtArea_c* actor = NULL; daPy_py_c* player = daPy_getPlayerActorClass(); if (player->checkUseKandelaar(0) && player->getKandelaarFlamePos() != NULL) { mEvtNo = EVT_ANGER; for (int i = 0; i < 2; i++) { - daTag_EvtArea_c* actor = (daTag_EvtArea_c*)mActorMngrs[i + 5].getActorP(); - bool bVar1 = false; - bool bVar2 = false; - - if (actor != NULL) { - cXyz& pos(player->current.pos); - bVar1 = true; - if (actor->chkPointInArea(pos)) { - mEvtNo = EVT_ANGER_NEAR; - break; - } + actor = (daTag_EvtArea_c*)mActorMngrs[i + 5].getActorP(); + if (actor != NULL && actor->chkPointInArea(player->current.pos)) { + mEvtNo = EVT_ANGER_NEAR; + break; } } } } fopAc_ac_c* daNpc_Bans_c::getKMsgTagP() { - f32 fVar1 = 1000000000.0f; + int reg_r29 = 0; // unused + f32 fVar1 = G_CM3D_F_INF; mFindCount = 0; mSrchName = PROC_TAG_KMSG; fopAcM_Search(srchActor, this); - int i = 0; - for (; i < mFindCount; i++) { + for (int i = 0; i < mFindCount; i++) { if (((daTag_KMsg_c*)mFindActorPtrs[i])->getType() == 1) { return mFindActorPtrs[i]; } @@ -1489,7 +1472,7 @@ int daNpc_Bans_c::cutPurchase(int i_staffId) { return rv; } -int daNpc_Bans_c::wait(void* param_1) { +int daNpc_Bans_c::wait(void*) { daNpc_Len_c* actor_p = NULL; switch (mMode) { @@ -1603,7 +1586,7 @@ int daNpc_Bans_c::wait(void* param_1) { return 1; } -int daNpc_Bans_c::tend(void* param_1) { +int daNpc_Bans_c::tend(void*) { fopAc_ac_c* actor_p = NULL; switch (mMode) { @@ -1735,7 +1718,7 @@ int daNpc_Bans_c::tend(void* param_1) { return 1; } -int daNpc_Bans_c::talk(void* param_1) { +int daNpc_Bans_c::talk(void*) { switch (mMode) { case 0: case 1: @@ -1783,7 +1766,7 @@ int daNpc_Bans_c::talk(void* param_1) { return 0; } -int daNpc_Bans_c::shop(void* param_1) { +int daNpc_Bans_c::shop(void*) { switch (mMode) { case 0: case 1: @@ -1824,7 +1807,7 @@ int daNpc_Bans_c::shop(void* param_1) { return 0; } -int daNpc_Bans_c::test(void* param_1) { +int daNpc_Bans_c::test(void*) { int rv = 0; switch (mMode) { @@ -1864,7 +1847,7 @@ static int daNpc_Bans_Draw(void* i_this) { return static_cast(i_this)->Draw(); } -static int daNpc_Bans_IsDelete(void* i_this) { +static int daNpc_Bans_IsDelete(void*) { return 1; } diff --git a/src/d/actor/d_a_npc_besu.cpp b/src/d/actor/d_a_npc_besu.cpp index 521ed21206..366dcacb2e 100644 --- a/src/d/actor/d_a_npc_besu.cpp +++ b/src/d/actor/d_a_npc_besu.cpp @@ -10,6 +10,10 @@ #include "d/actor/d_a_tag_push.h" #include "d/d_com_static.h" #include "d/d_item.h" +#if DEBUG +#include "JSystem/JHostIO/JORFile.h" +#include "d/d_debug_viewer.h" +#endif enum Besu_RES_File_ID { /* BMDR */ @@ -279,9 +283,90 @@ enum Event { /* 0xC */ EVENT_CONVERSATION_ABOUT_ZORA, }; -#if !DEBUG -#endif +const daNpc_Besu_HIOParam daNpc_Besu_Param_c::m = { + 160.0f, + -3.0f, + 1.0f, + 400.0f, + 255.0f, + 140.0f, + 35.0f, + 30.0f, + 0.0f, + 0.0f, + 10.0f, + -10.0f, + 30.0f, + -10.0f, + 45.0f, + -45.0f, + 0.6f, + 12.0f, + 3, + 6, + 5, + 6, + 110.0f, + 0.0f, + 0.0f, + 0.0f, + 60, + 8, + 0, + 0, + 0, + 0, + 0, + 4.0f, + -15.0f, + 0.0f, + -15.0f, + 15.0f, + 30.0f, + 15.0f, + 70.0f, + 1.0f, +}; +#if DEBUG +daNpc_Besu_HIO_c::daNpc_Besu_HIO_c() { + m = daNpc_Besu_Param_c::m; +} + +void daNpc_Besu_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { + char msg_buffer[2000]; + + JORReflexible::listenPropertyEvent(event); + + JORFile aJStack_910; + int len; + switch ((u32)event->id) { + case 0x40000002: + if (aJStack_910.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL) != 0) { + memset(msg_buffer, 0, 2000); + len = 0; + daNpcT_cmnListenPropertyEvent(msg_buffer, &len, &m.common); + // animation playback speed + sprintf(msg_buffer + len, "%.3ff,\t// アニメ再生速度\n", m.field_0x8c); + len = strlen(msg_buffer); + aJStack_910.writeData(msg_buffer, len); + aJStack_910.close(); + OS_REPORT("write append success!::%6d\n", len); + } else { + OS_REPORT("write append failure!\n"); + } + break; + } +} + +void daNpc_Besu_HIO_c::genMessage(JORMContext* ctx) { + daNpcT_cmnGenMessage(ctx, &m.common); + // animation playback speed: + ctx->genSlider("アニメ再生速度 ", &m.field_0x8c, -0.0f, 16.0f); + // export file: + ctx->genButton("ファイル書き出し", 0x40000002); +} +#endif static int l_bmdData[6][2] = { {3, 1}, @@ -529,20 +614,6 @@ daNpc_Besu_c::cutFunc daNpc_Besu_c::mCutList[15] = { static NPC_BESU_HIO_CLASS l_HIO; -#if DEBUG -daNpc_Besu_HIO_c::daNpc_Besu_HIO_c() { - m = daNpc_Besu_Param_c::m; -} - -void daNpc_Besu_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { - // NONMATCHING -} - -void daNpc_Besu_HIO_c::genMessage(JORMContext* ctx) { - // NONMATCHING -} -#endif - daNpc_Besu_c::~daNpc_Besu_c() { // "Destruct": OS_REPORT("|%06d:%x|daNpc_Besu_c -> デストラクト\n", g_Counter.mCounter0, this); @@ -563,51 +634,6 @@ daNpc_Besu_c::~daNpc_Besu_c() { deleteRes((l_loadResPtrnList)[mType], (const char**)l_resNameList); } -const daNpc_Besu_HIOParam daNpc_Besu_Param_c::m = { - 160.0f, - -3.0f, - 1.0f, - 400.0f, - 255.0f, - 140.0f, - 35.0f, - 30.0f, - 0.0f, - 0.0f, - 10.0f, - -10.0f, - 30.0f, - -10.0f, - 45.0f, - -45.0f, - 0.6f, - 12.0f, - 3, - 6, - 5, - 6, - 110.0f, - 0.0f, - 0.0f, - 0.0f, - 60, - 8, - 0, - 0, - 0, - 0, - 0, - 4.0f, - -15.0f, - 0.0f, - -15.0f, - 15.0f, - 30.0f, - 15.0f, - 70.0f, - 1.0f, -}; - int daNpc_Besu_c::create() { static int const heapSize[19] = { 0x35C0, 0x35C0, 0x3510, 0x35D0, @@ -627,7 +653,7 @@ int daNpc_Besu_c::create() { mTwilight = false; } - cPhs__Step rv = (cPhs__Step) loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step rv = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (rv == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x, BitSW:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, getPathID(), @@ -768,8 +794,8 @@ int daNpc_Besu_c::CreateHeap() { } int daNpc_Besu_c::Delete() { - OS_REPORT("|%06d:%x|daNpc_Besu_c -> Delete\n", g_Counter, this); - fopAcM_GetID(this); + OS_REPORT("|%06d:%x|daNpc_Besu_c -> Delete\n", g_Counter.mCounter0, this); + fopAcM_RegisterDeleteID(this, "NPC_BESU"); this->~daNpc_Besu_c(); return 1; } @@ -779,18 +805,17 @@ int daNpc_Besu_c::Execute() { } int daNpc_Besu_c::Draw() { - daNpcT_MatAnm_c* matAnm = mpMatAnm[0]; - if (matAnm != NULL) { + if (mpMatAnm[0] != NULL) { J3DModelData* modelData = mpMorf[0]->getModel()->getModelData(); - J3DMaterial* material = modelData->getMaterialNodePointer(getEyeballMaterialNo()); - material->setMaterialAnm(matAnm); + modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw(FALSE, 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0); + return draw(NpcT_CHK_ACTION(daNpc_Besu_c), 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0); } int daNpc_Besu_c::createHeapCallBack(fopAc_ac_c* i_this) { - return static_cast(i_this)->CreateHeap(); + daNpc_Besu_c* a_this = static_cast(i_this); + return a_this->CreateHeap(); } int daNpc_Besu_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { @@ -806,7 +831,8 @@ int daNpc_Besu_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { } u8 daNpc_Besu_c::getType() { - switch (fopAcM_GetParam(this) & 0xFF) { + u8 prm = fopAcM_GetParam(this); + switch (prm & 0xFF) { case 0: return 0; case 1: @@ -1013,7 +1039,7 @@ void daNpc_Besu_c::setParam() { s16 talk_ang = mpHIO->m.common.talk_angle; s16 att_dist = mpHIO->m.common.attention_distance; s16 att_ang = mpHIO->m.common.attention_angle; - if (daNpcKakashi_chkSwdTutorialStage() & 0xFF) { + if (daNpcKakashi_chkSwdTutorialStage()) { talk_dist = 11; talk_ang = 6; att_dist = 15; @@ -1049,9 +1075,9 @@ void daNpc_Besu_c::setParam() { } } - attention_info.distances[0] = daNpcT_getDistTableIdx(att_dist, att_ang); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = daNpcT_getDistTableIdx(talk_dist, talk_ang); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(att_dist, att_ang); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_dist, talk_ang); attention_info.flags = att_flags; scale.set(mpHIO->m.common.scale, mpHIO->m.common.scale, @@ -1270,31 +1296,13 @@ void daNpc_Besu_c::action() { ) { mStagger.setParam(this, actor_p, mCurAngle.y); setDamage(0, 0xC, 0x12); - // FIXME: Fakematch -#if DEBUG mStagger.setPower(0.0f); -#else - for (int i = 0; i < 2; i++) { - mStagger.mPower[i] = 0.0f; - } -#endif mDamageTimerStart = 0; mJntAnm.lookNone(1); } if (mStagger.checkRebirth()) { - // FIXME: Fakematch -#if DEBUG mStagger.initialize(); -#else - for (int i = 0; i < 2; i++) { - mStagger.mAngle[i].setall(0); - mStagger.mPower[i] = 0.0f; - } - mStagger.mStagger = 0; - mStagger.field_0x16 = 0; - mStagger.mRebirth = 0; -#endif mMode = 1; } @@ -1405,6 +1413,7 @@ void daNpc_Besu_c::setAttnPos() { void daNpc_Besu_c::setCollision() { cXyz cStack_48; if (!mHide) { + u32 co_sprm = 0x79; int tgType = 0xD8FBFDFF; int tgSPrm = 0x1F; if (mTwilight) { @@ -1415,7 +1424,7 @@ void daNpc_Besu_c::setCollision() { tgSPrm = 0; } - mCyl1.SetCoSPrm(0x79); + mCyl1.SetCoSPrm(co_sprm); mCyl1.SetTgType(tgType); mCyl1.SetTgSPrm(tgSPrm); mCyl1.OnTgNoHitMark(); @@ -1455,7 +1464,8 @@ void daNpc_Besu_c::setCollision() { mDoMtx_stack_c::YrotS(mCurAngle.y); mDoMtx_stack_c::multVec(&cStack_48, &cStack_48); cStack_48 += current.pos; - mCyl2.SetCoSPrm(0x19); + co_sprm = 0x19; + mCyl2.SetCoSPrm(co_sprm); mCyl2.SetH(cylH); mCyl2.SetR(wallR); mCyl2.SetC(cStack_48); @@ -1470,6 +1480,17 @@ void daNpc_Besu_c::setCollision() { } int daNpc_Besu_c::drawDbgInfo() { +#if DEBUG + if (mpHIO->m.common.debug_info_ON) { + f32 dist_max_speak = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_SPEAK_e]).mDistMax; + f32 dist_max_talk = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_TALK_e]).mDistMax; + dDbVw_drawCircleOpa(attention_info.position, dist_max_speak, (GXColor){0x00, 0xC8, 0x00, 0xFF}, 1, 12); + dDbVw_drawCircleOpa(attention_info.position, dist_max_talk, (GXColor){0xC8, 0x00, 0x00, 0xFF}, 1, 12); + dDbVw_drawSphereXlu(eyePos, 18.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + dDbVw_drawSphereXlu(attention_info.position, 9.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + } +#endif + return false; } @@ -1513,9 +1534,10 @@ bool daNpc_Besu_c::setCupAnm(int arg0, int i_attr, f32 i_morf) { }; J3DAnmTransform* transform_p = NULL; + int reg_r29 = arg0; if (mpCupModelMorf != NULL) { - if (cupAnmData[arg0][0] > 0) { - transform_p = getTrnsfrmKeyAnmP(l_resNameList[cupAnmData[arg0][1]], cupAnmData[arg0][0]); + if (cupAnmData[reg_r29][0] > 0) { + transform_p = getTrnsfrmKeyAnmP(l_resNameList[cupAnmData[reg_r29][1]], cupAnmData[reg_r29][0]); } if (transform_p != NULL && transform_p != mpCupModelMorf->getAnm()) { @@ -1616,17 +1638,23 @@ void daNpc_Besu_c::changeBtp(int* arg0, int* arg1) { void daNpc_Besu_c::changeBtk(int* arg0, int* arg1) { if (mType == 0x11) { - if (*arg0 != 0x16) { - return; + switch (*arg0) { + case 0x16: + *arg0 = 0x10; + *arg1 = 7; } - - *arg0 = 0x10; - *arg1 = 7; } } int daNpc_Besu_c::selectAction() { mNextAction = NULL; +#if DEBUG + if (mpHIO->m.common.debug_mode_ON) { + mNextAction = &daNpc_Besu_c::test; + return 1; + } +#endif + switch (mType) { case 6: mNextAction = &daNpc_Besu_c::nurse; @@ -1638,7 +1666,7 @@ int daNpc_Besu_c::selectAction() { mNextAction = &daNpc_Besu_c::nurse; break; case 14: - if (daNpcKakashi_chkSwdTutorialStage() & 0xFF) { + if (daNpcKakashi_chkSwdTutorialStage()) { mNextAction = &daNpc_Besu_c::swdTutorial; } else { mNextAction = &daNpc_Besu_c::wait; @@ -1954,7 +1982,8 @@ int daNpc_Besu_c::cutConversationAboutWoodSwd(int arg0) { case 1: { if (talkProc(NULL, 0, speakers, 0)) { int ev_id; - switch (mFlow.getEventId(&ev_id)) { + int event_id = mFlow.getEventId(&ev_id); + switch (event_id) { case 2: { dStage_changeScene(0xC, 0.0f, 0U, fopAcM_GetRoomNo(this), 0, -1); break; @@ -2669,7 +2698,7 @@ int daNpc_Besu_c::wait(void* param_0) { attention_info.flags = 0; } else { u8 var_r28 = 0; - if (daNpcKakashi_chkSwdTutorialStage() & 0xFF) { + if (daNpcKakashi_chkSwdTutorialStage()) { mPlayerActorMngr.remove(); } else { if (mType == 11 || mType == 17) { @@ -2725,7 +2754,7 @@ int daNpc_Besu_c::wait(void* param_0) { mMode = 1; } attention_info.flags = 0; - } else if (daNpcKakashi_chkSwdTutorialStage() & 0xFF) { + } else if (daNpcKakashi_chkSwdTutorialStage()) { mJntAnm.lookPlayer(0); } else if (mTwilight == 0) { srchPlayerActor(); @@ -2946,7 +2975,7 @@ int daNpc_Besu_c::giveHotWater(void* param_0) { return 1; } -int daNpc_Besu_c::talk(void* param_0) { +int daNpc_Besu_c::talk(void*) { switch (mMode) { case 0: case 1: { @@ -2990,6 +3019,26 @@ int daNpc_Besu_c::talk(void* param_0) { return 0; } +BOOL daNpc_Besu_c::test(void*) { + switch(mMode) { + case 0: + case 1: + speedF = 0.0f; + speed.setall(0.0f); + mMode = 2; + // fallthrough + case 2: + mFaceMotionSeqMngr.setNo(mpHIO->m.common.face_expression, -1.0f, 0, 0); + mMotionSeqMngr.setNo(mpHIO->m.common.motion, -1.0f, 0, 0); + mJntAnm.lookNone(0); + attention_info.flags = 0; + break; + case 3: + break; + } + return 1; +} + static int daNpc_Besu_Create(void* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_npc_blue_ns.cpp b/src/d/actor/d_a_npc_blue_ns.cpp index 0af2697a1f..7492657fd4 100644 --- a/src/d/actor/d_a_npc_blue_ns.cpp +++ b/src/d/actor/d_a_npc_blue_ns.cpp @@ -229,7 +229,7 @@ int daNpcBlueNS_c::isDelete() { } int daNpcBlueNS_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_BLUENS"); this->~daNpcBlueNS_c(); return 1; } diff --git a/src/d/actor/d_a_npc_bou.cpp b/src/d/actor/d_a_npc_bou.cpp index c630a1a4c2..fe6f44846e 100644 --- a/src/d/actor/d_a_npc_bou.cpp +++ b/src/d/actor/d_a_npc_bou.cpp @@ -449,14 +449,14 @@ void daNpc_Bou_c::setParam() { } } - attention_info.distances[0] = daNpcT_getDistTableIdx(sVar8, sVar7); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = daNpcT_getDistTableIdx(sVar10, sVar9); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar8, sVar7); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar10, sVar9); if (mType == TYPE_1) { uVar7 |= fopAc_AttnFlag_UNK_0x800000; field_0xfdc = getActorDistance(daPy_getPlayerActorClass(), daNpcT_getDistTableIdx(field_0xfe0, field_0xfe4), - attention_info.distances[1]); + attention_info.distances[fopAc_attn_TALK_e]); if (field_0xfdc < 4) { g_meter2_info.mBlinkButton |= 1; } diff --git a/src/d/actor/d_a_npc_bouS.cpp b/src/d/actor/d_a_npc_bouS.cpp index c848bc781d..991eb7ce85 100644 --- a/src/d/actor/d_a_npc_bouS.cpp +++ b/src/d/actor/d_a_npc_bouS.cpp @@ -249,14 +249,14 @@ void daNpcBouS_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { } void daNpcBouS_HIO_c::genMessage(JORMContext* ctx) { - ctx->genSlider("興奮度", &m.excitement_level, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("会話距離", &m.talk_dist, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("目線 X", &m.gaze_x, -500.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("目線 Y", &m.gaze_y, -500.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("目線 Z", &m.gaze_z, -500.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Eye 距離", &m.eye_dist, 0.0f, 3000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Eye 角度X", &m.eye_angle_x, -0x8000, 0x7FFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Eye 角度Y", &m.eye_angle_y, -0x8000, 0x7FFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("興奮度", &m.excitement_level, 0.0f, 1.0f); + ctx->genSlider("会話距離", &m.talk_dist, 0.0f, 500.0f); + ctx->genSlider("目線 X", &m.gaze_x, -500.0f, 500.0f); + ctx->genSlider("目線 Y", &m.gaze_y, -500.0f, 500.0f); + ctx->genSlider("目線 Z", &m.gaze_z, -500.0f, 500.0f); + ctx->genSlider("Eye 距離", &m.eye_dist, 0.0f, 3000.0f); + ctx->genSlider("Eye 角度X", &m.eye_angle_x, -0x8000, 0x7FFF); + ctx->genSlider("Eye 角度Y", &m.eye_angle_y, -0x8000, 0x7FFF); } #endif @@ -330,14 +330,14 @@ daNpcBouS_HIOParam const daNpcBouS_Param_c::m = { 0, }; -cPhs__Step daNpcBouS_c::Create() { +cPhs_Step daNpcBouS_c::Create() { fopAcM_ct(this, daNpcBouS_c); mMsgNo = getMessageNo(); - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; i < 2; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[i]); + phase = dComIfG_resLoad(&mPhases[i], l_arcNames[i]); if (phase != cPhs_COMPLEATE_e) { return phase; @@ -416,7 +416,7 @@ int daNpcBouS_c::CreateHeap() { } int daNpcBouS_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_BOU_S"); this->~daNpcBouS_c(); return 1; } diff --git a/src/d/actor/d_a_npc_chat.cpp b/src/d/actor/d_a_npc_chat.cpp index 4bd1b8ef80..2099c572f1 100644 --- a/src/d/actor/d_a_npc_chat.cpp +++ b/src/d/actor/d_a_npc_chat.cpp @@ -2494,38 +2494,38 @@ bool daNpcChat_c::isM_() { return a_jntNum == JntM_NUM_e; } -cPhs__Step daNpcChat_c::loadResrc(int idx, int param_2) { - cPhs__Step rv = cPhs_COMPLEATE_e; +cPhs_Step daNpcChat_c::loadResrc(int idx, int param_2) { + cPhs_Step rv = cPhs_COMPLEATE_e; if (mTwilight) { - rv = (cPhs__Step)dComIfG_resLoad(&mPhase1, l_resNameTbl[idx][1]); + rv = dComIfG_resLoad(&mPhase1, l_resNameTbl[idx][1]); if (rv != cPhs_COMPLEATE_e) { return rv; } } else { - rv = (cPhs__Step)dComIfG_resLoad(&mPhase1, l_resNameTbl[idx][0]); + rv = dComIfG_resLoad(&mPhase1, l_resNameTbl[idx][0]); if (rv != cPhs_COMPLEATE_e) { return rv; } } - rv = (cPhs__Step)dComIfG_resLoad(&mPhase2, l_resNameTbl[idx][2]); + rv = dComIfG_resLoad(&mPhase2, l_resNameTbl[idx][2]); if (rv != cPhs_COMPLEATE_e) { return rv; } if (param_2 != 0 || field_0xe51 == 1) { - rv = (cPhs__Step)dComIfG_resLoad(&mPhase3, l_resNameTbl[idx][3]); + rv = dComIfG_resLoad(&mPhase3, l_resNameTbl[idx][3]); if (rv != cPhs_COMPLEATE_e) { return rv; } if (mTwilight) { - rv = (cPhs__Step)dComIfG_resLoad(&mPhase4, l_resNameTbl[idx][5]); + rv = dComIfG_resLoad(&mPhase4, l_resNameTbl[idx][5]); if (rv != cPhs_COMPLEATE_e) { return rv; } } else { - rv = (cPhs__Step)dComIfG_resLoad(&mPhase4, l_resNameTbl[idx][4]); + rv = dComIfG_resLoad(&mPhase4, l_resNameTbl[idx][4]); if (rv != cPhs_COMPLEATE_e) { return rv; } @@ -2675,7 +2675,7 @@ inline f32 CylH(int type) { return (f32)(type < 16 ? a_prmTbl_M[type].field_0x30 : a_prmTbl_W[type - 16].field_0x30); } -cPhs__Step daNpcChat_c::Create() { +cPhs_Step daNpcChat_c::Create() { fopAcM_ct(this, daNpcChat_c); mTwilight = dKy_darkworld_check(); @@ -2701,7 +2701,7 @@ cPhs__Step daNpcChat_c::Create() { mMsgNo = getMessageNo(); - cPhs__Step phase = loadResrc(mType, mObjNum); + cPhs_Step phase = loadResrc(mType, mObjNum); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x800022E0)) { return cPhs_ERROR_e; @@ -2777,7 +2777,7 @@ BOOL daNpcChat_c::CreateHeap() { } int daNpcChat_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_CHAT"); this->~daNpcChat_c(); return 1; } @@ -3072,9 +3072,12 @@ void daNpcChat_c::setParam() { attention_info.flags = 0; } else { if (mTalkIconType == 0) { - attention_info.flags = 0xC0000A; + attention_info.flags = + fopAc_AttnFlag_TALK_e | fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_UNK_0x400000 | + fopAc_AttnFlag_UNK_0x800000; } else { - attention_info.flags = fopAc_AttnFlag_UNK_0x400000 | fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; + attention_info.flags = + fopAc_AttnFlag_TALK_e | fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_UNK_0x400000; } } diff --git a/src/d/actor/d_a_npc_chin.cpp b/src/d/actor/d_a_npc_chin.cpp index b871c8d635..500ff60eaa 100644 --- a/src/d/actor/d_a_npc_chin.cpp +++ b/src/d/actor/d_a_npc_chin.cpp @@ -243,7 +243,7 @@ int daNpcChin_c::Create() { int i = 0; while (*idx >= 0) { OS_REPORT("--- arc : %s\n", l_arcNames[*idx]); - phase_state = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[*idx]); + phase_state = dComIfG_resLoad(&mPhases[i], l_arcNames[*idx]); if (phase_state != cPhs_COMPLEATE_e) { return phase_state; } @@ -369,12 +369,8 @@ int daNpcChin_c::CreateHeap() { return 1; } -static void dummy() { - OS_REPORT("Delete -> NPC_CHIN(id=%d)\n"); -} - int daNpcChin_c::Delete() { - fpc_ProcID unusedId = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_CHIN"); OS_REPORT("----------------------daNpcChin_c::Delete!!\n"); this->~daNpcChin_c(); return 1; diff --git a/src/d/actor/d_a_npc_clerka.cpp b/src/d/actor/d_a_npc_clerka.cpp index 20e61bd91d..21b089eb67 100644 --- a/src/d/actor/d_a_npc_clerka.cpp +++ b/src/d/actor/d_a_npc_clerka.cpp @@ -208,7 +208,7 @@ int daNpc_clerkA_c::CreateHeap() { } int daNpc_clerkA_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_CLERKA"); this->~daNpc_clerkA_c(); return 1; } diff --git a/src/d/actor/d_a_npc_clerkb.cpp b/src/d/actor/d_a_npc_clerkb.cpp index 9b22c324f7..c6400f90a0 100644 --- a/src/d/actor/d_a_npc_clerkb.cpp +++ b/src/d/actor/d_a_npc_clerkb.cpp @@ -219,7 +219,7 @@ int daNpc_clerkB_c::CreateHeap() { } int daNpc_clerkB_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_CLERKB"); this->~daNpc_clerkB_c(); return 1; } diff --git a/src/d/actor/d_a_npc_clerkt.cpp b/src/d/actor/d_a_npc_clerkt.cpp index 0ca1ee24ee..21398595be 100644 --- a/src/d/actor/d_a_npc_clerkt.cpp +++ b/src/d/actor/d_a_npc_clerkt.cpp @@ -201,7 +201,7 @@ int daNpcClerkT_c::CreateHeap() { } int daNpcClerkT_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_CLERKT"); this->~daNpcClerkT_c(); return 1; } diff --git a/src/d/actor/d_a_npc_coach.cpp b/src/d/actor/d_a_npc_coach.cpp index aadb0e25f7..759f9b82be 100644 --- a/src/d/actor/d_a_npc_coach.cpp +++ b/src/d/actor/d_a_npc_coach.cpp @@ -2009,10 +2009,10 @@ static int daNpcCoach_Create(fopAc_ac_c* a_this) { return i_this->create(); } -cPhs__Step daNpcCoach_c::create() { +cPhs_Step daNpcCoach_c::create() { fopAcM_ct(this, daNpcCoach_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x7D60)) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_npc_df.cpp b/src/d/actor/d_a_npc_df.cpp index a981119eb0..daba4eb8df 100644 --- a/src/d/actor/d_a_npc_df.cpp +++ b/src/d/actor/d_a_npc_df.cpp @@ -323,8 +323,8 @@ static int daNpc_Df_IsDelete(npc_df_class* i_this) { } static int daNpc_Df_Delete(npc_df_class* i_this) { - fopAc_ac_c* actor = (fopAc_ac_c*)&i_this->actor; - fpc_ProcID id = fopAcM_GetID(actor); + fopAc_ac_c* actor = &i_this->actor; + fopAcM_RegisterDeleteID(&i_this->actor, "Npc_Df"); if (i_this->field_0x573) { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Npc_df", 3); @@ -359,11 +359,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daNpc_Df_Create(fopAc_ac_c* i_this) { +static cPhs_Step daNpc_Df_Create(fopAc_ac_c* i_this) { fopAcM_ct(i_this, npc_df_class); npc_df_class* actor = (npc_df_class*)i_this; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&actor->mPhase, "Npc_df"); + cPhs_Step phase = dComIfG_resLoad(&actor->mPhase, "Npc_df"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("NPC_DF PARAM %x\n", fopAcM_GetParam(i_this)); actor->field_0x570 = fopAcM_GetParam(i_this); diff --git a/src/d/actor/d_a_npc_doc.cpp b/src/d/actor/d_a_npc_doc.cpp index d7ac07b853..3300891133 100644 --- a/src/d/actor/d_a_npc_doc.cpp +++ b/src/d/actor/d_a_npc_doc.cpp @@ -259,7 +259,7 @@ int daNpc_Doc_c::CreateHeap() { int daNpc_Doc_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Doc_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_DOC"); this->~daNpc_Doc_c(); return 1; } @@ -274,14 +274,7 @@ int daNpc_Doc_c::Draw() { mdlData_p->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw( -#if DEBUG - chkAction(&daNpc_Doc_c::test), -#else - FALSE, -#endif - FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE - ); + return draw(NpcT_CHK_ACTION(daNpc_Doc_c), FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } int daNpc_Doc_c::createHeapCallBack(fopAc_ac_c* i_this) { diff --git a/src/d/actor/d_a_npc_doorboy.cpp b/src/d/actor/d_a_npc_doorboy.cpp index 8bebf0dfb4..edd785c781 100644 --- a/src/d/actor/d_a_npc_doorboy.cpp +++ b/src/d/actor/d_a_npc_doorboy.cpp @@ -185,14 +185,14 @@ daNpcDoorBoy_c::~daNpcDoorBoy_c() { #endif } -cPhs__Step daNpcDoorBoy_c::Create() { +cPhs_Step daNpcDoorBoy_c::Create() { fopAcM_ct(this, daNpcDoorBoy_c); mMessageNo = (s16)getMessageNo(); - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; i < 2; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[i]); + phase = dComIfG_resLoad(&mPhases[i], l_arcNames[i]); if (phase != cPhs_COMPLEATE_e) { return phase; diff --git a/src/d/actor/d_a_npc_drainSol.cpp b/src/d/actor/d_a_npc_drainSol.cpp index 313d4b449b..0b4e8250f3 100644 --- a/src/d/actor/d_a_npc_drainSol.cpp +++ b/src/d/actor/d_a_npc_drainSol.cpp @@ -174,7 +174,7 @@ int daNpcDrSol_c::CreateHeap() { } int daNpcDrSol_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_DRSOL"); this->~daNpcDrSol_c(); return 1; } diff --git a/src/d/actor/d_a_npc_du.cpp b/src/d/actor/d_a_npc_du.cpp index edc0f1d386..9443a720ed 100644 --- a/src/d/actor/d_a_npc_du.cpp +++ b/src/d/actor/d_a_npc_du.cpp @@ -86,8 +86,8 @@ daNpc_Du_HIO_c::daNpc_Du_HIO_c() { #if DEBUG void daNpc_Du_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel(" アヒル", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("基本大きさ", &base_size, 0.0f, 3.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel(" アヒル", 0x80000001); + ctx->genSlider("基本大きさ", &base_size, 0.0f, 3.0f); } #endif @@ -584,7 +584,7 @@ static int daNpc_Du_IsDelete(npc_du_class* i_this) { static int daNpc_Du_Delete(npc_du_class* i_this) { fopAc_ac_c* actor = (fopAc_ac_c*)&i_this->actor; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "Npc_Du"); dComIfG_resDelete(&i_this->mPhase, "Npc_Du"); @@ -632,11 +632,11 @@ static int useHeapInit(fopAc_ac_c* actor) { return 1; } -static cPhs__Step daNpc_Du_Create(fopAc_ac_c* a_this) { +static cPhs_Step daNpc_Du_Create(fopAc_ac_c* a_this) { npc_du_class* i_this = (npc_du_class*)a_this; fopAcM_ct(a_this, npc_du_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "Npc_Du"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "Npc_Du"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("NPC_DU PARAM %x\n", fopAcM_GetParam(a_this)); i_this->arg0 = fopAcM_GetParam(a_this); diff --git a/src/d/actor/d_a_npc_fairy.cpp b/src/d/actor/d_a_npc_fairy.cpp index f35d28ef42..c1187ab9e5 100644 --- a/src/d/actor/d_a_npc_fairy.cpp +++ b/src/d/actor/d_a_npc_fairy.cpp @@ -219,9 +219,9 @@ void daNpc_Fairy_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_Fairy_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); - ctx->genSlider("残留思念の幅", &m.spirit_width, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("残留思念の高さ", &m.spirit_height, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("残留思念の幅", &m.spirit_width, 0.0f, 1000.0f); + ctx->genSlider("残留思念の高さ", &m.spirit_height, 0.0f, 1000.0f); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -518,7 +518,7 @@ daNpc_Fairy_c::~daNpc_Fairy_c() { static NPC_FAIRY_HIO_CLASS l_HIO; -cPhs__Step daNpc_Fairy_c::Create() { +cPhs_Step daNpc_Fairy_c::Create() { daNpcT_ct(this, daNpc_Fairy_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -526,7 +526,7 @@ cPhs__Step daNpc_Fairy_c::Create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x8000)) { return cPhs_ERROR_e; @@ -726,7 +726,7 @@ bool daNpc_Fairy_c::afterSetMotionAnm(int i_idx, int i_bck_attr, f32 i_morf, int int daNpc_Fairy_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Fairy_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_FAIRY"); this->~daNpc_Fairy_c(); return 1; } @@ -748,11 +748,7 @@ int daNpc_Fairy_c::Draw() { mdlData_p->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - #if DEBUG - return draw(chkAction(&daNpc_Fairy_c::test), TRUE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); - #else - return draw(FALSE, TRUE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); - #endif + return draw(NpcT_CHK_ACTION(daNpc_Fairy_c), TRUE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } void daNpc_Fairy_c::drawOtherMdl() { diff --git a/src/d/actor/d_a_npc_fguard.cpp b/src/d/actor/d_a_npc_fguard.cpp index 69a087156a..228cf38b7d 100644 --- a/src/d/actor/d_a_npc_fguard.cpp +++ b/src/d/actor/d_a_npc_fguard.cpp @@ -35,14 +35,14 @@ static int daNpcFgd_Create(void* a_this) { return static_cast(a_this)->create(); } -cPhs__Step daNpcFgd_c::create() { +cPhs_Step daNpcFgd_c::create() { fopAcM_ct(this, daNpcFgd_c); mIsDarkWorld = dKy_darkworld_check(); m_type = getType(); mObjNum = getObjNum(); - cPhs__Step phase = (cPhs__Step)loadResrc(m_type, mObjNum); + cPhs_Step phase = loadResrc(m_type, mObjNum); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x1910)) { OS_REPORT("隊列兵士アクター生成失敗しました!\n"); // Failed to generate the squad soldier actor! diff --git a/src/d/actor/d_a_npc_gra.cpp b/src/d/actor/d_a_npc_gra.cpp index 07fc92ca16..d6978ec3cb 100644 --- a/src/d/actor/d_a_npc_gra.cpp +++ b/src/d/actor/d_a_npc_gra.cpp @@ -276,14 +276,14 @@ void daNpc_grA_HIO_c::listenPropertyEvent(const JORPropertyEvent* i_event) { void daNpc_grA_HIO_c::genMessage(JORMContext* context) { daNpcF_commonGenMessage(context, &m.common); - context->genSlider("お辞儀タイマー ", &m.mBowTimer, 0, 1000, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("回転移動速度係数", &m.mRotationalSpeed, 0.0f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("歩き移動速度 ", &m.mWalkingSpeed, 0.0f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("歩きアニメ速度 ", &m.mWalkingAnimationSpeed, 0.0f, 10.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("歩行回転角度 ", &m.mWalkingRotationSpeed, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("歩行回転分割数 ", &m.mWalkingRotationDivisions, 0, 0x100, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("エフェクトサイズ", &m.mParticleSize, 0.0f, 10.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genButton("ファイル書き出し", 0x40000002, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("お辞儀タイマー ", &m.mBowTimer, 0, 1000); + context->genSlider("回転移動速度係数", &m.mRotationalSpeed, 0.0f, 100.0f); + context->genSlider("歩き移動速度 ", &m.mWalkingSpeed, 0.0f, 100.0f); + context->genSlider("歩きアニメ速度 ", &m.mWalkingAnimationSpeed, 0.0f, 10.0f); + context->genSlider("歩行回転角度 ", &m.mWalkingRotationSpeed, 0, 0x7fff); + context->genSlider("歩行回転分割数 ", &m.mWalkingRotationDivisions, 0, 0x100); + context->genSlider("エフェクトサイズ", &m.mParticleSize, 0.0f, 10.0f); + context->genButton("ファイル書き出し", 0x40000002); } #endif diff --git a/src/d/actor/d_a_npc_grc.cpp b/src/d/actor/d_a_npc_grc.cpp index c226de23cf..39637c0317 100644 --- a/src/d/actor/d_a_npc_grc.cpp +++ b/src/d/actor/d_a_npc_grc.cpp @@ -301,7 +301,7 @@ daNpc_grC_c::~daNpc_grC_c() { #endif } -cPhs__Step daNpc_grC_c::create() { +cPhs_Step daNpc_grC_c::create() { fopAcM_ct(this, daNpc_grC_c); mTwilight = dKy_darkworld_check(); @@ -320,7 +320,7 @@ cPhs__Step daNpc_grC_c::create() { int res_count = 0; int i = 0; for (; l_loadRes_list[mType][i] >= 0; i++) { - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); + cPhs_Step step = dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_npc_grm.cpp b/src/d/actor/d_a_npc_grm.cpp index c7b9ab1877..96e22082a0 100644 --- a/src/d/actor/d_a_npc_grm.cpp +++ b/src/d/actor/d_a_npc_grm.cpp @@ -169,7 +169,7 @@ daNpc_grM_c::~daNpc_grM_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_grM_c::create() { +cPhs_Step daNpc_grM_c::create() { daNpcT_ct(this, daNpc_grM_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -177,7 +177,7 @@ cPhs__Step daNpc_grM_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3730)) { return cPhs_ERROR_e; @@ -791,7 +791,7 @@ int daNpc_grM_c::shop(void* param_0) { return 0; } -static cPhs__Step daNpc_grM_Create(void* param_0) { +static cPhs_Step daNpc_grM_Create(void* param_0) { return static_cast(param_0)->create(); } diff --git a/src/d/actor/d_a_npc_grmc.cpp b/src/d/actor/d_a_npc_grmc.cpp index 52d82a8acd..d88ff0fa3d 100644 --- a/src/d/actor/d_a_npc_grmc.cpp +++ b/src/d/actor/d_a_npc_grmc.cpp @@ -230,7 +230,7 @@ void daNpc_grMC_HIO_c::genMessage(JORMContext* ctx) { } #endif -cPhs__Step daNpc_grMC_c::create() { +cPhs_Step daNpc_grMC_c::create() { daNpcT_ct(this, daNpc_grMC_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -238,7 +238,7 @@ cPhs__Step daNpc_grMC_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x35D0)) { return cPhs_ERROR_e; @@ -346,14 +346,7 @@ int daNpc_grMC_c::Execute() { } int daNpc_grMC_c::Draw() { - return draw( - #if DEBUG - chkAction(&daNpc_grMC_c::test), - #else - FALSE, - #endif - FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE - ); + return draw(NpcT_CHK_ACTION(daNpc_grMC_c), FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } int daNpc_grMC_c::createHeapCallBack(fopAc_ac_c* a_this) { diff --git a/src/d/actor/d_a_npc_gro.cpp b/src/d/actor/d_a_npc_gro.cpp index 6dd71c0900..564d0b1d8b 100644 --- a/src/d/actor/d_a_npc_gro.cpp +++ b/src/d/actor/d_a_npc_gro.cpp @@ -320,7 +320,7 @@ void daNpc_grO_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_grO_HIO_c::genMessage(JORMContext* ctx) { daNpcF_commonGenMessage(ctx, &m.common); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -390,7 +390,7 @@ daNpc_grO_HIOParam const daNpc_grO_Param_c::m = { false, }; -cPhs__Step daNpc_grO_c::create() { +cPhs_Step daNpc_grO_c::create() { fopAcM_ct(this, daNpc_grO_c); mType = getTypeFromParam(); @@ -405,11 +405,11 @@ cPhs__Step daNpc_grO_c::create() { return cPhs_ERROR_e; } - cPhs__Step phase; + cPhs_Step phase; int res = 0; int i = 0; for (; l_loadRes_list[mType][i] >= 0; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); + phase = dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } @@ -518,7 +518,7 @@ int daNpc_grO_c::CreateHeap() { } int daNpc_grO_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_GRO"); this->~daNpc_grO_c(); return 1; } diff --git a/src/d/actor/d_a_npc_grr.cpp b/src/d/actor/d_a_npc_grr.cpp index 93271a80cc..a01093ccb6 100644 --- a/src/d/actor/d_a_npc_grr.cpp +++ b/src/d/actor/d_a_npc_grr.cpp @@ -258,7 +258,7 @@ daNpc_grR_c::~daNpc_grR_c() { #endif } -cPhs__Step daNpc_grR_c::create() { +cPhs_Step daNpc_grR_c::create() { fopAcM_ct(this, daNpc_grR_c); mType = getTypeFromParam(); @@ -276,7 +276,7 @@ cPhs__Step daNpc_grR_c::create() { int res_count = 0; int i = 0; for (; l_loadRes_list[mType][i] >= 0; i++) { - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); + cPhs_Step phase = dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } diff --git a/src/d/actor/d_a_npc_grs.cpp b/src/d/actor/d_a_npc_grs.cpp index 727a26a15b..760b8a6139 100644 --- a/src/d/actor/d_a_npc_grs.cpp +++ b/src/d/actor/d_a_npc_grs.cpp @@ -259,7 +259,7 @@ int daNpc_grS_c::CreateHeap() { } int daNpc_grS_c::Delete() { - fpc_ProcID unusedId = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_GRS"); this->~daNpc_grS_c(); return 1; } @@ -360,7 +360,7 @@ void daNpc_grS_c::setParam() { unkInt1 = 5; unkInt2 = 6; attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(unkInt1, unkInt2); - attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[0]; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(unkInt3, unkInt4); attention_info.flags = flags; diff --git a/src/d/actor/d_a_npc_grz.cpp b/src/d/actor/d_a_npc_grz.cpp index a5140c604e..39f3b84bd1 100644 --- a/src/d/actor/d_a_npc_grz.cpp +++ b/src/d/actor/d_a_npc_grz.cpp @@ -448,7 +448,7 @@ daNpc_Grz_HIOParam const daNpc_Grz_Param_c::m = { 500.0f, }; -cPhs__Step daNpc_Grz_c::create() { +cPhs_Step daNpc_Grz_c::create() { fopAcM_ct(this, daNpc_Grz_c); mType = getTypeFromParam(); @@ -467,7 +467,7 @@ cPhs__Step daNpc_Grz_c::create() { int iVar1 = 0; int i = 0; for (; l_loadRes_list[mType][i] >= 0; i++) { - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); + cPhs_Step phase = dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } diff --git a/src/d/actor/d_a_npc_gwolf.cpp b/src/d/actor/d_a_npc_gwolf.cpp index 8859b84ad4..75a68afda6 100644 --- a/src/d/actor/d_a_npc_gwolf.cpp +++ b/src/d/actor/d_a_npc_gwolf.cpp @@ -283,7 +283,7 @@ daNpc_GWolf_c::~daNpc_GWolf_c() { #endif } -cPhs__Step daNpc_GWolf_c::create() { +cPhs_Step daNpc_GWolf_c::create() { fopAcM_ct(this, daNpc_GWolf_c); mType = getTypeFromParam(); @@ -307,7 +307,7 @@ cPhs__Step daNpc_GWolf_c::create() { int iVar1 = 0; int i; for (i = 0; l_loadRes_list[mType][i] >= 0; i++) { - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); + cPhs_Step phase = dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } diff --git a/src/d/actor/d_a_npc_hanjo.cpp b/src/d/actor/d_a_npc_hanjo.cpp index 29ba7567af..b03f22d716 100644 --- a/src/d/actor/d_a_npc_hanjo.cpp +++ b/src/d/actor/d_a_npc_hanjo.cpp @@ -463,9 +463,9 @@ void daNpc_Hanjo_c::setParam() { sVar4 = 9; } } - attention_info.distances[0] = daNpcT_getDistTableIdx(sVar4, sVar1); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = daNpcT_getDistTableIdx(sVar6, sVar5); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar4, sVar1); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar6, sVar5); attention_info.flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; scale.set(mpHIO->m.common.scale, mpHIO->m.common.scale, mpHIO->m.common.scale); diff --git a/src/d/actor/d_a_npc_henna.cpp b/src/d/actor/d_a_npc_henna.cpp index cf2ce2f665..d5246395df 100644 --- a/src/d/actor/d_a_npc_henna.cpp +++ b/src/d/actor/d_a_npc_henna.cpp @@ -271,8 +271,8 @@ static void message_shop(npc_henna_class* i_this) { } else { fopAcM_OnStatus(&i_this->actor, 0); cLib_onBit(i_this->actor.attention_info.flags, fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e); - i_this->actor.attention_info.distances[1] = 4; - i_this->actor.attention_info.distances[3] = 4; + i_this->actor.attention_info.distances[fopAc_attn_TALK_e] = 4; + i_this->actor.attention_info.distances[fopAc_attn_SPEAK_e] = 4; i_this->actor.eventInfo.onCondition(1); if (dComIfGp_event_runCheck() && i_this->cam_mode == 0 && i_this->actor.eventInfo.checkCommandTalk() != 0) @@ -2188,7 +2188,7 @@ static void message_guide(npc_henna_class* i_this) { fopAcM_OnStatus(actor, 0); cLib_onBit(actor->attention_info.flags, (fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e)); - actor->attention_info.distances[1] = 2; + actor->attention_info.distances[fopAc_attn_TALK_e] = 2; actor->attention_info.distances[fopAc_attn_SPEAK_e] = 2; actor->eventInfo.onCondition(dEvtCnd_CANTALK_e); @@ -2672,7 +2672,7 @@ static int daNpc_Henna_Create(fopAc_ac_c* i_this) { fopAcM_ct(i_this, npc_henna_class); npc_henna_class* a_this = (npc_henna_class*)i_this; - cPhs__Step loadResult = (cPhs__Step)dComIfG_resLoad(&a_this->phase, "Henna"); + cPhs_Step loadResult = dComIfG_resLoad(&a_this->phase, "Henna"); if (loadResult == cPhs_COMPLEATE_e) { OS_REPORT("NPC_HENNA PARAM %x\n", fopAcM_GetParam(i_this)); a_this->arg0 = fopAcM_GetParam(i_this); diff --git a/src/d/actor/d_a_npc_hoz.cpp b/src/d/actor/d_a_npc_hoz.cpp index 32d3f25e90..0b67504bb8 100644 --- a/src/d/actor/d_a_npc_hoz.cpp +++ b/src/d/actor/d_a_npc_hoz.cpp @@ -408,7 +408,7 @@ int daNpc_Hoz_c::CreateHeap() { int daNpc_Hoz_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Hoz_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_HOZ"); this->~daNpc_Hoz_c(); return 1; } @@ -423,13 +423,7 @@ int daNpc_Hoz_c::Draw() { modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw( -#if DEBUG - chkAction(&daNpc_Hoz_c::test), -#else - FALSE, -#endif - FALSE, mpHIO->m.common.real_shadow_size, NULL, 100.0f, FALSE, FALSE, FALSE + return draw(NpcT_CHK_ACTION(daNpc_Hoz_c), FALSE, mpHIO->m.common.real_shadow_size, NULL, 100.0f, FALSE, FALSE, FALSE ); } diff --git a/src/d/actor/d_a_npc_impal.cpp b/src/d/actor/d_a_npc_impal.cpp index 9052798b03..00e9a02905 100644 --- a/src/d/actor/d_a_npc_impal.cpp +++ b/src/d/actor/d_a_npc_impal.cpp @@ -85,7 +85,7 @@ daNpcImpal_HIO_c::daNpcImpal_HIO_c() { void daNpcImpal_HIO_c::genMessage(JORMContext* ctext) { // Ancient Document Demo Start Distance: - ctext->genSlider("古文書デモ開始距離", &m.demo_start_dist, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("古文書デモ開始距離", &m.demo_start_dist, 0.0f, 5000.0f); daNpcF_commonGenMessage(ctext, &m.common); } #endif @@ -1130,10 +1130,10 @@ static int daNpcImpal_IsDelete(void* i_this) { } void daNpcImpal_c::setParam() { - attention_info.distances[0] = + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(mpHIO->m.common.attention_distance, mpHIO->m.common.attention_angle); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(mpHIO->m.common.talk_distance, mpHIO->m.common.talk_angle); if (field_0xde9) { diff --git a/src/d/actor/d_a_npc_inko.cpp b/src/d/actor/d_a_npc_inko.cpp index a1ad459fdc..b5e812256a 100644 --- a/src/d/actor/d_a_npc_inko.cpp +++ b/src/d/actor/d_a_npc_inko.cpp @@ -407,7 +407,7 @@ static int daNpc_Inko_IsDelete(npc_inko_class* i_this) { static int daNpc_Inko_Delete(npc_inko_class* i_this) { fopAc_ac_c* actor = (fopAc_ac_c*)i_this; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "Npc_Inko"); dComIfG_resDelete(&i_this->phase, "Npc_inko"); if (actor->heap != NULL) { diff --git a/src/d/actor/d_a_npc_ins.cpp b/src/d/actor/d_a_npc_ins.cpp index 2d4724503a..c228481ad2 100644 --- a/src/d/actor/d_a_npc_ins.cpp +++ b/src/d/actor/d_a_npc_ins.cpp @@ -383,7 +383,7 @@ daNpcIns_c::~daNpcIns_c() { #endif } -cPhs__Step daNpcIns_c::Create() { +cPhs_Step daNpcIns_c::Create() { fopAcM_ct(this, daNpcIns_c); mType = TYPE_0; @@ -412,9 +412,9 @@ cPhs__Step daNpcIns_c::Create() { } } - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; l_loadRes_list[mType][i] >= 0; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[l_loadRes_list[mType][i]]); + phase = dComIfG_resLoad(&mPhases[i], l_arcNames[l_loadRes_list[mType][i]]); if (phase != cPhs_COMPLEATE_e) { return phase; diff --git a/src/d/actor/d_a_npc_jagar.cpp b/src/d/actor/d_a_npc_jagar.cpp index dab7385ca5..30830d06c5 100644 --- a/src/d/actor/d_a_npc_jagar.cpp +++ b/src/d/actor/d_a_npc_jagar.cpp @@ -161,17 +161,17 @@ void daNpc_Jagar_HIO_c::genMessage(JORMContext* ctext) { // TODO. daNpcT_cmnGenMessage(ctext, &m.common); // pumpkin monitoring distance - ctext->genSlider("かぼちゃ監視距離", &m.pumpkin_watch_range, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("かぼちゃ監視距離", &m.pumpkin_watch_range, 0.0f, 1000.0f); // pumpkin watch height - ctext->genSlider("かぼちゃ監視高さ", &m.pumpkin_watch_Ymax, -10000.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("かぼちゃ監視高さ", &m.pumpkin_watch_Ymax, -10000.0f, 10000.0f); // "Pumpkin monitoring is low"? - ctext->genSlider("かぼちゃ監視低さ", &m.pumpkin_watch_Ymin, -10000.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("かぼちゃ監視低さ", &m.pumpkin_watch_Ymin, -10000.0f, 10000.0f); // running speed - ctext->genSlider("走る速度 ", &m.running_speed, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("走る速度 ", &m.running_speed, 0.0f, 10000.0f); // hidden state release dist - ctext->genSlider("隠れ状態解除距離", &m.hidden_state_release_dist, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("隠れ状態解除距離", &m.hidden_state_release_dist, 0.0f, 10000.0f); // export file: - ctext->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctext->genButton("ファイル書き出し", 0x40000002); } #endif @@ -576,7 +576,7 @@ void daNpc_Jagar_c::setParam() { uVar7 |= fopAc_AttnFlag_UNK_0x800000; field_0xfec = getActorDistance(daPy_getPlayerActorClass(), daNpcT_getDistTableIdx(field_0xff0, field_0xff4), - attention_info.distances[1]); + attention_info.distances[fopAc_attn_TALK_e]); if (field_0xfec < 4) { g_meter2_info.mBlinkButton |= 1; } diff --git a/src/d/actor/d_a_npc_kasi_hana.cpp b/src/d/actor/d_a_npc_kasi_hana.cpp index f80de722ce..2d592ec85e 100644 --- a/src/d/actor/d_a_npc_kasi_hana.cpp +++ b/src/d/actor/d_a_npc_kasi_hana.cpp @@ -603,10 +603,10 @@ daNpcKasiHana_HIO_c::daNpcKasiHana_HIO_c() { } void daNpcKasiHana_HIO_c::genMessage(JORMContext* ctext) { - ctext->genSlider("追跡開始距離", &m.track_start_dist, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("追跡停止距離", &m.track_stop_dist, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("追跡速度", &m.track_spd, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("逃げる速度", &m.escape_spd, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("追跡開始距離", &m.track_start_dist, 0.0f, 5000.0f); + ctext->genSlider("追跡停止距離", &m.track_stop_dist, 0.0f, 5000.0f); + ctext->genSlider("追跡速度", &m.track_spd, 0.0f, 100.0f); + ctext->genSlider("逃げる速度", &m.escape_spd, 0.0f, 100.0f); daNpcF_commonGenMessage(ctext, &m.common); } #endif @@ -638,15 +638,15 @@ daNpcKasiHana_c::~daNpcKasiHana_c() { #endif } -cPhs__Step daNpcKasiHana_c::Create() { +cPhs_Step daNpcKasiHana_c::Create() { fopAcM_ct(this, daNpcKasiHana_c); mMessageNo = getMessageNo(); mType = getType(); - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; i < 3; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[i]); + phase = dComIfG_resLoad(&mPhases[i], l_arcNames[i]); if (phase != cPhs_COMPLEATE_e) { return phase; diff --git a/src/d/actor/d_a_npc_kasi_kyu.cpp b/src/d/actor/d_a_npc_kasi_kyu.cpp index 75d27aa733..27c4a0b6ba 100644 --- a/src/d/actor/d_a_npc_kasi_kyu.cpp +++ b/src/d/actor/d_a_npc_kasi_kyu.cpp @@ -210,15 +210,15 @@ daNpcKasiKyu_c::~daNpcKasiKyu_c() { #endif } -cPhs__Step daNpcKasiKyu_c::Create() { +cPhs_Step daNpcKasiKyu_c::Create() { fopAcM_ct(this, daNpcKasiKyu_c); mType = getType(); mMessageNo = getMessageNo(); - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; i < 3; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[i]); + phase = dComIfG_resLoad(&mPhases[i], l_arcNames[i]); if (phase != cPhs_COMPLEATE_e) { return phase; diff --git a/src/d/actor/d_a_npc_kasi_mich.cpp b/src/d/actor/d_a_npc_kasi_mich.cpp index cb24b87b35..e76b9b9823 100644 --- a/src/d/actor/d_a_npc_kasi_mich.cpp +++ b/src/d/actor/d_a_npc_kasi_mich.cpp @@ -210,15 +210,15 @@ daNpcKasiMich_c::~daNpcKasiMich_c() { #endif } -cPhs__Step daNpcKasiMich_c::Create() { +cPhs_Step daNpcKasiMich_c::Create() { fopAcM_ct(this, daNpcKasiMich_c); mType = getType(); mMessageNo = getMessageNo(); - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; i < 3; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[i]); + phase = dComIfG_resLoad(&mPhases[i], l_arcNames[i]); if (phase != cPhs_COMPLEATE_e) { return phase; diff --git a/src/d/actor/d_a_npc_kkri.cpp b/src/d/actor/d_a_npc_kkri.cpp index 204cf216c3..9be15f2f63 100644 --- a/src/d/actor/d_a_npc_kkri.cpp +++ b/src/d/actor/d_a_npc_kkri.cpp @@ -430,7 +430,7 @@ int daNpc_Kkri_c::CreateHeap() { int daNpc_Kkri_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Kkri_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_KKRI"); this->~daNpc_Kkri_c(); return 1; } @@ -568,7 +568,7 @@ void daNpc_Kkri_c::setParam() { attention_info.distances[fopAc_attn_SPEAK_e] = 57; } else { attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(attn_dist, attn_angle); - attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[0]; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_dist, talk_angle); } diff --git a/src/d/actor/d_a_npc_kn.cpp b/src/d/actor/d_a_npc_kn.cpp index f29e6b64fc..9378de990d 100644 --- a/src/d/actor/d_a_npc_kn.cpp +++ b/src/d/actor/d_a_npc_kn.cpp @@ -181,21 +181,21 @@ void daNpc_Kn_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_Kn_HIO_c::genMessage(JORMContext* ctext) { daNpcT_cmnGenMessage(ctext, &m.common); // alpha - ctext->genSlider("アルファ ", &m.alpha, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("攻撃され待ち時間 ", &m.attack_wait_time, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("追い討ち待ち時間", &m.followup_wait_time, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("小滑り距離 ", &m.small_slide_distance, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("大滑り距離 ", &m.big_slide_distance, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("ワープ距離 ", &m.warp_distance, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("攻撃吹飛び速度横", &m.attack_disappear_speed_h, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("攻撃吹飛び速度縦", &m.attack_disappear_speed_v, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("回転分割数 ", &m.rotation_num, 0, 100, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("回転角速度 ", &m.rotation_speed, 0, 0x7FFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("攻撃開始最小時間", &m.attack_start_min_time, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("攻撃開始時間幅 ", &m.attack_start_time_range, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("移動速度 ", &m.move_speed, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("アルファ ", &m.alpha, 0, 0xFF); + ctext->genSlider("攻撃され待ち時間 ", &m.attack_wait_time, 0, 10000); + ctext->genSlider("追い討ち待ち時間", &m.followup_wait_time, 0, 10000); + ctext->genSlider("小滑り距離 ", &m.small_slide_distance, 0.0f, 1000.0f); + ctext->genSlider("大滑り距離 ", &m.big_slide_distance, 0.0f, 1000.0f); + ctext->genSlider("ワープ距離 ", &m.warp_distance, 0.0f, 10000.0f); + ctext->genSlider("攻撃吹飛び速度横", &m.attack_disappear_speed_h, 0.0f, 1000.0f); + ctext->genSlider("攻撃吹飛び速度縦", &m.attack_disappear_speed_v, 0.0f, 1000.0f); + ctext->genSlider("回転分割数 ", &m.rotation_num, 0, 100); + ctext->genSlider("回転角速度 ", &m.rotation_speed, 0, 0x7FFF); + ctext->genSlider("攻撃開始最小時間", &m.attack_start_min_time, 0, 10000); + ctext->genSlider("攻撃開始時間幅 ", &m.attack_start_time_range, 0, 10000); + ctext->genSlider("移動速度 ", &m.move_speed, 0.0f, 1000.0f); // export file: - ctext->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctext->genButton("ファイル書き出し", 0x40000002); } #endif @@ -724,13 +724,7 @@ int daNpc_Kn_c::Draw() { tevcolor.g = 0; tevcolor.b = 0; tevcolor.a = s16(mpHIO->m.alpha); - return draw( -#if DEBUG - chkAction(&daNpc_Kn_c::test), -#else - FALSE, -#endif - FALSE, mpHIO->m.common.real_shadow_size, &tevcolor, 0.0f, TRUE, FALSE, FALSE); + return draw(NpcT_CHK_ACTION(daNpc_Kn_c), FALSE, mpHIO->m.common.real_shadow_size, &tevcolor, 0.0f, TRUE, FALSE, FALSE); } int daNpc_Kn_c::createHeapCallBack(fopAc_ac_c* i_this) { @@ -1362,12 +1356,8 @@ void daNpc_Kn_c::drawOtherMdl() { if (cM3d_IsZero(col_strength) == false) { mTevStr.TevColor.r = col_strength * 20.0f; } - } else { -#if DEBUG - if (chkAction(&daNpc_Kn_c::test)) { - mTevStr.TevColor.g = 20; - } -#endif + } else if (NpcT_CHK_ACTION(daNpc_Kn_c)) { + mTevStr.TevColor.g = 20; } g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr); diff --git a/src/d/actor/d_a_npc_kolin.cpp b/src/d/actor/d_a_npc_kolin.cpp index 44a3e9e2ba..b4cd80eb38 100644 --- a/src/d/actor/d_a_npc_kolin.cpp +++ b/src/d/actor/d_a_npc_kolin.cpp @@ -415,7 +415,7 @@ daNpc_Kolin_c::~daNpc_Kolin_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_Kolin_c::create() { +cPhs_Step daNpc_Kolin_c::create() { daNpcT_ct(this, daNpc_Kolin_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); mType = getType(); @@ -426,7 +426,7 @@ cPhs__Step daNpc_Kolin_c::create() { mTwilight = false; } - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x, BitSW:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, (getPathID() >> 32) & 0xFF, getBitSW() & 0xFF, fopAcM_GetParam(this)); diff --git a/src/d/actor/d_a_npc_kolinb.cpp b/src/d/actor/d_a_npc_kolinb.cpp index ef3a2f795a..a9036c679d 100644 --- a/src/d/actor/d_a_npc_kolinb.cpp +++ b/src/d/actor/d_a_npc_kolinb.cpp @@ -274,14 +274,14 @@ daNpc_Kolinb_c::~daNpc_Kolinb_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_Kolinb_c::create() { +cPhs_Step daNpc_Kolinb_c::create() { daNpcT_ct(this, daNpc_Kolinb_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); mType = getType(); mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) flowNo:%d, modelType:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, (getModelType() >> 32) & 0xFF, fopAcM_GetParam(this)); diff --git a/src/d/actor/d_a_npc_ks.cpp b/src/d/actor/d_a_npc_ks.cpp index 73402448f0..de11edd71d 100644 --- a/src/d/actor/d_a_npc_ks.cpp +++ b/src/d/actor/d_a_npc_ks.cpp @@ -79,38 +79,38 @@ daNpc_Ks_HIO_c::daNpc_Ks_HIO_c() { #if DEBUG void daNpc_Ks_HIO_c::genMessage(JORMContext* ctext) { // little monkey - ctext->genLabel(" 小猿 ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genLabel("  ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genLabel("  ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genLabel("  ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genLabel(" 小猿 ", 0x80000001); + ctext->genLabel("  ", 0x80000001); + ctext->genLabel("  ", 0x80000001); + ctext->genLabel("  ", 0x80000001); // (below is) lantern monkey related - ctext->genLabel(" ↓ カンテラ猿関連 ↓ ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genLabel(" ↓ カンテラ猿関連 ↓ ", 0x80000001); // latern swing interval - ctext->genSlider("カンテラ振り間隔", &lantern_swing_interval, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("カンテラ振り間隔", &lantern_swing_interval, 0.0f, 20.0f); // guided movement speed - ctext->genSlider("誘導移動速度", &guided_movement_speed, 0.0f, 60.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("誘導移動速度", &guided_movement_speed, 0.0f, 60.0f); // link approach distance - ctext->genSlider("リンク接近距離", &link_approach_distance, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("リンク接近距離", &link_approach_distance, 0.0f, 1000.0f); // lantern size - ctext->genSlider("カンテラサイズ", &lantern_size, 0.0f, 3.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("カンテラサイズ", &lantern_size, 0.0f, 3.0f); // (above is) lantern monkey related - ctext->genLabel(" ↑ カンテラ猿関連 ↑ ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genLabel("  ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genLabel("  ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genLabel("  ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genLabel("  ", 0x80000001, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genLabel(" ↑ カンテラ猿関連 ↑ ", 0x80000001); + ctext->genLabel("  ", 0x80000001); + ctext->genLabel("  ", 0x80000001); + ctext->genLabel("  ", 0x80000001); + ctext->genLabel("  ", 0x80000001); // basic size - ctext->genSlider("基本大きさ", &basic_size, 0.0f, 3.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("基本大きさ", &basic_size, 0.0f, 3.0f); // pull distance - ctext->genSlider("引連間合い", &pull_distance, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("引連間合い", &pull_distance, 0.0f, 500.0f); // holding speed L - ctext->genSlider("引連速L", &holding_speed_l, 0.0f, 60.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("引連速L", &holding_speed_l, 0.0f, 60.0f); // holding speed H - ctext->genSlider("引連速H", &holding_speed_h, 0.0f, 60.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("引連速H", &holding_speed_h, 0.0f, 60.0f); // demo speed - ctext->genSlider("デモ速", &demo_speed, 0.0f, 60.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("デモ速", &demo_speed, 0.0f, 60.0f); // demo speed 2 - ctext->genSlider("デモ速2", &demo_speed_2, 0.0f, 60.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("デモ速2", &demo_speed_2, 0.0f, 60.0f); } #endif diff --git a/src/d/actor/d_a_npc_lf.cpp b/src/d/actor/d_a_npc_lf.cpp index 43ea8362f3..e1d196d829 100644 --- a/src/d/actor/d_a_npc_lf.cpp +++ b/src/d/actor/d_a_npc_lf.cpp @@ -261,11 +261,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daNPC_LF_Create(fopAc_ac_c* i_this) { +static cPhs_Step daNPC_LF_Create(fopAc_ac_c* i_this) { fopAcM_ct(i_this, npc_lf_class); npc_lf_class* a_this = static_cast(i_this); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&a_this->mPhase, "NPC_LF"); + cPhs_Step phase = dComIfG_resLoad(&a_this->mPhase, "NPC_LF"); if (phase == cPhs_COMPLEATE_e) { a_this->mParam1 = fopAcM_GetParam(a_this); diff --git a/src/d/actor/d_a_npc_maro.cpp b/src/d/actor/d_a_npc_maro.cpp index f22bb5eb2a..709e27cb5c 100644 --- a/src/d/actor/d_a_npc_maro.cpp +++ b/src/d/actor/d_a_npc_maro.cpp @@ -17,10 +17,100 @@ #include "d/d_com_static.h" #include "d/d_item.h" #include "d/d_timer.h" +#if DEBUG +#include "d/d_debug_viewer.h" +#endif +const daNpc_Maro_HIOParam daNpc_Maro_Param_c::m = { + 100.0f, + -3.0f, + 1.0f, + 400.0f, + 255.0f, + 80.0f, + 35.0f, + 30.0f, + 0.0f, + 0.0f, + 10.0f, + -10.0f, + 30.0f, + -10.0f, + 30.0f, + -30.0f, + 0.6f, + 12.0f, + 3, + 6, + 5, + 6, + 110.0f, + 0.0f, + 0.0f, + 0.0f, + 60, + 8, + 0, + 0, + 0, + 0, + 0, + 4.0f, + -15.0f, + 0.0f, + -15.0f, + 15.0f, + 30.0f, + 15.0f, + 30.0f, + 0x0078, +}; + +#if VERSION != VERSION_WII_USA_R0 && VERSION != VERSION_SHIELD daNpc_Maro_c::actionFunc dummy_lit_4085() { return &daNpc_Maro_c::choccai; } +#endif + +#if DEBUG +daNpc_Maro_HIO_c::daNpc_Maro_HIO_c() { + m = daNpc_Maro_Param_c::m; +} + +void daNpc_Maro_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { + char msg_buffer[2000]; + + JORReflexible::listenPropertyEvent(event); + + JORFile aJStack_910; + int len; + switch ((u32)event->id) { + case 0x40000002: + if (aJStack_910.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL) != 0) { + memset(msg_buffer, 0, 2000); + len = 0; + daNpcT_cmnListenPropertyEvent(msg_buffer, &len, &m.common); + // Interval between interactions + sprintf(msg_buffer + len, "%d, \t// ちょっかい間隔\n", m.tease_interval); + len = strlen(msg_buffer); + aJStack_910.writeData(msg_buffer, len); + aJStack_910.close(); + OS_REPORT("write append success!::%6d\n", len); + } else { + OS_REPORT("write append failure!\n"); + } + break; + } +} + +void daNpc_Maro_HIO_c::genMessage(JORMContext* ctx) { + daNpcT_cmnGenMessage(ctx, &m.common); + // teasing interval + ctx->genSlider("ちょっかい間隔 ", &m.tease_interval, 1, 0x400); + // export file: + ctx->genButton("ファイル書き出し", 0x40000002); +} +#endif static int l_bmdData[2][2] = { {11, 1}, {5, 2}, @@ -155,68 +245,11 @@ daNpc_Maro_c::cutFunc daNpc_Maro_c::mCutList[17] = { &daNpc_Maro_c::cutTalkToKakashi, }; -const daNpc_Maro_HIOParam daNpc_Maro_Param_c::m = { - 100.0f, - -3.0f, - 1.0f, - 400.0f, - 255.0f, - 80.0f, - 35.0f, - 30.0f, - 0.0f, - 0.0f, - 10.0f, - -10.0f, - 30.0f, - -10.0f, - 30.0f, - -30.0f, - 0.6f, - 12.0f, - 3, - 6, - 5, - 6, - 110.0f, - 0.0f, - 0.0f, - 0.0f, - 60, - 8, - 0, - 0, - 0, - 0, - 0, - 4.0f, - -15.0f, - 0.0f, - -15.0f, - 15.0f, - 30.0f, - 15.0f, - 30.0f, - 0x0078, -}; - static NPC_MARO_HIO_CLASS l_HIO; -#if DEBUG -daNpc_Maro_HIO_c::daNpc_Maro_HIO_c() { - m = daNpc_Maro_Param_c::m; -} - -void daNpc_Maro_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { - // NONMATCHING -} - -void daNpc_Maro_HIO_c::genMessage(JORMContext* ctx) { - // NONMATCHING -} -#endif - daNpc_Maro_c::~daNpc_Maro_c() { + // destruct + OS_REPORT("|%06d:%x|daNpc_Maro_c -> デストラクト\n", g_Counter.mCounter0, this); deleteObject(); if (field_0x10bc != 0xFFFFFFFF) { dComIfG_TimerDeleteRequest(0); @@ -244,8 +277,8 @@ int daNpc_Maro_c::create() { 0, }; daNpcT_ct(this, daNpc_Maro_c, l_faceMotionAnmData, l_motionAnmData, - l_faceMotionSequenceData, 4, l_motionSequenceData, 4, - l_evtList, l_resNameList + l_faceMotionSequenceData, 4, l_motionSequenceData, 4, + l_evtList, l_resNameList ); mType = getType(); mFlowNodeNo = getFlowNodeNo(); @@ -256,10 +289,15 @@ int daNpc_Maro_c::create() { int rv = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (rv == cPhs_COMPLEATE_e) { + OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x, BitSW:%02x, MaxItem:%d, group:%d<%08x> ", fopAcM_getProcNameString(this), + mType, mFlowNodeNo, getPathID(), getBitSW(), getMaxNumItem(), getGroupId(), fopAcM_GetParam(this)); if (isDelete()) { + OS_REPORT("===>isDelete:TRUE\n"); return cPhs_ERROR_e; } + OS_REPORT("\n"); + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, heapSize[mType])) { return cPhs_ERROR_e; } @@ -299,26 +337,24 @@ int daNpc_Maro_c::create() { } int daNpc_Maro_c::CreateHeap() { - int bmd_get_idx; - if (mTwilight == 1) { - bmd_get_idx = 1; - } else { - bmd_get_idx = 0; - } - - J3DModelData* modelData = static_cast(dComIfG_getObjectRes( - l_resNameList[l_bmdData[bmd_get_idx][1]], l_bmdData[bmd_get_idx][0])); + J3DModelData* modelData = NULL; + J3DModel* model = NULL; + int bmdIdx = mTwilight == true ? TRUE : FALSE; + int res_name_idx = l_bmdData[bmdIdx][1]; + int my_bmd = l_bmdData[bmdIdx][0]; + modelData = static_cast(dComIfG_getObjectRes(l_resNameList[res_name_idx], my_bmd)); if (modelData == NULL) { return 0; } - mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, - 0x80000, 0x11020284); + u32 sp_0x1c = 0x11020284; + mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, + sp_0x1c); if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) { return 0; } - J3DModel* model = mpMorf[0]->getModel(); + model = mpMorf[0]->getModel(); for (u16 i = 0; i < modelData->getJointNum(); i++) { modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); } @@ -337,7 +373,8 @@ int daNpc_Maro_c::CreateHeap() { } int daNpc_Maro_c::Delete() { - fopAcM_GetID(this); + OS_REPORT("|%06d:%x|daNpc_Maro_c -> Delete\n", g_Counter.mCounter0, this); + fopAcM_RegisterDeleteID(this, "NPC_MARO"); this->~daNpc_Maro_c(); return 1; } @@ -366,11 +403,12 @@ int daNpc_Maro_c::Draw() { J3DModelData* modelData = mpMorf[0]->getModel()->getModelData(); modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return daNpcT_c::draw(0, 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0); + return daNpcT_c::draw(NpcT_CHK_ACTION(daNpc_Maro_c), 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0); } int daNpc_Maro_c::createHeapCallBack(fopAc_ac_c* i_this) { - return static_cast(i_this)->CreateHeap(); + daNpc_Maro_c* a_this = static_cast(i_this); + return a_this->CreateHeap(); } int daNpc_Maro_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { @@ -385,11 +423,15 @@ int daNpc_Maro_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { return 1; } -void* daNpc_Maro_c::srchArrow(void* param_1, void* param_2) { - if (mFindCount < 50 && param_1 != NULL && param_1 != param_2) { - if (fopAcM_IsExecuting(fopAcM_GetID(param_1)) && fopAcM_GetName(param_1) == PROC_ARROW) { - mFindActorPtrs[mFindCount] = (fopAc_ac_c*)param_1; - mFindCount++; +void* daNpc_Maro_c::srchArrow(void* arg0, void* arg1) { + fopAc_ac_c* fop1 = (fopAc_ac_c*) arg1; + if (mFindCount < 50) { + fopAc_ac_c* fop0 = (fopAc_ac_c*) arg0; + if (fop0 != NULL && fop0 != fop1) { + if (fopAcM_IsExecuting(fopAcM_GetID(fop0)) && fopAcM_GetName(fop0) == PROC_ARROW) { + mFindActorPtrs[mFindCount] = fop0; + mFindCount++; + } } } return NULL; @@ -413,10 +455,13 @@ fopAc_ac_c* daNpc_Maro_c::getArrowP() { void* daNpc_Maro_c::srchItaMato(void* arg0, void* arg1) { fopAc_ac_c* fop1 = (fopAc_ac_c*) arg1; - if (mFindCount < 50 && arg0 != NULL && arg0 != fop1) { - if (fopAcM_IsExecuting(fopAcM_GetID(arg0)) && fopAcM_GetName(arg0) == PROC_OBJ_ITAMATO) { - mFindActorPtrs[mFindCount] = (fopAc_ac_c*)arg0; - mFindCount++; + if (mFindCount < 50) { + fopAc_ac_c* fop0 = (fopAc_ac_c*) arg0; + if (fop0 != NULL && fop0 != fop1) { + if (fopAcM_IsExecuting(fopAcM_GetID(fop0)) && fopAcM_GetName(fop0) == PROC_OBJ_ITAMATO) { + mFindActorPtrs[mFindCount] = fop0; + mFindCount++; + } } } return NULL; @@ -594,11 +639,13 @@ void daNpc_Maro_c::reset() { } field_0x10bc = -1; +#if VERSION != VERSION_WII_USA_R0 daNpcT_offTmpBit(0x3C); daNpcT_offTmpBit(0x3F); daNpcT_offTmpBit(0x40); daNpcT_offTmpBit(0x41); daNpcT_offTmpBit(0x42); +#endif daNpcT_offTmpBit(0x64); setAngle(acStack_20); } @@ -669,9 +716,9 @@ void daNpc_Maro_c::setParam() { } } - attention_info.distances[0] = daNpcT_getDistTableIdx(sVar8, sVar7); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = daNpcT_getDistTableIdx(sVar10, sVar9); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar8, sVar7); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar10, sVar9); attention_info.flags = uVar7; scale.set(mpHIO->m.common.scale, mpHIO->m.common.scale, @@ -778,37 +825,37 @@ void daNpc_Maro_c::srchActors() { switch (mType) { case TYPE_0: { if (mActorMngr[0].getActorP() == NULL) { - mActorMngr[0].entry(getNearestActorP(0x241)); + mActorMngr[0].entry(getNearestActorP(PROC_NPC_KAKASHI)); } if (mActorMngr[1].getActorP() == NULL) { - mActorMngr[1].entry(getNearestActorP(0x26E)); + mActorMngr[1].entry(getNearestActorP(PROC_NPC_TARO)); } if (mActorMngr[2].getActorP() == NULL) { - mActorMngr[2].entry(getNearestActorP(0x245)); + mActorMngr[2].entry(getNearestActorP(PROC_NPC_BESU)); } if (mActorMngr[3].getActorP() == NULL) { - mActorMngr[3].entry(getNearestActorP(0x25D)); + mActorMngr[3].entry(getNearestActorP(PROC_NPC_KOLIN)); } break; } case TYPE_1: { if (mActorMngr[0].getActorP() == NULL) { - mActorMngr[0].entry(getNearestActorP(0x241)); + mActorMngr[0].entry(getNearestActorP(PROC_NPC_KAKASHI)); } if (mActorMngr[1].getActorP() == NULL) { - mActorMngr[1].entry(getNearestActorP(0x26E)); + mActorMngr[1].entry(getNearestActorP(PROC_NPC_TARO)); } break; } case TYPE_3: { if (mActorMngr[8].getActorP() == NULL) { - mActorMngr[8].entry(getNearestActorP(0x250)); + mActorMngr[8].entry(getNearestActorP(PROC_NPC_LEN)); } break; @@ -818,7 +865,7 @@ void daNpc_Maro_c::srchActors() { case TYPE_7: { if (&daNpc_Maro_c::arrowTutorial == field_0x110c) { if (mActorMngr[1].getActorP() == NULL) { - mActorMngr[1].entry(getNearestActorP(0x26E)); + mActorMngr[1].entry(getNearestActorP(PROC_NPC_TARO)); } if (mActorMngr[6].getActorP() == NULL) { @@ -835,7 +882,7 @@ void daNpc_Maro_c::srchActors() { case TYPE_10: { if (mActorMngr[2].getActorP() == NULL) { - mActorMngr[2].entry(getNearestActorP(0x245)); + mActorMngr[2].entry(getNearestActorP(PROC_NPC_BESU)); } break; @@ -843,34 +890,34 @@ void daNpc_Maro_c::srchActors() { case TYPE_12: { if (mActorMngr[1].getActorP() == NULL) { - mActorMngr[1].entry(getNearestActorP(0x26E)); + mActorMngr[1].entry(getNearestActorP(PROC_NPC_TARO)); } if (mActorMngr[3].getActorP() == NULL) { - mActorMngr[3].entry(getNearestActorP(0x25d)); + mActorMngr[3].entry(getNearestActorP(PROC_NPC_KOLIN)); } if (mActorMngr[7].getActorP() == NULL) { - mActorMngr[7].entry(getNearestActorP(0x264)); + mActorMngr[7].entry(getNearestActorP(PROC_NPC_SARU)); } break; } case TYPE_13: { if (mActorMngr[0].getActorP() == NULL) { - mActorMngr[0].entry(getNearestActorP(0x241)); + mActorMngr[0].entry(getNearestActorP(PROC_NPC_KAKASHI)); } if (mActorMngr[1].getActorP() == NULL) { - mActorMngr[1].entry(getNearestActorP(0x26E)); + mActorMngr[1].entry(getNearestActorP(PROC_NPC_TARO)); } if (mActorMngr[2].getActorP() == NULL) { - mActorMngr[2].entry(getNearestActorP(0x245)); + mActorMngr[2].entry(getNearestActorP(PROC_NPC_BESU)); } if (mActorMngr[3].getActorP() == NULL) { - mActorMngr[3].entry(getNearestActorP(0x25D)); + mActorMngr[3].entry(getNearestActorP(PROC_NPC_KOLIN)); } break; } @@ -1024,6 +1071,7 @@ void daNpc_Maro_c::setAttnPos() { void daNpc_Maro_c::setCollision() { cXyz cStack_48; if (!mHide) { + u32 co_sprm = 0x79; int tgType = 0xd8fbfdff; int tgSPrm = 0x1f; if (mTwilight) { @@ -1033,7 +1081,7 @@ void daNpc_Maro_c::setCollision() { tgType = 0; tgSPrm = 0; } - mCyl1.SetCoSPrm(0x79); + mCyl1.SetCoSPrm(co_sprm); mCyl1.SetTgType(tgType); mCyl1.SetTgSPrm(tgSPrm); mCyl1.OnTgNoHitMark(); @@ -1054,6 +1102,17 @@ void daNpc_Maro_c::setCollision() { } BOOL daNpc_Maro_c::drawDbgInfo() { +#if DEBUG + if (mpHIO->m.common.debug_info_ON) { + f32 dist_max_speak = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_SPEAK_e]).mDistMax; + f32 dist_max_talk = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_TALK_e]).mDistMax; + dDbVw_drawCircleOpa(attention_info.position, dist_max_speak, (GXColor){0x00, 0xC8, 0x00, 0xFF}, 1, 12); + dDbVw_drawCircleOpa(attention_info.position, dist_max_talk, (GXColor){0xC8, 0x00, 0x00, 0xFF}, 1, 12); + dDbVw_drawSphereXlu(eyePos, 18.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + dDbVw_drawSphereXlu(attention_info.position, 9.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + } +#endif + return FALSE; } @@ -1087,6 +1146,13 @@ void daNpc_Maro_c::drawOtherMdl() { int daNpc_Maro_c::selectAction() { field_0x110c = NULL; +#if DEBUG + if (mpHIO->m.common.debug_mode_ON) { + field_0x110c = &daNpc_Maro_c::test; + return 1; + } +#endif + switch (mType) { case 7: { field_0x110c = &daNpc_Maro_c::tend; @@ -1384,7 +1450,7 @@ int daNpc_Maro_c::cutFindMonkey(int arg0) { mJntAnm.lookNone(0); if (mEventTimer == 0) { actor_p = dComIfGp_getHorseActor(); - JUT_ASSERT(0xA99, NULL != actor_p); + JUT_ASSERT(2713, NULL != actor_p); my_vec_0 = actor_p->current.pos; if (50.0f < current.pos.absXZ(my_vec_0)) { cLib_addCalcAngleS2(¤t.angle.y, cLib_targetAngleY(¤t.pos, &my_vec_0), 4, 0x800); @@ -1464,7 +1530,7 @@ int daNpc_Maro_c::cutGiveMeWoodSwd(int arg0) { case 1: { actor_p = mActorMngr[3].getActorP(); - JUT_ASSERT(0xB00, NULL != actor_p); + JUT_ASSERT(2816, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); retval = 1; break; @@ -1568,7 +1634,7 @@ int daNpc_Maro_c::cutGetWoodSwd(int arg0) { case 1: { actor_p = mActorMngr[3].getActorP(); - JUT_ASSERT(0xB79, NULL != actor_p); + JUT_ASSERT(2937, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); retval = 1; break; @@ -1577,7 +1643,7 @@ int daNpc_Maro_c::cutGetWoodSwd(int arg0) { case 2: case 3: { actor_p = mActorMngr[1].getActorP(); - JUT_ASSERT(0xB81, NULL != actor_p); + JUT_ASSERT(2945, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); retval = 1; break; @@ -1585,7 +1651,7 @@ int daNpc_Maro_c::cutGetWoodSwd(int arg0) { case 4: { actor_p = mActorMngr[1].getActorP(); - JUT_ASSERT(0xB81, NULL != actor_p); + JUT_ASSERT(2952, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); if (mEventTimer == 0) { my_vec_0.set(0.0f, 0.0f, 1600.0f); @@ -1628,7 +1694,6 @@ int daNpc_Maro_c::cutGetWoodSwd(int arg0) { int daNpc_Maro_c::cutConversationWithMaro(int arg0) { fopAc_ac_c* actor_p = NULL; - cXyz my_vec_0; int retval = 0; int* param_p = NULL; int prm_val = -1; @@ -1637,11 +1702,19 @@ int daNpc_Maro_c::cutConversationWithMaro(int arg0) { prm_val = *param_p; } - dComIfGp_getEventManager().getIsAddvance(arg0); + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { +#if DEBUG + switch (prm_val) { + case 0: + break; + } +#endif + } + switch (prm_val) { case 0: { actor_p = mActorMngr[1].getActorP(); - JUT_ASSERT(0xB81, NULL != actor_p); + JUT_ASSERT(3040, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); retval = 1; break; @@ -1675,6 +1748,7 @@ int daNpc_Maro_c::cutCacaricoConversation(int arg0) { } } + int dummy_vals[2] = {-1, -1}; // unused switch (prm_val) { case 0: { mJntAnm.lookPlayer(0); @@ -1748,11 +1822,6 @@ int daNpc_Maro_c::cutSurprise(int arg0) { return retval; } -int dummy_lit_6272(int arg) { - int dummy_vals[2] = {-1, -1}; - return dummy_vals[arg]; -} - int daNpc_Maro_c::cutArrowTutorial(int arg0) { fopAc_ac_c* actor_p = NULL; cXyz my_vec_0, temp, my_vec_2; @@ -1797,7 +1866,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 0: { mActorMngr[4].entry(getItaMatoP(1)); actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xCC3, NULL != actor_p); + JUT_ASSERT(3267, NULL != actor_p); dComIfGp_getEvent()->setPtI(actor_p); break; } @@ -1810,7 +1879,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 2: case 4: { actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xCCE, NULL != actor_p); + JUT_ASSERT(3278, NULL != actor_p); dComIfGp_getEvent()->setPt2(actor_p); break; } @@ -1866,7 +1935,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { dComIfGp_getEvent()->setPtT(this); mActorMngr[4].entry(getItaMatoP(1)); actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xD0B, NULL != actor_p); + JUT_ASSERT(3339, NULL != actor_p); dComIfGp_getEvent()->setPtI(actor_p); break; } @@ -1885,7 +1954,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 32: { mActorMngr[4].entry(getItaMatoP(2)); actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xD1E, NULL != actor_p); + JUT_ASSERT(3358, NULL != actor_p); dComIfGp_getEvent()->setPtI(actor_p); dComIfGp_getEvent()->setPt2(actor_p); } @@ -1901,7 +1970,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { mEventTimer = timer_val; mActorMngr[4].entry(getItaMatoP(2)); actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xD2E, NULL != actor_p); + JUT_ASSERT(3374, NULL != actor_p); dComIfGp_getEvent()->setPtI(actor_p); dComIfGp_getEvent()->setPt2(actor_p); break; @@ -1937,7 +2006,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 65: { actor_p = mActorMngr[1].getActorP(); - JUT_ASSERT(0xD2E, NULL != actor_p); + JUT_ASSERT(3415, NULL != actor_p); dComIfGp_getEvent()->setPt2(actor_p); break; } @@ -2007,7 +2076,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { mDoMtx_stack_c::multVec(&my_vec_0, &temp); mGndChk.SetPos(&temp); temp.y = dComIfG_Bgsp().GroundCross(&mGndChk); - JUT_ASSERT(0xDA9, -G_CM3D_F_INF != temp.y); + JUT_ASSERT(3497, -G_CM3D_F_INF != temp.y); dComIfGp_evmng_setGoal(&temp); } @@ -2017,7 +2086,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 34: { mActorMngr[4].entry(getItaMatoP(2)); actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xDB3, NULL != actor_p); + JUT_ASSERT(3507, NULL != actor_p); dComIfGp_getEvent()->setPtI(actor_p); dComIfGp_getEvent()->setPt2(actor_p); } @@ -2029,7 +2098,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 44: { actor_p = mActorMngr[1].getActorP(); - JUT_ASSERT(0xDBD, NULL != actor_p); + JUT_ASSERT(3517, NULL != actor_p); dComIfGp_getEvent()->setPt2(actor_p); break; } @@ -2072,7 +2141,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { if (prm_val == 1 && retval != 0) { actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xDF0, NULL != actor_p); + JUT_ASSERT(3568, NULL != actor_p); dComIfGp_getEvent()->setPt2(actor_p); } @@ -2084,7 +2153,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 5: { if (prm_val != 5) { actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xDFA, NULL != actor_p); + JUT_ASSERT(3578, NULL != actor_p); mJntAnm.lookActor(actor_p, 0.0f, 0); } @@ -2166,7 +2235,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 30: { actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xE48, NULL != actor_p); + JUT_ASSERT(3656, NULL != actor_p); mJntAnm.lookActor(actor_p, 0.0f, 0); if (cLib_calcTimer(&mEventTimer) == 0) { retval = 1; @@ -2178,7 +2247,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 32: case 91: { actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xE48, NULL != actor_p); + JUT_ASSERT(3666, NULL != actor_p); mJntAnm.lookActor(actor_p, 0.0f, 0); my_vals[0] = msgNo_val; if (talkProc(my_vals, send_val, local_4c, false)) { @@ -2209,7 +2278,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 40: { actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xE48, NULL != actor_p); + JUT_ASSERT(3697, NULL != actor_p); mJntAnm.lookActor(actor_p, 0.0f, 0); if (cLib_calcTimer(&mEventTimer) == 0) { retval = 1; @@ -2220,7 +2289,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 41: { actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xE48, NULL != actor_p); + JUT_ASSERT(3706, NULL != actor_p); mJntAnm.lookActor(actor_p, 0.0f, 0); my_vals[0] = msgNo_val; if (talkProc(my_vals, 0, local_4c, false)) { @@ -2235,7 +2304,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { if (retval != 0) { actor_p = mActorMngr[1].getActorP(); - JUT_ASSERT(0xE48, NULL != actor_p); + JUT_ASSERT(3721, NULL != actor_p); dComIfGp_getEvent()->setPt2(actor_p); } @@ -2246,7 +2315,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 43: case 92: { actor_p = mActorMngr[1].getActorP(); - JUT_ASSERT(0xE48, NULL != actor_p); + JUT_ASSERT(3730, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); my_vals[0] = msgNo_val; if (talkProc(my_vals, send_val, local_4c, false)) { @@ -2437,7 +2506,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 34: { actor_p = mActorMngr[4].getActorP(); - JUT_ASSERT(0xE48, NULL != actor_p); + JUT_ASSERT(3927, NULL != actor_p); mJntAnm.lookActor(actor_p, 0.0f, 0); my_vals[0] = msgNo_val; if (talkProc(my_vals, send_val, local_4c, 0)) { @@ -2468,7 +2537,7 @@ int daNpc_Maro_c::cutArrowTutorial(int arg0) { case 44: { actor_p = mActorMngr[1].getActorP(); - JUT_ASSERT(0xE48, NULL != actor_p); + JUT_ASSERT(3958, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); my_vals[0] = msgNo_val; if (talkProc(my_vals, send_val, local_4c, 0)) { @@ -2560,7 +2629,7 @@ int daNpc_Maro_c::cutMarosWhisper(int arg0) { case 0: { endChoccai(); actor_p = mActorMngr[0].getActorP(); - JUT_ASSERT(0xFF8, NULL != actor_p); + JUT_ASSERT(4088, NULL != actor_p); angle_y = fopAcM_searchActorAngleY(daPy_getPlayerActorClass(), actor_p); daPy_getPlayerActorClass()->setPlayerPosAndAngle(&daPy_getPlayerActorClass()->current.pos, angle_y, 0); @@ -2622,6 +2691,7 @@ int daNpc_Maro_c::cutMarosWhisper(int arg0) { } int daNpc_Maro_c::cutTagPush1(int arg0) { + int retval = 0; int* param_p = NULL; int prm_val = -1; param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); @@ -2648,15 +2718,22 @@ int daNpc_Maro_c::cutTagPush1(int arg0) { case 0: { action(); mEvtNo = 0; - return 1; + retval = 1; + break; } case 1: { - return 1; + retval = 1; + break; + } + + default: { + retval = 1; + break; } } - return 1; + return retval; } int daNpc_Maro_c::cutNotGonnaLet(int arg0) { @@ -2682,7 +2759,7 @@ int daNpc_Maro_c::cutNotGonnaLet(int arg0) { mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); mMotionSeqMngr.setNo(4, 0.0f, 0, 0); actor_p = mActorMngr[3].getActorP(); - JUT_ASSERT(0x108E, NULL != actor_p); + JUT_ASSERT(4238, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); my_vec_0.set(-718.0f, 1331.0f, -2139.0f); setPos(my_vec_0); @@ -2711,7 +2788,7 @@ int daNpc_Maro_c::cutNotGonnaLet(int arg0) { mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); mMotionSeqMngr.setNo(0, 0.0f, 0, 0); actor_p = mActorMngr[3].getActorP(); - JUT_ASSERT(0x10B0, NULL != actor_p); + JUT_ASSERT(4272, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 0); my_vec_0.set(-718.0f, 1331.0f, -2139.0f); setPos(my_vec_0); @@ -2819,7 +2896,7 @@ int daNpc_Maro_c::cutTalkToKakashi(int arg0) { mDoMtx_stack_c::multVec(&my_vec_0, &temp); mGndChk.SetPos(&temp); temp.y = dComIfG_Bgsp().GroundCross(&mGndChk); - JUT_ASSERT(0xDA9, -G_CM3D_F_INF != temp.y); + JUT_ASSERT(4393, -G_CM3D_F_INF != temp.y); angle_y = cLib_targetAngleY(&temp, ¤t.pos); daPy_getPlayerActorClass()->setPlayerPosAndAngle(&temp, angle_y, 0); break; @@ -2829,7 +2906,7 @@ int daNpc_Maro_c::cutTalkToKakashi(int arg0) { mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); mMotionSeqMngr.setNo(0, 0.0f, 0, 0); actor_p = mActorMngr[0].getActorP(); - JUT_ASSERT(0x1133, NULL != actor_p); + JUT_ASSERT(4403, NULL != actor_p); mJntAnm.lookActor(actor_p, -40.0f, 1); initTalk(mFlowNodeNo, NULL); break; @@ -2862,7 +2939,7 @@ int daNpc_Maro_c::cutTalkToKakashi(int arg0) { return retval; } -int daNpc_Maro_c::wait(void* param_0) { +int daNpc_Maro_c::wait(void*) { fopAc_ac_c* actor_p = NULL; switch (mMode) { case 0: @@ -3302,7 +3379,7 @@ int daNpc_Maro_c::arrowTutorial(void* ) { return 1; } -int daNpc_Maro_c::talk(void* param_0) { +int daNpc_Maro_c::talk(void*) { switch (mMode) { case 0: case 1: { @@ -3352,7 +3429,7 @@ int daNpc_Maro_c::talk(void* param_0) { return 0; } -int daNpc_Maro_c::shop(void* param_0) { +int daNpc_Maro_c::shop(void*) { int retval = 0; switch (mMode) { case 0: @@ -3389,6 +3466,26 @@ int daNpc_Maro_c::shop(void* param_0) { return retval; } +BOOL daNpc_Maro_c::test(void*) { + switch(mMode) { + case 0: + case 1: + speedF = 0.0f; + speed.setall(0.0f); + mMode = 2; + // fallthrough + case 2: + mFaceMotionSeqMngr.setNo(mpHIO->m.common.face_expression, -1.0f, 0, 0); + mMotionSeqMngr.setNo(mpHIO->m.common.motion, -1.0f, 0, 0); + mJntAnm.lookNone(0); + attention_info.flags = 0; + break; + case 3: + break; + } + return 1; +} + static int daNpc_Maro_Create(void* i_this) { return static_cast(i_this)->create(); } @@ -3405,7 +3502,7 @@ static int daNpc_Maro_Draw(void* i_this) { return static_cast(i_this)->Draw(); } -static int daNpc_Maro_IsDelete(void* i_this) { +static int daNpc_Maro_IsDelete(void*) { return 1; } diff --git a/src/d/actor/d_a_npc_midp.cpp b/src/d/actor/d_a_npc_midp.cpp index bfc79d1939..91228a5fc5 100644 --- a/src/d/actor/d_a_npc_midp.cpp +++ b/src/d/actor/d_a_npc_midp.cpp @@ -358,9 +358,9 @@ void daNpc_midP_c::setParam() { s16 sVar3 = mpHIO->m.common.attention_distance; s16 sVar4 = mpHIO->m.common.attention_angle; - attention_info.distances[0] = daNpcT_getDistTableIdx(sVar3, sVar4); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = daNpcT_getDistTableIdx(sVar1, sVar2); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar3, sVar4); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar1, sVar2); attention_info.flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; scale.setall(mpHIO->m.common.scale); diff --git a/src/d/actor/d_a_npc_moir.cpp b/src/d/actor/d_a_npc_moir.cpp index c672009145..64ab83e0d9 100644 --- a/src/d/actor/d_a_npc_moir.cpp +++ b/src/d/actor/d_a_npc_moir.cpp @@ -251,9 +251,9 @@ daNpcMoiR_HIO_c::daNpcMoiR_HIO_c() { } void daNpcMoiR_HIO_c::genMessage(JORMContext* ctext) { - ctext->genSlider("目玉横可動範囲", &m.horizontal_eye_movement_range, 0, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("デモ開始距離", &m.demo_start_dist, 200.0f, 600.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genCheckBox("デモ開始エリア", &m.demo_start_area, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctext->genSlider("目玉横可動範囲", &m.horizontal_eye_movement_range, 0, 0x7fff); + ctext->genSlider("デモ開始距離", &m.demo_start_dist, 200.0f, 600.0f); + ctext->genCheckBox("デモ開始エリア", &m.demo_start_area, 0x1); daNpcF_commonGenMessage(ctext, &m.common); } #endif @@ -284,7 +284,7 @@ daNpcMoiR_c::~daNpcMoiR_c() { #endif } -cPhs__Step daNpcMoiR_c::Create() { +cPhs_Step daNpcMoiR_c::Create() { fopAcM_ct(this, daNpcMoiR_c); if (strcmp(dComIfGp_getStartStageName(), "R_SP116") == 0 && dComIfG_play_c::getLayerNo(0) == 4) { @@ -315,9 +315,9 @@ cPhs__Step daNpcMoiR_c::Create() { } mMsgNo = getMessageNo(); - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; l_loadRes_list[mMode][i] >= 0; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_arcNames[l_loadRes_list[mMode][i]]); + phase = dComIfG_resLoad(&mPhase[i], l_arcNames[l_loadRes_list[mMode][i]]); if (phase != cPhs_COMPLEATE_e) { return phase; } diff --git a/src/d/actor/d_a_npc_myna2.cpp b/src/d/actor/d_a_npc_myna2.cpp index de8756360b..e8725b9f70 100644 --- a/src/d/actor/d_a_npc_myna2.cpp +++ b/src/d/actor/d_a_npc_myna2.cpp @@ -281,7 +281,7 @@ int daNpc_myna2_c::CreateHeap() { } int daNpc_myna2_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_MYNA2"); this->~daNpc_myna2_c(); return 1; } diff --git a/src/d/actor/d_a_npc_ne.cpp b/src/d/actor/d_a_npc_ne.cpp index 3aa0c95b08..414022d377 100644 --- a/src/d/actor/d_a_npc_ne.cpp +++ b/src/d/actor/d_a_npc_ne.cpp @@ -3095,7 +3095,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daNpc_Ne_Create(fopAc_ac_c* i_this) { +static cPhs_Step daNpc_Ne_Create(fopAc_ac_c* i_this) { npc_ne_class* _this = static_cast(i_this); fopAcM_ct(i_this, npc_ne_class); @@ -3104,7 +3104,7 @@ static cPhs__Step daNpc_Ne_Create(fopAc_ac_c* i_this) { } else { _this->mResName = "Npc_ne"; } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, _this->mResName); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, _this->mResName); if (step == cPhs_COMPLEATE_e) { _this->mBehavior = (u8)fopAcM_GetParam(_this); diff --git a/src/d/actor/d_a_npc_pachi_besu.cpp b/src/d/actor/d_a_npc_pachi_besu.cpp index 352e0cc3f7..637836d06f 100644 --- a/src/d/actor/d_a_npc_pachi_besu.cpp +++ b/src/d/actor/d_a_npc_pachi_besu.cpp @@ -542,7 +542,7 @@ daNpc_Pachi_Besu_c::~daNpc_Pachi_Besu_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_Pachi_Besu_c::create() { +cPhs_Step daNpc_Pachi_Besu_c::create() { daNpcT_ct(this, daNpc_Pachi_Besu_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -552,7 +552,7 @@ cPhs__Step daNpc_Pachi_Besu_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x35B0)) { return cPhs_ERROR_e; @@ -655,15 +655,7 @@ int daNpc_Pachi_Besu_c::Draw() { modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw( -#if DEBUG - chkAction(&daNpc_Pachi_Besu_c::test), -#else - FALSE, -#endif - FALSE, - mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE - ); + return draw(NpcT_CHK_ACTION(daNpc_Pachi_Besu_c), FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } int daNpc_Pachi_Besu_c::createHeapCallBack(fopAc_ac_c* a_this) { diff --git a/src/d/actor/d_a_npc_pachi_maro.cpp b/src/d/actor/d_a_npc_pachi_maro.cpp index 0685272d75..c22bd4ccb0 100644 --- a/src/d/actor/d_a_npc_pachi_maro.cpp +++ b/src/d/actor/d_a_npc_pachi_maro.cpp @@ -359,7 +359,7 @@ void daNpc_Pachi_Maro_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) void daNpc_Pachi_Maro_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -550,7 +550,7 @@ daNpc_Pachi_Maro_HIOParam const daNpc_Pachi_Maro_Param_c::m = { 0, }; -cPhs__Step daNpc_Pachi_Maro_c::create() { +cPhs_Step daNpc_Pachi_Maro_c::create() { daNpcT_ct(this, daNpc_Pachi_Maro_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -559,7 +559,7 @@ cPhs__Step daNpc_Pachi_Maro_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3310)) { return cPhs_ERROR_e; @@ -651,7 +651,7 @@ int daNpc_Pachi_Maro_c::CreateHeap() { int daNpc_Pachi_Maro_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Pachi_Maro_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_Pachi_MARO"); this->~daNpc_Pachi_Maro_c(); return 1; } @@ -666,15 +666,7 @@ int daNpc_Pachi_Maro_c::Draw() { modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw( -#if DEBUG - chkAction(&daNpc_Pachi_Maro_c::test), -#else - FALSE, -#endif - FALSE, - mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE - ); + return draw(NpcT_CHK_ACTION(daNpc_Pachi_Maro_c), FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } int daNpc_Pachi_Maro_c::createHeapCallBack(fopAc_ac_c* i_this) { diff --git a/src/d/actor/d_a_npc_pachi_taro.cpp b/src/d/actor/d_a_npc_pachi_taro.cpp index bd27296dc2..da1530e99e 100644 --- a/src/d/actor/d_a_npc_pachi_taro.cpp +++ b/src/d/actor/d_a_npc_pachi_taro.cpp @@ -477,7 +477,7 @@ void daNpc_Pachi_Taro_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) void daNpc_Pachi_Taro_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -777,7 +777,7 @@ daNpc_Pachi_Taro_HIOParam const daNpc_Pachi_Taro_Param_c::m = { 55.0f, }; -cPhs__Step daNpc_Pachi_Taro_c::create() { +cPhs_Step daNpc_Pachi_Taro_c::create() { daNpcT_ct(this, daNpc_Pachi_Taro_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -786,7 +786,7 @@ cPhs__Step daNpc_Pachi_Taro_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x48E0)) { return cPhs_ERROR_e; @@ -901,7 +901,7 @@ int daNpc_Pachi_Taro_c::CreateHeap() { int daNpc_Pachi_Taro_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Pachi_Taro_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_TARO"); this->~daNpc_Pachi_Taro_c(); return 1; } @@ -916,15 +916,7 @@ int daNpc_Pachi_Taro_c::Draw() { modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw( -#if DEBUG - chkAction(&daNpc_Pachi_Taro_c::test), -#else - FALSE, -#endif - FALSE, - mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE - ); + return draw(NpcT_CHK_ACTION(daNpc_Pachi_Taro_c), FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } int daNpc_Pachi_Taro_c::createHeapCallBack(fopAc_ac_c* i_this) { diff --git a/src/d/actor/d_a_npc_passer.cpp b/src/d/actor/d_a_npc_passer.cpp index 144542d9d6..91b5baebac 100644 --- a/src/d/actor/d_a_npc_passer.cpp +++ b/src/d/actor/d_a_npc_passer.cpp @@ -42,7 +42,7 @@ static int createHeapCallBack(fopAc_ac_c* i_this) { return actor->createHeap(); } -cPhs__Step daNpcPasser_c::create() { +cPhs_Step daNpcPasser_c::create() { fopAcM_ct(this, daNpcPasser_c); mIsDarkWorld = dKy_darkworld_check(); @@ -74,7 +74,7 @@ cPhs__Step daNpcPasser_c::create() { return cPhs_ERROR_e; } - cPhs__Step phase = (cPhs__Step)loadResrc(m_type, m_objNum); + cPhs_Step phase = loadResrc(m_type, m_objNum); if (phase == cPhs_COMPLEATE_e) { u32 i_size = 0; #if DEBUG diff --git a/src/d/actor/d_a_npc_passer2.cpp b/src/d/actor/d_a_npc_passer2.cpp index 4889cb7398..47f9dded36 100644 --- a/src/d/actor/d_a_npc_passer2.cpp +++ b/src/d/actor/d_a_npc_passer2.cpp @@ -201,7 +201,7 @@ static int daNpcPasser2_Create(void* i_this) { return static_cast(i_this)->create(); } -cPhs__Step daNpcPasser2_c::create() { +cPhs_Step daNpcPasser2_c::create() { fopAcM_ct(this, daNpcPasser2_c); mIsDarkWorld = dKy_darkworld_check(); @@ -235,7 +235,7 @@ cPhs__Step daNpcPasser2_c::create() { return cPhs_ERROR_e; } - cPhs__Step phase = (cPhs__Step)loadResrc(m_type, m_objNum); + cPhs_Step phase = loadResrc(m_type, m_objNum); if (phase == cPhs_COMPLEATE_e) { u32 i_size = 0; #if DEBUG diff --git a/src/d/actor/d_a_npc_post.cpp b/src/d/actor/d_a_npc_post.cpp index f82ef91e57..7b8fb2018c 100644 --- a/src/d/actor/d_a_npc_post.cpp +++ b/src/d/actor/d_a_npc_post.cpp @@ -194,9 +194,9 @@ void daNpc_Post_HIO_c::listenPropertyEvent(const JORPropertyEvent* evt) { void daNpc_Post_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); - ctx->genSlider("走り速度 ", &m.run_spd, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("頷き間隔 ", &m.nod_interval, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("走り速度 ", &m.run_spd, 0.0f, 100.0f); + ctx->genSlider("頷き間隔 ", &m.nod_interval, 0, 1000); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -385,7 +385,7 @@ daNpc_Post_HIOParam const daNpc_Post_Param_c::m = { 60, }; -cPhs__Step daNpc_Post_c::create() { +cPhs_Step daNpc_Post_c::create() { daNpcT_ct(this, daNpc_Post_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -393,7 +393,7 @@ cPhs__Step daNpc_Post_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = dKy_darkworld_check(); - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) flowNo:%d, BitSW:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, getBitSW(), fopAcM_GetParam(this)); @@ -521,7 +521,7 @@ int daNpc_Post_c::CreateHeap() { int daNpc_Post_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Post_c -> コンストラクト\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_POST"); this->~daNpc_Post_c(); return 1; } @@ -536,13 +536,7 @@ int daNpc_Post_c::Draw() { modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw( -#if DEBUG - chkAction(&daNpc_Post_c::test), -#else - 0, -#endif - 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0); + return draw(NpcT_CHK_ACTION(daNpc_Post_c), FALSE, mRealShadowSize, NULL, 100.0f, 0, 0, 0); } int daNpc_Post_c::createHeapCallBack(fopAc_ac_c* i_this) { diff --git a/src/d/actor/d_a_npc_raca.cpp b/src/d/actor/d_a_npc_raca.cpp index 3d259c2033..b32a06b630 100644 --- a/src/d/actor/d_a_npc_raca.cpp +++ b/src/d/actor/d_a_npc_raca.cpp @@ -229,7 +229,7 @@ daNpc_Raca_c::~daNpc_Raca_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_Raca_c::create() { +cPhs_Step daNpc_Raca_c::create() { daNpcT_ct(this, daNpc_Raca_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -237,7 +237,7 @@ cPhs__Step daNpc_Raca_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = dKy_darkworld_check(); - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3A10)) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_npc_rafrel.cpp b/src/d/actor/d_a_npc_rafrel.cpp index a3576806d4..152b9fc5d2 100644 --- a/src/d/actor/d_a_npc_rafrel.cpp +++ b/src/d/actor/d_a_npc_rafrel.cpp @@ -142,8 +142,8 @@ daNpcRafrel_HIO_c::daNpcRafrel_HIO_c() { } void daNpcRafrel_HIO_c::genMessage(JORMContext* ctx) { - ctx->genSlider("デモ開始距離", &m.demo_start_dist, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("デモ開始エリア", &m.demo_start_area, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("デモ開始距離", &m.demo_start_dist, 0.0f, 500.0f); + ctx->genCheckBox("デモ開始エリア", &m.demo_start_area, 0x1); daNpcF_commonGenMessage(ctx, &m.common); } #endif @@ -349,9 +349,7 @@ int daNpcRafrel_c::CreateHeap() { } int daNpcRafrel_c::Delete() { - "Delete -> NPC_RAFREL(id=%d)\n"; - - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_RAFREL"); this->~daNpcRafrel_c(); return 1; } diff --git a/src/d/actor/d_a_npc_saru.cpp b/src/d/actor/d_a_npc_saru.cpp index 8cae6ba680..8a1a370478 100644 --- a/src/d/actor/d_a_npc_saru.cpp +++ b/src/d/actor/d_a_npc_saru.cpp @@ -545,9 +545,9 @@ void daNpc_Saru_c::setParam() { s16 sVar3 = mpHIO->m.common.attention_distance; s16 sVar4 = mpHIO->m.common.attention_angle; - attention_info.distances[0] = daNpcT_getDistTableIdx(sVar3, sVar4); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = daNpcT_getDistTableIdx(sVar1, sVar2); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar3, sVar4); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar1, sVar2); if (mType == 2) { uVar1 = 0; diff --git a/src/d/actor/d_a_npc_seib.cpp b/src/d/actor/d_a_npc_seib.cpp index 525a3566b8..3d430c0e47 100644 --- a/src/d/actor/d_a_npc_seib.cpp +++ b/src/d/actor/d_a_npc_seib.cpp @@ -266,9 +266,9 @@ void daNpc_seiB_c::setParam() { dComIfGp_getAttention()->getDistTable(0x27).mDistMax = mpHIO->m.mDist; dComIfGp_getAttention()->getDistTable(0x27).mDistMaxRelease = mpHIO->m.mDist; - attention_info.distances[0] = 39; - attention_info.distances[1] = 39; - attention_info.distances[3] = 39; + attention_info.distances[fopAc_attn_LOCK_e] = 39; + attention_info.distances[fopAc_attn_TALK_e] = 39; + attention_info.distances[fopAc_attn_SPEAK_e] = 39; attention_info.flags = 0; scale.set(mpHIO->m.common.scale, mpHIO->m.common.scale, mpHIO->m.common.scale); diff --git a/src/d/actor/d_a_npc_seic.cpp b/src/d/actor/d_a_npc_seic.cpp index d9f79b3d5f..5b75031fd4 100644 --- a/src/d/actor/d_a_npc_seic.cpp +++ b/src/d/actor/d_a_npc_seic.cpp @@ -273,9 +273,9 @@ void daNpc_seiC_c::setParam() { dComIfGp_getAttention()->getDistTable(0x27).mDistMax = mpHIO->m.field_0x90; dComIfGp_getAttention()->getDistTable(0x27).mDistMaxRelease = mpHIO->m.field_0x90; - attention_info.distances[0] = 39; - attention_info.distances[1] = 39; - attention_info.distances[3] = 39; + attention_info.distances[fopAc_attn_LOCK_e] = 39; + attention_info.distances[fopAc_attn_TALK_e] = 39; + attention_info.distances[fopAc_attn_SPEAK_e] = 39; attention_info.flags = 0; scale.set(mpHIO->m.common.scale, mpHIO->m.common.scale, mpHIO->m.common.scale); diff --git a/src/d/actor/d_a_npc_seid.cpp b/src/d/actor/d_a_npc_seid.cpp index 504fdaa912..de3a3c2c72 100644 --- a/src/d/actor/d_a_npc_seid.cpp +++ b/src/d/actor/d_a_npc_seid.cpp @@ -272,9 +272,9 @@ void daNpc_seiD_c::setParam() { dComIfGp_getAttention()->getDistTable(0x27).mDistMax = mpHIO->m.field_0x90; dComIfGp_getAttention()->getDistTable(0x27).mDistMaxRelease = mpHIO->m.field_0x90; - attention_info.distances[0] = 39; - attention_info.distances[1] = 39; - attention_info.distances[3] = 39; + attention_info.distances[fopAc_attn_LOCK_e] = 39; + attention_info.distances[fopAc_attn_TALK_e] = 39; + attention_info.distances[fopAc_attn_SPEAK_e] = 39; attention_info.flags = 0; scale.set(mpHIO->m.common.scale, mpHIO->m.common.scale, mpHIO->m.common.scale); diff --git a/src/d/actor/d_a_npc_seirei.cpp b/src/d/actor/d_a_npc_seirei.cpp index ff4cece557..306df2a332 100644 --- a/src/d/actor/d_a_npc_seirei.cpp +++ b/src/d/actor/d_a_npc_seirei.cpp @@ -226,7 +226,7 @@ daNpc_Seirei_c::~daNpc_Seirei_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_Seirei_c::create() { +cPhs_Step daNpc_Seirei_c::create() { daNpcT_ct(this, daNpc_Seirei_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -235,7 +235,7 @@ cPhs__Step daNpc_Seirei_c::create() { mTwilight = false; arg0 = fopAcM_GetParam(this) >> 28; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (arg0 != 0 && !fopAcM_entrySolidHeap(this, createHeapCallBack, 0)) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_npc_shad.cpp b/src/d/actor/d_a_npc_shad.cpp index 157dffcafa..bffc93e883 100644 --- a/src/d/actor/d_a_npc_shad.cpp +++ b/src/d/actor/d_a_npc_shad.cpp @@ -340,7 +340,7 @@ daNpcShad_c::~daNpcShad_c() { } } -cPhs__Step daNpcShad_c::Create() { +cPhs_Step daNpcShad_c::Create() { fopAcM_ct(this, daNpcShad_c); if (strcmp(dComIfGp_getStartStageName(), "R_SP116") == 0 && dComIfG_play_c::getLayerNo(0) == 4) { @@ -410,9 +410,9 @@ cPhs__Step daNpcShad_c::Create() { field_0xe14 = sVar1; field_0xe16 = field_0xe14; - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; l_loadRes_list[mMode][i] >= 0; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[l_loadRes_list[mMode][i]]); + phase = dComIfG_resLoad(&mPhases[i], l_arcNames[l_loadRes_list[mMode][i]]); if (phase != cPhs_COMPLEATE_e) { return phase; diff --git a/src/d/actor/d_a_npc_shaman.cpp b/src/d/actor/d_a_npc_shaman.cpp index d54e922857..aedba3e5f9 100644 --- a/src/d/actor/d_a_npc_shaman.cpp +++ b/src/d/actor/d_a_npc_shaman.cpp @@ -39,7 +39,7 @@ void daNpc_Sha_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_Sha_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -236,7 +236,7 @@ daNpc_Sha_HIOParam const daNpc_Sha_Param_c::m = { 0.0, }; -cPhs__Step daNpc_Sha_c::create() { +cPhs_Step daNpc_Sha_c::create() { daNpcT_ct(this, daNpc_Sha_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -244,7 +244,7 @@ cPhs__Step daNpc_Sha_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) flowNo:%d<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, fopAcM_GetParam(this)); @@ -328,7 +328,7 @@ int daNpc_Sha_c::CreateHeap() { int daNpc_Sha_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Sha_c -> コンストラクト\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_SHAMAN"); this->~daNpc_Sha_c(); return 1; } @@ -343,11 +343,7 @@ int daNpc_Sha_c::Draw() { mdlData_p->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - #if DEBUG - return draw(chkAction(&daNpc_Sha_c::test), FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); - #else - return draw(FALSE, FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); - #endif + return draw(NpcT_CHK_ACTION(daNpc_Sha_c), FALSE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE); } int daNpc_Sha_c::createHeapCallBack(fopAc_ac_c* i_this) { diff --git a/src/d/actor/d_a_npc_shoe.cpp b/src/d/actor/d_a_npc_shoe.cpp index c8e825cd09..1639f2ee86 100644 --- a/src/d/actor/d_a_npc_shoe.cpp +++ b/src/d/actor/d_a_npc_shoe.cpp @@ -117,8 +117,8 @@ daNpcShoe_c::~daNpcShoe_c() { } } -cPhs__Step daNpcShoe_c::Create() { - cPhs__Step step; +cPhs_Step daNpcShoe_c::Create() { + cPhs_Step step; fopAcM_ct(this, daNpcShoe_c); @@ -126,7 +126,7 @@ cPhs__Step daNpcShoe_c::Create() { step = cPhs_ERROR_e; for (int i = 0; i < 3; i++) { - step = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[i]); + step = dComIfG_resLoad(&mPhases[i], l_arcNames[i]); if (step != cPhs_COMPLEATE_e) { return step; } @@ -634,7 +634,7 @@ bool daNpcShoe_c::demo(void* param_0) { return 1; } -static cPhs__Step daNpcShoe_Create(void* i_this) { +static cPhs_Step daNpcShoe_Create(void* i_this) { return static_cast(i_this)->Create(); } @@ -655,10 +655,10 @@ static bool daNpcShoe_IsDelete(void* param_0) { } void daNpcShoe_c::setParam() { - attention_info.distances[0] = + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(mpHIO->m.common.attention_distance, mpHIO->m.common.attention_angle); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(mpHIO->m.common.talk_distance, mpHIO->m.common.talk_angle); attention_info.flags = diff --git a/src/d/actor/d_a_npc_soldierA.cpp b/src/d/actor/d_a_npc_soldierA.cpp index ddfc244175..439ae1f11f 100644 --- a/src/d/actor/d_a_npc_soldierA.cpp +++ b/src/d/actor/d_a_npc_soldierA.cpp @@ -199,7 +199,7 @@ daNpc_SoldierA_HIOParam const daNpc_SoldierA_Param_c::m = { false, }; -cPhs__Step daNpc_SoldierA_c::create() { +cPhs_Step daNpc_SoldierA_c::create() { mTwilight = dKy_darkworld_check(); fopAcM_ct(this, daNpc_SoldierA_c); @@ -219,7 +219,7 @@ cPhs__Step daNpc_SoldierA_c::create() { int res_count = 0; int i = 0; for (; l_loadRes_list[mType][i] >= 0; i++) { - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); + cPhs_Step phase = dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } @@ -311,7 +311,7 @@ int daNpc_SoldierA_c::CreateHeap() { } int daNpc_SoldierA_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_SOLDIERa"); this->~daNpc_SoldierA_c(); return 1; } diff --git a/src/d/actor/d_a_npc_soldierB.cpp b/src/d/actor/d_a_npc_soldierB.cpp index d26caca468..74d68caa56 100644 --- a/src/d/actor/d_a_npc_soldierB.cpp +++ b/src/d/actor/d_a_npc_soldierB.cpp @@ -164,7 +164,7 @@ daNpc_SoldierB_HIOParam const daNpc_SoldierB_Param_c::m = { false, // debug_info_ON }; -cPhs__Step daNpc_SoldierB_c::create() { +cPhs_Step daNpc_SoldierB_c::create() { mTwilight = dKy_darkworld_check(); fopAcM_ct(this, daNpc_SoldierB_c); @@ -184,8 +184,8 @@ cPhs__Step daNpc_SoldierB_c::create() { int res_count = 0; int i = 0; for (; l_loadRes_list[mType][i] >= 0; i++) { - cPhs__Step phase = - (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); + cPhs_Step phase = + dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } @@ -273,7 +273,7 @@ int daNpc_SoldierB_c::CreateHeap() { } int daNpc_SoldierB_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_SOLDIERb"); this->~daNpc_SoldierB_c(); return 1; } diff --git a/src/d/actor/d_a_npc_sq.cpp b/src/d/actor/d_a_npc_sq.cpp index 834cd33476..cb883f0b24 100644 --- a/src/d/actor/d_a_npc_sq.cpp +++ b/src/d/actor/d_a_npc_sq.cpp @@ -316,11 +316,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { 1, 0, 1.0f, 0, -1) ? 1 : 0; } -static cPhs__Step daNpc_Sq_Create(fopAc_ac_c* i_this) { +static cPhs_Step daNpc_Sq_Create(fopAc_ac_c* i_this) { fopAcM_ct(i_this, npc_sq_class); npc_sq_class* _this = static_cast(i_this); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhaseReq, "Sq"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhaseReq, "Sq"); if (step == cPhs_COMPLEATE_e) { /* dSv_event_flag_c::D_0001 - Ordon Village - Stopped by squirrel in front of house at night */ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[25])) { diff --git a/src/d/actor/d_a_npc_taro.cpp b/src/d/actor/d_a_npc_taro.cpp index d68fb52e52..32956de232 100644 --- a/src/d/actor/d_a_npc_taro.cpp +++ b/src/d/actor/d_a_npc_taro.cpp @@ -18,7 +18,7 @@ #include "d/d_msg_object.h" #include "f_op/f_op_actor.h" #include "f_op/f_op_camera_mng.h" -#include "dolphin/types.h" +#include daNpc_Maro_c::actionFunc dummy_lit_3931() { return &daNpc_Maro_c::choccai; diff --git a/src/d/actor/d_a_npc_the.cpp b/src/d/actor/d_a_npc_the.cpp index d614541427..79c169935d 100644 --- a/src/d/actor/d_a_npc_the.cpp +++ b/src/d/actor/d_a_npc_the.cpp @@ -924,11 +924,11 @@ BOOL daNpcThe_c::EvCut_Introduction(int i_staffID) { return false; } -static cPhs__Step daNpcThe_Create(void* i_this) { +static cPhs_Step daNpcThe_Create(void* i_this) { return static_cast(i_this)->create(); } -cPhs__Step daNpcThe_c::create() { +cPhs_Step daNpcThe_c::create() { fopAcM_ct(this, daNpcThe_c); mType = getTypeFromParam(); @@ -949,11 +949,11 @@ cPhs__Step daNpcThe_c::create() { return cPhs_ERROR_e; } - cPhs__Step step; + cPhs_Step step; int resources_loaded = 0; int i = 0; for (; l_loadRes_list[mType][i] >= 0; i++) { - step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_resNames[l_loadRes_list[mType][i]]); + step = dComIfG_resLoad(&mPhase[i], l_resNames[l_loadRes_list[mType][i]]); if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { return cPhs_ERROR_e; } diff --git a/src/d/actor/d_a_npc_theB.cpp b/src/d/actor/d_a_npc_theB.cpp index 9f9993ae94..3a01c9bd7c 100644 --- a/src/d/actor/d_a_npc_theB.cpp +++ b/src/d/actor/d_a_npc_theB.cpp @@ -169,7 +169,7 @@ void daNpcTheB_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpcTheB_HIO_c::genMessage(JORMContext* ctx) { daNpcF_commonGenMessage(ctx, &m.common); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -234,10 +234,10 @@ daNpcTheB_HIOParam const daNpcTheB_Param_c::m = { false, }; -cPhs__Step daNpcTheB_c::create() { +cPhs_Step daNpcTheB_c::create() { fopAcM_ct(this, daNpcTheB_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x2CB0)) { return cPhs_ERROR_e; @@ -326,7 +326,7 @@ int daNpcTheB_c::CreateHeap() { } int daNpcTheB_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_THEB"); this->~daNpcTheB_c(); return 1; } diff --git a/src/d/actor/d_a_npc_tk.cpp b/src/d/actor/d_a_npc_tk.cpp index 3e98247b20..e9980c953e 100644 --- a/src/d/actor/d_a_npc_tk.cpp +++ b/src/d/actor/d_a_npc_tk.cpp @@ -22,7 +22,9 @@ public: daNPC_TK_HIO_c(); virtual ~daNPC_TK_HIO_c() {} - void genMessage(JORMContext*) {} +#if DEBUG + void genMessage(JORMContext* context); +#endif s8 field_0x4; f32 field_0x8; @@ -59,6 +61,38 @@ daNPC_TK_HIO_c::daNPC_TK_HIO_c() { field_0x3c = 1; } +#if DEBUG +void daNPC_TK_HIO_c::genMessage(JORMContext* context) { + context->genLabel(" 鷹匠", 0x80000001); + context->genSlider("基本サイズ", &field_0x8, 0.0f, 5.0f); + context->genLabel(" ", 0x80000001); + context->genLabel(" ", 0x80000001); + context->genLabel("↓鷹着腕時、アニメーション開始タイミング調整", 0x80000001); + context->genSlider("breaking_bck", &field_0xc, 0.0f, 200.0f); + context->genSlider("hovering_bck", &field_0x10, 0.0f, 200.0f); + context->genSlider("land_bck", &field_0x14, 0.0f, 200.0f); + context->genLabel(" ", 0x80000001); + context->genLabel(" ", 0x80000001); + context->genLabel("↓カメラデモ時", 0x80000001); + context->genSlider("旋回注目時間", &field_0x18, 0.0f, 200.0f); + context->genSlider("旋回下降時間", &field_0x1c, 0.0f, 200.0f); + context->genSlider("旋回下降速度", &field_0x20, 0.0f, 200.0f); + context->genSlider("旋回飛行速度", &field_0x24, 0.0f, 200.0f); + context->genCheckBox("パス開始点ランダム", &field_0x3c, 0x1); + context->genLabel(" ", 0x80000001); + context->genLabel(" ", 0x80000001); + context->genLabel("↓極秘!!獲物ゲット時", 0x80000001); + context->genSlider("獲物発見距離", &field_0x34, 0.0f, 2000.0f); + context->genSlider("獲物発見角度", &field_0x38, 0.0f, 10000.0f); + context->genLabel(" ", 0x80000001); + context->genLabel(" ", 0x80000001); + context->genLabel("↓通常動作時", 0x80000001); + context->genSlider("攻撃速度", &field_0x28, 0.0f, 200.0f); + context->genSlider("飛行速度", &mFlySpeed, 0.0f, 200.0f); + context->genSlider("飛行回転速度", &field_0x30, 0.0f, 10000.0f); +} +#endif + void daNPC_TK_c::setBck(int param_0, u8 param_1, f32 param_2, f32 param_3) { mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("Npc_tk", param_0), param_1, param_2, param_3, 0.0f, -1.0f); @@ -285,6 +319,7 @@ static void* s_obj_sub(void* param_0, void* param_1) { } static void* s_hanjo(void* param_0, void* param_1) { + UNUSED(param_1); if (fopAcM_IsActor(param_0) != 0 && fopAcM_GetName(param_0) == PROC_NPC_HANJO) { return param_0; } else { @@ -326,7 +361,8 @@ void daNPC_TK_c::executeFly() { } if ((home.pos - current.pos).absXZ() > 2000.0f) { - s16 angleDiff = cLib_targetAngleY(¤t.pos, &home.pos) - shape_angle.y; + s16 angleDiff = cLib_targetAngleY(¤t.pos, &home.pos); + angleDiff = angleDiff - shape_angle.y; if (angleDiff < 0) { field_0x698 = 1; } else { @@ -339,7 +375,7 @@ void daNPC_TK_c::executeFly() { } else { cLib_chaseS(&field_0x69c, -l_HIO.field_0x30, 0x10); } - shape_angle.y = current.angle.y = current.angle.y + field_0x69c; + shape_angle.y = current.angle.y += field_0x69c; speedF = l_HIO.mFlySpeed; break; @@ -364,30 +400,30 @@ void daNPC_TK_c::executeFly() { } void daNPC_TK_c::initPerchDemo(int param_0) { + cXyz commonXyz1; + s16 masterAngleY2; s16 masterAngleY = getMasterPointer()->shape_angle.y; masterAngleY2 = masterAngleY; if (masterAngleY > -0x2000 && masterAngleY < 0x7000) { - if (masterAngleY < 0x2800) { + if (masterAngleY2 < 0x2800) { masterAngleY2 = -0x2000; } else { masterAngleY2 = 0x7000; } } - cXyz commonXyz1; - s16 targetAngleY; switch (param_0) { case 0: - speedF = 0.0f; - speed.y = 0.0f; + speed.y = speedF = 0.0f; if (mpPath1 == NULL) { current.pos = getMasterPointer()->current.pos; current.pos.y += 2000.0f; current.pos.z += 2000.0f; } else { mPathStep2 = 0; - current.pos = dPath_GetPnt(mpPath1, mPathStep2)->m_position; + dPnt* pnt = dPath_GetPnt(mpPath1, mPathStep2); + current.pos = pnt->m_position; } break; @@ -395,10 +431,8 @@ void daNPC_TK_c::initPerchDemo(int param_0) { field_0x698 = 0; field_0x67c = 0.0f; field_0x6c2 = 0; - shape_angle.z = 0; - shape_angle.x = 0; - speedF = 0.0f; - speed.y = 0.0f; + shape_angle.x = shape_angle.z = 0; + speed.y = speedF = 0.0f; field_0x694 = 0; commonXyz1.set(0.0f, 3000.0f, -5000.0f); @@ -412,8 +446,7 @@ void daNPC_TK_c::initPerchDemo(int param_0) { commonXyz1.set(-350.0f, 0.0f, -600.0f); cLib_offsetPos(¤t.pos, &field_0x604, masterAngleY2, &commonXyz1); - current.angle.y = (s32)masterAngleY2 + 0x4000; - shape_angle.y = masterAngleY2 + 0x4000; + shape_angle.y = current.angle.y = (s32)masterAngleY2 + 0x4000; field_0x69e = 0; field_0x6b4 = 40; field_0x678 = 5.0f; @@ -423,7 +456,7 @@ void daNPC_TK_c::initPerchDemo(int param_0) { mPathStep2 = cM_rndFX(5.0f); if (mPathStep2 < 0) { - mPathStep2 += mpPath1->m_num; + ADD_S8_2(mPathStep2, mpPath1->m_num); } if (mPathStep2 >= mpPath1->m_num || mPathStep2 < 0) { @@ -433,7 +466,8 @@ void daNPC_TK_c::initPerchDemo(int param_0) { mPathStep2 = 0; } - current.pos = dPath_GetPnt(mpPath1, mPathStep2)->m_position; + dPnt* pnt = dPath_GetPnt(mpPath1, mPathStep2); + current.pos = pnt->m_position; mPathStep2++; if (mPathStep2 >= mpPath1->m_num) { @@ -441,9 +475,7 @@ void daNPC_TK_c::initPerchDemo(int param_0) { } commonXyz1 = dPath_GetPnt(mpPath1, mPathStep2)->m_position; - targetAngleY = cLib_targetAngleY(¤t.pos, &commonXyz1); - current.angle.y = targetAngleY; - shape_angle.y = targetAngleY; + shape_angle.y = current.angle.y = cLib_targetAngleY(¤t.pos, &commonXyz1); field_0x6b4 = 180; field_0x6b0 = field_0x6b4 + l_HIO.field_0x18; @@ -468,9 +500,7 @@ void daNPC_TK_c::initPerchDemo(int param_0) { shape_angle.set(0, 0, 0); - targetAngleY = cLib_targetAngleY(¤t.pos, &field_0x604); - current.angle.y = targetAngleY; - shape_angle.y = targetAngleY; + shape_angle.y = current.angle.y = cLib_targetAngleY(¤t.pos, &field_0x604); break; case 3: @@ -489,7 +519,7 @@ bool daNPC_TK_c::executePerchDemo(int param_0) { cXyz pathPos; cXyz masterPos; - fopAc_ac_c* unusedMaster = getMasterPointer(); + s16 unused_angle = getMasterPointer()->shape_angle.y; field_0x698 = field_0x698 + 1; @@ -536,8 +566,9 @@ bool daNPC_TK_c::executePerchDemo(int param_0) { } current.pos.y = current.pos.y + field_0x67c; - - pathPos = dPath_GetPnt(mpPath1, mPathStep2)->m_position; + + dPnt* pnt = dPath_GetPnt(mpPath1, mPathStep2); + pathPos = pnt->m_position; cLib_addCalcAngleS(¤t.angle.y, cLib_targetAngleY(¤t.pos, &pathPos), 0x20, 0x100, 0x40); @@ -691,7 +722,8 @@ void daNPC_TK_c::executeHandOn() { field_0x698 = 1; } - shape_angle.y = current.angle.y = daPy_getPlayerActorClass()->shape_angle.y - 0x2800; + s16 ang = daPy_getPlayerActorClass()->shape_angle.y - 0x2800; + shape_angle.y = current.angle.y = ang; field_0x6a4 = daPy_getPlayerActorClass()->getBodyAngleX(); switch (field_0x694) { @@ -736,7 +768,8 @@ void daNPC_TK_c::executeHandOn() { bool daNPC_TK_c::checkWaterSurface(f32 param_0) { dBgS_ObjGndChk_Spl gndChk; - cXyz pos = current.pos; + Vec pos; + pos = current.pos; pos.y += 500.0f; gndChk.SetPos((Vec*)&pos); field_0x684 = dComIfG_Bgsp().GroundCross(&gndChk); @@ -763,7 +796,6 @@ void daNPC_TK_c::executeAttack() { }; field_0x6bd = 1; - switch (field_0x694) { case 0: { if (eventInfo.checkCommandDemoAccrpt() == 0) { @@ -883,84 +915,82 @@ void daNPC_TK_c::executeAttack() { } } - if ((field_0x604 - current.pos).abs() >= taka_attack_dist[field_0x719] + nREG_F(18) && - mAcch.ChkWallHit() == 0 && mAcch.ChkGroundHit() == 0) - { + bool b = (field_0x604 - current.pos).abs() >= taka_attack_dist[field_0x719] + nREG_F(18); + if (b && mAcch.ChkWallHit() == 0 && mAcch.ChkGroundHit() == 0) { this->field_0x698 = 2; setActionMode(4); + break; + } + + if (mAcch.ChkWallHit() != 0) { + setAwayAction(0); + + shape_angle.y = mCircle.GetWallAngleY() + 0x8000; + current.angle.y = shape_angle.y; + + field_0x6c3 = 0; } else { - if (mAcch.ChkWallHit() != 0) { + if (mAcch.ChkGroundHit() != 0) { setAwayAction(0); - shape_angle.y = mCircle.GetWallAngleY() + 0x8000; - current.angle.y = shape_angle.y; + field_0x6c3 = 1; + } else { + if (checkWaterSurface(50.0f) != 0) { + setAwayAction(0); + + field_0x6c3 = 2; + } + } + } + + if (mSphere.ChkAtHit() != 0) { + fopAc_ac_c* local_118 = dCc_GetAc(mSphere.GetAtHitObj()->GetAc()); + if (fopAcM_GetName(local_118) != PROC_ALINK && + fopAcM_GetName(local_118) != PROC_E_ARROW) + { + setAwayAction(0); field_0x6c3 = 0; - } else { - if (mAcch.ChkGroundHit() != 0) { - setAwayAction(0); - - field_0x6c3 = 1; - } else { - if (checkWaterSurface(50.0f) != 0) { - setAwayAction(0); - - field_0x6c3 = 2; - } - } } - if (mSphere.ChkAtHit() != 0) { - fopAc_ac_c* local_118 = dCc_GetAc(mSphere.GetAtHitObj()->GetAc()); - if (fopAcM_GetName(local_118) != PROC_ALINK && - fopAcM_GetName(local_118) != PROC_E_ARROW) - { - setAwayAction(0); + } - field_0x6c3 = 0; - } - } - - cXyz unkXyz4(field_0x628); - cXyz unkXyz5(current.pos); + // this extra scope affects destructor placement for linChk, probably a fakematch + if (true) { + cXyz unkXyz4 = field_0x628; + cXyz unkXyz5 = current.pos; unkXyz4.y += 40.0f; unkXyz5.y += 40.0f; - // this extra scope affects destructor placement for linChk, probably a fakematch - { - dBgS_LinChk linChk; - linChk.Set(&unkXyz4, &unkXyz5, NULL); - if (dComIfG_Bgsp().LineCross(&linChk) != 0) { - setAwayAction(0); + dBgS_LinChk linChk; + linChk.Set(&unkXyz4, &unkXyz5, NULL); + if (dComIfG_Bgsp().LineCross(&linChk) != 0) { + setAwayAction(0); - field_0x6c3 = 0; - } - } - - m_near_angle = 0x2000; - m_near_actor = NULL; - - fpcM_Search(s_obj_sub, this); - - field_0x634 = m_near_actor; - if (field_0x634 != 0 && current.pos.abs(field_0x634->current.pos) < l_HIO.field_0x34) { - if (fopAcM_GetName(field_0x634) == PROC_NI) { - mCarryType = 0; - } else { - if (fopAcM_GetName(field_0x634) == PROC_OBJ_KAGO) { - mCarryType = 2; - } else { - if (fopAcM_GetName(field_0x634) == PROC_OBJ_PUMPKIN) { - mCarryType = 1; - } - } - } - - setActionMode(5); + field_0x6c3 = 0; } } - break; - } + + m_near_angle = 0x2000; + m_near_actor = NULL; + + fpcM_Search(s_obj_sub, this); + + field_0x634 = m_near_actor; + if (field_0x634 != 0 && current.pos.abs(field_0x634->current.pos) < l_HIO.field_0x34) { + if (fopAcM_GetName(field_0x634) == PROC_NI) { + mCarryType = 0; + } else if (fopAcM_GetName(field_0x634) == PROC_OBJ_KAGO) { + mCarryType = 2; + } else if (fopAcM_GetName(field_0x634) == PROC_OBJ_PUMPKIN) { + mCarryType = 1; + } + + setActionMode(5); + } else { + break; // needed to match debug + } + } break; case 2: { mAcch.SetGroundUpY(fabsf(cM_ssin(shape_angle.x) * 30.0f)); @@ -1000,14 +1030,13 @@ void daNPC_TK_c::executeAttack() { mAcch.SetGroundUpY(0.0f); } - break; - } + } break; } } void daNPC_TK_c::executeAway() { field_0x6bd = 1; - + u32 bgCheckRv; switch (field_0x694) { case 0: { if (field_0x698 == 0 || field_0x698 == 2) { @@ -1020,8 +1049,7 @@ void daNPC_TK_c::executeAway() { field_0x694 = 1; if (field_0x698 == 0) { - field_0x67c = 0.0f; - field_0x678 = 0.0f; + field_0x678 = field_0x67c = 0.0f; } } else { setBck(6, 2, 3.0f, 2.0f); @@ -1052,7 +1080,7 @@ void daNPC_TK_c::executeAway() { setActionMode(0); } } else { - u32 bgCheckRv = checkBeforeBg(); + bgCheckRv = checkBeforeBg(); if ((bgCheckRv & 1) != 0) { cLib_chaseF(&speedF, 0.0f, 3.0f); } else { @@ -1072,7 +1100,7 @@ void daNPC_TK_c::executeAway() { break; } case 2: { - u32 bgCheckRv = checkBeforeBg(); + bgCheckRv = checkBeforeBg(); if ((bgCheckRv & 1) != 0) { cLib_chaseF(&speedF, 0.0f, 3.0f); } else { @@ -1100,36 +1128,37 @@ void daNPC_TK_c::executeAway() { } void daNPC_TK_c::setCarryActorMtx() { - field_0x6a8 += 0x6bc; + field_0x6a8 += (s16)0x6bc; field_0x6a6 = cM_ssin(field_0x6a8) * 2048.0f + 4096.0f; - if (field_0x634 != NULL) { - cXyz unkXyz1; - switch (mCarryType) { - case 0: - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(0)); - mDoMtx_stack_c::multVecZero(&unkXyz1); - mDoMtx_stack_c::transS(unkXyz1); - mDoMtx_stack_c::ZXYrotM(-shape_angle.x, shape_angle.y - 0x8000, shape_angle.z); - mDoMtx_stack_c::transM(nREG_F(19), -60.0f + nREG_F(18), 30.0f + nREG_F(17)); - ((ni_class*)field_0x634)->setMtx(mDoMtx_stack_c::get()); - break; - case 2: - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(0)); - mDoMtx_stack_c::multVecZero(&unkXyz1); - mDoMtx_stack_c::transS(unkXyz1); - mDoMtx_stack_c::ZXYrotM(shape_angle.z, shape_angle.y - 0x4000, -shape_angle.x / 2); - mDoMtx_stack_c::transM(-40.0f, -85.0f, 0.0f); - mDoMtx_stack_c::transM(20.0f, 60.0f, 0.0f); - mDoMtx_stack_c::ZXYrotM(0, 0, field_0x6a6); - mDoMtx_stack_c::transM(-20.0f, -60.0f, 0.0f); - ((daObj_Kago_c*)field_0x634)->setMtx(mDoMtx_stack_c::get()); - break; - case 1: - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(0)); - mDoMtx_stack_c::transM(-35.0f, -45.0f, 0.0f); - ((daObj_Pumpkin_c*)field_0x634)->setMtx(mDoMtx_stack_c::get()); - break; - } + if (field_0x634 == NULL) { + return; + } + cXyz unkXyz1; + switch (mCarryType) { + case 0: + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(0)); + mDoMtx_stack_c::multVecZero(&unkXyz1); + mDoMtx_stack_c::transS(unkXyz1); + mDoMtx_stack_c::ZXYrotM(-shape_angle.x, shape_angle.y - 0x8000, shape_angle.z); + mDoMtx_stack_c::transM(nREG_F(19), -60.0f + nREG_F(18), 30.0f + nREG_F(17)); + ((ni_class*)field_0x634)->setMtx(mDoMtx_stack_c::get()); + break; + case 2: + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(0)); + mDoMtx_stack_c::multVecZero(&unkXyz1); + mDoMtx_stack_c::transS(unkXyz1); + mDoMtx_stack_c::ZXYrotM(shape_angle.z, shape_angle.y - 0x4000, -shape_angle.x / 2); + mDoMtx_stack_c::transM(-40.0f, -85.0f, 0.0f); + mDoMtx_stack_c::transM(20.0f, 60.0f, 0.0f); + mDoMtx_stack_c::ZXYrotM(0, 0, field_0x6a6); + mDoMtx_stack_c::transM(-20.0f, -60.0f, 0.0f); + ((daObj_Kago_c*)field_0x634)->setMtx(mDoMtx_stack_c::get()); + break; + case 1: + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(0)); + mDoMtx_stack_c::transM(-35.0f, -45.0f, 0.0f); + ((daObj_Pumpkin_c*)field_0x634)->setMtx(mDoMtx_stack_c::get()); + break; } } @@ -1151,11 +1180,11 @@ f32 daNPC_TK_c::getTakeOffPosY() { cXyz unusedXyz; // debug match if (mCarryType == 0) { - return 210.0f + nREG_F(15); + return 210.0f + nREG_F(14); } else if (mCarryType == 2) { - return 250.0f + nREG_F(15); + return 250.0f + nREG_F(14); } else if (mCarryType == 1) { - return 200.0f + nREG_F(15); + return 200.0f + nREG_F(14); } else { return -1.0f; } @@ -1176,8 +1205,7 @@ void daNPC_TK_c::executeBack() { switch (field_0x694) { case 0: { - speed.y = 0.0f; - speedF = 0.0f; + speedF = speed.y = 0.0f; field_0x694 = 1; @@ -1273,24 +1301,24 @@ void daNPC_TK_c::executeBack() { mSound.startCreatureVoice(Z2SE_HAWK_V_TAKE_OFF, -1); field_0x6a8 = 0; } + break; } break; } case 2: { field_0x6c6 = 1; - shape_angle.y = shape_angle.y + field_0x69e; + shape_angle.y += field_0x69e; current.angle.y = shape_angle.y; - shape_angle.x = shape_angle.x - (0x300 + nREG_S(0)); + shape_angle.x -= (s16)(0x300 + nREG_S(0)); if (shape_angle.x < -0x3000) { shape_angle.x = -0x3000; field_0x694 = 3; field_0x69c = 0; - s16 targetAngleY = - cLib_targetAngleY(¤t.pos, &field_0x63c[2]) - current.angle.y; - field_0x69e = abs(targetAngleY); + field_0x69e = + abs((s16)(cLib_targetAngleY(¤t.pos, &field_0x63c[2]) - current.angle.y)); } cLib_chaseF(&field_0x678, 18.0f, 1.0f); @@ -1308,7 +1336,7 @@ void daNPC_TK_c::executeBack() { current.angle.y = shape_angle.y; - if (fabsf(current.pos.y - unkXyz1.y) > 500.0f) { + if (std::abs(current.pos.y - unkXyz1.y) > 500.0f) { if (current.pos.y > unkXyz1.y) { cLib_chaseAngleS(&shape_angle.x, 0x2000, 0x400); } else { @@ -1325,8 +1353,8 @@ void daNPC_TK_c::executeBack() { speedF = field_0x678 * cM_scos(-shape_angle.x); speed.y = field_0x678 * cM_ssin(-shape_angle.x); - s16 targetAngleY = cLib_targetAngleY(¤t.pos, &field_0x63c[2]) - current.angle.y; - s16 targetAngleYAbs = abs(targetAngleY); + s16 targetAngleYAbs = + abs((s16)(cLib_targetAngleY(¤t.pos, &field_0x63c[2]) - current.angle.y)); if (targetAngleYAbs >= field_0x69e) { field_0x694 = 10; } else { @@ -1343,11 +1371,11 @@ void daNPC_TK_c::executeBack() { field_0x6c6 = 1; unkXyz1 = playerPos; - s16 targetAngleY = cLib_targetAngleY(¤t.pos, &unkXyz1); - cLib_addCalcAngleS(&shape_angle.y, targetAngleY, 8, 0x800, 0x40); + cLib_addCalcAngleS(&shape_angle.y, cLib_targetAngleY(¤t.pos, &unkXyz1), 8, 0x800, + 0x40); current.angle.y = shape_angle.y; - if (fabsf(current.pos.y - unkXyz1.y) > 500.0f) { + if (std::abs(current.pos.y - unkXyz1.y) > 500.0f) { if (current.pos.y > unkXyz1.y) { cLib_chaseAngleS(&shape_angle.x, 0x2000, 0x400); } else { @@ -1399,8 +1427,7 @@ void daNPC_TK_c::executeBack() { } if (mAcch.ChkWallHit() != 0) { - s16 angleDiffOpp = mCircle.GetWallAngleY() + 0x8000 - current.angle.y; - if (abs(angleDiffOpp) < 0x3000) { + if (abs((s16)(mCircle.GetWallAngleY() + 0x8000 - current.angle.y)) < 0x3000) { setAwayAction(0); shape_angle.y = mCircle.GetWallAngleY() + 0x8000; @@ -1493,7 +1520,8 @@ void daNPC_TK_c::executeStayHanjo() { } void daNPC_TK_c::executeAttackLink() { - cXyz playerPos = dComIfGp_getPlayer(0)->current.pos; + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz playerPos = player->current.pos; field_0x6bd = 1; field_0x71a = 1; @@ -1576,7 +1604,7 @@ void daNPC_TK_c::executeAttackLink() { field_0x6ae = 1; if (mSphere.ChkAtHit() != 0) { if (fopAcM_GetName(dCc_GetAc(mSphere.GetAtHitObj()->GetAc())) == PROC_ALINK) { - field_0x6c7 = field_0x6c7 + 1; + field_0x6c7++; mSphere.ClrAtHit(); field_0x694 = 4; } else { @@ -1603,7 +1631,7 @@ void daNPC_TK_c::executeAttackLink() { current.angle.y = shape_angle.y; f32 yDiff = playerPos.y - current.pos.y; f32 targetSpeedY = 0.0f; - if (fabsf(yDiff) >= 10.0f) { + if (std::abs(yDiff) >= 10.0f) { if (yDiff < 0.0f) { targetSpeedY = -10.0f; } else { @@ -1645,89 +1673,92 @@ void daNPC_TK_c::executeAttackLink() { void daNPC_TK_c::executeBackHanjo() { mpMaster = (daNpc_Hanjo_c*)fpcM_Search(s_hanjo, this); - if (mpMaster != NULL) { - cXyz cStack_20; - cXyz auStack_2c = getHanjoHandPos(); - if (!checkAttackDemo()) { - if (field_0x698 == 0) { - switch (field_0x694) { - case 0: { - mSphere.OffAtSetBit(); - cStack_20.set(800.0f, 300.0f, -800.0f); - cLib_offsetPos(&field_0x604, &auStack_2c, mpMaster->shape_angle.y, &cStack_20); - field_0x678 = 30.0f; - break; - } - case 1: { - cStack_20.set(200.0f, 0.0f, -150.0f); - cLib_offsetPos(&field_0x604, &auStack_2c, mpMaster->shape_angle.y, &cStack_20); - break; - } - case 2: { - cStack_20.set(100.0f, 50.0f, -70.0f); - cLib_offsetPos(&field_0x604, &auStack_2c, mpMaster->shape_angle.y, &cStack_20); - setBck(5, 2, 5.0f, 1.0f); - break; - } - case 3: { - field_0x604 = getHanjoHandPos(); - setBck(9, 2, 5.0f, 1.0f); - mSound.startCreatureVoice(Z2SE_HAWK_V_LANDING, -1); - break; - } - } - field_0x698 = field_0x698 + 1; - } + if (mpMaster == NULL) { + return; + } + cXyz cStack_20; + cXyz auStack_2c = getHanjoHandPos(); + if (checkAttackDemo()) { + return; + } - cXyz cStack_38 = field_0x604 - current.pos; - s16 sVar4 = (s16)cM_atan2s(cStack_38.absXZ(), cStack_38.y); - s16 sVar5 = cLib_targetAngleY(¤t.pos, &field_0x604); - switch (field_0x694) { - case 1: - cLib_chaseF(&field_0x678, 20.0f, 1.0f); - case 0: - cLib_addCalcAngleS(&shape_angle.y, sVar5, 8, 0x1000, 0x100); - current.angle.y = shape_angle.y; + if (field_0x698 == 0) { + switch (field_0x694) { + case 0: { + mSphere.OffAtSetBit(); + cStack_20.set(800.0f, 300.0f, -800.0f); + cLib_offsetPos(&field_0x604, &auStack_2c, mpMaster->shape_angle.y, &cStack_20); + field_0x678 = 30.0f; + break; + } + case 1: { + cStack_20.set(200.0f, 0.0f, -150.0f); + cLib_offsetPos(&field_0x604, &auStack_2c, mpMaster->shape_angle.y, &cStack_20); + break; + } + case 2: { + cStack_20.set(100.0f, 50.0f, -70.0f); + cLib_offsetPos(&field_0x604, &auStack_2c, mpMaster->shape_angle.y, &cStack_20); + setBck(5, 2, 5.0f, 1.0f); + break; + } + case 3: { + field_0x604 = getHanjoHandPos(); + setBck(9, 2, 5.0f, 1.0f); + mSound.startCreatureVoice(Z2SE_HAWK_V_LANDING, -1); + break; + } + } + field_0x698 = field_0x698 + 1; + } - cLib_chaseF(&speed.y, field_0x678 * cM_scos(sVar4), 3.0f); - cLib_chaseF(&speedF, field_0x678 * cM_ssin(sVar4), 3.0f); + cXyz cStack_38 = field_0x604 - current.pos; + s16 sVar4 = (s16)cM_atan2s(cStack_38.absXZ(), cStack_38.y); + s16 sVar5 = cLib_targetAngleY(¤t.pos, &field_0x604); + switch (field_0x694) { + case 1: + cLib_chaseF(&field_0x678, 20.0f, 1.0f); + case 0: + cLib_addCalcAngleS(&shape_angle.y, sVar5, 8, 0x1000, 0x100); + current.angle.y = shape_angle.y; - if (cStack_38.abs() < 100.0f) { - field_0x694 = field_0x694 + 1; + cLib_chaseF(&speed.y, field_0x678 * cM_scos(sVar4), 3.0f); + cLib_chaseF(&speedF, field_0x678 * cM_ssin(sVar4), 3.0f); + + if (cStack_38.abs() < 100.0f) { + field_0x694 = field_0x694 + 1; + field_0x698 = 0; + } + + break; + case 2: + case 3: + cLib_chaseF(&field_0x678, 5.0f, 1.0f); + + cLib_addCalcAngleS(&shape_angle.y, sVar5, 8, 0x1000, 0x100); + current.angle.y = shape_angle.y; + + cLib_chaseF(&speed.y, field_0x678 * cM_scos(sVar4), 3.0f); + cLib_chaseF(&speedF, field_0x678 * cM_ssin(sVar4), 3.0f); + + if (field_0x694 == 2) { + if (cStack_38.abs() < 100.0f + nREG_F(15)) { + if (checkBck(7) == 0) { + setBck(7, 2, 5.0f, 1.0f); + } + + if (cStack_38.abs() < 30.0f) { + field_0x694 = 3; field_0x698 = 0; } - - break; - case 2: - case 3: - cLib_chaseF(&field_0x678, 5.0f, 1.0f); - - cLib_addCalcAngleS(&shape_angle.y, sVar5, 8, 0x1000, 0x100); - current.angle.y = shape_angle.y; - - cLib_chaseF(&speed.y, field_0x678 * cM_scos(sVar4), 3.0f); - cLib_chaseF(&speedF, field_0x678 * cM_ssin(sVar4), 3.0f); - - if (field_0x694 == 2) { - if (cStack_38.abs() < 100.0f + nREG_F(15)) { - if (checkBck(7) == 0) { - setBck(7, 2, 5.0f, 1.0f); - } - - if (cStack_38.abs() < 30.0f) { - field_0x694 = 3; - field_0x698 = 0; - } - } - break; - } - - if (cStack_38.abs() <= 5.0f) { - setActionMode(6); - } - break; } + break; } + + if (cStack_38.abs() <= 5.0f) { + setActionMode(6); + } + break; } } @@ -1743,19 +1774,17 @@ bool daNPC_TK_c::checkAttackDemo() { } void daNPC_TK_c::executeAttackDemo() { - daPy_py_c* player = daPy_getPlayerActorClass(); - - cXyz posWithOffset = player->current.pos; + cXyz posWithOffset = daPy_getPlayerActorClass()->current.pos; posWithOffset.y += 50.0f; cXyz vecToPlayer = posWithOffset - current.pos; - s32 pitch; switch (field_0x694) { case 0: field_0x694 = 1; setBck(8, 2, 10.0f, 1.0f); mSphere.ClrAtHit(); - case 1: + case 1: { + s32 pitch; mSphere.OnAtSetBit(); mSphere.SetAtSpl(dCcG_At_Spl_UNK_1); mSphere.SetAtSPrm(5); @@ -1791,13 +1820,12 @@ void daNPC_TK_c::executeAttackDemo() { mSphere.ClrAtHit(); } } - break; + } break; } } void daNPC_TK_c::executeBackHanjoDemo() { s16 angleY; - s32 pitch; cXyz unkXyz1; cXyz offset; @@ -1810,14 +1838,13 @@ void daNPC_TK_c::executeBackHanjoDemo() { if (field_0x698 == 0) { switch (field_0x694) { case 0: { - offset.set(0.0f, 3400.0f + nREG_F(19), -2000.0f); - angleY = getMasterPointer()->shape_angle.y - 0x2000; + offset.set(0.0f, 3400.0f + nREG_F(1), -2000.0f); + angleY = (s16)(getMasterPointer()->shape_angle.y - 0x2000); cLib_offsetPos(¤t.pos, &getMasterPointer()->current.pos, angleY, &offset); shape_angle.y = current.angle.y = angleY; - speed.y = 0.0f; - speedF = 0.0f; + speedF = speed.y = 0.0f; mSphere.OffAtSetBit(); @@ -1857,7 +1884,7 @@ void daNPC_TK_c::executeBackHanjoDemo() { unkXyz1 = field_0x604 - current.pos; s16 sVar4 = cLib_targetAngleY(¤t.pos, &field_0x604); - cM_atan2s(unkXyz1.absXZ(), unkXyz1.y); + angleY = (s16)cM_atan2s(unkXyz1.absXZ(), unkXyz1.y); switch (field_0x694) { case 1: { @@ -1872,9 +1899,9 @@ void daNPC_TK_c::executeBackHanjoDemo() { current.angle.y = shape_angle.y; if (field_0x6b0 == 0) { - pitch = cM_atan2s(unkXyz1.absXZ(), unkXyz1.y); - cLib_chaseF(&speed.y, field_0x678 * cM_scos(pitch), 1.0f); - cLib_chaseF(&speedF, field_0x678 * cM_ssin(pitch), 1.0f); + angleY = (s16)cM_atan2s(unkXyz1.absXZ(), unkXyz1.y); + cLib_chaseF(&speed.y, field_0x678 * cM_scos(angleY), 1.0f); + cLib_chaseF(&speedF, field_0x678 * cM_ssin(angleY), 1.0f); if (unkXyz1.abs() < 100.0f) { field_0x694++; @@ -1890,9 +1917,9 @@ void daNPC_TK_c::executeBackHanjoDemo() { cLib_addCalcAngleS(&shape_angle.y, sVar4, 8, 0x1000, 0x100); current.angle.y = shape_angle.y; - pitch = cM_atan2s(unkXyz1.absXZ(), unkXyz1.y); - cLib_chaseF(&speed.y, field_0x678 * cM_scos(pitch), 1.0f); - cLib_chaseF(&speedF, field_0x678 * cM_ssin(pitch), 1.0f); + angleY = (s16)cM_atan2s(unkXyz1.absXZ(), unkXyz1.y); + cLib_chaseF(&speed.y, field_0x678 * cM_scos(angleY), 1.0f); + cLib_chaseF(&speedF, field_0x678 * cM_ssin(angleY), 1.0f); if (field_0x694 == 2) { if (unkXyz1.abs() < 100.0f + nREG_F(15)) { @@ -1957,7 +1984,7 @@ void daNPC_TK_c::calcWolfDemoCam2() { void daNPC_TK_c::executeWolfPerch() { dCamera_c* camera = dCam_getBody(); cXyz playerPos = daPy_getPlayerActorClass()->current.pos; - daPy_getPlayerActorClass(); // debug match + s16 angleY = daPy_getPlayerActorClass()->shape_angle.y; // debug match cXyz posOffset; cXyz pathPnt1; cXyz pathPnt2; @@ -2001,7 +2028,7 @@ void daNPC_TK_c::executeWolfPerch() { daPy_getPlayerActorClass()->setPlayerPosAndAngle( &playerPos, cLib_targetAngleY(&pathPnt1, &playerPos), 0); - s16 angleY = cLib_targetAngleY(&pathPnt1, &playerPos); + angleY = cLib_targetAngleY(&pathPnt1, &playerPos); setBck(8, 2, 3.0f, 1.0f); @@ -2076,9 +2103,7 @@ void daNPC_TK_c::executeWolfPerch() { calcWolfDemoCam(); cLib_addCalcAngleS(&shape_angle.x, 0, 8, 0x100, 0x10); - - s16 angleY = fopAcM_searchPlayerAngleY(this); - cLib_addCalcAngleS(&shape_angle.y, angleY, 8, 0x800, 0x100); + cLib_addCalcAngleS(&shape_angle.y, fopAcM_searchPlayerAngleY(this), 8, 0x800, 0x100); cLib_chaseF(&speedF, 0.0f, 0.5f + nREG_F(7)); if (cLib_chaseF(&speed.y, 0.0f, 0.5f + nREG_F(9)) != 0) { @@ -2229,11 +2254,15 @@ void daNPC_TK_c::executeWolfPerch() { 0x400, 0x10); } else { s16 unkUnused1 = current.pos.abs(pathPnt2) / 100.0f - 2.0f; - cLib_addCalcAngleS(&shape_angle.y, cLib_targetAngleY(¤t.pos, &pathPnt2), 8, 0x400, - 0x80); + if (unkUnused1 < 0) { + unkUnused1 = 0; + } + unkUnused1 = 8; + cLib_addCalcAngleS(&shape_angle.y, cLib_targetAngleY(¤t.pos, &pathPnt2), + unkUnused1, 0x400, 0x80); current.angle.y = shape_angle.y; - cLib_addCalcAngleS(&shape_angle.x, -cLib_targetAngleX(¤t.pos, &pathPnt2), 8, - 0x400, 0x80); + cLib_addCalcAngleS(&shape_angle.x, -cLib_targetAngleX(¤t.pos, &pathPnt2), + unkUnused1, 0x400, 0x80); } speedF = field_0x678 * cM_scos(-shape_angle.x); @@ -2283,8 +2312,8 @@ void daNPC_TK_c::executeWolfPerch() { current.angle.y = shape_angle.y; shape_angle.x = cM_atan2s(speedF, speed.y) - 0x4000; - cLib_chaseF(&speedF, 0.0f, nREG_F(6) + 1.0f); - if (cLib_chaseF(&speed.y, nREG_F(0x11) + 12.0f, nREG_F(7) + 1.0f) != 0) { + cLib_chaseF(&speedF, 0.0f, NREG_F(6) + 1.0f); + if (cLib_chaseF(&speed.y, NREG_F(0x11) + 12.0f, NREG_F(7) + 1.0f) != 0) { field_0x6c5 = 14; setBck(7, 2, 5.0f, 1.0f); } @@ -2301,10 +2330,10 @@ void daNPC_TK_c::executeWolfPerch() { 0x100); current.angle.y = shape_angle.y; - cLib_chasePos(¤t.pos, pathPnt2, 1.0f + nREG_F(5)); - cLib_chaseF(&speedF, 0.0f, 1.0f + nREG_F(8)); + cLib_chasePos(¤t.pos, pathPnt2, 1.0f + NREG_F(5)); + cLib_chaseF(&speedF, 0.0f, 1.0f + NREG_F(8)); - if (cLib_chaseF(&speed.y, -5.0f, 0.7f + nREG_F(9)) != 0) { + if (cLib_chaseF(&speed.y, -5.0f, 0.7f + NREG_F(9)) != 0) { field_0x6c5 = 15; field_0x6b0 = 15; } @@ -2320,13 +2349,12 @@ void daNPC_TK_c::executeWolfPerch() { cLib_addCalcAngleS(&shape_angle.y, cLib_targetAngleY(¤t.pos, &pathPnt2), 8, 0x800, 0x100); - cLib_chasePos(¤t.pos, pathPnt2, (nREG_F(5) + 1.0f)); + cLib_chasePos(¤t.pos, pathPnt2, (NREG_F(5) + 1.0f)); cLib_chaseF(&speedF, 0.0f, 0.5f + nREG_F(7)); - if (cLib_chaseF(&speed.y, 0.0f, 0.5f + nREG_F(10)) != 0) { + if (cLib_chaseF(&speed.y, 0.0f, 0.5f + NREG_F(10)) != 0) { field_0x6c5 = 6; field_0x6b4 = 120; - speed.y = 0.0f; - speedF = 0.0f; + speedF = speed.y = 0.0f; field_0x6c5 = 16; field_0x6b0 = 10; field_0x678 = 2.0f; @@ -2390,36 +2418,37 @@ void daNPC_TK_c::executeWolfPerch() { } break; } - case 20: { - field_0x714 = field_0x678 + 3.0f; + case 20: + int unused; + { + field_0x714 = field_0x678 + 3.0f; - posOffset.set(0.0f, 0.0f, 200.0f); - cLib_offsetPos(&pathPnt1, ¤t.pos, shape_angle.y, &posOffset); + posOffset.set(0.0f, 0.0f, 200.0f); + cLib_offsetPos(&pathPnt1, ¤t.pos, shape_angle.y, &posOffset); - cLib_addCalcPos2(&field_0x6fc, pathPnt1, 0.2f, field_0x714); + cLib_addCalcPos2(&field_0x6fc, pathPnt1, 0.2f, field_0x714); - cLib_chaseF(&field_0x678, 30.0f, 1.0f); + cLib_chaseF(&field_0x678, 30.0f, 1.0f); - cLib_addCalcAngleS(&shape_angle.x, ~0x5fff, 8, 0x200, 0x10); - speedF = field_0x678 * cM_scos(-shape_angle.x); - speed.y = field_0x678 * cM_ssin(-shape_angle.x); + cLib_addCalcAngleS(&shape_angle.x, ~0x5fff, 8, 0x200, 0x10); + speedF = field_0x678 * cM_scos(-shape_angle.x); + speed.y = field_0x678 * cM_ssin(-shape_angle.x); - if (field_0x6b0 == 0) { - dComIfGs_onSwitch(field_0x6ea, fopAcM_GetRoomNo(this)); + if (field_0x6b0 == 0) { + dComIfGs_onSwitch(field_0x6ea, fopAcM_GetRoomNo(this)); - camera->Reset(field_0x6fc, field_0x6f0); - camera->Start(); - camera->SetTrimSize(0); + camera->Reset(field_0x6fc, field_0x6f0); + camera->Start(); + camera->SetTrimSize(0); - dComIfGp_event_reset(); + dComIfGp_event_reset(); - field_0x698 = 2; + field_0x698 = 2; - setActionMode(4); - - break; + setActionMode(4); + } } - } + break; } camera->Set(field_0x6fc, field_0x6f0, field_0x708, 0); @@ -2437,9 +2466,8 @@ void daNPC_TK_c::executeResistanceDemo() { cXyz basePos(-5191.0f, 2000.0f, 5246.0f); s16 unkInt1 = -0x1faf; - s16 targetAngle; switch (field_0x694) { - case 0: + case 0: { field_0x6a2 = field_0x6a0 = 0; offset.set(-700.0f + nREG_F(0), 400.0f + nREG_F(1), 700.0f + nREG_F(2)); @@ -2457,14 +2485,16 @@ void daNPC_TK_c::executeResistanceDemo() { field_0x6b0 = 0x1e; setBck(6, 2, 3.0f, 1.0f); - case 1: + } + // fallthrough + case 1:s16 targetAngle; { if (field_0x6b0 == 0) { cLib_chaseAngleS(&field_0x69c, 0x400, 0x10); shape_angle.y -= field_0x69c; current.angle.y = shape_angle.y; } - speedF = field_0x678 * fabsf(cM_scos(current.angle.x)); + speedF = field_0x678 * std::abs(cM_scos(current.angle.x)); speed.y = field_0x678 * cM_ssin(current.angle.x); targetAngle = cLib_targetAngleY(¤t.pos, &basePos); @@ -2472,9 +2502,9 @@ void daNPC_TK_c::executeResistanceDemo() { field_0x694 = 2; setBck(8, 2, 10.0f, 1.0f); } + } break; - break; - case 2: + case 2: { offset.set(700.0f + nREG_F(3), 200.0f + nREG_F(4), 200.0f + nREG_F(5)); cLib_offsetPos(&posWithOffset, &basePos, unkInt1, &offset); @@ -2488,7 +2518,7 @@ void daNPC_TK_c::executeResistanceDemo() { cLib_chaseF(&field_0x678, 50.0f, 0.1f); - speedF = field_0x678 * fabsf(cM_scos(current.angle.x)); + speedF = field_0x678 * std::abs(cM_scos(current.angle.x)); speed.y = field_0x678 * cM_ssin(current.angle.x); if (posWithOffset.abs(current.pos) < 500.0f) { @@ -2497,9 +2527,9 @@ void daNPC_TK_c::executeResistanceDemo() { field_0x610.set(-4058.0f, 549.0f, 7530.0f); field_0x604.set(-4107.0f, 163.0f, 8046.0f); } + } break; - break; - case 3: + case 3: { posWithOffset = field_0x610; cLib_chaseAngleS(&field_0x69c, 0x400, 0x20); @@ -2514,7 +2544,7 @@ void daNPC_TK_c::executeResistanceDemo() { cLib_chaseF(&field_0x678, 50.0f, 1.0f); - speedF = field_0x678 * fabsf(cM_scos(current.angle.x)); + speedF = field_0x678 * std::abs(cM_scos(current.angle.x)); speed.y = field_0x678 * cM_ssin(current.angle.x); if (posWithOffset.abs(current.pos) < 150.0f) { @@ -2523,9 +2553,9 @@ void daNPC_TK_c::executeResistanceDemo() { field_0x678 = 0.0f; field_0x69c = 0; } + } break; - break; - case 4: + case 4: { posWithOffset = field_0x604; cLib_chaseAngleS(&field_0x69c, 0x400, 0x40); @@ -2541,9 +2571,9 @@ void daNPC_TK_c::executeResistanceDemo() { if (cLib_chaseF(&speed.y, 6.0f, 1.4f) != 0) { field_0x694 = 5; } + } break; - break; - case 5: + case 5: { posWithOffset = field_0x604; cLib_addCalcAngleS(¤t.angle.y, cLib_targetAngleY(¤t.pos, &posWithOffset), 8, @@ -2561,9 +2591,9 @@ void daNPC_TK_c::executeResistanceDemo() { setBck(9, 0, 10.0f, 1.0f); field_0x678 = 0.0f; } + } break; - break; - case 6: + case 6: { posWithOffset = field_0x604; cLib_chaseF(&speedF, 0.0f, 0.5f); @@ -2582,13 +2612,17 @@ void daNPC_TK_c::executeResistanceDemo() { speedF = speed.y = 0.0f; mSound.startCreatureVoice(Z2SE_HAWK_V_LANDING, -1); } - + } return; - case 7: + + case 7: { if (mpMorf->isStop() != 0) { setBck(0xc, 2, 3.0f, 1.0f); } - case 8: + } + // fallthrough + + case 8: { cLib_addCalcAngleS2(&field_0x6a2, 0xffffdc00, 8, 0x200); cLib_addCalcAngleS2(&field_0x6a0, 0x1000, 8, 0x200); cLib_addCalcAngleS2(&field_0x6aa, 0x2000, 8, 0x200); @@ -2602,7 +2636,7 @@ void daNPC_TK_c::executeResistanceDemo() { shape_angle.y = current.angle.y = npcMoiR->shape_angle.y + 0x2800 + XREG_S(6); shape_angle.x = XREG_S(7); shape_angle.z = -0x400 + XREG_S(8); - + } return; } @@ -2660,7 +2694,6 @@ void daNPC_TK_c::calcDemoCamera() { cXyz playerPos = daPy_getPlayerActorClass()->current.pos; playerPos.y += 150.0f; - f32 unkFloat; switch (field_0x710) { case 1: { field_0x6fc = camera->Center(); @@ -2676,7 +2709,7 @@ void daNPC_TK_c::calcDemoCamera() { } else { if (field_0x6ec == this) { pos = field_0x6ec->current.pos + offset; - unkFloat = field_0x6f0.abs(pos); + f32 unkFloat = field_0x6f0.abs(pos); if (mActionType == 3) { if (field_0x694 == 1) { @@ -2708,7 +2741,7 @@ void daNPC_TK_c::calcDemoCamera() { cLib_chaseF(&field_0x714, 30.0f, 5.0f); cLib_chasePos(&field_0x6f0, pos, field_0x714); } else if (field_0x694 == 2) { - unkFloat = field_0x678 - 5.0f; + f32 unkFloat = field_0x678 - 5.0f; if (unkFloat < 0.0f) { unkFloat = 0.0f; } @@ -2724,8 +2757,7 @@ void daNPC_TK_c::calcDemoCamera() { if (field_0x718 == 0) { cLib_chaseF(&field_0x714, 5.0f, 1.0f); pos.set(field_0x6f0.x, current.pos.y, field_0x6f0.z); - unkFloat = field_0x6f0.abs(current.pos); - if (unkFloat > 600.0f + nREG_F(11)) { + if (field_0x6f0.abs(current.pos) > 600.0f + nREG_F(11)) { field_0x718 = 1; } cLib_chasePos(&field_0x6f0, pos, field_0x714); @@ -2746,9 +2778,9 @@ void daNPC_TK_c::calcDemoCamera() { dBgS_GndChk gndChk; gndChk.SetPos(&field_0x6f0); - unkFloat = dComIfG_Bgsp().GroundCross(&gndChk); - if (field_0x6f0.y < unkFloat + 50.0f) { - cLib_chaseF(&(field_0x6f0).y, unkFloat + 50.0f, 10.0f); + f32 unkFloat1 = dComIfG_Bgsp().GroundCross(&gndChk); + if (field_0x6f0.y < unkFloat1 + 50.0f) { + cLib_chaseF(&(field_0x6f0).y, unkFloat1 + 50.0f, 10.0f); } } else { offset.set(0.0f, 50.0f, 0.0f); @@ -2811,59 +2843,57 @@ void daNPC_TK_c::calcDemoCamera() { } void daNPC_TK_c::checkActionSet() { - cXyz acStack_24; - if (mFlags == 0) { return; } if (mFlags & 0x1) { - field_0x69e = -fopCamM_GetAngleX(dComIfGp_getCamera(0)); + camera_class* cam = dComIfGp_getCamera(0); + field_0x69e = -fopCamM_GetAngleX(cam); setActionMode(3); - mFlags ^= 0x1; + mFlags ^= (u16)0x1; } else if (mFlags & 0x2) { field_0x698 = 0; mSound.startCreatureVoice(Z2SE_HAWK_V_TAKE_OFF, -1); setActionMode(4); - mFlags ^= 0x2; + mFlags ^= (u16)0x2; } else if (mFlags & 0x4) { setAwayAction(1); - mFlags ^= 0x4; + mFlags ^= (u16)0x4; } else if (mFlags & 0x8) { setActionMode(1); - mFlags ^= 0x8; + mFlags ^= (u16)0x8; mpMaster = NULL; } else if (mFlags & 0x10) { if (mActionType == 6 || mActionType == 8) { setActionMode(7); } - mFlags ^= 0x10; + mFlags ^= (u16)0x10; } else if (mFlags & 0x20) { if (mActionType == 7 && field_0x694 != 0 && field_0x6b4 == 0) { field_0x698 = 0; setActionMode(8); } - mFlags ^= 0x20; + mFlags ^= (u16)0x20; } else if (mFlags & 0x40) { field_0x698 = 0; setActionMode(10); - mFlags ^= 0x40; + mFlags ^= (u16)0x40; } else if (mFlags & 0x80) { - mFlags ^= 0x80; + mFlags ^= (u16)0x80; setActionMode(11); mpMaster = NULL; } else if (mFlags & 0x100) { - mFlags ^= 0x100; + mFlags ^= (u16)0x100; setActionMode(13); } else if (mFlags & 0x200) { if (mActionType == 0 || mActionType == 10) { - current.pos = getHanjoHandPos(); - old.pos = current.pos; + old.pos = current.pos = getHanjoHandPos(); mSphere.OffAtSetBit(); @@ -2872,7 +2902,7 @@ void daNPC_TK_c::checkActionSet() { setActionMode(7); } - mFlags ^= 0x200; + mFlags ^= (u16)0x200; } } @@ -3019,12 +3049,14 @@ void daNPC_TK_c::mtx_set() { } mDoMtx_stack_c::scaleM(l_HIO.field_0x8, l_HIO.field_0x8, l_HIO.field_0x8); - mpMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); + J3DModel* model = mpMorf->getModel(); + model->setBaseTRMtx(mDoMtx_stack_c::get()); mpMorf->modelCalc(); } void daNPC_TK_c::cc_set() { - MTXCopy(mpMorf->getModel()->getAnmMtx(0), mDoMtx_stack_c::get()); + J3DModel* model = mpMorf->getModel(); + MTXCopy(model->getAnmMtx(0), mDoMtx_stack_c::get()); mDoMtx_stack_c::multVecZero(&eyePos); attention_info.position = eyePos; attention_info.position.y += 30.0f; @@ -3090,6 +3122,10 @@ int daNPC_TK_c::_delete() { dComIfG_resDelete(&mPhase, "Npc_tk"); if (field_0xb40) { hio_set = 0; + +#if DEBUG + mDoHIO_deleteChild(l_HIO.field_0x4); +#endif } if (heap != NULL) { @@ -3100,11 +3136,13 @@ int daNPC_TK_c::_delete() { } static int daNPC_TK_Delete(daNPC_TK_c* i_this) { + fopAcM_RegisterDeleteID(i_this, "NPC_TK"); return i_this->_delete(); } int daNPC_TK_c::ctrlJoint(J3DJoint* param_0, J3DModel* param_1) { - s32 jntNo = param_0->getJntNo(); + J3DJoint* joint = param_0; + s32 jntNo = joint->getJntNo(); mDoMtx_stack_c::copy(param_1->getAnmMtx(jntNo)); MtxP pMVar2 = mDoMtx_stack_c::get(); @@ -3154,12 +3192,11 @@ int daNPC_TK_c::ctrlJoint(J3DJoint* param_0, J3DModel* param_1) { } int daNPC_TK_c::JointCallBack(J3DJoint* param_0, int param_1) { - J3DJoint* joint = param_0; if (param_1 == 0) { J3DModel* model = j3dSys.getModel(); daNPC_TK_c* npcTk = (daNPC_TK_c*)model->getUserArea(); if (npcTk != NULL) { - npcTk->ctrlJoint(joint, model); + npcTk->ctrlJoint(param_0, model); } } @@ -3168,7 +3205,7 @@ int daNPC_TK_c::JointCallBack(J3DJoint* param_0, int param_1) { int daNPC_TK_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Npc_tk", "tk.bmd"); - JUT_ASSERT_MSG(0xf4f, modelData != NULL, " 鷹匠"); // falconer + JUT_ASSERT(0xf4f, modelData != NULL); mpMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("Npc_tk", 6), 0, 1.0f, 0, @@ -3190,7 +3227,8 @@ int daNPC_TK_c::CreateHeap() { } static int useHeapInit(fopAc_ac_c* i_this) { - return ((daNPC_TK_c*)i_this)->CreateHeap(); + daNPC_TK_c* this_tk = (daNPC_TK_c*)i_this; + return this_tk->CreateHeap(); } int daNPC_TK_c::create() { @@ -3211,6 +3249,7 @@ int daNPC_TK_c::create() { int loadRes = dComIfG_resLoad(&mPhase, "Npc_tk"); eventInfo.setArchiveName("Npc_tk"); if (loadRes == cPhs_COMPLEATE_e) { + int unused; OS_REPORT("NPC_TK PARAM %x\n", fopAcM_GetParam(this)); if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x2540)) { diff --git a/src/d/actor/d_a_npc_tkc.cpp b/src/d/actor/d_a_npc_tkc.cpp index 45ca1dad16..bb9581eca1 100644 --- a/src/d/actor/d_a_npc_tkc.cpp +++ b/src/d/actor/d_a_npc_tkc.cpp @@ -78,22 +78,22 @@ daNpcTkc_HIO_c::daNpcTkc_HIO_c() { } void daNpcTkc_HIO_c::genMessage(JORMContext* ctx) { - ctx->genSlider("ワープ初期位置", &m.warp_initial_pos, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("下移動速度", &m.down_move_spd, 0.0f, 30.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("上移動速度", &m.up_move_spd, 0.0f, 30.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("回転周期", &m.rotation_interval, 0, 0x7FFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("楕円幅", &m.ellipse_width, 0.0f, 200.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Step", &m.step, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("飛行範囲", &m.flight_range, 0.0f, 200.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("目標高さ", &m.target_height, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("振幅", &m.amplitude, -100.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("周期", &m.interval, 0, 0x7FFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Div", &m.div, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Max", &m.max, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Min", &m.min, 0.0f, 300.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("会話距離", &m.conversation_dist, 0.0f, 300.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("X 角度", &m.x_angle, -0x8000, 0x7FFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("Z 角度", &m.z_angle, -0x8000, 0x7FFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("ワープ初期位置", &m.warp_initial_pos, 0.0f, 500.0f); + ctx->genSlider("下移動速度", &m.down_move_spd, 0.0f, 30.0f); + ctx->genSlider("上移動速度", &m.up_move_spd, 0.0f, 30.0f); + ctx->genSlider("回転周期", &m.rotation_interval, 0, 0x7FFF); + ctx->genSlider("楕円幅", &m.ellipse_width, 0.0f, 200.0f); + ctx->genSlider("Step", &m.step, 0.0f, 100.0f); + ctx->genSlider("飛行範囲", &m.flight_range, 0.0f, 200.0f); + ctx->genSlider("目標高さ", &m.target_height, 0.0f, 2000.0f); + ctx->genSlider("振幅", &m.amplitude, -100.0f, 100.0f); + ctx->genSlider("周期", &m.interval, 0, 0x7FFF); + ctx->genSlider("Div", &m.div, 0.0f, 1.0f); + ctx->genSlider("Max", &m.max, 0.0f, 500.0f); + ctx->genSlider("Min", &m.min, 0.0f, 300.0f); + ctx->genSlider("会話距離", &m.conversation_dist, 0.0f, 300.0f); + ctx->genSlider("X 角度", &m.x_angle, -0x8000, 0x7FFF); + ctx->genSlider("Z 角度", &m.z_angle, -0x8000, 0x7FFF); daNpcF_commonGenMessage(ctx, &m.common); } #endif @@ -200,7 +200,7 @@ daNpcTkc_HIOParam const daNpcTkc_Param_c::m = { 0, }; -cPhs__Step daNpcTkc_c::Create() { +cPhs_Step daNpcTkc_c::Create() { fopAcM_ct(this, daNpcTkc_c); if (getType() != TYPE_2) { @@ -216,8 +216,8 @@ cPhs__Step daNpcTkc_c::Create() { } } - cPhs__Step phase = cPhs_ERROR_e; - phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = cPhs_ERROR_e; + phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x2030)) { return cPhs_ERROR_e; @@ -297,7 +297,7 @@ int daNpcTkc_c::CreateHeap() { } int daNpcTkc_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_TKC"); this->~daNpcTkc_c(); return 1; } diff --git a/src/d/actor/d_a_npc_tkj.cpp b/src/d/actor/d_a_npc_tkj.cpp index dbf059f6b8..8cf5ac0250 100644 --- a/src/d/actor/d_a_npc_tkj.cpp +++ b/src/d/actor/d_a_npc_tkj.cpp @@ -251,7 +251,7 @@ int daNpcTkj_c::CreateHeap() { int daNpcTkj_c::Delete() { OS_REPORT("|%06d:%x|daNpcTkj_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_TKJ"); this->~daNpcTkj_c(); return 1; } @@ -651,7 +651,7 @@ void daNpcTkj_c::setParam() { s16 attn_angle = mpHIO->m.common.attention_angle; attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(attn_dist, attn_angle); - attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[0]; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_dist, talk_angle); attention_info.flags = attn_flags; diff --git a/src/d/actor/d_a_npc_tkj2.cpp b/src/d/actor/d_a_npc_tkj2.cpp index 9387988865..5d047e150b 100644 --- a/src/d/actor/d_a_npc_tkj2.cpp +++ b/src/d/actor/d_a_npc_tkj2.cpp @@ -950,9 +950,9 @@ static void action(npc_tkj2_class* i_this) { } if (bVar1) { - cLib_onBit(a_this->attention_info.flags, 0x10); + cLib_onBit(a_this->attention_info.flags, fopAc_AttnFlag_CARRY_e); } else { - cLib_offBit(a_this->attention_info.flags, 0x10); + cLib_offBit(a_this->attention_info.flags, fopAc_AttnFlag_CARRY_e); } } @@ -1076,11 +1076,11 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daNpc_Tkj2_Create(fopAc_ac_c* a_this) { +static cPhs_Step daNpc_Tkj2_Create(fopAc_ac_c* a_this) { fopAcM_ct(a_this, npc_tkj2_class); npc_tkj2_class* i_this = (npc_tkj2_class*)a_this; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "Tkj2"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "Tkj2"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("NPC_TKJ2 PARAM %x\n", fopAcM_GetParam(a_this)); diff --git a/src/d/actor/d_a_npc_tks.cpp b/src/d/actor/d_a_npc_tks.cpp index 161de1d346..0f1a529b5c 100644 --- a/src/d/actor/d_a_npc_tks.cpp +++ b/src/d/actor/d_a_npc_tks.cpp @@ -284,7 +284,7 @@ daNpcTks_c::~daNpcTks_c() { #endif } -cPhs__Step daNpcTks_c::Create() { +cPhs_Step daNpcTks_c::Create() { fopAcM_ct(this, daNpcTks_c); if (dComIfGs_isStageBossEnemy()) { @@ -311,9 +311,9 @@ cPhs__Step daNpcTks_c::Create() { mMessageNo = getMessageNo(); - cPhs__Step phase = cPhs_ERROR_e; + cPhs_Step phase = cPhs_ERROR_e; for (int i = 0; l_loadRes_list[mTksTsubo.mTsuboType][i] >= 0; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[l_loadRes_list[mTksTsubo.mTsuboType][i]]); + phase = dComIfG_resLoad(&mPhases[i], l_arcNames[l_loadRes_list[mTksTsubo.mTsuboType][i]]); if (phase != cPhs_COMPLEATE_e) { return phase; } diff --git a/src/d/actor/d_a_npc_toby.cpp b/src/d/actor/d_a_npc_toby.cpp index 11b0bd5989..232d107471 100644 --- a/src/d/actor/d_a_npc_toby.cpp +++ b/src/d/actor/d_a_npc_toby.cpp @@ -9,6 +9,7 @@ #include "Z2AudioLib/Z2Instances.h" #if DEBUG #include "JSystem/JHostIO/JORFile.h" +#include "d/d_debug_viewer.h" #endif #include "d/actor/d_a_obj_automata.h" #include "d/d_msg_object.h" @@ -106,15 +107,15 @@ void daNpc_Toby_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_Toby_HIO_c::genMessage(JORMContext* ctext) { daNpcT_cmnGenMessage(ctext, &m.common); // Performance speed: - ctext->genSlider("演奏速度 ", &m.performance_speed, 1.0f, 16.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("演奏速度 ", &m.performance_speed, 1.0f, 16.0f); // playing speed up: - ctext->genSlider("演奏加速 ", &m.speedup_performance, 0.0f, 16.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("演奏加速 ", &m.speedup_performance, 0.0f, 16.0f); // playing initial velocity: - ctext->genSlider("演奏初速 ", &m.init_play_speed, 1.0f, 16.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("演奏初速 ", &m.init_play_speed, 1.0f, 16.0f); // switching speed: - ctext->genSlider("切り替え速度 ", &m.switching_speed, 0.0f, 16.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("切り替え速度 ", &m.switching_speed, 0.0f, 16.0f); // export file: - ctext->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctext->genButton("ファイル書き出し", 0x40000002); } #endif @@ -414,14 +415,7 @@ int daNpc_Toby_c::Draw() { modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return daNpcT_c::draw( -#if DEBUG - chkAction(&daNpc_Toby_c::test), -#else - FALSE, -#endif - FALSE, mRealShadowSize, NULL, 100.0f, 0, 0, 0 - ); + return daNpcT_c::draw(NpcT_CHK_ACTION(daNpc_Toby_c), FALSE, mRealShadowSize, NULL, 100.0f, 0, 0, 0); } int daNpc_Toby_c::createHeapCallBack(fopAc_ac_c* i_this) { @@ -442,9 +436,10 @@ int daNpc_Toby_c::ctrlJointCallBack(J3DJoint* i_joint, int i_int) { } void* daNpc_Toby_c::srchToby(void* i_actor, void* i_data) { + fopAc_ac_c* o_actor = (fopAc_ac_c*) i_data; if (mFindCount < 50) { fopAc_ac_c* actor_p = (fopAc_ac_c*)i_actor; - if (actor_p != NULL && actor_p != i_data) { + if (actor_p != NULL && actor_p != o_actor) { if (fopAcM_IsExecuting(fopAcM_GetID(actor_p)) && fopAcM_GetName(actor_p) == PROC_NPC_TOBY) { mFindActorPtrs[mFindCount] = actor_p; mFindCount++; @@ -888,42 +883,20 @@ void daNpc_Toby_c::setCollision() { } int daNpc_Toby_c::drawDbgInfo() { +#if DEBUG + if (mpHIO->m.common.debug_info_ON) { + f32 dist_max_speak = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_SPEAK_e]).mDistMax; + f32 dist_max_talk = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_TALK_e]).mDistMax; + dDbVw_drawCircleOpa(attention_info.position, dist_max_speak, (GXColor){0x00, 0xC8, 0x00, 0xFF}, 1, 12); + dDbVw_drawCircleOpa(attention_info.position, dist_max_talk, (GXColor){0xC8, 0x00, 0x00, 0xFF}, 1, 12); + dDbVw_drawSphereXlu(eyePos, 18.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + dDbVw_drawSphereXlu(attention_info.position, 9.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + } +#endif + return FALSE; } -#if DEBUG -// I have 0 clue what these are about, but I saw them in npc_moir as well. -static s16 dummy_lit_122993(int sel) { - const s16 arr[2] = {0x00C8, 0x00FF}; - return arr[sel]; -} - -static s16 dummy_lit_122996(int sel) { - const s16 arr[2] = {0xC800, 0x00FF}; - return arr[sel]; -} - -static s16 dummy_lit_122999(int sel) { - const s16 arr[2] = {0x8080, 0x80A0}; - return arr[sel]; -} - -static s16 dummy_lit_123002(int sel) { - const s16 arr[2] = {0x8080, 0x80A0}; - return arr[sel]; -} - -static s16 dummy_lit_123016(int sel) { - const s16 arr[2] = {0x4190, 0x0000}; - return arr[sel]; -} - -static s16 dummy_lit_123017(int sel) { - const s16 arr[2] = {0x4110, 0x0000}; - return arr[sel]; -} -#endif - void daNpc_Toby_c::drawOtherMdl() { J3DModel* model = mpMorf[0]->getModel(); for (int i = 0; i < 1; i++) { @@ -2034,7 +2007,7 @@ int daNpc_Toby_c::walk(void*) { return 1; } -int daNpc_Toby_c::play(void* param_0) { +int daNpc_Toby_c::play(void*) { daObj_AutoMata_c* actor_p = (daObj_AutoMata_c*) mActorMngr[1].getActorP(); int reg_r29 = 1; if (actor_p != NULL) { @@ -2183,7 +2156,7 @@ int daNpc_Toby_c::talk(void*) { return 0; } -int daNpc_Toby_c::test(void* param_0) { +BOOL daNpc_Toby_c::test(void*) { switch(mMode) { case 0: case 1: @@ -2219,7 +2192,7 @@ static int daNpc_Toby_Draw(void* i_this) { return static_cast(i_this)->Draw(); } -static int daNpc_Toby_IsDelete(void* i_this) { +static int daNpc_Toby_IsDelete(void*) { return true; } diff --git a/src/d/actor/d_a_npc_uri.cpp b/src/d/actor/d_a_npc_uri.cpp index 6b3d134764..bedc05f3c6 100644 --- a/src/d/actor/d_a_npc_uri.cpp +++ b/src/d/actor/d_a_npc_uri.cpp @@ -1511,7 +1511,7 @@ int daNpc_Uri_c::wait(void* param_0) { && !daNpcT_chkEvtBit(0x92)) { cXyz acStack_70 = getAttnPos(daPy_getPlayerActorClass()); - int dist_index = attention_info.distances[1]; + int dist_index = attention_info.distances[fopAc_attn_TALK_e]; f32 fVar2 = dComIfGp_getAttention()->getDistTable(dist_index).mLowerY * -1.0f; f32 fVar3 = dComIfGp_getAttention()->getDistTable(dist_index).mUpperY * -1.0f; if (chkPointInArea(acStack_70, attention_info.position, 200.0f, fVar2, fVar3, diff --git a/src/d/actor/d_a_npc_wrestler.cpp b/src/d/actor/d_a_npc_wrestler.cpp index d10c22aa09..3d9eefe1e7 100644 --- a/src/d/actor/d_a_npc_wrestler.cpp +++ b/src/d/actor/d_a_npc_wrestler.cpp @@ -7,7 +7,7 @@ #include "d/actor/d_a_npc_wrestler.h" #include "d/d_timer.h" -#include "dolphin/types.h" +#include #include "d/actor/d_a_tag_arena.h" #include "d/actor/d_a_npc_gra.h" #include "d/actor/d_a_npc_bouS.h" @@ -514,55 +514,55 @@ const daNpcWrestler_HIOParam daNpcWrestler_Param_c::m = { #if DEBUG void daNpcWrestler_HIO_Node_c::genMessage(JORMContext* ctext) { // Real shadow size - ctext->genSlider("リアル影サイズ", &field_0x4->real_shadow_size, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("リアル影サイズ", &field_0x4->real_shadow_size, 0.0f, 1000.0f); // reasonable distance - ctext->genSlider("見合う距離", &field_0x4->reasonable_distance, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("見合う距離", &field_0x4->reasonable_distance, 0.0f, 500.0f); // grappling distance - ctext->genSlider("組み合い距離", &field_0x4->grapple_distance, 0.0f, 200.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("組み合い距離", &field_0x4->grapple_distance, 0.0f, 200.0f); // reconfig distance - ctext->genSlider("再配置距離", &field_0x4->reconfig_distance, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("再配置距離", &field_0x4->reconfig_distance, 0.0f, 500.0f); // lateral movement time - ctext->genSlider("横移動時間", &field_0x4->lateral_movement_time, 0, 150, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("横移動時間", &field_0x4->lateral_movement_time, 0, 150); // lateral movement speed - ctext->genSlider("横移動速度", &field_0x4->horizontal_movement_speed, 0, 0x1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("横移動速度", &field_0x4->horizontal_movement_speed, 0, 0x1000); // wandering time - ctext->genSlider("ふらふら時間", &field_0x4->stagger_time, 0, 300, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("ふらふら時間", &field_0x4->stagger_time, 0, 300); // waiting time - ctext->genSlider("待ち時間", &field_0x4->wait_time, 0, 300, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("待ち時間", &field_0x4->wait_time, 0, 300); // "§ ↓Please set it so that the total sum is 100↓ §" - ctext->genLabel("§ ↓全部足して100になるように設定してください↓ §", 0, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genLabel("§ ↓全部足して100になるように設定してください↓ §", 0); // "§ Practice Use §" - ctext->genLabel("§ 練習用 §", 0, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genLabel("§ 練習用 §", 0); // lateral movement probability ctext->genSlider(" 横移動 の確率", &field_0x4->chances[0].lateral_movement_chance, - 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + 0.0f, 100.0f); // slap probability ctext->genSlider(" 張り手 の確率", &field_0x4->chances[0].hit_chance, - 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + 0.0f, 100.0f); // tackle probability ctext->genSlider("タックルの確率", &field_0x4->chances[0].tackle_chance, - 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + 0.0f, 100.0f); // waiting probability ctext->genSlider(" 待 機 の確率", &field_0x4->chances[0].wait_chance, - 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + 0.0f, 100.0f); // "§ For production use §" - ctext->genLabel("§ 本番用 §", 0, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genLabel("§ 本番用 §", 0); // lateral movement probability ctext->genSlider(" 横移動 の確率", &field_0x4->chances[1].lateral_movement_chance, - 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + 0.0f, 100.0f); // slap probability ctext->genSlider(" 張り手 の確率", &field_0x4->chances[1].hit_chance, - 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + 0.0f, 100.0f); // tackle probability ctext->genSlider("タックルの確率", &field_0x4->chances[1].tackle_chance, - 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + 0.0f, 100.0f); // waiting probability ctext->genSlider(" 待 機 の確率", &field_0x4->chances[1].wait_chance, - 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + 0.0f, 100.0f); // "§ ↑Please set it so that the total sum is 100↑ §" - ctext->genLabel("§ ↑全部足して100になるように設定してください↑ §", 0, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genLabel("§ ↑全部足して100になるように設定してください↑ §", 0); // bending limit - ctext->genSlider("曲がり限界", &field_0x4->bending_limit, 0, 0x1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("曲がり限界", &field_0x4->bending_limit, 0, 0x1000); } daNpcWrestler_HIO_c::daNpcWrestler_HIO_c() { @@ -598,11 +598,11 @@ void daNpcWrestler_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpcWrestler_HIO_c::genMessage(JORMContext* ctext) { // TODO // Horizontal speed - ctext->genSlider("水平速度", &m.horizontal_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("水平速度", &m.horizontal_speed, 0.0f, 100.0f); // vertical velocity - ctext->genSlider("垂直速度", &m.vertical_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("垂直速度", &m.vertical_speed, 0.0f, 100.0f); // --- AI action --- - ctext->startComboBox("AI行動", &m.ai_action, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + ctext->startComboBox("AI行動", &m.ai_action); // no specification ctext->genComboBoxItem("指定無し", 0); // lateral movement @@ -615,9 +615,9 @@ void daNpcWrestler_HIO_c::genMessage(JORMContext* ctext) { ctext->genComboBoxItem("待ち", 4); ctext->endComboBox(); // rotating share - ctext->genSlider("回転割り", &m.rotation, 0, 30, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("回転割り", &m.rotation, 0, 30); // Slap hit impact - ctext->startComboBox("張り手Hit衝撃", &m.slap_hit_impact, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + ctext->startComboBox("張り手Hit衝撃", &m.slap_hit_impact); ctext->genComboBoxItem("VIBMODE_Q_POWER1", 1); ctext->genComboBoxItem("VIBMODE_Q_POWER2", 2); ctext->genComboBoxItem("VIBMODE_Q_POWER3", 3); @@ -628,15 +628,15 @@ void daNpcWrestler_HIO_c::genMessage(JORMContext* ctext) { ctext->genComboBoxItem("VIBMODE_Q_POWER8", 8); ctext->endComboBox(); // Ready? Appearance time - ctext->genSlider("Ready? 出現時間", &m.ready_appearance_time, 0, 300, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("Ready? 出現時間", &m.ready_appearance_time, 0, 300); // Fight! Appearance time - ctext->genSlider("Fight! 出現時間", &m.fight_appearance_time, 0, 300, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("Fight! 出現時間", &m.fight_appearance_time, 0, 300); // camera rotation angle - ctext->genSlider("カメラ回転角", &m.camera_rotation_angle, 0.0f, 2.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("カメラ回転角", &m.camera_rotation_angle, 0.0f, 2.0f); // sound at the edge of the ring - ctext->genSlider("音 土俵際距離", &m.ring_edge_sound, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("音 土俵際距離", &m.ring_edge_sound, 0.0f, 500.0f); // movement at the edge of the ring - ctext->genSlider("動 土俵際距離", &m.ring_edge_movement, 0.0f, 500.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("動 土俵際距離", &m.ring_edge_movement, 0.0f, 500.0f); daNpcF_commonGenMessage(ctext, &m.common); // Bo ctext->genNode("ボウ", &field_0x19c[0], 0, 0); @@ -672,16 +672,16 @@ daNpcWrestler_c::~daNpcWrestler_c() { #endif } -cPhs__Step daNpcWrestler_c::Create() { +cPhs_Step daNpcWrestler_c::Create() { fopAcM_ct(this, daNpcWrestler_c); mType = getType(); mMsgNo = getMessageNo(); field_0xe04 = l_anmList[mType]; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_resALink); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_resALink); if (phase == cPhs_COMPLEATE_e) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhase2, l_resName[mType]); + phase = dComIfG_resLoad(&mPhase2, l_resName[mType]); } if (phase == cPhs_COMPLEATE_e) { diff --git a/src/d/actor/d_a_npc_yamid.cpp b/src/d/actor/d_a_npc_yamid.cpp index cfa98ce53f..ea0f13ea94 100644 --- a/src/d/actor/d_a_npc_yamid.cpp +++ b/src/d/actor/d_a_npc_yamid.cpp @@ -72,7 +72,7 @@ void daNpc_yamiD_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_yamiD_HIO_c::genMessage(JORMContext* ctext) { daNpcT_cmnGenMessage(ctext, &m.common); - ctext->genButton("ファイル書き出し",0x40000002,0,NULL,0xffff,0xffff,0x200,0x18); + ctext->genButton("ファイル書き出し",0x40000002); } #endif @@ -190,7 +190,7 @@ daNpc_yamiD_HIOParam const daNpc_yamiD_Param_c::m = { static NPC_YAMID_HIO_CLASS l_HIO; -cPhs__Step daNpc_yamiD_c::create() { +cPhs_Step daNpc_yamiD_c::create() { daNpcT_ct(this, daNpc_yamiD_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -199,7 +199,7 @@ cPhs__Step daNpc_yamiD_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3710)) { return cPhs_ERROR_e; @@ -297,7 +297,7 @@ int daNpc_yamiD_c::CreateHeap() { int daNpc_yamiD_c::Delete() { OS_REPORT("|%06d:%x|daNpc_yamiD_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID reg_r30 = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_YAMID"); this->~daNpc_yamiD_c(); return 1; } diff --git a/src/d/actor/d_a_npc_yamis.cpp b/src/d/actor/d_a_npc_yamis.cpp index 4eafe9a6e3..64d36e12f2 100644 --- a/src/d/actor/d_a_npc_yamis.cpp +++ b/src/d/actor/d_a_npc_yamis.cpp @@ -139,7 +139,7 @@ const daNpc_yamiS_HIOParam daNpc_yamiS_Param_c::m = { static NPC_YAMIS_HIO_CLASS l_HIO; -cPhs__Step daNpc_yamiS_c::create() { +cPhs_Step daNpc_yamiS_c::create() { daNpcT_ct(this, daNpc_yamiS_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -147,7 +147,7 @@ cPhs__Step daNpc_yamiS_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3540)) { return cPhs_ERROR_e; @@ -232,7 +232,7 @@ int daNpc_yamiS_c::CreateHeap() { } int daNpc_yamiS_c::Delete() { - fpc_ProcID reg_r30 = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_YAMIS"); this->~daNpc_yamiS_c(); return 1; } diff --git a/src/d/actor/d_a_npc_yamit.cpp b/src/d/actor/d_a_npc_yamit.cpp index c281758b95..611bdc9feb 100644 --- a/src/d/actor/d_a_npc_yamit.cpp +++ b/src/d/actor/d_a_npc_yamit.cpp @@ -142,7 +142,7 @@ const daNpc_yamiT_HIOParam daNpc_yamiT_Param_c::m = { static NPC_YAMIT_HIO_CLASS l_HIO; -cPhs__Step daNpc_yamiT_c::create() { +cPhs_Step daNpc_yamiT_c::create() { daNpcT_ct(this, daNpc_yamiT_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -150,7 +150,7 @@ cPhs__Step daNpc_yamiT_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3850)) { return cPhs_ERROR_e; @@ -235,7 +235,7 @@ int daNpc_yamiT_c::CreateHeap() { } int daNpc_yamiT_c::Delete() { - fpc_ProcID reg_r30 = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_YAMIT"); this->~daNpc_yamiT_c(); return 1; } diff --git a/src/d/actor/d_a_npc_yelia.cpp b/src/d/actor/d_a_npc_yelia.cpp index d7ee35d686..55e13fd4a1 100644 --- a/src/d/actor/d_a_npc_yelia.cpp +++ b/src/d/actor/d_a_npc_yelia.cpp @@ -369,7 +369,7 @@ daNpc_Yelia_c::~daNpc_Yelia_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_Yelia_c::create() { +cPhs_Step daNpc_Yelia_c::create() { daNpcT_ct(this, daNpc_Yelia_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -380,7 +380,7 @@ cPhs__Step daNpc_Yelia_c::create() { mTwilight = true; } - cPhs__Step step = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step step = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (step == cPhs_COMPLEATE_e) { if (isDelete()) { @@ -1559,7 +1559,7 @@ BOOL daNpc_Yelia_c::talk(void* param_0) { return FALSE; } -static cPhs__Step daNpc_Yelia_Create(void* i_this) { +static cPhs_Step daNpc_Yelia_Create(void* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_npc_ykm.cpp b/src/d/actor/d_a_npc_ykm.cpp index ad6cff2179..706634a16e 100644 --- a/src/d/actor/d_a_npc_ykm.cpp +++ b/src/d/actor/d_a_npc_ykm.cpp @@ -296,23 +296,23 @@ void daNpc_ykM_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_ykM_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); - ctx->genSlider("ステップの速さ ", &m.step_speed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("注目距離 ", &m.attention_dist, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("会話距離 ", &m.conversation_dist, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("飛び出し速度 ", &m.jump_speed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("飛び出し角度 ", &m.push_out_angle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("飛ばしフレ-ム ", &m.skip_frame, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("飛ばし速度 ", &m.fly_speed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("飛ばし角度 ", &m.fly_angle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("ジャンプ初速 ", &m.jump_init_speed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("滑り加速 ", &m.slide_acceleration, 0.0f, 8.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("滑り速度 ", &m.slide_speed, 0.0f, 128.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("ウエイト時間 ", &m.wait_time, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("走り速度 ", &m.run_speed, 0.0f, 64.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("競争パラメ-タa", &m.competition_prm_a, -100.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("競争パラメ-タb", &m.competition_prm_b, 1.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("競争パラメ-タc", &m.competition_prm_c, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ステップの速さ ", &m.step_speed, 0.0f, 100.0f); + ctx->genSlider("注目距離 ", &m.attention_dist, 0.0f, 10000.0f); + ctx->genSlider("会話距離 ", &m.conversation_dist, 0.0f, 10000.0f); + ctx->genSlider("飛び出し速度 ", &m.jump_speed, 0.0f, 100.0f); + ctx->genSlider("飛び出し角度 ", &m.push_out_angle, 0.0f, 90.0f); + ctx->genSlider("飛ばしフレ-ム ", &m.skip_frame, 0.0f, 100.0f); + ctx->genSlider("飛ばし速度 ", &m.fly_speed, 0.0f, 100.0f); + ctx->genSlider("飛ばし角度 ", &m.fly_angle, 0.0f, 90.0f); + ctx->genSlider("ジャンプ初速 ", &m.jump_init_speed, 0.0f, 100.0f); + ctx->genSlider("滑り加速 ", &m.slide_acceleration, 0.0f, 8.0f); + ctx->genSlider("滑り速度 ", &m.slide_speed, 0.0f, 128.0f); + ctx->genSlider("ウエイト時間 ", &m.wait_time, 0.0f, 10000.0f); + ctx->genSlider("走り速度 ", &m.run_speed, 0.0f, 64.0f); + ctx->genSlider("競争パラメ-タa", &m.competition_prm_a, -100.0f, 100.0f); + ctx->genSlider("競争パラメ-タb", &m.competition_prm_b, 1.0f, 100.0f); + ctx->genSlider("競争パラメ-タc", &m.competition_prm_c, 0.0f, 10.0f); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -572,14 +572,14 @@ daNpc_ykM_c::~daNpc_ykM_c() { daNpcT_offTmpBit(0x54); // dSv_event_tmp_flag_c::T_0084 - Snowpeak mountain - Racing with Yeto } -cPhs__Step daNpc_ykM_c::create() { +cPhs_Step daNpc_ykM_c::create() { daNpcT_ct(this, daNpc_ykM_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); mType = getType(); mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x, BitTRB:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, getPathID(), getBitTRB() & 0xFF, fopAcM_GetParam(this)); @@ -750,15 +750,11 @@ int daNpc_ykM_c::CreateHeap() { int daNpc_ykM_c::Delete() { OS_REPORT("|%06d:%x|daNpc_ykM_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID unusedId = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_YKM"); this->~daNpc_ykM_c(); return 1; } -static void dummy_string() { - OS_REPORT("Delete -> NPC_YKM(id=%d)\n", 0); -} - int daNpc_ykM_c::Execute() { return execute(); } @@ -775,14 +771,7 @@ int daNpc_ykM_c::Draw() { mdlData_p->getMaterialNodePointer(3)->getShape()->hide(); } - rv = draw( - #if DEBUG - chkAction(&daNpc_ykM_c::test), - #else - FALSE, - #endif - FALSE, mRealShadowSize, NULL, 0.0f, FALSE, field_0x1581 == 1, FALSE - ); + rv = draw(NpcT_CHK_ACTION(daNpc_ykM_c), FALSE, mRealShadowSize, NULL, 0.0f, FALSE, field_0x1581 == 1, FALSE); if (field_0x157a != 0) { mdlData_p->getMaterialNodePointer(3)->getShape()->show(); @@ -1577,8 +1566,8 @@ void daNpc_ykM_c::setCollision() { int daNpc_ykM_c::drawDbgInfo() { #if DEBUG if (mpHIO->m.common.debug_info_ON != 0) { - f32 fVar1 = dComIfGp_getAttention()->getDistTable(attention_info.distances[6]).mDistMax; - f32 fVar2 = dComIfGp_getAttention()->getDistTable(attention_info.distances[1]).mDistMax; + f32 fVar1 = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_SPEAK_e]).mDistMax; + f32 fVar2 = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_TALK_e]).mDistMax; dDbVw_drawCircleOpa(attention_info.position, fVar1, (GXColor){0x0, 0xc8, 0x0, 0xff}, 1, 12); dDbVw_drawCircleOpa(attention_info.position, fVar2, (GXColor){0xc8, 0x0, 0x0, 0xff}, 1, 12); dDbVw_drawSphereXlu(eyePos, 18.0f, (GXColor){0x80, 0x80, 0x80, 0xa0}, 1); diff --git a/src/d/actor/d_a_npc_ykw.cpp b/src/d/actor/d_a_npc_ykw.cpp index 70c6694dac..36c55f22e7 100644 --- a/src/d/actor/d_a_npc_ykw.cpp +++ b/src/d/actor/d_a_npc_ykw.cpp @@ -229,32 +229,20 @@ void daNpc_ykW_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { void daNpc_ykW_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); - ctx->genSlider("飛ばしフレ-ム ", &m.mSkipFrame, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("飛ばし速度 ", &m.mFlySpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("飛ばし角度 ", &m.mFlyAngle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("ジャンプ初速 ", &m.mJumpInitialSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - ctx->genSlider("滑り加速 ", &m.mSlidingAccel, 0.0f, 8.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("滑り速度 ", &m.mSlidingSpeed, 0.0f, 128.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("競争パラメ-タa", &m.mCompetParamA, -100, 100, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("競争パラメ-タb", &m.mCompetParamB, 1, 100, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("競争パラメ-タc", &m.mCompetParamC, 0.0, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("歩き時間 ", &m.mWalkingTime, 0, 10000, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("停止時間 ", &m.mDownTime, 0, 10000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("ステップの速さ ", &m.mStepSpeed, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("飛ばしフレ-ム ", &m.mSkipFrame, 0.0f, 100.0f); + ctx->genSlider("飛ばし速度 ", &m.mFlySpeed, 0.0f, 100.0f); + ctx->genSlider("飛ばし角度 ", &m.mFlyAngle, 0.0f, 90.0f); + ctx->genSlider("ジャンプ初速 ", &m.mJumpInitialSpeed, 0.0f, 100.0f); + ctx->genSlider("滑り加速 ", &m.mSlidingAccel, 0.0f, 8.0f); + ctx->genSlider("滑り速度 ", &m.mSlidingSpeed, 0.0f, 128.0f); + ctx->genSlider("競争パラメ-タa", &m.mCompetParamA, -100, 100); + ctx->genSlider("競争パラメ-タb", &m.mCompetParamB, 1, 100); + ctx->genSlider("競争パラメ-タc", &m.mCompetParamC, 0.0, 10.0f); + ctx->genSlider("歩き時間 ", &m.mWalkingTime, 0, 10000); + ctx->genSlider("停止時間 ", &m.mDownTime, 0, 10000); + ctx->genSlider("ステップの速さ ", &m.mStepSpeed, 0, 100); // "File export" - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -431,7 +419,7 @@ int daNpc_ykW_c::CreateHeap() { int daNpc_ykW_c::Delete() { OS_REPORT("|%06d:%x|daNpc_ykW_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_YKW"); this->~daNpc_ykW_c(); return 1; } diff --git a/src/d/actor/d_a_npc_zanb.cpp b/src/d/actor/d_a_npc_zanb.cpp index 072467a470..93058921fc 100644 --- a/src/d/actor/d_a_npc_zanb.cpp +++ b/src/d/actor/d_a_npc_zanb.cpp @@ -138,7 +138,7 @@ daNpc_zanB_HIOParam const daNpc_zanB_Param_c::m = { static NPC_ZANB_HIO_CLASS l_HIO; -cPhs__Step daNpc_zanB_c::create() { +cPhs_Step daNpc_zanB_c::create() { daNpcT_ct(this, daNpc_zanB_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -147,7 +147,7 @@ cPhs__Step daNpc_zanB_c::create() { mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) flowNo:%d<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, fopAcM_GetParam(this)); @@ -239,7 +239,7 @@ int daNpc_zanB_c::CreateHeap() { int daNpc_zanB_c::Delete() { OS_REPORT("|%06d:%x|daNpc_zanB_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_ZANB"); this->~daNpc_zanB_c(); return 1; } @@ -254,14 +254,7 @@ int daNpc_zanB_c::Draw() { mdlData_p->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); } - return draw( -#if DEBUG - chkAction(&daNpc_zanB_c::test), -#else - FALSE, -#endif - FALSE, mRealShadowSize, NULL, 0.0f, TRUE, FALSE, FALSE - ); + return draw(NpcT_CHK_ACTION(daNpc_zanB_c), FALSE, mRealShadowSize, NULL, 0.0f, TRUE, FALSE, FALSE); } int daNpc_zanB_c::createHeapCallBack(fopAc_ac_c* i_this) { diff --git a/src/d/actor/d_a_npc_zant.cpp b/src/d/actor/d_a_npc_zant.cpp index d605614e49..0353f6ccc8 100644 --- a/src/d/actor/d_a_npc_zant.cpp +++ b/src/d/actor/d_a_npc_zant.cpp @@ -261,9 +261,9 @@ void daNpc_Zant_c::setParam() { s16 sVar1 = mpHIO->m.common.talk_distance; s16 sVar2 = mpHIO->m.common.talk_angle; - attention_info.distances[0] = daNpcT_getDistTableIdx(mpHIO->m.common.attention_distance, mpHIO->m.common.attention_angle); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = daNpcT_getDistTableIdx(sVar1, sVar2); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(mpHIO->m.common.attention_distance, mpHIO->m.common.attention_angle); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar1, sVar2); attention_info.flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; diff --git a/src/d/actor/d_a_npc_zelR.cpp b/src/d/actor/d_a_npc_zelR.cpp index 4ea2a6a18c..0e5da0c5c2 100644 --- a/src/d/actor/d_a_npc_zelR.cpp +++ b/src/d/actor/d_a_npc_zelR.cpp @@ -371,9 +371,9 @@ void daNpc_ZelR_c::setParam() { s16 sVar2 = l_HIO.m.common.talk_angle; s16 sVar3 = l_HIO.m.common.attention_distance; s16 sVar4 = l_HIO.m.common.attention_angle; - attention_info.distances[0] = daNpcT_getDistTableIdx(sVar3, sVar4); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = daNpcT_getDistTableIdx(sVar1, sVar2); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar3, sVar4); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar1, sVar2); attention_info.flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; scale.setall(l_HIO.m.common.scale); mCcStts.SetWeight(l_HIO.m.common.weight); diff --git a/src/d/actor/d_a_npc_zelRo.cpp b/src/d/actor/d_a_npc_zelRo.cpp index afc1a2faf1..f1bd201c7a 100644 --- a/src/d/actor/d_a_npc_zelRo.cpp +++ b/src/d/actor/d_a_npc_zelRo.cpp @@ -162,14 +162,14 @@ daNpc_ZelRo_c::~daNpc_ZelRo_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -cPhs__Step daNpc_ZelRo_c::create() { +cPhs_Step daNpc_ZelRo_c::create() { daNpcT_ct(this, daNpc_ZelRo_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); mType = getType(); mFlowNodeNo = getFlowNodeNo(); mTwilight = false; - cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + cPhs_Step phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x71C0)) { return cPhs_ERROR_e; @@ -277,13 +277,7 @@ int daNpc_ZelRo_c::Draw() { mdlData_p->getMaterialNodePointer(getEyeballRMaterialNo())->setMaterialAnm(mpMatAnm[1]); } - return draw( -#if DEBUG - chkAction(&daNpc_ZelRo_c::test), -#else - FALSE, -#endif - TRUE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE + return draw(NpcT_CHK_ACTION(daNpc_ZelRo_c), TRUE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE ); } diff --git a/src/d/actor/d_a_npc_zelda.cpp b/src/d/actor/d_a_npc_zelda.cpp index eaa27db6b9..563fcea24c 100644 --- a/src/d/actor/d_a_npc_zelda.cpp +++ b/src/d/actor/d_a_npc_zelda.cpp @@ -65,7 +65,7 @@ daNpc_Zelda_HIO_c::daNpc_Zelda_HIO_c() { void daNpc_Zelda_HIO_c::genMessage(JORMContext* ctx) { daNpcT_cmnGenMessage(ctx, &m.common); ctx->genButton - ("ファイル書き出し",0x40000002,0,NULL,0xffff,0xffff,0x200,0x18); + ("ファイル書き出し",0x40000002); } void daNpc_Zelda_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { @@ -285,7 +285,7 @@ int daNpc_Zelda_c::CreateHeap() { int daNpc_Zelda_c::Delete() { OS_REPORT("|%06d:%x|daNpc_Zelda_c -> Delete\n", g_Counter.mCounter0, this); - fpc_ProcID unusedId = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "NPC_ZELDA"); this->~daNpc_Zelda_c(); return 1; } diff --git a/src/d/actor/d_a_npc_zra.cpp b/src/d/actor/d_a_npc_zra.cpp index ddc75b50d6..aa78729989 100644 --- a/src/d/actor/d_a_npc_zra.cpp +++ b/src/d/actor/d_a_npc_zra.cpp @@ -488,7 +488,7 @@ daNpc_zrA_c::~daNpc_zrA_c() { #endif } -cPhs__Step daNpc_zrA_c::create() { +cPhs_Step daNpc_zrA_c::create() { fopAcM_ct(this, daNpc_zrA_c); mType = getTypeFromArgument(); @@ -508,7 +508,7 @@ cPhs__Step daNpc_zrA_c::create() { } int res_count = 0; - cPhs__Step step; + cPhs_Step step; int i; for (i = 0; l_loadRes_list[mType][i] >= 0; i++) { int res_no = l_loadRes_list[mType][i]; @@ -522,7 +522,7 @@ cPhs__Step daNpc_zrA_c::create() { } } - step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_resNames[res_no]); + step = dComIfG_resLoad(&mPhase[i], l_resNames[res_no]); if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { return cPhs_ERROR_e; @@ -534,9 +534,9 @@ cPhs__Step daNpc_zrA_c::create() { if (mSoldierType != SOLDIER_NONE) { if (mTwilight) { - step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_resNames[10]); + step = dComIfG_resLoad(&mPhase[i], l_resNames[10]); } else { - step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_resNames[7]); + step = dComIfG_resLoad(&mPhase[i], l_resNames[7]); } if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { @@ -2303,7 +2303,7 @@ BOOL daNpc_zrA_c::test(void* param_0) { return true; } -static cPhs__Step daNpc_zrA_Create(void* i_this) { +static cPhs_Step daNpc_zrA_Create(void* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_npc_zrc.cpp b/src/d/actor/d_a_npc_zrc.cpp index f4fbab26e0..2745b04d8f 100644 --- a/src/d/actor/d_a_npc_zrc.cpp +++ b/src/d/actor/d_a_npc_zrc.cpp @@ -218,7 +218,7 @@ daNpc_zrC_c::~daNpc_zrC_c() { #endif } -cPhs__Step daNpc_zrC_c::create() { +cPhs_Step daNpc_zrC_c::create() { fopAcM_ct(this, daNpc_zrC_c); mType = getTypeFromParam(); @@ -240,7 +240,7 @@ cPhs__Step daNpc_zrC_c::create() { if (res_idx == 3 && mTwilight) { res_idx = 4; } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_resNames[res_idx]); + cPhs_Step step = dComIfG_resLoad(&mPhase[i], l_resNames[res_idx]); if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { return cPhs_ERROR_e; } @@ -415,7 +415,7 @@ int daNpc_zrC_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { void daNpc_zrC_c::setParam() { ActionFn action = mpNextActionFn; - u32 attn_flags = 10; + u32 attn_flags = fopAc_AttnFlag_TALK_e | fopAc_AttnFlag_SPEAK_e; selectAction(); if (!mTwilight && daPy_py_c::checkNowWolf()) { @@ -1766,7 +1766,7 @@ BOOL daNpc_zrC_c::ECut_earringGet(int i_staffID) { return ret; } -static cPhs__Step daNpc_zrC_Create(void* i_this) { +static cPhs_Step daNpc_zrC_Create(void* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_npc_zrz.cpp b/src/d/actor/d_a_npc_zrz.cpp index f327729b8d..a600f217cc 100644 --- a/src/d/actor/d_a_npc_zrz.cpp +++ b/src/d/actor/d_a_npc_zrz.cpp @@ -194,7 +194,7 @@ daNpc_zrZ_c::~daNpc_zrZ_c() { #endif } -cPhs__Step daNpc_zrZ_c::create() { +cPhs_Step daNpc_zrZ_c::create() { fopAcM_ct(this, daNpc_zrZ_c); mType = getTypeFromParam(); @@ -215,7 +215,7 @@ cPhs__Step daNpc_zrZ_c::create() { int res_count = 0; int i; for (i = 0; l_loadRes_list[mType][i] >= 0; i++) { - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], + cPhs_Step step = dComIfG_resLoad(&mPhase[i], l_resNames[l_loadRes_list[mType][i]]); if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { return cPhs_ERROR_e; @@ -511,7 +511,7 @@ static void* s_subRock(void* i_proc, void* i_this) { void daNpc_zrZ_c::setParam() { ActionFn action = mpNextActionFn; - u32 attn_flags = 10; + u32 attn_flags = fopAc_AttnFlag_TALK_e | fopAc_AttnFlag_SPEAK_e; selectAction(); if (!mTwilight && daPy_py_c::checkNowWolf()) { @@ -2420,7 +2420,7 @@ void daNpc_zrZ_c::himoCalc() { mLimbAngle.z = cM_atan2s(mLimbCalcRelPos.z, mLimbCalcRelPos.x); } -static cPhs__Step daNpc_zrZ_Create(void* i_this) { +static cPhs_Step daNpc_zrZ_Create(void* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_amiShutter.cpp b/src/d/actor/d_a_obj_amiShutter.cpp index a6554a9d8a..cdd4e2a69a 100644 --- a/src/d/actor/d_a_obj_amiShutter.cpp +++ b/src/d/actor/d_a_obj_amiShutter.cpp @@ -33,14 +33,10 @@ daAmiShutter_HIO_c::daAmiShutter_HIO_c() { #if DEBUG void daAmiShutter_HIO_c::genMessage(JORMContext* i_ctx) { - i_ctx->genSlider("open速度", &mMaxOpenSpeed, 0.1f, 1000.0f, - 0, NULL, 0xffff, 0xffff, 512, 24); - i_ctx->genSlider("close速度", &mMaxCloseSpeed, 0.1f, 1000.0f, - 0, NULL, 0xffff, 0xffff, 512, 24); - i_ctx->genSlider("range", &mRange, 0.1f, 1000.0f, - 0, NULL, 0xffff, 0xffff, 512, 24); - i_ctx->genSlider("waitTime", &mWaitTime, 0, 255, - 0, NULL, 0xffff, 0xffff, 512, 24); + i_ctx->genSlider("open速度", &mMaxOpenSpeed, 0.1f, 1000.0f); + i_ctx->genSlider("close速度", &mMaxCloseSpeed, 0.1f, 1000.0f); + i_ctx->genSlider("range", &mRange, 0.1f, 1000.0f); + i_ctx->genSlider("waitTime", &mWaitTime, 0, 255); } #endif @@ -67,12 +63,12 @@ int daAmiShutter_c::CreateHeap() { } -cPhs__Step daAmiShutter_c::create() { +cPhs_Step daAmiShutter_c::create() { fopAcM_ct(this, daAmiShutter_c); - cPhs__Step phaseStep = (cPhs__Step) dComIfG_resLoad(&mPhaseReq, "S_Zami"); + cPhs_Step phaseStep = dComIfG_resLoad(&mPhaseReq, "S_Zami"); if (phaseStep == cPhs_COMPLEATE_e) { - cPhs__Step res = (cPhs__Step) MoveBGCreate("S_Zami", 7, + cPhs_Step res = MoveBGCreate("S_Zami", 7, dBgS_MoveBGProc_Typical, 0x1a00, NULL); if (res == cPhs_ERROR_e) { diff --git a/src/d/actor/d_a_obj_ari.cpp b/src/d/actor/d_a_obj_ari.cpp index 0250f14643..f97e72aa49 100644 --- a/src/d/actor/d_a_obj_ari.cpp +++ b/src/d/actor/d_a_obj_ari.cpp @@ -129,7 +129,7 @@ int daObjARI_c::CreateHeap() { return 1; } -static cPhs__Step daObjARI_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjARI_Create(fopAc_ac_c* i_this) { fopAcM_GetID(i_this); return static_cast(i_this)->create(); } @@ -605,9 +605,9 @@ bool daObjARI_c::CreateChk() { return true; } -cPhs__Step daObjARI_c::create() { +cPhs_Step daObjARI_c::create() { fopAcM_ct(this, daObjARI_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, "I_Ari"); + cPhs_Step step = dComIfG_resLoad(&mPhase, "I_Ari"); if (step == cPhs_COMPLEATE_e) { mLocation = fopAcM_GetParam(this) & 0xf; diff --git a/src/d/actor/d_a_obj_barDesk.cpp b/src/d/actor/d_a_obj_barDesk.cpp index 85cb7f5955..9e0b3a4a8f 100644 --- a/src/d/actor/d_a_obj_barDesk.cpp +++ b/src/d/actor/d_a_obj_barDesk.cpp @@ -46,12 +46,12 @@ int daBarDesk_c::CreateHeap() { return 1; } -cPhs__Step daBarDesk_c::create() { +cPhs_Step daBarDesk_c::create() { fopAcM_ct(this, daBarDesk_c); if (fopAcM_isSwitch(this, (u8)fopAcM_GetParam(this))) { return cPhs_ERROR_e; } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, "KHdesk"); + cPhs_Step step = dComIfG_resLoad(&mPhase, "KHdesk"); if (step == cPhs_COMPLEATE_e) { if (MoveBGCreate("KHdesk", 7, dBgS_MoveBGProc_TypicalRotY, 0xe50, NULL) == cPhs_ERROR_e) { return cPhs_ERROR_e; @@ -148,7 +148,7 @@ static int daBarDesk_Delete(daBarDesk_c* i_this) { return i_this->MoveBGDelete(); } -static cPhs__Step daBarDesk_Create(fopAc_ac_c* i_this) { +static cPhs_Step daBarDesk_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_batta.cpp b/src/d/actor/d_a_obj_batta.cpp index a790bc19c6..03dc458775 100644 --- a/src/d/actor/d_a_obj_batta.cpp +++ b/src/d/actor/d_a_obj_batta.cpp @@ -55,13 +55,11 @@ static daObj_BattaHIO_c l_HIO; void daObj_BattaHIO_c::genMessage(JORMContext* ctx) { // Golden bugs - ctx->genLabel("黄金蟲(バッタ)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("黄金蟲(バッタ)", 0x80000001); // Model scale (Male) - ctx->genSlider("モデルスケール(オス)", &mModelScaleMale, 0.1f, 4.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("モデルスケール(オス)", &mModelScaleMale, 0.1f, 4.0f); // Model scale (Female) - ctx->genSlider("モデルスケール(メス)", &mModelScaleFemale, 0.1f, 4.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("モデルスケール(メス)", &mModelScaleFemale, 0.1f, 4.0f); } #endif diff --git a/src/d/actor/d_a_obj_bed.cpp b/src/d/actor/d_a_obj_bed.cpp index ea83d6ff33..37de863ca6 100644 --- a/src/d/actor/d_a_obj_bed.cpp +++ b/src/d/actor/d_a_obj_bed.cpp @@ -46,10 +46,10 @@ daObj_Bed_c::~daObj_Bed_c() { dComIfG_resDelete(&mPhase, getResName()); } -cPhs__Step daObj_Bed_c::create() { +cPhs_Step daObj_Bed_c::create() { fopAcM_ct(this, daObj_Bed_c); mType = getType(); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, getResName()); + cPhs_Step step = dComIfG_resLoad(&mPhase, getResName()); if (step == cPhs_COMPLEATE_e) { if (isDelete()) { return cPhs_ERROR_e; @@ -179,7 +179,7 @@ void daObj_Bed_c::setMtx() { } -static cPhs__Step daObj_Bed_Create(void* i_this) { +static cPhs_Step daObj_Bed_Create(void* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_bemos.cpp b/src/d/actor/d_a_obj_bemos.cpp index 9f80da3f3e..25dd1587ef 100644 --- a/src/d/actor/d_a_obj_bemos.cpp +++ b/src/d/actor/d_a_obj_bemos.cpp @@ -171,24 +171,24 @@ daObjBm_HIO_c::daObjBm_HIO_c() { } void daObjBm_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("ビーモス", 0, 0, NULL, -1, -1, 512, 24); - ctx->genCheckBox("デバッグ描画", &debug_draw, 1, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("サーチ距離", &search_dist, 100.0f, 5000.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("サーチ角度", &search_angle, 0.0f, 32767.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("発見角度", &detection_angle, 0.0f, 32767.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("巡回回転速度", &patrol_rot_spd, 0.0f, 1000.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("攻撃回転速度", &attack_rot_spd, 0.0f, 1000.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("ビーム発射・下距離", &beam_lower_dist, 0.0f, 1000.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("ビーム発射・中距離", &beam_middle_dist, 0.0f, 1000.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("目標オフセット距離", &target_offset_dist, 0.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("SW起動後サーチ無し時間", &after_switch_activate_no_search_time, 0.0f, 1000.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("発音位置移動速度", &sound_pos_move_spd, 0.0f, 1000.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("サーチ無し攻撃時間", &no_search_attack_time, 0.0f, 100.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("発見時のサーチ速度", &search_spd_on_detect, 0.0f, 10000.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("本体スケール", &body_scale, 0.1f, 5.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("ビームXスケール", &beam_scale.x, 0.1f, 10.0f, 0, NULL, -1, -1, 512, 24); - ctx->genSlider("ビームYスケール", &beam_scale.y, 0.1f, 10.0f, 0, NULL, -1, -1, 512, 24); - ctx->genCheckBox("チェック描画", &check_draw, 1, 0, NULL, -1, -1, 512, 24); + ctx->genLabel("ビーモス", 0); + ctx->genCheckBox("デバッグ描画", &debug_draw, 0x1); + ctx->genSlider("サーチ距離", &search_dist, 100.0f, 5000.0f); + ctx->genSlider("サーチ角度", &search_angle, 0.0f, 32767.0f); + ctx->genSlider("発見角度", &detection_angle, 0.0f, 32767.0f); + ctx->genSlider("巡回回転速度", &patrol_rot_spd, 0.0f, 1000.0f); + ctx->genSlider("攻撃回転速度", &attack_rot_spd, 0.0f, 1000.0f); + ctx->genSlider("ビーム発射・下距離", &beam_lower_dist, 0.0f, 1000.0f); + ctx->genSlider("ビーム発射・中距離", &beam_middle_dist, 0.0f, 1000.0f); + ctx->genSlider("目標オフセット距離", &target_offset_dist, 0.0f, 500.0f); + ctx->genSlider("SW起動後サーチ無し時間", &after_switch_activate_no_search_time, 0.0f, 1000.0f); + ctx->genSlider("発音位置移動速度", &sound_pos_move_spd, 0.0f, 1000.0f); + ctx->genSlider("サーチ無し攻撃時間", &no_search_attack_time, 0.0f, 100.0f); + ctx->genSlider("発見時のサーチ速度", &search_spd_on_detect, 0.0f, 10000.0f); + ctx->genSlider("本体スケール", &body_scale, 0.1f, 5.0f); + ctx->genSlider("ビームXスケール", &beam_scale.x, 0.1f, 10.0f); + ctx->genSlider("ビームYスケール", &beam_scale.y, 0.1f, 10.0f); + ctx->genCheckBox("チェック描画", &check_draw, 0x1); } #define BEAM_SCALE_X l_HIO.beam_scale.x #define BEAM_SCALE_Y l_HIO.beam_scale.y @@ -490,11 +490,11 @@ int daObjBm_c::create1st() { mCreateFirstFlag = 1; } - cPhs__Step phase_state = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase_state = dComIfG_resLoad(&mPhase, l_arcName); if (phase_state == cPhs_COMPLEATE_e) { phase_state = - (cPhs__Step)MoveBGCreate(l_arcName, 0x1E, dBgS_MoveBGProc_TypicalRotY, 0x5500, NULL); + MoveBGCreate(l_arcName, 0x1E, dBgS_MoveBGProc_TypicalRotY, 0x5500, NULL); if (phase_state == cPhs_ERROR_e) { return phase_state; } diff --git a/src/d/actor/d_a_obj_bkdoor.cpp b/src/d/actor/d_a_obj_bkdoor.cpp index b7eb850ade..8ed051902d 100644 --- a/src/d/actor/d_a_obj_bkdoor.cpp +++ b/src/d/actor/d_a_obj_bkdoor.cpp @@ -87,9 +87,9 @@ int daObjBkDoor_c::CreateHeap() { int daObjBkDoor_c::create1st() { mOrientation = fopAcM_GetParamBit(this, 0, 1); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_COMPLEATE_e) { - step = (cPhs__Step)MoveBGCreate(l_arcName, l_dzb[mOrientation], dBgS_MoveBGProc_TypicalRotY, + step = MoveBGCreate(l_arcName, l_dzb[mOrientation], dBgS_MoveBGProc_TypicalRotY, 0xBD0, NULL); if (step == cPhs_ERROR_e) { return step; diff --git a/src/d/actor/d_a_obj_bosswarp.cpp b/src/d/actor/d_a_obj_bosswarp.cpp index a743466f7a..ab8f014d15 100644 --- a/src/d/actor/d_a_obj_bosswarp.cpp +++ b/src/d/actor/d_a_obj_bosswarp.cpp @@ -151,9 +151,9 @@ int daObjBossWarp_c::CreateHeap() { return 1; } -cPhs__Step daObjBossWarp_c::create() { +cPhs_Step daObjBossWarp_c::create() { fopAcM_ct(this, daObjBossWarp_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x18e0)) { return cPhs_ERROR_e; @@ -657,7 +657,7 @@ static int daObjBossWarp_Delete(daObjBossWarp_c* i_this) { return i_this->_delete(); } -static cPhs__Step daObjBossWarp_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjBossWarp_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_brg.cpp b/src/d/actor/d_a_obj_brg.cpp index fd00d5b5a4..dbe848e6d3 100644 --- a/src/d/actor/d_a_obj_brg.cpp +++ b/src/d/actor/d_a_obj_brg.cpp @@ -1407,6 +1407,7 @@ static int daObj_Brg_IsDelete(obj_brg_class* i_this) { } static int daObj_Brg_Delete(obj_brg_class* i_this) { + fopAcM_RegisterDeleteID(i_this, "Obj_Brg"); dComIfG_resDelete(&i_this->mPhase, "Obj_brg"); if (i_this->mpBgW != NULL) { @@ -1600,7 +1601,7 @@ static int CallbackCreateHeap(fopAc_ac_c* i_this) { } } - OS_REPORT("BGSV SET 1! \n"); + OS_REPORT("BGSV SET 1!\n"); a_this->mpBgW = new dBgWSv(); if (a_this->mpBgW == NULL) { @@ -1638,7 +1639,7 @@ static int daObj_Brg_Create(fopAc_ac_c* i_this) { int sp54; br_s* part; int loop, sp60, brno, iter; - int fop_id = fopAcM_GetID(i_this); + fopAcM_RegisterCreateID(i_this, "Obj_Brg"); fopAcM_ct(i_this, obj_brg_class); phase_state = dComIfG_resLoad(&a_this->mPhase, "Obj_brg"); diff --git a/src/d/actor/d_a_obj_bsGate.cpp b/src/d/actor/d_a_obj_bsGate.cpp index e74892cfe9..03edb364f2 100644 --- a/src/d/actor/d_a_obj_bsGate.cpp +++ b/src/d/actor/d_a_obj_bsGate.cpp @@ -32,9 +32,9 @@ int daBsGate_c::CreateHeap() { return 1; } -cPhs__Step daBsGate_c::create() { +cPhs_Step daBsGate_c::create() { fopAcM_ct(this, daBsGate_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, "S_Zgate"); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, "S_Zgate"); if (step == cPhs_COMPLEATE_e) { if (MoveBGCreate("S_Zgate", 7, dBgS_MoveBGProc_TypicalRotY, 0xf00, NULL) == cPhs_ERROR_e) { return cPhs_ERROR_e; @@ -158,7 +158,7 @@ static int daBsGate_Delete(daBsGate_c* i_this) { return i_this->MoveBGDelete(); } -static cPhs__Step daBsGate_Create(fopAc_ac_c* i_this) { +static cPhs_Step daBsGate_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_burnbox.cpp b/src/d/actor/d_a_obj_burnbox.cpp index f8f5123570..b7b47b5357 100644 --- a/src/d/actor/d_a_obj_burnbox.cpp +++ b/src/d/actor/d_a_obj_burnbox.cpp @@ -99,8 +99,8 @@ int daObjBurnBox_c::CreateHeap() { return 1; } -cPhs__Step daObjBurnBox_c::create1st() { - cPhs__Step phaseStep = (cPhs__Step) dComIfG_resLoad(&mPhaseReq, l_arcName[getType()]); +cPhs_Step daObjBurnBox_c::create1st() { + cPhs_Step phaseStep = dComIfG_resLoad(&mPhaseReq, l_arcName[getType()]); if (phaseStep == cPhs_COMPLEATE_e) { int dzb_id = -1; u8 type = getType(); @@ -110,7 +110,7 @@ cPhs__Step daObjBurnBox_c::create1st() { dzb_id = 7; } - phaseStep = (cPhs__Step) MoveBGCreate(l_arcName[type], dzb_id, dBgS_MoveBGProc_TypicalRotY, + phaseStep = MoveBGCreate(l_arcName[type], dzb_id, dBgS_MoveBGProc_TypicalRotY, l_heap_size[type], NULL); if (phaseStep == cPhs_ERROR_e) { return phaseStep; diff --git a/src/d/actor/d_a_obj_carry.cpp b/src/d/actor/d_a_obj_carry.cpp index 383ecc7b86..201c81c361 100644 --- a/src/d/actor/d_a_obj_carry.cpp +++ b/src/d/actor/d_a_obj_carry.cpp @@ -1297,13 +1297,13 @@ int daObjCarry_c::create() { switch (mType) { case TYPE_BALL_S: - create_phase = (cPhs__Step)checkCreate_LightBallA(); + create_phase = checkCreate_LightBallA(); break; case TYPE_BALL_S_2: - create_phase = (cPhs__Step)checkCreate_LightBallB(); + create_phase = checkCreate_LightBallB(); break; case TYPE_LV8_BALL: - create_phase = (cPhs__Step)checkCreate_Lv8Ball(); + create_phase = checkCreate_Lv8Ball(); break; } diff --git a/src/d/actor/d_a_obj_cblock.cpp b/src/d/actor/d_a_obj_cblock.cpp index d608eab9f5..870dd108d8 100644 --- a/src/d/actor/d_a_obj_cblock.cpp +++ b/src/d/actor/d_a_obj_cblock.cpp @@ -92,11 +92,11 @@ static f32 dummy1() { void daObjCBlk_HIO_c::genMessage(JORMContext* ctx) { // "Chained block" - ctx->genLabel("チェーン付きブロック", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("重力", &mGravity, -10.0f, -0.1f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("移動時間", &mTravelTime, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("タメ時間", &mWaitTime, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("移動距離", &mTravelDist, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("チェーン付きブロック", 0); + ctx->genSlider("重力", &mGravity, -10.0f, -0.1f); + ctx->genSlider("移動時間", &mTravelTime, 0.0f, 100.0f); + ctx->genSlider("タメ時間", &mWaitTime, 0.0f, 10.0f); + ctx->genSlider("移動距離", &mTravelDist, 0.0f, 100.0f); } static daObjCBlk_HIO_c l_HIO; @@ -221,13 +221,6 @@ void daObjCBlk_c::block_mode_proc_call() { (this->*(l_func[field_0xc1e]))(); } -#if DEBUG -static void dummy5() { - OS_REPORT("Delete -> ChainBlock(id=%d)\n"); - OS_REPORT("Create -> ChainBlock(id=%d)\n"); -} -#endif - void daObjCBlk_c::initWait() { field_0xc1f = 0; } @@ -381,14 +374,14 @@ static int daObjCBlk_Execute(daObjCBlk_c* i_this) { } static int daObjCBlk_Delete(daObjCBlk_c* i_this) { - fpc_ProcID unusedId = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "ChainBlock"); return i_this->MoveBGDelete(); } static int daObjCBlk_Create(fopAc_ac_c* i_this) { - daObjCBlk_c* cblock = static_cast(i_this); - fpc_ProcID unusedId = fopAcM_GetID(i_this); - return cblock->create(); + daObjCBlk_c* a_this = (daObjCBlk_c*)i_this; + fopAcM_RegisterCreateID(i_this, "ChainBlock"); + return a_this->create(); } #if DEBUG diff --git a/src/d/actor/d_a_obj_cdoor.cpp b/src/d/actor/d_a_obj_cdoor.cpp index d98333c8dd..fe483fec3f 100644 --- a/src/d/actor/d_a_obj_cdoor.cpp +++ b/src/d/actor/d_a_obj_cdoor.cpp @@ -52,12 +52,12 @@ static void* daObjCdoor_searchChain(fopAc_ac_c* i_actor, void* i_this) { return NULL; } -cPhs__Step daObjCdoor_c::create() { +cPhs_Step daObjCdoor_c::create() { fopAcM_ct(this, daObjCdoor_c); mType = (fopAcM_GetParam(this) >> 8) & 0xf; - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName[mType]); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName[mType]); if (step == cPhs_COMPLEATE_e) { - step = (cPhs__Step)MoveBGCreate(l_arcName[mType], l_dzbIdx[mType], NULL, 0xc00, NULL); + step = MoveBGCreate(l_arcName[mType], l_dzbIdx[mType], NULL, 0xc00, NULL); if (step == cPhs_ERROR_e) { return cPhs_ERROR_e; } @@ -102,7 +102,7 @@ cPhs__Step daObjCdoor_c::create() { return step; } -static cPhs__Step daObjCdoor_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjCdoor_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_chandelier.cpp b/src/d/actor/d_a_obj_chandelier.cpp index 9a344acb0c..bdcf4b1983 100644 --- a/src/d/actor/d_a_obj_chandelier.cpp +++ b/src/d/actor/d_a_obj_chandelier.cpp @@ -37,11 +37,11 @@ int daObjChandelier_c::CreateHeap() { return 1; } -cPhs__Step daObjChandelier_c::create1st() { +cPhs_Step daObjChandelier_c::create1st() { fopAcM_ct(this, daObjChandelier_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(this, l_arcName); + cPhs_Step step = dComIfG_resLoad(this, l_arcName); if (step == cPhs_COMPLEATE_e) { - step = (cPhs__Step)MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0x4500, &mMtx); + step = MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0x4500, &mMtx); if (step == cPhs_ERROR_e) { return step; } @@ -231,7 +231,7 @@ void daObjChandelier_c::hookSwingInitParm() { field_0x5f8 = 5.0f; } -static cPhs__Step daObjChandelier_create1st(daObjChandelier_c* i_this) { +static cPhs_Step daObjChandelier_create1st(daObjChandelier_c* i_this) { fopAcM_ct(i_this, daObjChandelier_c); return i_this->create1st(); } diff --git a/src/d/actor/d_a_obj_cho.cpp b/src/d/actor/d_a_obj_cho.cpp index 24874778d5..33088afbdd 100644 --- a/src/d/actor/d_a_obj_cho.cpp +++ b/src/d/actor/d_a_obj_cho.cpp @@ -97,7 +97,7 @@ int daObjCHO_c::CreateHeap() { return 1; } -static cPhs__Step daObjCHO_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjCHO_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } @@ -528,9 +528,9 @@ bool daObjCHO_c::CreateChk() { return true; } -cPhs__Step daObjCHO_c::create() { +cPhs_Step daObjCHO_c::create() { fopAcM_ct(this, daObjCHO_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, "I_Cho"); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, "I_Cho"); if (step == cPhs_COMPLEATE_e) { mLocation = fopAcM_GetParam(this) & 0xf; diff --git a/src/d/actor/d_a_obj_cowdoor.cpp b/src/d/actor/d_a_obj_cowdoor.cpp index 91d587f860..fe01cc25ed 100644 --- a/src/d/actor/d_a_obj_cowdoor.cpp +++ b/src/d/actor/d_a_obj_cowdoor.cpp @@ -83,16 +83,14 @@ static int daCowdoor_Execute(daCowdoor_c* i_this) { } static int daCowdoor_Delete(daCowdoor_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); - (void)"Delete -> Cowdoor(id=%d)\n"; + fopAcM_RegisterDeleteID(i_this, "Cowdoor"); return i_this->MoveBGDelete(); } static int daCowdoor_Create(fopAc_ac_c* i_this) { - daCowdoor_c* cowDoor = (daCowdoor_c*)i_this; - fpc_ProcID id = fopAcM_GetID(i_this); - (void)"Create -> Cowdoor(id=%d)\n"; - return cowDoor->create(); + daCowdoor_c* a_this = (daCowdoor_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Cowdoor"); + return a_this->create(); } static actor_method_class l_daCowdoor_Method = { diff --git a/src/d/actor/d_a_obj_crope.cpp b/src/d/actor/d_a_obj_crope.cpp index d19a478842..17f9676e98 100644 --- a/src/d/actor/d_a_obj_crope.cpp +++ b/src/d/actor/d_a_obj_crope.cpp @@ -103,7 +103,8 @@ int daObjCrope_c::create() { } static int daObjCrope_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjCrope_c, i_this, "Obj_Crope"); + daObjCrope_c* a_this = (daObjCrope_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Obj_Crope"); return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_crvfence.cpp b/src/d/actor/d_a_obj_crvfence.cpp index b0bd21ba57..675647133c 100644 --- a/src/d/actor/d_a_obj_crvfence.cpp +++ b/src/d/actor/d_a_obj_crvfence.cpp @@ -323,10 +323,10 @@ int daObjCRVFENCE_c::CreateHeap() { return 1; } -cPhs__Step daObjCRVFENCE_c::create() { +cPhs_Step daObjCRVFENCE_c::create() { fopAcM_ct(this, daObjCRVFENCE_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("Obj_Fence PARAM %x\n", fopAcM_GetParam(this)); @@ -349,7 +349,7 @@ cPhs__Step daObjCRVFENCE_c::create() { JUT_ASSERT(783, dzb_id != -1) } - phase = (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1CA0, NULL); + phase = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1CA0, NULL); if (phase == cPhs_ERROR_e) { return phase; } diff --git a/src/d/actor/d_a_obj_crvgate.cpp b/src/d/actor/d_a_obj_crvgate.cpp index ccd8030230..d781f0bc18 100644 --- a/src/d/actor/d_a_obj_crvgate.cpp +++ b/src/d/actor/d_a_obj_crvgate.cpp @@ -717,7 +717,7 @@ void daObjCRVGATE_c::SetDoor() { int daObjCRVGATE_c::create() { fopAcM_ct(this, daObjCRVGATE_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhaseReq, l_arcName); if (phase == cPhs_COMPLEATE_e) { gravity = nREG_F(0) + -9.0f; @@ -729,7 +729,7 @@ int daObjCRVGATE_c::create() { JUT_ASSERT(783, dzb_id != -1) } phase = - (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1480, NULL); + MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1480, NULL); if (phase == cPhs_ERROR_e) { return phase; diff --git a/src/d/actor/d_a_obj_damCps.cpp b/src/d/actor/d_a_obj_damCps.cpp index 8434e43d05..65b5036b39 100644 --- a/src/d/actor/d_a_obj_damCps.cpp +++ b/src/d/actor/d_a_obj_damCps.cpp @@ -38,17 +38,17 @@ daObjDamCps_HIO_c::daObjDamCps_HIO_c() { void daObjDamCps_HIO_c::genMessage(JORMContext* ctx) { // Damage Cylinder - ctx->genLabel("ダメージ円柱", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("ダメージ円柱", 0); // Adjustment - ctx->genCheckBox("調整", &mAdj, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox("調整", &mAdj, 0x1); // X Angle - ctx->genSlider("X角度", &mAngle.x, -0x7fff, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("X角度", &mAngle.x, -0x7fff, 0x7fff); // Y Angle - ctx->genSlider("Y角度", &mAngle.y, -0x7fff, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Y角度", &mAngle.y, -0x7fff, 0x7fff); // X Scale - ctx->genSlider("Xスケール", &mScale.x, 0.0f, 25.5f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Xスケール", &mScale.x, 0.0f, 25.5f); // Y Scale - ctx->genSlider("Yスケール", &mScale.y, 0.0f, 25.5f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Yスケール", &mScale.y, 0.0f, 25.5f); } void daObjDamCps_c::initBaseMtx() { @@ -188,7 +188,8 @@ static int daObjDamCps_Delete(daObjDamCps_c* i_this) { } static int daObjDamCps_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjDamCps_c, i_this, "DamCps"); + daObjDamCps_c* a_this = (daObjDamCps_c*)i_this; + fopAcM_RegisterCreateID(i_this, "DamCps"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_dan.cpp b/src/d/actor/d_a_obj_dan.cpp index ed3d319128..3c5f1cc226 100644 --- a/src/d/actor/d_a_obj_dan.cpp +++ b/src/d/actor/d_a_obj_dan.cpp @@ -106,7 +106,7 @@ int daObjDAN_c::CreateHeap() { return 1; } -static cPhs__Step daObjDAN_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjDAN_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } @@ -505,9 +505,9 @@ bool daObjDAN_c::CreateChk() { return true; } -cPhs__Step daObjDAN_c::create() { +cPhs_Step daObjDAN_c::create() { fopAcM_ct(this, daObjDAN_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, "I_Dan"); + cPhs_Step step = dComIfG_resLoad(&mPhase, "I_Dan"); if (step == cPhs_COMPLEATE_e) { mLocation = fopAcM_GetParam(this) & 0xf; diff --git a/src/d/actor/d_a_obj_digsnow.cpp b/src/d/actor/d_a_obj_digsnow.cpp index f474cd4719..7eca2582c9 100644 --- a/src/d/actor/d_a_obj_digsnow.cpp +++ b/src/d/actor/d_a_obj_digsnow.cpp @@ -27,7 +27,7 @@ int daObjDigSnow_c::Create() { fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); fopAcM_setCullSizeBox2(this, mpModel->getModelData()); - attention_info.distances[0x07] = 31; + attention_info.distances[fopAc_attn_ETC_e] = 31; mode_init_wait(); @@ -53,9 +53,9 @@ int daObjDigSnow_c::create1st() { return cPhs_ERROR_e; } - cPhs__Step phase_state = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step phase_state = dComIfG_resLoad(&mPhaseReq, l_arcName); if (phase_state == cPhs_COMPLEATE_e) { - phase_state = (cPhs__Step)MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0x1000, NULL); + phase_state = MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0x1000, NULL); if (phase_state == cPhs_ERROR_e) { return phase_state; } diff --git a/src/d/actor/d_a_obj_fallobj.cpp b/src/d/actor/d_a_obj_fallobj.cpp index f5acf8a7b7..6900391d26 100644 --- a/src/d/actor/d_a_obj_fallobj.cpp +++ b/src/d/actor/d_a_obj_fallobj.cpp @@ -10,6 +10,15 @@ #include "d/d_bg_w.h" #include "d/d_debug_viewer.h" #include "d/d_procname.h" +#include "d/d_s_play.h" + + +static char* l_arcName = "K_drock00"; + +static cull_box l_cull_box = { + {-200.0f, -10000.0f, -200.0f}, + {200.0f, 600.0f, 200.0f}, +}; #if DEBUG @@ -22,19 +31,18 @@ daObjFallObj_HIO_c::daObjFallObj_HIO_c() { void daObjFallObj_HIO_c::genMessage(JORMContext* ctx) { // Falling Object - ctx->genLabel("落下OBJ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("落下OBJ", 0); // Movement Shake - ctx->genSlider("移動時揺れ", &mMovementShake, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("移動時揺れ", &mMovementShake, 0, 1000); // Static Shake - ctx->genSlider("静止時揺れ", &mStaticShake, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("静止時揺れ", &mStaticShake, 0, 1000); // No Fall - ctx->genCheckBox("落下しない", &mNoFall, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox("落下しない", &mNoFall, 0x1); // Check Display - ctx->genCheckBox("チェック表示", &mCheckDisplay, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox("チェック表示", &mCheckDisplay, 0x1); } static daObjFallObj_HIO_c l_HIO; - #endif void daObjFallObj_c::initBaseMtx() { @@ -52,13 +60,6 @@ void daObjFallObj_c::setBaseMtx() { MTXCopy(mDoMtx_stack_c::get(), mBgMtx); } -static char* l_arcName = "K_drock00"; - -static cull_box l_cull_box = { - {-200.0f, -10000.0f, -200.0f}, - {200.0f, 600.0f, 200.0f}, -}; - int daObjFallObj_c::Create() { u8 uVar1 = field_0x5d8 - 1; if (uVar1 != 0) { @@ -82,7 +83,7 @@ int daObjFallObj_c::Create() { } s16 daObjFallObj_c::getFallTime() { - u32 time = getTime(); + u8 time = getTime(); if (time == 0) { return 1; } @@ -95,24 +96,29 @@ s16 daObjFallObj_c::getFallTime() { } f32 daObjFallObj_c::getFallHeight() { - u32 pos = getPos(); + u8 pos = getPos(); + f32 ret; if (pos == 0xff) { - return 450.0f; + ret = 450.0f; + } else { + ret = pos * 50.0f + 300.0f; } - - return pos * 50.0f + 300.0f; + return ret; } int daObjFallObj_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4); JUT_ASSERT(260, modelData != NULL); mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); - return mpModel != NULL ? TRUE : FALSE; + if (mpModel == NULL) { + return FALSE; + } + return TRUE; } int daObjFallObj_c::create1st() { field_0x5d8 = 1; - int phase = dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhaseReq, l_arcName); if (phase == cPhs_COMPLEATE_e) { phase = MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_Typical, 0x2700, NULL); @@ -128,8 +134,9 @@ int daObjFallObj_c::create1st() { return phase; } +// TODO: Debug Nonmatching / Fakematch (bVar1) int daObjFallObj_c::Execute(Mtx** i_mtx) { - cXyz cStack_d8(0.0f, 150.0f, 160.0f); + cXyz cStack_d8(0.0f, 150.0f, 160.0f + KREG_F(0)); mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::ZXYrotM(shape_angle); @@ -140,7 +147,7 @@ int daObjFallObj_c::Execute(Mtx** i_mtx) { daPy_py_c* player = daPy_getPlayerActorClass(); - f32 dVar12 = fabsf(player->current.pos.y - cStack_d8.y); + f32 dVar12 = std::fabs(player->current.pos.y - cStack_d8.y); f32 dVar13 = cStack_d8.absXZ(player->current.pos); f32 dVar14 = player->current.pos.abs(cStack_d8); @@ -148,18 +155,37 @@ int daObjFallObj_c::Execute(Mtx** i_mtx) { linChk.Set(&player->eyePos, &attention_info.position, this); bool bVar1 = false; - if (!dComIfG_Bgsp().LineCross(&linChk) && !checkHang2() && dVar12 < dVar13 && dVar14 < 2150.0f && mAction == ACTION_WAIT) { + +#if DEBUG + int check3 = 0; + int check2 = 0; + int check1 = 0; + if (!dComIfG_Bgsp().LineCross(&linChk) && !checkHang2()) { + check1 = 1; + } + if (check1 && dVar12 - KREG_F(4) < dVar13) { + check2 = 1; + } + if (check2 && dVar14 < 2150.0f - KREG_F(5)) { + check3 = 1; + } + if (check3 && mAction == ACTION_WAIT) { bVar1 = true; } +#else + if (!dComIfG_Bgsp().LineCross(&linChk) && !checkHang2() && dVar12 - KREG_F(4) < dVar13 && dVar14 < 2150.0f - KREG_F(5) && mAction == ACTION_WAIT) { + bVar1 = true; + } +#endif - if (bVar1) { + if (((bool) bVar1) != 0) { attention_info.distances[fopAc_attn_BATTLE_e] = 0x22; attention_info.flags |= fopAc_AttnFlag_BATTLE_e; } else { attention_info.distances[fopAc_attn_BATTLE_e] = 0x0; attention_info.flags &= ~fopAc_AttnFlag_BATTLE_e; } - + field_0x5e0 += 1; action(); *i_mtx = &mBgMtx; @@ -203,20 +229,23 @@ void daObjFallObj_c::action() { } bool daObjFallObj_c::action_wait(bool param_1) { - if (param_1) { + bool cond = param_1; + if (cond) { mTimer = 10; mAction = ACTION_FALL_START; } if (parentActorID != fpcM_ERROR_PROCESS_ID_e) { - fopAc_ac_c* parent = fopAcM_SearchByID(parentActorID); - if (parent != NULL && checkFallStart(parent)) { + daObjFallObj_c* parent = (daObjFallObj_c*) fopAcM_SearchByID(parentActorID); + if (parent != NULL && parent->checkFallStart()) { mAction = ACTION_FOLLOW_FALL; } } - return param_1; + return cond; } + + bool daObjFallObj_c::action_fallStart() { cLib_calcTimer(&mTimer); if (mTimer >= 8) { @@ -243,9 +272,15 @@ bool daObjFallObj_c::action_fallStart() { } void daObjFallObj_c::action_countdown() { - bool bVar1 = true; + bool noFall = false; +#if DEBUG + if (l_HIO.mNoFall) { + noFall = true; + } +#endif + daPy_py_c* player = daPy_getPlayerActorClass(); - if (bVar1) { + if (!noFall) { speed.y = -(getFallHeight() - 50.0f) / getFallTime(); current.pos.y += speed.y; mSoundObj.startLevelSound(Z2SE_OBJ_POLE_FALLING, 0, -1); @@ -257,17 +292,23 @@ void daObjFallObj_c::action_countdown() { } if (player->getSpeedF() != 0.0f) { +#if DEBUG + field_0x5de = l_HIO.mMovementShake; + } else { + field_0x5de = l_HIO.mStaticShake; +#else field_0x5de = 0; } else { field_0x5de = 0; +#endif } cLib_chaseS(&field_0x5dc, field_0x5de, 0x32); - shape_angle.x = field_0x5dc * cM_scos(field_0x5e0 * 1500); - shape_angle.z = field_0x5dc * cM_ssin(field_0x5e0 * 2000); + shape_angle.x = field_0x5dc * cM_scos(field_0x5e0 * (KREG_S(2) + 1500)); + shape_angle.z = field_0x5dc * cM_ssin(field_0x5e0 * (KREG_S(4) + 2000)); if (parentActorID != fpcM_ERROR_PROCESS_ID_e) { - fopAc_ac_c* parent = fopAcM_SearchByID(parentActorID); - if (parent != NULL && checkFallStart(parent)) { + daObjFallObj_c* parent = (daObjFallObj_c*) fopAcM_SearchByID(parentActorID); + if (parent != NULL && parent->checkFallStart()) { mAction = ACTION_FOLLOW_FALL; } } @@ -280,7 +321,7 @@ void daObjFallObj_c::action_fall() { } current.pos.y += speed.y; - if (fabsf(home.pos.y - current.pos.y) > 10000.0f) { + if (std::fabs(home.pos.y - current.pos.y) > 10000.0f) { fopAcM_delete(this); } } @@ -294,7 +335,7 @@ void daObjFallObj_c::action_follow_fall() { current.pos.y += parent->speed.y; } - if (fabsf(home.pos.y - current.pos.y) > 10000.0f) { + if (std::fabs(home.pos.y - current.pos.y) > 10000.0f) { fopAcM_delete(this); } } @@ -303,7 +344,9 @@ void daObjFallObj_c::action_follow_fall() { bool daObjFallObj_c::checkHang() { bool rv = false; daPy_py_c* player = daPy_getPlayerActorClass(); - if (dComIfGp_checkPlayerStatus1(0, 0x2000000) && fopAcM_searchPlayerDistanceXZ(this) < 250.0f && + + u32 status = dComIfGp_checkPlayerStatus1(0, 0x2000000); + if (status && fopAcM_searchPlayerDistanceXZ(this) < 250.0f && player->current.pos.y > current.pos.y - 100.0f && player->current.pos.y < current.pos.y + 300.0f) { @@ -401,7 +444,7 @@ static int daObjFallObj_MoveBGExecute(daObjFallObj_c* i_this) { } static int daObjFallObj_MoveBGDraw(daObjFallObj_c* i_this) { - return i_this->Draw(); + return i_this->MoveBGDraw(); } static actor_method_class daObjFallObj_METHODS = { diff --git a/src/d/actor/d_a_obj_flag2.cpp b/src/d/actor/d_a_obj_flag2.cpp index 2172b5e96d..3f805d7c00 100644 --- a/src/d/actor/d_a_obj_flag2.cpp +++ b/src/d/actor/d_a_obj_flag2.cpp @@ -24,15 +24,12 @@ public: void default_set() { mAttr = daObjFlag2_c::M_attr; } void genMessage(JORMContext* ctx) { - ctx->genLabel("§ 旗オブジェパラメータ設定 §\n", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("重力", &mAttr.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("バネ係数", &mAttr.mSpringCoeeficient, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("減衰率", &mAttr.mDecayRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("風係数", &mAttr.mWindCoefficient, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("竜巻", &mAttr.mTornado, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("§ 旗オブジェパラメータ設定 §\n", 0); + ctx->genSlider("重力", &mAttr.mGravity, -10.0f, 0.0f); + ctx->genSlider("バネ係数", &mAttr.mSpringCoeeficient, 0.0f, 10.0f); + ctx->genSlider("減衰率", &mAttr.mDecayRate, 0.0f, 1.0f); + ctx->genSlider("風係数", &mAttr.mWindCoefficient, 0.0f, 100.0f); + ctx->genSlider("竜巻", &mAttr.mTornado, 0.0f, 500.0f); } void ct() { diff --git a/src/d/actor/d_a_obj_flag3.cpp b/src/d/actor/d_a_obj_flag3.cpp index 6584710795..0978924c28 100644 --- a/src/d/actor/d_a_obj_flag3.cpp +++ b/src/d/actor/d_a_obj_flag3.cpp @@ -21,15 +21,12 @@ public: void default_set() { mAttr = daObjFlag3_c::M_attr; } void genMessage(JORMContext* ctx) { - ctx->genLabel("§ 旗オブジェパラメータ設定 §\n", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("重力", &mAttr.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("バネ係数", &mAttr.mSpringCoeeficient, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("減衰率", &mAttr.mDecayRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("風係数", &mAttr.mWindCoefficient, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("竜巻", &mAttr.mTornado, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("§ 旗オブジェパラメータ設定 §\n", 0); + ctx->genSlider("重力", &mAttr.mGravity, -10.0f, 0.0f); + ctx->genSlider("バネ係数", &mAttr.mSpringCoeeficient, 0.0f, 10.0f); + ctx->genSlider("減衰率", &mAttr.mDecayRate, 0.0f, 1.0f); + ctx->genSlider("風係数", &mAttr.mWindCoefficient, 0.0f, 100.0f); + ctx->genSlider("竜巻", &mAttr.mTornado, 0.0f, 500.0f); } void ct() { diff --git a/src/d/actor/d_a_obj_food.cpp b/src/d/actor/d_a_obj_food.cpp index 3135d7a444..e416af3bf0 100644 --- a/src/d/actor/d_a_obj_food.cpp +++ b/src/d/actor/d_a_obj_food.cpp @@ -416,11 +416,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daObj_Food_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObj_Food_Create(fopAc_ac_c* i_this) { obj_food_class* _this = static_cast(i_this); fopAcM_ct(i_this, obj_food_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhase, "Obj_fd"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhase, "Obj_fd"); if (step == cPhs_COMPLEATE_e) { _this->mType = (u8)fopAcM_GetParam(_this); _this->mParam1 = (u8)(fopAcM_GetParam(_this) >> 8); diff --git a/src/d/actor/d_a_obj_fw.cpp b/src/d/actor/d_a_obj_fw.cpp index 79304a02c3..48f11e1c1d 100644 --- a/src/d/actor/d_a_obj_fw.cpp +++ b/src/d/actor/d_a_obj_fw.cpp @@ -238,11 +238,11 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daObj_Fw_Create(fopAc_ac_c* a_this) { +static cPhs_Step daObj_Fw_Create(fopAc_ac_c* a_this) { fopAcM_ct(a_this, obj_fw_class); obj_fw_class* i_this = (obj_fw_class*)a_this; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "RYUW00"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "RYUW00"); if (phase == cPhs_COMPLEATE_e) { if (dComIfGs_isStageBossEnemy()) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_gadget.cpp b/src/d/actor/d_a_obj_gadget.cpp index 67fe8bd6eb..4329197724 100644 --- a/src/d/actor/d_a_obj_gadget.cpp +++ b/src/d/actor/d_a_obj_gadget.cpp @@ -111,29 +111,18 @@ void daObj_Gadget_HIO_c::listenPropertyEvent(const JORPropertyEvent* i_event) { } void daObj_Gadget_HIO_c::genMessage(JORMContext* ctx) { - ctx->genSlider("注目オフセット ", &mAttr.focus_offset, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("重力 ", &mAttr.gravity, -100.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("スケ−ル ", &mAttr.scale, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("リアル影サイズ ", &mAttr.real_shadow_size, 0.0f, 10000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - ctx->genSlider("体重 ", &mAttr.weight, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("高さ ", &mAttr.height, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("ひざ丈 ", &mAttr.knee_length, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("幅 ", &mAttr.width, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("発射速度 ", &mAttr.fire_rate, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("発射角度 ", &mAttr.launch_angle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("浮きオフセット ", &mAttr.floating_offset, -100.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("注目オフセット ", &mAttr.focus_offset, 0.0f, 1000.0f); + ctx->genSlider("重力 ", &mAttr.gravity, -100.0f, 100.0f); + ctx->genSlider("スケ−ル ", &mAttr.scale, 0.0f, 100.0f); + ctx->genSlider("リアル影サイズ ", &mAttr.real_shadow_size, 0.0f, 10000.0f); + ctx->genSlider("体重 ", &mAttr.weight, 0.0f, 255.0f); + ctx->genSlider("高さ ", &mAttr.height, 0.0f, 1000.0f); + ctx->genSlider("ひざ丈 ", &mAttr.knee_length, 0.0f, 1000.0f); + ctx->genSlider("幅 ", &mAttr.width, 0.0f, 1000.0f); + ctx->genSlider("発射速度 ", &mAttr.fire_rate, 0.0f, 1000.0f); + ctx->genSlider("発射角度 ", &mAttr.launch_angle, 0.0f, 90.0f); + ctx->genSlider("浮きオフセット ", &mAttr.floating_offset, -100.0f, 100.0f); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif diff --git a/src/d/actor/d_a_obj_ganonwall.cpp b/src/d/actor/d_a_obj_ganonwall.cpp index d2f04ddbb1..7f6704af47 100644 --- a/src/d/actor/d_a_obj_ganonwall.cpp +++ b/src/d/actor/d_a_obj_ganonwall.cpp @@ -86,7 +86,7 @@ int daObjGWall_c::CreateHeap() { int daObjGWall_c::create() { fopAcM_ct(this, daObjGWall_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhaseReq, l_arcName); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x3500)) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_ganonwall2.cpp b/src/d/actor/d_a_obj_ganonwall2.cpp index 7ab8705d3a..80513d1bc1 100644 --- a/src/d/actor/d_a_obj_ganonwall2.cpp +++ b/src/d/actor/d_a_obj_ganonwall2.cpp @@ -80,9 +80,9 @@ int daObjGWall2_c::create1st() { { return cPhs_ERROR_e; } - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhaseReq, l_arcName); if (phase == cPhs_COMPLEATE_e) { - phase = (cPhs__Step)MoveBGCreate(l_arcName, 11, NULL, 0x6100, NULL); + phase = MoveBGCreate(l_arcName, 11, NULL, 0x6100, NULL); if (phase == cPhs_ERROR_e) { return phase; } diff --git a/src/d/actor/d_a_obj_gm.cpp b/src/d/actor/d_a_obj_gm.cpp index a5fd980fc0..714b2ba2fc 100644 --- a/src/d/actor/d_a_obj_gm.cpp +++ b/src/d/actor/d_a_obj_gm.cpp @@ -629,11 +629,11 @@ static int useHeapInit(fopAc_ac_c* a_this) { static daObj_Gm_HIO_c l_HIO; -static cPhs__Step daObj_Gm_Create(fopAc_ac_c* a_this) { +static cPhs_Step daObj_Gm_Create(fopAc_ac_c* a_this) { fopAcM_ct(a_this, obj_gm_class); obj_gm_class* i_this = (obj_gm_class*)a_this; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "OBJ_GM"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "OBJ_GM"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("OBJ_GM PARAM %x\n", fopAcM_GetParam(a_this)); a_this->field_0x565 = fopAcM_GetParam(a_this); diff --git a/src/d/actor/d_a_obj_goGate.cpp b/src/d/actor/d_a_obj_goGate.cpp index fba08ce0ea..f8b85aded1 100644 --- a/src/d/actor/d_a_obj_goGate.cpp +++ b/src/d/actor/d_a_obj_goGate.cpp @@ -28,10 +28,10 @@ int daGoGate_c::CreateHeap() { return mpModel ? 1 : 0; } -cPhs__Step daGoGate_c::create() { +cPhs_Step daGoGate_c::create() { fopAcM_ct(this, daGoGate_c); - cPhs__Step phase = static_cast(dComIfG_resLoad(&mPhase, "P_Ggate")); + cPhs_Step phase = static_cast(dComIfG_resLoad(&mPhase, "P_Ggate")); if (phase == cPhs_COMPLEATE_e) { if (MoveBGCreate("P_Ggate", 7, dBgS_MoveBGProc_TypicalRotY, 0x1c00, NULL) == cPhs_ERROR_e) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_gomikabe.cpp b/src/d/actor/d_a_obj_gomikabe.cpp index cfe0a19aca..c274b737cf 100644 --- a/src/d/actor/d_a_obj_gomikabe.cpp +++ b/src/d/actor/d_a_obj_gomikabe.cpp @@ -21,7 +21,7 @@ daObjGOMIKABE_HIO_c::daObjGOMIKABE_HIO_c() { #if DEBUG void daObjGOMIKABE_HIO_c::genMessage(JORMContext* ctx) { // Zora Rock - ctx->genLabel("ゾーラ岩", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("ゾーラ岩", 0x80000001); } #endif diff --git a/src/d/actor/d_a_obj_gra2.cpp b/src/d/actor/d_a_obj_gra2.cpp index 3db1110cfb..9ac731d7ac 100644 --- a/src/d/actor/d_a_obj_gra2.cpp +++ b/src/d/actor/d_a_obj_gra2.cpp @@ -35,84 +35,84 @@ public: void genMessage(JORMContext* ctext) { // featured offset - ctext->genSlider("注目オフセット ", &m.field_0x00, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("注目オフセット ", &m.field_0x00, 0.0f, 100.0f); // gravity - ctext->genSlider("重力 ", &m.mGravity, -99.0f, 99.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("重力 ", &m.mGravity, -99.0f, 99.0f); // scale - ctext->genSlider("スケ-ル ", &m.field_0x08, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("スケ-ル ", &m.field_0x08, 0.0f, 100.0f); // interpolated frames - ctext->genSlider("補間フレ-ム ", &m.field_0x0c, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("補間フレ-ム ", &m.field_0x0c, 0.0f, 100.0f); // height - ctext->genSlider("高さ ", &m.field_0x14, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("高さ ", &m.field_0x14, 0.0f, 999.0f); // knee-length - ctext->genSlider("ひざ丈 ", &m.mWallR, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("ひざ丈 ", &m.mWallR, 0.0f, 999.0f); // width - ctext->genSlider("幅 ", &m.mWallH, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("幅 ", &m.mWallH, 0.0f, 999.0f); // weight - ctext->genSlider("体重 ", &m.mWeight, 0.0f, 255.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("体重 ", &m.mWeight, 0.0f, 255.0f); // back upper x angle - ctext->genSlider("背のX角上限 ", &m.field_0x24, -90.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("背のX角上限 ", &m.field_0x24, -90.0f, 90.0f); // back lower x angle - ctext->genSlider("背のX角下限 ", &m.field_0x28, -90.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("背のX角下限 ", &m.field_0x28, -90.0f, 90.0f); // back upper y angle - ctext->genSlider("背のY角上限 ", &m.field_0x2c, -180.0f, 179.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("背のY角上限 ", &m.field_0x2c, -180.0f, 179.0f); // --- TODO --- - ctext->genSlider("", &m.field_0x30, -180.0f, 179.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x34, -90.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x38, -90.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x3c, -180.0f, 179.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x40, -180.0f, 179.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x44, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x48, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x4c, 0.0f, 180.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x50, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x54, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x56, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x58, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x5a, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x5c, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x60, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x64, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x68, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("", &m.field_0x30, -180.0f, 179.0f); + ctext->genSlider("", &m.field_0x34, -90.0f, 90.0f); + ctext->genSlider("", &m.field_0x38, -90.0f, 90.0f); + ctext->genSlider("", &m.field_0x3c, -180.0f, 179.0f); + ctext->genSlider("", &m.field_0x40, -180.0f, 179.0f); + ctext->genSlider("", &m.field_0x44, 0.0f, 1.0f); + ctext->genSlider("", &m.field_0x48, 0.0f, 999.0f); + ctext->genSlider("", &m.field_0x4c, 0.0f, 180.0f); + ctext->genSlider("", &m.field_0x50, 0.0f, 999.0f); + ctext->genSlider("", &m.field_0x54, 0, 1000); + ctext->genSlider("", &m.field_0x56, 0, 1000); + ctext->genSlider("", &m.field_0x58, 0, 1000); + ctext->genSlider("", &m.field_0x5a, 0, 1000); + ctext->genSlider("", &m.field_0x5c, 0, 1000); + ctext->genSlider("", &m.field_0x60, 0.0f, 999.0f); + ctext->genSlider("", &m.field_0x64, 0.0f, 999.0f); + ctext->genSlider("", &m.field_0x68, 0, 1000); // Goron Soldier Guard - ctext->genLabel("\n-----------------------【見張りゴロン兵】", 0, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genSlider("", &m.field_0x70, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x74, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x84, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0xa8, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x78, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x9c, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0x9a, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel("\n-----------------------【見張りゴロン兵】", 0); + ctext->genSlider("", &m.field_0x70, 0.0f, 1.0f); + ctext->genSlider("", &m.field_0x74, 0.0f, 1.0f); + ctext->genSlider("", &m.field_0x84, 0.0f, 1.0f); + ctext->genSlider("", &m.field_0xa8, 0.0f, 1.0f); + ctext->genSlider("", &m.field_0x78, 0.0f, 1.0f); + ctext->genSlider("", &m.field_0x9c, 0, 1000); + ctext->genSlider("", &m.field_0x9a, 0, 1000); // Rolling attack start demo parameters - ctext->genLabel("\n○転がり攻撃開始デモ用パラメータ", 0, 0, NULL, -1, -1, 0x200, 0x18); - ctext->genSlider("", &m.field_0xac, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0xae, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0xb0, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0xb2, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0xb4, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0xb8, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("", &m.field_0xbc, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genLabel("\n○転がり攻撃開始デモ用パラメータ", 0); + ctext->genSlider("", &m.field_0xac, 0, 1000); + ctext->genSlider("", &m.field_0xae, 0, 1000); + ctext->genSlider("", &m.field_0xb0, 0, 1000); + ctext->genSlider("", &m.field_0xb2, 0, 1000); + ctext->genSlider("", &m.field_0xb4, 0, 1000); + ctext->genSlider("", &m.field_0xb8, 0.0f, 999.0f); + ctext->genSlider("", &m.field_0xbc, 0.0f, 999.0f); // Goron Regular Soldier - ctext->genLabel("\n-----------------------【ゴロン一般兵】", 0, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genLabel("\n-----------------------【ゴロン一般兵】", 0); // search radius (10) - ctext->genSlider("サ-チ半径(10) ", &m.field_0x6c, 0.0f, 9999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("サ-チ半径(10) ", &m.field_0x6c, 0.0f, 9999.0f); // turning speed - ctext->genSlider("旋回速度 ", &m.field_0x88, 0, 0x4000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("旋回速度 ", &m.field_0x88, 0, 0x4000); // walking speed - ctext->genSlider("歩く速度 ", &m.field_0x90, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("歩く速度 ", &m.field_0x90, 0.0f, 999.0f); // punch start distance - ctext->genSlider("パンチ開始距離 ", &m.field_0x94, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("パンチ開始距離 ", &m.field_0x94, 0.0f, 999.0f); // post attack wait time - ctext->genSlider("攻撃後待ち時間 ", &m.field_0x98, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("攻撃後待ち時間 ", &m.field_0x98, 0, 1000); // attack hand radius - ctext->genSlider("攻撃時の手の半径", &m.field_0x8c, 0.0f, 999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("攻撃時の手の半径", &m.field_0x8c, 0.0f, 999.0f); // return speed - ctext->genSlider("戻る速度 ", &m.field_0xa0, 0.0f, 9999.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genLabel("\n", 0, 0, NULL, -1, -1, 0x200, 0x18); + ctext->genSlider("戻る速度 ", &m.field_0xa0, 0.0f, 9999.0f); + ctext->genLabel("\n", 0); // debug draw ON - ctext->genCheckBox("デバグ描画ON ", &m.field_0x8a, true, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctext->genCheckBox("デバグ描画ON ", &m.field_0x8a, 0x1); // Export File - ctext->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctext->genButton("ファイル書き出し", 0x40000002); } void listenPropertyEvent(const JORPropertyEvent*) { @@ -250,13 +250,13 @@ daObj_GrA_c::~daObj_GrA_c() { #endif } -cPhs__Step daObj_GrA_c::create() { +cPhs_Step daObj_GrA_c::create() { int uVar1 = 0; fopAcM_ct(this, daObj_GrA_c); mMode = getMode(); int i; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, getResName()); + cPhs_Step phase = dComIfG_resLoad(&mPhase, getResName()); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } @@ -266,7 +266,7 @@ cPhs__Step daObj_GrA_c::create() { } for (i = 0; l_exloadRes_list[mMode][i] >= 0; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_resNames[l_exloadRes_list[mMode][i]]); + phase = dComIfG_resLoad(&mPhases[i], l_resNames[l_exloadRes_list[mMode][i]]); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } @@ -953,9 +953,9 @@ void daObj_GrA_c::setParam() { } else if (mMode == 1) { if (checkProcess(&daObj_GrA_c::standWaitJump)) { attnSttsOn(1, 1); - attention_info.distances[0] = getDistTableIdx(6, 6); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = getDistTableIdx(4, 6); + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(6, 6); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(4, 6); } else { attention_info.flags = 0; } diff --git a/src/d/actor/d_a_obj_gra_rock.cpp b/src/d/actor/d_a_obj_gra_rock.cpp index 980bfd05c1..8dc96aa378 100644 --- a/src/d/actor/d_a_obj_gra_rock.cpp +++ b/src/d/actor/d_a_obj_gra_rock.cpp @@ -37,7 +37,7 @@ void daObjGraRock_c::setAttnPos() { mDoMtx_stack_c::ZXYrotS(current.angle.x, current.angle.y, current.angle.z); mDoMtx_stack_c::multVec(&cStack_50, &attention_info.position); attention_info.position += current.pos; - attention_info.distances[0] = daNpcF_getDistTableIdx(8, 5); + attention_info.distances[fopAc_attn_LOCK_e] = daNpcF_getDistTableIdx(8, 5); attention_info.flags = fopAc_AttnFlag_LOCK_e; dAttention_c* attention = dComIfGp_getAttention(); if (attention->LockonTruth()) { diff --git a/src/d/actor/d_a_obj_grave_stone.cpp b/src/d/actor/d_a_obj_grave_stone.cpp index 8d1a5b3ab8..6dcb0389c0 100644 --- a/src/d/actor/d_a_obj_grave_stone.cpp +++ b/src/d/actor/d_a_obj_grave_stone.cpp @@ -156,12 +156,12 @@ int daGraveStone_c::CreateHeap() { return 1; } -cPhs__Step daGraveStone_c::create() { +cPhs_Step daGraveStone_c::create() { fopAcM_ct(this, daGraveStone_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhase, l_arcName); if (step == cPhs_COMPLEATE_e) { int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "H_Haka.dzb"); - step = (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, + step = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x29A0, NULL); if (step == cPhs_ERROR_e) { return step; @@ -211,7 +211,7 @@ static int daGraveStone_Delete(daGraveStone_c* i_this) { return i_this->MoveBGDelete(); } -static cPhs__Step daGraveStone_create(fopAc_ac_c* i_this) { +static cPhs_Step daGraveStone_create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_grz_rock.cpp b/src/d/actor/d_a_obj_grz_rock.cpp index 3d75b738c9..5bd93e131b 100644 --- a/src/d/actor/d_a_obj_grz_rock.cpp +++ b/src/d/actor/d_a_obj_grz_rock.cpp @@ -62,7 +62,7 @@ int daObjGrzRock_c::CreateHeap() { return 1; } -cPhs__Step daObjGrzRock_c::create() { +cPhs_Step daObjGrzRock_c::create() { fopAcM_ct(this, daObjGrzRock_c); if (dComIfGs_isSwitch((fopAcM_GetParam(this) >> 8) & 0xFF, fopAcM_GetRoomNo(this))) { @@ -71,9 +71,9 @@ cPhs__Step daObjGrzRock_c::create() { int dzb_id = 0; int i = 0; - cPhs__Step phase; + cPhs_Step phase; for (; i < 1; i++) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_arcName); + phase = dComIfG_resLoad(&mPhase[i], l_arcName); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { return cPhs_ERROR_e; } @@ -87,7 +87,7 @@ cPhs__Step daObjGrzRock_c::create() { dzb_id = dComIfG_getObjctResName2Index(l_arcName, "grZRock.dzb"); JUT_ASSERT(302, dzb_id != -1); - phase = (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1030, NULL); + phase = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1030, NULL); if (phase == cPhs_ERROR_e) { return phase; } diff --git a/src/d/actor/d_a_obj_h_saku.cpp b/src/d/actor/d_a_obj_h_saku.cpp index 04877443cd..7461add608 100644 --- a/src/d/actor/d_a_obj_h_saku.cpp +++ b/src/d/actor/d_a_obj_h_saku.cpp @@ -80,15 +80,15 @@ int daObjH_Saku_c::CreateHeap() { return 1; } -cPhs__Step daObjH_Saku_c::create() { +cPhs_Step daObjH_Saku_c::create() { fopAcM_ct(this, daObjH_Saku_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "H_Saku.dzb"); JUT_ASSERT(113, dzb_id != -1); - phase = (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1320, NULL); + phase = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1320, NULL); if (phase == cPhs_ERROR_e) { return phase; } diff --git a/src/d/actor/d_a_obj_hasu2.cpp b/src/d/actor/d_a_obj_hasu2.cpp index 67f98dcfcc..f67a777e9f 100644 --- a/src/d/actor/d_a_obj_hasu2.cpp +++ b/src/d/actor/d_a_obj_hasu2.cpp @@ -34,11 +34,11 @@ nObjMHasu::daObjMHasu_c::daObjMHasu_c() : } int nObjMHasu::daObjMHasu_c::create1st() { - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(this, l_arcName); + cPhs_Step phase = dComIfG_resLoad(this, l_arcName); if (phase == cPhs_COMPLEATE_e) { setMtx(); - phase = (cPhs__Step)MoveBGCreate(l_arcName, l_dzbidx, dBgS_MoveBGProc_TypicalRotY, 0x1450, &mMtx); + phase = MoveBGCreate(l_arcName, l_dzbidx, dBgS_MoveBGProc_TypicalRotY, 0x1450, &mMtx); if (phase == cPhs_ERROR_e) { return phase; diff --git a/src/d/actor/d_a_obj_hata.cpp b/src/d/actor/d_a_obj_hata.cpp index 2135eb42b1..58fcc3dddb 100644 --- a/src/d/actor/d_a_obj_hata.cpp +++ b/src/d/actor/d_a_obj_hata.cpp @@ -52,10 +52,10 @@ int daObjHata_c::createHeap() { return 1; } -cPhs__Step daObjHata_c::create() { +cPhs_Step daObjHata_c::create() { fopAcM_ct(this, daObjHata_c); - cPhs__Step phase_step = (cPhs__Step)dComIfG_resLoad(this, l_arcName); + cPhs_Step phase_step = dComIfG_resLoad(this, l_arcName); if (phase_step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, daObjHata_c_createHeap, 0x870)) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_hb.cpp b/src/d/actor/d_a_obj_hb.cpp index 5bb7aa2b54..9f3d904066 100644 --- a/src/d/actor/d_a_obj_hb.cpp +++ b/src/d/actor/d_a_obj_hb.cpp @@ -642,11 +642,11 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daOBJ_HB_Create(fopAc_ac_c* a_this) { +static cPhs_Step daOBJ_HB_Create(fopAc_ac_c* a_this) { fopAcM_ct(a_this, obj_hb_class); obj_hb_class* i_this = (obj_hb_class*)a_this; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "E_HB"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "E_HB"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("OBJ_HB PARAM %x\n", fopAcM_GetParam(a_this)); i_this->arg0 = fopAcM_GetParam(a_this); diff --git a/src/d/actor/d_a_obj_ice_s.cpp b/src/d/actor/d_a_obj_ice_s.cpp index c829b2c55a..83bd1b70c8 100644 --- a/src/d/actor/d_a_obj_ice_s.cpp +++ b/src/d/actor/d_a_obj_ice_s.cpp @@ -37,11 +37,9 @@ daOBJ_ICE_S_HIO_c::daOBJ_ICE_S_HIO_c() { #if DEBUG void daOBJ_ICE_S_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("氷の足場小", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("傾きの大きさ", &mSlopeMagnitude, 0.0f, 50000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("沈みの量", &mSinkingAmount, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genLabel("氷の足場小", 0x80000001); + ctx->genSlider("傾きの大きさ", &mSlopeMagnitude, 0.0f, 50000.0f); + ctx->genSlider("沈みの量", &mSinkingAmount, 0.0f, 1000.0f); } #endif @@ -176,7 +174,8 @@ static int daObjIce_s_Delete(daObjIce_s_c* i_this) { } static int daObjIce_s_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjIce_s_c, i_this, "Obj_Ice_s"); + daObjIce_s_c* a_this = (daObjIce_s_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Obj_Ice_s"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_ihasi.cpp b/src/d/actor/d_a_obj_ihasi.cpp index 64a79899d2..fe3219ee6c 100644 --- a/src/d/actor/d_a_obj_ihasi.cpp +++ b/src/d/actor/d_a_obj_ihasi.cpp @@ -152,7 +152,7 @@ static int daObj_Ihasi_Create(fopAc_ac_c* i_actor) { obj_ihasi_class* i_this = static_cast(i_actor); fopAcM_ct(i_this, obj_ihasi_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&i_this->mPhaseReq, "Obj_ihasi"); + cPhs_Step step = dComIfG_resLoad(&i_this->mPhaseReq, "Obj_ihasi"); if (step == cPhs_COMPLEATE_e) { OS_REPORT("OBJ_IHASI PARAM %x\n", fopAcM_GetParam(i_actor)); diff --git a/src/d/actor/d_a_obj_ikada.cpp b/src/d/actor/d_a_obj_ikada.cpp index a6bc5f2cf1..ef1f729c09 100644 --- a/src/d/actor/d_a_obj_ikada.cpp +++ b/src/d/actor/d_a_obj_ikada.cpp @@ -98,15 +98,15 @@ int daObjIkada_c::CreateHeap() { return 1; } -cPhs__Step daObjIkada_c::create() { +cPhs_Step daObjIkada_c::create() { fopAcM_ct(this, daObjIkada_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "M_Ikada.dzb"); JUT_ASSERT(108, dzb_id != -1); - phase = (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0xC00, NULL); + phase = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0xC00, NULL); if (phase == cPhs_ERROR_e) { return phase; } diff --git a/src/d/actor/d_a_obj_ita.cpp b/src/d/actor/d_a_obj_ita.cpp index 47c8c9e643..a1dd15fe68 100644 --- a/src/d/actor/d_a_obj_ita.cpp +++ b/src/d/actor/d_a_obj_ita.cpp @@ -35,11 +35,11 @@ daObj_ITA_HIO_c::daObj_ITA_HIO_c() { #if DEBUG void daObj_ITA_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("ヒメクジ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("サーチエリア", &search_area, 0.0f, 2000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("飛ばし方向スピード", &launch_dir_spd, 0.0f, -100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("飛ばし方向Yスピード", &launch_dir_y_spd, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("重力設定", &gravity_settings, 0.0f, -20.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel("ヒメクジ", 0x80000001); + ctx->genSlider("サーチエリア", &search_area, 0.0f, 2000.0f); + ctx->genSlider("飛ばし方向スピード", &launch_dir_spd, 0.0f, -100.0f); + ctx->genSlider("飛ばし方向Yスピード", &launch_dir_y_spd, 0.0f, 100.0f); + ctx->genSlider("重力設定", &gravity_settings, 0.0f, -20.0f); } #endif @@ -170,7 +170,8 @@ static int daObjIta_Delete(daObjIta_c* i_this) { } static int daObjIta_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjIta_c, i_this, "Obj_Ita"); + daObjIta_c* a_this = (daObjIta_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Obj_Ita"); return a_this->create(); } @@ -185,14 +186,14 @@ int daObjIta_c::CreateHeap() { return 1; } -cPhs__Step daObjIta_c::create() { +cPhs_Step daObjIta_c::create() { fopAcM_ct(this, daObjIta_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "M_FloatingDust00.dzb"); JUT_ASSERT(763, dzb_id != -1); - phase = (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1320, NULL); + phase = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1320, NULL); if (phase == cPhs_ERROR_e) { return phase; } diff --git a/src/d/actor/d_a_obj_itamato.cpp b/src/d/actor/d_a_obj_itamato.cpp index 65f1de8765..92d15e694f 100644 --- a/src/d/actor/d_a_obj_itamato.cpp +++ b/src/d/actor/d_a_obj_itamato.cpp @@ -87,12 +87,12 @@ void daObj_ItaMato_HIO_c::listenPropertyEvent(const JORPropertyEvent* i_event) { } void daObj_ItaMato_HIO_c::genMessage(JORMContext* ctx) { - ctx->genSlider("注目オフセット ", &mAttr.attn_offset, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("重力      ", &mAttr.gravity, -100.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("スケ−ル    ", &mAttr.scale, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("リアル影サイズ ", &mAttr.real_shadow_size, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("揺れパワ−   ", &mAttr.shake_pow, 0.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("注目オフセット ", &mAttr.attn_offset, 0.0f, 1000.0f); + ctx->genSlider("重力      ", &mAttr.gravity, -100.0f, 100.0f); + ctx->genSlider("スケ−ル    ", &mAttr.scale, 0.0f, 100.0f); + ctx->genSlider("リアル影サイズ ", &mAttr.real_shadow_size, 0.0f, 10000.0f); + ctx->genSlider("揺れパワ−   ", &mAttr.shake_pow, 0.0f, 90.0f); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -126,11 +126,11 @@ daObj_ItaMato_c::~daObj_ItaMato_c() { dComIfG_resDelete(&mPhase, getResName()); } -cPhs__Step daObj_ItaMato_c::create() { +cPhs_Step daObj_ItaMato_c::create() { fopAcM_ct(this, daObj_ItaMato_c); mType = getType(); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, getResName()); + cPhs_Step phase = dComIfG_resLoad(&mPhase, getResName()); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) no:%d, SWBit:%02x, SWBit2:%02x<%08x> -> roomNo.%d", fopAcM_getProcNameString(this), getType(), getNo(), getBitSW(), getBitSW2(), fopAcM_GetParam(this), fopAcM_GetRoomNo(this)); diff --git a/src/d/actor/d_a_obj_ito.cpp b/src/d/actor/d_a_obj_ito.cpp index c17ac611dc..87de60ae46 100644 --- a/src/d/actor/d_a_obj_ito.cpp +++ b/src/d/actor/d_a_obj_ito.cpp @@ -592,12 +592,12 @@ static int useHeapInit(fopAc_ac_c* a_this) { return 1; } -static cPhs__Step daObj_Ito_Create(fopAc_ac_c* a_this) { +static cPhs_Step daObj_Ito_Create(fopAc_ac_c* a_this) { fopAcM_ct(a_this, obj_ito_class); obj_ito_class* i_this = (obj_ito_class*)a_this; a_this = &i_this->actor; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "OBJ_ITO"); + cPhs_Step phase = dComIfG_resLoad(&i_this->mPhase, "OBJ_ITO"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("OBJ_ITO PARAM %x\n", fopAcM_GetParam(a_this)); diff --git a/src/d/actor/d_a_obj_kabuto.cpp b/src/d/actor/d_a_obj_kabuto.cpp index ddfaedaa41..4e5413fa63 100644 --- a/src/d/actor/d_a_obj_kabuto.cpp +++ b/src/d/actor/d_a_obj_kabuto.cpp @@ -106,7 +106,7 @@ int daObjKABUTO_c::CreateHeap() { return 1; } -static cPhs__Step daObjKABUTO_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjKABUTO_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } @@ -723,9 +723,9 @@ bool daObjKABUTO_c::CreateChk() { return true; } -cPhs__Step daObjKABUTO_c::create() { +cPhs_Step daObjKABUTO_c::create() { fopAcM_ct(this, daObjKABUTO_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, "Kab_m"); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, "Kab_m"); if (step == cPhs_COMPLEATE_e) { mLocation = fopAcM_GetParam(this) & 0xf; diff --git a/src/d/actor/d_a_obj_kag.cpp b/src/d/actor/d_a_obj_kag.cpp index e265521494..22db0ab5cb 100644 --- a/src/d/actor/d_a_obj_kag.cpp +++ b/src/d/actor/d_a_obj_kag.cpp @@ -639,12 +639,12 @@ static u16 const l_musiya_num[2] = { 0x01A8 }; -cPhs__Step daObjKAG_c::create() { +cPhs_Step daObjKAG_c::create() { u8 uVar1 = (fopAcM_GetParam(this) & 0xF00) >> 8; fopAcM_ct(this, daObjKAG_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, "I_Kag"); + cPhs_Step phase = dComIfG_resLoad(&mPhase, "I_Kag"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("KAG PARAM %x\n", fopAcM_GetParam(this)); diff --git a/src/d/actor/d_a_obj_kago.cpp b/src/d/actor/d_a_obj_kago.cpp index bbe15d1baf..311f092bfe 100644 --- a/src/d/actor/d_a_obj_kago.cpp +++ b/src/d/actor/d_a_obj_kago.cpp @@ -92,7 +92,7 @@ daObj_Kago_c::~daObj_Kago_c() { dComIfG_resDelete(&mPhase, l_resNameList[l_bmdData[0][1]]); } -cPhs__Step daObj_Kago_c::create() { +cPhs_Step daObj_Kago_c::create() { static int const heapSize[5] = { 0x0820, 0x0820, 0, 0x0820, 0, }; @@ -101,7 +101,7 @@ cPhs__Step daObj_Kago_c::create() { mType = getType(); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_resNameList[l_bmdData[0][1]]); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_resNameList[l_bmdData[0][1]]); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) <%08x> -> roomNo.%d", fopAcM_getProcNameString(this), getType(), fopAcM_GetParam(this), fopAcM_GetRoomNo(this)); if (mType == 0 && isDelete()) { @@ -191,7 +191,7 @@ int daObj_Kago_c::Execute() { scale.set(mpHIO->m.field_0x08 * field_0xb0c, mpHIO->m.field_0x08 * field_0xb0c, mpHIO->m.field_0x08 * field_0xb0c); attention_info.flags = 0; fopAcM_OffCarryType(this, fopAcM_CARRY_CHICKEN); - attention_info.distances[4] = 13; + attention_info.distances[fopAc_attn_CARRY_e] = 13; if (mType == 0) { mStts.SetWeight(mpHIO->m.mWeight); diff --git a/src/d/actor/d_a_obj_kaisou.cpp b/src/d/actor/d_a_obj_kaisou.cpp index bd5c84cfaa..d854741350 100644 --- a/src/d/actor/d_a_obj_kaisou.cpp +++ b/src/d/actor/d_a_obj_kaisou.cpp @@ -248,10 +248,10 @@ static int daObjKaisou_Execute(daObjKaisou_c* i_this) { return i_this->Execute(); } -cPhs__Step daObjKaisou_c::create() { +cPhs_Step daObjKaisou_c::create() { fopAcM_ct(this, daObjKaisou_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { if (dComIfGs_isStageBossEnemy() && dComIfGp_getStartStageRoomNo() == 50) { if (strcmp("D_MN01A", dComIfGp_getStartStageName()) == 0) { diff --git a/src/d/actor/d_a_obj_kanban2.cpp b/src/d/actor/d_a_obj_kanban2.cpp index b59d130f83..46fbae0f18 100644 --- a/src/d/actor/d_a_obj_kanban2.cpp +++ b/src/d/actor/d_a_obj_kanban2.cpp @@ -332,7 +332,7 @@ int daObj_Kanban2_c::getKanbanCutType() { case daPy_py_c::CUT_TYPE_NM_VERTICAL: case daPy_py_c::CUT_TYPE_NM_RIGHT: case daPy_py_c::CUT_TYPE_FINISH_LEFT: - case daPy_py_c::CUT_TYPE_DASH_UNK_26: + case daPy_py_c::CUT_TYPE_DASH_RIGHT: if (angle_to_player < 0x3800) { return DAMAGE_TLBR_DIAGONAL; } @@ -351,7 +351,7 @@ int daObj_Kanban2_c::getKanbanCutType() { } return DAMAGE_HORIZONTAL_SPLIT; case daPy_py_c::CUT_TYPE_NM_LEFT: - case daPy_py_c::CUT_TYPE_DASH_UNK_25: + case daPy_py_c::CUT_TYPE_DASH_LEFT: return DAMAGE_HORIZONTAL_SPLIT; case daPy_py_c::CUT_TYPE_TURN_RIGHT: case daPy_py_c::CUT_TYPE_LARGE_JUMP_INIT: diff --git a/src/d/actor/d_a_obj_katatsumuri.cpp b/src/d/actor/d_a_obj_katatsumuri.cpp index ea1ff0633b..115d0dfadd 100644 --- a/src/d/actor/d_a_obj_katatsumuri.cpp +++ b/src/d/actor/d_a_obj_katatsumuri.cpp @@ -708,7 +708,7 @@ int daObjKAT_c::create() { mDraw = true; } - attention_info.distances[4] = 93; + attention_info.distances[fopAc_attn_CARRY_e] = 93; mSex = (u8)((fopAcM_GetParam(this) & 0x10) >> 4); setItemNo(l_kat_itemno[mSex]); setSaveBitNo(l_musiya_num[mSex]); diff --git a/src/d/actor/d_a_obj_kbacket.cpp b/src/d/actor/d_a_obj_kbacket.cpp index d5a1bc6c38..be92443c79 100644 --- a/src/d/actor/d_a_obj_kbacket.cpp +++ b/src/d/actor/d_a_obj_kbacket.cpp @@ -156,7 +156,7 @@ int daObj_KBacket_c::Execute() { attention_info.flags = 0; - attention_info.distances[4] = 6; + attention_info.distances[fopAc_attn_CARRY_e] = 6; mAcchCir.SetWallR(mpHIO->m.field_0x1c); mAcchCir.SetWallH(mpHIO->m.field_0x18); diff --git a/src/d/actor/d_a_obj_kbox.cpp b/src/d/actor/d_a_obj_kbox.cpp index 1e5f101003..968d2a073e 100644 --- a/src/d/actor/d_a_obj_kbox.cpp +++ b/src/d/actor/d_a_obj_kbox.cpp @@ -18,9 +18,9 @@ daObj_Kbox_HIO_c::daObj_Kbox_HIO_c() { #if DEBUG void daObj_Kbox_HIO_c::genMessage(JORMContext* ctx) { // Skull fish wooden box - ctx->genLabel(" スカル魚木箱 ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel(" スカル魚木箱 ", 0x80000001); // Width - ctx->genSlider("横幅", &mWidth, 0.0f, 3.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("横幅", &mWidth, 0.0f, 3.0f); } #endif diff --git a/src/d/actor/d_a_obj_ki.cpp b/src/d/actor/d_a_obj_ki.cpp index f8a8192a42..cec0fa740c 100644 --- a/src/d/actor/d_a_obj_ki.cpp +++ b/src/d/actor/d_a_obj_ki.cpp @@ -139,10 +139,10 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daObj_Ki_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObj_Ki_Create(fopAc_ac_c* i_this) { obj_ki_class* _this = static_cast(i_this); fopAcM_ct(_this, obj_ki_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhaseReq, "Obj_Ki"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhaseReq, "Obj_Ki"); if (step == cPhs_COMPLEATE_e) { _this->mBmdIdx = (u8)fopAcM_GetParam(_this); diff --git a/src/d/actor/d_a_obj_kita.cpp b/src/d/actor/d_a_obj_kita.cpp index 04473a2838..cedff61cf8 100644 --- a/src/d/actor/d_a_obj_kita.cpp +++ b/src/d/actor/d_a_obj_kita.cpp @@ -20,17 +20,15 @@ daObj_Kita_HIO_c::daObj_Kita_HIO_c() { #if DEBUG void daObj_Kita_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("  風で動く連続板", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("  風で動く連続板", 0x80000001); // Model Size X - ctx->genSlider("モデルサイズX", &mModelSizeX, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("モデルサイズX", &mModelSizeX, 0.0f, 10.0f); // Model Size Z - ctx->genSlider("モデルサイズZ", &mModelSizeZ, 0.0f, 10.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("モデルサイズZ", &mModelSizeZ, 0.0f, 10.0f); // Gap - ctx->genSlider("隙間", &mGap, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("隙間", &mGap, 0.0f, 500.0f); // Swing Range - ctx->genSlider("揺れ幅", &mSwingRange, 0.0f, 2.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("揺れ幅", &mSwingRange, 0.0f, 2.0f); } #endif diff --git a/src/d/actor/d_a_obj_klift00.cpp b/src/d/actor/d_a_obj_klift00.cpp index 002c0e66e3..739c7fe7f8 100644 --- a/src/d/actor/d_a_obj_klift00.cpp +++ b/src/d/actor/d_a_obj_klift00.cpp @@ -42,28 +42,28 @@ daObjKLift00_HIO_c::daObjKLift00_HIO_c() { void daObjKLift00_HIO_c::genMessage(JORMContext* ctx) { // "Foothold" - ctx->genLabel("足場", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("足場", 0); // "Chain gravity" - ctx->genSlider("チェイン重力", &mChainGravity, -40.0, 0.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("チェイン重力", &mChainGravity, -40.0, 0.0); // "Ride parameters" - ctx->genSlider("Ride パラメータ", &mRideParameters, 0.0, 0.1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("Ride パラメータ", &mRideParameters, 0.0, 0.1); // "Wind effect occurence rate" - ctx->genSlider("風影響発生率", &mWindSwayOccuranceFactor, 0.0, 0.5, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("風影響発生率", &mWindSwayOccuranceFactor, 0.0, 0.5); // "Chain・Wind" - ctx->genSlider("鎖・風", &mWindMagnitudeChain, 0.0, 1000.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("鎖・風", &mWindMagnitudeChain, 0.0, 1000.0); // "Foundation・Wind" - ctx->genSlider("土台・風", &mWindMagnitudeFoundation, 0.0, 1000.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("土台・風", &mWindMagnitudeFoundation, 0.0, 1000.0); // "Chain hit speed" - ctx->genSlider("鎖ヒット速度", &mChainHitSpeed, 0.0, 50.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("鎖ヒット速度", &mChainHitSpeed, 0.0, 50.0); // "Hammer adjustment" - ctx->genSlider("ハンマー調整", &field_0x1C, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("ハンマー調整", &field_0x1C, 0.0, 10.0); } #endif @@ -114,16 +114,16 @@ void dummy() { delete (dCcD_Cyl*)NULL; } -cPhs__Step daObjKLift00_c::create1st() { +cPhs_Step daObjKLift00_c::create1st() { mNumChainModels = getArg0(); mNumChains = mNumChainModels + 1; - cPhs__Step phase = static_cast(dComIfG_resLoad(this, l_arcName)); + cPhs_Step phase = static_cast(dComIfG_resLoad(this, l_arcName)); if(phase == cPhs_COMPLEATE_e) { #if DEBUG - phase = static_cast(MoveBGCreate(l_arcName, l_dzbidx[0], dBgS_MoveBGProc_TypicalRotY, 0x2000, NULL)); + phase = static_cast(MoveBGCreate(l_arcName, l_dzbidx[0], dBgS_MoveBGProc_TypicalRotY, 0x2000, NULL)); #else - phase = static_cast(MoveBGCreate(l_arcName, 9, dBgS_MoveBGProc_TypicalRotY, 0x2000, NULL)); + phase = static_cast(MoveBGCreate(l_arcName, 9, dBgS_MoveBGProc_TypicalRotY, 0x2000, NULL)); #endif if(phase == cPhs_ERROR_e) return phase; diff --git a/src/d/actor/d_a_obj_kshutter.cpp b/src/d/actor/d_a_obj_kshutter.cpp index e2e425097c..a484837a78 100644 --- a/src/d/actor/d_a_obj_kshutter.cpp +++ b/src/d/actor/d_a_obj_kshutter.cpp @@ -173,7 +173,7 @@ int daObjKshtr_c::Create() { field_0x5fc = 0.0f; attention_info.position.y += 150.0f; eyePos.y += 150.0f; - attention_info.flags = 0x20; + attention_info.flags = fopAc_AttnFlag_DOOR_e; if (mIsCheckKey) { mAction = 0; @@ -304,7 +304,7 @@ void daObjKshtr_c::initKey() { } } -cPhs__Step daObjKshtr_c::phase_0() { +cPhs_Step daObjKshtr_c::phase_0() { if (!field_0x619) { mHomeAngleZ = home.angle.z; mHomeAngleX = home.angle.x; @@ -334,17 +334,17 @@ cPhs__Step daObjKshtr_c::phase_0() { } #endif - cPhs__Step phase; + cPhs_Step phase; if (l_anmArcName[mType] != NULL) { - phase = (cPhs__Step)dComIfG_resLoad(&mPhase2, l_anmArcName[mType]); + phase = dComIfG_resLoad(&mPhase2, l_anmArcName[mType]); if (phase != cPhs_COMPLEATE_e) { return phase; } } - phase = (cPhs__Step)dComIfG_resLoad(&mPhase1, l_arcName[mType]); + phase = dComIfG_resLoad(&mPhase1, l_arcName[mType]); if (phase == cPhs_COMPLEATE_e) { - phase = (cPhs__Step)MoveBGCreate(l_arcName[mType], l_dzb[mType], NULL, l_heap_size[mType], NULL); + phase = MoveBGCreate(l_arcName[mType], l_dzb[mType], NULL, l_heap_size[mType], NULL); if (phase == cPhs_ERROR_e) { return phase; } @@ -356,7 +356,7 @@ cPhs__Step daObjKshtr_c::phase_0() { return phase; } -cPhs__Step daObjKshtr_c::phase_1() { +cPhs_Step daObjKshtr_c::phase_1() { if (mKeyHoleId != fpcM_ERROR_PROCESS_ID_e) { obj_keyhole_class* keyhole_p = (obj_keyhole_class*)fopAcM_SearchByID(mKeyHoleId); @@ -376,11 +376,11 @@ cPhs__Step daObjKshtr_c::phase_1() { return cPhs_INIT_e; } -cPhs__Step daObjKshtr_c::phase_2() { +cPhs_Step daObjKshtr_c::phase_2() { return cPhs_COMPLEATE_e; } -cPhs__Step daObjKshtr_c::create1st() { +cPhs_Step daObjKshtr_c::create1st() { static daObjKshtr_c::PhaseFunc l_ct_func[3] = { &daObjKshtr_c::phase_0, &daObjKshtr_c::phase_1, diff --git a/src/d/actor/d_a_obj_kuwagata.cpp b/src/d/actor/d_a_obj_kuwagata.cpp index 9898f83085..fd99731c64 100644 --- a/src/d/actor/d_a_obj_kuwagata.cpp +++ b/src/d/actor/d_a_obj_kuwagata.cpp @@ -32,11 +32,9 @@ daObj_KuwHIO_c::daObj_KuwHIO_c() { #if DEBUG void daObj_KuwHIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("黄金蟲(カブト)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("モデルスケール(オス)", &mMaleModelScale, 0.1f, 4.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("モデルスケール(メス)", &mFemaleModelScale, 0.1f, 4.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genLabel("黄金蟲(カブト)", 0x80000001); + ctx->genSlider("モデルスケール(オス)", &mMaleModelScale, 0.1f, 4.0f); + ctx->genSlider("モデルスケール(メス)", &mFemaleModelScale, 0.1f, 4.0f); } #endif @@ -129,7 +127,8 @@ int daObjKUW_c::CreateHeap() { } static int daObjKUW_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjKUW_c, i_this, "Obj_Kuw"); + daObjKUW_c* a_this = (daObjKUW_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Obj_Kuw"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_kwheel00.cpp b/src/d/actor/d_a_obj_kwheel00.cpp index f067d99670..ad63eb2234 100644 --- a/src/d/actor/d_a_obj_kwheel00.cpp +++ b/src/d/actor/d_a_obj_kwheel00.cpp @@ -27,13 +27,13 @@ daObjKWheel00_HIO_c::daObjKWheel00_HIO_c() { void daObjKWheel00_HIO_c::genMessage(JORMContext* ctx) { // "Water wheel" - ctx->genLabel("水車", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel("水車", 0); // "Rotational speed(short)" - ctx->genSlider("回転速度(short)",&mTargetZAngularSpeed, 0, 0x4000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("回転速度(short)",&mTargetZAngularSpeed, 0, 0x4000); // "Rotational acceleration(short)" - ctx->genSlider("回転加速度(short)",&mZAngularAcceleration, 0, 32, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("回転加速度(short)",&mZAngularAcceleration, 0, 32); } #endif @@ -45,11 +45,11 @@ int daObjKWheel00_c::create1st() { m_type = static_cast(getType()); JUT_ASSERT(118, m_type == 0 || m_type == 1); - cPhs__Step phase = static_cast(dComIfG_resLoad(this, l_arcName[m_type])); + cPhs_Step phase = static_cast(dComIfG_resLoad(this, l_arcName[m_type])); if(phase == cPhs_COMPLEATE_e) { setMtx(); - phase = static_cast(MoveBGCreate(l_arcName[m_type], l_dzbidx[m_type], NULL, 0x4000, &mNewBgMtx)); + phase = static_cast(MoveBGCreate(l_arcName[m_type], l_dzbidx[m_type], NULL, 0x4000, &mNewBgMtx)); if(phase == cPhs_ERROR_e) return phase; diff --git a/src/d/actor/d_a_obj_kwheel01.cpp b/src/d/actor/d_a_obj_kwheel01.cpp index 67ea5579c0..b861f43bab 100644 --- a/src/d/actor/d_a_obj_kwheel01.cpp +++ b/src/d/actor/d_a_obj_kwheel01.cpp @@ -38,13 +38,13 @@ daObjKWheel01_HIO_c::daObjKWheel01_HIO_c() { void daObjKWheel01_HIO_c::genMessage(JORMContext* ctx) { // "Pulley" - ctx->genLabel("滑車", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("滑車", 0); // "Rotational speed" - ctx->genSlider("回転速度", &mTargetYAngularSpeed, 0, 0x2000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("回転速度", &mTargetYAngularSpeed, 0, 0x2000); // "Rotational acceleration" - ctx->genSlider("回転加速度", &mYAngularAcceleration, 0, 0x20, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("回転加速度", &mYAngularAcceleration, 0, 0x20); } #endif @@ -53,7 +53,7 @@ static Vec l_pos[4] = { {-930.0f, -165.0f, 0.0f}, {0.0f, -165.0f, -930.0f} }; -cPhs__Step daObjKWheel01_c::create1st() { +cPhs_Step daObjKWheel01_c::create1st() { bool atLeastOneKLiftExists = false; s8 debugStackVar; @@ -78,13 +78,13 @@ cPhs__Step daObjKWheel01_c::create1st() { } } - cPhs__Step phase = static_cast(dComIfG_resLoad(this, l_arcName)); + cPhs_Step phase = static_cast(dComIfG_resLoad(this, l_arcName)); if(phase == cPhs_COMPLEATE_e) { mYAngularVelocity = 0; setMtx(); - phase = static_cast(MoveBGCreate(l_arcName, (getOut() ? l_dzbidx[2] : l_dzbidx[0]), dBgS_MoveBGProc_TypicalRotY, 0x5D98, &mNewBgMtx)); + phase = static_cast(MoveBGCreate(l_arcName, (getOut() ? l_dzbidx[2] : l_dzbidx[0]), dBgS_MoveBGProc_TypicalRotY, 0x5D98, &mNewBgMtx)); if(phase == cPhs_ERROR_e) return phase; diff --git a/src/d/actor/d_a_obj_kznkarm.cpp b/src/d/actor/d_a_obj_kznkarm.cpp index 059cb6601a..ef8f97e5bc 100644 --- a/src/d/actor/d_a_obj_kznkarm.cpp +++ b/src/d/actor/d_a_obj_kznkarm.cpp @@ -48,34 +48,27 @@ void daObjKznkarm_Hio_c::dt() { } void daObjKznkarm_Hio_c::genMessage(JORMContext* ctx) { - ctx->genLabel("§ 風見ネコの風受けパラメータ設定 §\n", 0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("重力", &mAttr.gravity, -50.0f, 0.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("最高落下速度", &mAttr.maximum_falling_speed, -200.0f, 0.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("水抵抗", &mAttr.water_drag, 0.0f, 1.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("跳ね返り係数", &mAttr.bounce_coeff, 0.0f, 1.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("§ 風見ネコの風受けパラメータ設定 §\n", 0); + ctx->genSlider("重力", &mAttr.gravity, -50.0f, 0.0f); + ctx->genSlider("最高落下速度", &mAttr.maximum_falling_speed, -200.0f, 0.0f); + ctx->genSlider("水抵抗", &mAttr.water_drag, 0.0f, 1.0f); + ctx->genSlider("跳ね返り係数", &mAttr.bounce_coeff, 0.0f, 1.0f); ctx->genSlider("回転角速度X", &mAttr.angular_speed.x, -0x4000, - 0x3fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + 0x3fff); ctx->genSlider("回転角速度Y", &mAttr.angular_speed.y, -0x4000, - 0x3fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + 0x3fff); ctx->genSlider("回転角速度Z", &mAttr.angular_speed.z, -0x4000, - 0x3fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + 0x3fff); ctx->genSlider("置き位置X", &mAttr.position.x, -200.0f, - 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + 200.0f); ctx->genSlider("置き位置Y", &mAttr.position.y, -200.0f, - 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + 200.0f); ctx->genSlider("置き位置Z", &mAttr.position.z, -200.0f, - 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("初期投げ力", &mAttr.initial_throwing_force, 0.0f, 300.0f, - 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("初期投げ上げ力", &mAttr.initial_throwing_upward_force, 0.0f, 300.0f, - 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + 200.0f); + ctx->genSlider("初期投げ力", &mAttr.initial_throwing_force, 0.0f, 300.0f); + ctx->genSlider("初期投げ上げ力", &mAttr.initial_throwing_upward_force, 0.0f, 300.0f); ctx->genSlider("投げ回転角速度", &mAttr.throw_angular_speed, -0x8000, - 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + 0x7fff); } #endif @@ -439,7 +432,8 @@ inline int daObjKznkarm_c::create() { } static int daObjKznkarm_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjKznkarm_c, i_this, "KznkArm"); + daObjKznkarm_c* a_this = (daObjKznkarm_c*)i_this; + fopAcM_RegisterCreateID(i_this, "KznkArm"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_ladder.cpp b/src/d/actor/d_a_obj_ladder.cpp index abeb80afaf..52310f15e0 100644 --- a/src/d/actor/d_a_obj_ladder.cpp +++ b/src/d/actor/d_a_obj_ladder.cpp @@ -117,36 +117,36 @@ void Hio_c::dt() { void Hio_c::genMessage(JORMContext* ctx) { // ladder - ctx->genLabel("§ はしご §\n", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("§ はしご §\n", 0); // reset to initial position - ctx->genButton("初期位置に", 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("初期位置に", 1); // attack - ctx->genButton("アタック", 2, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("アタック", 2); // gravity - ctx->genSlider("重力", &attr.gravity, -30.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &attr.gravity, -30.0f, 0.0f); // viscous resistance - ctx->genSlider("粘性抵抗", &attr.viscous_resistance, 0.0f, 0.1f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("粘性抵抗", &attr.viscous_resistance, 0.0f, 0.1f); // inertia resistance - ctx->genSlider("慣性抵抗", &attr.inertia_resistance, 0.0f, 0.1f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("慣性抵抗", &attr.inertia_resistance, 0.0f, 0.1f); // reflectance - ctx->genSlider("反射率", &attr.reflectance, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("反射率", &attr.reflectance, 0.0f, 1.0f); // // number of bounces - ctx->genSlider("バウンド回数", &attr.num_of_bounces, 0, 10, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("バウンド回数", &attr.num_of_bounces, 0, 10); // Bound Vol_0, 1, 2, 3 - ctx->genSlider("バウンド Vol_0", &attr.bound_vol_0, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("バウンド Vol_1", &attr.bound_vol_1, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("バウンド Vol_2", &attr.bound_vol_2, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("バウンド Vol_3", &attr.bound_vol_3, 0, 100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("バウンド Vol_0", &attr.bound_vol_0, 0, 100); + ctx->genSlider("バウンド Vol_1", &attr.bound_vol_1, 0, 100); + ctx->genSlider("バウンド Vol_2", &attr.bound_vol_2, 0, 100); + ctx->genSlider("バウンド Vol_3", &attr.bound_vol_3, 0, 100); // // vibration speed x, y - ctx->genSlider("vib 速度 x", &attr.vibration_speed_x, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("vib 速度 y", &attr.vibration_speed_y, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("vib 速度 x", &attr.vibration_speed_x, 0, 0x7fff); + ctx->genSlider("vib 速度 y", &attr.vibration_speed_y, 0, 0x7fff); // vibration time - ctx->genSlider("vib 時間", &attr.vibration_timer, 0, 50, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("vib 時間", &attr.vibration_timer, 0, 50); // vibration amplitude x, y - ctx->genSlider("vib 振幅 x", &attr.vibration_amp_x, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("vib 振幅 y", &attr.vibration_amp_y, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("vib 振幅 x", &attr.vibration_amp_x, 0.0f, 5.0f); + ctx->genSlider("vib 振幅 y", &attr.vibration_amp_y, 0.0f, 5.0f); } void Hio_c::listenPropertyEvent(const JORPropertyEvent* property) { diff --git a/src/d/actor/d_a_obj_lbox.cpp b/src/d/actor/d_a_obj_lbox.cpp index cbd2c361a5..2928266677 100644 --- a/src/d/actor/d_a_obj_lbox.cpp +++ b/src/d/actor/d_a_obj_lbox.cpp @@ -134,7 +134,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daObj_Lbox_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObj_Lbox_Create(fopAc_ac_c* i_this) { static dCcD_SrcSph cc_sph_src = { { {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj @@ -149,7 +149,7 @@ static cPhs__Step daObj_Lbox_Create(fopAc_ac_c* i_this) { obj_lbox_class* a_this = static_cast(i_this); fopAcM_ct(a_this, obj_lbox_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "Obj_lbox"); + cPhs_Step step = dComIfG_resLoad(&a_this->mPhaseReq, "Obj_lbox"); if (step == cPhs_COMPLEATE_e) { a_this->mParam = fopAcM_GetParam(i_this); diff --git a/src/d/actor/d_a_obj_lv1Candle00.cpp b/src/d/actor/d_a_obj_lv1Candle00.cpp index 701f474814..40394300a3 100644 --- a/src/d/actor/d_a_obj_lv1Candle00.cpp +++ b/src/d/actor/d_a_obj_lv1Candle00.cpp @@ -51,9 +51,9 @@ int daLv1Cdl00_c::CreateHeap() { return true; } -cPhs__Step daLv1Cdl00_c::create() { +cPhs_Step daLv1Cdl00_c::create() { fopAcM_ct(this, daLv1Cdl00_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, "lv1cdl00"); + cPhs_Step step = dComIfG_resLoad(&mPhase, "lv1cdl00"); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x820)) { return cPhs_ERROR_e; @@ -263,7 +263,7 @@ static int daLv1Cdl00_Delete(daLv1Cdl00_c* i_this) { return i_this->Delete(); } -static cPhs__Step daLv1Cdl00_Create(fopAc_ac_c* i_this) { +static cPhs_Step daLv1Cdl00_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_lv1Candle01.cpp b/src/d/actor/d_a_obj_lv1Candle01.cpp index 916b73bdb9..135f74f742 100644 --- a/src/d/actor/d_a_obj_lv1Candle01.cpp +++ b/src/d/actor/d_a_obj_lv1Candle01.cpp @@ -51,9 +51,9 @@ int daLv1Cdl01_c::CreateHeap() { return true; } -cPhs__Step daLv1Cdl01_c::create() { +cPhs_Step daLv1Cdl01_c::create() { fopAcM_ct(this, daLv1Cdl01_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, "lv1cdl01"); + cPhs_Step step = dComIfG_resLoad(&mPhase, "lv1cdl01"); if (step == cPhs_COMPLEATE_e) { if (MoveBGCreate("lv1cdl01", -1, NULL, 0x820, NULL) == cPhs_ERROR_e) { return cPhs_ERROR_e; @@ -217,7 +217,7 @@ static int daLv1Cdl01_Delete(daLv1Cdl01_c* i_this) { return i_this->MoveBGDelete(); } -static cPhs__Step daLv1Cdl01_Create(fopAc_ac_c* i_this) { +static cPhs_Step daLv1Cdl01_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_lv2Candle.cpp b/src/d/actor/d_a_obj_lv2Candle.cpp index d0e7100c44..f8c7dc7ab0 100644 --- a/src/d/actor/d_a_obj_lv2Candle.cpp +++ b/src/d/actor/d_a_obj_lv2Candle.cpp @@ -84,13 +84,13 @@ int daLv2Candle_c::CreateHeap() { return true; } -cPhs__Step daLv2Candle_c::create() { +cPhs_Step daLv2Candle_c::create() { fopAcM_ct(this, daLv2Candle_c); mModelType = getModelType(); if (mModelType == 0xf) { mModelType = 0; } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, l_resNameIdx[mModelType]); + cPhs_Step step = dComIfG_resLoad(&mPhase, l_resNameIdx[mModelType]); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x1000)) { return cPhs_ERROR_e; @@ -382,7 +382,7 @@ static int daLv2Candle_Delete(daLv2Candle_c* i_this) { return i_this->Delete(); } -static cPhs__Step daLv2Candle_Create(fopAc_ac_c* i_this) { +static cPhs_Step daLv2Candle_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_lv3Candle.cpp b/src/d/actor/d_a_obj_lv3Candle.cpp index 6f48136279..079c2e5adc 100644 --- a/src/d/actor/d_a_obj_lv3Candle.cpp +++ b/src/d/actor/d_a_obj_lv3Candle.cpp @@ -47,7 +47,7 @@ int daLv3Candle_c::CreateHeap() { return TRUE; } -cPhs__Step daLv3Candle_c::create() { +cPhs_Step daLv3Candle_c::create() { fopAcM_ct(this, daLv3Candle_c); mType = getType(); @@ -55,7 +55,7 @@ cPhs__Step daLv3Candle_c::create() { mType = 0; } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_resNameIdx[mType]); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_resNameIdx[mType]); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x900)) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_lv3Water2.cpp b/src/d/actor/d_a_obj_lv3Water2.cpp index d572411b09..f00fc68485 100644 --- a/src/d/actor/d_a_obj_lv3Water2.cpp +++ b/src/d/actor/d_a_obj_lv3Water2.cpp @@ -34,7 +34,7 @@ daLv3Water2_HIO_c::daLv3Water2_HIO_c() { #if DEBUG void daLv3Water2_HIO_c::genMessage(JORMContext* ctx) { - ctx->genSlider("wait time", &mLevelControlWaitFrames, 0, 255, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("wait time", &mLevelControlWaitFrames, 0, 255); } #endif @@ -96,11 +96,11 @@ int daLv3Water2_c::CreateHeap() { return 1; } -cPhs__Step daLv3Water2_c::create() { +cPhs_Step daLv3Water2_c::create() { fopAcM_ct(this, daLv3Water2_c); mResourceIndex = getParam(0, 4); - cPhs__Step resPhase = static_cast(dComIfG_resLoad(&mPhase, l_resNameIdx[mResourceIndex])); + cPhs_Step resPhase = static_cast(dComIfG_resLoad(&mPhase, l_resNameIdx[mResourceIndex])); if(resPhase == cPhs_COMPLEATE_e) { if(MoveBGCreate(l_resNameIdx[mResourceIndex], l_dzbIdx[mResourceIndex], NULL, 0x2D00, NULL) == cPhs_ERROR_e) return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_lv6FurikoTrap.cpp b/src/d/actor/d_a_obj_lv6FurikoTrap.cpp index c469229944..bb3c4cf015 100644 --- a/src/d/actor/d_a_obj_lv6FurikoTrap.cpp +++ b/src/d/actor/d_a_obj_lv6FurikoTrap.cpp @@ -17,8 +17,8 @@ daLv6FurikoTrap_HIO_c::daLv6FurikoTrap_HIO_c() { #if DEBUG void daLv6FurikoTrap_HIO_c::genMessage(JORMContext* context) { - context->genSlider("周期(秒)", &mIntervalSeconds, 0.1f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("最大角度", &mMaxAngle, 0.1f, 90.0f, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("周期(秒)", &mIntervalSeconds, 0.1f, 100.0f); + context->genSlider("最大角度", &mMaxAngle, 0.1f, 90.0f); } #endif diff --git a/src/d/actor/d_a_obj_lv6SwGate.cpp b/src/d/actor/d_a_obj_lv6SwGate.cpp index 316cd0e855..e0e966a8df 100644 --- a/src/d/actor/d_a_obj_lv6SwGate.cpp +++ b/src/d/actor/d_a_obj_lv6SwGate.cpp @@ -19,13 +19,13 @@ daLv6SwGate_HIO_c::daLv6SwGate_HIO_c() { #if DEBUG void daLv6SwGate_HIO_c::genMessage(JORMContext* context) { - context->genLabel("--- 開く ---", 0, 0, 0, -1, -1, 0x200, 0x18); - context->genSlider("速度", &this->mSpeed, 0.1f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genLabel("\n--- 閉まる ---", 0, 0, 0, -1, -1, 0x200, 0x18); - context->genSlider("最大速度", &this->mMaximumSpeed, 0.1f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("加速度", &this->mAcceleration, 0.1f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genLabel("\n------", 0, 0, 0, -1, -1, 0x200, 0x18); - context->genSlider("移動量", &this->mMovementAmount, 0.1f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); + context->genLabel("--- 開く ---", 0); + context->genSlider("速度", &this->mSpeed, 0.1f, 100.0f); + context->genLabel("\n--- 閉まる ---", 0); + context->genSlider("最大速度", &this->mMaximumSpeed, 0.1f, 100.0f); + context->genSlider("加速度", &this->mAcceleration, 0.1f, 100.0f); + context->genLabel("\n------", 0); + context->genSlider("移動量", &this->mMovementAmount, 0.1f, 100.0f); } #endif diff --git a/src/d/actor/d_a_obj_lv6SzGate.cpp b/src/d/actor/d_a_obj_lv6SzGate.cpp index c8e0d05efc..2ac61affec 100644 --- a/src/d/actor/d_a_obj_lv6SzGate.cpp +++ b/src/d/actor/d_a_obj_lv6SzGate.cpp @@ -76,10 +76,10 @@ int daLv6SzGate_c::CreateHeap() { return 1; } -cPhs__Step daLv6SzGate_c::create() { +cPhs_Step daLv6SzGate_c::create() { fopAcM_ct(this, daLv6SzGate_c); - cPhs__Step phase = static_cast(dComIfG_resLoad(&mPhase, "L6SzGate")); + cPhs_Step phase = static_cast(dComIfG_resLoad(&mPhase, "L6SzGate")); if (phase == cPhs_COMPLEATE_e) { if (MoveBGCreate("L6SzGate", 15, dBgS_MoveBGProc_TypicalRotY, 0x1d80, NULL) == cPhs_ERROR_e) { diff --git a/src/d/actor/d_a_obj_lv6Tenbin.cpp b/src/d/actor/d_a_obj_lv6Tenbin.cpp index 659f116c4d..578feaecf6 100644 --- a/src/d/actor/d_a_obj_lv6Tenbin.cpp +++ b/src/d/actor/d_a_obj_lv6Tenbin.cpp @@ -29,25 +29,24 @@ daTenbin_HIO_c::daTenbin_HIO_c() { #if DEBUG void daTenbin_HIO_c::genMessage(JORMContext* context) { - context->genSlider("台の間隔", &mPlateSpacing, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("下がる量", &mFallAmount, 0.0f, 1000.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("皿のYangle", &mPlateYAngle, 0.0f, 90.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("WaitTime", &mWaitTime, 0, 255, 0, NULL, -1, -1, 0x200, 0x18); - context->genLabel("\n====揺れ====", 0, 0, NULL, -1, -1, 0x200, 0x18); - context->genLabel("--- X,Z回転 ---", 0, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("振幅X", &mXAmplitude, 0.0f, 180.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("振幅Z", &mZAmplitude, 0.0f, 180.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("揺れ強さ", &mShakeStrength, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("揺れ減衰", &mShakeDamping, 0.0f, 1.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("最大減衰量", &mXZMaximumChange, 0.0f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("最小減衰量", &mXZMinimumChange, 0.0f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genLabel("--- Y移動 ---", 0, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("振幅Y", &mYAmplitude, 0.0f, 180.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("移動強さ", &mMovementStrength, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, - 0x18); - context->genSlider("揺れ減衰", &mRotationDamping, 0.0f, 1.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("最大減衰量", &mYMaximumChange, 0.0f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("最小減衰量", &mYMinimumChange, 0.0f, 100.0f, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("台の間隔", &mPlateSpacing, 0.0f, 10000.0f); + context->genSlider("下がる量", &mFallAmount, 0.0f, 1000.0f); + context->genSlider("皿のYangle", &mPlateYAngle, 0.0f, 90.0f); + context->genSlider("WaitTime", &mWaitTime, 0, 255); + context->genLabel("\n====揺れ====", 0); + context->genLabel("--- X,Z回転 ---", 0); + context->genSlider("振幅X", &mXAmplitude, 0.0f, 180.0f); + context->genSlider("振幅Z", &mZAmplitude, 0.0f, 180.0f); + context->genSlider("揺れ強さ", &mShakeStrength, 0.0f, 10000.0f); + context->genSlider("揺れ減衰", &mShakeDamping, 0.0f, 1.0f); + context->genSlider("最大減衰量", &mXZMaximumChange, 0.0f, 100.0f); + context->genSlider("最小減衰量", &mXZMinimumChange, 0.0f, 100.0f); + context->genLabel("--- Y移動 ---", 0); + context->genSlider("振幅Y", &mYAmplitude, 0.0f, 180.0f); + context->genSlider("移動強さ", &mMovementStrength, 0.0f, 10000.0f); + context->genSlider("揺れ減衰", &mRotationDamping, 0.0f, 1.0f); + context->genSlider("最大減衰量", &mYMaximumChange, 0.0f, 100.0f); + context->genSlider("最小減衰量", &mYMinimumChange, 0.0f, 100.0f); } #endif diff --git a/src/d/actor/d_a_obj_lv6bemos.cpp b/src/d/actor/d_a_obj_lv6bemos.cpp index 40f7fddbb2..2945ce8fce 100644 --- a/src/d/actor/d_a_obj_lv6bemos.cpp +++ b/src/d/actor/d_a_obj_lv6bemos.cpp @@ -214,15 +214,15 @@ int daObjL6Bm_c::CreateHeap() { return 1; } -cPhs__Step daObjL6Bm_c::create1st() { +cPhs_Step daObjL6Bm_c::create1st() { if (fopAcM_isSwitch(this, getSwBit())) { OS_REPORT("ビーモス破壊済み!<%d>\n", getSwBit() & 0xFF); // Beamos has been destroyed! <%d>\n return cPhs_ERROR_e; } - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { - phase = (cPhs__Step)MoveBGCreate(l_arcName, DZB_K_BIMO00, NULL, 0x4000, NULL); + phase = MoveBGCreate(l_arcName, DZB_K_BIMO00, NULL, 0x4000, NULL); if (phase == cPhs_ERROR_e) { return phase; } diff --git a/src/d/actor/d_a_obj_lv6bemos2.cpp b/src/d/actor/d_a_obj_lv6bemos2.cpp index 90aa698e2b..b56db1563e 100644 --- a/src/d/actor/d_a_obj_lv6bemos2.cpp +++ b/src/d/actor/d_a_obj_lv6bemos2.cpp @@ -299,7 +299,7 @@ int daObjLv6Bm_c::CreateHeap() { return 1; } -cPhs__Step daObjLv6Bm_c::create1st() { +cPhs_Step daObjLv6Bm_c::create1st() { if (fopAcM_isSwitch(this, (u8)getSwNo3())) { OS_REPORT("Lv6ビーモス:既に破壊!<%d>\n", getSwNo3()); // Lv6 Beamos: Already destroyed! <%d> return cPhs_ERROR_e; @@ -317,9 +317,9 @@ cPhs__Step daObjLv6Bm_c::create1st() { field_0xa36 = 1; } - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { - phase = (cPhs__Step)MoveBGCreate(l_arcName, DZB_BM6, dBgS_MoveBGProc_TypicalRotY, 0x2FA0, NULL); + phase = MoveBGCreate(l_arcName, DZB_BM6, dBgS_MoveBGProc_TypicalRotY, 0x2FA0, NULL); if (phase == cPhs_ERROR_e) { return phase; diff --git a/src/d/actor/d_a_obj_lv6elevta.cpp b/src/d/actor/d_a_obj_lv6elevta.cpp index 2c9cbf0f15..b084decccf 100644 --- a/src/d/actor/d_a_obj_lv6elevta.cpp +++ b/src/d/actor/d_a_obj_lv6elevta.cpp @@ -22,9 +22,8 @@ daObjLv6ElevtA_HIO_c::daObjLv6ElevtA_HIO_c() { } void daObjLv6ElevtA_HIO_c::genMessage(JORMContext* context) { - context->genLabel("Lv6回転エレベータ", 0, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("90度回転フレーム数", &mRightAngleTurnFrameCount, 0, 1000, 0, NULL, -1, -1, - 0x200, 0x18); + context->genLabel("Lv6回転エレベータ", 0); + context->genSlider("90度回転フレーム数", &mRightAngleTurnFrameCount, 0, 1000); } static daObjLv6ElevtA_HIO_c l_HIO; diff --git a/src/d/actor/d_a_obj_lv6swturn.cpp b/src/d/actor/d_a_obj_lv6swturn.cpp index f2694b715e..f037e8aff4 100644 --- a/src/d/actor/d_a_obj_lv6swturn.cpp +++ b/src/d/actor/d_a_obj_lv6swturn.cpp @@ -20,11 +20,11 @@ daObjLv6SwTurn_HIO_c::daObjLv6SwTurn_HIO_c() { } void daObjLv6SwTurn_HIO_c::genMessage(JORMContext* context) { - context->genLabel("Lv6回転スイッチ", 0, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("タメ時間(初回)", &mWaitTime, 0, 100, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("タメ時間(連続)", &mChargeTime, 0, 100, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("回転時間", &mRotationTime, 0, 500, 0, NULL, -1, -1, 0x200, 0x18); - context->genCheckBox("チェック描画", &mDrawFlag, 1, 0, NULL, -1, -1, 0x200, 0x18); + context->genLabel("Lv6回転スイッチ", 0); + context->genSlider("タメ時間(初回)", &mWaitTime, 0, 100); + context->genSlider("タメ時間(連続)", &mChargeTime, 0, 100); + context->genSlider("回転時間", &mRotationTime, 0, 500); + context->genCheckBox("チェック描画", &mDrawFlag, 0x1); } #endif diff --git a/src/d/actor/d_a_obj_magne_arm.cpp b/src/d/actor/d_a_obj_magne_arm.cpp index 2557777987..e2531f8d34 100644 --- a/src/d/actor/d_a_obj_magne_arm.cpp +++ b/src/d/actor/d_a_obj_magne_arm.cpp @@ -332,20 +332,20 @@ int daObjMarm_c::CreateHeap() { return TRUE; } -cPhs__Step daObjMarm_c::phase_0() { +cPhs_Step daObjMarm_c::phase_0() { mMoveType = getMoveType(); int phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { phase = MoveBGCreate(l_arcName, 21, dBgS_MoveBGProc_Typical, 0x6000, NULL); if (phase == cPhs_ERROR_e) { - return (cPhs__Step)phase; + return phase; } mPhaseIndex++; } return cPhs_INIT_e; } -cPhs__Step daObjMarm_c::phase_1() { +cPhs_Step daObjMarm_c::phase_1() { cXyz scale(1.0f, 1.0f, 1.0f); mID = fopAcM_create(PROC_Obj_MHole, 0x12FF, ¤t.pos, fopAcM_GetRoomNo(this), ¤t.angle, &scale, -1); @@ -357,7 +357,7 @@ cPhs__Step daObjMarm_c::phase_1() { return cPhs_INIT_e; } -cPhs__Step daObjMarm_c::phase_2() { +cPhs_Step daObjMarm_c::phase_2() { daObjMHole_c* m_hole_actor = (daObjMHole_c*)fopAcM_SearchByID(mID); if (m_hole_actor != NULL) { csXyz angle(0, 0, 0); @@ -375,7 +375,7 @@ cPhs__Step daObjMarm_c::phase_2() { } int daObjMarm_c::create1st() { - typedef cPhs__Step (daObjMarm_c::*daObjMarm_func)(); + typedef cPhs_Step (daObjMarm_c::*daObjMarm_func)(); static daObjMarm_func l_ct_func[] = { &daObjMarm_c::phase_0, &daObjMarm_c::phase_1, diff --git a/src/d/actor/d_a_obj_maki.cpp b/src/d/actor/d_a_obj_maki.cpp index c20b7f3004..c555335745 100644 --- a/src/d/actor/d_a_obj_maki.cpp +++ b/src/d/actor/d_a_obj_maki.cpp @@ -19,7 +19,7 @@ #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_mtx.h" -#include "dolphin/types.h" +#include daObj_Maki_HIO_c::daObj_Maki_HIO_c() { field_0x4 = -1; @@ -178,7 +178,7 @@ int useHeapInit(fopAc_ac_c* i_this) { daObj_Maki_HIO_c l_HIO; -cPhs__Step daObj_Maki_Create(fopAc_ac_c* i_this) { +cPhs_Step daObj_Maki_Create(fopAc_ac_c* i_this) { fopAcM_ct(i_this, obj_maki_class); obj_maki_class* a_this = (obj_maki_class*)i_this; static dCcD_SrcSph cc_sph_src = { @@ -193,7 +193,7 @@ cPhs__Step daObj_Maki_Create(fopAc_ac_c* i_this) { } // mSphAttr }; - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&a_this->mPhase, "Obj_maki"); + cPhs_Step phase = dComIfG_resLoad(&a_this->mPhase, "Obj_maki"); if (phase == cPhs_COMPLEATE_e) { a_this->field_0x57c = (u8)fopAcM_GetParam(a_this); u32 cVar3 = fopAcM_GetParam(a_this) >> 0x18; diff --git a/src/d/actor/d_a_obj_mhole.cpp b/src/d/actor/d_a_obj_mhole.cpp index 73b707e5b0..7c7a1a15b4 100644 --- a/src/d/actor/d_a_obj_mhole.cpp +++ b/src/d/actor/d_a_obj_mhole.cpp @@ -49,16 +49,16 @@ daObjMHole_HIO_c::daObjMHole_HIO_c() { } void daObjMHole_HIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("マグネホール", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genCheckBox("スケール調整ON", &scale_adjust_on, 0x1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("Xスケール", &scale.x, 0.1f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 24); - mctx->genSlider("Yスケール", &scale.y, 0.1f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 24); - mctx->genSlider("Zスケール", &scale.z, 0.1f, 10.0f, 0, NULL, 0xffff, 0xffff, 0x200, 24); - mctx->genCheckBox("当たり表示", &collision_display, 0x1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genCheckBox("アングル", &angle, 0x1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("X", &angl.x, -0x7FFF, 0x7FFF, 0, NULL, 0xffff, 0xffff, 0x200, 24); - mctx->genSlider("Y", &angl.y, -0x7FFF, 0x7FFF, 0, NULL, 0xffff, 0xffff, 0x200, 24); - mctx->genSlider("Z", &angl.z, -0x7FFF, 0x7FFF, 0, NULL, 0xffff, 0xffff, 0x200, 24); + mctx->genLabel("マグネホール", 0); + mctx->genCheckBox("スケール調整ON", &scale_adjust_on, 0x1); + mctx->genSlider("Xスケール", &scale.x, 0.1f, 10.0f); + mctx->genSlider("Yスケール", &scale.y, 0.1f, 10.0f); + mctx->genSlider("Zスケール", &scale.z, 0.1f, 10.0f); + mctx->genCheckBox("当たり表示", &collision_display, 0x1); + mctx->genCheckBox("アングル", &angle, 0x1); + mctx->genSlider("X", &angl.x, -0x7FFF, 0x7FFF); + mctx->genSlider("Y", &angl.y, -0x7FFF, 0x7FFF); + mctx->genSlider("Z", &angl.z, -0x7FFF, 0x7FFF); } #endif @@ -370,8 +370,9 @@ static int daObjMHole_Delete(daObjMHole_c* i_this) { } static int daObjMHole_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjMHole_c,i_this, "MHole"); - return static_cast(i_this)->create(); + daObjMHole_c* a_this = (daObjMHole_c*)i_this; + fopAcM_RegisterCreateID(i_this, "MHole"); + return a_this->create(); } static actor_method_class l_daObjMHole_Method = { diff --git a/src/d/actor/d_a_obj_mie.cpp b/src/d/actor/d_a_obj_mie.cpp index 4c2cc4cf98..9a42ab6d07 100644 --- a/src/d/actor/d_a_obj_mie.cpp +++ b/src/d/actor/d_a_obj_mie.cpp @@ -58,29 +58,18 @@ void daObj_Mie_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { } void daObj_Mie_HIO_c::genMessage(JORMContext* ctx) { - ctx->genSlider("注目オフセット ", &m.focus_offset, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("重力 ", &m.gravity, -100.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - ctx->genSlider("スケ−ル ", &m.scale, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("リアル影サイズ ", &m.real_shadow_size, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("体重 ", &m.weight, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("高さ ", &m.height, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("ひざ丈 ", &m.knee_length, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("幅 ", &m.width, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("発射速度 ", &m.firing_rate, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("発射角度 ", &m.launch_angle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("浮きオフセット ", &m.floating_offset, -100.0f, 100.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("注目オフセット ", &m.focus_offset, 0.0f, 1000.0f); + ctx->genSlider("重力 ", &m.gravity, -100.0f, 100.0f); + ctx->genSlider("スケ−ル ", &m.scale, 0.0f, 100.0f); + ctx->genSlider("リアル影サイズ ", &m.real_shadow_size, 0.0f, 10000.0f); + ctx->genSlider("体重 ", &m.weight, 0.0f, 255.0f); + ctx->genSlider("高さ ", &m.height, 0.0f, 1000.0f); + ctx->genSlider("ひざ丈 ", &m.knee_length, 0.0f, 1000.0f); + ctx->genSlider("幅 ", &m.width, 0.0f, 1000.0f); + ctx->genSlider("発射速度 ", &m.firing_rate, 0.0f, 1000.0f); + ctx->genSlider("発射角度 ", &m.launch_angle, 0.0f, 90.0f); + ctx->genSlider("浮きオフセット ", &m.floating_offset, -100.0f, 100.0f); + ctx->genButton("ファイル書き出し", 0x40000002); } #endif diff --git a/src/d/actor/d_a_obj_mirror_6pole.cpp b/src/d/actor/d_a_obj_mirror_6pole.cpp index 9d596501ad..91076e19a7 100644 --- a/src/d/actor/d_a_obj_mirror_6pole.cpp +++ b/src/d/actor/d_a_obj_mirror_6pole.cpp @@ -120,8 +120,9 @@ int daObjMirror6Pole_c::create() { } static int daObjMirror6Pole_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjMirror6Pole_c, i_this, "Obj_Mirror6Pole"); - return static_cast(i_this)->create(); + daObjMirror6Pole_c* a_this = (daObjMirror6Pole_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Obj_Mirror6Pole"); + return a_this->create(); } daObjMirror6Pole_c::~daObjMirror6Pole_c() { diff --git a/src/d/actor/d_a_obj_mirror_chain.cpp b/src/d/actor/d_a_obj_mirror_chain.cpp index 75bb7fd32f..83285c0c80 100644 --- a/src/d/actor/d_a_obj_mirror_chain.cpp +++ b/src/d/actor/d_a_obj_mirror_chain.cpp @@ -477,10 +477,10 @@ void daObjMirrorChain_c::create_init() { initBaseMtx(); } -cPhs__Step daObjMirrorChain_c::create() { +cPhs_Step daObjMirrorChain_c::create() { fopAcM_ct(this, daObjMirrorChain_c); - cPhs__Step phase_state = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step phase_state = dComIfG_resLoad(&mPhaseReq, l_arcName); if (phase_state == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x71b0)) { return cPhs_ERROR_e; @@ -491,7 +491,7 @@ cPhs__Step daObjMirrorChain_c::create() { return phase_state; } -static cPhs__Step daObjMirrorChain_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjMirrorChain_Create(fopAc_ac_c* i_this) { fopAcM_GetID(i_this); return ((daObjMirrorChain_c*)i_this)->create(); } diff --git a/src/d/actor/d_a_obj_mirror_screw.cpp b/src/d/actor/d_a_obj_mirror_screw.cpp index 13a0c64eb5..eafd4740e2 100644 --- a/src/d/actor/d_a_obj_mirror_screw.cpp +++ b/src/d/actor/d_a_obj_mirror_screw.cpp @@ -142,7 +142,7 @@ static int daObjMirrorScrew_Delete(daObjMirrorScrew_c* i_this) { return 1; } -cPhs__Step daObjMirrorScrew_c::create() { +cPhs_Step daObjMirrorScrew_c::create() { fopAcM_ct(this, daObjMirrorScrew_c); if (fopAcM_isSwitch(this, getSwitchNo()) || /* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */ @@ -153,9 +153,9 @@ cPhs__Step daObjMirrorScrew_c::create() { return cPhs_ERROR_e; } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_COMPLEATE_e) { - step = (cPhs__Step)MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0xc760, NULL); + step = MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0xc760, NULL); if (step == cPhs_ERROR_e) { return step; } @@ -164,7 +164,7 @@ cPhs__Step daObjMirrorScrew_c::create() { return step; } -static cPhs__Step daObjMirrorScrew_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjMirrorScrew_Create(fopAc_ac_c* i_this) { fopAcM_GetID(i_this); return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_mirror_table.cpp b/src/d/actor/d_a_obj_mirror_table.cpp index c366e2dae3..5746ad13d1 100644 --- a/src/d/actor/d_a_obj_mirror_table.cpp +++ b/src/d/actor/d_a_obj_mirror_table.cpp @@ -376,13 +376,13 @@ static int daObjMirrorTable_Delete(daObjMirrorTable_c* i_this) { return 1; } -static cPhs__Step daObjMirrorTable_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjMirrorTable_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } -cPhs__Step daObjMirrorTable_c::create() { +cPhs_Step daObjMirrorTable_c::create() { fopAcM_ct(this, daObjMirrorTable_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0xdb50)) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_movebox.cpp b/src/d/actor/d_a_obj_movebox.cpp index e0794916f4..319bb9746e 100644 --- a/src/d/actor/d_a_obj_movebox.cpp +++ b/src/d/actor/d_a_obj_movebox.cpp @@ -102,7 +102,7 @@ void daObjMovebox::Hio_c::dt() { void daObjMovebox::Hio_c::genMessage(JORMContext* context) { context->genLabel("§ 押引パラメータ設定 §\n", 0); - context->genCheckBox("bgc", &M_flag_bgc[mType], 1); + context->genCheckBox("bgc", &M_flag_bgc[mType], 0x1); context->genLabel("\n【地表】", 1); context->genSlider("押し停止時間初回", &mAttr.mFirstPushStopTime, 0, 100); context->genSlider("押し停止時間連続", &mAttr.mRepeatPushStopTime, 0, 100); diff --git a/src/d/actor/d_a_obj_msima.cpp b/src/d/actor/d_a_obj_msima.cpp index fadf316c4a..db66eeb608 100644 --- a/src/d/actor/d_a_obj_msima.cpp +++ b/src/d/actor/d_a_obj_msima.cpp @@ -25,19 +25,15 @@ daObj_Msima_HIO_c::daObj_Msima_HIO_c() { #if DEBUG void daObj_Msima_HIO_c::genMessage(JORMContext* context) { // Magma Island - context->genLabel(" マグネ島 ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + context->genLabel(" マグネ島 ", 0x80000001); // Size - context->genSlider("サイズ", (float*)(this + 8), 0.0, 3.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + context->genSlider("サイズ", (float*)(this + 8), 0.0, 3.0); // Maximum Tilt Angle - context->genSlider("最大傾斜角(浮)", &mMaxTiltAngle, 0, 0x2000, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + context->genSlider("最大傾斜角(浮)", &mMaxTiltAngle, 0, 0x2000); // Maximum Slope Angle (Up) - context->genSlider("最大傾斜角(上)", &mMaxSlopeAngle, 0, 0x2000, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + context->genSlider("最大傾斜角(上)", &mMaxSlopeAngle, 0, 0x2000); // Basic Position - context->genSlider("基本位置", &mBasicPosition, -5000.0, 5000.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + context->genSlider("基本位置", &mBasicPosition, -5000.0, 5000.0); } #endif diff --git a/src/d/actor/d_a_obj_nameplate.cpp b/src/d/actor/d_a_obj_nameplate.cpp index eede848e44..fc9e9074ab 100644 --- a/src/d/actor/d_a_obj_nameplate.cpp +++ b/src/d/actor/d_a_obj_nameplate.cpp @@ -8,7 +8,7 @@ #include "d/actor/d_a_obj_nameplate.h" #include "d/actor/d_a_alink.h" #include "d/d_a_obj.h" -#include "dolphin/mtx.h" +#include #include "f_op/f_op_actor.h" #include "SSystem/SComponent/c_math.h" diff --git a/src/d/actor/d_a_obj_ndoor.cpp b/src/d/actor/d_a_obj_ndoor.cpp index f6bed90cc3..053488884b 100644 --- a/src/d/actor/d_a_obj_ndoor.cpp +++ b/src/d/actor/d_a_obj_ndoor.cpp @@ -103,7 +103,7 @@ static int daObj_Ndoor_Create(fopAc_ac_c* i_this) { obj_ndoor_class* a_this = (obj_ndoor_class*)i_this; fopAcM_ct(i_this, obj_ndoor_class); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&a_this->mPhase, "Obj_ndoor"); + cPhs_Step phase = dComIfG_resLoad(&a_this->mPhase, "Obj_ndoor"); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("OBJ_NDOOR PARAM %x\n", fopAcM_GetParam(a_this)); diff --git a/src/d/actor/d_a_obj_ornament_cloth.cpp b/src/d/actor/d_a_obj_ornament_cloth.cpp index 9ec1f9e86a..07c94fcd16 100644 --- a/src/d/actor/d_a_obj_ornament_cloth.cpp +++ b/src/d/actor/d_a_obj_ornament_cloth.cpp @@ -24,35 +24,21 @@ public: void default_set() { mAttr = daObjOnCloth_c::M_attr; } void genMessage(JORMContext* ctx) { - ctx->genLabel("§ 飾り布パラメータ設定 §\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); // § Ornamental Fabric Parameter Strings § - ctx->genSlider("重力", &mAttr.gravity, 0.0f, 30.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("オフセット", &mAttr.offset, -100.0f, 100.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("windRate", &mAttr.windRate, 0.0f, 5.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("speedRate", &mAttr.speedRate, 0.0f, 5.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("revPowRate", &mAttr.revPowRate, 0.0f, 1.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("回転限界[0]", &mAttr.rotationLimit[0], -0x4000, 0x3FFF, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("回転限界[1]", &mAttr.rotationLimit[1], -0x4000, 0x3FFF, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("回転限界[2]", &mAttr.rotationLimit[2], -0x4000, 0x3FFF, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("プレイヤ反応距離", &mAttr.playerReactionDist, 0.0f, 500.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("プレイヤ反応速度", &mAttr.playerReactionSpeed, 0.0f, 50.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("プレイヤ反応係数", &mAttr.playerReactionCoeff, 0.0f, 5.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("反射還元力係数", &mAttr.reflectReducePowCoeff, 0.0f, 1.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("揺れ遅延フレーム", &mAttr.delayedVibrationFrame, 1, 30, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("ジョイント表示", &mAttr.jointDisplay, 1, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel("§ 飾り布パラメータ設定 §\n", 0); // § Ornamental Fabric Parameter Strings § + ctx->genSlider("重力", &mAttr.gravity, 0.0f, 30.0f); + ctx->genSlider("オフセット", &mAttr.offset, -100.0f, 100.0f); + ctx->genSlider("windRate", &mAttr.windRate, 0.0f, 5.0f); + ctx->genSlider("speedRate", &mAttr.speedRate, 0.0f, 5.0f); + ctx->genSlider("revPowRate", &mAttr.revPowRate, 0.0f, 1.0f); + ctx->genSlider("回転限界[0]", &mAttr.rotationLimit[0], -0x4000, 0x3FFF); + ctx->genSlider("回転限界[1]", &mAttr.rotationLimit[1], -0x4000, 0x3FFF); + ctx->genSlider("回転限界[2]", &mAttr.rotationLimit[2], -0x4000, 0x3FFF); + ctx->genSlider("プレイヤ反応距離", &mAttr.playerReactionDist, 0.0f, 500.0f); + ctx->genSlider("プレイヤ反応速度", &mAttr.playerReactionSpeed, 0.0f, 50.0f); + ctx->genSlider("プレイヤ反応係数", &mAttr.playerReactionCoeff, 0.0f, 5.0f); + ctx->genSlider("反射還元力係数", &mAttr.reflectReducePowCoeff, 0.0f, 1.0f); + ctx->genSlider("揺れ遅延フレーム", &mAttr.delayedVibrationFrame, 1, 30); + ctx->genCheckBox("ジョイント表示", &mAttr.jointDisplay, 0x1); } void ct() { @@ -301,10 +287,10 @@ static int daObjOnCloth_Delete(daObjOnCloth_c* i_this) { ClothJoint_c::~ClothJoint_c() {} -cPhs__Step daObjOnCloth_c::create() { +cPhs_Step daObjOnCloth_c::create() { fopAcM_ct(this, daObjOnCloth_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x9A0)) { return cPhs_ERROR_e; @@ -317,7 +303,7 @@ cPhs__Step daObjOnCloth_c::create() { return phase; } -static cPhs__Step daObjOnCloth_Create(fopAc_ac_c* a_this) { +static cPhs_Step daObjOnCloth_Create(fopAc_ac_c* a_this) { return static_cast(a_this)->create(); } diff --git a/src/d/actor/d_a_obj_poFire.cpp b/src/d/actor/d_a_obj_poFire.cpp index 1fd555dd57..16af5cb3ae 100644 --- a/src/d/actor/d_a_obj_poFire.cpp +++ b/src/d/actor/d_a_obj_poFire.cpp @@ -48,23 +48,21 @@ daPoFire_HIO_c::daPoFire_HIO_c() { #if DEBUG /* daPoFire_HIO_c::genMessage (JORMContext *) */ void daPoFire_HIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("捕まえ範囲", &mPickupRange, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("周期", &mWaitPeriod, 0.1f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("上下幅", &mWaitVertRange, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("上下速度", &mWaitVertSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("周期", &mMovePeriod1, 0.1f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("移動速度", &mMoveSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("揺らぎ速度", &mMoveSwingSpeed1, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 24); - mctx->genLabel("\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("周期", &mMovePeriod2, 0.1f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("揺らぎ速度", &mMoveSwingSpeed2, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 24); - mctx->genSlider("揺らぎ幅", &mMoveSwingRange, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genSlider("Fire Wait", &mFireWaitTime, 0, 0xFFU, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + mctx->genSlider("捕まえ範囲", &mPickupRange, 0.0f, 1000.0f); + mctx->genLabel("\n", 0); + mctx->genSlider("周期", &mWaitPeriod, 0.1f, 100.0f); + mctx->genSlider("上下幅", &mWaitVertRange, 0.0f, 100.0f); + mctx->genSlider("上下速度", &mWaitVertSpeed, 0.0f, 100.0f); + mctx->genLabel("\n", 0); + mctx->genSlider("周期", &mMovePeriod1, 0.1f, 100.0f); + mctx->genSlider("移動速度", &mMoveSpeed, 0.0f, 100.0f); + mctx->genSlider("揺らぎ速度", &mMoveSwingSpeed1, 0.0f, 100.0f); + mctx->genLabel("\n", 0); + mctx->genSlider("周期", &mMovePeriod2, 0.1f, 100.0f); + mctx->genSlider("揺らぎ速度", &mMoveSwingSpeed2, 0.0f, 100.0f); + mctx->genSlider("揺らぎ幅", &mMoveSwingRange, 0.0f, 100.0f); + mctx->genLabel("\n", 0); + mctx->genSlider("Fire Wait", &mFireWaitTime, 0, 0xFFU); } #endif @@ -428,7 +426,8 @@ static int daPoFire_Delete(daPoFire_c* i_this) { } static int daPoFire_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daPoFire_c, i_this, "daPoFire"); + daPoFire_c* a_this = (daPoFire_c*)i_this; + fopAcM_RegisterCreateID(i_this, "daPoFire"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_pumpkin.cpp b/src/d/actor/d_a_obj_pumpkin.cpp index f841a75adc..c2e8e6e8ab 100644 --- a/src/d/actor/d_a_obj_pumpkin.cpp +++ b/src/d/actor/d_a_obj_pumpkin.cpp @@ -106,25 +106,25 @@ void daObj_Pumpkin_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { } void daObj_Pumpkin_HIO_c::genMessage(JORMContext* ctext) { - ctext->genSlider("注目オフセット ", &m.featured_offset, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("重力 ", &m.gravity, -100.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("スケ-ル ", &m.scale, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("リアル影サイズ ", &m.real_shadow_size, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("体重 ", &m.weight, 0.0f, 255.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("高さ ", &m.height, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("ひざ丈 ", &m.knee_length, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("幅 ", &m.width, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("発射速度 ", &m.fire_rate, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("注目オフセット ", &m.featured_offset, 0.0f, 1000.0f); + ctext->genSlider("重力 ", &m.gravity, -100.0f, 100.0f); + ctext->genSlider("スケ-ル ", &m.scale, 0.0f, 100.0f); + ctext->genSlider("リアル影サイズ ", &m.real_shadow_size, 0.0f, 10000.0f); + ctext->genSlider("体重 ", &m.weight, 0.0f, 255.0f); + ctext->genSlider("高さ ", &m.height, 0.0f, 1000.0f); + ctext->genSlider("ひざ丈 ", &m.knee_length, 0.0f, 1000.0f); + ctext->genSlider("幅 ", &m.width, 0.0f, 1000.0f); + ctext->genSlider("発射速度 ", &m.fire_rate, 0.0f, 1000.0f); // fire angle: - ctext->genSlider("発射角度 ", &m.launch_angle, 0.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("浮きオフセット ", &m.floating_offset, -100.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("発射角度 ", &m.launch_angle, 0.0f, 90.0f); + ctext->genSlider("浮きオフセット ", &m.floating_offset, -100.0f, 100.0f); // stand strong: - ctext->genSlider("ふんばり ", &m.hold_on, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("引き抜き音遅延 ", &m.pull_sound_delay, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("成長時間1 ", &m.growth_time_1, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - ctext->genSlider("成長時間2 ", &m.growth_time_2, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + ctext->genSlider("ふんばり ", &m.hold_on, 0, 1000); + ctext->genSlider("引き抜き音遅延 ", &m.pull_sound_delay, 0, 1000); + ctext->genSlider("成長時間1 ", &m.growth_time_1, 0, 1000); + ctext->genSlider("成長時間2 ", &m.growth_time_2, 0, 1000); // export file: - ctext->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctext->genButton("ファイル書き出し", 0x40000002); } #endif @@ -180,7 +180,7 @@ int daObj_Pumpkin_c::create() { fopAcM_ct(this, daObj_Pumpkin_c); mType = getType(); - cPhs__Step phase = (cPhs__Step) dComIfG_resLoad(&mPhaseReq, l_resNameList[l_bmdData[0][1]]); + cPhs_Step phase = dComIfG_resLoad(&mPhaseReq, l_resNameList[l_bmdData[0][1]]); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("\t(%s:%d) ItemTableNo:%d, ProcType:%d<%08x> -> roomNo.%d", fopAcM_getProcNameString(this), getType(), getItemTableNo(), getProcType(), fopAcM_GetParam(this), fopAcM_GetRoomNo(this)); diff --git a/src/d/actor/d_a_obj_rock.cpp b/src/d/actor/d_a_obj_rock.cpp index 65fe8a4493..2494a2f534 100644 --- a/src/d/actor/d_a_obj_rock.cpp +++ b/src/d/actor/d_a_obj_rock.cpp @@ -105,7 +105,7 @@ static int daObj_Rock_Create(fopAc_ac_c* i_this) { obj_rock_class* a_this = static_cast(i_this); fopAcM_ct(a_this, obj_rock_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "Obj_rock"); + cPhs_Step step = dComIfG_resLoad(&a_this->mPhaseReq, "Obj_rock"); if (step == cPhs_COMPLEATE_e) { a_this->mPatchRockNum = fopAcM_GetParam(a_this); a_this->mRockSpacing = fopAcM_GetParamBit(a_this, 8, 8); diff --git a/src/d/actor/d_a_obj_saidan.cpp b/src/d/actor/d_a_obj_saidan.cpp index fcbbbb9e6f..05c64f23ba 100644 --- a/src/d/actor/d_a_obj_saidan.cpp +++ b/src/d/actor/d_a_obj_saidan.cpp @@ -34,10 +34,10 @@ int daSaidan_c::CreateHeap() { return TRUE; } -cPhs__Step daSaidan_c::create() { +cPhs_Step daSaidan_c::create() { fopAcM_ct(this, daSaidan_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, "H_Saidan"); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, "H_Saidan"); if (step == cPhs_COMPLEATE_e) { if (MoveBGCreate("H_Saidan", 7, dBgS_MoveBGProc_TypicalRotY, 0x21b0, NULL) == cPhs_ERROR_e) { diff --git a/src/d/actor/d_a_obj_sakuita.cpp b/src/d/actor/d_a_obj_sakuita.cpp index 655f87a9ab..0f828d4d73 100644 --- a/src/d/actor/d_a_obj_sakuita.cpp +++ b/src/d/actor/d_a_obj_sakuita.cpp @@ -27,26 +27,19 @@ void daObjSakuita_Hio_c::ct() { } void daObjSakuita_Hio_c::genMessage(JORMContext* ctx) { - ctx->genLabel("§ カラカラ板パラメータ設定 §\n", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("重力", &mAttr.mGravity, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("円柱半径", &mAttr.mCylR, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("円柱高さ", &mAttr.mCylH, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("オフセット", &mAttr.mOffset, -300.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("板の重さ", &mAttr.mBoardWeight, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("吊り下げ位置", &mAttr.mHangingPosition, -50.0f, 0.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genSlider("windRate", &mAttr.mWindRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("speedRate", &mAttr.mSpeedRate, 0.0f, 5.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("風震動", &mAttr.mWindShake, 0.0f, 30000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("Y震動", &mAttr.mYVibration, 0.0f, 30000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("Y収束", &mAttr.mYConvergence, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("Y周期", &mAttr.mYPeriod, -0x4000, 0x3fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genLabel("§ カラカラ板パラメータ設定 §\n", 0); + ctx->genSlider("重力", &mAttr.mGravity, 0.0f, 200.0f); + ctx->genSlider("円柱半径", &mAttr.mCylR, 0.0f, 1000.0f); + ctx->genSlider("円柱高さ", &mAttr.mCylH, 0.0f, 1000.0f); + ctx->genSlider("オフセット", &mAttr.mOffset, -300.0f, 0.0f); + ctx->genSlider("板の重さ", &mAttr.mBoardWeight, 0, 0xff); + ctx->genSlider("吊り下げ位置", &mAttr.mHangingPosition, -50.0f, 0.0f); + ctx->genSlider("windRate", &mAttr.mWindRate, 0.0f, 1.0f); + ctx->genSlider("speedRate", &mAttr.mSpeedRate, 0.0f, 5.0f); + ctx->genSlider("風震動", &mAttr.mWindShake, 0.0f, 30000.0f); + ctx->genSlider("Y震動", &mAttr.mYVibration, 0.0f, 30000.0f); + ctx->genSlider("Y収束", &mAttr.mYConvergence, 0.0f, 1000.0f); + ctx->genSlider("Y周期", &mAttr.mYPeriod, -0x4000, 0x3fff); } void daObjSakuita_Hio_c::dt() { diff --git a/src/d/actor/d_a_obj_sakuita_rope.cpp b/src/d/actor/d_a_obj_sakuita_rope.cpp index 12ce066a39..d0fbc480af 100644 --- a/src/d/actor/d_a_obj_sakuita_rope.cpp +++ b/src/d/actor/d_a_obj_sakuita_rope.cpp @@ -45,15 +45,12 @@ void daObjItaRope_Hio_c::dt() { } void daObjItaRope_Hio_c::genMessage(JORMContext* ctx) { - ctx->genLabel("§ 牧場のカラカラ板用紐パラメータ設定 §\n", 0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("重力", &mAttr.mGravity, -200.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("紐の重さ", &mAttr.mStringWeight, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("windRate", &mAttr.mWindRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("speedRate", &mAttr.mSpeedRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("offsetRate", &mAttr.mOffsetRate, -5.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genLabel("§ 牧場のカラカラ板用紐パラメータ設定 §\n", 0); + ctx->genSlider("重力", &mAttr.mGravity, -200.0f, 0.0f); + ctx->genSlider("紐の重さ", &mAttr.mStringWeight, 0, 0xff); + ctx->genSlider("windRate", &mAttr.mWindRate, 0.0f, 1.0f); + ctx->genSlider("speedRate", &mAttr.mSpeedRate, 0.0f, 1.0f); + ctx->genSlider("offsetRate", &mAttr.mOffsetRate, -5.0f, 1.0f); } #endif @@ -373,9 +370,10 @@ int daObjItaRope_c::create() { return rv; } -static int daObjItaRope_Create(fopAc_ac_c* i_actor) { - fopAcM_RegisterCreateID(daObjItaRope_c, i_actor, "Obj_ItaRope"); - return static_cast(i_actor)->create(); +static int daObjItaRope_Create(fopAc_ac_c* i_this) { + daObjItaRope_c* a_this = (daObjItaRope_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Obj_ItaRope"); + return a_this->create(); } static actor_method_class l_daObjItaRope_Method = { diff --git a/src/d/actor/d_a_obj_scannon_crs.cpp b/src/d/actor/d_a_obj_scannon_crs.cpp index c4e3a81cb3..d682aec9cb 100644 --- a/src/d/actor/d_a_obj_scannon_crs.cpp +++ b/src/d/actor/d_a_obj_scannon_crs.cpp @@ -87,8 +87,8 @@ int daSCannonCrs_c::create() { -500.0f, -100.0f, -500.0f, 500.0f, 2500.0f, 500.0f); - attention_info.distances[1] = 54; - attention_info.distances[3] = 54; + attention_info.distances[fopAc_attn_TALK_e] = 54; + attention_info.distances[fopAc_attn_SPEAK_e] = 54; eventInfo.setArchiveName(l_arcName); mEvtIdx = dComIfGp_getEventManager().getEventIdx(this, l_eventName, 0xFF); diff --git a/src/d/actor/d_a_obj_sekidoor.cpp b/src/d/actor/d_a_obj_sekidoor.cpp index ceae036eab..c12f4782c6 100644 --- a/src/d/actor/d_a_obj_sekidoor.cpp +++ b/src/d/actor/d_a_obj_sekidoor.cpp @@ -47,7 +47,7 @@ int daObj_SekiDoor_c::create() { mBitSW = 0; - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_resNameList[l_bmdData[mBitSW].resIdx]); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_resNameList[l_bmdData[mBitSW].resIdx]); if (step == cPhs_COMPLEATE_e) { if (getBitSW() != 0xff){ if (dComIfGs_isSwitch(getBitSW(), fopAcM_GetRoomNo(this))) { @@ -55,7 +55,7 @@ int daObj_SekiDoor_c::create() { } } - step = (cPhs__Step)MoveBGCreate(l_resNameList[l_dzbData[mBitSW].resIdx], + step = MoveBGCreate(l_resNameList[l_dzbData[mBitSW].resIdx], l_dzbData[mBitSW].dzbIdx, dBgS_MoveBGProc_TypicalRotY, 0xc20, NULL ); diff --git a/src/d/actor/d_a_obj_sekizo.cpp b/src/d/actor/d_a_obj_sekizo.cpp index dda9c26f3e..cfc74ef949 100644 --- a/src/d/actor/d_a_obj_sekizo.cpp +++ b/src/d/actor/d_a_obj_sekizo.cpp @@ -41,14 +41,14 @@ void daObj_Sekizo_HIO_c::genMessage(JORMContext* ctx) { } #endif -cPhs__Step daObj_Sekizo_c::create() { +cPhs_Step daObj_Sekizo_c::create() { fopAcM_ct(this, daObj_Sekizo_c); field_0x5b0 = 0; - cPhs__Step step = - (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_resNameList[l_bmdData[field_0x5b0].resIdx]); + cPhs_Step step = + dComIfG_resLoad(&mPhaseReq, l_resNameList[l_bmdData[field_0x5b0].resIdx]); if (step == cPhs_COMPLEATE_e) { - step = (cPhs__Step)MoveBGCreate(l_resNameList[l_dzbData[field_0x5b0].resIdx], + step = MoveBGCreate(l_resNameList[l_dzbData[field_0x5b0].resIdx], l_dzbData[field_0x5b0].dzbIdx, dBgS_MoveBGProc_TypicalRotY, 0x4000, NULL); if (step == cPhs_ERROR_e) { diff --git a/src/d/actor/d_a_obj_sekizoa.cpp b/src/d/actor/d_a_obj_sekizoa.cpp index 5147442ba9..490005649b 100644 --- a/src/d/actor/d_a_obj_sekizoa.cpp +++ b/src/d/actor/d_a_obj_sekizoa.cpp @@ -6,7 +6,7 @@ #include "d/actor/d_a_obj_smtile.h" #include "d/actor/d_a_tag_evtarea.h" #include "d/actor/d_a_tag_kmsg.h" -#include "dolphin/types.h" +#include #include "f_op/f_op_actor_mng.h" #include "f_op/f_op_msg.h" diff --git a/src/d/actor/d_a_obj_shield.cpp b/src/d/actor/d_a_obj_shield.cpp index b7ce69ed51..26e74a6e66 100644 --- a/src/d/actor/d_a_obj_shield.cpp +++ b/src/d/actor/d_a_obj_shield.cpp @@ -356,7 +356,8 @@ static int daItemShield_Delete(daItemShield_c* i_this) { } static int daItemShield_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daItemShield_c, i_this, "ObjSShield"); + daItemShield_c* a_this = (daItemShield_c*)i_this; + fopAcM_RegisterCreateID(i_this, "ObjSShield"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_sm_door.cpp b/src/d/actor/d_a_obj_sm_door.cpp index fffd8a6f4e..b1d032b50a 100644 --- a/src/d/actor/d_a_obj_sm_door.cpp +++ b/src/d/actor/d_a_obj_sm_door.cpp @@ -14,7 +14,7 @@ static char* l_arcName = "sm_door"; -static cPhs__Step daObjSM_DOOR_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjSM_DOOR_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } @@ -174,9 +174,9 @@ inline int daObjSM_DOOR_c::CreateHeap() { return 1; } -cPhs__Step daObjSM_DOOR_c::create() { +cPhs_Step daObjSM_DOOR_c::create() { fopAcM_ct(this, daObjSM_DOOR_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhase, l_arcName); if (step == cPhs_COMPLEATE_e) { gravity = -9.0f; @@ -202,7 +202,7 @@ cPhs__Step daObjSM_DOOR_c::create() { mSwBit = fopAcM_GetParam(this) >> 8; - step = (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, + step = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1F20, NULL); if (step == cPhs_ERROR_e) { return step; diff --git a/src/d/actor/d_a_obj_smallkey.cpp b/src/d/actor/d_a_obj_smallkey.cpp index cc2614aba4..d20800fdd7 100644 --- a/src/d/actor/d_a_obj_smallkey.cpp +++ b/src/d/actor/d_a_obj_smallkey.cpp @@ -539,13 +539,14 @@ static int daKey_Execute(daKey_c* i_this) { } static int daKey_Delete(daKey_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "ObjSKey"); return i_this->_delete(); } static int daKey_Create(fopAc_ac_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); - return ((daKey_c*)i_this)->create(); + daKey_c* a_this = (daKey_c*)i_this; + fopAcM_RegisterCreateID(i_this, "ObjSKey"); + return a_this->create(); } static actor_method_class l_daKey_Method = { diff --git a/src/d/actor/d_a_obj_smgdoor.cpp b/src/d/actor/d_a_obj_smgdoor.cpp index 000df5e1c3..e380b3dc12 100644 --- a/src/d/actor/d_a_obj_smgdoor.cpp +++ b/src/d/actor/d_a_obj_smgdoor.cpp @@ -28,9 +28,9 @@ daObjSmgDoor_HIO_c::daObjSmgDoor_HIO_c() { void daObjSmgDoor_HIO_c::genMessage(JORMContext* ctx) { // Present & Past Door - ctx->genLabel("現在&過去の扉", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel("現在&過去の扉", 0); // Check Display - ctx->genCheckBox("チェック表示", &field_0x6, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genCheckBox("チェック表示", &field_0x6, 0x1); } #endif diff --git a/src/d/actor/d_a_obj_smw_stone.cpp b/src/d/actor/d_a_obj_smw_stone.cpp index e243a6f17a..1eab4fb32c 100644 --- a/src/d/actor/d_a_obj_smw_stone.cpp +++ b/src/d/actor/d_a_obj_smw_stone.cpp @@ -29,9 +29,9 @@ static u8 const lit_3776[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -cPhs__Step daSmWStone_c::create() { +cPhs_Step daSmWStone_c::create() { fopAcM_ct(this, daSmWStone_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(this, l_arcName); + cPhs_Step step = dComIfG_resLoad(this, l_arcName); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, daSmWStone_c_createHeap, 0x1000)) { @@ -170,7 +170,7 @@ bool daSmWStone_c::chkWlfInRange() { return false; } -static cPhs__Step daSmWStone_create(daSmWStone_c* i_this) { +static cPhs_Step daSmWStone_create(daSmWStone_c* i_this) { fopAcM_ct(i_this, daSmWStone_c); return i_this->create(); } diff --git a/src/d/actor/d_a_obj_snow_soup.cpp b/src/d/actor/d_a_obj_snow_soup.cpp index f911d9cc90..9fca736a54 100644 --- a/src/d/actor/d_a_obj_snow_soup.cpp +++ b/src/d/actor/d_a_obj_snow_soup.cpp @@ -44,9 +44,9 @@ int daObjSnowSoup_c::createHeap() { return true; } -cPhs__Step daObjSnowSoup_c::create() { +cPhs_Step daObjSnowSoup_c::create() { fopAcM_ct(this, daObjSnowSoup_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(this, l_arcName); + cPhs_Step step = dComIfG_resLoad(this, l_arcName); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, daObjSnowSoup_c_createHeap, 0x6500)) { return cPhs_ERROR_e; @@ -167,7 +167,7 @@ void daObjSnowSoup_c::deleteSmkEmtChange(int i_state) { } -static cPhs__Step daObjSnowSoup_create(daObjSnowSoup_c* i_this) { +static cPhs_Step daObjSnowSoup_create(daObjSnowSoup_c* i_this) { fopAcM_ct(i_this, daObjSnowSoup_c); return i_this->create(); } diff --git a/src/d/actor/d_a_obj_spinLift.cpp b/src/d/actor/d_a_obj_spinLift.cpp index 6f76e114b0..0feb173312 100644 --- a/src/d/actor/d_a_obj_spinLift.cpp +++ b/src/d/actor/d_a_obj_spinLift.cpp @@ -32,11 +32,11 @@ daSpinLift_HIO_c::daSpinLift_HIO_c() { #if DEBUG void daSpinLift_HIO_c::genMessage(JORMContext* ctx) { // === Ascent === - ctx->genLabel("\n=== 上昇 ===", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("\n=== 上昇 ===", 0); // Initial Speed - ctx->genSlider("初速", &mInitialSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("初速", &mInitialSpeed, 0.0f, 100.0f); // Vibration - ctx->startComboBox("振動", &mVibration, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + ctx->startComboBox("振動", &mVibration); // Strength 1 - 8 ctx->genComboBoxItem("強さ1", 1); ctx->genComboBoxItem("強さ2", 2); @@ -262,14 +262,14 @@ static int daSpinLift_Execute(daSpinLift_c* i_this) { } static int daSpinLift_Delete(daSpinLift_c* i_this) { - fpc_ProcID proc_id = fopAcM_GetID(i_this); + fopAcM_RegisterCreateID(i_this, "daSpinLift"); return i_this->MoveBGDelete(); } -static int daSpinLift_Create(fopAc_ac_c* a_this) { - daSpinLift_c* i_this = (daSpinLift_c*)a_this; - fpc_ProcID proc_id = fopAcM_GetID(a_this); - return i_this->create(); +static int daSpinLift_Create(fopAc_ac_c* i_this) { + daSpinLift_c* a_this = (daSpinLift_c*)i_this; + fopAcM_RegisterDeleteID(i_this, "daSpinLift"); + return a_this->create(); } static actor_method_class l_daSpinLift_Method = { diff --git a/src/d/actor/d_a_obj_stopper.cpp b/src/d/actor/d_a_obj_stopper.cpp index bee5fc640d..97f978f6a0 100644 --- a/src/d/actor/d_a_obj_stopper.cpp +++ b/src/d/actor/d_a_obj_stopper.cpp @@ -75,8 +75,8 @@ int daObjStopper_c::create() { shape_angle.x = shape_angle.z = 0; field_0x9fc = 1; } - cPhs__Step phase = cPhs_COMPLEATE_e; - phase = (cPhs__Step)MoveBGCreate(NULL, -1, dBgS_MoveBGProc_TypicalRotY, 0x810, NULL); + cPhs_Step phase = cPhs_COMPLEATE_e; + phase = MoveBGCreate(NULL, -1, dBgS_MoveBGProc_TypicalRotY, 0x810, NULL); if (phase == cPhs_ERROR_e) { return phase; } diff --git a/src/d/actor/d_a_obj_sw.cpp b/src/d/actor/d_a_obj_sw.cpp index b5beb5d2e3..4f5209e7bc 100644 --- a/src/d/actor/d_a_obj_sw.cpp +++ b/src/d/actor/d_a_obj_sw.cpp @@ -732,7 +732,7 @@ static int daObj_Sw_Create(fopAc_ac_c* a_this) { OS_REPORT("//////////////OBJ_SW SET 2 !!\n"); if (i_this->field_0x570 == 8) { - a_this->attention_info.distances[2] = 22; + a_this->attention_info.distances[fopAc_attn_BATTLE_e] = 22; a_this->home.pos.y += -70.0f; a_this->current.pos.y = a_this->home.pos.y; diff --git a/src/d/actor/d_a_obj_swLight.cpp b/src/d/actor/d_a_obj_swLight.cpp index 688aea247c..2ed7130f13 100644 --- a/src/d/actor/d_a_obj_swLight.cpp +++ b/src/d/actor/d_a_obj_swLight.cpp @@ -29,14 +29,13 @@ daObjSwLight_HIO_c::daObjSwLight_HIO_c() { void daObjSwLight_HIO_c::genMessage(JORMContext* ctx) { // Light Candlestick Switch - ctx->genLabel("光燭台スイッチ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("光燭台スイッチ", 0); // Light Maximum Radius - ctx->genSlider("光最大半径", &mLightMaxRadius, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("光最大半径", &mLightMaxRadius, 0.0f, 1000.0f); // Check Rendering - ctx->genCheckBox("チェック描画", &mCheckRendering, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox("チェック描画", &mCheckRendering, 0x1); // No Light Hit - ctx->genCheckBox("光当たり無し", &mNoLightHit, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox("光当たり無し", &mNoLightHit, 0x1); } static daObjSwLight_HIO_c l_HIO; diff --git a/src/d/actor/d_a_obj_swchain.cpp b/src/d/actor/d_a_obj_swchain.cpp index ce333ef083..3938dc5761 100644 --- a/src/d/actor/d_a_obj_swchain.cpp +++ b/src/d/actor/d_a_obj_swchain.cpp @@ -68,44 +68,38 @@ daObjSwChain_HIO_c::daObjSwChain_HIO_c() { void daObjSwChain_HIO_c::genMessage(JORMContext* ctx) { // Chain Switch - ctx->genLabel("チェーンスイッチ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("チェーンスイッチ", 0); // Gravity - ctx->genSlider("重力", &mGravity, -100.0f, -1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("重力", &mGravity, -100.0f, -1.0f); // Tension - ctx->genSlider("張力", &mTension, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("張力", &mTension, 0.0f, 20.0f); // Tension (Boots Equipped) - ctx->genSlider("張力(ブーツ装備)", &mTensionBootsEquipped, 0.0f, 20.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider("張力(ブーツ装備)", &mTensionBootsEquipped, 0.0f, 20.0f); // Tension (Wolf) - ctx->genSlider("張力(狼)", &mTensionWolf, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("張力(狼)", &mTensionWolf, 0.0f, 20.0f); // SWITCH ON Tension - ctx->genSlider("SWONの張力", &mSwitchOnTension, 0.0f, 20.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("SWONの張力", &mSwitchOnTension, 0.0f, 20.0f); // SWITCH ON Time - ctx->genSlider("SWONの時間", &mSwitchOnTime, 0, 64.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("SWONの時間", &mSwitchOnTime, 0, 64.0f); // -- Normal -- - ctx->genLabel("-- ノーマル --", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-- ノーマル --", 0); // Return Speed - ctx->genSlider("戻る速度", &mReturnSpeed, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("戻る速度", &mReturnSpeed, 0.0f, 50.0f); // -- With Chandelier -- - ctx->genLabel("-- シャンデリア付き --", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-- シャンデリア付き --", 0); // Return Speed・High - ctx->genSlider("戻る速度・高速", &mReturnSpeedHigh, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("戻る速度・高速", &mReturnSpeedHigh, 0.0f, 50.0f); // Return Speed・Low - ctx->genSlider("戻る速度・低速", &mReturnSpeedLow, 0.0f, 50.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider("戻る速度・低速", &mReturnSpeedLow, 0.0f, 50.0f); // Process Stop ctx->genCheckBox("処理停止", &mProcessStop, 0x1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); // Clawshot Related - ctx->genLabel("-- フックショット関係 --", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-- フックショット関係 --", 0); // Reaction Angle Display ctx->genCheckBox("反応角度表示", &mReactionAngleDisplay, 0x1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); // Clawshot Reaction Angle - ctx->genSlider("フックショット反応角度", &mReactionAngle, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider("フックショット反応角度", &mReactionAngle, 0, 0x7fff); } static daObjSwChain_HIO_c l_HIO; @@ -1180,14 +1174,14 @@ static int daObjSwChain_Execute(daObjSwChain_c* i_this) { } static int daObjSwChain_Delete(daObjSwChain_c* i_this) { - fpc_ProcID unused = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "SwChain"); return i_this->_delete(); } -static int daObjSwChain_Create(fopAc_ac_c* a_this) { - daObjSwChain_c* i_this = (daObjSwChain_c*)a_this; - fpc_ProcID unused = fopAcM_GetID(a_this); - return i_this->create1st(); +static int daObjSwChain_Create(fopAc_ac_c* i_this) { + daObjSwChain_c* a_this = (daObjSwChain_c*)i_this; + fopAcM_RegisterCreateID(i_this, "SwChain"); + return a_this->create1st(); } static actor_method_class l_daObjSwChain_Method = { diff --git a/src/d/actor/d_a_obj_sword.cpp b/src/d/actor/d_a_obj_sword.cpp index ba7aa3c439..e9141a3998 100644 --- a/src/d/actor/d_a_obj_sword.cpp +++ b/src/d/actor/d_a_obj_sword.cpp @@ -34,14 +34,14 @@ int daObjSword_c::Create() { return 1; } -cPhs__Step daObjSword_c::create() { +cPhs_Step daObjSword_c::create() { fopAcM_ct(this, daObjSword_c); m_itemNo = 0x28; if (fopAcM_isItem(this, getItemBit())) { return cPhs_ERROR_e; } - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); + cPhs_Step phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); if (phase == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap, 0x4000)) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_swpush.cpp b/src/d/actor/d_a_obj_swpush.cpp index 901b3f4210..f4866be6ad 100644 --- a/src/d/actor/d_a_obj_swpush.cpp +++ b/src/d/actor/d_a_obj_swpush.cpp @@ -107,8 +107,8 @@ bool daObjSwpush::Act_c::create_heap() { return rv; } -cPhs__Step daObjSwpush::Act_c::create_res_load() { - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, M_arcname[mMdl]); +cPhs_Step daObjSwpush::Act_c::create_res_load() { + cPhs_Step phase = dComIfG_resLoad(&mPhase, M_arcname[mMdl]); if (phase != cPhs_COMPLEATE_e) { return phase; } @@ -199,7 +199,7 @@ daObjSwpush::Hio_c::Attr_c const daObjSwpush::Act_c::M_attr[5] = { u8 const daObjSwpush::Act_c::M_op_vtx[4] = {0x0D, 0x0B, 0x0A, 0x0C}; -cPhs__Step daObjSwpush::Act_c::Mthd_Create() { +cPhs_Step daObjSwpush::Act_c::Mthd_Create() { fopAcM_ct(this, daObjSwpush::Act_c); prmZ_init(); @@ -212,7 +212,7 @@ cPhs__Step daObjSwpush::Act_c::Mthd_Create() { mMdl = 0; } - cPhs__Step phase = create_res_load(); + cPhs_Step phase = create_res_load(); if (phase == cPhs_COMPLEATE_e) { scale.x *= attr().scale; scale.z *= attr().scale; @@ -832,7 +832,7 @@ int daObjSwpush::Act_c::Mthd_Draw() { namespace daObjSwpush { namespace { - cPhs__Step Mthd_Create(void* i_this) { + cPhs_Step Mthd_Create(void* i_this) { return static_cast(i_this)->Mthd_Create(); } diff --git a/src/d/actor/d_a_obj_syRock.cpp b/src/d/actor/d_a_obj_syRock.cpp index cd053b8791..60d50e393f 100644 --- a/src/d/actor/d_a_obj_syRock.cpp +++ b/src/d/actor/d_a_obj_syRock.cpp @@ -109,7 +109,7 @@ dCcD_SrcGObjInf const daSyRock_c::mCcDObjInfo = { {}, // mGObjCo }; -cPhs__Step daSyRock_c::create() { +cPhs_Step daSyRock_c::create() { fopAcM_ct(this, daSyRock_c); if(getArg0() == TRUE) { @@ -119,9 +119,9 @@ cPhs__Step daSyRock_c::create() { return cPhs_INIT_e; } - const cPhs__Step requestedPhaseProcess = static_cast(dComIfG_resLoad(&mPhase, "syourock")); + const cPhs_Step requestedPhaseProcess = static_cast(dComIfG_resLoad(&mPhase, "syourock")); if(requestedPhaseProcess == cPhs_COMPLEATE_e) { - const cPhs__Step bgCreatePhaseProcess = static_cast(MoveBGCreate("syourock", 0x8, dBgS_MoveBGProc_TypicalRotY, 0x2100, NULL)); + const cPhs_Step bgCreatePhaseProcess = static_cast(MoveBGCreate("syourock", 0x8, dBgS_MoveBGProc_TypicalRotY, 0x2100, NULL)); if(bgCreatePhaseProcess == cPhs_ERROR_e) return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_takaraDai.cpp b/src/d/actor/d_a_obj_takaraDai.cpp index c57060c4b5..e8a1e919f2 100644 --- a/src/d/actor/d_a_obj_takaraDai.cpp +++ b/src/d/actor/d_a_obj_takaraDai.cpp @@ -75,7 +75,7 @@ int daTkraDai_c::CreateHeap() { int daTkraDai_c::create() { fopAcM_ct(this, daTkraDai_c); - cPhs__Step phase = static_cast(dComIfG_resLoad(&mPhase, "M_TakaraD")); + cPhs_Step phase = static_cast(dComIfG_resLoad(&mPhase, "M_TakaraD")); if (phase == cPhs_COMPLEATE_e) { if (MoveBGCreate("M_TakaraD", 8, dBgS_MoveBGProc_Typical, 0x2e00, NULL) == cPhs_ERROR_e) { return cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_ten.cpp b/src/d/actor/d_a_obj_ten.cpp index 82a24672c5..1404757c2c 100644 --- a/src/d/actor/d_a_obj_ten.cpp +++ b/src/d/actor/d_a_obj_ten.cpp @@ -706,7 +706,7 @@ int daObjTEN_c::create() { } else { mDraw = true; } - attention_info.distances[4] = 0x5d; + attention_info.distances[fopAc_attn_CARRY_e] = 0x5d; mSex = (fopAcM_GetParam(this) & 0x10) >> 4; setItemNo(l_ten_itemno[mSex]); setSaveBitNo(l_musiya_num[mSex]); diff --git a/src/d/actor/d_a_obj_testcube.cpp b/src/d/actor/d_a_obj_testcube.cpp index 0406c17416..0a1a41ec36 100644 --- a/src/d/actor/d_a_obj_testcube.cpp +++ b/src/d/actor/d_a_obj_testcube.cpp @@ -1,25 +1,384 @@ /** * @file d_a_obj_testcube.cpp - * -*/ + * + */ -#include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_obj_testcube.h" -actor_process_profile_definition g_profile_Obj_TestCube = { - fpcLy_CURRENT_e, // mLayerID - 3, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_Obj_TestCube, // mProcName - &g_fpcLf_Method.base, // sub_method - 0x000005A0, // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 442, // mPriority - NULL, // sub_method - 0x00040100, // mStatus - fopAc_ACTOR_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType +#if DEBUG +const char* l_arcName[] = { + "K_cube00", + "K_cube01", + "K_cyli00", +}; + +class daObjCube_HIO_c : public mDoHIO_entry_c { +public: + daObjCube_HIO_c(); + virtual ~daObjCube_HIO_c() {} + + void genMessage(JORMContext*); + + /* 0x6 */ GXColor mColor[255]; +}; + +daObjCube_HIO_c l_HIO; + +static const GXColor l_obj_color[] = { + {0x00, 0x00, 0x00, 0xFF}, {0x12, 0x09, 0x00, 0xFF}, {0x0c, 0x0c, 0x0c, 0xFF}, + {0x1d, 0x14, 0x03, 0xFF}, {0x06, 0x14, 0x06, 0xFF}, {0x2b, 0x20, 0x16, 0xFF}, + {0x17, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x39, 0xFF}, {0x1f, 0x2f, 0x3f, 0xFF}, + {0x3f, 0x18, 0x0d, 0xFF}, {0x00, 0x07, 0x17, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x32, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x32, 0xFF}, + {0x00, 0x32, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, + {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, +}; + +daObjCube_HIO_c::daObjCube_HIO_c() { + for (int i = 0; i < 255; i++) { + mColor[i] = l_obj_color[i]; + } +} + +void daObjCube_HIO_c::genMessage(JORMContext* mctx) { + mctx->genLabel("テスト立方体", 0); + + for (int i = 0; i < 255; i++) { + char label[256]; + sprintf(label, "名前引数<%d>のカラー\n", i); + + mctx->genLabel(label, 0); + mctx->genSlider("r", &mColor[i].r, 0, 0xFF); + mctx->genSlider("g", &mColor[i].g, 0, 0xFF); + mctx->genSlider("b", &mColor[i].b, 0, 0xFF); + mctx->genSlider("a", &mColor[i].a, 0, 0xFF); + } +} + +void daObjCube_c::getDzbName(char* i_buffer) { + u8 arg = mNameArg; + + switch (mShape) { + case 0: + case 1: + sprintf(i_buffer, "k_size_cube%02d.dzb", mNameArg); + break; + case 2: + if (arg == 100) { + arg = 0; + } + + sprintf(i_buffer, "k_size_cyl%02d.dzb", arg); + break; + } +} + +void daObjCube_c::getBmdName(char* i_buffer) { + switch (mShape) { + case 0: + case 1: + sprintf(i_buffer, "K_size_cube.bmd"); + break; + case 2: + sprintf(i_buffer, "k_size_cylinder.bmd"); + break; + } +} + +void daObjCube_c::initBaseMtx() { + if (mShape == 2) { + scale.z = scale.x; + } + + setBaseMtx(); +} + +void daObjCube_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::scaleM(scale); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + MTXCopy(mDoMtx_stack_c::get(), mBgMtx); +} + +int daObjCube_c::Create() { + if (mNameArg == 100) { + scale.x *= 10.0f; + scale.y *= 10.0f; + scale.z *= 10.0f; + } + + initBaseMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + + cXyz cullMin; + cXyz cullMax; + J3DJoint* rootJnt = mpModel->getModelData()->getJointNodePointer(0); + + cullMin.x = scale.x * rootJnt->getMin()->x; + cullMin.y = scale.y * rootJnt->getMin()->y; + cullMin.z = scale.z * rootJnt->getMin()->z; + + cullMax.x = scale.x * rootJnt->getMax()->x; + cullMax.y = scale.y * rootJnt->getMax()->y; + cullMax.z = scale.z * rootJnt->getMax()->z; + + fopAcM_setCullSizeBox(this, cullMin.x, cullMin.y, cullMin.z, cullMax.x, cullMax.y, cullMax.z); + fopAcM_setCullSizeFar(this, 10.0f); + return 1; +} + +int daObjCube_c::CreateHeap() { + char resName[40]; + getBmdName(resName); + + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName[mShape], resName); + JUT_ASSERT(581, modelData != NULL); + mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); + if (mpModel == NULL) { + return 0; + } + + return 1; +} + +int daObjCube_c::create() { + fopAcM_ct(this, daObjCube_c); + + mShape = daObjCube_prm::getShape(this); + mNameArg = daObjCube_prm::getNameArg(this); + + int phase_state = dComIfG_resLoad(&mPhase, l_arcName[mShape]); + if (phase_state == cPhs_COMPLEATE_e) { + char resName[32]; + getDzbName(resName); + + int dzb_id = dComIfG_getObjctResName2Index(l_arcName[mShape], resName); + JUT_ASSERT(621, dzb_id != -1); + + phase_state = MoveBGCreate(l_arcName[mShape], dzb_id, NULL, 0xC10, NULL); + if (phase_state == cPhs_ERROR_e) { + return phase_state; + } + + MoveBGExecute(); + l_HIO.entryHIO("テスト立方体"); + } + + return phase_state; +} + +int daObjCube_c::Execute(Mtx** param_0) { + u8 arg0 = daObjCube_prm::getArg0(this); + u8 sw = daObjCube_prm::getSwitch(this); + BOOL isSwitch = fopAcM_isSwitch(this, sw); + + if (sw != 0xFF) { + if (arg0 == 0) { + if (isSwitch) { + if (mpBgW->ChkUsed()) { + if (dComIfG_Bgsp().Release(mpBgW)) { + OSReport_Error("テスト立方体:MoveBG解除に失敗しました\n"); + } + } + + field_0x5b6 = 1; + } else { + if (!mpBgW->ChkUsed()) { + if (dComIfG_Bgsp().Regist(mpBgW, this)) { + OSReport_Error("テスト立方体:MoveBG登録に失敗しました\n"); + } + } + + field_0x5b6 = 0; + } + } else { + if (isSwitch) { + if (!mpBgW->ChkUsed()) { + if (dComIfG_Bgsp().Regist(mpBgW, this)) { + OSReport_Error("テスト立方体:MoveBG登録に失敗しました\n"); + } + } + + field_0x5b6 = 0; + } else { + if (mpBgW->ChkUsed()) { + if (dComIfG_Bgsp().Release(mpBgW)) { + OSReport_Error("テスト立方体:MoveBG解除に失敗しました\n"); + } + } + + field_0x5b6 = 1; + } + } + } + + *param_0 = &mBgMtx; + return 1; +} + +int daObjCube_c::Draw() { + if (field_0x5b6) { + return 1; + } + + g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr); + + u8 arg = mNameArg; + if (arg == 100) { + arg = 0; + } + + J3DModelData* modelData = mpModel->getModelData(); + for (u16 i = 0; i < modelData->getMaterialNum(); i++) { + J3DMaterial* material = modelData->getMaterialNodePointer(i); + J3DGXColor* tevColor = material->getTevKColor(3); + tevColor->r = l_HIO.mColor[arg].r; + tevColor->g = l_HIO.mColor[arg].g; + tevColor->b = l_HIO.mColor[arg].b; + tevColor->a = l_HIO.mColor[arg].a; + } + + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + return 1; +} + +int daObjCube_c::Delete() { + dComIfG_resDelete(&mPhase, l_arcName[mShape]); + l_HIO.removeHIO(); + return 1; +} + +static int daObjCube_Draw(daObjCube_c* i_this) { + return i_this->MoveBGDraw(); +} + +static int daObjCube_Execute(daObjCube_c* i_this) { + return i_this->MoveBGExecute(); +} + +static int daObjCube_Delete(daObjCube_c* i_this) { + fpc_ProcID id = fopAcM_GetID(i_this); + return i_this->MoveBGDelete(); +} + +static int daObjCube_Create(fopAc_ac_c* actor) { + daObjCube_c* i_this = (daObjCube_c*)actor; + fpc_ProcID id = fopAcM_GetID(actor); + return i_this->create(); +} + +static actor_method_class l_daObjCube_Method = { + (process_method_func)daObjCube_Create, + (process_method_func)daObjCube_Delete, + (process_method_func)daObjCube_Execute, + (process_method_func)NULL, + (process_method_func)daObjCube_Draw, +}; +#endif + +#if DEBUG +#define OBJCUBE_METHODS &l_daObjCube_Method +#else +#define OBJCUBE_METHODS NULL +#endif + +actor_process_profile_definition g_profile_Obj_TestCube = { + fpcLy_CURRENT_e, // mLayerID + 3, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_Obj_TestCube, // mProcName + &g_fpcLf_Method.base, // sub_method + sizeof(daObjCube_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 442, // mPriority + OBJCUBE_METHODS, // sub_method + 0x00040100, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; diff --git a/src/d/actor/d_a_obj_thdoor.cpp b/src/d/actor/d_a_obj_thdoor.cpp index ec063f21cd..4eaf0e247d 100644 --- a/src/d/actor/d_a_obj_thdoor.cpp +++ b/src/d/actor/d_a_obj_thdoor.cpp @@ -18,7 +18,7 @@ daObjThDoor_HIO_c::daObjThDoor_HIO_c() { void daObjThDoor_HIO_c::genMessage(JORMContext* ctx) { // Telma's door - ctx->genLabel("テルマの家のドア", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("テルマの家のドア", 0); } static daObjThDoor_HIO_c l_HIO; diff --git a/src/d/actor/d_a_obj_tks.cpp b/src/d/actor/d_a_obj_tks.cpp index c921014d4d..f01ec869f7 100644 --- a/src/d/actor/d_a_obj_tks.cpp +++ b/src/d/actor/d_a_obj_tks.cpp @@ -206,7 +206,7 @@ int daObjTks_c::CreateHeap() { } int daObjTks_c::Delete() { - fpc_ProcID id = fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this, "OBJ_TKS"); this->~daObjTks_c(); return 1; } diff --git a/src/d/actor/d_a_obj_tobyhouse.cpp b/src/d/actor/d_a_obj_tobyhouse.cpp index beee845586..ae0b860467 100644 --- a/src/d/actor/d_a_obj_tobyhouse.cpp +++ b/src/d/actor/d_a_obj_tobyhouse.cpp @@ -27,16 +27,12 @@ daObjTobyHouse_HIO_c::daObjTobyHouse_HIO_c() { void daObjTobyHouse_HIO_c::genMessage(JORMContext* ctx) { // Toby's Cannon Shed - ctx->genLabel("トビー大砲小屋", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("揺れ周期", &mShakingCycle, 0, 8000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider("揺れ振幅", &mShakingAmplitude, 0.0f, 500.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genSlider("LOD距離", &mLODDistance, 0.0f, 100000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - ctx->genCheckBox("ホークアイ中LOD", &mHawkeyeMediumLOD, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - ctx->genCheckBox("コリジョン描画", &mDrawCollision, 1, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genLabel("トビー大砲小屋", 0); + ctx->genSlider("揺れ周期", &mShakingCycle, 0, 8000); + ctx->genSlider("揺れ振幅", &mShakingAmplitude, 0.0f, 500.0f); + ctx->genSlider("LOD距離", &mLODDistance, 0.0f, 100000.0f); + ctx->genCheckBox("ホークアイ中LOD", &mHawkeyeMediumLOD, 0x1); + ctx->genCheckBox("コリジョン描画", &mDrawCollision, 0x1); } #endif diff --git a/src/d/actor/d_a_obj_tombo.cpp b/src/d/actor/d_a_obj_tombo.cpp index 574a3cb274..4dcf667b72 100644 --- a/src/d/actor/d_a_obj_tombo.cpp +++ b/src/d/actor/d_a_obj_tombo.cpp @@ -22,16 +22,13 @@ public: #if DEBUG void genMessage(JORMContext* context) { // Golden dragonfly - context->genLabel("黄金蟲(トンボ)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + context->genLabel("黄金蟲(トンボ)", 0x80000001); // Model Scale (male) - context->genSlider("モデルスケール(オス)", &mFemaleModelScale, 0.1f, 4.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + context->genSlider("モデルスケール(オス)", &mFemaleModelScale, 0.1f, 4.0f); // Model Scale (female) - context->genSlider("モデルスケール(メス)", &mMaleModelScale, 0.1f, 4.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + context->genSlider("モデルスケール(メス)", &mMaleModelScale, 0.1f, 4.0f); // btk speed - context->genSlider("btkスピード", &mBtkSpeed, 0.0f, 4.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + context->genSlider("btkスピード", &mBtkSpeed, 0.0f, 4.0f); } #endif diff --git a/src/d/actor/d_a_obj_twGate.cpp b/src/d/actor/d_a_obj_twGate.cpp index 733451be37..82053130a6 100644 --- a/src/d/actor/d_a_obj_twGate.cpp +++ b/src/d/actor/d_a_obj_twGate.cpp @@ -31,7 +31,7 @@ daTwGate_HIO_c::daTwGate_HIO_c() { #if DEBUG void daTwGate_HIO_c::genMessage(JORMContext* ctx) { // Range - ctx->genSlider("範囲", &mRange, 0.0f, 500000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("範囲", &mRange, 0.0f, 500000.0f); } #endif @@ -207,7 +207,8 @@ static int daTwGate_Delete(daTwGate_c* i_this) { } static int daTwGate_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daTwGate_c, i_this, "daTwGate"); + daTwGate_c* a_this = (daTwGate_c*)i_this; + fopAcM_RegisterCreateID(i_this, "daTwGate"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_udoor.cpp b/src/d/actor/d_a_obj_udoor.cpp index 4cdc971875..43cd6e35b9 100644 --- a/src/d/actor/d_a_obj_udoor.cpp +++ b/src/d/actor/d_a_obj_udoor.cpp @@ -107,7 +107,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daObj_Udoor_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObj_Udoor_Create(fopAc_ac_c* i_this) { static dCcD_SrcSph cc_sph_src = { { {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj @@ -123,7 +123,7 @@ static cPhs__Step daObj_Udoor_Create(fopAc_ac_c* i_this) { fopAcM_ct(i_this, obj_udoor_class); obj_udoor_class* a_this = static_cast(i_this); - cPhs__Step phase_state = (cPhs__Step)dComIfG_resLoad(&a_this->mPhase, "Obj_udoor"); + cPhs_Step phase_state = dComIfG_resLoad(&a_this->mPhase, "Obj_udoor"); if (phase_state == cPhs_COMPLEATE_e) { a_this->field_0x570 = fopAcM_GetParam(a_this); if (a_this->field_0x570 == 0xff) { diff --git a/src/d/actor/d_a_obj_vground.cpp b/src/d/actor/d_a_obj_vground.cpp index 9940fcfb93..47dae42331 100644 --- a/src/d/actor/d_a_obj_vground.cpp +++ b/src/d/actor/d_a_obj_vground.cpp @@ -125,7 +125,8 @@ static int daObjVGnd_Delete(daObjVGnd_c* i_this) { } static int daObjVGnd_Create(fopAc_ac_c* i_this) { - fopAcM_RegisterCreateID(daObjVGnd_c, i_this, "Sample"); + daObjVGnd_c* a_this = (daObjVGnd_c*)i_this; + fopAcM_RegisterCreateID(i_this, "Sample"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_waterGate.cpp b/src/d/actor/d_a_obj_waterGate.cpp index d5b98afc33..e20204e937 100644 --- a/src/d/actor/d_a_obj_waterGate.cpp +++ b/src/d/actor/d_a_obj_waterGate.cpp @@ -26,7 +26,7 @@ daWtGate_HIO_c::daWtGate_HIO_c() { #if DEBUG void daWtGate_HIO_c::genMessage(JORMContext* ctx) { // "Maximum speed" - ctx->genSlider("最大速度", &mMaxSpeed, 0.1, 500.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider("最大速度", &mMaxSpeed, 0.1, 500.0); } #endif @@ -49,10 +49,10 @@ int daWtGate_c::CreateHeap() { return 1; } -cPhs__Step daWtGate_c::create() { +cPhs_Step daWtGate_c::create() { fopAcM_ct(this, daWtGate_c); - const cPhs__Step resPhase = static_cast(dComIfG_resLoad(&mPhase, "S_Zsuimon")); + const cPhs_Step resPhase = static_cast(dComIfG_resLoad(&mPhase, "S_Zsuimon")); if(resPhase == cPhs_COMPLEATE_e) { if(MoveBGCreate("S_Zsuimon", 7, dBgS_MoveBGProc_TypicalRotY, 0xE00, NULL) == cPhs_ERROR_e) return cPhs_ERROR_e; @@ -196,13 +196,13 @@ static int daWtGate_Execute(daWtGate_c* i_this) { } static int daWtGate_Delete(daWtGate_c* i_this) { - const fpc_ProcID procID = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "daWtGate"); return i_this->MoveBGDelete(); } static int daWtGate_Create(fopAc_ac_c* i_this) { daWtGate_c* const waterGate = static_cast(i_this); - const fpc_ProcID procID = fopAcM_GetID(i_this); + fopAcM_RegisterCreateID(i_this, "daWtGate"); return waterGate->create(); } diff --git a/src/d/actor/d_a_obj_waterPillar.cpp b/src/d/actor/d_a_obj_waterPillar.cpp index 5dd8545e19..65abe22e5c 100644 --- a/src/d/actor/d_a_obj_waterPillar.cpp +++ b/src/d/actor/d_a_obj_waterPillar.cpp @@ -119,9 +119,9 @@ dCcD_SrcCps daWtPillar_c::mCcDCps = { dCcD_SrcCyl daWtPillar_c::mCcDCyl = {daWtPillar_c::mCcDObjCoInfo}; -cPhs__Step daWtPillar_c::create() { +cPhs_Step daWtPillar_c::create() { fopAcM_ct(this, daWtPillar_c); - const cPhs__Step phase = static_cast(dComIfG_resLoad(&mPhase, "efWater")); + const cPhs_Step phase = static_cast(dComIfG_resLoad(&mPhase, "efWater")); if(phase == cPhs_COMPLEATE_e) { if(!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x2000)) diff --git a/src/d/actor/d_a_obj_waterfall.cpp b/src/d/actor/d_a_obj_waterfall.cpp index 2f12cacf8b..1ce008500b 100644 --- a/src/d/actor/d_a_obj_waterfall.cpp +++ b/src/d/actor/d_a_obj_waterfall.cpp @@ -175,7 +175,7 @@ static dCcD_SrcCyl l_cyl_src = { } }; -cPhs__Step daObjWaterFall_c::Create() { +cPhs_Step daObjWaterFall_c::Create() { initBaseMtx(); mCylColliderStts.Init(0, 0xFF, this); @@ -244,7 +244,7 @@ actor_process_profile_definition g_profile_Obj_WaterFall = { fopAc_CULLBOX_CUSTOM_e, // cullType }; -cPhs__Step daObjWaterFall_c::create() { +cPhs_Step daObjWaterFall_c::create() { fopAcM_ct(this, daObjWaterFall_c); if(Create() == cPhs_INIT_e) { diff --git a/src/d/actor/d_a_obj_wchain.cpp b/src/d/actor/d_a_obj_wchain.cpp index f3555cdff7..d812cc0040 100644 --- a/src/d/actor/d_a_obj_wchain.cpp +++ b/src/d/actor/d_a_obj_wchain.cpp @@ -30,10 +30,10 @@ static int daObjWchain_createHeap(fopAc_ac_c* i_this) { return static_cast(i_this)->createHeap(); } -cPhs__Step daObjWchain_c::create() { +cPhs_Step daObjWchain_c::create() { fopAcM_ct(this, daObjWchain_c); mSw = fopAcM_GetParam(this) & 0xff; - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_COMPLEATE_e) { mRepeatable = (fopAcM_GetParam(this) >> 8) & 0xf; if (mRepeatable == 0xf) { @@ -82,7 +82,7 @@ cPhs__Step daObjWchain_c::create() { return step; } -static cPhs__Step daObjWchain_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObjWchain_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_wdStick.cpp b/src/d/actor/d_a_obj_wdStick.cpp index af9a3d9dc3..d7e5275460 100644 --- a/src/d/actor/d_a_obj_wdStick.cpp +++ b/src/d/actor/d_a_obj_wdStick.cpp @@ -73,7 +73,7 @@ int daWdStick_c::create() { mSph2.SetStts(&mStts); fopAcM_OnCarryType(this, fopAcM_CARRY_UNK_30); cLib_onBit(attention_info.flags, fopAc_AttnFlag_CARRY_e); - attention_info.distances[4] = 59; + attention_info.distances[fopAc_attn_CARRY_e] = 59; misCarrying = fopAcM_checkCarryNow(this); mode_init_wait(); } diff --git a/src/d/actor/d_a_obj_wind_stone.cpp b/src/d/actor/d_a_obj_wind_stone.cpp index 51afb23173..5a1c51639f 100644 --- a/src/d/actor/d_a_obj_wind_stone.cpp +++ b/src/d/actor/d_a_obj_wind_stone.cpp @@ -8,7 +8,7 @@ #include "d/actor/d_a_obj_wind_stone.h" #include "d/actor/d_a_alink.h" #include "d/d_meter2_info.h" -#include "dolphin/types.h" +#include static int daWindStone_c_createHeap(fopAc_ac_c* i_this) { return static_cast(i_this)->createHeap(); diff --git a/src/d/actor/d_a_obj_window.cpp b/src/d/actor/d_a_obj_window.cpp index cad92fc8dc..fe74f440de 100644 --- a/src/d/actor/d_a_obj_window.cpp +++ b/src/d/actor/d_a_obj_window.cpp @@ -80,14 +80,14 @@ int daObjWindow_c::CreateHeap() { return 1; } -cPhs__Step daObjWindow_c::create1st() { +cPhs_Step daObjWindow_c::create1st() { mType = getType(); if (mType == 0xff) { mType = 0; } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_COMPLEATE_e) { - step = (cPhs__Step)MoveBGCreate(l_arcName, 12, NULL, 0xee0, NULL); + step = MoveBGCreate(l_arcName, 12, NULL, 0xee0, NULL); if (step == cPhs_ERROR_e) { return step; } @@ -152,7 +152,7 @@ int daObjWindow_c::Delete() { return 1; } -static cPhs__Step daObjWindow_create1st(daObjWindow_c* i_this) { +static cPhs_Step daObjWindow_create1st(daObjWindow_c* i_this) { fopAcM_ct(i_this, daObjWindow_c); return i_this->create1st(); } diff --git a/src/d/actor/d_a_obj_wood_statue.cpp b/src/d/actor/d_a_obj_wood_statue.cpp index cb28097ce8..9880530c81 100644 --- a/src/d/actor/d_a_obj_wood_statue.cpp +++ b/src/d/actor/d_a_obj_wood_statue.cpp @@ -22,11 +22,10 @@ public: void genMessage(JORMContext* context) { // Wooden Statue - context->genLabel("木彫りの像", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + context->genLabel("木彫りの像", 0); // Respawn timer - context->genSlider("全滅後の出現タイマー", &mRespawnTimer, 0, 200, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + context->genSlider("全滅後の出現タイマー", &mRespawnTimer, 0, 200); } u8 mRespawnTimer; @@ -447,21 +446,22 @@ int daObjWStatue_c::_delete() { return 1; } -static int daObjWStatue_Draw(daObjWStatue_c * i_this) { +static int daObjWStatue_Draw(daObjWStatue_c* i_this) { return i_this->draw(); } -static int daObjWStatue_Execute(daObjWStatue_c * i_this) { +static int daObjWStatue_Execute(daObjWStatue_c* i_this) { return i_this->execute(); } -static int daObjWStatue_Delete(daObjWStatue_c * i_this) { +static int daObjWStatue_Delete(daObjWStatue_c* i_this) { fopAcM_RegisterDeleteID(i_this, "ObjLife"); return i_this->_delete(); } -static int daObjWStatue_Create(fopAc_ac_c * i_this) { - fopAcM_RegisterCreateID(daObjWStatue_c, i_this, "ObjLife"); +static int daObjWStatue_Create(fopAc_ac_c* i_this) { + daObjWStatue_c* a_this = (daObjWStatue_c*)i_this; + fopAcM_RegisterCreateID(i_this, "ObjLife"); return a_this->create(); } diff --git a/src/d/actor/d_a_obj_yel_bag.cpp b/src/d/actor/d_a_obj_yel_bag.cpp index 08ba1d64e0..7978853190 100644 --- a/src/d/actor/d_a_obj_yel_bag.cpp +++ b/src/d/actor/d_a_obj_yel_bag.cpp @@ -152,7 +152,7 @@ int daObj_YBag_c::Execute() { int local_8c = fopAcM_checkCarryNow(this) != 0; scale.set(mpHIO->m.field_0x08, mpHIO->m.field_0x08, mpHIO->m.field_0x08); attention_info.flags = 0; - attention_info.distances[4] = 6; + attention_info.distances[fopAc_attn_CARRY_e] = 6; mAcchCir.SetWallR(mpHIO->m.field_0x1c); mAcchCir.SetWallH(mpHIO->m.field_0x18); gravity = mpHIO->m.field_0x04; diff --git a/src/d/actor/d_a_obj_yobikusa.cpp b/src/d/actor/d_a_obj_yobikusa.cpp index 5cc08c8baa..ad24f8ddf3 100644 --- a/src/d/actor/d_a_obj_yobikusa.cpp +++ b/src/d/actor/d_a_obj_yobikusa.cpp @@ -380,7 +380,7 @@ static int daObjYobikusa_Delete(daObjYobikusa_c* i_this) { return TRUE; } -cPhs__Step daObjYobikusa_c::create() { +cPhs_Step daObjYobikusa_c::create() { fopAcM_ct(this, daObjYobikusa_c); switch (getType()) { @@ -396,7 +396,7 @@ cPhs__Step daObjYobikusa_c::create() { break; } - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, mResName); + cPhs_Step step = dComIfG_resLoad(&mPhase, mResName); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x1080)) { step = cPhs_ERROR_e; diff --git a/src/d/actor/d_a_obj_ystone.cpp b/src/d/actor/d_a_obj_ystone.cpp index 70db783150..09d38e6d8c 100644 --- a/src/d/actor/d_a_obj_ystone.cpp +++ b/src/d/actor/d_a_obj_ystone.cpp @@ -244,11 +244,11 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -static cPhs__Step daObj_Ystone_Create(fopAc_ac_c* i_this) { +static cPhs_Step daObj_Ystone_Create(fopAc_ac_c* i_this) { obj_ystone_class* _this = static_cast(i_this); fopAcM_ct(_this, obj_ystone_class); _this->mLevel = getNowLevel() - 1; - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhaseReq, l_arcName[_this->mLevel]); + cPhs_Step step = dComIfG_resLoad(&_this->mPhaseReq, l_arcName[_this->mLevel]); if (step == cPhs_COMPLEATE_e) { if (_this->mLevel < 3) { diff --git a/src/d/actor/d_a_obj_zrTurara.cpp b/src/d/actor/d_a_obj_zrTurara.cpp index caa2a7e123..9e9767db06 100644 --- a/src/d/actor/d_a_obj_zrTurara.cpp +++ b/src/d/actor/d_a_obj_zrTurara.cpp @@ -75,11 +75,11 @@ int daZrTurara_c::CreateHeap() { return 1; } -cPhs__Step daZrTurara_c::create() { +cPhs_Step daZrTurara_c::create() { fopAcM_ct(this, daZrTurara_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, "M_DrpRock"); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, "M_DrpRock"); if (step == cPhs_COMPLEATE_e) { - cPhs__Step bg_step = (cPhs__Step)MoveBGCreate("M_DrpRock", 9, dBgS_MoveBGProc_TypicalRotY, + cPhs_Step bg_step = MoveBGCreate("M_DrpRock", 9, dBgS_MoveBGProc_TypicalRotY, 0x2800, NULL); if (bg_step == cPhs_ERROR_e) { return cPhs_ERROR_e; @@ -248,7 +248,7 @@ static int daZrTurara_Delete(daZrTurara_c* i_this) { return i_this->MoveBGDelete(); } -static cPhs__Step daZrTurara_Create(fopAc_ac_c* i_this) { +static cPhs_Step daZrTurara_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_zrTuraraRock.cpp b/src/d/actor/d_a_obj_zrTuraraRock.cpp index 90fc794a69..b4706929da 100644 --- a/src/d/actor/d_a_obj_zrTuraraRock.cpp +++ b/src/d/actor/d_a_obj_zrTuraraRock.cpp @@ -56,9 +56,9 @@ int daZrTuraRc_c::CreateHeap() { return 1; } -cPhs__Step daZrTuraRc_c::create() { +cPhs_Step daZrTuraRc_c::create() { fopAcM_ct(this, daZrTuraRc_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, "M_DRockHn"); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, "M_DRockHn"); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x840)) { return cPhs_ERROR_e; @@ -165,7 +165,7 @@ static int daZrTuraRc_Delete(daZrTuraRc_c* i_this) { return i_this->Delete(); } -static cPhs__Step daZrTuraRc_Create(fopAc_ac_c* i_this) { +static cPhs_Step daZrTuraRc_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_obj_zra_freeze.cpp b/src/d/actor/d_a_obj_zra_freeze.cpp index 833fd4317b..9c0ed17e93 100644 --- a/src/d/actor/d_a_obj_zra_freeze.cpp +++ b/src/d/actor/d_a_obj_zra_freeze.cpp @@ -51,14 +51,14 @@ static int createSolidHeap(fopAc_ac_c* i_this) { return static_cast(i_this)->CreateHeap(); } -cPhs__Step daZraFreeze_c::Create() { +cPhs_Step daZraFreeze_c::Create() { fopAcM_ct(this, daZraFreeze_c); field_0x5b0 = (fopAcM_GetParam(this) >> 8) & 0xff; field_0x5b1 = (fopAcM_GetParam(this) >> 0x10) & 0xff; field_0x5b2 = (fopAcM_GetParam(this) >> 0x18) & 0xff; mMapToolId = fopAcM_GetParam(this) & 0xff; mEventId = -1; - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x1540)) { return cPhs_ERROR_e; @@ -187,7 +187,7 @@ static int daZraFreeze_Delete(daZraFreeze_c* i_this) { return i_this->Delete(); } -static cPhs__Step daZraFreeze_create(fopAc_ac_c* i_this) { +static cPhs_Step daZraFreeze_create(fopAc_ac_c* i_this) { return static_cast(i_this)->Create(); } diff --git a/src/d/actor/d_a_obj_zra_rock.cpp b/src/d/actor/d_a_obj_zra_rock.cpp index 01613adc52..91eea51192 100644 --- a/src/d/actor/d_a_obj_zra_rock.cpp +++ b/src/d/actor/d_a_obj_zra_rock.cpp @@ -71,14 +71,14 @@ int daObjZraRock_c::CreateHeap() { return 1; } -cPhs__Step daObjZraRock_c::create() { +cPhs_Step daObjZraRock_c::create() { fopAcM_ct(this, daObjZraRock_c); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + cPhs_Step step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { return cPhs_ERROR_e; } else if (step == cPhs_COMPLEATE_e) { int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "H_ZoraRock.dzb"); - step = (cPhs__Step)MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_Trans, 0x2050, NULL); + step = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_Trans, 0x2050, NULL); if (dComIfGs_isSwitch((fopAcM_GetParam(this) >> 8) & 0xff, fopAcM_GetRoomNo(this))) { step = cPhs_ERROR_e; } @@ -136,7 +136,7 @@ static int daObjZraRock_Delete(daObjZraRock_c* i_this) { return i_this->MoveBGDelete(); } -static cPhs__Step daObjZraRock_create(fopAc_ac_c* i_this) { +static cPhs_Step daObjZraRock_create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_peru.cpp b/src/d/actor/d_a_peru.cpp index ebceb11bf0..fd4e5716bf 100644 --- a/src/d/actor/d_a_peru.cpp +++ b/src/d/actor/d_a_peru.cpp @@ -341,7 +341,7 @@ int daPeru_c::isDelete() { void daPeru_c::reset() { initialize(); attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(mpHIO->m.inner.field_0x4C, mpHIO->m.inner.field_0x4E); - attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[0]; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(mpHIO->m.inner.field_0x48, mpHIO->m.inner.field_0x4A); attention_info.flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; scale.setall(mpHIO->m.inner.field_0x08); @@ -376,7 +376,7 @@ void daPeru_c::setParam() { attention_info.flags = 0; } attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(mpHIO->m.inner.field_0x4C, mpHIO->m.inner.field_0x4E); - attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[0]; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(mpHIO->m.inner.field_0x48, mpHIO->m.inner.field_0x4A); scale.setall(mpHIO->m.inner.field_0x08); mCcStts.SetWeight(mpHIO->m.inner.field_0x10); diff --git a/src/d/actor/d_a_player.cpp b/src/d/actor/d_a_player.cpp index dacbcd0735..8d9a056c4a 100644 --- a/src/d/actor/d_a_player.cpp +++ b/src/d/actor/d_a_player.cpp @@ -33,8 +33,7 @@ void daPy_frameCtrl_c::updateFrame() { offNowSetFlg(); } -void daPy_frameCtrl_c::setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32 i_rate, - f32 i_frame) { +void daPy_frameCtrl_c::setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32 i_rate, f32 i_frame) { setAttribute(i_attribute); setEnd(i_end); setRate(i_rate); @@ -50,15 +49,15 @@ void daPy_frameCtrl_c::setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32 offEndFlg(); } -void daPy_boomerangMove_c::initOffset(cXyz const* i_offset) { +void daPy_boomerangMove_c::initOffset(const cXyz* i_pos) { daBoomerang_c* boomerang_p = daPy_py_c::getThrowBoomerangActor(); if (boomerang_p != NULL) { - bgCheckAfterOffset(i_offset); + bgCheckAfterOffset(i_pos); boomerang_p->onWindCatch(); } else { - field_0x4 = cM_rndF(70.0f) + 30.0f; - field_0x8 = cM_rndF(50.0f) + 50.0f; + m_offsetY = cM_rndF(70.0f) + 30.0f; + m_offsetXZ = cM_rndF(50.0f) + 50.0f; field_0x2 = cM_rndF(65536.0f); } @@ -71,20 +70,20 @@ s16 daPy_boomerangMove_c::m_dropAngleY; s16 daPy_boomerangMove_c::m_eventKeepFlg; -int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param_2, s16 param_3) { +int daPy_boomerangMove_c::posMove(cXyz* o_pos, s16* o_rotY, fopAc_ac_c* i_objActor, s16 i_rotStep) { daBoomerang_c* boomerang_p = daPy_py_c::getThrowBoomerangActor(); - field_0x2 -= param_3; - *param_1 -= param_3; + field_0x2 -= i_rotStep; + *o_rotY -= i_rotStep; - if (field_0x8 > 300.0f) { - field_0x8 = 300.0f; + if (m_offsetXZ > 300.0f) { + m_offsetXZ = 300.0f; } - if (field_0x4 < -700.0f) { - field_0x4 = -700.0f; - } else if (field_0x4 > 50.0f) { - field_0x4 = 50.0f; + if (m_offsetY < -700.0f) { + m_offsetY = -700.0f; + } else if (m_offsetY > 50.0f) { + m_offsetY = 50.0f; } if (boomerang_p != NULL) { @@ -98,39 +97,39 @@ int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param return 0; } - param_0->set(boomerang_p->current.pos.x + field_0x8 * cM_ssin(field_0x2), - boomerang_p->current.pos.y + field_0x4, - boomerang_p->current.pos.z + field_0x8 * cM_scos(field_0x2)); + o_pos->set(boomerang_p->current.pos.x + m_offsetXZ * cM_ssin(field_0x2), + boomerang_p->current.pos.y + m_offsetY, + boomerang_p->current.pos.z + m_offsetXZ * cM_scos(field_0x2)); boomerang_p->onWindCatch(); return 1; } daAlink_c* player_p = daAlink_getAlinkActorClass(); - if ((param_2 == NULL || !player_p->checkBoomerangCarry(param_2)) && + if ((i_objActor == NULL || !player_p->checkBoomerangCarry(i_objActor)) && (m_eventKeepFlg == 0 || field_0x0 != 0)) { s16 tmp = (m_dropAngleY + player_p->shape_angle.y) + cM_rndF(2048.0f); - param_0->x = player_p->current.pos.x + field_0x8 * cM_ssin(tmp); - param_0->z = player_p->current.pos.z + field_0x8 * cM_scos(tmp); + o_pos->x = player_p->current.pos.x + m_offsetXZ * cM_ssin(tmp); + o_pos->z = player_p->current.pos.z + m_offsetXZ * cM_scos(tmp); m_dropAngleY += 0x2000; } return 0; } -void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* i_offset) { +void daPy_boomerangMove_c::bgCheckAfterOffset(const cXyz* i_pos) { daBoomerang_c* boomerang_p = daPy_py_c::getThrowBoomerangActor(); if (boomerang_p != NULL) { - field_0x4 = i_offset->y - boomerang_p->current.pos.y; - field_0x8 = boomerang_p->current.pos.absXZ(*i_offset); - field_0x2 = cM_atan2s(i_offset->x - boomerang_p->current.pos.x, - i_offset->z - boomerang_p->current.pos.z); + m_offsetY = i_pos->y - boomerang_p->current.pos.y; + m_offsetXZ = boomerang_p->current.pos.absXZ(*i_pos); + field_0x2 = cM_atan2s(i_pos->x - boomerang_p->current.pos.x, + i_pos->z - boomerang_p->current.pos.z); } } -u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) { - return param_3 | (param_0 & 0x3F | (param_1 & 0x1F) << 0xC | param_2 << 0x18); +u32 daPy_py_c::setParamData(int i_roomNo, int i_mode, int param_2, int param_3) { + return (i_roomNo & 0x3F) | (i_mode & 0x1F) << 0xC | ((param_2 & 0xFF) << 0x18) | param_3; } BOOL daPy_py_c::checkFishingRodItem(int i_itemNo) { @@ -142,16 +141,23 @@ BOOL daPy_py_c::checkBombItem(int i_itemNo) { } BOOL daPy_py_c::checkBottleItem(int i_itemNo) { - return (i_itemNo >= fpcNm_ITEM_EMPTY_BOTTLE && i_itemNo <= fpcNm_ITEM_FAIRY) || i_itemNo == fpcNm_ITEM_BEE_CHILD || - i_itemNo == fpcNm_ITEM_WORM || i_itemNo == fpcNm_ITEM_FAIRY_DROP || i_itemNo == fpcNm_ITEM_CHUCHU_BLACK || - (i_itemNo >= fpcNm_ITEM_CHUCHU_RARE && i_itemNo <= fpcNm_ITEM_LV3_SOUP); + return (i_itemNo >= fpcNm_ITEM_EMPTY_BOTTLE && i_itemNo <= fpcNm_ITEM_FAIRY) + || i_itemNo == fpcNm_ITEM_BEE_CHILD + || i_itemNo == fpcNm_ITEM_WORM + || i_itemNo == fpcNm_ITEM_FAIRY_DROP + || i_itemNo == fpcNm_ITEM_CHUCHU_BLACK + || (i_itemNo >= fpcNm_ITEM_CHUCHU_RARE && i_itemNo <= fpcNm_ITEM_LV3_SOUP); } BOOL daPy_py_c::checkDrinkBottleItem(int i_itemNo) { - return (i_itemNo >= fpcNm_ITEM_RED_BOTTLE && i_itemNo <= fpcNm_ITEM_HALF_MILK_BOTTLE) || i_itemNo == fpcNm_ITEM_RED_BOTTLE_2 || - i_itemNo == fpcNm_ITEM_UGLY_SOUP || i_itemNo == fpcNm_ITEM_HOT_SPRING || i_itemNo == fpcNm_ITEM_BEE_CHILD || - i_itemNo == fpcNm_ITEM_CHUCHU_BLACK || i_itemNo == fpcNm_ITEM_FAIRY_DROP || - (i_itemNo >= fpcNm_ITEM_CHUCHU_RARE && i_itemNo != fpcNm_ITEM_CHUCHU_YELLOW && i_itemNo <= fpcNm_ITEM_LV3_SOUP); + return (i_itemNo >= fpcNm_ITEM_RED_BOTTLE && i_itemNo <= fpcNm_ITEM_HALF_MILK_BOTTLE) + || i_itemNo == fpcNm_ITEM_RED_BOTTLE_2 + || i_itemNo == fpcNm_ITEM_UGLY_SOUP + || i_itemNo == fpcNm_ITEM_HOT_SPRING + || i_itemNo == fpcNm_ITEM_BEE_CHILD + || i_itemNo == fpcNm_ITEM_CHUCHU_BLACK + || i_itemNo == fpcNm_ITEM_FAIRY_DROP + || (i_itemNo >= fpcNm_ITEM_CHUCHU_RARE && i_itemNo != fpcNm_ITEM_CHUCHU_YELLOW && i_itemNo <= fpcNm_ITEM_LV3_SOUP); } BOOL daPy_py_c::checkOilBottleItem(int i_itemNo) { @@ -171,9 +177,13 @@ BOOL daPy_py_c::checkHookshotItem(int i_itemNo) { } BOOL daPy_py_c::checkTradeItem(int i_itemNo) { - return (i_itemNo >= fpcNm_ITEM_LETTER && i_itemNo <= fpcNm_ITEM_IRIAS_PENDANT) || i_itemNo == fpcNm_ITEM_ANCIENT_DOCUMENT || - i_itemNo == fpcNm_ITEM_AIR_LETTER || i_itemNo == fpcNm_ITEM_ANCIENT_DOCUMENT2 || i_itemNo == fpcNm_ITEM_RAFRELS_MEMO || - i_itemNo == fpcNm_ITEM_TKS_LETTER || i_itemNo == fpcNm_ITEM_ASHS_SCRIBBLING; + return (i_itemNo >= fpcNm_ITEM_LETTER && i_itemNo <= fpcNm_ITEM_IRIAS_PENDANT) + || i_itemNo == fpcNm_ITEM_ANCIENT_DOCUMENT + || i_itemNo == fpcNm_ITEM_AIR_LETTER + || i_itemNo == fpcNm_ITEM_ANCIENT_DOCUMENT2 + || i_itemNo == fpcNm_ITEM_RAFRELS_MEMO + || i_itemNo == fpcNm_ITEM_TKS_LETTER + || i_itemNo == fpcNm_ITEM_ASHS_SCRIBBLING; } BOOL daPy_py_c::checkDungeonWarpItem(int i_itemNo) { @@ -181,11 +191,10 @@ BOOL daPy_py_c::checkDungeonWarpItem(int i_itemNo) { } void daPy_actorKeep_c::setActor() { - if (mID != -1) { + if (mID != fpcM_ERROR_PROCESS_ID_e) { mActor = fopAcM_SearchByID(mID); - if (mActor == NULL) { - mID = -1; + mID = fpcM_ERROR_PROCESS_ID_e; } } else { mActor = NULL; @@ -202,7 +211,7 @@ void daPy_actorKeep_c::setData(fopAc_ac_c* i_actor) { } void daPy_actorKeep_c::clearData() { - mID = 0xffffffff; + mID = fpcM_ERROR_PROCESS_ID_e; mActor = NULL; } @@ -243,25 +252,44 @@ void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE i_heapType) { size = 0xA0; } + char* tmpWork; + mDoExt_transAnmBas* tmpTransBas; + J3DAnmTransformKey* tmpTrans; + J3DAnmTexPattern* tmpTp; + J3DAnmTextureSRTKey* tmpTk; + JKRHeap* tmp; mAnimeHeap = mDoExt_createSolidHeapFromGameToCurrent(&tmp, size, 0x20); - + if (i_heapType == 4) { - char* tmpWork = new char[size]; + tmpWork = new char[size]; + JUT_ASSERT(669, tmpWork != NULL); } else if (i_heapType == 3) { - mDoExt_transAnmBas* tmpTransBas = new mDoExt_transAnmBas(NULL); + tmpTransBas = new mDoExt_transAnmBas(NULL); + JUT_ASSERT(672, tmpTransBas != NULL); } else if (i_heapType == 0) { - J3DAnmTransformKey* tmpTrans = new J3DAnmTransformKey(); + tmpTrans = new J3DAnmTransformKey(); + JUT_ASSERT(675, tmpTrans != NULL); } else if (i_heapType == 1) { - J3DAnmTexPattern* tmpTp = new J3DAnmTexPattern(); + tmpTp = new J3DAnmTexPattern(); + JUT_ASSERT(678, tmpTp != NULL); } else { - J3DAnmTextureSRTKey* tmpTk = new J3DAnmTextureSRTKey(); + tmpTk = new J3DAnmTextureSRTKey(); + JUT_ASSERT(681, tmpTk != NULL); } mDoExt_setCurrentHeap(tmp); mDoExt_adjustSolidHeap(mAnimeHeap); } +void daPy_aramBufferCheck(void* i_buffer, u32 i_size) { + daPy_anmHeap_c* heap = (daPy_anmHeap_c*)i_buffer; + if (heap->mBufferSize > i_size) { + OS_REPORT("%x, %x\n", heap->mBufferSize, i_size); + JUT_ASSERT(699, FALSE); + } +} + void* daPy_anmHeap_c::loadData(u16 i_resId) { static const char twglArcName[] = "TWGate_Lk"; static const char twgwArcName[] = "TWGate_Wf"; @@ -278,7 +306,11 @@ void* daPy_anmHeap_c::loadData(u16 i_resId) { }; if (mArcNo == 0xFFFF) { - dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, i_resId); + JKRReadIdxResource(mBuffer, mBufferSize, i_resId, dComIfGp_getAnmArchive()); + #if DEBUG + daPy_aramBufferCheck(mBuffer, mBufferSize); + #endif + JKRHeap* heap = setAnimeHeap(); void* data = J3DAnmLoaderDataBase::load(mBuffer, J3DLOADER_UNK_FLAG0); mDoExt_setCurrentHeap(heap); @@ -293,48 +325,36 @@ void* daPy_anmHeap_c::loadData(u16 i_resId) { } void* daPy_anmHeap_c::loadDataIdx(u16 i_resID) { - void* data; - if (i_resID == mIdx && mArcNo == 0xFFFF) { - data = NULL; - } else { - mIdx = i_resID; - mArcNo = 0xFFFF; - if (mPriIdx == 0xFFFF) { - data = loadData(i_resID); - } else { - data = NULL; - } + return NULL; } - return data; + mIdx = i_resID; + mArcNo = 0xFFFF; + if (mPriIdx == 0xFFFF) { + return loadData(i_resID); + } + + return NULL; } void* daPy_anmHeap_c::loadDataPriIdx(u16 i_resID) { - void* data; - if (i_resID == mPriIdx || mArcNo != 0xFFFF) { - data = NULL; - } else { - mPriIdx = i_resID; - data = loadData(i_resID); + return NULL; } - return data; + mPriIdx = i_resID; + return loadData(i_resID); } void* daPy_anmHeap_c::loadDataDemoRID(u16 i_resID, u16 i_arcNo) { - void* data; - if (i_resID == mIdx && i_arcNo == mArcNo) { - data = NULL; - } else { - mIdx = i_resID; - mArcNo = i_arcNo; - data = loadData(i_resID); + return NULL; } - return data; + mIdx = i_resID; + mArcNo = i_arcNo; + return loadData(i_resID); } JKRHeap* daPy_anmHeap_c::setAnimeHeap() { @@ -370,13 +390,11 @@ void daPy_sightPacket_c::draw() { GXSetTevColor(GX_TEVREG0, reg0); GXSetTevColor(GX_TEVREG1, reg1); - u8 tmp2 = mpImg->mipmapCount; - tmp2 = tmp2 > 1; GXInitTexObj(&texObj, mpData, mpImg->width, mpImg->height, (GXTexFmt)mpImg->format, - (GXTexWrapMode)mpImg->wrapS, (GXTexWrapMode)mpImg->wrapT, (GXBool)(tmp2)); + (GXTexWrapMode)mpImg->wrapS, (GXTexWrapMode)mpImg->wrapT, mpImg->mipmapCount > 1 ? GX_ENABLE : GX_DISABLE); GXInitTexObjLOD(&texObj, GX_LINEAR, GX_LINEAR, 0.0, 0.0, 0.0, GX_FALSE, GX_FALSE, GX_ANISO_1); GXLoadTexObj(&texObj, GX_TEXMAP0); - GXLoadPosMtxImm(field_0x14, GX_PNMTX0); + GXLoadPosMtxImm(mProjMtx, GX_PNMTX0); GXSetCurrentMtx(0); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXCallDisplayList(l_sightDL, 0x80); @@ -389,7 +407,7 @@ void daPy_sightPacket_c::setSight() { mDoLib_project(&mPos, &proj); mDoMtx_stack_c::transS(proj.x, proj.y, proj.z); mDoMtx_stack_c::scaleM(32.0f, 32.0f, 32.0f); - mDoMtx_copy(mDoMtx_stack_c::get(), field_0x14); + mDoMtx_copy(mDoMtx_stack_c::get(), mProjMtx); dComIfGd_set2DXlu(this); } @@ -399,19 +417,12 @@ void daPy_sightPacket_c::setSightImage(ResTIMG* i_img) { } BOOL daPy_py_c::checkMasterSwordEquip() { - u32 equipSword = dComIfGs_getSelectEquipSword(); - bool isMasterSword = false; - - if (equipSword == fpcNm_ITEM_MASTER_SWORD || equipSword == fpcNm_ITEM_LIGHT_SWORD) { - isMasterSword = true; - } - - return isMasterSword; + u16 equipSword = dComIfGs_getSelectEquipSword(); + return equipSword == fpcNm_ITEM_MASTER_SWORD || equipSword == fpcNm_ITEM_LIGHT_SWORD; } BOOL daPy_py_c::checkWoodShieldEquip() { u16 equipShield = dComIfGs_getSelectEquipShield(); - return equipShield == fpcNm_ITEM_WOOD_SHIELD || equipShield == fpcNm_ITEM_SHIELD; } @@ -427,13 +438,12 @@ int daPy_py_c::checkNowWolfEyeUp() { return daAlink_getAlinkActorClass()->checkWolfEyeUp(); } - -void daAlink_c::startRestartRoomFromOut(int param_0, u32 param_1, int param_2) { - startRestartRoom(param_1, param_2, param_0, dComIfGp_event_runCheck()); +void daAlink_c::startRestartRoomFromOut(int i_dmgAmount, u32 i_mode, int param_2) { + startRestartRoom(i_mode, param_2, i_dmgAmount, dComIfGp_event_runCheck()); } -void daPy_py_c::forceRestartRoom(int param_0, u32 param_1, int param_2) { - daAlink_getAlinkActorClass()->startRestartRoomFromOut(param_0, param_1, param_2); +void daPy_py_c::forceRestartRoom(int i_dmgAmount, u32 i_mode, int param_2) { + daAlink_getAlinkActorClass()->startRestartRoomFromOut(i_dmgAmount, i_mode, param_2); } BOOL daPy_py_c::setFmChainPos(fopAc_ac_c* param_0, cXyz* param_1, int param_2) { @@ -448,14 +458,13 @@ void daPy_py_c::setLookPos(cXyz* i_pos) { daAlink_getAlinkActorClass()->setLookPosFromOut(i_pos); } -void daPy_py_c::setPlayerSe(u32 i_sfxID) { - daAlink_getAlinkActorClass()->seStartOnlyReverb(i_sfxID); +void daPy_py_c::setPlayerSe(u32 i_soundID) { + daAlink_getAlinkActorClass()->seStartOnlyReverb(i_soundID); } bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* i_actor) { - return (fopAcM_checkCarryNow(i_actor) && - daPy_getPlayerActorClass()->getGrabActorID() == fopAcM_GetID(i_actor)) && - dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 2); + return (fopAcM_checkCarryNow(i_actor) && daPy_getPlayerActorClass()->getGrabActorID() == fopAcM_GetID(i_actor)) + && dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 2); } bool daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* i_actor) { @@ -463,7 +472,7 @@ bool daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* i_actor) { } bool daPy_py_c::checkRoomRestartStart() { - u8 mode = getLastSceneMode(); + u32 mode = getLastSceneMode(); if (mode == 4 || mode == 8 || mode == 5) { return true; } @@ -472,9 +481,10 @@ bool daPy_py_c::checkRoomRestartStart() { } u32 daPy_py_c::checkCarryStartLightBallA() { - if (checkRoomRestartStart() || !dComIfGp_getStage() || - !dComIfGp_getStage()->getStagInfo() || - dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17) + if (checkRoomRestartStart() + || !dComIfGp_getStage() + || !dComIfGp_getStage()->getStagInfo() + || dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != dStage_SaveTbl_LV8) { return FALSE; } @@ -483,9 +493,10 @@ u32 daPy_py_c::checkCarryStartLightBallA() { } u32 daPy_py_c::checkCarryStartLightBallB() { - if (checkRoomRestartStart() || !dComIfGp_getStage() || - !dComIfGp_getStage()->getStagInfo() || - dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17) + if (checkRoomRestartStart() + || !dComIfGp_getStage() + || !dComIfGp_getStage()->getStagInfo() + || dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != dStage_SaveTbl_LV8) { return FALSE; } @@ -516,22 +527,25 @@ bool daPy_py_c::checkBoomerangCharge() { } bool daPy_py_c::checkBoomerangChargeTime() { - return 0; + return daAlink_getAlinkActorClass()->checkBoomerangChargeNow(); } daBoomerang_c* daPy_py_c::getThrowBoomerangActor() { - return static_cast( - daAlink_getAlinkActorClass()->getThrowBoomerangAcKeep()->getActor()); + return static_cast(daAlink_getAlinkActorClass()->getThrowBoomerangAcKeep()->getActor()); } void daPy_py_c::cancelBoomerangLockActor(fopAc_ac_c* i_actor) { daAlink_getAlinkActorClass()->cancelBoomerangLock(i_actor); } -void daPy_py_c::setPlayerDamage(int i_dmgAmount, int i_setDmgTimer) { +void daPy_py_c::setPlayerDamage(int i_dmgAmount, BOOL i_setDmgTimer) { daAlink_getAlinkActorClass()->setDamagePoint(i_dmgAmount, FALSE, i_setDmgTimer, 0); } +BOOL daPy_py_c::checkAcceptDungeonWarp() { + return daAlink_getAlinkActorClass()->checkAcceptDungeonWarpAlink(1); +} + void daPy_py_c::setMidnaMotionNum(int i_motionNum) { if (m_midnaActor != NULL) { m_midnaActor->setMotionNum(i_motionNum); @@ -563,5 +577,6 @@ int daPy_addCalcShort(s16* i_value, s16 i_target, s16 i_scale, s16 i_maxStep, s1 } } } + return i_target - *i_value; } diff --git a/src/d/actor/d_a_spinner.cpp b/src/d/actor/d_a_spinner.cpp index 26fee719d8..497f8a75d5 100644 --- a/src/d/actor/d_a_spinner.cpp +++ b/src/d/actor/d_a_spinner.cpp @@ -68,7 +68,7 @@ int daSpinner_c::create() { mAcchCir[0].SetWall(50.01f, 58.0f); mAcchCir[1].SetWall(129.99f, 35.0f); - mAcchCir[2].SetWall(player->field_0x598, 35.0f); + mAcchCir[2].SetWall(player->mHeight, 35.0f); mPaPo.init(&mAcch, 85.0f, 85.0f); diff --git a/src/d/actor/d_a_sq.cpp b/src/d/actor/d_a_sq.cpp index 5fa3f83750..a8abcd0134 100644 --- a/src/d/actor/d_a_sq.cpp +++ b/src/d/actor/d_a_sq.cpp @@ -401,11 +401,13 @@ static int message(sq_class* i_this) { if (i_this->mMessageState == 2 && i_this->mFlowID != -1 && daPy_py_c::checkNowWolf()) { fopAcM_OnStatus(i_this, 0); - cLib_onBit(i_this->attention_info.flags, 0xa); + cLib_onBit(i_this->attention_info.flags, + fopAc_AttnFlag_TALK_e | fopAc_AttnFlag_SPEAK_e); i_this->eventInfo.onCondition(1); } else { fopAcM_OffStatus(i_this, 0); - cLib_offBit(i_this->attention_info.flags, 0xa); + cLib_offBit(i_this->attention_info.flags, + fopAc_AttnFlag_TALK_e | fopAc_AttnFlag_SPEAK_e); } return 0; @@ -488,10 +490,10 @@ static int useHeapInit(fopAc_ac_c* i_this) { 1, 0, 1.0f, 0, -1) ? 1 : 0; } -static cPhs__Step daSq_Create(fopAc_ac_c* i_this) { +static cPhs_Step daSq_Create(fopAc_ac_c* i_this) { sq_class* _this = static_cast(i_this); fopAcM_ct(i_this, sq_class); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&_this->mPhaseReq, "Sq"); + cPhs_Step step = dComIfG_resLoad(&_this->mPhaseReq, "Sq"); if (step == cPhs_COMPLEATE_e) { _this->mParam0 = fopAcM_GetParam(_this) & 0xff; diff --git a/src/d/actor/d_a_tag_CstaSw.cpp b/src/d/actor/d_a_tag_CstaSw.cpp index 9d24b13c50..6974c3d5d3 100644 --- a/src/d/actor/d_a_tag_CstaSw.cpp +++ b/src/d/actor/d_a_tag_CstaSw.cpp @@ -6,12 +6,23 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_CstaSw.h" + +#include "d/d_debug_viewer.h" #include "d/d_procname.h" +daTagCstaSw_HIO_c l_HIO; + daTagCstaSw_HIO_c::daTagCstaSw_HIO_c() { - unk_0x4 = 0; + show_range = 0; } +#if DEBUG +void daTagCstaSw_HIO_c::genMessage(JORMContext* ctx) { + // "Show range" + ctx->genCheckBox("範囲表示", &show_range, 1); +} +#endif + void daTagCstaSw_c::setBaseMtx() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); @@ -21,12 +32,20 @@ int daTagCstaSw_c::create() { fopAcM_ct(this, daTagCstaSw_c); mSwitch = getSw(); setBaseMtx(); + +#if DEBUG + // "Stone statue SW tag" + l_HIO.entryHIO("石像SWタグ"); +#endif + return cPhs_COMPLEATE_e; } -fopAc_ac_c* daTagCstaSw_c::searchSekizoAct(void* i_actor, void*) { - if (i_actor && fopAcM_IsActor(i_actor) && fopAcM_GetProfName(i_actor) == PROC_CSTAF) { - return (fopAc_ac_c*)i_actor; +fopAc_ac_c* daTagCstaSw_c::searchSekizoAct(void* i_actor, void* param_1) { + fopAc_ac_c* actor2 = (fopAc_ac_c*)param_1; + fopAc_ac_c* actor = (fopAc_ac_c*)i_actor; + if (actor && fopAcM_IsActor(actor) && fopAcM_GetProfName(actor) == PROC_CSTAF) { + return actor; } return NULL; } @@ -40,7 +59,8 @@ bool daTagCstaSw_c::areaCheck() { } cXyz vec_to_actor = current.pos - sekizo_p->current.pos; - if (vec_to_actor.absXZ() <= scale.x * 100.0f) { + f32 dist_to_actor = vec_to_actor.absXZ(); + if (dist_to_actor <= scale.x * 100.0f) { in_area = true; } @@ -48,7 +68,8 @@ bool daTagCstaSw_c::areaCheck() { } int daTagCstaSw_c::Execute() { - if (areaCheck() == 1) { + bool checkResult = areaCheck(); + if (checkResult == 1) { if (!fopAcM_isSwitch(this, mSwitch)) { fopAcM_onSwitch(this, mSwitch); } @@ -61,10 +82,23 @@ int daTagCstaSw_c::Execute() { } int daTagCstaSw_c::Draw() { +#if DEBUG + if (l_HIO.show_range) { + g_env_light.settingTevStruct(16, ¤t.pos, &tevStr); + + GXColor color = (GXColor){0, 0, 0xff, 0x80}; + dDbVw_drawCylinderXlu(current.pos, scale.x * 100.0f, scale.y * 100.0f, color, 1); + } +#endif + return 1; } int daTagCstaSw_c::Delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + return 1; } @@ -77,17 +111,16 @@ static int daTagCstaSw_Execute(daTagCstaSw_c* i_this) { } static int daTagCstaSw_Delete(daTagCstaSw_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->Delete(); } static int daTagCstaSw_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagCstaSw_c* cstaSw = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return cstaSw->create(); } -daTagCstaSw_HIO_c::~daTagCstaSw_HIO_c() {} - -static daTagCstaSw_HIO_c l_HIO; - static actor_method_class l_daTagCstaSw_Method = { (process_method_func)daTagCstaSw_Create, (process_method_func)daTagCstaSw_Delete, (process_method_func)daTagCstaSw_Execute, (process_method_func)NULL, diff --git a/src/d/actor/d_a_tag_Lv6Gate.cpp b/src/d/actor/d_a_tag_Lv6Gate.cpp index 041a1dab90..caad0162a2 100644 --- a/src/d/actor/d_a_tag_Lv6Gate.cpp +++ b/src/d/actor/d_a_tag_Lv6Gate.cpp @@ -10,29 +10,32 @@ #include "d/actor/d_a_player.h" #include "d/d_procname.h" -static int createSolidHeap(fopAc_ac_c* i_this) { - return static_cast(i_this)->createHeap(); -} - static f32 const l_minRelative[] = {-700.0f, -300.0f, -2000.0f}; static f32 const l_maxRelative[] = {700.0f, 0.0f, 1000.0f}; static char* l_arcName = "Lv6Gate"; -int daTagLv6Gate_c::createHeap() { +static int createSolidHeap(fopAc_ac_c* i_this) { + daTagLv6Gate_c* gate = static_cast(i_this); + return gate->createHeap(); +} + +inline int daTagLv6Gate_c::createHeap() { J3DAnmTextureSRTKey* btk; - J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 15); - mpModel[0] = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000284); + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 15); + JUT_ASSERT(92, modelData != NULL); + mpModel[0] = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000284); if (mpModel[0] == NULL) { return 0; } btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 19); + JUT_ASSERT(100, btk != NULL); mpBtk[0] = new mDoExt_btkAnm(); if (mpBtk[0] == NULL || - !mpBtk[0]->init(model_data, btk, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) + !mpBtk[0]->init(modelData, btk, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return 0; } @@ -42,15 +45,17 @@ int daTagLv6Gate_c::createHeap() { } btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 20); + JUT_ASSERT(108, btk != NULL); mpBtk[1] = new mDoExt_btkAnm(); if (mpBtk[1] == NULL || - !mpBtk[1]->init(model_data, btk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) + !mpBtk[1]->init(modelData, btk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } - model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 16); - mpModel[1] = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084); + modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 16); + JUT_ASSERT(115, modelData != NULL); + mpModel[1] = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); if (mpModel[1] == NULL) { return 0; } @@ -68,7 +73,9 @@ int daTagLv6Gate_c::createHeap() { } static int daTagLv6Gate_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagLv6Gate_c* gate = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return gate->create(); } void daTagLv6Gate_c::initBaseMtx() { @@ -76,13 +83,13 @@ void daTagLv6Gate_c::initBaseMtx() { mDoMtx_stack_c::transS(0.0f, 0.0f, 0.0f); mDoMtx_stack_c::YrotM(0); - MTXCopy(mDoMtx_stack_c::get(), field_0x6f8[0]); + cMtx_copy(mDoMtx_stack_c::get(), field_0x6f8[0]); mpModel[0]->setBaseTRMtx(mDoMtx_stack_c::get()); mBgW[0].Move(); mDoMtx_stack_c::transS(0.0f, 2887.0f, -8330.0f); mDoMtx_stack_c::YrotM(0); - MTXCopy(mDoMtx_stack_c::get(), field_0x6f8[1]); + cMtx_copy(mDoMtx_stack_c::get(), field_0x6f8[1]); mpModel[1]->setBaseTRMtx(mDoMtx_stack_c::get()); mBgW[1].Move(); } @@ -159,27 +166,25 @@ inline int daTagLv6Gate_c::execute() { actor1 = NULL; fopAcM_SearchByID(parentActorID, &actor1); - if (actor1 == NULL) { - break; + if (actor1 != NULL) { + fopAcM_GetOldPosition_p(actor1)->set(pos); + fopAcM_GetPosition_p(actor1)->set(pos); + +#if PLATFORM_GCN + actor2 = NULL; + fopAcM_SearchByName(PROC_NPC_TKC, &actor2); + + if (actor2 == NULL) { + break; + } + + *fopAcM_GetOldPosition_p(actor2) = pos; + *fopAcM_GetPosition_p(actor2) = pos; +#endif } - - 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 '0005': + break; case '0006': fopAcM_onSwitch(this, getSwitchNo2()); mpBtk[0]->setFrame(mpBtk[0]->getEndFrame()); @@ -189,7 +194,9 @@ inline int daTagLv6Gate_c::execute() { fopAcM_delete(parentActorID); break; default: + int unused; // debug: force extra b instruction at end of case JUT_ASSERT(332, FALSE); + break; } } @@ -333,8 +340,8 @@ int daTagLv6Gate_c::draw() { } for (u16 i = 0; i < 2; i++) { - J3DModelData* model_data = mpModel[1]->getModelData(); - model_data->getMaterialNodePointer(i)->getTevKColor(3)->a = field_0x760[i]; + J3DMaterial* material = mpModel[1]->getModelData()->getMaterialNodePointer(i); + material->getTevKColor(3)->a = field_0x760[i]; } g_env_light.setLightTevColorType_MAJI(mpModel[1], &tevStr); @@ -360,6 +367,7 @@ daTagLv6Gate_c::~daTagLv6Gate_c() { } static int daTagLv6Gate_Delete(daTagLv6Gate_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagLv6Gate_c(); return 1; } diff --git a/src/d/actor/d_a_tag_Lv7Gate.cpp b/src/d/actor/d_a_tag_Lv7Gate.cpp index a31bceface..cf402f4848 100644 --- a/src/d/actor/d_a_tag_Lv7Gate.cpp +++ b/src/d/actor/d_a_tag_Lv7Gate.cpp @@ -18,14 +18,16 @@ int daTagLv7Gate_c::createHeap() { return 1; } - J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 11); - mpModel = mDoExt_J3DModel__create(model_data, 0, 0x11000084); + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 11); + JUT_ASSERT(92, modelData != NULL); + mpModel = mDoExt_J3DModel__create(modelData, 0, 0x11000084); if (mpModel == NULL) { return 0; } J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 7); + JUT_ASSERT(100, bck != NULL); mpBck = new mDoExt_bckAnm(); @@ -37,11 +39,14 @@ int daTagLv7Gate_c::createHeap() { } static int createSolidHeap(fopAc_ac_c* i_this) { - return static_cast(i_this)->createHeap(); + daTagLv7Gate_c* gate = static_cast(i_this); + return gate->createHeap(); } static int daTagLv7Gate_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagLv7Gate_c* gate = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return gate->create(); } int daTagLv7Gate_c::create() { @@ -66,48 +71,46 @@ int daTagLv7Gate_c::create() { return phase; } -void daTagLv7Gate_c::setPath(u8 i_path_ID) { +int daTagLv7Gate_c::setPath(int i_path_ID) { mRoomPath = dPath_GetRoomPath(i_path_ID, fopAcM_GetRoomNo(this)); - if (mRoomPath != NULL) { - dPnt* pnt = dPath_GetPnt(mRoomPath, 0); - cXyz pos1 = pnt->m_position; - - pnt = dPath_GetPnt(mRoomPath, 1); - cXyz pos2 = pnt->m_position; - - mPos1 = pos1; - - // Fake match? - s16 angle_y = cLib_targetAngleY(&pos1, &pos2); - // s16 angle_x = cLib_targetAngleX(&pos1, &pos2); - - // field_0x594.set(-angle_x, angle_y, 0); - field_0x594.x = -cLib_targetAngleX(&pos1, &pos2); - // field_0x594.x = -angle_x; - field_0x594.y = angle_y; - field_0x594.z = 0; - - mDistance = sqrtf(PSVECSquareDistance((Vec*)&mPos1, (Vec*)&pos2)); - field_0x5a0 = 1; - mPos2 = pos2; + if (mRoomPath == NULL) { + return 0; } + + cXyz pos1 = dPath_GetPnt(mRoomPath, 0)->m_position; + cXyz pos2 = dPath_GetPnt(mRoomPath, 1)->m_position; + + mPos1.set(pos1); + + field_0x594.set(-cLib_targetAngleX(&pos1, &pos2), cLib_targetAngleY(&pos1, &pos2), 0); + + mDistance = mPos1.abs(pos2); + field_0x5a0 = 1; + mPos2.set(pos2); + + return 1; } void daTagLv7Gate_c::initBaseMtx() { - fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + if (mpModel != NULL) { + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + setBaseMtx(); + } } void daTagLv7Gate_c::setBaseMtx() { - if (mpModel) { - cXyz local_34(0.0f, 0.0f, speedF); - - mDoMtx_stack_c::transS(mPos1); - mDoMtx_stack_c::ZXYrotM((csXyz&)field_0x594); - mDoMtx_stack_c::multVec(&local_34, (Vec*)&mPos1); - MTXCopy(mDoMtx_stack_c::get(), mpModel->mBaseTransformMtx); - - attention_info.position = mPos1; + if (mpModel == NULL) { + return; } + + cXyz local_34(0.0f, 0.0f, speedF); + + mDoMtx_stack_c::transS(mPos1); + mDoMtx_stack_c::ZXYrotM(field_0x594); + mDoMtx_stack_c::multVec(&local_34, &mPos1); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + + attention_info.position = mPos1; } void daTagLv7Gate_c::create_init() { @@ -119,14 +122,11 @@ void daTagLv7Gate_c::create_init() { field_0x5b0 = false; field_0x5b1 = false; - setPath(getPathID() & 0xFF); + setPath(getPathID()); attention_info.position = mPos1; - if (mpModel) { - initBaseMtx(); - setBaseMtx(); - } + initBaseMtx(); // City in the Sky clear if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[268])) { @@ -149,13 +149,9 @@ void daTagLv7Gate_c::create_init() { fopAcM_create(PROC_NPC_TKS, 7, &pos, fopAcM_GetRoomNo(this), &local_54, NULL, -1); - pos.x = 2603.315f; - pos.y = -200.0f; - pos.z = 5485.9224f; + pos.set(2603.315f, -200.0f, 5485.9224f); - local_54.x = 0.0f; - local_54.y = -0x4000; - local_54.z = 0.0f; + local_54.set(0, -0x4000, 0); fopAcM_create(PROC_NPC_TKJ, 0, &pos, fopAcM_GetRoomNo(this), &local_54, NULL, -1); } @@ -163,6 +159,7 @@ void daTagLv7Gate_c::create_init() { eventInfo.setArchiveName(l_arcName); dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); mEvtId = dComIfGp_getEventManager().getEventIdx(this, mEvName, -1); + JUT_ASSERT(204, mEvtId != -1); fopAcM_orderOtherEventId(this, mEvtId, -1, -1, 2, 1); } @@ -187,7 +184,7 @@ void daTagLv7Gate_c::flyAnime() { if (bck_anm == bck_anm_3) { if (field_0x5ac < 150) { - field_0x5ac += 1; + field_0x5ac += (u16)1; if (field_0x5ac >= 150) { bck = bck_anm_4; attribute = J3DFrameCtrl::EMode_NONE; @@ -199,10 +196,7 @@ void daTagLv7Gate_c::flyAnime() { attribute = J3DFrameCtrl::EMode_NONE; } } else { - // } else if (mpBck->isStop()) { - // Fake match? - mDoExt_bckAnm* tmp = mpBck; - if (tmp->isStop()) { + if (mpBck->isStop()) { if (bck_anm == bck_anm_2) { bck = bck_anm_3; attribute = J3DFrameCtrl::EMode_LOOP; @@ -287,46 +281,39 @@ int daTagLv7Gate_c::execute() { return 1; } -bool daTagLv7Gate_c::checkPoint(f32 i_speed) { +bool daTagLv7Gate_c::checkPoint(cXyz& i_point, f32 i_speed) { dPnt* pnt = dPath_GetPnt(mRoomPath, field_0x5a0); mDistance -= i_speed; - if (sqrtf(PSVECSquareDistance((Vec*)&mPos1, (Vec*)&pnt->m_position)) < i_speed || + if (i_point.abs(pnt->m_position) < i_speed || mDistance < 0.0f) { return true; - } + } return false; } bool daTagLv7Gate_c::setNextPoint() { bool bVar1; - dPath_GetPnt(mRoomPath, field_0x5a0); + dPnt* unusedPnt = dPath_GetPnt(mRoomPath, field_0x5a0); + dPnt* pnt; field_0x5a0 += 1; if (field_0x5a0 >= mRoomPath->m_num) { field_0x5a0 = mRoomPath->m_num - 1; mDistance = 0; - bVar1 = true; + return true; } else { - dPnt* pnt = dPath_GetPnt(mRoomPath, field_0x5a0); - - cXyz pos1(mPos1.x, 0.0f, mPos1.z); - - cXyz pos2(pnt->m_position.x, 0.0f, pnt->m_position.z); - - mDistance = sqrtf(PSVECSquareDistance((Vec*)&pos1, (Vec*)&pos2)); - mPos2 = pnt->m_position; - bVar1 = false; + pnt = dPath_GetPnt(mRoomPath, field_0x5a0); + mDistance = mPos1.absXZ(pnt->m_position); + mPos2.set(pnt->m_position); + return false; } - if (bVar1) { - field_0x5b1 = false; - speedF = 0; - } - return bVar1; } void daTagLv7Gate_c::calcFly() { - f32 speed = speedF; - if (checkPoint(speed)) { - setNextPoint(); + if (checkPoint(mPos1, speedF)) { + if (setNextPoint()) { + field_0x5b1 = false; + speedF = 0.0f; + } } s16 angle_x = -cLib_targetAngleX(&mPos1, &mPos2); s16 angle_y = cLib_targetAngleY(&mPos1, &mPos2); @@ -361,6 +348,7 @@ daTagLv7Gate_c::~daTagLv7Gate_c() { } static int daTagLv7Gate_Delete(daTagLv7Gate_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagLv7Gate_c(); return 1; } diff --git a/src/d/actor/d_a_tag_Lv8Gate.cpp b/src/d/actor/d_a_tag_Lv8Gate.cpp index be0e766c7d..892653e6ed 100644 --- a/src/d/actor/d_a_tag_Lv8Gate.cpp +++ b/src/d/actor/d_a_tag_Lv8Gate.cpp @@ -11,7 +11,8 @@ static char* l_arcName = "Lv8Gate"; static int createSolidHeap(fopAc_ac_c* i_this) { - return static_cast(i_this)->createHeap(); + daTagLv8Gate_c* gate = static_cast(i_this); + return gate->createHeap(); } daTagLv8Gate_c::~daTagLv8Gate_c() { @@ -42,22 +43,21 @@ inline void daTagLv8Gate_c::create_init() { inline int daTagLv8Gate_c::create() { fopAcM_ct(this, daTagLv8Gate_c); - cPhs__Step step; - /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ + cPhs_Step step; + /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { - step = cPhs_ERROR_e; + return cPhs_ERROR_e; } else { - step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + step = dComIfG_resLoad(&mPhaseReq, l_arcName); if (step == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x1600)) { - step = cPhs_ERROR_e; + return cPhs_ERROR_e; } else { create_init(); } } + return step; } - - return step; } inline int daTagLv8Gate_c::draw() { @@ -81,18 +81,24 @@ inline int daTagLv8Gate_c::draw() { dComIfGd_setList(); if (mpBck != NULL) { - mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc(NULL); + mpBck->remove(mpModel->getModelData()); } } return TRUE; } +// this function and ::execute seem to be inline, but somehow both this function's .data and .rodata +// are supposed to be placed before ::execute's (.data order is reversed for inline functions but +// .rodata order is not) +// retail function order also suggests that this function comes first int daTagLv8Gate_c::createHeap() { if (strcmp(dComIfGp_getStartStageName(), "D_MN08") == 0) { - J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 8); - mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084); + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 8); + JUT_ASSERT(275, modelData != NULL); + mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 5); + JUT_ASSERT(283, bck != NULL); mpBck = new mDoExt_bckAnm(); if (mpBck == NULL || !mpBck->init(bck, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) @@ -105,15 +111,16 @@ int daTagLv8Gate_c::createHeap() { } static int daTagLv8Gate_Create(fopAc_ac_c* i_this) { - daTagLv8Gate_c* a_this = static_cast(i_this); - return a_this->create(); + daTagLv8Gate_c* gate = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return gate->create(); } static int daTagLv8Gate_Execute(daTagLv8Gate_c* i_this) { return i_this->execute(); } -inline int daTagLv8Gate_c::execute() { +int daTagLv8Gate_c::execute() { if (dComIfGp_event_runCheck() && !eventInfo.checkCommandTalk()) { dEvent_manager_c& eventManager = dComIfGp_getEventManager(); s32 cut_index = eventManager.getMyStaffId(l_arcName, NULL, 0); @@ -132,8 +139,8 @@ inline int daTagLv8Gate_c::execute() { if (mirror_table != NULL) { static_cast(mirror_table)->setEffect(); } - break; } + break; case '0002': dStage_changeScene(getSceneNo(), 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); break; @@ -215,6 +222,7 @@ static int daTagLv8Gate_IsDelete(daTagLv8Gate_c* i_this) { } static int daTagLv8Gate_Delete(daTagLv8Gate_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagLv8Gate_c(); return TRUE; } diff --git a/src/d/actor/d_a_tag_TWgate.cpp b/src/d/actor/d_a_tag_TWgate.cpp index 2d90b9bef3..75d949d4d9 100644 --- a/src/d/actor/d_a_tag_TWgate.cpp +++ b/src/d/actor/d_a_tag_TWgate.cpp @@ -4,12 +4,13 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep -#include "d/actor/d_a_tag_TWgate.h" +#include "JSystem/JUtility/JUTAssert.h" #include "d/actor/d_a_player.h" +#include "d/actor/d_a_tag_TWgate.h" #include "d/d_com_inf_game.h" +#include "d/d_debug_viewer.h" #include "d/d_msg_object.h" #include "f_op/f_op_actor_mng.h" -#include "JSystem/JUtility/JUTAssert.h" struct daTagTWGate_zevParam { /* 0x00 */ char* mArcName; @@ -23,13 +24,11 @@ struct daTagTWGate_zevParam { /* 0x1B */ s8 mLayer; }; -void daTagTWGate_c::initWait() { - mEventID = -1; -} +daTagTWGate_Attr_c const daTagTWGate_c::mAttr = {}; -u8 const daTagTWGate_c::mAttr[1] = { - 0x00, -}; +#if DEBUG +daTagTWGate_Hio_c daTagTWGate_c::mHio; +#endif static daTagTWGate_zevParam const l_zevParamTbl[4] = { { @@ -80,7 +79,7 @@ static daTagTWGate_zevParam const l_zevParamTbl[4] = { static const char* l_myName = "Gate"; -actionFunc daTagTWGate_c::ActionTable[13][2] = { +const actionFunc daTagTWGate_c::ActionTable[][2] = { {&daTagTWGate_c::initWait, &daTagTWGate_c::executeWait}, {&daTagTWGate_c::initDemoFilone1, &daTagTWGate_c::executeDemoFilone1}, {&daTagTWGate_c::initDemoFilone2, &daTagTWGate_c::executeDemoFilone2}, @@ -96,59 +95,117 @@ actionFunc daTagTWGate_c::ActionTable[13][2] = { {&daTagTWGate_c::initDemoHyral3, &daTagTWGate_c::executeDemoHyral3}, }; -void daTagTWGate_c::executeWait() { - f32 radius = pow(scale.x * 100.0f, 2.0f); - f32 distance = fopAcM_searchActorDistanceXZ2(this, (fopAc_ac_c*)dComIfGp_getPlayer(0)); +#if DEBUG +daTagTWGate_Hio_c::daTagTWGate_Hio_c() { + field_0x8 = 0; + default_set(); +} - if (distance < radius) { +void daTagTWGate_Hio_c::ct() { + if (field_0x8++ == 0) { + // "Twilight Gate tag" + entryHIO("トワイライトゲートタグ"); + } +} + +void daTagTWGate_Hio_c::dt() { + if (--field_0x8 == 0) { + removeHIO(); + } +} + +void daTagTWGate_Hio_c::default_set() { + attr = daTagTWGate_c::mAttr; +} + +void daTagTWGate_Hio_c::genMessage(JORMContext* ctx) { + // "Twilight Gate tag parameter settings" + ctx->genLabel("§ トワイライトゲートタグ パラメータ設定 §\n", 0); + // "Draw range" + ctx->genCheckBox("範囲描画", &attr.show_range, 1); +} +#endif + +inline daTagTWGate_c::~daTagTWGate_c() { + dComIfG_resDelete(&mPhaseZevArc, l_zevParamTbl[mType].mArcName); + + if (mPhaseMdRes.id != cPhs_INIT_e) { + dComIfG_resDelete(&mPhaseMdRes, "TWGate_Md"); + } + + if (mPhasePyRes.id != cPhs_INIT_e) { + dComIfG_resDelete(&mPhasePyRes, mIsWolf ? "TWGate_Wf" : "TWGate_Lk"); + } + +#if DEBUG + mHio.dt(); +#endif +} + +void daTagTWGate_c::initWait() { + mEventID = -1; +} + +void daTagTWGate_c::setAction(Mode_e i_action) { + JUT_ASSERT(233, i_action < MODE_MAX_e); + int oldActionID = mActionID; + mActionID = i_action; + mAction = ActionTable[mActionID]; + callInit(); +} + +void daTagTWGate_c::callInit() { + JUT_ASSERT(289, mAction != NULL); + (this->*(*mAction))(); +} + +void daTagTWGate_c::callExecute() { + JUT_ASSERT(302, mAction != NULL); + (this->*mAction[1])(); + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_DARK_GATE, ¤t.pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); +} + +void daTagTWGate_c::executeWait() { + f32 radius = std::pow(scale.x * 100.0f, 2.0f); + + if (fopAcM_searchPlayerDistanceXZ2(this) < radius) { if (field_0x5de == 0) { field_0x5de = 1; switch (mType) { case TYPE_FILONE: if (fopAcM_isSwitch(this, getSwitch())) { - mActionID = ACT_DEMO_FILONE_2; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + setAction(ACT_DEMO_FILONE_2); } else { - mActionID = ACT_DEMO_FILONE_1; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + setAction(ACT_DEMO_FILONE_1); } break; case TYPE_ORDIN: if (fopAcM_isSwitch(this, getSwitch())) { - mActionID = ACT_DEMO_ORDIN_2; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + setAction(ACT_DEMO_ORDIN_2); } else { - mActionID = ACT_DEMO_ORDIN_1; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + setAction(ACT_DEMO_ORDIN_1); } break; case TYPE_RANAIL: if (fopAcM_isSwitch(this, getSwitch())) { - mActionID = ACT_DEMO_RANAIL_2; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + setAction(ACT_DEMO_RANAIL_2); } else { - mActionID = ACT_DEMO_RANAIL_1; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + setAction(ACT_DEMO_RANAIL_1); } break; case TYPE_HYRAL: if (fopAcM_isSwitch(this, getSwitch())) { - mActionID = ACT_DEMO_HYRAL_2; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + setAction(ACT_DEMO_HYRAL_2); } else { - mActionID = ACT_DEMO_HYRAL_1; - mAction = &ActionTable[mActionID][0]; - (this->**mAction)(); + setAction(ACT_DEMO_HYRAL_1); } break; + default: + // "Twilight Gate demo tag argument 0 error Type=%d + OS_REPORT("\nトワイライトゲートデモタグ 引数0エラー Type=%d\n\n", mType); + JUT_ASSERT(344, FALSE); } } } else { @@ -166,34 +223,36 @@ void daTagTWGate_c::executeDemoFilone1() { dEvent_manager_c& event_manager = dComIfGp_getEventManager(); int staffId = event_manager.getMyStaffId(l_myName, NULL, 0); + int* cutName; if (staffId != -1) { - int* cutName = (int*)event_manager.getMyNowCutName(staffId); + cutName = (int*)event_manager.getMyNowCutName(staffId); if (event_manager.getIsAddvance(staffId)) { switch (*cutName) { case 0x30303031: - dComIfGp_getEvent()->setSkipProc(this, dEv_noFinishSkipProc, 0); + dComIfGp_getEvent()->startCheckSkipEdge(this); break; + default: + JUT_ASSERT(395, FALSE); } } switch (*cutName) { case 0x30303031: - if (dComIfGp_getEvent()->chkFlag2(8)) { + if (dComIfGp_getEvent()->checkSkipEdge()) { dComIfGp_getEvent()->onSkipFade(); - mActionID = ACT_DEMO_FILONE_2; - mAction = ActionTable[mActionID]; - (this->**mAction)(); + setAction(ACT_DEMO_FILONE_2); } event_manager.cutEnd(staffId); + break; + default: + JUT_ASSERT(407, FALSE); } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && event_manager.endCheck(mEventID)) { - mActionID = ACT_DEMO_FILONE_2; - mAction = ActionTable[mActionID]; - (this->**mAction)(); + setAction(ACT_DEMO_FILONE_2); } } } @@ -213,12 +272,13 @@ void daTagTWGate_c::initDemoFilone2() { } void daTagTWGate_c::executeDemoFilone2() { - s32 staffId = dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0); + dEvent_manager_c& eventManager = dComIfGp_getEventManager(); + s32 staffId = eventManager.getMyStaffId(l_myName, NULL, 0); if (staffId != -1) { - int* cutName = (int*)dComIfGp_getEventManager().getMyNowCutName(staffId); + int* cutName = (int*)eventManager.getMyNowCutName(staffId); - if (dComIfGp_evmng_getIsAddvance(staffId)) { + if (eventManager.getIsAddvance(staffId)) { switch (*cutName) { case '0002': initTalk(0xBC1, NULL); @@ -226,40 +286,43 @@ void daTagTWGate_c::executeDemoFilone2() { case '0001': case '0003': break; + default: + JUT_ASSERT(480, FALSE); } } switch (*cutName) { case '0001': case '0003': - dComIfGp_evmng_cutEnd(staffId); + eventManager.cutEnd(staffId); break; case '0002': if (talkProc(NULL, 1, NULL)) { - if (mMsgFlow.getChoiceNo() == 0) { - mActionID = ACT_DEMO_FILONE_3; - mAction = ActionTable[mActionID]; - (this->**mAction)(); + int choiceNo = mMsgFlow.getChoiceNo(); + // "Two-way branch %s" / "Yes" / "No" + OS_REPORT("二択分岐 %s\n", choiceNo == 0 ? "はい" : "いいえ"); + if (choiceNo == 0) { + setAction(ACT_DEMO_FILONE_3); } - dComIfGp_evmng_cutEnd(staffId); + eventManager.cutEnd(staffId); } break; + default: + JUT_ASSERT(497, FALSE); } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && - dComIfGp_evmng_endCheck(mEventID)) { - dComIfGp_getEvent()->reset(); + eventManager.endCheck(mEventID)) { + dComIfGp_event_reset(); field_0x5e0 = 0; - mActionID = ACT_WAIT; - mAction = ActionTable[mActionID]; - (this->**mAction)(); + setAction(ACT_WAIT); } } } void daTagTWGate_c::initDemoFilone3() { field_0x5de = 1; - mIsWolf = (dComIfGp_getLinkPlayer()->mNoResetFlg1 >> 25) & 1; // checking if wolf? + mIsWolf = daPy_py_c::checkNowWolf() ? TRUE : FALSE; eventInfo.setArchiveName(l_zevParamTbl[mType].mArcName); dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); mEventID = @@ -269,17 +332,18 @@ void daTagTWGate_c::initDemoFilone3() { } void daTagTWGate_c::executeDemoFilone3() { - s32 staffId = dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0); + dEvent_manager_c& eventManager = dComIfGp_getEventManager(); + s32 staffId = eventManager.getMyStaffId(l_myName, NULL, 0); if (staffId != -1) { - int* cutName = (int*)dComIfGp_getEventManager().getMyNowCutName(staffId); + int* cutName = (int*)eventManager.getMyNowCutName(staffId); - if (dComIfGp_evmng_getIsAddvance(staffId)) { + if (eventManager.getIsAddvance(staffId)) { switch (*cutName) { case 0x30303031: break; case 0x30303032: - dComIfGp_getEvent()->setSkipProc(this, dEv_noFinishSkipProc, 0); + dComIfGp_getEvent()->startCheckSkipEdge(this); field_0x5e1 = 0; break; case 0x30303033: @@ -287,50 +351,53 @@ void daTagTWGate_c::executeDemoFilone3() { mpMorf->setPlaySpeed(1.0f); field_0x5e0 = 1; break; + default: + JUT_ASSERT(560, FALSE); } } +#ifndef __MWERKS__ + int modelSts; +#endif switch (*cutName) { - case 0x30303031: { + case 0x30303031: +#ifndef __MWERKS__ + modelSts = downloadModels(); +#else int modelSts = downloadModels(); +#endif if (modelSts == 1) { - dComIfGp_evmng_cutEnd(staffId); + eventManager.cutEnd(staffId); } else if (modelSts == -1) { dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint, l_zevParamTbl[mType].mRoomNo, l_zevParamTbl[mType].mLayer); } break; - } - case 0x30303032: { - if (dComIfGp_getEvent()->chkFlag2(8)) { + case 0x30303032: + if (dComIfGp_getEvent()->checkSkipEdge()) { dComIfGp_getEvent()->onSkipFade(); dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint, l_zevParamTbl[mType].mRoomNo, l_zevParamTbl[mType].mLayer); } - u8 old_5e1 = field_0x5e1; - field_0x5e1++; - - if (old_5e1 == 43) { + if (field_0x5e1++ == 43) { daPy_py_c* player = daPy_getPlayerActorClass(); - csXyz sxyz(0, player->shape_angle.y + 0x8000, 0); + cXyz pos; + csXyz sxyz(0, fopAcM_GetShapeAngle_p(player)->y + 0x8000, 0); - mDoMtx_stack_c::transS(player->current.pos); + mDoMtx_stack_c::transS(fopAcM_GetPosition(player)); mDoMtx_stack_c::YrotM(sxyz.y); mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f); - cXyz pos; - pos.x = mDoMtx_stack_c::get()[0][3]; - pos.y = mDoMtx_stack_c::get()[1][3]; - pos.z = mDoMtx_stack_c::get()[2][3]; + mDoMtx_stack_c::multVecZero(&pos); dComIfGp_particle_set(0x86C5, &pos, &sxyz, NULL); - mDoAud_seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &pos, 0, 0); - dComIfGp_evmng_cutEnd(staffId); + Z2GetAudioMgr()->seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + eventManager.cutEnd(staffId); } break; - } case 0x30303033: - if (dComIfGp_getEvent()->chkFlag2(8)) { + if (dComIfGp_getEvent()->checkSkipEdge()) { dComIfGp_getEvent()->onSkipFade(); dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint, @@ -339,18 +406,19 @@ void daTagTWGate_c::executeDemoFilone3() { } if (mpMorf->isStop()) { - dComIfGp_evmng_cutEnd(staffId); + eventManager.cutEnd(staffId); } break; + default: + JUT_ASSERT(621, FALSE); + break; } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && - dComIfGp_evmng_endCheck(mEventID)) { - dComIfGp_getEvent()->reset(); + eventManager.endCheck(mEventID)) { + dComIfGp_event_reset(); field_0x5e0 = 0; - mActionID = ACT_WAIT; - mAction = ActionTable[mActionID]; - (this->**mAction)(); + setAction(ACT_WAIT); } } } @@ -364,13 +432,16 @@ void daTagTWGate_c::initDemoOrdin1() { void daTagTWGate_c::executeDemoOrdin1() { dEvent_manager_c& evtMng = dComIfGp_getEventManager(); int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + int* cutName; if (staffId != -1) { - int* cutName = (int*)evtMng.getMyNowCutName(staffId); + cutName = (int*)evtMng.getMyNowCutName(staffId); if (evtMng.getIsAddvance(staffId)) { switch (*cutName) { case '0001': dComIfGp_getEvent()->startCheckSkipEdge(this); break; + default: + JUT_ASSERT(674, FALSE); } } switch (*cutName) { @@ -381,6 +452,9 @@ void daTagTWGate_c::executeDemoOrdin1() { } evtMng.cutEnd(staffId); break; + default: + JUT_ASSERT(686, FALSE); + break; } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { setAction(ACT_DEMO_ORDIN_2); @@ -417,23 +491,30 @@ void daTagTWGate_c::executeDemoOrdin2() { break; case '0003': break; + default: + JUT_ASSERT(749, FALSE); + break; } } - int choiceNo; - switch(*cutName) { + switch (*cutName) { case '0001': case '0003': evtMng.cutEnd(staffId); break; case '0002': if (talkProc(NULL, 1, NULL)) { - choiceNo = mMsgFlow.getChoiceNo(); + int choiceNo = mMsgFlow.getChoiceNo(); + // "Two-way branch %s" / "Yes" / "No" + OS_REPORT("二択分岐 %s\n", choiceNo == 0 ? "はい" : "いいえ"); if (choiceNo == 0) { setAction(ACT_DEMO_ORDIN_3); } evtMng.cutEnd(staffId); } break; + default: + JUT_ASSERT(766, FALSE); + break; } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && @@ -447,7 +528,7 @@ void daTagTWGate_c::executeDemoOrdin2() { void daTagTWGate_c::initDemoOrdin3() { field_0x5de = 1; - mIsWolf = (dComIfGp_getLinkPlayer()->mNoResetFlg1 >> 25) & 1; // checking if wolf? + mIsWolf = daPy_py_c::checkNowWolf() ? TRUE : FALSE; eventInfo.setArchiveName(l_zevParamTbl[mType].mArcName); dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); mEventID = @@ -477,7 +558,7 @@ void daTagTWGate_c::executeDemoOrdin3() { field_0x5e0 = 1; break; default: - JUT_PANIC(829, "0"); + JUT_ASSERT(829, FALSE); break; } @@ -527,7 +608,7 @@ void daTagTWGate_c::executeDemoOrdin3() { } break; default: - JUT_PANIC(890, "0"); + JUT_ASSERT(890, FALSE); break; } @@ -547,13 +628,17 @@ void daTagTWGate_c::initDemoRanail1() { void daTagTWGate_c::executeDemoRanail1() { dEvent_manager_c& evtMng = dComIfGp_getEventManager(); int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + int* cutName; if (staffId != -1) { - int* cutName = (int*)evtMng.getMyNowCutName(staffId); + cutName = (int*)evtMng.getMyNowCutName(staffId); if (evtMng.getIsAddvance(staffId)) { switch (*cutName) { case '0001': dComIfGp_getEvent()->startCheckSkipEdge(this); break; + default: + JUT_ASSERT(943, FALSE); + break; } } switch (*cutName) { @@ -564,6 +649,9 @@ void daTagTWGate_c::executeDemoRanail1() { } evtMng.cutEnd(staffId); break; + default: + JUT_ASSERT(955, FALSE); + break; } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { setAction(ACT_DEMO_RANAIL_2); @@ -600,23 +688,30 @@ void daTagTWGate_c::executeDemoRanail2() { break; case '0003': break; + default: + JUT_ASSERT(1018, FALSE); + break; } } - int choiceNo; - switch(*cutName) { + switch (*cutName) { case '0001': case '0003': evtMng.cutEnd(staffId); break; case '0002': if (talkProc(NULL, 1, NULL)) { - choiceNo = mMsgFlow.getChoiceNo(); + int choiceNo = mMsgFlow.getChoiceNo(); + // "Two-way branch" / "Yes" / "No" + OS_REPORT("二択分岐 %s\n", choiceNo == 0 ? "はい" : "いいえ"); if (choiceNo == 0) { setAction(ACT_DEMO_RANAIL_3); } evtMng.cutEnd(staffId); } break; + default: + JUT_ASSERT(1035, FALSE); + break; } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && @@ -630,7 +725,7 @@ void daTagTWGate_c::executeDemoRanail2() { void daTagTWGate_c::initDemoRanail3() { field_0x5de = 1; - mIsWolf = (dComIfGp_getLinkPlayer()->mNoResetFlg1 >> 25) & 1; // checking if wolf? + mIsWolf = daPy_py_c::checkNowWolf() ? TRUE : FALSE; eventInfo.setArchiveName(l_zevParamTbl[mType].mArcName); dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); mEventID = @@ -662,7 +757,7 @@ void daTagTWGate_c::executeDemoRanail3() { field_0x5e0 = 1; break; default: - JUT_PANIC(1099, "0"); + JUT_ASSERT(1099, FALSE); break; } } @@ -711,7 +806,7 @@ void daTagTWGate_c::executeDemoRanail3() { } break; default: - JUT_PANIC(1160, "0"); + JUT_ASSERT(1160, FALSE); break; } @@ -731,13 +826,16 @@ void daTagTWGate_c::initDemoHyral1() { void daTagTWGate_c::executeDemoHyral1() { dEvent_manager_c& evtMng = dComIfGp_getEventManager(); int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + int* cutName; if (staffId != -1) { - int* cutName = (int*)evtMng.getMyNowCutName(staffId); + cutName = (int*)evtMng.getMyNowCutName(staffId); if (evtMng.getIsAddvance(staffId)) { switch (*cutName) { case '0001': dComIfGp_getEvent()->startCheckSkipEdge(this); break; + default: + JUT_ASSERT(1213, FALSE); } } switch (*cutName) { @@ -748,6 +846,9 @@ void daTagTWGate_c::executeDemoHyral1() { } evtMng.cutEnd(staffId); break; + default: + JUT_ASSERT(1225, FALSE); + break; } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { setAction(ACT_DEMO_HYRAL_2); @@ -783,23 +884,28 @@ void daTagTWGate_c::executeDemoHyral2() { case '0002': initTalk(0xbc1, NULL); break; + default: + JUT_ASSERT(1288, FALSE); } } - int choiceNo; - switch(*piVar3) { + switch (*piVar3) { case '0001': case '0003': eventMgr.cutEnd(staffId); break; case '0002': if (talkProc(NULL, 1, NULL)) { - choiceNo = mMsgFlow.getChoiceNo(); + int choiceNo = mMsgFlow.getChoiceNo(); + OS_REPORT("二択分岐 %s\n", choiceNo == 0 ? "はい" : "いいえ"); if (choiceNo == 0) { setAction(ACT_DEMO_HYRAL_3); } eventMgr.cutEnd(staffId); } break; + default: + JUT_ASSERT(1305, FALSE); + break; } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && eventMgr.endCheck(mEventID)) @@ -812,7 +918,7 @@ void daTagTWGate_c::executeDemoHyral2() { void daTagTWGate_c::initDemoHyral3() { field_0x5de = 1; - mIsWolf = (dComIfGp_getLinkPlayer()->mNoResetFlg1 >> 25) & 1; // checking if wolf? + mIsWolf = daPy_py_c::checkNowWolf() ? TRUE : FALSE; eventInfo.setArchiveName(l_zevParamTbl[mType].mArcName); dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); mEventID = @@ -841,6 +947,8 @@ void daTagTWGate_c::executeDemoHyral3() { mpMorf->setPlaySpeed(1.0f); field_0x5e0 = 1; break; + default: + JUT_ASSERT(1368, FALSE); } } switch(*piVar3) { @@ -883,6 +991,9 @@ void daTagTWGate_c::executeDemoHyral3() { eventMgr.cutEnd(staffId); } break; + default: + JUT_ASSERT(1417, FALSE); + break; } if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && eventMgr.endCheck(mEventID)) @@ -894,17 +1005,15 @@ void daTagTWGate_c::executeDemoHyral3() { } void daTagTWGate_c::initBaseMtx() { - cullMtx = mpMorf->getModel()->getBaseTRMtx(); - fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); + fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); + fopAc_ac_c* player = daPy_getPlayerActorClass(); - shape_angle.y = player->shape_angle.y + 0x8000; - mDoMtx_stack_c::transS(player->current.pos); + shape_angle.y = fopAcM_GetShapeAngle_p(player)->y + 0x8000; + mDoMtx_stack_c::transS(fopAcM_GetPosition(player)); mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::transM(0.0f, 250.0f, -840.0f); - current.pos.x = mDoMtx_stack_c::get()[0][3]; - current.pos.y = mDoMtx_stack_c::get()[1][3]; - current.pos.z = mDoMtx_stack_c::get()[2][3]; + mDoMtx_stack_c::multVecZero(¤t.pos); mpMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); } @@ -917,14 +1026,18 @@ int daTagTWGate_c::downloadModels() { } if (phase_state == cPhs_COMPLEATE_e) { - if (fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3140)) { - return 1; - } else { + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3140)) { return -1; + } else { + return 1; } } - return phase_state == cPhs_ERROR_e ? -1 : 0; + if (phase_state == cPhs_ERROR_e) { + return -1; + } else { + return 0; + } } void daTagTWGate_c::initTalk(int param_0, fopAc_ac_c** param_1) { @@ -957,13 +1070,17 @@ bool daTagTWGate_c::talkProc(int* param_1, int param_2, fopAc_ac_c** param_3) { } int daTagTWGate_c::createHeapCallBack(fopAc_ac_c* i_actor) { - return ((daTagTWGate_c*)i_actor)->CreateHeap(); + daTagTWGate_c* gate = static_cast(i_actor); + return gate->CreateHeap(); } int daTagTWGate_c::CreateHeap() { - J3DModelData* modelData = static_cast(dComIfG_getObjectRes("TWGate_Md", 7)); + J3DModelData* mdlData_p = NULL; + int var_r27 = 0; + mdlData_p = static_cast(dComIfG_getObjectRes("TWGate_Md", 7)); + JUT_ASSERT(1685, NULL != mdlData_p); mpMorf = - new mDoExt_McaMorfSO(modelData, NULL, NULL, + new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, static_cast(dComIfG_getObjectRes("TWGate_Md", 4)), 0, 0.0f, 0, -1, NULL, 0, 0x11000084); @@ -986,7 +1103,7 @@ int daTagTWGate_c::create() { int phase_state; if (dComIfGs_isDarkClearLV(l_zevParamTbl[mType].mLv)) { - phase_state = cPhs_ERROR_e; + return cPhs_ERROR_e; } else { phase_state = dComIfG_resLoad(&mPhaseZevArc, l_zevParamTbl[mType].mArcName); if (phase_state == cPhs_COMPLEATE_e) { @@ -997,36 +1114,59 @@ int daTagTWGate_c::create() { return phase_state; } -static int daTagTWGate_Create(fopAc_ac_c* i_actor) { - return ((daTagTWGate_c*)i_actor)->create(); -} - -inline daTagTWGate_c::~daTagTWGate_c() { - dComIfG_resDelete(&mPhaseZevArc, l_zevParamTbl[mType].mArcName); - - if (mPhaseMdRes.id != cPhs_INIT_e) { - dComIfG_resDelete(&mPhaseMdRes, "TWGate_Md"); +int daTagTWGate_c::draw() { + if (field_0x5e0 != 0) { + mpMorf->entryDL(); } - if (mPhasePyRes.id != cPhs_INIT_e) { - dComIfG_resDelete(&mPhasePyRes, mIsWolf ? "TWGate_Wf" : "TWGate_Lk"); +#if DEBUG + if (attr().show_range) { + dDbVw_drawCylinderOpa(current.pos, scale.x * 100.0f, scale.y * 100.0f, (GXColor){0xff, 0xff, 0xff, 0xff}, 1); } -} +#endif -static int daTagTWGate_Delete(daTagTWGate_c* i_gate) { - i_gate->~daTagTWGate_c(); return 1; } -static int daTagTWGate_Execute(daTagTWGate_c* i_gate) { - return i_gate->execute(); +void daTagTWGate_c::create_init() { +#if DEBUG + mHio.ct(); +#endif + field_0x5e0 = 0; + setAction(ACT_WAIT); } -static int daTagTWGate_Draw(daTagTWGate_c* i_gate) { - return i_gate->draw(); +static int daTagTWGate_Create(fopAc_ac_c* i_this) { + daTagTWGate_c* gate = static_cast(i_this); + fopAcM_RegisterCreateID(i_this, "Tag_TWGate"); + return gate->create(); } -static int daTagTWGate_IsDelete(daTagTWGate_c*) { +static int daTagTWGate_Delete(daTagTWGate_c* i_this) { + fopAcM_RegisterDeleteID(i_this, "Tag_TWGate"); + i_this->~daTagTWGate_c(); + return 1; +} + +int daTagTWGate_c::execute() { + callExecute(); + + if (field_0x5e0 != 0) { + mpMorf->play(0, 0); + mpMorf->modelCalc(); + } + return 1; +} + +static int daTagTWGate_Execute(daTagTWGate_c* i_this) { + return i_this->execute(); +} + +static int daTagTWGate_Draw(daTagTWGate_c* i_this) { + return i_this->draw(); +} + +static int daTagTWGate_IsDelete(daTagTWGate_c* i_this) { return 1; } diff --git a/src/d/actor/d_a_tag_ajnot.cpp b/src/d/actor/d_a_tag_ajnot.cpp index cc5cc9155a..988af1ff42 100644 --- a/src/d/actor/d_a_tag_ajnot.cpp +++ b/src/d/actor/d_a_tag_ajnot.cpp @@ -15,12 +15,15 @@ int daTagAJnot_c::create() { } static int daTagAJnot_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagAJnot_c* ajNot = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return ajNot->create(); } daTagAJnot_c::~daTagAJnot_c() {} static int daTagAJnot_Delete(daTagAJnot_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagAJnot_c(); return 1; } diff --git a/src/d/actor/d_a_tag_allmato.cpp b/src/d/actor/d_a_tag_allmato.cpp index 9bb94d22f9..bf833803ec 100644 --- a/src/d/actor/d_a_tag_allmato.cpp +++ b/src/d/actor/d_a_tag_allmato.cpp @@ -2,8 +2,8 @@ #include "d/actor/d_a_tag_allmato.h" #include "d/actor/d_a_npc4.h" -#include "d/actor/d_a_obj_itamato.h" #include "d/actor/d_a_obj_boumato.h" +#include "d/actor/d_a_obj_itamato.h" #include "d/actor/d_a_arrow.h" #include "f_op/f_op_camera_mng.h" @@ -268,10 +268,14 @@ static fopAc_ac_c* l_findActorPtrs[100]; static u32 l_findCount; void* daTag_AllMato_c::srchBouMato(void* i_actor, void* i_data) { - if (l_findCount < 100 && i_actor != NULL && i_actor != i_data) { - if (fopAcM_IsExecuting(fopAcM_GetID(i_actor)) && fopAcM_GetName(i_actor) == PROC_OBJ_BOUMATO) { - l_findActorPtrs[l_findCount] = (fopAc_ac_c*)i_actor; - l_findCount++; + void* data = i_data; + if (l_findCount < 100) { + fopAc_ac_c* actor = (fopAc_ac_c*)i_actor; + if (actor != NULL && actor != data) { + if (fopAcM_IsExecuting(fopAcM_GetID(actor)) && fopAcM_GetName(i_actor) == PROC_OBJ_BOUMATO) { + l_findActorPtrs[l_findCount] = actor; + l_findCount++; + } } } @@ -279,10 +283,14 @@ void* daTag_AllMato_c::srchBouMato(void* i_actor, void* i_data) { } void* daTag_AllMato_c::srchItaMato(void* i_actor, void* i_data) { - if (l_findCount < 100 && i_actor != NULL && i_actor != i_data) { - if (fopAcM_IsExecuting(fopAcM_GetID(i_actor)) && fopAcM_GetName(i_actor) == PROC_OBJ_ITAMATO) { - l_findActorPtrs[l_findCount] = (fopAc_ac_c*)i_actor; - l_findCount++; + void* data = i_data; + if (l_findCount < 100) { + fopAc_ac_c* actor = (fopAc_ac_c*)i_actor; + if (actor != NULL && actor != data) { + if (fopAcM_IsExecuting(fopAcM_GetID(actor)) && fopAcM_GetName(i_actor) == PROC_OBJ_ITAMATO) { + l_findActorPtrs[l_findCount] = actor; + l_findCount++; + } } } @@ -290,10 +298,14 @@ void* daTag_AllMato_c::srchItaMato(void* i_actor, void* i_data) { } void* daTag_AllMato_c::srchTaro(void* i_actor, void* i_data) { - if (l_findCount < 100 && i_actor != NULL && i_actor != i_data) { - if (fopAcM_IsExecuting(fopAcM_GetID(i_actor)) && fopAcM_GetName(i_actor) == PROC_NPC_TARO) { - l_findActorPtrs[l_findCount] = (fopAc_ac_c*)i_actor; - l_findCount++; + void* data = i_data; + if (l_findCount < 100) { + fopAc_ac_c* actor = (fopAc_ac_c*)i_actor; + if (actor != NULL && actor != data) { + if (fopAcM_IsExecuting(fopAcM_GetID(actor)) && fopAcM_GetName(i_actor) == PROC_NPC_TARO) { + l_findActorPtrs[l_findCount] = actor; + l_findCount++; + } } } @@ -301,10 +313,14 @@ void* daTag_AllMato_c::srchTaro(void* i_actor, void* i_data) { } void* daTag_AllMato_c::srchArrow(void* i_actor, void* i_data) { - if (l_findCount < 100 && i_actor != NULL && i_actor != i_data) { - if (fopAcM_IsExecuting(fopAcM_GetID(i_actor)) && fopAcM_GetName(i_actor) == PROC_ARROW) { - l_findActorPtrs[l_findCount] = (fopAc_ac_c*)i_actor; - l_findCount++; + void* data = i_data; + if (l_findCount < 100) { + fopAc_ac_c* actor = (fopAc_ac_c*)i_actor; + if (actor != NULL && actor != data) { + if (fopAcM_IsExecuting(fopAcM_GetID(actor)) && fopAcM_GetName(i_actor) == PROC_ARROW) { + l_findActorPtrs[l_findCount] = actor; + l_findCount++; + } } } @@ -436,11 +452,12 @@ fopAc_ac_c* daTag_AllMato_c::getTaroActorP() { fopAc_ac_c* boumato_actor_p = NULL; fopAc_ac_c* itamato_actor_p = NULL; + int sp14 = 0; for (int i = 0; i < 499; i++) { for (int j = 0; j < mBouMatoActorNum; j++) { boumato_actor_p = mBouMatoActorMngr[j].getActorP(); if (boumato_actor_p != NULL) { - int sp14 = ((daObj_BouMato_c*)boumato_actor_p)->checkCrs(arrow_p, field_0x590[i], field_0x590[i + 1], sp94.abs() + arrow_p->getArrowOutLength()); + sp14 = ((daObj_BouMato_c*)boumato_actor_p)->checkCrs(arrow_p, field_0x590[i], field_0x590[i + 1], sp94.abs() + arrow_p->getArrowOutLength()); if (sp14 != 0) { mBrkMatoActorMngr.entry(mBouMatoActorMngr[j].getActorP()); return sp14; @@ -451,7 +468,7 @@ fopAc_ac_c* daTag_AllMato_c::getTaroActorP() { for (int j = 0; j < mItaMatoActorNum; j++) { itamato_actor_p = mItaMatoActorMngr[j].getActorP(); if (itamato_actor_p != NULL) { - int sp14 = ((daObj_ItaMato_c*)itamato_actor_p)->checkCrs(arrow_p, field_0x590[i], field_0x590[i + 1], sp94.abs() + arrow_p->getArrowOutLength()); + sp14 = ((daObj_ItaMato_c*)itamato_actor_p)->checkCrs(arrow_p, field_0x590[i], field_0x590[i + 1], sp94.abs() + arrow_p->getArrowOutLength()); if (sp14 != 0) { mBrkMatoActorMngr.entry(mItaMatoActorMngr[j].getActorP()); return sp14; @@ -466,7 +483,7 @@ fopAc_ac_c* daTag_AllMato_c::getTaroActorP() { } int daTag_AllMato_c::checkCrsMato2() { - fopAc_ac_c* sp28; + fopAc_ac_c* sp28 = NULL; getArrowActorP(); for (int i = 0; i < (int)l_findCount; i++) { @@ -499,13 +516,13 @@ int daTag_AllMato_c::checkCrsMato2() { } fopAc_ac_c* sp18 = NULL; - fopAc_ac_c* sp14 = NULL; + int sp14 = NULL; for (int i = 0; i < 499; i++) { for (int j = 0; j < mBouMatoActorNum; j++) { sp18 = mBouMatoActorMngr[j].getActorP(); if (sp18 != NULL) { - int sp14 = ((daObj_BouMato_c*)sp18)->checkCrs(arrow_p, field_0x590[i], field_0x590[i + 1], sp80.abs() + arrow_p->getArrowOutLength()); + sp14 = ((daObj_BouMato_c*)sp18)->checkCrs(arrow_p, field_0x590[i], field_0x590[i + 1], sp80.abs() + arrow_p->getArrowOutLength()); if (sp14 != 0) { mBrkMatoActorMngr.entry(mBouMatoActorMngr[j].getActorP()); return sp14; @@ -520,10 +537,11 @@ int daTag_AllMato_c::checkCrsMato2() { } int daTag_AllMato_c::checkBrkMato() { + daObj_ItaMato_c* actor_p = NULL; int rt = 0; for (int i = 0; i < mItaMatoActorNum; i++) { - daObj_ItaMato_c* actor_p = (daObj_ItaMato_c*)mItaMatoActorMngr[i].getActorP(); + actor_p = (daObj_ItaMato_c*)mItaMatoActorMngr[i].getActorP(); rt = actor_p->checkBrk(); if (rt != 0) { mBrkMatoActorMngr.entry(mItaMatoActorMngr[i].getActorP()); diff --git a/src/d/actor/d_a_tag_arena.cpp b/src/d/actor/d_a_tag_arena.cpp index bdaa2dc16a..24ba2b1c86 100644 --- a/src/d/actor/d_a_tag_arena.cpp +++ b/src/d/actor/d_a_tag_arena.cpp @@ -9,10 +9,12 @@ static int daTagArena_Create(fopAc_ac_c* i_this) { daTagArena_c* arena_tag = (daTagArena_c*)i_this; + int id = fopAcM_GetID(i_this); return arena_tag->create(); } static int daTagArena_Delete(daTagArena_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagArena_c(); return 1; } diff --git a/src/d/actor/d_a_tag_assistance.cpp b/src/d/actor/d_a_tag_assistance.cpp index 8fce57e12e..62fdc624f9 100644 --- a/src/d/actor/d_a_tag_assistance.cpp +++ b/src/d/actor/d_a_tag_assistance.cpp @@ -7,8 +7,27 @@ #include "d/actor/d_a_tag_assistance.h" +void daTagAssist_c::create_init() { + attention_info.flags = 0; + field_0x570 = -1; +} + +int daTagAssist_c::create() { + fopAcM_ct(this, daTagAssist_c); + create_init(); + return cPhs_COMPLEATE_e; +} + +int daTagAssist_c::execute() { + if (fopAcM_searchPlayerDistanceXZ(this) < scale.x * 100.0f) { + // empty block + } + return 1; +} + static int daTagAssist_Create(fopAc_ac_c* i_this) { daTagAssist_c* tag_assist = (daTagAssist_c*)i_this; + int id = fopAcM_GetID(i_this); return tag_assist->create(); } @@ -21,6 +40,7 @@ static int daTagAssist_IsDelete(daTagAssist_c* i_this) { } static int daTagAssist_Delete(daTagAssist_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagAssist_c(); return 1; } diff --git a/src/d/actor/d_a_tag_attack_item.cpp b/src/d/actor/d_a_tag_attack_item.cpp index f3bfc4becb..6e2ce1c8e4 100644 --- a/src/d/actor/d_a_tag_attack_item.cpp +++ b/src/d/actor/d_a_tag_attack_item.cpp @@ -1,13 +1,24 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_attack_item.h" + #include "SSystem/SComponent/c_math.h" #include "d/actor/d_a_player.h" +#include "d/d_debug_viewer.h" -void daTagAtkItem_c::setBaseMtx() { - mDoMtx_stack_c::transS(current.pos); - mDoMtx_stack_c::ZXYrotM(shape_angle); -} +class daTagAtkItem_HIO_c : public mDoHIO_entry_c { +public: + daTagAtkItem_HIO_c(); + + void genMessage(JORMContext*); + + f32 field_0x8; + u8 show_range; +}; + +#if DEBUG +daTagAtkItem_HIO_c l_HIO; +#endif static dCcD_SrcCyl l_cyl_src = { { @@ -17,14 +28,28 @@ static dCcD_SrcCyl l_cyl_src = { {0x0}, // mGObjCo }, // mObjInf { - { - {0.0f, 0.0f, 0.0f}, // mCenter - 50.0f, // mRadius - 100.0f // mHeight - } // mCyl + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 100.0f // mHeight + } // mCyl } }; +#if DEBUG +void daTagAtkItem_HIO_c::genMessage(JORMContext* ctx) { + // "Attack reaction item" + ctx->genLabel("攻撃反応アイテム", 0); + // "Show range" + ctx->genCheckBox("範囲表示", &show_range, 1); +} +#endif + +void daTagAtkItem_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); +} + int daTagAtkItem_c::Create() { mCcStts.Init(0, 0xFF, this); mCyl.Set(l_cyl_src); @@ -36,6 +61,11 @@ int daTagAtkItem_c::Create() { return 1; } +daTagAtkItem_HIO_c::daTagAtkItem_HIO_c() { + field_0x8 = 0.0f; + show_range = 0; +} + int daTagAtkItem_c::create() { fopAcM_ct(this, daTagAtkItem_c); @@ -44,6 +74,11 @@ int daTagAtkItem_c::create() { } OS_REPORT("攻撃反応アイテム:<%x>\n", fopAcM_GetParam(this)); + +#if DEBUG + l_HIO.entryHIO("攻撃反応アイテム"); +#endif + return cPhs_COMPLEATE_e; } @@ -108,12 +143,7 @@ BOOL daTagAtkItem_c::checkHit() { void daTagAtkItem_c::createItem() { csXyz angle(0, 0, 0); - int create_num; - if (getNum() == 0xFF) { - create_num = 1; - } else { - create_num = getNum(); - } + int create_num = getNum() == 0xFF ? 1 : getNum(); int item_bit = getItemBit(); for (int i = 0; i < create_num; i++) { @@ -128,19 +158,40 @@ void daTagAtkItem_c::createItem() { } } -int daTagAtkItem_c::_delete() { +int daTagAtkItem_c::draw() { +#if DEBUG + if (l_HIO.show_range) { + GXColor color = (GXColor){0, 0, 0xff, 0x80}; + dDbVw_drawCylinderXlu(current.pos, scale.x * 50.0f, scale.y * 100.0f, color, 1); + } +#endif + return 1; } +int daTagAtkItem_c::_delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + + return 1; +} + +static int daTagAtkItem_Draw(daTagAtkItem_c* i_this) { + return i_this->draw(); +} + static int daTagAtkItem_Execute(daTagAtkItem_c* i_this) { return i_this->execute(); } static int daTagAtkItem_Delete(daTagAtkItem_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } static int daTagAtkItem_Create(daTagAtkItem_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->create(); } @@ -149,7 +200,11 @@ static actor_method_class l_daTagAtkItem_Method = { (process_method_func)daTagAtkItem_Delete, (process_method_func)daTagAtkItem_Execute, (process_method_func)NULL, +#if DEBUG + (process_method_func)daTagAtkItem_Draw, +#else (process_method_func)NULL, +#endif }; actor_process_profile_definition g_profile_Tag_AttackItem = { diff --git a/src/d/actor/d_a_tag_attention.cpp b/src/d/actor/d_a_tag_attention.cpp index 29a1fa5279..270fc030a8 100644 --- a/src/d/actor/d_a_tag_attention.cpp +++ b/src/d/actor/d_a_tag_attention.cpp @@ -6,12 +6,98 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_attention.h" -#include "d/actor/d_a_player.h" -static const u8 l_dist_tbl[] = { 0x23, 0x24 }; +#include "d/actor/d_a_player.h" +#include "d/d_debug_viewer.h" + +#if DEBUG +daAttp_HIO_c l_HIO; + +void daAttp_HIO_c::genMessage(JORMContext* ctx) { + static const char* l_type_name[37] = { + "注目なし - ダミー", // No focus - dummy + "注目だけ - 標準", // Focus only - standard + "会話 - 標準", // Conversation - standard + "戦闘 - 標準", // Combat - standard + "戦闘B - 標準", // Combat B - standard + "会話B - 標準", // Conversation B - standard + "持上げ - 標準", // Lifting - standard + "持上げ - タル", // Lifting - barrel + "持上げ - 壷大", // Lifting - large jar + "持上げ - 水壷", // Lifting - water jar + "持上げ - 椅子", // Lifting - chair + "持上げ - 小石", // Lifting - pebble + "持上げ - 岩", // Lifting - rock + "馬", // Horse + "ドア、宝箱", // Door, treasure chest + "持上げボコの棒", // Lifting stick + "敵氷", // Enemy ice + "引き連れられ石像", // Dragged stone statue + "引き連れられ石像", // Dragged stone statue + "ジャガ-", // Jaguar + "接近会話", // Close-range conversation + "長距離戦闘", // Long-range combat + "短距離戦闘", // Short-range combat + "予備戦闘", // Reserve combat + "予備戦闘", // Reserve combat + "予備戦闘", // Reserve combat + "床レバー用", // Floor lever + "狼鎖", // Wolf chain + "NPCナビィ - ハイラル城、呼びかけデモ用(会話)", // NPC Navii - Hyrule Castle, demo call (conversation) + "NPCナビィ - ハイラル城、呼びかけデモ用(注目)", // NPC Navii - Hyrule Castle, demo call (focus) + "狼掘る", // Wolf digging + "カヌー", // Canoe + "覗きタグ", // Peek tag + "馬戦闘", // Horse combat + "注目点 通常長さ", // Focus point - normal length + "注目点 長注目版", // Focus point - long focus + "調整用カスタム", // Adjustment custom + }; + static const u8 l_type[37] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, + }; + static const int num = 37; + + // "Focus point" + ctx->genLabel("注目点", 0, 0, NULL, -1, -1, 0x200, 0x18); + // "Type switching ON" + ctx->genCheckBox("タイプ切り替えON", &enable_type_switching, 1, 0, NULL, -1, -1, 0x200, 0x18); + + // "Type specification" + ctx->startComboBox("タイプ指定", &type_spec, 0, NULL, -1, -1, 0x100, 0x1a); + for (int i = 0; i < num; i++) { + ctx->genComboBoxItem(l_type_name[i], l_type[i]); + } + ctx->endComboBox(); + + // "Distance display ON" + ctx->genCheckBox("距離表示ON", &enable_distance_display, 1, 0, NULL, -1, -1, 0x200, 0x18); + + // "For adjustment" + ctx->genLabel("調整用", 0, 0, NULL, -1, -1, 0x200, 0x18); + ctx->genSlider("on", &dist_max, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); + ctx->genSlider("off", &dist_max_release, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); + ctx->genSlider("angle adjust", &dist_adjust, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); + ctx->genSlider("hi", &upper_y, -10000.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); + ctx->genSlider("low", &lower_y, -10000.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); +} +#endif int daAttp_c::Create() { - attention_info.distances[fopAc_attn_LOCK_e] = l_dist_tbl[daAttp_prm::getArg4(this)]; + static const u8 l_dist_tbl[] = { 35, 36 }; + + u8 arg4 = daAttp_prm::getArg4(this); + attention_info.distances[fopAc_attn_LOCK_e] = l_dist_tbl[arg4]; + +#if DEBUG + field_0x598 = l_dist_tbl[arg4]; + + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + cMtx_copy(mDoMtx_stack_c::get(), field_0x568); + fopAcM_SetMtx(this, field_0x568); +#endif execute(); return 1; @@ -20,10 +106,31 @@ int daAttp_c::Create() { int daAttp_c::create() { fopAcM_ct(this, daAttp_c); Create(); + +#if DEBUG + // "Key points" + l_HIO.entryHIO("注目点"); +#endif + return cPhs_COMPLEATE_e; } int daAttp_c::execute() { +#if DEBUG + if (l_HIO.enable_type_switching) { + attention_info.distances[fopAc_attn_LOCK_e] = l_HIO.type_spec; + } else { + attention_info.distances[fopAc_attn_LOCK_e] = field_0x598; + } + + dist_entry& distTable = dAttention_c::getDistTable(37); + distTable.mDistMax = l_HIO.dist_max; + distTable.mDistMaxRelease = l_HIO.dist_max_release; + distTable.mDistanceAdjust = l_HIO.dist_adjust; + distTable.mUpperY = l_HIO.upper_y; + distTable.mLowerY = l_HIO.lower_y; +#endif + bool bVar1 = true; fopAc_ac_c& link = *daPy_getPlayerActorClass(); @@ -58,6 +165,7 @@ int daAttp_c::execute() { } break; default: + JUT_ASSERT(432, FALSE); break; case 7: break; @@ -80,6 +188,8 @@ int daAttp_c::execute() { case 3: bVar1 = false; break; + default: + JUT_ASSERT(461, FALSE); } } else { switch (daAttp_prm::getArg0(this)) { @@ -97,6 +207,9 @@ int daAttp_c::execute() { break; case 3: bVar1 = false; + break; + default: + JUT_ASSERT(485, FALSE); } if (daAttp_prm::getSw2(this) != 0xff) { @@ -120,13 +233,36 @@ int daAttp_c::execute() { } int daAttp_c::draw() { +#if DEBUG + if (l_HIO.enable_distance_display) { + GXColor color1 = {0xff, 0, 0, 0x80}; + GXColor color2 = {0, 0, 0xff, 0x80}; + cXyz sp10(current.pos); + sp10.y += 5.0f; + dist_entry& distTable = + dAttention_c::getDistTable(attention_info.distances[fopAc_attn_LOCK_e]); + + dDbVw_drawCircleXlu(current.pos, distTable.mDistMax, color2, 1, 12); + dDbVw_drawCircleXlu(current.pos, distTable.mDistMaxRelease, color1, 1, 12); + } +#endif + return 1; } int daAttp_c::_delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + return 1; } +daAttp_HIO_c::daAttp_HIO_c() { + type_spec = 0; + dist_max = dist_max_release = dist_adjust = upper_y = lower_y = 0.0f; +} + static int daAttp_Draw(daAttp_c* i_this) { return i_this->draw(); } @@ -137,11 +273,14 @@ static int daAttp_Execute(daAttp_c* i_this) { } static int daAttp_Delete(daAttp_c* i_this) { + fpc_ProcID id = fopAcM_GetID(i_this); return i_this->_delete(); } static int daAttp_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daAttp_c* attp = static_cast(i_this); + fpc_ProcID id = fopAcM_GetID(i_this); + return attp->create(); } static actor_method_class l_daAttp_Method = { diff --git a/src/d/actor/d_a_tag_bottle_item.cpp b/src/d/actor/d_a_tag_bottle_item.cpp index 20dce2e102..77128dee7b 100644 --- a/src/d/actor/d_a_tag_bottle_item.cpp +++ b/src/d/actor/d_a_tag_bottle_item.cpp @@ -5,34 +5,32 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/actor/d_a_player.h" #include "d/actor/d_a_tag_bottle_item.h" #include "d/d_item.h" -#include "d/actor/d_a_player.h" #include "d/d_procname.h" +#include "d/d_s_play.h" -s32 daTag_BottleItem_c::create() { - s32 ret; - +int daTag_BottleItem_c::create() { fopAcM_ct(this, daTag_BottleItem_c); setTypeFromParam(); if (!isBottleItem(mBottleItemType)) { - ret = cPhs_ERROR_e; - } else { - initialize(); - ret = cPhs_COMPLEATE_e; + return cPhs_ERROR_e; } - return ret; + initialize(); + return cPhs_COMPLEATE_e; } -s32 daTag_BottleItem_c::Delete() { +int daTag_BottleItem_c::Delete() { return 1; } -s32 daTag_BottleItem_c::Execute() { - if (chkEvent()) { +int daTag_BottleItem_c::Execute() { + int eventResult = chkEvent(); + if (eventResult) { if (mProcessFunc) { (this->*mProcessFunc)(0); } @@ -43,7 +41,7 @@ s32 daTag_BottleItem_c::Execute() { return 1; } -s32 daTag_BottleItem_c::Draw() { +int daTag_BottleItem_c::Draw() { return 1; } @@ -72,26 +70,26 @@ int daTag_BottleItem_c::checkProcess(ProcessFunc i_processFunc) { } int daTag_BottleItem_c::setProcess(ProcessFunc i_processFunc) { - int uVar3 = 0; + int retval = 0; if (checkProcess(i_processFunc)) { - return 0; + return retval; } else { mEventType = 2; if (mProcessFunc) { - uVar3 = (this->*mProcessFunc)(0); + retval = (this->*mProcessFunc)(0); } mEventType = 0; mProcessFunc = i_processFunc; if (mProcessFunc) { - uVar3 = (this->*mProcessFunc)(0); + retval = (this->*mProcessFunc)(0); } mEventType = 1; } - return uVar3; + return retval; } void daTag_BottleItem_c::setAttnPos() { @@ -99,8 +97,8 @@ void daTag_BottleItem_c::setAttnPos() { eyePos = current.pos; } -s32 daTag_BottleItem_c::chkEvent() { - s32 uVar2 = 1; +int daTag_BottleItem_c::chkEvent() { + int uVar2 = 1; if (!dComIfGp_getEvent()->isOrderOK()) { uVar2 = 0; @@ -112,7 +110,7 @@ s32 daTag_BottleItem_c::chkEvent() { return uVar2; } -s32 daTag_BottleItem_c::orderEvent() { +int daTag_BottleItem_c::orderEvent() { makeSoup(); if (!daPy_py_c::checkNowWolf() && mBottleItemType != fpcNm_ITEM_EMPTY_BOTTLE) { @@ -150,8 +148,9 @@ int daTag_BottleItem_c::wait(void* param_0) { if (eventInfo.checkCommandCatch() == 0){ fopAc_ac_c* player = dComIfGp_getPlayer(0); cXyz pos = attention_info.position - player->attention_info.position; - - dComIfGp_att_CatchRequest(this,mBottleItemType,140.0f,pos.y+100.0f,pos.y-100.0f,0x2000,1); + + dComIfGp_att_CatchRequest(this, mBottleItemType, 140.0f + YREG_F(4), pos.y + 100.0f, + pos.y - 100.0f, 0x2000 + YREG_S(5), 1); eventInfo.onCondition(dEvtCnd_40_e); } case 2: @@ -162,23 +161,23 @@ int daTag_BottleItem_c::wait(void* param_0) { return 1; } -static s32 daTag_BottleItem_Create(void* i_this) { +static int daTag_BottleItem_Create(void* i_this) { return static_cast(i_this)->create(); } -static s32 daTag_BottleItem_Delete(void* i_this) { +static int daTag_BottleItem_Delete(void* i_this) { return static_cast(i_this)->Delete(); } -static s32 daTag_BottleItem_Execute(void* i_this) { +static int daTag_BottleItem_Execute(void* i_this) { return static_cast(i_this)->Execute(); } -static s32 daTag_BottleItem_Draw(void* i_this) { +static int daTag_BottleItem_Draw(void* i_this) { return static_cast(i_this)->Draw(); } -static s32 daTag_BottleItem_IsDelete(void* i_this) { +static int daTag_BottleItem_IsDelete(void* i_this) { return 1; } diff --git a/src/d/actor/d_a_tag_camera.cpp b/src/d/actor/d_a_tag_camera.cpp index f1b34e8084..5378ff1182 100644 --- a/src/d/actor/d_a_tag_camera.cpp +++ b/src/d/actor/d_a_tag_camera.cpp @@ -1,10 +1,12 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep -#include "d/actor/d_a_tag_camera.h" #include #include "d/actor/d_a_alink.h" -#include "d/d_com_inf_game.h" #include "d/actor/d_a_horse.h" +#include "d/actor/d_a_tag_camera.h" +#include "d/d_com_inf_game.h" +#include "d/d_debug_viewer.h" +#include "d/d_s_play.h" namespace { bool always_true() { @@ -107,19 +109,19 @@ u8 daTag_Cam_c::getSwType() { } u8 daTag_Cam_c::getPrio() { - return (fopAcM_GetParam(this) >> 4) & 0xF; + return (fopAcM_GetParam(this) & 0xF0) >> 4; } u8 daTag_Cam_c::getSwBit() { - return (fopAcM_GetParam(this) >> 8) & 0xFF; + return (fopAcM_GetParam(this) & 0xFF00) >> 8; } u8 daTag_Cam_c::getCondition() { - return (fopAcM_GetParam(this) >> 0x10) & 0xFF; + return (fopAcM_GetParam(this) & 0xFF0000) >> 16; } u8 daTag_Cam_c::getCameraId() { - return (fopAcM_GetParam(this) >> 0x18) & 0xFF; + return (fopAcM_GetParam(this) & 0xFF000000) >> 24; } u8 daTag_Cam_c::getRailID() { @@ -184,8 +186,10 @@ int daTag_Cam_c::create() { is_player_hugging_eal, }; + int var_r27 = 22; + u8 func_index = getCondition(); - if ((int)func_index > 22) { + if ((int)func_index > var_r27) { func_index = 3; } @@ -251,7 +255,11 @@ int daTag_Cam_c::execute() { bool set_camera = mCheckFunc(); if (condition == 0xFF) { +#if PLATFORM_SHIELD + priority |= (u16)0x8000; +#else priority |= 0x8000; +#endif } else if (condition == 0xFA) { if (dCam_getBody()->CheckFlag(0x8000000)) { set_camera = true; @@ -269,6 +277,28 @@ int daTag_Cam_c::execute() { } static int daTag_Cam_Draw(daTag_Cam_c* i_this) { +#if DEBUG + return i_this->draw(); +#else + return 1; +#endif +} + +int daTag_Cam_c::draw() { +#if DEBUG + if (g_envHIO.mOther.mDisplayTransparentCyl != 0) { + if (getAreaType() == 0) { + cXyz sp3C = (mBoundsHi - mBoundsLo) * 0.5f; + cXyz sp30 = mBoundsLo + sp3C; + csXyz sp10(0, 0, 0); + dDbVw_drawCubeXlu(sp30, sp3C, sp10, (GXColor){0xc0, 0xff, 0x78, 0xa0}); + } else { + cXyz cStack_3c = current.pos; + dDbVw_drawCylinderXlu(cStack_3c, scale.x, scale.y, (GXColor){0xc0, 0xff, 0x78, 0xa0}, + 1); + } + } +#endif return 1; } @@ -282,13 +312,16 @@ static int daTag_Cam_IsDelete(daTag_Cam_c* i_this) { } static int daTag_Cam_Delete(daTag_Cam_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTag_Cam_c(); return 1; } static int daTag_Cam_Create(fopAc_ac_c* i_this) { - daTag_Cam_c* a_this = (daTag_Cam_c*)i_this; - return a_this->create(); + daTag_Cam_c* cam = (daTag_Cam_c*)i_this; + int id = fopAcM_GetID(i_this); + int result = cam->create(); + return result; } static actor_method_class l_daTag_Cam_Method = { diff --git a/src/d/actor/d_a_tag_chgrestart.cpp b/src/d/actor/d_a_tag_chgrestart.cpp index c2eb2260b9..626f268847 100644 --- a/src/d/actor/d_a_tag_chgrestart.cpp +++ b/src/d/actor/d_a_tag_chgrestart.cpp @@ -6,9 +6,35 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_chgrestart.h" + +#include "d/d_debug_viewer.h" #include "d/d_procname.h" -s32 daTagChgRestart_c::Create() { +class daTagChgRestart_HIO_c : public mDoHIO_entry_c { +public: + daTagChgRestart_HIO_c(); + + void genMessage(JORMContext* ctx); + + u8 show_range; +}; + +#if DEBUG +daTagChgRestart_HIO_c l_HIO; + +daTagChgRestart_HIO_c::daTagChgRestart_HIO_c() { + show_range = FALSE; +} + +void daTagChgRestart_HIO_c::genMessage(JORMContext* ctx) { + // "Room return position change tag" + ctx->genLabel("部屋戻し位置変更タグ", 0); + // "Display range" + ctx->genCheckBox("範囲表示", &show_range, 1); +} +#endif + +int daTagChgRestart_c::Create() { mVertices[0].x = -100.0f * scale.x; mVertices[0].z = -100.0f * scale.z; @@ -21,25 +47,27 @@ s32 daTagChgRestart_c::Create() { mVertices[3].x = -100.0f * scale.x; mVertices[3].z = 100.0f * scale.z; - mVertices[3].y = 0.0f; - mVertices[2].y = 0.0f; - mVertices[1].y = 0.0f; - mVertices[0].y = 0.0f; + mVertices[0].y = mVertices[1].y = mVertices[2].y = mVertices[3].y = 0.0f; return 1; } -s32 daTagChgRestart_c::create() { +int daTagChgRestart_c::create() { fopAcM_ct(this, daTagChgRestart_c); if (!Create()) { return cPhs_ERROR_e; } +#if DEBUG + // "Room return position change tag" + l_HIO.entryHIO("部屋戻し位置変更タグ"); +#endif + return cPhs_COMPLEATE_e; } -s32 daTagChgRestart_c::execute() { +int daTagChgRestart_c::execute() { if (fopAcM_isSwitch(this, daTagChgRestart_prm::getSwNo(this))) { return 1; } @@ -59,11 +87,13 @@ s32 daTagChgRestart_c::execute() { u8 playerNo = daTagChgRestart_prm::getPlayerNo(this); if (playerNo != 0xFF) { - dStage_roomDt_c* roomDt = dComIfGp_roomControl_getStatusRoomDt(fopAcM_GetRoomNo(this)); + int roomNo = fopAcM_GetRoomNo(this); + dStage_roomDt_c* roomDt = dComIfGp_roomControl_getStatusRoomDt(roomNo); stage_actor_class* player_data = roomDt->getPlayer(); stage_actor_data_class* entry_p = player_data->m_entries; - for (int i = 0; i < player_data->num; i++) { + int i = 0; + for (i = 0; i < player_data->num; i++) { if ((entry_p->base.angle.z & 0xFF) == playerNo) { break; } @@ -71,6 +101,11 @@ s32 daTagChgRestart_c::execute() { entry_p++; } + if (i == player_data->num) { + OS_REPORT_ERROR("部屋戻し位置変更の為のプレイヤー番号が不正です!<%d>\n", i); + JUT_ASSERT(317, FALSE); + } + restart_pos = entry_p->base.position; restart_angle = entry_p->base.angle.y; } @@ -82,26 +117,74 @@ s32 daTagChgRestart_c::execute() { return 1; } -s32 daTagChgRestart_c::_delete() { +int daTagChgRestart_c::draw() { +#if DEBUG + if (l_HIO.show_range) { + GXColor color = {0, 0, 0x80, 0x80}; + cXyz sp10[8]; + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(current.angle.y); + + sp10[0] = mVertices[0]; + sp10[1] = mVertices[1]; + sp10[2] = mVertices[3]; + sp10[3] = mVertices[2]; + sp10[4] = mVertices[0]; + sp10[5] = mVertices[1]; + sp10[6] = mVertices[3]; + sp10[7] = mVertices[2]; + + for (int i = 0; i < 8; i++) { + mDoMtx_stack_c::multVec(&sp10[i], &sp10[i]); + } + for (int i = 0; i < 4; i++) { + sp10[i].y += 1000.0f; + } + + dDbVw_drawCube8pXlu(sp10, color); + } +#endif + return 1; } -static s32 daTagChgRestart_Execute(daTagChgRestart_c* i_this) { +int daTagChgRestart_c::_delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + return 1; +} + +static int daTagChgRestart_Execute(daTagChgRestart_c* i_this) { return i_this->execute(); } -static s32 daTagChgRestart_Delete(daTagChgRestart_c* i_this) { +static int daTagChgRestart_Delete(daTagChgRestart_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } -static s32 daTagChgRestart_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); +static int daTagChgRestart_Create(fopAc_ac_c* i_this) { + daTagChgRestart_c* chgRestart = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return chgRestart->create(); +} + +static int daTagChgRestart_Draw(daTagChgRestart_c* i_this) { + return i_this->draw(); } static actor_method_class l_daTagChgRestart_Method = { (process_method_func)daTagChgRestart_Create, (process_method_func)daTagChgRestart_Delete, (process_method_func)daTagChgRestart_Execute, + NULL, +#if DEBUG + (process_method_func)daTagChgRestart_Draw, +#else + NULL, +#endif }; actor_process_profile_definition g_profile_Tag_ChgRestart = { diff --git a/src/d/actor/d_a_tag_chkpoint.cpp b/src/d/actor/d_a_tag_chkpoint.cpp index 04ca0a80ab..6b79abf81a 100644 --- a/src/d/actor/d_a_tag_chkpoint.cpp +++ b/src/d/actor/d_a_tag_chkpoint.cpp @@ -7,7 +7,10 @@ #include "d/actor/d_a_tag_chkpoint.h" #include + #include "d/actor/d_a_player.h" +#include "d/d_debug_viewer.h" +#include "d/d_s_play.h" int daTag_Chk_c::execute() { if (fopAcM_GetRoomNo(this) != dComIfGp_roomControl_getStayNo()) { @@ -32,10 +35,10 @@ int daTag_Chk_c::execute() { var_r27 = 2; } - u8 swbit2 = getSwBit2(); - if (swbit2 == 0xFF) { + swbit = getSwBit2(); + if (swbit == 0xFF) { var_r26 = 0; - } else if (dComIfGs_isSwitch(swbit2, fopAcM_GetRoomNo(this))) { + } else if (dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this))) { var_r26 = 1; } else { var_r26 = 2; @@ -44,20 +47,22 @@ int daTag_Chk_c::execute() { bool set_attention = false; if (sp64[var_r27][var_r26] != 0) { - cXyz& player_pos = dComIfGp_getLinkPlayer()->current.pos; + daPy_py_c* player = dComIfGp_getLinkPlayer(); if (getAreaType() == 0) { - if (mVtxA.x <= player_pos.x && player_pos.x <= mVtxB.x && mVtxA.y <= player_pos.y && - player_pos.y <= mVtxB.y && mVtxA.z <= player_pos.z && player_pos.z <= mVtxB.z) + if (mVtxA.x <= player->current.pos.x && player->current.pos.x <= mVtxB.x && + mVtxA.y <= player->current.pos.y && player->current.pos.y <= mVtxB.y && + mVtxA.z <= player->current.pos.z && player->current.pos.z <= mVtxB.z) { set_attention = true; } } else { - f32 x_dist = current.pos.x - player_pos.x; - f32 z_dist = current.pos.z - player_pos.z; + f32 x_dist = current.pos.x - player->current.pos.x; + f32 z_dist = current.pos.z - player->current.pos.z; - if (std::sqrt(x_dist * x_dist + z_dist * z_dist) < scale.x && mVtxA.y <= player_pos.y && - player_pos.y <= mVtxB.y) + f32 var_f29 = std::sqrt(x_dist * x_dist + z_dist * z_dist); + if (var_f29 < scale.x && mVtxA.y <= player->current.pos.y && + player->current.pos.y <= mVtxB.y) { set_attention = true; } @@ -75,6 +80,30 @@ int daTag_Chk_c::execute() { } static int daTag_Chk_Draw(daTag_Chk_c* i_this) { +#if DEBUG + return i_this->draw(); +#else + return 1; +#endif +} + +int daTag_Chk_c::draw() { +#if DEBUG + if (g_envHIO.mOther.mDisplayTransparentCyl) { + if (getAreaType() == 0) { + cXyz sp40 = (mVtxB - mVtxA) * 0.5f; + cXyz sp34 = mVtxA + sp40; + csXyz sp14(0,0,0); + dDbVw_drawCubeXlu(sp34, sp40, sp14,(GXColor){0xc0, 0x78, 0xff, 0xa0}); + } else { + cXyz sp28 = current.pos; + dDbVw_drawCylinderXlu(sp28, scale.x, scale.y, (GXColor){0xc0, 0x78, 0xff, 0xa0}, 1); + } + } + if (g_envHIO.mOther.mDisplayTransparentCyl) { + dDbVw_drawSphereXlu(attention_info.position, 20.0f, (GXColor){0xc0, 0x78, 0xff, 0xc0}, 1); + } +#endif return 1; } @@ -88,12 +117,16 @@ static int daTag_Chk_IsDelete(daTag_Chk_c* i_this) { } static int daTag_Chk_Delete(daTag_Chk_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTag_Chk_c(); return 1; } static int daTag_Chk_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTag_Chk_c* chk = static_cast(i_this); + int id = fopAcM_GetID(i_this); + int result = chk->create(); + return result; } static actor_method_class l_daTag_Chk_Method = { diff --git a/src/d/actor/d_a_tag_csw.cpp b/src/d/actor/d_a_tag_csw.cpp index 5c461f3afc..24be671d06 100644 --- a/src/d/actor/d_a_tag_csw.cpp +++ b/src/d/actor/d_a_tag_csw.cpp @@ -10,10 +10,36 @@ #include "d/d_com_inf_game.h" #include "d/d_bg_w.h" +class daTagCsw_HIO_c : public mDoHIO_entry_c { +public: + daTagCsw_HIO_c(); + + void genMessage(JORMContext*); + + f32 field_0x8; +}; + static const char* l_arcName = "Lv6Warp"; -#pragma push -#pragma force_active on +static int const l_bmd_idx[2] = {5, 6}; + +static int const l_brk_idx[2] = {9, 10}; + +static int const l_dbz_idx[2] = {13, 14}; + +#if DEBUG +static daTagCsw_HIO_c l_HIO; + +daTagCsw_HIO_c::daTagCsw_HIO_c() { + field_0x8 = 5.0f; +} + +void daTagCsw_HIO_c::genMessage(JORMContext* ctx) { + ctx->genLabel("石像ワープ", 0); + ctx->genSlider("上昇速度", &field_0x8, 0.0f, 30.0f); +} +#endif + static dCcD_SrcCyl l_cyl_src = { { {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x0}, 0x19}}, // mObj @@ -22,17 +48,14 @@ static dCcD_SrcCyl l_cyl_src = { {0x0}, // mGObjCo }, // mObjInf { - { - {0.0f, 0.0f, 0.0f}, // mCenter - 300.0f, // mRadius - 600.0f // mHeight - } // mCyl + { + {0.0f, 0.0f, 0.0f}, // mCenter + 300.0f, // mRadius + 600.0f // mHeight + } // mCyl } // mCylAttr }; -#pragma pop -#pragma push -#pragma force_active on static dCcD_SrcCyl l_tg_src = { { {0x0, {{0x0, 0x0, 0x0}, {0x400000, 0x11}, 0x0}}, // mObj @@ -41,29 +64,16 @@ static dCcD_SrcCyl l_tg_src = { {0x0}, // mGObjCo }, // mObjInf { - { - {0.0f, 0.0f, 0.0f}, // mCenter - 300.0f, // mRadius - 600.0f // mHeight - } // mCyl + { + {0.0f, 0.0f, 0.0f}, // mCenter + 300.0f, // mRadius + 600.0f // mHeight + } // mCyl } // mCylAttr }; -#pragma pop daTagCsw_c::~daTagCsw_c() {} -static u8 const l_bmd_idx[8] = { - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, -}; - -static u8 const l_brk_idx[8] = { - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, -}; - -static u8 const l_dbz_idx[8] = { - 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, -}; - void daTagCsw_c::setMtx() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(current.angle.y); @@ -164,14 +174,13 @@ static int daTagCsw_c_createHeap(fopAc_ac_c* i_this) { int daTagCsw_c::chkInsideStatueStart() { bool rv = false; + bool var_r29; if (fopAcM_isSwitch(this, getSw())) { - bool bVar1 = true; - if (getSw() != 10) { - if (fopAcM_isSwitch(this, getSw() + 1)) { - bVar1 = false; - } + var_r29 = true; + if (getSw() != 10 && fopAcM_isSwitch(this, getSw() + 1)) { + var_r29 = false; } - if (bVar1) { + if (var_r29) { rv = true; } } @@ -180,6 +189,14 @@ int daTagCsw_c::chkInsideStatueStart() { int daTagCsw_c::create() { fopAcM_ct(this, daTagCsw_c); + + if (getSw() < 0 || getSw() > 10) { + // "Stone statue warp tag: Switch bit is out of range: + // Please use a save bit within the range (%d~%d)" + OS_REPORT_ERROR("石像ワープタグ:スイッチビットが範囲外:%dセーブビット(%d~%d)でお願いします。\n", + getSw(), 0, 10); + } + field_0x570 = getType(); int rv = dComIfG_resLoad(this, l_arcName); if (rv == cPhs_COMPLEATE_e) { @@ -191,7 +208,11 @@ int daTagCsw_c::create() { field_0x624 = 500.0f; } else if (chkInsideStatueStart()) { field_0x624 = 0.0f; +#if DEBUG + field_0x628 = l_HIO.field_0x8; +#else field_0x628 = 5.0f; +#endif if (getSw2() != 0xff) { fopAcM_onSwitch(this, getSw2()); } @@ -225,24 +246,27 @@ int daTagCsw_c::create() { return rv; } -static void* searchTagCswOut(void* param_1, void* param_2) { - if (param_1 != NULL && fopAcM_IsActor(param_1) && fopAcM_GetProfName(param_1) == PROC_TAG_CSW && - static_cast(param_1)->getType() == 1) - { - if (static_cast(param_1)->getSw() == - static_cast(param_2)->getSw()) - { - return param_1; +static void* searchTagCswOut(void* param_0, void* param_1) { + UNUSED(param_1); + if (param_0 != NULL && fopAcM_IsActor(param_0) && fopAcM_GetProfName(param_0) == PROC_TAG_CSW) { + daTagCsw_c* csw1 = static_cast(param_0); + daTagCsw_c* csw2 = static_cast(param_1); + if (csw1->getType() == 1) { + if (csw1->getSw() == csw2->getSw()) { + return param_0; + } } } return NULL; } -static void* searchCStatue(void* param_1, void* param_2) { - if (param_1 != NULL && fopAcM_IsActor(param_1) && fopAcM_GetProfName(param_1) == PROC_CSTATUE && - static_cast(param_1)->checkNormalType()) - { - return param_1; +static void* searchCStatue(void* param_0, void* param_1) { + UNUSED(param_1); + if (param_0 != NULL && fopAcM_IsActor(param_0) && fopAcM_GetProfName(param_0) == PROC_CSTATUE) { + daCstatue_c* cstatue = static_cast(param_0); + if (cstatue->checkNormalType()) { + return param_0; + } } return NULL; } @@ -283,11 +307,14 @@ void daTagCsw_c::offLight() { int daTagCsw_c::execute() { bool bVar3 = false; daCstatue_c* statue = (daCstatue_c*)fopAcM_Search(searchCStatue, this); - if (statue != NULL && statue->current.pos.absXZ(current.pos) < 75.0f && - statue->current.pos.y > current.pos.y - 30.0f && - statue->current.pos.y < current.pos.y + 200.0f) - { - bVar3 = true; + if (statue != NULL) { + f32 dist = statue->current.pos.absXZ(current.pos); + if (dist < 75.0f && + statue->current.pos.y > current.pos.y - 30.0f && + statue->current.pos.y < current.pos.y + 200.0f) + { + bVar3 = true; + } } if (field_0x570 == 0) { if (bVar3) { @@ -302,7 +329,11 @@ int daTagCsw_c::execute() { if (cM3d_IsZero(field_0x628) && getSw2() != 0xff) { fopAcM_onSwitch(this, getSw2()); } +#if DEBUG + field_0x628 = -l_HIO.field_0x8; +#else field_0x628 = -5.0f; +#endif if (!field_0x588->ChkUsed()) { dComIfG_Bgsp().Regist(field_0x588, this); field_0x5ec = 0; @@ -342,14 +373,14 @@ int daTagCsw_c::execute() { } } if (field_0x570 == 0 && getSw() == 6 && field_0x8e2 != 0) { - s16 angleDiff = (current.angle.y - statue->current.angle.y); - s16 sVar4 = angleDiff / field_0x8e2; - if (sVar4 > 0x800) { - statue->current.angle.y += 0x800; - } else if (sVar4 < -0x800) { - statue->current.angle.y -= 0x800; + s16 sp0A = current.angle.y - statue->current.angle.y; + sp0A /= field_0x8e2; + if (sp0A > 0x800) { + statue->current.angle.y += (s16)0x800; + } else if (sp0A < -0x800) { + statue->current.angle.y -= (s16)0x800; } else { - statue->current.angle.y += sVar4; + statue->current.angle.y += sp0A; } statue->shape_angle.y = statue->current.angle.y; onLight(); @@ -357,7 +388,11 @@ int daTagCsw_c::execute() { } if (!bVar3 && field_0x624 == 0.0f) { if (fopAcM_isSwitch(this, getSw())) { +#if DEBUG + field_0x628 = l_HIO.field_0x8; +#else field_0x628 = 5.0f; +#endif } } } else { @@ -365,7 +400,11 @@ int daTagCsw_c::execute() { if (getSw2() != 0xff) { fopAcM_onSwitch(this, getSw2()); } +#if DEBUG + field_0x628 = l_HIO.field_0x8; +#else field_0x628 = 5.0f; +#endif onLight(); } else if (field_0x624 == 500.0f) { @@ -498,7 +537,8 @@ static int daTagCsw_Delete(daTagCsw_c* i_this) { } static int daTagCsw_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagCsw_c* csw = static_cast(i_this); + return csw->create(); } static actor_method_class l_daTagCsw_Method = { diff --git a/src/d/actor/d_a_tag_escape.cpp b/src/d/actor/d_a_tag_escape.cpp index 268f3e3ed1..7b18f747d1 100644 --- a/src/d/actor/d_a_tag_escape.cpp +++ b/src/d/actor/d_a_tag_escape.cpp @@ -8,12 +8,19 @@ #include "d/actor/d_a_tag_escape.h" #include "d/d_procname.h" -static int daTagEscape_Create(fopAc_ac_c* i_this) { - fopAcM_ct(i_this, daTagEscape_c); +int daTagEscape_c::create() { + fopAcM_ct(this, daTagEscape_c); return cPhs_COMPLEATE_e; } +static int daTagEscape_Create(fopAc_ac_c* i_this) { + daTagEscape_c* escape = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return escape->create(); +} + static int daTagEscape_Delete(daTagEscape_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagEscape_c(); return 1; } diff --git a/src/d/actor/d_a_tag_event.cpp b/src/d/actor/d_a_tag_event.cpp index 019cfb6583..f772ebc349 100644 --- a/src/d/actor/d_a_tag_event.cpp +++ b/src/d/actor/d_a_tag_event.cpp @@ -1,23 +1,25 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/actor/d_a_horse.h" #include "d/actor/d_a_tag_event.h" #include "d/d_com_inf_game.h" -#include "d/actor/d_a_horse.h" +#include "d/d_debug_viewer.h" +#include "d/d_s_play.h" static fopAc_ac_c* daTag_getBk(u32 param_0) { return fopAcM_searchFromName("Bk", 0xF, param_0); } u8 daTag_Event_c::getEventNo() { - return fopAcM_GetParam(this) >> 0x18; + return (fopAcM_GetParam(this) & 0xff000000) >> 24; } u8 daTag_Event_c::getSwbit() { - return fopAcM_GetParam(this) >> 0x8; + return (fopAcM_GetParam(this) & 0xff00) >> 8; } u8 daTag_Event_c::getSwbit2() { - return fopAcM_GetParam(this) >> 0x10; + return (fopAcM_GetParam(this) & 0xff0000) >> 16; } u8 daTag_Event_c::getType() { @@ -103,10 +105,8 @@ int daTag_Event_c::create() { setActio(ACTION_WAIT); } - shape_angle.z = 0; - shape_angle.x = 0; - current.angle.z = 0; - current.angle.x = 0; + shape_angle.x = shape_angle.z = 0; + current.angle.x = current.angle.z = 0; scale.x *= 100.0f; scale.y *= 100.0f; @@ -131,8 +131,9 @@ int daTag_Event_c::actionNext() { mEventIdx = mMapEventIdx; mMapEventIdx = -1; + int roomNo = fopAcM_GetRoomNo(this); dStage_MapEvent_dt_c* event_data = - dEvt_control_c::searchMapEventData(mMapToolId, fopAcM_GetRoomNo(this)); + dEvt_control_c::searchMapEventData(mMapToolId, roomNo); if (event_data != NULL) { mMapToolId = event_data->field_0x5; mMapEventIdx = dComIfGp_getEventManager().getEventIdx(this, mMapToolId); @@ -231,6 +232,10 @@ int daTag_Event_c::actionHunt() { if (swbit != 0xFF && dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this))) { setActio(ACTION_WAIT); } else if (arrivalTerms() && checkArea()) { +#if DEBUG + mEventIdx = dComIfGp_getEventManager().getEventIdx(this, getEventNo()); +#endif + setActio(ACTION_READY); fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1); } @@ -299,6 +304,36 @@ int daTag_Event_c::execute() { } int daTag_Event_c::draw() { +#if DEBUG + static GXColor color = {0x00, 0x00, 0xFF, 0xFF}; + + if (g_envHIO.mOther.mDisplayTransparentCyl != 0) { + if (getAreaType() == 0x8000) { + cXyz sp30[8]; + cXyz sp20(current.pos.x - scale.x * 0.5f, + current.pos.y, + current.pos.z - scale.z * 0.5f); + cXyz sp14(current.pos.x + scale.x * 0.5f, + current.pos.y + scale.y, + current.pos.z + scale.z * 0.5f); + sp30[0].set(sp20.x, sp20.y, sp20.z); + sp30[1].set(sp20.x, sp20.y, sp14.z); + sp30[2].set(sp14.x, sp20.y, sp14.z); + sp30[3].set(sp14.x, sp20.y, sp20.z); + sp30[4].set(sp20.x, sp14.y, sp20.z); + sp30[5].set(sp20.x, sp14.y, sp14.z); + sp30[6].set(sp14.x, sp14.y, sp14.z); + sp30[7].set(sp14.x, sp14.y, sp20.z); + dDbVw_drawCube8pXlu(sp30, color); + } else { + cXyz sp08(current.pos); + sp08.y -= scale.y; + dDbVw_drawCylinderXlu( + sp08, scale.x, scale.y * 2.0f, + color, 1); + } + } +#endif return 1; } @@ -316,12 +351,16 @@ static int daTag_Event_IsDelete(daTag_Event_c* i_this) { } static int daTag_Event_Delete(daTag_Event_c* i_this) { + u32 actorId = fopAcM_GetID(i_this); i_this->~daTag_Event_c(); return 1; } static int daTag_Event_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTag_Event_c* event = static_cast(i_this); + u32 actorId = fopAcM_GetID(i_this); + int result = event->create(); + return result; } static actor_method_class l_daTag_Event_Method = { diff --git a/src/d/actor/d_a_tag_evt.cpp b/src/d/actor/d_a_tag_evt.cpp index a41258bebb..81ada5a6fe 100644 --- a/src/d/actor/d_a_tag_evt.cpp +++ b/src/d/actor/d_a_tag_evt.cpp @@ -22,7 +22,7 @@ char* daTag_Evt_c::mEvtCutList[] = { int daTag_Evt_c::create() { fopAcM_ct(this, daTag_Evt_c); - cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_resFileName); + cPhs_Step phase = dComIfG_resLoad(&mPhase, l_resFileName); if (phase == cPhs_COMPLEATE_e) { eventInfo.setArchiveName(l_resFileName); strcpy(field_0x568, "TagEvt"); @@ -38,14 +38,20 @@ int daTag_Evt_c::destroy() { } int daTag_Evt_c::execute() { + cXyz sp14; + int var_r29 = 0; BOOL bVar = true; + u16 eventId; + int iVar1; + int actIdx; + eyePos.set(current.pos.x, current.pos.y + 100.0f, current.pos.z); attention_info.position = eyePos; fopAcM_SetRoomNo(this, dComIfGp_roomControl_getStayNo()); if (field_0x5E4 == 0 || field_0x5E4 == 1) { if (dComIfGp_event_runCheck()) { bVar = false; - int iVar1 = dComIfGp_evmng_getMyStaffId(field_0x568, 0, 0); + iVar1 = dComIfGp_evmng_getMyStaffId(field_0x568, 0, 0); if (!eventInfo.checkCommandTalk()) { if (eventInfo.checkCommandDemoAccrpt()) { if (dComIfGp_getEventManager().endCheck(field_0x572)) { @@ -55,20 +61,20 @@ int daTag_Evt_c::execute() { bVar = true; } else { if (iVar1 != -1) { - int actIdx = dComIfGp_getEventManager().getMyActIdx( + actIdx = dComIfGp_getEventManager().getMyActIdx( iVar1, mEvtCutList, 3, 0, 0); - int iVar2 = 0; + var_r29 = 0; switch (actIdx) { case 0: - iVar2 = doEvtCutWait(iVar1); + var_r29 = doEvtCutWait(iVar1); break; case 1: - iVar2 = doEvtCutTalk(iVar1); + var_r29 = doEvtCutTalk(iVar1); break; case 2: - iVar2 = doEvtCutNext(iVar1); + var_r29 = doEvtCutNext(iVar1); } - if (iVar2 != 0) { + if (var_r29 != 0) { dComIfGp_getEventManager().cutEnd(iVar1); } } @@ -77,7 +83,7 @@ int daTag_Evt_c::execute() { } else if (field_0x5DC != 0) { if (mMsgFlow.doFlow(this, NULL, 0) != 0) { dComIfGp_event_reset(); - u16 eventId = mMsgFlow.getEventId(NULL); + eventId = mMsgFlow.getEventId(NULL); if (eventId != 0) { daNpcMsg_setEvtNum(eventId); field_0x570 = 1; @@ -92,8 +98,8 @@ int daTag_Evt_c::execute() { } } if (!isDelete() && cLib_calcTimer(&field_0x5D0) == 0) { - cXyz var1 = daPy_getPlayerActorClass()->current.pos - current.pos; - if (var1.absXZ() < scale.x && -scale.y < var1.y && var1.y < scale.y) { + sp14 = daPy_getPlayerActorClass()->current.pos - current.pos; + if (sp14.absXZ() < scale.x && -scale.y < sp14.y && sp14.y < scale.y) { field_0x570 = 1; } } @@ -113,16 +119,16 @@ int daTag_Evt_c::draw() { int daTag_Evt_c::getParam() { field_0x5E0 = fopAcM_GetParam(this) & 0xFFF; - field_0x5E2 = (fopAcM_GetParam(this) >> 0xC) & 0xFFF; + field_0x5E2 = (fopAcM_GetParam(this) & 0xFFF000) >> 12; if ((fopAcM_GetParam(this) & 0xF000000) != 0xF000000) { - field_0x5D8 = (fopAcM_GetParam(this) & 0xF000000) >> 0x18; + field_0x5D8 = (fopAcM_GetParam(this) & 0xF000000) >> 24; } else { field_0x5D8 = -1; } - field_0x5E4 = fopAcM_GetParam(this) >> 0x1E; + field_0x5E4 = (fopAcM_GetParam(this) & 0xC0000000) >> 30; field_0x5DD = home.angle.x; - field_0x5DE = (u16)home.angle.x >> 8; + field_0x5DE = (home.angle.x & 0xFF00) >> 8; field_0x5D4 = home.angle.z & 0xFF; if ((home.angle.z & 0xFF00) != 0xFF00) { field_0x5D0 = ((home.angle.z & 0xFF00) >> 8) * 0x1E; @@ -175,16 +181,19 @@ int daTag_Evt_c::isDelete() { } int daTag_Evt_c::doEvtCutWait(int param_0) { + int* pTimer = NULL; if (dComIfGp_getEventManager().getIsAddvance(param_0)) { - int* pTimer = dComIfGp_evmng_getMyIntegerP(param_0, "timer"); - mTimer = (pTimer == NULL ? 0 : *pTimer); + pTimer = dComIfGp_evmng_getMyIntegerP(param_0, "timer"); + mTimer = pTimer == NULL ? 0 : *pTimer; } return cLib_calcTimer(&mTimer) == 0; } int daTag_Evt_c::doEvtCutTalk(int param_0) { + int* pTimer = NULL; if (dComIfGp_getEventManager().getIsAddvance(param_0)) { - mMsgFlow.init(this, *dComIfGp_evmng_getMyIntegerP(param_0, "flowNodeNo"), 0, NULL); + pTimer = dComIfGp_evmng_getMyIntegerP(param_0, "flowNodeNo"); + mMsgFlow.init(this, *pTimer, 0, NULL); return 0; } else { return mMsgFlow.doFlow(this, NULL, 0); @@ -192,6 +201,7 @@ int daTag_Evt_c::doEvtCutTalk(int param_0) { } int daTag_Evt_c::doEvtCutNext(int param_0) { + int* pTimer = NULL; if (dComIfGp_getEventManager().getIsAddvance(param_0)) { if ((field_0x5E4 == 0 || field_0x5E4 == 1) && field_0x5DE != 0xFF) { dComIfGs_onSwitch(field_0x5DE, fopAcM_GetRoomNo(this)); diff --git a/src/d/actor/d_a_tag_evtarea.cpp b/src/d/actor/d_a_tag_evtarea.cpp index 5833296ffe..1a60b4f867 100644 --- a/src/d/actor/d_a_tag_evtarea.cpp +++ b/src/d/actor/d_a_tag_evtarea.cpp @@ -8,7 +8,9 @@ #include "d/actor/d_a_npc.h" #include "d/d_procname.h" -cPhs__Step daTag_EvtArea_c::create() { +cPhs_Step daTag_EvtArea_c::create() { + int var_r28 = 0; + fopAcM_ct(this, daTag_EvtArea_c); switch (getType()) { @@ -149,20 +151,19 @@ BOOL daTag_EvtArea_c::isDelete() { } BOOL daTag_EvtArea_c::chkPointInArea(cXyz i_point, cXyz i_addSize) { - cXyz area_vtx[4]; - cXyz size, center, player_to_home, point_to_current; - if (field_0x56c == 0) { if ((getOnEvtBit() != -1 && daNpcT_chkEvtBit(getOnEvtBit())) || (getBitSW() != 0xff && dComIfGs_isSwitch(getBitSW(), fopAcM_GetRoomNo(this))) || (getOnEvtBit() == -1 && getBitSW() == 0xFF)) { - size = scale + i_addSize; + cXyz size = scale + i_addSize; + cXyz center; if (getType() == 15 || getType() == 16) { - player_to_home = daPy_getPlayerActorClass()->current.pos; + cXyz area_vtx[4]; + cXyz player_to_home = daPy_getPlayerActorClass()->current.pos; player_to_home -= home.pos; - mDoMtx_YrotS(mDoMtx_stack_c::now, -current.angle.y); + mDoMtx_stack_c::YrotS(-current.angle.y); mDoMtx_stack_c::multVec(&player_to_home, &player_to_home); // bottom left @@ -184,7 +185,7 @@ BOOL daTag_EvtArea_c::chkPointInArea(cXyz i_point, cXyz i_addSize) { if (area_vtx[0].x < player_to_home.x && area_vtx[0].z < player_to_home.z && area_vtx[2].x > player_to_home.x && area_vtx[2].z > player_to_home.z) { - point_to_current = i_point - current.pos; + cXyz point_to_current = i_point - current.pos; if (0 <= (int)point_to_current.y && (int)point_to_current.y < (int)size.y) { return true; } @@ -204,7 +205,7 @@ BOOL daTag_EvtArea_c::chkPointInArea(cXyz i_point, cXyz i_addSize) { return false; } -static cPhs__Step daTag_EvtArea_Create(void* i_this) { +static cPhs_Step daTag_EvtArea_Create(void* i_this) { return static_cast(i_this)->create(); } diff --git a/src/d/actor/d_a_tag_evtmsg.cpp b/src/d/actor/d_a_tag_evtmsg.cpp index 73d516eacb..26d64f664b 100644 --- a/src/d/actor/d_a_tag_evtmsg.cpp +++ b/src/d/actor/d_a_tag_evtmsg.cpp @@ -10,6 +10,13 @@ #include "d/d_com_inf_game.h" #include "d/d_procname.h" +enum evt_cut_e { + EVT_CUT_NONE_e, + EVT_CUT_TALK_e, + EVT_CUT_WAIT_e, + NUM_EVT_CUTS_e, +}; + char* daTag_EvtMsg_c::mEvtCutNameList[] = {"", "TALK", "WAIT"}; EvtCutFunc daTag_EvtMsg_c::mEvtCutList[] = { @@ -21,6 +28,8 @@ EvtCutFunc daTag_EvtMsg_c::mEvtCutList[] = { static char* l_myName = "EvtMsg"; int daTag_EvtMsg_c::create() { + int var_r28 = 0; + fopAcM_ct(this, daTag_EvtMsg_c); scale.x *= 100.0f; @@ -67,6 +76,10 @@ int daTag_EvtMsg_c::Execute() { staff_id = evt_mng.getMyStaffId(l_myName, this, -1); if (staff_id != -1) { int evtCutNo = evt_mng.getMyActIdx(staff_id, mEvtCutNameList, 3, 0, 0); + + JUT_ASSERT(165, (0 <= evtCutNo) && (evtCutNo < NUM_EVT_CUTS_e)); + JUT_ASSERT(166, NULL != mEvtCutList[evtCutNo]); + if ((this->*mEvtCutList[evtCutNo])(staff_id) != 0) { evt_mng.cutEnd(staff_id); } @@ -82,18 +95,18 @@ int daTag_EvtMsg_c::Execute() { } } else if (isDelete()) { fopAcM_delete(this); - } else if (mFlowID != -1) { - if (chkPointInArea(daPy_getPlayerActorClass()->current.pos)) { + } else { + if (mFlowID != -1 && chkPointInArea(daPy_getPlayerActorClass()->current.pos)) { if (getProcType() == 0) { - s16 var_r0 = (s16)(fopAcM_searchPlayerAngleY(this) + 0x7FFF); - var_r0 = var_r0 - daPy_getPlayerActorClass()->current.angle.y; + s16 var_r28 = (s16)(fopAcM_searchPlayerAngleY(this) + 0x7FFF); + var_r28 = var_r28 - daPy_getPlayerActorClass()->current.angle.y; - if (var_r0 < 0) { - var_r0 = -var_r0; + if (var_r28 < 0) { + var_r28 = -var_r28; } - if (var_r0 <= 0x1000) { - mEventID = evt_mng.getEventIdx(this, "DEFAULT_EVT_TALK", 0xFF); + if (var_r28 <= 0x1000) { + mEventID = dComIfGp_getEventManager().getEventIdx(this, "DEFAULT_EVT_TALK", 0xFF); fopAcM_orderOtherEventId(this, mEventID, 0xFF, 0xFFFF, 0, 1); } } else { @@ -117,20 +130,12 @@ int daTag_EvtMsg_c::Draw() { u32 daTag_EvtMsg_c::getOnEvtBit() { u32 bit = fopAcM_GetParam(this) & 0xFFF; - if (bit != 0xFFF) { - return bit; - } - - return -1; + return bit == 0xFFF ? -1 : bit; } u32 daTag_EvtMsg_c::getOffEvtBit() { - u32 bit = (fopAcM_GetParam(this) >> 0xC) & 0xFFF; - if (bit != 0xFFF) { - return bit; - } - - return -1; + u32 bit = (fopAcM_GetParam(this) & 0xFFF000) >> 12; + return bit == 0xFFF ? -1 : bit; } u8 daTag_EvtMsg_c::getOnSwBit() { @@ -138,7 +143,7 @@ u8 daTag_EvtMsg_c::getOnSwBit() { } u8 daTag_EvtMsg_c::getOffSwBit() { - return (home.angle.x >> 8) & 0xFF; + return (home.angle.x & 0xFF00) >> 8; } u8 daTag_EvtMsg_c::getProcType() { @@ -175,7 +180,8 @@ BOOL daTag_EvtMsg_c::chkPointInArea(cXyz param_0) { } BOOL daTag_EvtMsg_c::ECut_talk(int i_staffID) { - if (dComIfGp_getEventManager().getIsAddvance(i_staffID)) { + dEvent_manager_c& eventMgr = dComIfGp_getEventManager(); + if (eventMgr.getIsAddvance(i_staffID)) { mMsgFlow.init(this, mFlowID, 0, NULL); } @@ -188,9 +194,10 @@ BOOL daTag_EvtMsg_c::ECut_talk(int i_staffID) { BOOL daTag_EvtMsg_c::ECut_wait(int i_staffID) { dEvent_manager_c& evt_mng = dComIfGp_getEventManager(); + int* data_p = NULL; int timer = 0; - int* data_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "timer"); + data_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "timer"); if (data_p != NULL) { timer = *data_p; } diff --git a/src/d/actor/d_a_tag_firewall.cpp b/src/d/actor/d_a_tag_firewall.cpp index c9917cc79f..29212c89c0 100644 --- a/src/d/actor/d_a_tag_firewall.cpp +++ b/src/d/actor/d_a_tag_firewall.cpp @@ -5,12 +5,13 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep -#include "d/actor/d_a_tag_firewall.h" #include #include "d/actor/d_a_player.h" -#include "d/d_com_inf_game.h" +#include "d/actor/d_a_tag_firewall.h" #include "d/d_bomb.h" #include "d/d_camera.h" +#include "d/d_com_inf_game.h" +#include "d/d_s_play.h" struct Tag_FWall_n { static dCcD_SrcSph cc_sph_src; @@ -42,6 +43,7 @@ static u8 fire_num; int daTag_FWall_c::execute() { cXyz cam_eye = dCam_getBody()->Eye(); cXyz pos; + u8 target_alpha = 0xff; if (mSetGameoverEff) { pos.set(0.0f, 0.0f, 0.0f); @@ -108,8 +110,9 @@ int daTag_FWall_c::execute() { mCcSphs[i].OnAtSetBit(); pos = mWallPos[i]; + pos.y += nREG_F(17); mCcSphs[i].SetC(pos); - mCcSphs[i].SetR(90.0f); + mCcSphs[i].SetR(90.0f + nREG_F(16)); dComIfG_Ccsp()->Set(&mCcSphs[i]); } @@ -120,8 +123,7 @@ int daTag_FWall_c::execute() { if (emitter != NULL) { pos = cam_eye - mWallPos[i]; - u8 target_alpha; - if (pos.absXZ() < 250.0f && std::abs(pos.y) < 250.0f) { + if (pos.absXZ() < 250.0f + nREG_F(18) && std::abs(pos.y) < 250.0f + nREG_F(19)) { target_alpha = 0; } else { target_alpha = 0xFF; @@ -163,23 +165,26 @@ static int daTag_FWall_IsDelete(daTag_FWall_c* i_this) { } static int daTag_FWall_Delete(daTag_FWall_c* i_this) { + int id = fopAcM_GetID(i_this); return 1; } int daTag_FWall_c::create() { fopAcM_ct(this, daTag_FWall_c); + OS_REPORT("Tag_FWall PARAM %x %d \n", fopAcM_GetParam(this), fire_num); + if (fire_num == 0) { field_0x568 = 0xFF; fire_leader = this; mCcStts.Init(0xFF, 0, this); } - fire_leader->mWallTimer[fire_num] = (fopAcM_GetParam(this) >> 8) & 0xFFFF; + fire_leader->mWallTimer[fire_num] = (fopAcM_GetParam(this) & 0xFFFF00) >> 8; fire_leader->mExplodeTime[fire_num] = current.angle.x & 0xFFFF; fire_leader->field_0x65c[fire_num] = fopAcM_GetParam(this); - u8 temp_r0 = fopAcM_GetParam(this) >> 0x18; + u8 temp_r0 = (fopAcM_GetParam(this) & 0xFF000000) >> 24; if (temp_r0 == 0xFF) { temp_r0 = 0; } @@ -194,12 +199,12 @@ int daTag_FWall_c::create() { fire_leader->mWallMode[fire_num] = 1; } - if (++fire_num > 1) { + fire_num++; + if (fire_num > 1) { return cPhs_ERROR_e; } - shape_angle.x = 0; - current.angle.x = 0; + current.angle.x = shape_angle.x = 0; return cPhs_COMPLEATE_e; } diff --git a/src/d/actor/d_a_tag_gra.cpp b/src/d/actor/d_a_tag_gra.cpp index 083aca0aa4..fe5b3dd91d 100644 --- a/src/d/actor/d_a_tag_gra.cpp +++ b/src/d/actor/d_a_tag_gra.cpp @@ -9,10 +9,12 @@ static int daTagGra_Create(fopAc_ac_c* i_this) { daTagGra_c* gra_tag = (daTagGra_c*)i_this; + int id = fopAcM_GetID(i_this); return gra_tag->create(); } static int daTagGra_Delete(daTagGra_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagGra_c(); return 1; } diff --git a/src/d/actor/d_a_tag_gstart.cpp b/src/d/actor/d_a_tag_gstart.cpp index 7a05742d52..dbf64577b6 100644 --- a/src/d/actor/d_a_tag_gstart.cpp +++ b/src/d/actor/d_a_tag_gstart.cpp @@ -14,30 +14,33 @@ int daTagGstart_c::create() { fopAcM_ct(this, daTagGstart_c); mSwNo = fopAcM_GetParam(this); - mSwNo2 = fopAcM_GetParam(this) >> 8; - field_0x56a = fopAcM_GetParam(this) >> 0x10; + mSwNo2 = (fopAcM_GetParam(this) >> 8) & 0xFF; + field_0x56a = (fopAcM_GetParam(this) >> 0x10) & 0xFF; mType = (fopAcM_GetParam(this) >> 0x18) & 0xF; return cPhs_COMPLEATE_e; } static int daTagGstart_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagGstart_c* gStart = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return gStart->create(); } daTagGstart_c::~daTagGstart_c() {} static int daTagGstart_Delete(daTagGstart_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagGstart_c(); return 1; } int daTagGstart_c::execute() { - if ((mSwNo == 0xFF || dComIfGs_isSwitch(mSwNo, fopAcM_GetHomeRoomNo(this))) && - (mSwNo2 == 0xFF || !dComIfGs_isSwitch(mSwNo2, fopAcM_GetHomeRoomNo(this)))) + if ((mSwNo == 0xFF || fopAcM_isSwitch(this, mSwNo)) && + (mSwNo2 == 0xFF || !fopAcM_isSwitch(this, mSwNo2))) { - if (mType != 0 || dComIfGp_getLinkPlayer()->checkWolf()) { - dComIfGp_getLinkPlayer()->onSceneChangeDead(field_0x56a, fopAcM_GetRoomNo(this)); + if (mType != 0 || daPy_py_c::checkNowWolf()) { + daPy_getLinkPlayerActorClass()->onSceneChangeDead(field_0x56a, fopAcM_GetRoomNo(this)); } } diff --git a/src/d/actor/d_a_tag_guard.cpp b/src/d/actor/d_a_tag_guard.cpp index f07448bc8d..661a907e70 100644 --- a/src/d/actor/d_a_tag_guard.cpp +++ b/src/d/actor/d_a_tag_guard.cpp @@ -13,7 +13,8 @@ int daTagGuard_c::getAppearPoint(Vec* i_appearPnt) { return 0; } - *i_appearPnt = dPath_GetPnt(mPath, mPath->m_num - 1)->m_position; + dPnt* pnt = dPath_GetPnt(mPath, mPath->m_num - 1); + *i_appearPnt = pnt->m_position; return 1; } @@ -21,8 +22,9 @@ void daTagGuard_c::createGuard(u32 i_parameters) { cXyz pos = current.pos; if (getPathID() != 0xFF) { - pos = dPath_GetPnt(mPath, 0)->m_position; - i_parameters |= (getPathID() << 0x10); + dPnt* pnt = dPath_GetPnt(mPath, 0); + pos.set(pnt->m_position); + i_parameters |= getPathID() << 0x10; } fopAcM_createChild(PROC_NPC_GUARD, fopAcM_GetID(this), i_parameters, &pos, @@ -38,20 +40,31 @@ int daTagGuard_c::create() { void daTagGuard_c::create_init() { mPath = dPath_GetRoomPath(getPathID(), fopAcM_GetHomeRoomNo(this)); + JUT_ASSERT(135, mPath != NULL); + dPnt* pnt1 = dPath_GetPnt(mPath, 0); dPnt* pnt2 = dPath_GetPnt(mPath, 1); +#if DEBUG + current.pos.set(pnt1->m_position); +#else + //TODO: fakematch, using ::set causes a misplaced mr on GCN versions current.pos.x = pnt1->m_position.x; current.pos.y = pnt1->m_position.y; current.pos.z = pnt1->m_position.z; +#endif + current.angle.y = cLib_targetAngleY(&pnt1->m_position, &pnt2->m_position); } static int daTagGuard_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagGuard_c* guard = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return guard->create(); } static int daTagGuard_Delete(daTagGuard_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagGuard_c(); return 1; } diff --git a/src/d/actor/d_a_tag_hinit.cpp b/src/d/actor/d_a_tag_hinit.cpp index db98089988..6f9207cf07 100644 --- a/src/d/actor/d_a_tag_hinit.cpp +++ b/src/d/actor/d_a_tag_hinit.cpp @@ -25,12 +25,15 @@ int daTagHinit_c::create() { } static int daTagHinit_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagHinit_c* hInit = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return hInit->create(); } daTagHinit_c::~daTagHinit_c() {} static int daTagHinit_Delete(daTagHinit_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagHinit_c(); return 1; } diff --git a/src/d/actor/d_a_tag_hjump.cpp b/src/d/actor/d_a_tag_hjump.cpp index 0e49eb14de..0692347e80 100644 --- a/src/d/actor/d_a_tag_hjump.cpp +++ b/src/d/actor/d_a_tag_hjump.cpp @@ -11,8 +11,27 @@ #include "d/d_com_inf_game.h" #include "d/actor/d_a_horse.h" +class daTagHjump_HIO_c : public mDoHIO_entry_c { +public: + daTagHjump_HIO_c(); + + void genMessage(JORMContext*); + + f32 depth; + f32 height; +}; + static char const l_arcName[] = "Hfence"; +#if DEBUG +daTagHjump_HIO_c l_HIO; + +void daTagHjump_HIO_c::genMessage(JORMContext* ctx) { + ctx->genSlider("高さ", &height, 0.0f, 500.0f); + ctx->genSlider("奥行き", &depth, 0.0f, 1000.0f); +} +#endif + int daTagHjump_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4); mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); @@ -43,7 +62,7 @@ int daTagHjump_c::create() { if (phase == cPhs_COMPLEATE_e) { fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); - tevStr.room_no = fopAcM_GetRoomNo(this); + tevStr.room_no = (int)fopAcM_GetRoomNo(this); mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(shape_angle.y); @@ -61,6 +80,11 @@ int daTagHjump_c::create() { fopAcM_SetMin(this, -scale.x, 0.0f, -50.0f); fopAcM_SetMax(this, scale.x, 200.0f, 50.0f); +#if DEBUG + // "Horse jumping fence" + l_HIO.entryHIO("馬ジャンプ柵"); +#endif + field_0x5ae = 0x2000; fopAcM_setCullSizeFar(this, 5.0f); field_0x5ad = 4; @@ -85,23 +109,41 @@ int daTagHjump_c::create() { return phase; } +daTagHjump_HIO_c::daTagHjump_HIO_c() { + height = 350.0f; + depth = 400.0f; +} + static int daTagHjump_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagHjump_c* hJump = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return hJump->create(); } daTagHjump_c::~daTagHjump_c() { if (mType != TYPE_TRIGGER_e) { dComIfG_resDelete(&mPhase, l_arcName); + +#if DEBUG + l_HIO.removeHIO(); +#endif } } static int daTagHjump_Delete(daTagHjump_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->MoveBGDelete(); i_this->~daTagHjump_c(); return 1; } int daTagHjump_c::execute() { +#if DEBUG + if (mType != 0) { + scale.y = l_HIO.height; + scale.z = l_HIO.depth; + } +#endif daHorse_c* horse_p = dComIfGp_getHorseActor(); if (horse_p != NULL && diff --git a/src/d/actor/d_a_tag_howl.cpp b/src/d/actor/d_a_tag_howl.cpp index 3480d4acc4..a93a9584f9 100644 --- a/src/d/actor/d_a_tag_howl.cpp +++ b/src/d/actor/d_a_tag_howl.cpp @@ -36,14 +36,16 @@ int daTag_Howl_c::draw() { return 1; } -u8 daTag_Howl_c::isAreaCheck() { +bool daTag_Howl_c::isAreaCheck() { + cXyz vec_to_player; + if (getSwitchBit() != 0xFF) { if (dComIfGs_isSaveSwitch(getSwitchBit())) { return false; } } - cXyz vec_to_player = daPy_getPlayerActorClass()->current.pos - current.pos; + vec_to_player = daPy_getPlayerActorClass()->current.pos - current.pos; if (daPy_py_c::checkNowWolf()) { if (vec_to_player.absXZ() < scale.x && -scale.y < vec_to_player.y && vec_to_player.y < scale.y) @@ -57,7 +59,7 @@ u8 daTag_Howl_c::isAreaCheck() { int daTag_Howl_c::getParam() { mCurveID = fopAcM_GetParam(this) & 0xF; - field_0x569 = fopAcM_GetParam(this) >> 0x1E; + field_0x569 = (fopAcM_GetParam(this) & 0xC0000000) >> 30; scale.x *= 100.0f; scale.y *= 100.0f; scale.z *= 100.0f; @@ -65,7 +67,8 @@ int daTag_Howl_c::getParam() { } u8 daTag_Howl_c::getSwitchBit() { - return (fopAcM_GetParam(this) >> 4) & 0xFF; + u8 param = (fopAcM_GetParam(this) & 0xFF0) >> 4; + return param; } static int daTag_Howl_Create(void* i_this) { diff --git a/src/d/actor/d_a_tag_hstop.cpp b/src/d/actor/d_a_tag_hstop.cpp index eb5179b751..54b5d4a3dd 100644 --- a/src/d/actor/d_a_tag_hstop.cpp +++ b/src/d/actor/d_a_tag_hstop.cpp @@ -5,11 +5,13 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/actor/d_a_horse.h" #include "d/actor/d_a_tag_hstop.h" #include "d/d_com_inf_game.h" +#include "d/d_debug_viewer.h" #include "d/d_meter2_info.h" +#include "d/d_s_play.h" #include "f_op/f_op_actor_mng.h" -#include "d/actor/d_a_horse.h" int daTagHstop_c::create() { fopAcM_ct(this, daTagHstop_c); @@ -42,16 +44,16 @@ int daTagHstop_c::create() { if (mPrm1 == 2) { if (daPy_py_c::checkRoomRestartStart()) { - if (!dComIfGs_isSwitch(0x8A, fopAcM_GetHomeRoomNo(this))) { - dComIfGs_onSwitch(0x8A, fopAcM_GetHomeRoomNo(this)); - } else if (!dComIfGs_isSwitch(0x8B, fopAcM_GetHomeRoomNo(this))) { - dComIfGs_onSwitch(0x8B, fopAcM_GetHomeRoomNo(this)); - } else if (!dComIfGs_isSwitch(0x8C, fopAcM_GetHomeRoomNo(this))) { - dComIfGs_onSwitch(0x8C, fopAcM_GetHomeRoomNo(this)); + if (!fopAcM_isSwitch(this, 0x8A)) { + fopAcM_onSwitch(this, 0x8A); + } else if (!fopAcM_isSwitch(this, 0x8B)) { + fopAcM_onSwitch(this, 0x8B); + } else if (!fopAcM_isSwitch(this, 0x8C)) { + fopAcM_onSwitch(this, 0x8C); } } - if (dComIfGs_isSwitch(0x8C, fopAcM_GetHomeRoomNo(this))) { + if (fopAcM_isSwitch(this, 0x8C)) { field_0x574 = 0; } else { field_0x574 = 1200; @@ -64,7 +66,9 @@ int daTagHstop_c::create() { } static int daTagHstop_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagHstop_c* hStop = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return hStop->create(); } daTagHstop_c::~daTagHstop_c() { @@ -82,14 +86,15 @@ daTagHstop_c::~daTagHstop_c() { } static int daTagHstop_Delete(daTagHstop_c* i_this) { + int id = fopAcM_GetID(i_this); static_cast(i_this)->~daTagHstop_c(); return 1; } void daTagHstop_c::setActive() { if (mPrm0 == 0xFF || mPrm1 == 2 || - (mPrm1 == 0 && dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this))) || - (mPrm1 == 1 && !dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this)))) + (mPrm1 == 0 && fopAcM_isSwitch(this, mPrm0)) || + (mPrm1 == 1 && !fopAcM_isSwitch(this, mPrm0))) { mActive = true; } else { @@ -105,19 +110,18 @@ int daTagHstop_c::execute() { m_msgFlow.init(this, (u16)shape_angle.z, 0, NULL); field_0x573 = 3; } else if (m_msgFlow.doFlow(this, NULL, 0)) { - dComIfGp_getEvent()->reset(); + dComIfGp_event_reset(); field_0x573 = 0; - s16 arrow_num = dComIfGp_getItemMaxArrowNumCount(); - dComIfGp_setItemArrowNumCount(arrow_num); - dComIfGs_onSwitch(0x8D, fopAcM_GetHomeRoomNo(this)); + dComIfGp_setItemArrowNumCount(dComIfGp_getItemMaxArrowNumCount()); + fopAcM_onSwitch(this, 0x8D); } } else { if (field_0x574 != 0) { - if (dComIfGs_isSwitch(0x8F, fopAcM_GetHomeRoomNo(this))) { + if (fopAcM_isSwitch(this, 0x8F)) { field_0x574 = 0; - } else if (dComIfGp_getLinkPlayer()->checkSingleBoarBattleSecondBowReady()) { - dComIfGs_onSwitch(0x8F, fopAcM_GetHomeRoomNo(this)); + } else if (daPy_getLinkPlayerActorClass()->checkSingleBoarBattleSecondBowReady()) { + fopAcM_onSwitch(this, 0x8F); field_0x574 = 0; } else { field_0x574--; @@ -127,35 +131,35 @@ int daTagHstop_c::execute() { setActive(); if (field_0x573) { - daHorse_c* horse_p = dComIfGp_getHorseActor(); + daHorse_c* horse_p = (daHorse_c*)dComIfGp_getHorseActor(); if (mPrm1 != 2 || dComIfGs_getArrowNum() != 0 || horse_p == NULL) { field_0x573 = 0; } else if (field_0x573 == 1) { - if (dComIfGp_getHorseActor()->checkTurnStand() && - !dComIfGp_getHorseActor()->checkTurnStandCamera()) + if (horse_p->checkTurnStand() && + !horse_p->checkTurnStandCamera()) { field_0x573 = 2; } - } else if (field_0x573 == 2 && !dComIfGp_getHorseActor()->checkTurnStand()) { + } else if (field_0x573 == 2 && !horse_p->checkTurnStand()) { fopAcM_orderSpeakEvent(this, 0, 0); eventInfo.onCondition(dEvtCnd_CANTALK_e); } } else if (mPrm1 == 2 && !dComIfGp_event_runCheck()) { - if (dComIfGs_getArrowNum() == 0 && !dComIfGs_isSwitch(0x8D, fopAcM_GetHomeRoomNo(this))) + if (dComIfGs_getArrowNum() == 0 && !fopAcM_isSwitch(this, 0x8D)) { - dComIfGs_onSwitch(0x8D, fopAcM_GetHomeRoomNo(this)); + fopAcM_onSwitch(this, 0x8D); dMeter2Info_setFloatingFlow(43, 90, true); - if (!dComIfGs_isSwitch(0x8F, fopAcM_GetHomeRoomNo(this))) { + if (!fopAcM_isSwitch(this, 0x8F)) { field_0x574 = 1200; - dComIfGs_offSwitch(0x8A, fopAcM_GetHomeRoomNo(this)); - dComIfGs_offSwitch(0x8B, fopAcM_GetHomeRoomNo(this)); - dComIfGs_offSwitch(0x8C, fopAcM_GetHomeRoomNo(this)); + fopAcM_offSwitch(this, 0x8A); + fopAcM_offSwitch(this, 0x8B); + fopAcM_offSwitch(this, 0x8C); } - } else if (field_0x574 == 0 && !dComIfGs_isSwitch(0x8F, fopAcM_GetHomeRoomNo(this))) { - dComIfGs_onSwitch(0x8F, fopAcM_GetHomeRoomNo(this)); - dComIfGs_onSwitch(0x8E, fopAcM_GetHomeRoomNo(this)); + } else if (field_0x574 == 0 && !fopAcM_isSwitch(this, 0x8F)) { + fopAcM_onSwitch(this, 0x8F); + fopAcM_onSwitch(this, 0x8E); } } } @@ -167,7 +171,31 @@ static int daTagHstop_Execute(daTagHstop_c* i_this) { return i_this->execute(); } -static int daTagHstop_Draw(daTagHstop_c*) { +static int daTagHstop_Draw(daTagHstop_c* i_this) { +#if DEBUG + if (UREG_S(9) != 0) { + cXyz sp08[8]; + sp08[0].set(-i_this->scale.x, i_this->scale.y, -i_this->scale.z); + sp08[1].set(i_this->scale.x, sp08[0].y, sp08[0].z); + sp08[2].set(sp08[0].x, sp08[0].y, i_this->scale.z); + sp08[3].set(sp08[1].x, sp08[0].y, sp08[2].z); + sp08[4].set(sp08[0].x, 0.0f, sp08[0].z); + sp08[5].set(sp08[1].x, 0.0f, sp08[1].z); + sp08[6].set(sp08[2].x, 0.0f, sp08[2].z); + sp08[7].set(sp08[3].x, 0.0f, sp08[3].z); + + mDoMtx_stack_c::transS(i_this->current.pos); + mDoMtx_stack_c::YrotM(i_this->shape_angle.y); + + for (int i = 0; i < 8; i++) { + mDoMtx_stack_c::multVec(&sp08[i], &sp08[i]); + } + + static GXColor color = {0xff, 0, 0xff, 0x80}; + dDbVw_drawCube8pXlu(sp08, color); + } +#endif + return 1; } diff --git a/src/d/actor/d_a_tag_instruction.cpp b/src/d/actor/d_a_tag_instruction.cpp index e6493d0358..cfee3518c0 100644 --- a/src/d/actor/d_a_tag_instruction.cpp +++ b/src/d/actor/d_a_tag_instruction.cpp @@ -9,11 +9,13 @@ #include "d/d_procname.h" static int daTagInst_Create(fopAc_ac_c* i_this) { + int id = fopAcM_GetID(i_this); fopAcM_ct(i_this, daTagInst_c); return cPhs_COMPLEATE_e; } static int daTagInst_Delete(daTagInst_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagInst_c(); return 1; } diff --git a/src/d/actor/d_a_tag_kago_fall.cpp b/src/d/actor/d_a_tag_kago_fall.cpp index 973394d90d..369ff1aba5 100644 --- a/src/d/actor/d_a_tag_kago_fall.cpp +++ b/src/d/actor/d_a_tag_kago_fall.cpp @@ -5,8 +5,9 @@ #include "d/actor/d_a_player.h" #include "d/d_camera.h" #include "d/d_com_inf_game.h" -#include "d/d_procname.h" #include "d/d_msg_object.h" +#include "d/d_procname.h" +#include "d/d_s_play.h" #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_graphic.h" @@ -28,7 +29,7 @@ int daTagKagoFall_c::create() { mExitID = 2; mStartPoint = 0; - mDoMtx_trans(mDoMtx_stack_c::get(), current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_inverse(mDoMtx_stack_c::get(), mMtx); @@ -84,7 +85,7 @@ void daTagKagoFall_c::actionWaitRiver() { return; } } else { - mNoCarryTimer = 150; + mNoCarryTimer = 150 + nREG_S(5); } } @@ -99,7 +100,7 @@ void daTagKagoFall_c::actionWaitRiver() { mRestartPos = dCam_getBody()->Eye(); mActionState = 1; mTimer = 30; - player->onNoResetFlg0(daPy_py_c::FLG0_UNK_10000); + player->onDemoStreamAccept(); mRiverTimer = 60; } } @@ -111,7 +112,7 @@ void daTagKagoFall_c::actionWaitRiver() { } if (mRiverTimer == 0) { - Z2GetAudioMgr()->seStart(Z2SE_FORCE_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + mDoAud_seStart(Z2SE_FORCE_BACK, NULL, 0, 0); mDoGph_gInf_c::fadeOut(0.05f, static_cast(g_blackColor)); mRiverTimer = 20; mActionState = 2; @@ -122,7 +123,7 @@ void daTagKagoFall_c::actionWaitRiver() { case 2: if (mRiverTimer == 0) { - daPy_getPlayerActorClass()->offNoResetFlg0(daPy_py_c::FLG0_UNK_10000); + daPy_getPlayerActorClass()->offDemoStreamAccept(); mActionState = 3; mTimer = 40; } @@ -136,25 +137,21 @@ void daTagKagoFall_c::actionWaitRiver() { } break; - case 4: { - daPy_getPlayerActorClass()->offNoResetFlg0(daPy_py_c::FLG0_UNK_10000); + case 4: + daPy_getPlayerActorClass()->offDemoStreamAccept(); - int msg = mMsgFlow.doFlow(this, NULL, 0); - if (msg != 0) { + if (mMsgFlow.doFlow(this, NULL, 0) != 0) { if (dMsgObject_getSelectCursorPos() != 0) { dStage_changeScene(mExitID, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); } else { - int room = dStage_roomControl_c::mStayNo; - dComIfGp_setNextStage("F_SP112", mStartPoint, room, dComIfG_play_c::getLayerNo(0), - 0.0f, 10, 1, 0, 0, 1, 0); + dComIfGp_setNextStage("F_SP112", mStartPoint, dComIfGp_roomControl_getStayNo(), + dComIfG_play_c::getLayerNo(0), 0.0f, 10, 1, 0, 0, 1, 0); } mActionState = 5; } break; - } case 5: - // Maybe contained some stripped out debug code? break; } } @@ -179,7 +176,7 @@ void daTagKagoFall_c::actionWaitFall() { mActionState = 1; } } else { - mNoCarryTimer = 150; + mNoCarryTimer = 150 + nREG_S(5); } } break; @@ -188,9 +185,8 @@ void daTagKagoFall_c::actionWaitFall() { if (dComIfGs_getLife() == 0) { player->onSceneChangeAreaJump(mExitID, -1, NULL); - if (player->checkNoResetFlg2(daPy_py_c::FLG2_SCN_CHG_START) && !mPlayedSceneChangeSfx) - { - Z2GetAudioMgr()->seStart(Z2SE_FORCE_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + if (player->checkSceneChangeAreaStart() && !mPlayedSceneChangeSfx) { + mDoAud_seStart(Z2SE_FORCE_BACK, NULL, 0, 0); player->voiceStart(Z2SE_WL_V_FALL_TO_RESTART); mPlayedSceneChangeSfx = true; } @@ -202,7 +198,7 @@ void daTagKagoFall_c::actionWaitFall() { mDoGph_gInf_c::fadeOut(0.05f, static_cast(g_blackColor)); mTimer = 60; mActionState = 2; - Z2GetAudioMgr()->seStart(Z2SE_FORCE_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + mDoAud_seStart(Z2SE_FORCE_BACK, NULL, 0, 0); player->voiceStart(Z2SE_WL_V_FALL_TO_RESTART); } break; @@ -236,14 +232,12 @@ void daTagKagoFall_c::actionWaitFall() { case 3: { player->setPlayerPosAndAngle(&mRestartPos, 0, 0); - int msg = mMsgFlow.doFlow(this, NULL, 0); - if (msg != 0) { + if (mMsgFlow.doFlow(this, NULL, 0) != 0) { if (dMsgObject_getSelectCursorPos() != 0) { dStage_changeScene(mExitID, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); } else { - int room = dStage_roomControl_c::mStayNo; - dComIfGp_setNextStage("F_SP112", mStartPoint, room, dComIfG_play_c::getLayerNo(0), - 0.0f, 10, 1, 0, 0, 1, 0); + dComIfGp_setNextStage("F_SP112", mStartPoint, dComIfGp_roomControl_getStayNo(), + dComIfG_play_c::getLayerNo(0), 0.0f, 10, 1, 0, 0, 1, 0); } mActionState = 10; } @@ -265,10 +259,12 @@ static int daTagKagoFall_Execute(daTagKagoFall_c* i_this) { } static int daTagKagoFall_Delete(daTagKagoFall_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } static int daTagKagoFall_Create(daTagKagoFall_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->create(); } diff --git a/src/d/actor/d_a_tag_lantern.cpp b/src/d/actor/d_a_tag_lantern.cpp index 30f269b70f..b27a4facc9 100644 --- a/src/d/actor/d_a_tag_lantern.cpp +++ b/src/d/actor/d_a_tag_lantern.cpp @@ -6,21 +6,46 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_lantern.h" + +#include "JSystem/JHostIO/JORFile.h" +#include "d/d_debug_viewer.h" #include "d/d_procname.h" static TAG_LANTERN_HIO_CLASS l_HIO; +daTag_Lantern_HIOParam const daTag_Lantern_Param_c::m = {0}; + #if DEBUG daTag_Lantern_HIO_c::daTag_Lantern_HIO_c() { m = daTag_Lantern_Param_c::m; } void daTag_Lantern_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { - // NONMATCHING + JORReflexible::listenPropertyEvent(event); + JORFile file; + switch ((int)event->id) { + case 0x40000002: + if (file.open(JORFile::EFlags_WRITE | JORFile::EFlags_UNK_0x4, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL)) { + char sp138[0x7d0]; + memset(sp138, 0, sizeof(sp138)); + int msgLen = 0; + sprintf(sp138 + msgLen, "%d, \t// デバグ情報ON\n", m.enable_debug_info); + msgLen = strlen(sp138); + file.writeData(sp138, msgLen); + file.close(); + OS_REPORT("write append success!::%6d\n", msgLen); + } else { + OS_REPORT("write append failure!\n"); + } + break; + } } void daTag_Lantern_HIO_c::genMessage(JORMContext* ctx) { - // NONMATCHING + // "Debug information ON" + ctx->genCheckBox("デバグ情報ON ", &m.enable_debug_info, 1); + // "Export file" + ctx->genButton("ファイル書き出し", 0x40000002, 0); } #endif @@ -39,6 +64,7 @@ int daTag_Lantern_c::create() { } int daTag_Lantern_c::Delete() { + fopAcM_RegisterDeleteID(this, "TAG_LANTERN"); this->~daTag_Lantern_c(); return 1; } @@ -80,12 +106,25 @@ int daTag_Lantern_c::Execute() { } int daTag_Lantern_c::Draw() { +#if DEBUG + if (mpHIO->m.enable_debug_info) { + dDbVw_drawCylinderXlu(current.pos, scale.x, scale.y, + (GXColor){0x80, 0x80, 0x80, 0x80}, 1); + } +#endif + return 1; } void daTag_Lantern_c::initialize() { fopAcM_setCullSizeBox(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); +#if DEBUG + mpHIO = &l_HIO; + // "Lantern check tag" + mpHIO->entryHIO("カンテラチェックタグ"); +#endif + if (home.angle.z != 0xFFFF) { mFlowIndex = home.angle.z; } else { diff --git a/src/d/actor/d_a_tag_lightball.cpp b/src/d/actor/d_a_tag_lightball.cpp index f524503921..e26b245b02 100644 --- a/src/d/actor/d_a_tag_lightball.cpp +++ b/src/d/actor/d_a_tag_lightball.cpp @@ -17,7 +17,7 @@ void daTagLightBall_c::setBaseMtx() { int daTagLightBall_c::Create() { initBaseMtx(); - u8 swbit = getSwBit(); + u8 swbit = getSwbit(); if (fopAcM_GetRoomNo(this) == 7) { if (!fopAcM_isSwitch(this, 70)) { fopAcM_offSwitch(this, swbit); @@ -56,7 +56,7 @@ int daTagLightBall_c::create() { } int daTagLightBall_c::execute() { - u8 swbit = getSwBit(); + u8 swbit = getSwbit(); if (swbit != 0xFF) { if (getType() == 15) { if (field_0x57c && !fopAcM_isSwitch(this, swbit)) { @@ -102,11 +102,14 @@ static int daTagLightBall_Execute(daTagLightBall_c* i_this) { } static int daTagLightBall_Delete(daTagLightBall_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } static int daTagLightBall_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagLightBall_c* lightBall = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return lightBall->create(); } static actor_method_class l_daTagLightBall_Method = { diff --git a/src/d/actor/d_a_tag_lv2prchk.cpp b/src/d/actor/d_a_tag_lv2prchk.cpp index bb7e7d186b..8b074baa8a 100644 --- a/src/d/actor/d_a_tag_lv2prchk.cpp +++ b/src/d/actor/d_a_tag_lv2prchk.cpp @@ -12,6 +12,8 @@ int daTagLv2PrChk_c::Create() { mSwbit2 = getSwbit2(); if (mSwbit2 == 0xFF) { + // "Boomerang puzzle monitoring tag: switch 2 is not specified" + OS_REPORT("\x1b[43;30mブーメランネタ監視タグ:スイッチ2の指定がありません\n\x1b[m"); return 0; } @@ -21,6 +23,9 @@ int daTagLv2PrChk_c::Create() { mAction = ACTION_CHECK_e; } + // "Boomerang puzzle monitoring tag: switch 1 <%d> switch 2 <%d>" + OS_REPORT("ブーメランネタ監視タグ:スイッチ1<%d>スイッチ2<%d>\n", getSwbit(), getSwbit2()); + return 1; } @@ -120,6 +125,8 @@ void daTagLv2PrChk_c::actionCheck() { case MODE_PUZZLE_CLEAR: fopAcM_onSwitch(this, getSwbit()); mAction = ACTION_END_e; + // "Boomerang puzzle monitoring tag: SW<%d> was turned on" + OS_REPORT("ブーメランネタ監視タグ:SW<%d>オンしました\n", getSwbit()); break; case MODE_CHECK_RESET: if (!switch_1 && !switch_2 && !switch_3 && !switch_4) { @@ -151,6 +158,8 @@ void daTagLv2PrChk_c::actionEnd() {} void daTagLv2PrChk_c::seStartWrong() { Z2GetAudioMgr()->seStart(Z2SE_SYS_RESULT_WRONG, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + // "♪ Wrong answer!!!!" + OS_REPORT("♪ハズレ!!!!\n"); } int daTagLv2PrChk_c::_delete() { @@ -162,10 +171,12 @@ static int daTagLv2PrChk_Execute(daTagLv2PrChk_c* i_this) { } static int daTagLv2PrChk_Delete(daTagLv2PrChk_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } static int daTagLv2PrChk_Create(daTagLv2PrChk_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->create(); } diff --git a/src/d/actor/d_a_tag_lv5soup.cpp b/src/d/actor/d_a_tag_lv5soup.cpp index 2c000a0b92..dfd532d615 100644 --- a/src/d/actor/d_a_tag_lv5soup.cpp +++ b/src/d/actor/d_a_tag_lv5soup.cpp @@ -42,7 +42,8 @@ int daTag_Lv5Soup_c::Draw() { } bool daTag_Lv5Soup_c::isAreaCheck() { - cXyz dist = daPy_getPlayerActorClass()->current.pos - current.pos; + cXyz dist; + dist = daPy_getPlayerActorClass()->current.pos - current.pos; f32 boundX = scale.x * 100.0f; f32 boundY = scale.y * 100.0f; diff --git a/src/d/actor/d_a_tag_lv6CstaSw.cpp b/src/d/actor/d_a_tag_lv6CstaSw.cpp index 2e1ba6105d..14150299eb 100644 --- a/src/d/actor/d_a_tag_lv6CstaSw.cpp +++ b/src/d/actor/d_a_tag_lv6CstaSw.cpp @@ -6,12 +6,23 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_lv6CstaSw.h" + +#include "d/d_debug_viewer.h" #include "d/d_procname.h" +static daLv6CstaSw_HIO_c l_HIO; + daLv6CstaSw_HIO_c::daLv6CstaSw_HIO_c() { - unk_0x4 = 0; + show_range = 0; } +#if DEBUG +void daLv6CstaSw_HIO_c::genMessage(JORMContext* ctx) { + // "Display range" + ctx->genCheckBox("範囲表示", &show_range, 1); +} +#endif + void daLv6CstaSw_c::setBaseMtx() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); @@ -21,12 +32,19 @@ int daLv6CstaSw_c::create() { fopAcM_ct(this, daLv6CstaSw_c); mSwitch = getSw(); setBaseMtx(); + +#if DEBUG + l_HIO.entryHIO("石像SWタグ"); +#endif + return cPhs_COMPLEATE_e; } -fopAc_ac_c* daLv6CstaSw_c::searchSekizoAct(void* i_actor, void*) { - if (i_actor != NULL && fopAcM_IsActor(i_actor) && fopAcM_GetProfName(i_actor) == PROC_CSTATUE) { - return (fopAc_ac_c*)i_actor; +fopAc_ac_c* daLv6CstaSw_c::searchSekizoAct(void* i_actor, void* param_1) { + fopAc_ac_c* actor2 = (fopAc_ac_c*)param_1; + fopAc_ac_c* actor = (fopAc_ac_c*)i_actor; + if (actor != NULL && fopAcM_IsActor(actor) && fopAcM_GetProfName(actor) == PROC_CSTATUE) { + return actor; } return NULL; @@ -41,7 +59,8 @@ bool daLv6CstaSw_c::areaCheck() { } cXyz vec_to_actor = current.pos - sekizo_p->current.pos; - if (vec_to_actor.absXZ() <= scale.x * 100.0f) { + f32 dist_to_actor = vec_to_actor.absXZ(); + if (dist_to_actor <= scale.x * 100.0f) { in_area = true; } @@ -49,7 +68,8 @@ bool daLv6CstaSw_c::areaCheck() { } int daLv6CstaSw_c::Execute() { - if (areaCheck() == true) { + bool result = areaCheck(); + if (result == true) { if (!fopAcM_isSwitch(this, mSwitch)) { fopAcM_onSwitch(this, mSwitch); } @@ -63,10 +83,22 @@ int daLv6CstaSw_c::Execute() { } int daLv6CstaSw_c::Draw() { +#if DEBUG + if (l_HIO.show_range) { + g_env_light.settingTevStruct(16, ¤t.pos, &tevStr); + GXColor color = (GXColor){0, 0, 0xff, 0x80}; + dDbVw_drawCylinderXlu(current.pos, scale.x * 100.0f, scale.y * 100.0f, color, 1); + } +#endif + return 1; } int daLv6CstaSw_c::Delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + return 1; } @@ -79,17 +111,16 @@ static int daLv6CstaSw_Execute(daLv6CstaSw_c* i_this) { } static int daLv6CstaSw_Delete(daLv6CstaSw_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->Delete(); } static int daLv6CstaSw_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daLv6CstaSw_c* cStaSw = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return cStaSw->create(); } -daLv6CstaSw_HIO_c::~daLv6CstaSw_HIO_c() {} - -static daLv6CstaSw_HIO_c l_HIO; - static actor_method_class l_daLv6CstaSw_Method = { (process_method_func)daLv6CstaSw_Create, (process_method_func)daLv6CstaSw_Delete, (process_method_func)daLv6CstaSw_Execute, (process_method_func)NULL, diff --git a/src/d/actor/d_a_tag_magne.cpp b/src/d/actor/d_a_tag_magne.cpp index 8d292552e8..0ade82b3e4 100644 --- a/src/d/actor/d_a_tag_magne.cpp +++ b/src/d/actor/d_a_tag_magne.cpp @@ -10,6 +10,8 @@ int daTagMagne_c::Create() { if (mTagMagne != NULL) { + // "Multiple magnet cord(?) management tags are placed!" + OS_REPORT_ERROR("マグネコード管理タグが複数置かれています!\n"); return 0; } @@ -24,7 +26,7 @@ int daTagMagne_c::Create() { int daTagMagne_c::create() { fopAcM_ct(this, daTagMagne_c); - if (mTagMagne != NULL && mTagMagne->current.roomNo != current.roomNo) { + if (mTagMagne != NULL && fopAcM_GetRoomNo(mTagMagne) != fopAcM_GetRoomNo(this)) { return cPhs_INIT_e; } @@ -32,6 +34,8 @@ int daTagMagne_c::create() { return cPhs_ERROR_e; } + OS_REPORT("TAG MAGNE PARAM=%x\n", fopAcM_GetParam(this)); + return cPhs_COMPLEATE_e; } @@ -41,11 +45,14 @@ int daTagMagne_c::_delete() { } static void daTagMagne_Delete(daTagMagne_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->_delete(); } static void daTagMagne_Create(fopAc_ac_c* i_this) { - ((daTagMagne_c*)i_this)->create(); + daTagMagne_c* magne = static_cast(i_this); + int id = fopAcM_GetID(i_this); + magne->create(); } static actor_method_class l_daTagMagne_Method = { diff --git a/src/d/actor/d_a_tag_mhint.cpp b/src/d/actor/d_a_tag_mhint.cpp index 3352b1e9ab..ee66c938b7 100644 --- a/src/d/actor/d_a_tag_mhint.cpp +++ b/src/d/actor/d_a_tag_mhint.cpp @@ -64,12 +64,15 @@ int daTagMhint_c::create() { } static int daTagMhint_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagMhint_c* mhint = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return mhint->create(); } daTagMhint_c::~daTagMhint_c() {} static int daTagMhint_Delete(daTagMhint_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagMhint_c(); return 1; } @@ -132,13 +135,14 @@ int daTagMhint_c::execute() { } else if (eventInfo.checkCommandTalk()) { if (!midna_p->checkShadowModeTalkWait()) { if (field_0x56e == 0) { - mMsgFlow.init(this, shape_angle.z & 0xFFFF, 0, NULL); + mMsgFlow.init(this, (u16)shape_angle.z, 0, NULL); field_0x56e = 1; mDoAud_seStart(Z2SE_NAVI_TALK_START, NULL, 0, 0); field_0x571 = 0; } else if (mMsgFlow.doFlow(this, NULL, 0)) { int sp28; - if (mMsgFlow.getEventId(&sp28) == 7) { + u16 eventId = mMsgFlow.getEventId(&sp28); + if (eventId == 7) { dMeter2Info_setPauseStatus(1); } diff --git a/src/d/actor/d_a_tag_mist.cpp b/src/d/actor/d_a_tag_mist.cpp index c73f347840..5b55240b58 100644 --- a/src/d/actor/d_a_tag_mist.cpp +++ b/src/d/actor/d_a_tag_mist.cpp @@ -7,14 +7,37 @@ #include "d/actor/d_a_tag_mist.h" #include "d/d_com_inf_game.h" +#include "d/d_debug_viewer.h" #include "d/d_procname.h" -void daTagMist_c::offSw() { - u8 sw_no_num; - u8 top_sw_no; +class daTagMist_HIO_c : public mDoHIO_entry_c { +public: + daTagMist_HIO_c(); - top_sw_no = daTagMist_prm::getTopSwNo(this); - sw_no_num = daTagMist_prm::getSwNoNum(this); + void genMessage(JORMContext*); + + u8 show_range; +}; + +#if DEBUG +daTagMist_HIO_c l_HIO; + +daTagMist_HIO_c::daTagMist_HIO_c() { + show_range = 0; +} + +void daTagMist_HIO_c::genMessage(JORMContext* ctx) { + // "Fog range tag" + ctx->genLabel("霧の範囲タグ", 0); + // "Show range" + ctx->genCheckBox("範囲表示", &show_range, 1); +} +#endif + +void daTagMist_c::offSw() { + u8 top_sw_no = daTagMist_prm::getTopSwNo(this); + u8 my_sw_no = daTagMist_prm::getMySwNo(this); + u8 sw_no_num = daTagMist_prm::getSwNoNum(this); for (int i = 0; i < sw_no_num; i++) { fopAcM_offSwitch(this, top_sw_no + i); @@ -22,11 +45,8 @@ void daTagMist_c::offSw() { } void daTagMist_c::onMySw() { - u32 my_sw_no; - u32 top_sw_no; - - top_sw_no = daTagMist_prm::getTopSwNo(this); - my_sw_no = daTagMist_prm::getMySwNo(this); + u8 top_sw_no = daTagMist_prm::getTopSwNo(this); + u8 my_sw_no = daTagMist_prm::getMySwNo(this); if (my_sw_no != 0xFF) { fopAcM_onSwitch(this, top_sw_no + my_sw_no); @@ -34,11 +54,8 @@ void daTagMist_c::onMySw() { } BOOL daTagMist_c::isMySw() { - u32 my_sw_no; - u32 top_sw_no; - - top_sw_no = daTagMist_prm::getTopSwNo(this); - my_sw_no = daTagMist_prm::getMySwNo(this); + u8 top_sw_no = daTagMist_prm::getTopSwNo(this); + u8 my_sw_no = daTagMist_prm::getMySwNo(this); if (my_sw_no != 0xFF && fopAcM_isSwitch(this, top_sw_no + my_sw_no)) { return TRUE; @@ -60,10 +77,7 @@ int daTagMist_c::Create() { mVertices[3].x = scale.x * -50.0f; mVertices[3].z = scale.z * 50.0f; - mVertices[3].y = 0.0f; - mVertices[2].y = 0.0f; - mVertices[1].y = 0.0f; - mVertices[0].y = 0.0f; + mVertices[0].y = mVertices[1].y = mVertices[2].y = mVertices[3].y = 0.0f; if (isMySw()) { setPlayerNo(daTagMist_prm::getExitNo(this)); @@ -82,23 +96,26 @@ int daTagMist_c::create() { field_0x5a2 = home.angle.x; field_0x5a4 = home.angle.z; - home.angle.z = 0; - home.angle.x = 0; - current.angle.z = 0; - current.angle.x = 0; - shape_angle.z = 0; - shape_angle.x = 0; + home.angle.x = home.angle.z = 0; + current.angle.x = current.angle.z = 0; + shape_angle.x = shape_angle.z = 0; } if (!Create()) { return cPhs_ERROR_e; } +#if DEBUG + // "Fog range tag" + l_HIO.entryHIO("霧の範囲タグ"); +#endif + return cPhs_COMPLEATE_e; } int daTagMist_c::execute() { - if (fopAcM_isSwitch(this, daTagMist_prm::getSwNo2(this))) { + u8 sw_no_2 = daTagMist_prm::getSwNo2(this); + if (fopAcM_isSwitch(this, sw_no_2)) { return 1; } @@ -109,33 +126,76 @@ int daTagMist_c::execute() { mDoMtx_stack_c::YrotS(-current.angle.y); mDoMtx_stack_c::multVec(&player_dist, &player_dist); - u8 player_inside = (mVertices[0].x < player_dist.x && mVertices[0].z < player_dist.z) && - (mVertices[2].x > player_dist.x && mVertices[2].z > player_dist.z); + u8 player_inside = mVertices[0].x < player_dist.x && mVertices[0].z < player_dist.z && + mVertices[2].x > player_dist.x && mVertices[2].z > player_dist.z; if (player_inside && !mPlayerTouched) { offSw(); onMySw(); - mPlayerNo = daTagMist_prm::getExitNo(this); + setPlayerNo(daTagMist_prm::getExitNo(this)); } mPlayerTouched = player_inside; return 1; } -int daTagMist_c::_delete() { +int daTagMist_c::draw() { +#if DEBUG + if (l_HIO.show_range) { + GXColor color = {0, 0, 0x80, 0x80}; + cXyz sp10[8]; + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(current.angle.y); + + sp10[0] = mVertices[0]; + sp10[1] = mVertices[1]; + sp10[2] = mVertices[3]; + sp10[3] = mVertices[2]; + sp10[4] = mVertices[0]; + sp10[5] = mVertices[1]; + sp10[6] = mVertices[3]; + sp10[7] = mVertices[2]; + + for (int i = 0; i < 8; i++) { + mDoMtx_stack_c::multVec(&sp10[i], &sp10[i]); + } + + for (int i = 0; i < 4; i++) { + sp10[i].y += 1000.0f; + } + + dDbVw_drawCube8pXlu(sp10, color); + } +#endif + return 1; } +int daTagMist_c::_delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + return 1; +} + +static int daTagMist_Draw(daTagMist_c* i_this) { + return i_this->draw(); +} + static int daTagMist_Execute(daTagMist_c* i_this) { return i_this->execute(); } static int daTagMist_Delete(daTagMist_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } static int daTagMist_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagMist_c* mist = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return mist->create(); } static actor_method_class l_daTagMist_Method = { @@ -143,7 +203,11 @@ static actor_method_class l_daTagMist_Method = { (process_method_func)daTagMist_Delete, (process_method_func)daTagMist_Execute, (process_method_func)NULL, +#if DEBUG + (process_method_func)daTagMist_Draw, +#else (process_method_func)NULL, +#endif }; actor_process_profile_definition g_profile_Tag_Mist = { diff --git a/src/d/actor/d_a_tag_mmsg.cpp b/src/d/actor/d_a_tag_mmsg.cpp index ef52c329b4..11bf28eb00 100644 --- a/src/d/actor/d_a_tag_mmsg.cpp +++ b/src/d/actor/d_a_tag_mmsg.cpp @@ -8,13 +8,13 @@ int daTagMmsg_c::create() { fopAcM_ct(this, daTagMmsg_c); - field_0x570 = fpcM_GetParam(this) & 0x3FF; - field_0x572 = (fpcM_GetParam(this) >> 10) & 0x3FF; - field_0x56b = (fpcM_GetParam(this) >> 29) & 1; + field_0x570 = fopAcM_GetParam(this) & 0x3FF; + field_0x572 = (fopAcM_GetParam(this) >> 10) & 0x3FF; + field_0x56b = (fopAcM_GetParam(this) >> 29) & 0x1; field_0x568 = shape_angle.x; field_0x569 = (shape_angle.x >> 8) & 0xFF; - if ((fpcM_GetParam(this) >> 30) & 1) { + if ((fopAcM_GetParam(this) >> 30) & 0x1) { scale.x *= 10.0f; scale.y *= 10.0f; } @@ -24,10 +24,9 @@ int daTagMmsg_c::create() { mAttention = shape_angle.y; if (!checkNoAttention()) { - s32 roomNo = fopAcM_GetRoomNo(this); stage_arrow_data_class* arrowData = - &dComIfGp_getRoomArrow(roomNo) - ->m_entries[dComIfGp_getRoomCamera(roomNo)->m_entries[mAttention].m_arrow_idx]; + &dComIfGp_getRoomArrow(fopAcM_GetRoomNo(this)) + ->m_entries[dComIfGp_getRoomCamera(fopAcM_GetRoomNo(this))->m_entries[mAttention].m_arrow_idx]; eyePos.set(arrowData->posX, arrowData->posY, arrowData->posZ); attention_info.position = eyePos; } @@ -37,18 +36,22 @@ int daTagMmsg_c::create() { } static int daTagMmsg_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagMmsg_c* mmsg = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return mmsg->create(); } daTagMmsg_c::~daTagMmsg_c() {} static int daTagMmsg_Delete(daTagMmsg_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagMmsg_c(); return 1; } int daTagMmsg_c::execute() { - if (daPy_py_c::getMidnaActor() == NULL) { + daMidna_c* midna = daPy_py_c::getMidnaActor(); + if (midna == NULL) { return 1; } @@ -57,13 +60,13 @@ int daTagMmsg_c::execute() { return 1; } - if (field_0x569 != 0xFF && dComIfGs_isSwitch(field_0x569, fopAcM_GetHomeRoomNo(this))) { + if (field_0x569 != 0xFF && fopAcM_isSwitch(this, field_0x569)) { fopAcM_delete(this); return 1; } if (mUseFlg && !dComIfGp_event_runCheck() && field_0x56b && field_0x569 != 0xFF) { - dComIfGs_onSwitch(field_0x569, fopAcM_GetHomeRoomNo(this)); + fopAcM_onSwitch(this, field_0x569); fopAcM_delete(this); return 1; } @@ -73,7 +76,7 @@ int daTagMmsg_c::execute() { (fopAcM_searchPlayerDistanceXZ2(this) < field_0x574) && (field_0x570 == 0x3FF || dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x570])) && - (field_0x568 == 0xFF || dComIfGs_isSwitch(field_0x568, fopAcM_GetHomeRoomNo(this)))) + (field_0x568 == 0xFF || fopAcM_isSwitch(this, field_0x568))) { player->setMidnaMsgNum(this, shape_angle.z); } diff --git a/src/d/actor/d_a_tag_msg.cpp b/src/d/actor/d_a_tag_msg.cpp index 734635ec74..d9cbd2bf66 100644 --- a/src/d/actor/d_a_tag_msg.cpp +++ b/src/d/actor/d_a_tag_msg.cpp @@ -5,12 +5,14 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep -#include "d/actor/d_a_tag_msg.h" #include "d/actor/d_a_player.h" +#include "d/actor/d_a_tag_msg.h" #include "d/d_com_inf_game.h" +#include "d/d_debug_viewer.h" static int createHeapCallBack(fopAc_ac_c* i_this) { - return ((daTag_Msg_c*)i_this)->createHeap(); + daTag_Msg_c* msg = (daTag_Msg_c*)i_this; + return msg->createHeap(); } static char* l_resName = "TagMsg"; @@ -20,8 +22,20 @@ static char* l_evtNameTBL[2] = { "SPEAK", }; +#if DEBUG +daTag_Msg_HIO_c::daTag_Msg_HIO_c() { + m = daTag_Msg_Param_c::m; +} +#endif + daTag_Msg_c::~daTag_Msg_c() { dComIfG_resDelete(&mPhase, getResName()); + +#if DEBUG + if (mpHIO != NULL) { + mDoHIO_deleteChild(mpHIO->mChild); + } +#endif } int daTag_Msg_c::create() { @@ -38,14 +52,18 @@ int daTag_Msg_c::create() { if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x10)) { return cPhs_ERROR_e; } + +#if DEBUG + mpHIO->mChild = mDoHIO_createChild("メッセ-ジタグ", mpHIO); +#endif } return phase_state; } int daTag_Msg_c::createHeap() { - mParam = new daTag_Msg_Param_c(); - if (mParam == NULL) { + mpHIO = new TAG_MSG_HIO_CLASS(); + if (mpHIO == NULL) { return 0; } @@ -53,6 +71,7 @@ int daTag_Msg_c::createHeap() { } int daTag_Msg_c::destroy() { + int id = fopAcM_GetID(this); this->~daTag_Msg_c(); return 1; } @@ -128,6 +147,14 @@ int daTag_Msg_c::execute() { } int daTag_Msg_c::draw() { +#if DEBUG + if (mpHIO->m.mDebugAdjustON) { + cXyz sp0C(current.pos); + sp0C.y -= scale.y; + dDbVw_drawCylinderXlu(sp0C, scale.x, 2.0f * scale.y, (GXColor){0x80, 0x80, 0x80, 0x80}, 1); + } +#endif + return 1; } @@ -159,15 +186,15 @@ BOOL daTag_Msg_c::otherCheck() { if (field_0x5dd) { return 1; - } + } else { + s16 var_r28 = fopAcM_searchActorAngleY(this, daPy_getPlayerActorClass()) + 0x7FFF; + s16 angle_to_player = var_r28 - daPy_getPlayerActorClass()->current.angle.y; + if (angle_to_player < 0) { + angle_to_player = -angle_to_player; + } - s16 var_r28 = fopAcM_searchActorAngleY(this, daPy_getPlayerActorClass()) + 0x7FFF; - s16 angle_to_player = var_r28 - daPy_getPlayerActorClass()->current.angle.y; - if (angle_to_player < 0) { - angle_to_player = -angle_to_player; + return angle_to_player <= 0x1000; } - - return angle_to_player <= 0x1000; } char* daTag_Msg_c::getResName() { @@ -176,14 +203,15 @@ char* daTag_Msg_c::getResName() { void daTag_Msg_c::getParam() { mOnSwitch = home.angle.x & 0xFF; - mOffSwitch = (home.angle.x >> 8) & 0xFF; + mOffSwitch = (home.angle.x & 0xFF00) >> 8; mOnSaveLabel = fopAcM_GetParam(this) & 0xFFF; - mOffSaveLabel = (fopAcM_GetParam(this) >> 0xC) & 0xFFF; + mOffSaveLabel = (fopAcM_GetParam(this) & 0xFFF000) >> 12; field_0x5dc = (fopAcM_GetParam(this) & 0x1000000) != 0; field_0x5dd = (fopAcM_GetParam(this) & 0x2000000) != 0; - if ((home.angle.z & 0xFFFF) != 0) { - mFlowID = home.angle.z & 0xFFFF; + u16 var_r30 = (u16)home.angle.z; + if (var_r30 != 0) { + mFlowID = var_r30; } else { mFlowID = -1; } @@ -227,6 +255,15 @@ static int daTag_Msg_IsDelete(void* i_this) { return 1; } +#if DEBUG +daTag_Msg_HIO_c::~daTag_Msg_HIO_c() { +} + +void daTag_Msg_HIO_c::genMessage(JORMContext* ctx) { + ctx->genCheckBox("デバグ描画ON ", &m.mDebugAdjustON, 1, 0, NULL, -1, -1, 0x200, 0x18); +} +#endif + void dummyString() { DEAD_STRING("Timer"); } diff --git a/src/d/actor/d_a_tag_mstop.cpp b/src/d/actor/d_a_tag_mstop.cpp index c58e6b0935..5094221a06 100644 --- a/src/d/actor/d_a_tag_mstop.cpp +++ b/src/d/actor/d_a_tag_mstop.cpp @@ -14,7 +14,7 @@ int daTagMstop_c::create() { fopAcM_ct(this, daTagMstop_c); - field_0x56b = fopAcM_GetParam(this) >> 16; + field_0x56b = (fopAcM_GetParam(this) >> 16) & 0xFF; field_0x56a = (fopAcM_GetParam(this) >> 24) & 0xF; if (field_0x56a == 1 || field_0x56a == 2) { @@ -40,23 +40,17 @@ int daTagMstop_c::create() { field_0x572 = 0xFFFF; } - f32 tmp = scale.x; - tmp *= 10000.0f * scale.x; - - field_0x5c0 = tmp; + field_0x5c0 = scale.x * (scale.x * 10000.0f); field_0x5c4 = current.pos.y + scale.y * 100.0f; + u16 param = fopAcM_GetParam(this); csXyz pos_angle; - - daNpcF_getPlayerInfoFromPlayerList(fopAcM_GetParam(this) & 0xFFFF, fopAcM_GetRoomNo(this), - field_0x5c8, pos_angle); - - u8 idx = field_0x56b; + daNpcF_getPlayerInfoFromPlayerList(param, fopAcM_GetRoomNo(this), field_0x5c8, pos_angle); if (!checkNoAttention()) { - s32 room = fopAcM_GetRoomNo(this); - stage_arrow_data_class* arrowData = &dComIfGp_getRoomArrow(room) - ->m_entries[dComIfGp_getRoomCamera(room)->m_entries[idx].m_arrow_idx]; + stage_arrow_data_class* arrowData = &dComIfGp_getRoomArrow(fopAcM_GetRoomNo(this))-> + m_entries[dComIfGp_getRoomCamera(fopAcM_GetRoomNo(this))-> + m_entries[field_0x56b].m_arrow_idx]; eyePos.set(arrowData->posX, arrowData->posY, arrowData->posZ); attention_info.position = eyePos; @@ -67,12 +61,15 @@ int daTagMstop_c::create() { } static int daTagMstop_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagMstop_c* mstop = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return mstop->create(); } daTagMstop_c::~daTagMstop_c() {} static int daTagMstop_Delete(daTagMstop_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagMstop_c(); return 1; } diff --git a/src/d/actor/d_a_tag_mwait.cpp b/src/d/actor/d_a_tag_mwait.cpp index fcb85b51ee..198c2e9fdb 100644 --- a/src/d/actor/d_a_tag_mwait.cpp +++ b/src/d/actor/d_a_tag_mwait.cpp @@ -12,7 +12,7 @@ int daTagMwait_c::create() { fopAcM_ct(this, daTagMwait_c); - mEnterSw = fopAcM_GetParam(this) >> 8; + mEnterSw = (fopAcM_GetParam(this) >> 8) & 0xFF; if (fopAcM_isSwitch(this, mEnterSw)) { return cPhs_ERROR_e; @@ -39,12 +39,12 @@ int daTagMwait_c::create() { scale *= 100.0f; - u32 wait_y_offset = (fopAcM_GetParam(this) >> 0x18) & 0xFF; - if (wait_y_offset == 0 || wait_y_offset == 0xFF) { - wait_y_offset = 0; + prm = (fopAcM_GetParam(this) >> 0x18) & 0xFF; // wait Y offset + if (prm == 0 || prm == 0xFF) { + prm = 0; } - mWaitPosition.set(current.pos.x, current.pos.y + (wait_y_offset * 10.0f), current.pos.z); + mWaitPosition.set(current.pos.x, current.pos.y + (prm * 10.0f), current.pos.z); attention_info.position.set(mWaitPosition.x, mWaitPosition.y + 220.0f, mWaitPosition.z); eyePos.set(mWaitPosition.x, mWaitPosition.y + 150.0f, mWaitPosition.z); @@ -54,12 +54,15 @@ int daTagMwait_c::create() { } static int daTagMwait_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagMwait_c* mWait = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return mWait->create(); } daTagMwait_c::~daTagMwait_c() {} static int daTagMwait_Delete(daTagMwait_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagMwait_c(); return 1; } diff --git a/src/d/actor/d_a_tag_myna2.cpp b/src/d/actor/d_a_tag_myna2.cpp index fd84d698e2..1c048d20af 100644 --- a/src/d/actor/d_a_tag_myna2.cpp +++ b/src/d/actor/d_a_tag_myna2.cpp @@ -5,6 +5,7 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/actor/d_a_player.h" #include "d/actor/d_a_tag_myna2.h" #include "d/d_procname.h" @@ -17,27 +18,25 @@ s32 daTagMyna2_c::create() { } s32 daTagMyna2_c::execute() { - if (!dComIfGp_event_runCheck()) { - if (!dComIfGs_isSwitch(mSwitchNo,fopAcM_GetRoomNo(this))) { - if ((dComIfGp_getPlayer(0)->current.pos - current.pos).absXZ() < getExtent()) { - s16 angle_y = (s16)fopAcM_searchPlayerAngleY(this); - csXyz actor_angle(0x1e,angle_y,0); - cXyz actor_pos = current.pos; - actor_pos.y += 1000.0f; + if (!dComIfGp_event_runCheck() && + !dComIfGs_isSwitch(mSwitchNo,fopAcM_GetRoomNo(this)) && + (daPy_getPlayerActorClass()->current.pos - current.pos).absXZ() < getExtent()) { + csXyz actor_angle(30, (s16)fopAcM_searchPlayerAngleY(this), 0); + cXyz actor_pos = current.pos; + actor_pos.y += 1000.0f; - if (fopAcM_gc_c::gndCheck(&actor_pos) != 0) { - actor_pos.y = fopAcM_gc_c::getGroundY(); - } else { - actor_pos = current.pos; - } + if (fopAcM_gc_c::gndCheck(&actor_pos) != 0) { + actor_pos.y = fopAcM_gc_c::getGroundY(); + } else { + actor_pos = current.pos; + } - if (mTimer == 0) { - s32 actor_create = fopAcM_create(PROC_MYNA2, (mSwitchNo << 8 | 0xffff0001), &actor_pos, fopAcM_GetRoomNo(this), &actor_angle, 0, 0xffffffff); - - if (actor_create != 0xFFFFFFFF) { - dComIfGs_onSwitch(mSwitchNo,fopAcM_GetRoomNo(this)); - } - } + u32 var_r29 = 0xffff0001; + if (mTimer == 0) { + if (fopAcM_create(PROC_MYNA2, var_r29 | mSwitchNo << 8, &actor_pos, + fopAcM_GetRoomNo(this), &actor_angle, 0, -1) + != fpcM_ERROR_PROCESS_ID_e) { + dComIfGs_onSwitch(mSwitchNo,fopAcM_GetRoomNo(this)); } } } @@ -52,7 +51,9 @@ s32 daTagMyna2_c::execute() { } static s32 daTagMyna2_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagMyna2_c* myna2 = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return myna2->create(); } static s32 daTagMyna2_Execute(daTagMyna2_c* i_this) { @@ -60,6 +61,7 @@ static s32 daTagMyna2_Execute(daTagMyna2_c* i_this) { } static s32 daTagMyna2_Delete(daTagMyna2_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagMyna2_c(); return 1; } diff --git a/src/d/actor/d_a_tag_myna_light.cpp b/src/d/actor/d_a_tag_myna_light.cpp index 11ab9df604..e4748364f9 100644 --- a/src/d/actor/d_a_tag_myna_light.cpp +++ b/src/d/actor/d_a_tag_myna_light.cpp @@ -25,18 +25,15 @@ int daTag_MynaLight_c::Delete() { } int daTag_MynaLight_c::Execute() { - u8 uVar1 = (int)(dComIfGs_getTime() * 0.06666667f) & 0xFF; - u8 turn_on_time = getTurnOnTime() & 0xFF; - u8 turn_off_time = getTurnOffTime() & 0xFF; - - if (turn_off_time > turn_on_time) { - if (uVar1 >= (getTurnOnTime() & 0xFF) && uVar1 < (getTurnOffTime() & 0xFF)) { + u8 var_r30 = (int)(dComIfGs_getTime() * 0.06666667f); + if (getTurnOffTime() > getTurnOnTime()) { + if (var_r30 >= getTurnOnTime() && var_r30 < getTurnOffTime()) { field_0x578 = true; } else { field_0x578 = false; } } else { - if (uVar1 >= (getTurnOffTime() & 0xFF) && uVar1 < (getTurnOnTime() & 0xFF)) { + if (var_r30 >= getTurnOffTime() && var_r30 < getTurnOnTime()) { field_0x578 = false; } else { field_0x578 = true; @@ -45,10 +42,10 @@ int daTag_MynaLight_c::Execute() { if (mTurnOnFlag) { if (dComIfGp_roomControl_getStayNo() != 0) { - mDoAud_seStartLevel(Z2SE_OBJ_MYNA_LIGHT_BURNING, (Vec*)¤t.pos, 0, - dComIfGp_getReverb(dComIfGp_roomControl_getStayNo())); + mDoAud_seStartLevel(Z2SE_OBJ_MYNA_LIGHT_BURNING, ¤t.pos, 0, + dComIfGp_getReverb(dComIfGp_roomControl_getStayNo())); } else { - mDoAud_seStartLevel(Z2SE_OBJ_MYNA_LIGHT_BURNING, (Vec*)¤t.pos, 0, 0); + mDoAud_seStartLevel(Z2SE_OBJ_MYNA_LIGHT_BURNING, ¤t.pos, 0, 0); } } return 1; @@ -110,12 +107,14 @@ bool daTag_MynaLight_c::setTurnOnOffChange() { return mTurnOnFlag; } -u32 daTag_MynaLight_c::getTurnOnTime() { - return fopAcM_GetParamBit(this, 0, 5); +u8 daTag_MynaLight_c::getTurnOnTime() { + u8 param = fopAcM_GetParam(this) & 0x1F; + return param; } -u32 daTag_MynaLight_c::getTurnOffTime() { - return fopAcM_GetParamBit(this, 5, 5); +u8 daTag_MynaLight_c::getTurnOffTime() { + u8 param = (fopAcM_GetParam(this) & 0x3E0) >> 5; + return param; } void daTag_MynaLight_c::initialize() { diff --git a/src/d/actor/d_a_tag_pachi.cpp b/src/d/actor/d_a_tag_pachi.cpp index eaa18e2fd4..949ffd6902 100644 --- a/src/d/actor/d_a_tag_pachi.cpp +++ b/src/d/actor/d_a_tag_pachi.cpp @@ -3,6 +3,7 @@ #include "d/actor/d_a_tag_pachi.h" #include "d/d_com_inf_game.h" #include "d/d_procname.h" +#include "d/d_s_play.h" daTagPati_c::~daTagPati_c() {} @@ -24,6 +25,7 @@ static dCcD_SrcCyl const l_sph_src = { int daTagPati_c::create() { fopAcM_ct(this, daTagPati_c); + OS_REPORT("-------------- TAG YAMI CREATE!!\n"); field_0x6E0 = get_prm(); mStts.Init(0xFF, 0xFF, this); mCyl.Set(l_sph_src); @@ -39,25 +41,41 @@ int daTagPati_c::Execute() { } void daTagPati_c::col_set() { - mCyl.SetR(1350.f); + f32 var_f31 = 1350.f; + if (field_0x6E0 == 0 || field_0x6E0 == 1) { + var_f31 += tREG_F(18); + } else if (field_0x6E0 == 2 || field_0x6E0 == 3) { + var_f31 += tREG_F(19); + } + mCyl.SetR(var_f31); mCyl.SetH(300000.0f); mCyl.SetC(home.pos); dComIfG_Ccsp()->Set(&mCyl); } u32 daTagPati_c::chk_CoHit() { - return mCyl.ChkCoHit() ? 1 : 0; + if (mCyl.ChkCoHit()) { + OS_REPORT("----mtype = %d\n", field_0x6E0); + return 1; + } else { + return 0; + } } static int daTagPati_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagPati_c* pati = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return pati->create(); } static int daTagPati_Execute(fopAc_ac_c* i_this) { - return static_cast(i_this)->Execute(); + daTagPati_c* pati = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return pati->Execute(); } static int daTagPati_Delete(daTagPati_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagPati_c(); return 1; } diff --git a/src/d/actor/d_a_tag_poFire.cpp b/src/d/actor/d_a_tag_poFire.cpp index 5cbdb87a5a..6c1d8cdc05 100644 --- a/src/d/actor/d_a_tag_poFire.cpp +++ b/src/d/actor/d_a_tag_poFire.cpp @@ -12,6 +12,12 @@ daTagPoFire_HIO_c::daTagPoFire_HIO_c() { unk_0x4 = 0x14; } +#if DEBUG +void daTagPoFire_HIO_c::genMessage(JORMContext* ctx) { + // empty function +} +#endif + void daTagPoFire_c::setBaseMtx() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); @@ -48,11 +54,14 @@ static int daTagPoFire_Execute(daTagPoFire_c* i_this) { } static int daTagPoFire_Delete(daTagPoFire_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->Delete(); } static int daTagPoFire_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagPoFire_c* poFire = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return poFire->create(); } daTagPoFire_HIO_c::~daTagPoFire_HIO_c() {} diff --git a/src/d/actor/d_a_tag_push.cpp b/src/d/actor/d_a_tag_push.cpp index a6bed6cfa4..10530f1da6 100644 --- a/src/d/actor/d_a_tag_push.cpp +++ b/src/d/actor/d_a_tag_push.cpp @@ -5,52 +5,60 @@ #include "d/d_procname.h" void* daTag_Push_c::srchActor(void* param_0, void* param_1) { + daTag_Push_c* push = (daTag_Push_c*)param_0; BOOL bVar1 = false; - if (param_0 != NULL && fopAcM_IsActor(param_0)) { + if (push != NULL && fopAcM_IsActor(push)) { if (fopAcM_IsExecuting(fopAcM_GetID(param_0))) { - switch (((daTag_Push_c*)param_1)->getId()) { + int id = ((daTag_Push_c*)param_1)->getId(); + switch (id) { case 1: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_TARO; + bVar1 = fopAcM_GetName(push) == PROC_NPC_TARO; break; case 2: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_JAGAR; + bVar1 = fopAcM_GetName(push) == PROC_NPC_JAGAR; break; case 3: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_LEN; + bVar1 = fopAcM_GetName(push) == PROC_NPC_LEN; break; case 4: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_TARO; + bVar1 = fopAcM_GetName(push) == PROC_NPC_TARO; break; case 5: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_MARO; + bVar1 = fopAcM_GetName(push) == PROC_NPC_MARO; break; case 6: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_BESU; + bVar1 = fopAcM_GetName(push) == PROC_NPC_BESU; break; case 7: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_BOU; + bVar1 = fopAcM_GetName(push) == PROC_NPC_BOU; break; case 8: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_GRS; + bVar1 = fopAcM_GetName(push) == PROC_NPC_GRS; break; case 9: - bVar1 = fopAcM_GetName(param_0) == PROC_NPC_GRO; + bVar1 = fopAcM_GetName(push) == PROC_NPC_GRO; break; } } } if (!bVar1) { - param_0 = NULL; + push = NULL; } - return param_0; + return push; } int daTag_Push_c::create() { + int var_r29 = 0; fopAcM_ct(this, daTag_Push_c); scale.x *= 100.0f; scale.y *= 100.0f; scale.z = scale.x; + + OS_REPORT("\t(%s:%d) PlayerNo:%d, BitSW:%02x, BitSW2:%02x, flowNo:%d<%08x>\n", + fopAcM_getProcNameString(this), getId(), getPlayerListNo(), getBitSW(), getBitSW2(), + getFlowNodeNo(), fopAcM_GetParam(this)); + if (isDelete()) { return cPhs_ERROR_e; } else { @@ -146,7 +154,7 @@ static int daTag_Push_Draw(void* i_this) { return static_cast(i_this)->Draw(); } -static int daTag_Push_IsDelete(void* i_this) { +static int daTag_Push_IsDelete(void*) { return 1; } diff --git a/src/d/actor/d_a_tag_qs.cpp b/src/d/actor/d_a_tag_qs.cpp index 780e338a6e..b1e8204bdf 100644 --- a/src/d/actor/d_a_tag_qs.cpp +++ b/src/d/actor/d_a_tag_qs.cpp @@ -4,14 +4,134 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep -#include "d/actor/d_a_tag_qs.h" +#include "SSystem/SComponent/c_math.h" #include "d/actor/d_a_obj_carry.h" #include "d/actor/d_a_player.h" -#include "d/d_cc_d.h" +#include "d/actor/d_a_tag_qs.h" #include "d/d_a_item_static.h" -#include "d/d_save.h" +#include "d/d_cc_d.h" #include "d/d_com_inf_game.h" -#include "SSystem/SComponent/c_math.h" +#include "d/d_debug_viewer.h" +#include "d/d_save.h" + +class daObjTagQs_HIO_c : public mDoHIO_entry_c { +public: + daObjTagQs_HIO_c(); + + void genMessage(JORMContext*); + + /* 0x08 */ f32 powerOutsideRadius; + /* 0x0C */ f32 safeArea; + /* 0x10 */ f32 powerInsideRadius; + /* 0x14 */ f32 powerCenter; + /* 0x18 */ f32 sinkholePowerOutsideRadius; + /* 0x1C */ f32 sinkholeSafeArea; + /* 0x20 */ f32 sinkholePowerInsideRadius; + /* 0x24 */ f32 sinkholePowerCenter; + /* 0x28 */ s16 startMorfFrame; + /* 0x2A */ s16 stopMorfFrame; + /* 0x2C */ f32 centralSinkSpeed; + /* 0x30 */ u16 flags; +}; + +#if DEBUG +daObjTagQs_HIO_c l_HIO; +#endif + +#define TAG_QS_DEF_POWER_OUTSIDE_RADIUS 4.0f +#define TAG_QS_DEF_SAFE_AREA 0.8f +#define TAG_QS_DEF_POWER_INSIDE_RADIUS 6.0f +#define TAG_QS_DEF_POWER_CENTER 12.0f +#define TAG_QS_DEF_SINKHOLE_POWER_OUTSIDE_RADIUS 5.0f +#define TAG_QS_DEF_SINKHOLE_SAFE_AREA 0.5f +#define TAG_QS_DEF_SINKHOLE_POWER_INSIDE_RADIUS 10.0f +#define TAG_QS_DEF_SINKHOLE_POWER_CENTER 20.0f +#define TAG_QS_DEF_START_MORF_FRAME 30 +#define TAG_QS_DEF_STOP_MORF_FRAME 30 +#define TAG_QS_DEF_CENTRAL_SINK_SPEED 0.5f +#define TAG_QS_DEF_FLAGS 0 + +#if DEBUG +#define TAG_QS_POWER_OUTSIDE_RADIUS l_HIO.powerOutsideRadius +#define TAG_QS_SAFE_AREA l_HIO.safeArea +#define TAG_QS_POWER_INSIDE_RADIUS l_HIO.powerInsideRadius +#define TAG_QS_POWER_CENTER l_HIO.powerCenter +#define TAG_QS_SINKHOLE_POWER_OUTSIDE_RADIUS l_HIO.sinkholePowerOutsideRadius +#define TAG_QS_SINKHOLE_SAFE_AREA l_HIO.sinkholeSafeArea +#define TAG_QS_SINKHOLE_POWER_INSIDE_RADIUS l_HIO.sinkholePowerInsideRadius +#define TAG_QS_SINKHOLE_POWER_CENTER l_HIO.sinkholePowerCenter +#define TAG_QS_START_MORF_FRAME l_HIO.startMorfFrame +#define TAG_QS_STOP_MORF_FRAME l_HIO.stopMorfFrame +#define TAG_QS_CENTRAL_SINK_SPEED l_HIO.centralSinkSpeed +#define TAG_QS_FLAGS l_HIO.flags +#else +#define TAG_QS_POWER_OUTSIDE_RADIUS TAG_QS_DEF_POWER_OUTSIDE_RADIUS +#define TAG_QS_SAFE_AREA TAG_QS_DEF_SAFE_AREA +#define TAG_QS_POWER_INSIDE_RADIUS TAG_QS_DEF_POWER_INSIDE_RADIUS +#define TAG_QS_POWER_CENTER TAG_QS_DEF_POWER_CENTER +#define TAG_QS_SINKHOLE_POWER_OUTSIDE_RADIUS TAG_QS_DEF_SINKHOLE_POWER_OUTSIDE_RADIUS +#define TAG_QS_SINKHOLE_SAFE_AREA TAG_QS_DEF_SINKHOLE_SAFE_AREA +#define TAG_QS_SINKHOLE_POWER_INSIDE_RADIUS TAG_QS_DEF_SINKHOLE_POWER_INSIDE_RADIUS +#define TAG_QS_SINKHOLE_POWER_CENTER TAG_QS_DEF_SINKHOLE_POWER_CENTER +#define TAG_QS_START_MORF_FRAME TAG_QS_DEF_START_MORF_FRAME +#define TAG_QS_STOP_MORF_FRAME TAG_QS_DEF_STOP_MORF_FRAME +#define TAG_QS_CENTRAL_SINK_SPEED TAG_QS_DEF_CENTRAL_SINK_SPEED +#define TAG_QS_FLAGS TAG_QS_DEF_FLAGS +#endif + +#if DEBUG +daObjTagQs_HIO_c::daObjTagQs_HIO_c() { + powerOutsideRadius = TAG_QS_DEF_POWER_OUTSIDE_RADIUS; + safeArea = TAG_QS_DEF_SAFE_AREA; + powerInsideRadius = TAG_QS_DEF_POWER_INSIDE_RADIUS; + powerCenter = TAG_QS_DEF_POWER_CENTER; + sinkholePowerOutsideRadius = TAG_QS_DEF_SINKHOLE_POWER_OUTSIDE_RADIUS; + sinkholeSafeArea = TAG_QS_DEF_SINKHOLE_SAFE_AREA; + sinkholePowerInsideRadius = TAG_QS_DEF_SINKHOLE_POWER_INSIDE_RADIUS; + sinkholePowerCenter = TAG_QS_DEF_SINKHOLE_POWER_CENTER; + startMorfFrame = TAG_QS_DEF_START_MORF_FRAME; + stopMorfFrame = TAG_QS_DEF_STOP_MORF_FRAME; + flags = TAG_QS_DEF_FLAGS; + centralSinkSpeed = TAG_QS_DEF_CENTRAL_SINK_SPEED; +} + +void daObjTagQs_HIO_c::genMessage(JORMContext* ctx) { + // "Quicksand" + ctx->genLabel("流砂", 0); + // "Power (outside safety radius)" + ctx->genSlider("パワー(安全半径外)", &powerOutsideRadius, 0.0f, 100.0f); + // "Safety radius adjust" + ctx->genSlider("安全半径変更", &safeArea, 0.0f, 1.0f); + // "Power (inside safety radius)" + ctx->genSlider("パワー(安全半径)", &powerInsideRadius, 0.0f, 100.0f); + // "Power (center)" + ctx->genSlider("パワー(中心)", &powerCenter, 0.0f, 100.0f); + + // "Quicksand (10x)" (sinkhole?) + ctx->genLabel("流砂(10倍)", 0); + // "Power (outside safety radius)" + ctx->genSlider("パワー(安全半径外)", &sinkholePowerOutsideRadius, 0.0f, 100.0f); + // "Safety radius adjust" + ctx->genSlider("安全半径変更", &sinkholeSafeArea, 0.0f, 1.0f); + // "Power (inside safety radius)" + ctx->genSlider("パワー(安全半径)", &sinkholePowerInsideRadius, 0.0f, 100.0f); + // "Power (center)" + ctx->genSlider("パワー(中心)", &sinkholePowerCenter, 0.0f, 100.0f); + + // "Others" + ctx->genLabel("その他", 0); + // "Start interpolation frame" + ctx->genSlider("スタート補間フレーム", &startMorfFrame, 0, 120); + // "Stop interpolation frame" + ctx->genSlider("ストップ補間フレーム", &stopMorfFrame, 0, 120); + // "Draw" + ctx->genCheckBox("描画", &flags, 0x1); + // "Stop" + ctx->genCheckBox("停止", &flags, 0x2); + // "Central sink speed" + ctx->genSlider("中心沈み速度", ¢ralSinkSpeed, 0.0f, 10.0f); +} +#endif static dCcD_SrcCyl l_cc_cyl_src = { { @@ -33,6 +153,12 @@ daTagQs_c::~daTagQs_c() {} int daTagQs_c::create() { fopAcM_ct(this, daTagQs_c); + +#if DEBUG + // "Quicksand" + l_HIO.entryHIO("流砂"); +#endif + f32 typeScale; if (getType() == 0) { typeScale = 1.0f; @@ -50,137 +176,170 @@ int daTagQs_c::create() { } f32 daTagQs_c::getPower() { - return getType() == 0 ? 4.0f : 5.0f; + if (getType() == 0) { + return TAG_QS_POWER_OUTSIDE_RADIUS; + } else { + return TAG_QS_SINKHOLE_POWER_OUTSIDE_RADIUS; + } } f32 daTagQs_c::getSafeArea() { - return getType() == 0 ? 0.8f : 0.5f; + if (getType() == 0) { + return TAG_QS_SAFE_AREA; + } else { + return TAG_QS_SINKHOLE_SAFE_AREA; + } } f32 daTagQs_c::getPower80() { - return getType() == 0 ? 6.0f : 10.0f; + if (getType() == 0) { + return TAG_QS_POWER_INSIDE_RADIUS; + } else { + return TAG_QS_SINKHOLE_POWER_INSIDE_RADIUS; + } } f32 daTagQs_c::getCenterPower() { - return getType() == 0 ? 12.0f : 20.0f; + if (getType() == 0) { + return TAG_QS_POWER_CENTER; + } else { + return TAG_QS_SINKHOLE_POWER_CENTER; + } } f32 daTagQs_c::calcPower(f32 param_1, f32 param_2) { f32 dVar12 = 1.0f; if (getSwNo() != 0xff) { if (fopAcM_isSwitch(this, getSwNo())) { - dVar12 = field_0x570 / 30.0f; + dVar12 = field_0x570 / (f32)TAG_QS_START_MORF_FRAME; } else { - dVar12 = (30 - field_0x574) / 30.0f; + dVar12 = (TAG_QS_STOP_MORF_FRAME - field_0x574) / (f32)TAG_QS_STOP_MORF_FRAME; } } - if (param_2 > (param_1 * 0.8f)) { + if (param_2 > param_1 * TAG_QS_SAFE_AREA) { return dVar12 * getPower(); } return dVar12 * - ((1.0f - (param_2 / (param_1 * getSafeArea()))) * (getCenterPower() - getPower80()) + + ((1.0f - param_2 / (param_1 * getSafeArea())) * (getCenterPower() - getPower80()) + getPower80()); } static int hikiyose(cXyz* param_1, cXyz* param_2, cXyz* param_3, f32 param_4) { - cXyz cStack_44 = *param_1 - *param_2; - cXyz cStack_50(cStack_44); - cStack_50.y = 0.0f; - f32 dVar6 = fabsf(cStack_50.getSquareMag()); - if (dVar6 < 4.0f) { + cXyz posDiff; + posDiff = *param_1 - *param_2; + cXyz posDiffLat(posDiff); + posDiffLat.y = 0.0f; + f32 dist; + if (fabsf(posDiffLat.getSquareMag()) < 4.0f) { param_2->x = param_1->x + cM_rndFX(1.0f); - param_2->y -= 0.5f; + param_2->y -= TAG_QS_CENTRAL_SINK_SPEED; param_2->z = param_1->z + cM_rndFX(1.0f); param_3->y = param_2->y; if (param_2->y < param_1->y - 100.0f) { return 2; } return 1; - } else if (cStack_44.abs() < param_4) { - param_2->x = param_1->x; - param_2->y = param_1->y; - param_2->z = param_1->z; } else { - cStack_44.normalize(); - cStack_44 *= param_4; - *param_2 += cStack_44; + dist = posDiff.abs(); + if (dist < param_4) { + param_2->x = param_1->x; + param_2->y = param_1->y; + param_2->z = param_1->z; + } else { + posDiff.normalize(); + posDiff *= param_4; + *param_2 += posDiff; + } } return 0; } static void* search(void* param_1, void* param_2) { + UNUSED(param_2); + if (param_1 == NULL || !fopAcM_IsActor(param_1)) { return NULL; } - fopAc_ac_c* actor1 = (fopAc_ac_c*) param_1; - daTagQs_c* actor2 = (daTagQs_c*) param_2; - f32 dVar9 = actor2->current.pos.absXZ(actor1->current.pos); - if (dVar9 > actor2->field_0x568) { + + daTagQs_c* qs = (daTagQs_c*)param_2; + fopAc_ac_c* target = (fopAc_ac_c*)param_1; + + f32 latDist = qs->current.pos.absXZ(target->current.pos); + if (latDist > qs->field_0x568) { return NULL; } - if (actor2->current.pos.y - 110.0f > actor1->current.pos.y || - actor2->current.pos.y + actor2->field_0x56c < actor1->current.pos.y) + + if (qs->current.pos.y - 110.0f > target->current.pos.y || + qs->current.pos.y + qs->field_0x56c < target->current.pos.y) { return NULL; } - if (actor1->current.pos.y > - actor2->current.pos.y + (actor2->field_0x56c * dVar9) / (actor2->field_0x568 * 0.9f) + 20.0f) + + if (target->current.pos.y > + qs->current.pos.y + qs->field_0x56c * latDist / (qs->field_0x568 * 0.9f) + 20.0f) { return NULL; } + if (fopAcM_GetProfName(param_1) == PROC_ITEM) { - daItem_c* item = (daItem_c*)param_1; - item->getItemNo(); - if (item->getItemNo() <= 3) { - int iVar3 = hikiyose(&actor2->current.pos, &actor1->current.pos, &actor1->old.pos, - actor2->calcPower(actor2->field_0x568, dVar9)); - if (iVar3 == 1) { + daItem_c* item = (daItem_c*)target; + // somehow this condition is supposed to produce a double `li r0, 0x1` instruction, + // this only produces one and is likely a fakematch anyway + if (((u8)item->getItemNo(), true) && item->getItemNo() <= 3) { + int sp14 = hikiyose(&qs->current.pos, &item->current.pos, &item->old.pos, + qs->calcPower(qs->field_0x568, latDist)); + if (sp14 == 1) { item->startCtrl(); - } else if (iVar3 == 2) { - fopAcM_delete(actor1); + } else if (sp14 == 2) { + fopAcM_delete(item); } } return NULL; } + if (fopAcM_GetProfName(param_1) == PROC_Obj_Carry) { - daObjCarry_c* carry = (daObjCarry_c*)param_1; + daObjCarry_c* carry = (daObjCarry_c*)target; if (carry->getType() == 7 || carry->getType() == 1 || carry->getType() == 5) { - int iVar3 = hikiyose(&actor2->current.pos, &carry->current.pos, &carry->old.pos, actor2->calcPower(actor2->field_0x568, dVar9)); - if (iVar3 == 1) { + int sp10 = hikiyose(&qs->current.pos, &carry->current.pos, &carry->old.pos, + qs->calcPower(qs->field_0x568, latDist)); + if (sp10 == 1) { carry->startCtrl(); - } else if (iVar3 == 2) { + } else if (sp10 == 2) { fopAcM_delete(carry); } } return NULL; } + if (param_1 == daPy_getPlayerActorClass()) { daPy_py_c* player = daPy_getPlayerActorClass(); - cXyz local_58 = actor2->current.pos - player->current.pos; - if (local_58.getSquareMag() >= actor2->getPower()) { - s16 sVar6 = cM_atan2s(local_58.x, local_58.z); + cXyz posDiff = qs->current.pos - player->current.pos; + if (posDiff.getSquareMag() >= qs->getPower()) { + s16 yaw = cM_atan2s(posDiff.x, posDiff.z); if (!player->checkPlayerFly()) { - player->setOutPower(actor2->calcPower(actor2->field_0x568, dVar9), sVar6, 0); + player->setOutPower(qs->calcPower(qs->field_0x568, latDist), yaw, 0); } } return NULL; } - + return NULL; } int daTagQs_c::execute() { - fopAcM_Search(search, this); + if ((TAG_QS_FLAGS & 0x2) == 0) { + fopAcM_Search(search, this); + } if (getSwNo() != 0xff) { - int bossLife; + int bossLife = 0; if (fopAcM_isSwitch(this, getSwNo())) { field_0x570++; - if (field_0x570 > 30) { - field_0x570 = 30; + if (field_0x570 > TAG_QS_START_MORF_FRAME) { + field_0x570 = TAG_QS_START_MORF_FRAME; } field_0x574 = 0; - bossLife = (field_0x570 * 100.0f) / 30.0f; + bossLife = (field_0x570 * 100.0f) / (f32)TAG_QS_START_MORF_FRAME; if (getType() == 0) { Z2GetAudioMgr()->seStartLevel(Z2SE_ENV_QUICKSAND_LOOP, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)), 1.0f, @@ -188,11 +347,11 @@ int daTagQs_c::execute() { } } else { field_0x574++; - if (field_0x574 > 30) { - field_0x574 = 30; + if (field_0x574 > TAG_QS_STOP_MORF_FRAME) { + field_0x574 = TAG_QS_STOP_MORF_FRAME; } field_0x570 = 0; - bossLife = 100.0f - field_0x574 * 100.0f / 30.0f; + bossLife = 100.0f - field_0x574 * 100.0f / (f32)TAG_QS_STOP_MORF_FRAME; } dComIfGs_BossLife_public_Set(bossLife); } else { @@ -206,6 +365,15 @@ int daTagQs_c::execute() { } int daTagQs_c::draw() { + if (TAG_QS_FLAGS & 0x1) { + GXColor color; + color.r = 0xff; + color.g = 0; + color.b = 0xff; + color.a = 0x80; + dDbVw_drawCylinderXlu(current.pos, field_0x568, field_0x56c, color, 1); + } + return 1; } @@ -218,6 +386,10 @@ static int daTagQs_Execute(daTagQs_c* i_this) { } static int daTagQs_IsDelete(daTagQs_c* i_this) { + UNUSED(i_this); +#if DEBUG + l_HIO.removeHIO(); +#endif return 1; } @@ -227,7 +399,8 @@ static int daTagQs_Delete(daTagQs_c* i_this) { } static int daTagQs_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagQs_c* qs = static_cast(i_this); + return qs->create(); } static actor_method_class l_daTagQs_Method = { diff --git a/src/d/actor/d_a_tag_ret_room.cpp b/src/d/actor/d_a_tag_ret_room.cpp index f22cbd4f55..7e7a411236 100644 --- a/src/d/actor/d_a_tag_ret_room.cpp +++ b/src/d/actor/d_a_tag_ret_room.cpp @@ -6,7 +6,44 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_ret_room.h" + #include "d/actor/d_a_player.h" +#include "d/d_debug_viewer.h" + +class daTagRetRm_HIO_c : public mDoHIO_entry_c { +public: + daTagRetRm_HIO_c(); + + void genMessage(JORMContext*); + + void setScale(const cXyz& i_scale) { scale = i_scale; }; + + cXyz scale; + u8 showTag; +}; + +#if DEBUG +daTagRetRm_HIO_c l_TAG_RET_ROOM_HIO; +#endif + +daTagRetRm_HIO_c::daTagRetRm_HIO_c() { + // empty function +} + +#if DEBUG +void daTagRetRm_HIO_c::genMessage(JORMContext* ctx) { + // "Return to room tag" + ctx->genLabel("____________部屋戻しタグ____________", 0); + // "Scale value X" + ctx->genSlider("スケール値X", &scale.x, 0.0f, 25.0f); + // "Scale value Y" + ctx->genSlider("スケール値Y", &scale.y, 0.0f, 25.0f); + // "Scale value Z" + ctx->genSlider("スケール値Z", &scale.z, 0.0f, 25.0f); + // "Display tag ON/OFF" + ctx->genCheckBox("Tag表示ON/OFF", &showTag, TRUE); +} +#endif daTagRetRm_c::daTagRetRm_c() {} @@ -15,14 +52,51 @@ daTagRetRm_c::~daTagRetRm_c() {} int daTagRetRm_c::create() { fopAcM_ct(this, daTagRetRm_c); init(); + +#if DEBUG + // "Room return tag Lv7D" + l_TAG_RET_ROOM_HIO.entryHIO("部屋戻しタグLv7D"); + l_TAG_RET_ROOM_HIO.setScale(scale); + l_TAG_RET_ROOM_HIO.showTag = FALSE; +#endif + return cPhs_COMPLEATE_e; } int daTagRetRm_c::Delete() { +#if DEBUG + l_TAG_RET_ROOM_HIO.removeHIO(); +#endif + return 1; } int daTagRetRm_c::draw() { +#if DEBUG + if (l_TAG_RET_ROOM_HIO.showTag == TRUE) { + GXColor color = {0xff, 0, 0, 0x80}; + cXyz sp10[8]; + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(current.angle.y); + + sp10[0].set(-field_0x56c, 0.0f, -field_0x574); + sp10[1].set(-field_0x56c, 0.0f, field_0x574); + sp10[2].set(field_0x56c, 0.0f, -field_0x574); + sp10[3].set(field_0x56c, 0.0f, field_0x574); + sp10[4].set(-field_0x56c, field_0x570, -field_0x574); + sp10[5].set(-field_0x56c, field_0x570, field_0x574); + sp10[6].set(field_0x56c, field_0x570, -field_0x574); + sp10[7].set(field_0x56c, field_0x570, field_0x574); + + for (int i = 0; i < ARRAY_SIZE(sp10); i++) { + mDoMtx_stack_c::multVec(&sp10[i], &sp10[i]); + } + + dDbVw_drawCube8pXlu(sp10, color); + } +#endif + return 1; } @@ -48,21 +122,21 @@ void daTagRetRm_c::init() { field_0x578 = 0; } -u8 daTagRetRm_c::chkPlyrInTag() { - cXyz pos; - if (dComIfGp_getPlayer(0) == NULL) { - return 0; +bool daTagRetRm_c::chkPlyrInTag() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + if (player == NULL) { + return false; + } + + cXyz pos = player->current.pos - current.pos; + mDoMtx_stack_c::YrotS(-current.angle.y); + mDoMtx_stack_c::multVec(&pos, &pos); + if (0 < pos.y && field_0x570 > pos.y && field_0x56c > pos.x && field_0x574 > pos.z && + -field_0x56c < pos.x && -field_0x574 < pos.z) + { + return true; } else { - pos = daPy_getPlayerActorClass()->current.pos - current.pos; - mDoMtx_stack_c::YrotS(-current.angle.y); - mDoMtx_stack_c::multVec(&pos, &pos); - if ((0 < pos.y) && (field_0x570 > pos.y) && (field_0x56c > pos.x) && - (field_0x574 > pos.z) && (-field_0x56c < pos.x) && (-field_0x574 < pos.z)) - { - return 1; - } else { - return 0; - } + return false; } } diff --git a/src/d/actor/d_a_tag_river_back.cpp b/src/d/actor/d_a_tag_river_back.cpp index c902f125a7..e361cccbd9 100644 --- a/src/d/actor/d_a_tag_river_back.cpp +++ b/src/d/actor/d_a_tag_river_back.cpp @@ -12,10 +12,14 @@ static char* l_arcName = "RvBack"; static char* l_evName = "RIVER_BACK"; +static char* l_staffName = "rvback"; + int daTagRiverBack_c::Create() { mMapToolID = -1; eventInfo.setArchiveName(l_arcName); - mEventID = dComIfGp_getEventManager().getEventIdx(this, l_evName, -1); + mEventID = (s16)dComIfGp_getEventManager().getEventIdx(this, l_evName, -1); + // "River flow reversal tag: evid<%d>tool<%d>" + OS_REPORT("川流れ戻しタグ:evid<%d>tool<%d>\n", mEventID, mMapToolID); return 1; } @@ -23,8 +27,7 @@ int daTagRiverBack_c::create() { fopAcM_ct(this, daTagRiverBack_c); int phase = dComIfG_resLoad(&mPhase, l_arcName); if (phase == cPhs_COMPLEATE_e) { - int result = Create(); - if (!result) { + if (!Create()) { return cPhs_ERROR_e; } } @@ -32,13 +35,11 @@ int daTagRiverBack_c::create() { } int daTagRiverBack_c::execute() { - u8 swBit = getSwBit(); - if (swBit != 0xFF && fopAcM_isSwitch(this, swBit) != 0) { + if (getSwbit() != 0xFF && fopAcM_isSwitch(this, getSwbit()) != 0) { return 1; } - u8 swBit2 = getSwBit2(); - if (swBit2 != 0xFF && fopAcM_isSwitch(this, swBit2) == 0) { + if (getSwbit2() != 0xFF && fopAcM_isSwitch(this, getSwbit2()) == 0) { return 1; } @@ -47,8 +48,6 @@ int daTagRiverBack_c::execute() { return 1; } -static char* l_staffName = "rvback"; - void daTagRiverBack_c::event_proc_call() { typedef void (daTagRiverBack_c::*actionFunc)(); static actionFunc l_func[] = {&daTagRiverBack_c::actionWait, @@ -59,7 +58,8 @@ void daTagRiverBack_c::event_proc_call() { } void daTagRiverBack_c::actionWait() { - if (dComIfGp_checkPlayerStatus0(0, 0x100000) != 0) { + u32 result = dComIfGp_checkPlayerStatus0(0, 0x100000); + if (result != 0) { mCount = 0; setAction(ACTION_ORDER_EVENT_e); fopAcM_orderOtherEventId(this, mEventID, mMapToolID, 0xFFFF, 0, 1); @@ -72,7 +72,7 @@ void daTagRiverBack_c::actionOrderEvent() { if (eventInfo.checkCommandDemoAccrpt()) { setAction(ACTION_EVENT_e); mStaffID = dComIfGp_evmng_getMyStaffId(l_staffName, NULL, 0); - player->mNoResetFlg0 |= 0x10000; + player->onDemoStreamAccept(); demoProc(); } else { fopAcM_orderOtherEventId(this, mEventID, mMapToolID, 0xFFFF, 0, 1); @@ -82,7 +82,7 @@ void daTagRiverBack_c::actionOrderEvent() { void daTagRiverBack_c::actionEvent() { daPy_py_c* player = daPy_getPlayerActorClass(); - mCount += 1; + mCount += (s16)1; if (dComIfGp_evmng_endCheck(mEventID)) { setAction(ACTION_DEAD_e); dComIfGp_event_reset(); @@ -96,34 +96,35 @@ void daTagRiverBack_c::actionEvent() { void daTagRiverBack_c::actionDead() {} -static char* action_table[] = {"WAIT", "SCENE_CHG"}; - int daTagRiverBack_c::demoProc() { + static char* action_table[] = {"WAIT", "SCENE_CHG"}; + + daPy_py_c* player = daPy_getPlayerActorClass(); int act_id = dComIfGp_evmng_getMyActIdx(mStaffID, action_table, ARRAY_SIZEU(action_table), 0, 0); + int* timer_p; if (dComIfGp_evmng_getIsAddvance(mStaffID)) { switch (act_id) { - case WAIT_e: { - int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer"); + case WAIT_e: + timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer"); if (timer_p == NULL) { mTimer = 1; } else { mTimer = *timer_p; } break; - } case SCENE_CHG_e: mDoAud_seStart(Z2SE_FORCE_BACK, 0, 0, 0); } } switch (act_id) { case WAIT_e: - if ((cLib_calcTimer(&mTimer) & 0xFF) == 0) { + if (cLib_calcTimer(&mTimer) == 0) { dComIfGp_evmng_cutEnd(mStaffID); } break; case SCENE_CHG_e: - dStage_changeScene(fopAcM_GetParamBit(this, 0, 8) & 0xFF, 0.0f, 0, fopAcM_GetRoomNo(this), + dStage_changeScene(getNextSceneNo(), 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); break; default: @@ -143,10 +144,12 @@ static int daTagRiverBack_Execute(daTagRiverBack_c* i_this) { } static int daTagRiverBack_Delete(daTagRiverBack_c* i_this) { + fopAcM_RegisterDeleteID(i_this, "RiverBack"); return i_this->_delete(); } static int daTagRiverBack_Create(daTagRiverBack_c* i_this) { + fopAcM_RegisterCreateID(i_this, "RiverBack"); return i_this->create(); } diff --git a/src/d/actor/d_a_tag_rmbit_sw.cpp b/src/d/actor/d_a_tag_rmbit_sw.cpp index 5ea0480999..e3def0a333 100644 --- a/src/d/actor/d_a_tag_rmbit_sw.cpp +++ b/src/d/actor/d_a_tag_rmbit_sw.cpp @@ -6,30 +6,112 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_rmbit_sw.h" + +#include "d/d_debug_viewer.h" #include "d/d_procname.h" +class daTagRmbitSw_HIO_c : public mDoHIO_entry_c { +public: + daTagRmbitSw_HIO_c(); + + void setScale(const cXyz& i_scale); + + void genMessage(JORMContext*); + + cXyz scale; + u8 show_tag; +}; + +#if DEBUG +daTagRmbitSw_HIO_c l_RMBIT_HIO; + +daTagRmbitSw_HIO_c::daTagRmbitSw_HIO_c() { + // empty function +} + +void daTagRmbitSw_HIO_c::setScale(const cXyz& i_scale) { + scale = i_scale; +} + +void daTagRmbitSw_HIO_c::genMessage(JORMContext* ctx) { + ctx->genLabel("____________部屋戻しタグ____________", 0); + ctx->genSlider("スケール値X", &scale.x, 0.0f, 25.0f); + ctx->genSlider("スケール値Y", &scale.y, 0.0f, 25.0f); + ctx->genSlider("スケール値Z", &scale.z, 0.0f, 25.0f); + ctx->genCheckBox("Tag表示ON/OFF", &show_tag, 0x1); +} +#endif + daTagRmbitSw_c::daTagRmbitSw_c() {} daTagRmbitSw_c::~daTagRmbitSw_c() {} int daTagRmbitSw_c::create() { fopAcM_ct(this, daTagRmbitSw_c); + init(); + +#if DEBUG + // "Destination room bit change switch" + l_RMBIT_HIO.entryHIO("到達部屋ビット変更スイッチ"); + l_RMBIT_HIO.setScale(scale); + l_RMBIT_HIO.show_tag = FALSE; +#endif + + if (getArg1_RoomNo() == -1) { + JUT_WARN(165, "%s", " VisitedRoomNo == -1 !!!!!\n"); + } + return cPhs_COMPLEATE_e; } int daTagRmbitSw_c::Delete() { +#if DEBUG + l_RMBIT_HIO.removeHIO(); +#endif + return 1; } int daTagRmbitSw_c::draw() { +#if DEBUG + if (l_RMBIT_HIO.show_tag == TRUE) { + GXColor color = {0xff, 0, 0, 0x80}; + cXyz sp10[8]; + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(current.angle.y); + + sp10[0].set(-field_0x56c, 0.0f, -field_0x574); + sp10[1].set(-field_0x56c, 0.0f, field_0x574); + sp10[2].set(field_0x56c, 0.0f, -field_0x574); + sp10[3].set(field_0x56c, 0.0f, field_0x574); + sp10[4].set(-field_0x56c, field_0x570, -field_0x574); + sp10[5].set(-field_0x56c, field_0x570, field_0x574); + sp10[6].set(field_0x56c, field_0x570, -field_0x574); + sp10[7].set(field_0x56c, field_0x570, field_0x574); + + for (int i = 0; i < ARRAY_SIZE(sp10); i++) { + mDoMtx_stack_c::multVec(&sp10[i], &sp10[i]); + } + + dDbVw_drawCube8pXlu(sp10, color); + } +#endif + return 1; } int daTagRmbitSw_c::execute() { +#if DEBUG + field_0x56c = l_RMBIT_HIO.scale.x * 50.0f; + field_0x570 = l_RMBIT_HIO.scale.y * 100.0f; + field_0x574 = l_RMBIT_HIO.scale.z * 50.0f; +#endif + if (chkPlyrInTag()) { if (getArg3_CngBitFlg() == 1) { - if ((s32)getSwBit() == 0xff || fopAcM_isSwitch(this, getSwBit())) { + if (getSwBit() == 0xff || fopAcM_isSwitch(this, getSwBit())) { if (getArg2_CngBitVal() == 1) { if (getArg0_RoomSaveTableNo() == -1) { dComIfGs_onVisitedRoom(getArg1_RoomNo()); @@ -79,22 +161,22 @@ void daTagRmbitSw_c::init() { field_0x574 = scale.z * 50.0f; } -u8 daTagRmbitSw_c::chkPlyrInTag() { +bool daTagRmbitSw_c::chkPlyrInTag() { fopAc_ac_c* fopPos = dComIfGp_getPlayer(0); if (!fopPos) { - return 0; - } else { - cXyz cPos = fopPos->current.pos - current.pos; - mDoMtx_stack_c::YrotS(-current.angle.y); - mDoMtx_stack_c::multVec(&cPos, &cPos); - if ((0.0f < cPos.y) && (field_0x570 > cPos.y) && (field_0x56c > cPos.x) && - (field_0x574 > cPos.z) && (-field_0x56c < cPos.x) && (-field_0x574 < cPos.z)) - { - return 1; - } + return false; } - return 0; + + cXyz cPos = fopPos->current.pos - current.pos; + mDoMtx_stack_c::YrotS(-current.angle.y); + mDoMtx_stack_c::multVec(&cPos, &cPos); + if (0.0f < cPos.y && field_0x570 > cPos.y && field_0x56c > cPos.x && + field_0x574 > cPos.z && -field_0x56c < cPos.x && -field_0x574 < cPos.z) + { + return true; + } + return false; } int daTagRmbitSw_create(daTagRmbitSw_c* i_this) { diff --git a/src/d/actor/d_a_tag_schedule.cpp b/src/d/actor/d_a_tag_schedule.cpp index 8b8df4d1f5..5e567a56f4 100644 --- a/src/d/actor/d_a_tag_schedule.cpp +++ b/src/d/actor/d_a_tag_schedule.cpp @@ -9,10 +9,12 @@ static int daTagSchedule_Create(fopAc_ac_c* i_this) { daTagSchedule_c* schedule_tag = (daTagSchedule_c*)i_this; + int id = fopAcM_GetID(i_this); return schedule_tag->create(); } static int daTagSchedule_Delete(daTagSchedule_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagSchedule_c(); return 1; } diff --git a/src/d/actor/d_a_tag_setBall.cpp b/src/d/actor/d_a_tag_setBall.cpp index 57d7038dec..75ef80c1be 100644 --- a/src/d/actor/d_a_tag_setBall.cpp +++ b/src/d/actor/d_a_tag_setBall.cpp @@ -43,10 +43,12 @@ static int daTagSetBall_Execute(daTagSetBall_c* i_this) { } static int daTagSetBall_Delete(daTagSetBall_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } static int daTagSetBall_Create(daTagSetBall_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->create(); } diff --git a/src/d/actor/d_a_tag_setrestart.cpp b/src/d/actor/d_a_tag_setrestart.cpp index d96fc0ac01..e76afad4ed 100644 --- a/src/d/actor/d_a_tag_setrestart.cpp +++ b/src/d/actor/d_a_tag_setrestart.cpp @@ -8,8 +8,33 @@ #include "d/actor/d_a_tag_setrestart.h" #include "d/d_com_inf_game.h" +#include "d/d_debug_viewer.h" #include "d/d_procname.h" +class daTagRestart_HIO_c : public mDoHIO_entry_c { +public: + daTagRestart_HIO_c(); + + void genMessage(JORMContext*); + + u8 show_range; +}; + +#if DEBUG +daTagRestart_HIO_c l_HIO; + +daTagRestart_HIO_c::daTagRestart_HIO_c() { + show_range = FALSE; +} + +void daTagRestart_HIO_c::genMessage(JORMContext* ctx) { + // "Room return switch tag" + ctx->genLabel("部屋戻し切替タグ", 0); + // "Range display" + ctx->genCheckBox("範囲表示", &show_range, 0x1); +} +#endif + int daTagRestart_c::Create() { field_0x56c[0].x = scale.x * -100.0f; field_0x56c[0].z = scale.z * -100.0f; @@ -23,10 +48,7 @@ int daTagRestart_c::Create() { field_0x56c[3].x = scale.x * -100.0f; field_0x56c[3].z = scale.z * 100.0f; - field_0x56c[3].y = 0.0f; - field_0x56c[2].y = 0.0f; - field_0x56c[1].y = 0.0f; - field_0x56c[0].y = 0.0f; + field_0x56c[0].y = field_0x56c[1].y = field_0x56c[2].y = field_0x56c[3].y = 0.0f; mPlayerRoomNo = -1; return 1; @@ -39,6 +61,11 @@ int daTagRestart_c::create() { return cPhs_ERROR_e; } +#if DEBUG + // "Room return switch tag" + l_HIO.entryHIO("部屋戻し切替タグ"); +#endif + return cPhs_COMPLEATE_e; } @@ -56,6 +83,7 @@ int daTagRestart_c::execute() { int roomNo = dComIfGp_roomControl_getStayNo(); if (roomNo != mPlayerRoomNo) { cXyz pos_offset; + cXyz restart_pos; s16 restart_angle; if (roomNo == daTagRestart_prm::getFRoomNo(this)) { restart_angle = home.angle.y; @@ -68,10 +96,14 @@ int daTagRestart_c::execute() { pos_offset.y += 100.0f; mDoMtx_stack_c::YrotS(home.angle.y); mDoMtx_stack_c::multVec(&pos_offset, &pos_offset); - cXyz restart_pos = current.pos + pos_offset; + restart_pos = current.pos + pos_offset; if (fopAcM_gc_c::gndCheck(&restart_pos)) { restart_pos.y = fopAcM_gc_c::getGroundY(); + } else { + // "There was no floor at the player's restart position!" + OS_REPORT_ERROR("プレイヤー部屋戻し位置に床がありませんでした!\n"); + JUT_ASSERT(304, FALSE); } dComIfGs_setRestartRoom(restart_pos, restart_angle, fopAcM_GetRoomNo(player)); @@ -82,20 +114,63 @@ int daTagRestart_c::execute() { return 1; } -int daTagRestart_c::_delete() { +int daTagRestart_c::draw() { +#if DEBUG + if (l_HIO.show_range) { + GXColor color = {0x80, 0, 0, 0x80}; + cXyz sp10[8]; + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(current.angle.y); + + sp10[0] = field_0x56c[0]; + sp10[1] = field_0x56c[1]; + sp10[2] = field_0x56c[3]; + sp10[3] = field_0x56c[2]; + sp10[4] = field_0x56c[0]; + sp10[5] = field_0x56c[1]; + sp10[6] = field_0x56c[3]; + sp10[7] = field_0x56c[2]; + + for (int i = 0; i < ARRAY_SIZE(sp10); i++) { + mDoMtx_stack_c::multVec(&sp10[i], &sp10[i]); + } + + for (int i = 0; i < 4; i++) { + sp10[i].y += 1000.0f; + } + + dDbVw_drawCube8pXlu(sp10, color); + } +#endif + return 1; } +int daTagRestart_c::_delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + return 1; +} + +static int daTagRestart_Draw(daTagRestart_c* i_this) { + return i_this->draw(); +} + static int daTagRestart_Execute(daTagRestart_c* i_this) { return i_this->execute(); } static int daTagRestart_Delete(daTagRestart_c* i_this) { + ("Delete -> TagRestart( =%d)\n", fopAcM_GetID(i_this)); return i_this->_delete(); } static int daTagRestart_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagRestart_c* restart = static_cast(i_this); + fopAcM_RegisterCreateID(i_this, "Hasu"); + return restart->create(); } static actor_method_class l_daTagRestart_Method = { @@ -103,7 +178,11 @@ static actor_method_class l_daTagRestart_Method = { (process_method_func)daTagRestart_Delete, (process_method_func)daTagRestart_Execute, (process_method_func)NULL, +#if DEBUG + (process_method_func)daTagRestart_Draw, +#else (process_method_func)NULL, +#endif }; actor_process_profile_definition g_profile_Tag_Restart = { diff --git a/src/d/actor/d_a_tag_shop_item.cpp b/src/d/actor/d_a_tag_shop_item.cpp index a9f0ea9171..0671f06374 100644 --- a/src/d/actor/d_a_tag_shop_item.cpp +++ b/src/d/actor/d_a_tag_shop_item.cpp @@ -47,17 +47,17 @@ int daTag_ShopItem_c::create() { if (getSwitchBit1() != 0xFF) { if (dComIfGs_isSaveSwitch(getSwitchBit1())) { - mCreateTimer = 150; // "Already Sold\n" OS_REPORT("もう売れたよ\n"); + mCreateTimer = 150; } } if (getSwitchBit2() != 0xFF) { if (!dComIfGs_isSaveSwitch(getSwitchBit2())) { - mCreateTimer = 150; // "Not sold yet\n" OS_REPORT("まだ売れない\n"); + mCreateTimer = 150; } } } @@ -79,7 +79,7 @@ int daTag_ShopItem_c::Execute() { if (mProcessID == fpcM_ERROR_PROCESS_ID_e) { if (mCreateTimer == 0) { mProcessID = - fopAcM_create(PROC_ShopItem, (getType() & 0xFF) | (getGroupID() << 0x1C), + fopAcM_create(PROC_ShopItem, getType() | (getGroupID() << 28), ¤t.pos, fopAcM_GetRoomNo(this), ¤t.angle, NULL, -1); } else { @@ -126,19 +126,25 @@ int daTag_ShopItem_c::Draw() { } u8 daTag_ShopItem_c::getType() { - return fopAcM_GetParam(this) & 0xFF; + u8 result = fopAcM_GetParam(this); + return result; } u8 daTag_ShopItem_c::getGroupID() { - return fopAcM_GetParam(this) >> 0x1C; + u8 result = (fopAcM_GetParam(this) & 0xF0000000) >> 28; + return result; } u8 daTag_ShopItem_c::getSwitchBit1() { - return home.angle.z & 0xFF; + u16 angleZ = home.angle.z; + u8 result = angleZ; + return result; } u8 daTag_ShopItem_c::getSwitchBit2() { - return home.angle.z >> 8 & 0xFF; + u16 angleZ = home.angle.z; + u8 result = (angleZ & 0xFF00) >> 8; + return result; } void daTag_ShopItem_c::initialize() { diff --git a/src/d/actor/d_a_tag_smk_emt.cpp b/src/d/actor/d_a_tag_smk_emt.cpp index 035a667e2d..8e91fcb7ca 100644 --- a/src/d/actor/d_a_tag_smk_emt.cpp +++ b/src/d/actor/d_a_tag_smk_emt.cpp @@ -33,19 +33,19 @@ int daTagSmkEmt_c::execute() { return 1; } -static u16 const PARTICLE_NAME[3] = { - 0x87E7, - 0x87E8, - 0x87E9 -}; - void daTagSmkEmt_c::createSmkEmt() { + static u16 const PARTICLE_NAME[3] = { + dPa_RM(ID_ZF_S_L5CHIMSMK00), + dPa_RM(ID_ZF_S_L5CHIMSMK01), + dPa_RM(ID_ZF_S_L5CHIMSMK02), + }; + cXyz pos(current.pos); csXyz angle(0,0,0); - cXyz pos2(1.0f,1.0f,1.0f); + cXyz pos2(1.0f, 1.0f, 1.0f); for (int i = 0; i < 3; i++) { - mParticles[i] = dComIfGp_particle_set(PARTICLE_NAME[i],&pos,&angle,&pos2); + mParticles[i] = dComIfGp_particle_set(PARTICLE_NAME[i], &pos, &angle, &pos2); } } diff --git a/src/d/actor/d_a_tag_spinner.cpp b/src/d/actor/d_a_tag_spinner.cpp index d3c928cb3e..8a95bd4955 100644 --- a/src/d/actor/d_a_tag_spinner.cpp +++ b/src/d/actor/d_a_tag_spinner.cpp @@ -6,8 +6,34 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_spinner.h" + +#include "d/d_debug_viewer.h" #include "d/d_procname.h" +class daTagSpinner_HIO_c : public mDoHIO_entry_c { +public: + daTagSpinner_HIO_c(); + + void genMessage(JORMContext*); + + u8 enable_debug_display; +}; + +#if DEBUG +daTagSpinner_HIO_c l_HIO; + +daTagSpinner_HIO_c::daTagSpinner_HIO_c() { + enable_debug_display = FALSE; +} + +void daTagSpinner_HIO_c::genMessage(JORMContext* ctx) { + // "Spinner suction tag" + ctx->genLabel("スピンナー吸い込みタグ", 0); + // "Debug display" + ctx->genCheckBox("デバッグ表示", &enable_debug_display, 0x1); +} +#endif + static int CheckCreateHeap(fopAc_ac_c* param_0) { daTagSpinner_c* tag = (daTagSpinner_c*)param_0; return tag->CreateHeap(); @@ -17,12 +43,15 @@ static void* search_spinner_sub(void* tag_0, void* tag_1) { fopAc_ac_c* actor = (fopAc_ac_c*)tag_0; daTagSpinner_c* actor2 = (daTagSpinner_c*)tag_1; - if ((actor != NULL) && (fopAcM_IsActor(actor) != NULL) && (fopAcM_GetProfName(actor) == 0xF2)) { - if ((actor->current.pos.absXZ(actor2->current.pos)) < (actor2->GetR())) { + if (actor != NULL && + fopAcM_IsActor(actor) != NULL && + fopAcM_GetProfName(actor) == PROC_SPINNER) { + f32 latDist = actor->current.pos.absXZ(actor2->current.pos); + if (latDist < actor2->GetR()) { return actor; } } - return 0; + return NULL; } void daTagSpinner_c::initBaseMtx() { @@ -30,8 +59,8 @@ void daTagSpinner_c::initBaseMtx() { } void daTagSpinner_c::setBaseMtx() { - MTXTrans(mDoMtx_stack_c::now, current.pos.x, current.pos.y, current.pos.z); - mDoMtx_ZXYrotM(mDoMtx_stack_c::now, shape_angle.x, shape_angle.y, shape_angle.z); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); } int daTagSpinner_c::Create() { @@ -46,21 +75,27 @@ int daTagSpinner_c::CreateHeap() { } int daTagSpinner_c::create() { - int iVar1; - int iVar2; fopAcM_ct(this, daTagSpinner_c); - if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0)) { - iVar2 = 5; - } else { - iVar1 = Create(); - if (iVar1 == NULL) { - iVar2 = 5; - } else { - iVar2 = 4; + int var_r29 = cPhs_COMPLEATE_e; + if (var_r29 == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0)) { + return cPhs_ERROR_e; } + + if (!Create()) { + return cPhs_ERROR_e; + } + + OS_REPORT("TAG_SPINNER PARAM:%x\n", fopAcM_GetParam(this)); + +#if DEBUG + // "Spinner suction tag" + l_HIO.entryHIO("スピンナー吸い込みタグ"); +#endif } - return iVar2; + + return var_r29; } int daTagSpinner_c::execute() { @@ -76,26 +111,55 @@ int daTagSpinner_c::execute() { return 1; } -int daTagSpinner_c::_delete() { +int daTagSpinner_c::draw() { +#if DEBUG + GXColor color = (GXColor){0, 0, 0x80, 0x80}; + + if (l_HIO.enable_debug_display) { + dDbVw_drawCylinderXlu(current.pos, mRadius, field_0x56c, color, 1); + } +#endif + return 1; } -static int daTagSpinner_Execute(daTagSpinner_c* tag) { - return tag->execute(); +int daTagSpinner_c::_delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + + return 1; +} + +static int daTagSpinner_Execute(daTagSpinner_c* i_this) { + return i_this->execute(); +} + +static int daTagSpinner_Draw(daTagSpinner_c* i_this) { + return i_this->draw(); } static int daTagSpinner_Delete(daTagSpinner_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } -static int daTagSpinner_Create(fopAc_ac_c* tag) { - return static_cast(tag)->create(); +static int daTagSpinner_Create(fopAc_ac_c* i_this) { + daTagSpinner_c* spinner = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return spinner->create(); } static actor_method_class l_daTagSpinner_Method = { (process_method_func)daTagSpinner_Create, (process_method_func)daTagSpinner_Delete, (process_method_func)daTagSpinner_Execute, + (process_method_func)NULL, +#if DEBUG + (process_method_func)daTagSpinner_Draw, +#else + (process_method_func)NULL, +#endif }; diff --git a/src/d/actor/d_a_tag_sppath.cpp b/src/d/actor/d_a_tag_sppath.cpp index c703b5ce68..162facf5cc 100644 --- a/src/d/actor/d_a_tag_sppath.cpp +++ b/src/d/actor/d_a_tag_sppath.cpp @@ -28,8 +28,8 @@ static dCcD_SrcCyl l_cylSrc = { int daTagSppath_c::create() { fopAcM_ct(this, daTagSppath_c); - mSwNo1 = fopAcM_GetParamBit(this, 8, 8); - mSwNo2 = fopAcM_GetParamBit(this, 16, 8); + mSwNo1 = (fopAcM_GetParam(this) >> 8) & 0xFF; + mSwNo2 = (fopAcM_GetParam(this) >> 16) & 0xFF; s32 pathIndex = fopAcM_GetParam(this) & 0xff; if (pathIndex == 0xff || @@ -53,53 +53,65 @@ int daTagSppath_c::create() { } static int daTagSppath_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagSppath_c* spPath = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return spPath->create(); } daTagSppath_c::~daTagSppath_c() {} static int daTagSppath_Delete(daTagSppath_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagSppath_c(); return 1; } int daTagSppath_c::getNearPathPos(cXyz* i_result, dPath* i_path) { - daPy_py_c* py = daPy_getPlayerActorClass(); - cXyz* pyCurPos = &py->current.pos; + cXyz* pyCurPos = &daPy_getPlayerActorClass()->current.pos; dPnt* curPnt = i_path->m_points; f32 bestDist = FLT_MAX; - int bestNo; + f32 distToSeg; BOOL isValid; cM3dGLin line; cXyz nearestPointOnSeg; cXyz pntDiff; - f32 distToSeg; + int bestNo; + f32 flatness; + f32 segLen; + dPnt* adjPnt; for (int i = 0; i < i_path->m_num; i++, curPnt++) { if (i != i_path->m_num - 1) { line.set(curPnt[0].m_position, curPnt[1].m_position); if (!dPath_ChkClose(i_path)) { + adjPnt = curPnt + 1; if (i == 0) { - pntDiff.set(curPnt[1].m_position.x - curPnt[0].m_position.x, - curPnt[1].m_position.y - curPnt[0].m_position.y, - curPnt[1].m_position.z - curPnt[0].m_position.z); - f32 segLen = pntDiff.abs(); + pntDiff.set(adjPnt->m_position.x - curPnt->m_position.x, + adjPnt->m_position.y - curPnt->m_position.y, + adjPnt->m_position.z - curPnt->m_position.z); + segLen = pntDiff.abs(); pntDiff.normalizeZP(); - f32 flatness = pntDiff.absXZ(); - if (flatness > 0.001f && segLen > 30.0f / flatness) { - line.GetStartP() = line.GetStart() + pntDiff * (30.0f / flatness); + flatness = pntDiff.absXZ(); + if (flatness > 0.001f) { + flatness = 30.0f / flatness; + if (segLen > flatness) { + line.GetStartP() = line.GetStart() + pntDiff * flatness; + } } } if (i == i_path->m_num - 2) { - pntDiff.set(curPnt[0].m_position.x - curPnt[1].m_position.x, - curPnt[0].m_position.y - curPnt[1].m_position.y, - curPnt[0].m_position.z - curPnt[1].m_position.z); - f32 segLen = pntDiff.abs(); + pntDiff.set(curPnt->m_position.x - adjPnt->m_position.x, + curPnt->m_position.y - adjPnt->m_position.y, + curPnt->m_position.z - adjPnt->m_position.z); + segLen = pntDiff.abs(); pntDiff.normalizeZP(); - f32 flatness = pntDiff.absXZ(); - if (flatness > 0.001f && segLen > 30.0f / flatness) { - line.GetEndP() = line.GetEnd() + pntDiff * (30.0f / flatness); + flatness = pntDiff.absXZ(); + if (flatness > 0.001f) { + flatness = 30.0f / flatness; + if (segLen > flatness) { + line.GetEndP() = line.GetEnd() + pntDiff * flatness; + } } } } @@ -117,7 +129,6 @@ int daTagSppath_c::getNearPathPos(cXyz* i_result, dPath* i_path) { if (isValid == 0) { nearestPointOnSeg = curPnt->m_position; if (!dPath_ChkClose(i_path) && ((i == 0 || (i == i_path->m_num - 1)))) { - dPnt* adjPnt; if (i == 0) { adjPnt = curPnt + 1; } else { @@ -127,11 +138,14 @@ int daTagSppath_c::getNearPathPos(cXyz* i_result, dPath* i_path) { pntDiff.set(adjPnt->m_position.x - curPnt->m_position.x, adjPnt->m_position.y - curPnt->m_position.y, adjPnt->m_position.z - curPnt->m_position.z); - f32 segLen = pntDiff.abs(); + segLen = pntDiff.abs(); pntDiff.normalizeZP(); - f32 flatness = pntDiff.absXZ(); - if (flatness > 0.001f && segLen > 30.0f / flatness) { - nearestPointOnSeg += pntDiff * (30.0f / flatness); + flatness = pntDiff.absXZ(); + if (flatness > 0.001f) { + flatness = 30.0f / flatness; + if (segLen > flatness) { + nearestPointOnSeg += pntDiff * flatness; + } } } } @@ -157,12 +171,14 @@ int daTagSppath_c::execute() { } dPath* path = mpInitPath; + cXyz nearestPointOnPath; f32 bestDist = FLT_MAX; + f32 dist; + int no; for (; path != NULL; path = dPath_GetNextRoomPath(path, fopAcM_GetRoomNo(this))) { - cXyz nearestPointOnPath; - int no = getNearPathPos(&nearestPointOnPath, path); - f32 dist = nearestPointOnPath.abs2(py->current.pos); + no = getNearPathPos(&nearestPointOnPath, path); + dist = nearestPointOnPath.abs2(py->current.pos); if (dist < bestDist) { bestDist = dist; current.pos = nearestPointOnPath; @@ -172,8 +188,7 @@ int daTagSppath_c::execute() { } if (mpBestPath->field_0x4 == 0) { - u32 swNo = mpBestPath->field_0x6; - if (swNo == 0xff || fopAcM_isSwitch(this, swNo) == 0) { + if (mpBestPath->field_0x6 == 0xff || fopAcM_isSwitch(this, mpBestPath->field_0x6) == 0) { field_0x6e8 = 1; } else { field_0x6e8 = 2; @@ -182,7 +197,8 @@ int daTagSppath_c::execute() { field_0x6e8 = 0; } - mCyl.SetC(cXyz(current.pos.x, current.pos.y - mHeight * 0.5f, current.pos.z)); + cXyz sp10(current.pos.x, current.pos.y - mHeight * 0.5f, current.pos.z); + mCyl.SetC(sp10); dComIfG_Ccsp()->Set(&mCyl); return 1; diff --git a/src/d/actor/d_a_tag_spring.cpp b/src/d/actor/d_a_tag_spring.cpp index afc26df117..4eabdf3db2 100644 --- a/src/d/actor/d_a_tag_spring.cpp +++ b/src/d/actor/d_a_tag_spring.cpp @@ -6,9 +6,41 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_spring.h" + #include "d/actor/d_a_player.h" +#include "d/d_debug_viewer.h" #include "d/d_procname.h" +class daTagSpring_HIO_c : public mDoHIO_entry_c { +public: + daTagSpring_HIO_c(); + + void genMessage(JORMContext*); + + u8 draw_range; + u8 recovery_time; + u8 field_0x8; +}; + +daTagSpring_HIO_c::daTagSpring_HIO_c() { + draw_range = 0; + recovery_time = 30; + field_0x8 = 1; +} + +#if DEBUG +daTagSpring_HIO_c l_HIO; + +void daTagSpring_HIO_c::genMessage(JORMContext* ctx) { + // "Spirit spring" + ctx->genLabel("精霊の泉", 0); + // "Draw range" + ctx->genCheckBox("範囲描画", &draw_range, 1); + // "Recovery time" + ctx->genSlider("回復時間", &recovery_time, 0, 200); +} +#endif + void daTagSpring_c::initBaseMtx() { setBaseMtx(); } @@ -30,7 +62,11 @@ int daTagSpring_c::create() { return cPhs_ERROR_e; } - fopAcM_GetParam(this); + OS_REPORT("SPRING PARAM:%x\n", fopAcM_GetParam(this)); +#if DEBUG + l_HIO.entryHIO("精霊の泉"); +#endif + return cPhs_COMPLEATE_e; } @@ -49,40 +85,73 @@ int daTagSpring_c::execute() { if (checkArea() && fopAcM_wt_c::waterCheck(&player_p->current.pos) && (!dComIfGp_checkPlayerStatus0(0, 0x100000) && - fopAcM_wt_c::mWaterY > player_p->current.pos.y || + fopAcM_wt_c::getWaterY() > player_p->current.pos.y || dComIfGp_checkPlayerStatus0(0, 0x100000))) { if (mTimer != 0) { mTimer--; } else { +#if DEBUG + mTimer = l_HIO.recovery_time; +#else mTimer = 30; +#endif dComIfGp_setItemLifeCount(1.0f, 1); } } else { +#if DEBUG + mTimer = l_HIO.recovery_time; +#else mTimer = 30; +#endif } return 1; } -u8 daTagSpring_c::checkArea() { +bool daTagSpring_c::checkArea() { fopAc_ac_c* player_p = daPy_getPlayerActorClass(); - return player_p->current.pos.absXZ(current.pos) < (scale.x * 1000); + if (player_p->current.pos.absXZ(current.pos) < (scale.x * 1000.0f)) { + return 1; + } else { + return 0; + } +} + +int daTagSpring_c::draw() { +#if DEBUG + if (l_HIO.draw_range) { + GXColor color = (GXColor){0, 0, 0xff, 0x80}; + dDbVw_drawCylinderXlu(current.pos, scale.x * 1000.0f, 100.0f, color, 1); + } +#endif + + return 1; } int daTagSpring_c::_delete() { +#if DEBUG + l_HIO.removeHIO(); +#endif + return 1; } +static int daTagSpring_Draw(daTagSpring_c* i_this) { + return i_this->draw(); +} + static int daTagSpring_Execute(daTagSpring_c* i_this) { return i_this->execute(); } static int daTagSpring_Delete(daTagSpring_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->_delete(); } static int daTagSpring_Create(daTagSpring_c* i_this) { + int id = fopAcM_GetID(i_this); return i_this->create(); } diff --git a/src/d/actor/d_a_tag_ss_drink.cpp b/src/d/actor/d_a_tag_ss_drink.cpp index 3126e8c000..bca1da5abc 100644 --- a/src/d/actor/d_a_tag_ss_drink.cpp +++ b/src/d/actor/d_a_tag_ss_drink.cpp @@ -26,7 +26,8 @@ int daTag_SSDrink_c::Delete() { } int daTag_SSDrink_c::Execute() { - if (chkEvent()) { + int eventResult = chkEvent(); + if (eventResult) { if (mProcessFunc) { (this->*mProcessFunc)(0); } @@ -40,8 +41,9 @@ int daTag_SSDrink_c::Draw() { return 1; } -int daTag_SSDrink_c::getTypeFromParam() { - switch (fopAcM_GetParamBit(this, 0, 4)) { +u8 daTag_SSDrink_c::getTypeFromParam() { + u8 param = fopAcM_GetParam(this) & 0xF; + switch (param) { case 0: field_0x5D3 = 0x69; return 0; @@ -70,28 +72,18 @@ int daTag_SSDrink_c::getTypeFromParam() { } u8 daTag_SSDrink_c::getSwitchFromParam() { - return fopAcM_GetParamBit(this, 4, 8); + u8 result = (fopAcM_GetParam(this) & 0xFF0) >> 4; + return result; } u16 daTag_SSDrink_c::getFlowNodeNum() { - u16 num = home.angle.x; - bool bVar1 = false; - if (num == 0xFFFF || num == 0) { - bVar1 = true; - } - - u16 num2; - if (!bVar1) { - num2 = num; - } else { - num2 = 0xFFFF; - } - - return num2 & 0xFFFF; + u16 angleX = home.angle.x; + return angleX == 0xFFFF || angleX == 0 ? 0xFFFF : angleX; } u16 daTag_SSDrink_c::getValue() { - return fopAcM_GetParamBit(this, 12, 16); + u16 result = (fopAcM_GetParam(this) & 0xFFFF000) >> 12; + return result; } void daTag_SSDrink_c::restart() { @@ -117,7 +109,7 @@ int daTag_SSDrink_c::setProcess(ProcessFunc i_processFunc) { int retVal = 0; if (checkProcess(i_processFunc)) { - return 0; + return retVal; } else { mEventType = 2; if (mProcessFunc) { @@ -167,7 +159,7 @@ int daTag_SSDrink_c::chkEvent() { } int daTag_SSDrink_c::orderEvent() { - if (!dComIfGp_getLinkPlayer()->checkWolf() && fopAcM_isSwitch(this, getSwitchFromParam()) && + if (!daPy_py_c::checkNowWolf() && fopAcM_isSwitch(this, getSwitchFromParam()) && field_0x5D3 != 0x60 && getFlowNodeNum() != 0xFFFF) { attention_info.flags = (fopAc_AttnFlag_TALKREAD_e | fopAc_AttnFlag_SPEAK_e); @@ -176,7 +168,7 @@ int daTag_SSDrink_c::orderEvent() { } if (attention_info.flags == (fopAc_AttnFlag_TALKREAD_e | fopAc_AttnFlag_SPEAK_e)) { - if (fopAcM_searchPlayerDistanceXZ(this) <= 160.0f && fopAcM_seenPlayerAngleY() <= 0x2000) { + if (fopAcM_searchPlayerDistanceXZ(this) <= 160.0f && fopAcM_seenPlayerAngleY(this) <= 0x2000) { attention_info.distances[fopAc_attn_TALK_e] = 0x9D; attention_info.distances[fopAc_attn_SPEAK_e] = 0x9D; eventInfo.onCondition(1); @@ -192,7 +184,7 @@ int daTag_SSDrink_c::wait(void* param_0) { if (!eventInfo.checkCommandCatch()) { if (fopAcM_isSwitch(this, getSwitchFromParam())) { if (fopAcM_searchPlayerDistanceXZ(this) <= 160.0f && - fopAcM_seenPlayerAngleY() <= 0x2000) + fopAcM_seenPlayerAngleY(this) <= 0x2000) { fopAc_ac_c* player = dComIfGp_getPlayer(0); cXyz local_28 = attention_info.position - player->attention_info.position; diff --git a/src/d/actor/d_a_tag_statue_evt.cpp b/src/d/actor/d_a_tag_statue_evt.cpp index eac78855db..eb7d3752eb 100644 --- a/src/d/actor/d_a_tag_statue_evt.cpp +++ b/src/d/actor/d_a_tag_statue_evt.cpp @@ -5,8 +5,25 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/actor/d_a_player.h" #include "d/actor/d_a_tag_statue_evt.h" #include "d/d_com_inf_game.h" +#include "d/d_debug_viewer.h" + +class daTagStatue_HIO_c : public mDoHIO_entry_c { +public: + daTagStatue_HIO_c(); + + void genMessage(JORMContext*); + + f32 check_range; + f32 event_trigger_range; + u8 show_range; +}; + +#if DEBUG +daTagStatue_HIO_c l_HIO; +#endif static int CheckCreateHeap(fopAc_ac_c* i_this) { daTagStatue_c* tag_statue = static_cast(i_this); @@ -14,8 +31,9 @@ static int CheckCreateHeap(fopAc_ac_c* i_this) { } // Returns ID of Owl Statue corresponding to tag -static void* s_s_sub(void* i_proc, void* unused) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_CSTAF) { +static void* s_s_sub(void* i_proc, void* param_1) { + UNUSED(param_1); + if (fopAcM_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_CSTAF) { return i_proc; } @@ -36,15 +54,6 @@ static const u16 l_event_bit[6] = { dSv_event_flag_c::F_0812, /* N/A - N/A */ }; -void daTagStatue_c::setBaseMtx() { - const cXyz& current_pos = fopAcM_GetPosition(this); - mDoMtx_stack_c::transS(current_pos.x, 1.0f + current_pos.y, current_pos.z); - const csXyz& shape_angle = *fopAcM_GetShapeAngle_p(this); - mDoMtx_stack_c::ZXYrotM(shape_angle); - - mpModel->setBaseTRMtx(mDoMtx_stack_c::now); -} - static char* l_arcName = "Obj_cs_f"; static u16 l_eff_id[3] = { @@ -74,19 +83,42 @@ static cull_box l_cull_box = { {300.0f, 400.0f, 300.0f} // Max }; -cPhs__Step daTagStatue_c::Create() { - if(fopAcM_isSwitch(this, getSwbit2())) { +#if DEBUG +daTagStatue_HIO_c::daTagStatue_HIO_c() { + check_range = 120.0f; + event_trigger_range = 100.0f; + show_range = 0; +} + +void daTagStatue_HIO_c::genMessage(JORMContext* ctx) { + // "Sky Character tag" + ctx->genLabel("天空文字タグ", 0, 0); + ctx->genCheckBox("範囲表示", &show_range, 1); + // "Stone statue check range" + ctx->genSlider("石像チェック範囲", &check_range, 0.0f, 1000.0f); + // "Event trigger range" + ctx->genSlider("イベント起動範囲", &event_trigger_range, 0.0f, 1000.0f); +} +#endif + +void daTagStatue_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos.x, 1.0f + current.pos.y, current.pos.z); + mDoMtx_stack_c::ZXYrotM(shape_angle); + + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); +} + +cPhs_Step daTagStatue_c::Create() { + if (fopAcM_isSwitch(this, getSwbit2())) { // Player already obtained Sky Character from this tag setAction(ACTION_DEAD_e); mpGlowingSkyCharacterBrk->setFrame(0.0f); mpGlowingSkyCharacterBrk->setPlaySpeed(0.0f); - } - else { - if(fopAcM_isSwitch(this, getSwbit())) { + } else { + if (fopAcM_isSwitch(this, getSwbit())) { setParticle(); mpGlowingSkyCharacterBrk->setFrame(mpGlowingSkyCharacterBrk->getEndFrame()); - } - else { + } else { mpGlowingSkyCharacterBrk->setFrame(0.0f); mpGlowingSkyCharacterBrk->setPlaySpeed(0.0f); } @@ -94,90 +126,107 @@ cPhs__Step daTagStatue_c::Create() { setAction(ACTION_WAIT_e); } - mpPlatformCircleBtk->setFrame(static_cast(mSkyCharacterEventBitIdIndex)); + mpPlatformCircleBtk->setFrame(mSkyCharacterEventBitIdIndex); initBaseMtx(); fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); - fopAcM_setCullSizeBox(this, l_cull_box.min.x, l_cull_box.min.y, l_cull_box.min.z, l_cull_box.max.x, l_cull_box.max.y, l_cull_box.max.z); + fopAcM_setCullSizeBox(this, l_cull_box.min.x, l_cull_box.min.y, l_cull_box.min.z, + l_cull_box.max.x, l_cull_box.max.y, l_cull_box.max.z); - char* ev_arc_name = l_evArcName[mSkyCharacterEventBitIdIndex]; - - if(!ev_arc_name) { + if (!l_evArcName[mSkyCharacterEventBitIdIndex]) { eventInfo.setArchiveName(l_arcName); - } - else { - eventInfo.setArchiveName(ev_arc_name); + } else { + eventInfo.setArchiveName(l_evArcName[mSkyCharacterEventBitIdIndex]); } mMapToolId = 255; - mEventId = dComIfGp_getPEvtManager()->getEventIdx(this, l_eventName[mSkyCharacterEventBitIdIndex], 0xFF); + mEventId = (int)dComIfGp_getEventManager(). + getEventIdx(this, l_eventName[mSkyCharacterEventBitIdIndex], 0xFF); - mTreasureDemoItemId = -1; + mItemId = -1; mOwlStatueId = -1; return cPhs_LOADING_e; } int daTagStatue_c::CreateHeap() { - J3DModelData* model_data = static_cast(dComIfG_getObjectRes(l_arcName, 6)); - mpModel = mDoExt_J3DModel__create(model_data, 0x00080000, 0x11000284); + J3DModelData* modelData = static_cast(dComIfG_getObjectRes(l_arcName, 6)); + JUT_ASSERT(277, modelData != NULL) + mpModel = mDoExt_J3DModel__create(modelData, 0x00080000, 0x11000284); - if(!mpModel) return 0; + if (!mpModel) { + return 0; + } - J3DAnmTextureSRTKey* btk = reinterpret_cast(dComIfG_getObjectRes(l_arcName, 12)); + J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 12); + JUT_ASSERT(291, pbtk != NULL); mpPlatformCircleBtk = new mDoExt_btkAnm(); - if(!mpPlatformCircleBtk || !mpPlatformCircleBtk->init(model_data, btk, 1, 0, 1.0f, 0, -1)) + if (!mpPlatformCircleBtk || !mpPlatformCircleBtk->init(modelData, pbtk, 1, 0, 1.0f, 0, -1)) { return 0; + } - J3DAnmTevRegKey* brk = reinterpret_cast(dComIfG_getObjectRes(l_arcName, 9)); + J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 9); + JUT_ASSERT(303, pbrk != NULL); mpGlowingSkyCharacterBrk = new mDoExt_brkAnm(); - if(!mpGlowingSkyCharacterBrk || !mpGlowingSkyCharacterBrk->init(model_data, brk, 1, 0, 1.0f, 0, -1)) + if (!mpGlowingSkyCharacterBrk || + !mpGlowingSkyCharacterBrk->init(modelData, pbrk, 1, 0, 1.0f, 0, -1)) { return 0; + } return 1; } -cPhs__Step daTagStatue_c::create() { +cPhs_Step daTagStatue_c::create() { fopAcM_ct(this, daTagStatue_c); - mSkyCharacterEventBitIdIndex = fopAcM_GetParamBit(this, 8, 4); + mSkyCharacterEventBitIdIndex = getType(); int phase; - if(l_evArcName[mSkyCharacterEventBitIdIndex]) { + if (l_evArcName[mSkyCharacterEventBitIdIndex]) { phase = dComIfG_resLoad(&mEvArcPhase, l_evArcName[mSkyCharacterEventBitIdIndex]); - if(phase != cPhs_COMPLEATE_e) - return static_cast(phase); + if (phase != cPhs_COMPLEATE_e) { + return static_cast(phase); + } } phase = dComIfG_resLoad(&mArcPhase, l_arcName); - if(phase == cPhs_COMPLEATE_e) { - if(!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x1100)) + if (phase == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x1100)) { return cPhs_ERROR_e; + } - if(Create() == cPhs_INIT_e) + if (Create() == cPhs_INIT_e) { return cPhs_ERROR_e; + } + +#if DEBUG + // "Sky Character tag" + l_HIO.entryHIO("天空文字タグ"); +#endif } - return static_cast(phase); + return static_cast(phase); } int daTagStatue_c::execute() { - if(static_cast(mOwlStatueId + (1 << 16)) == 0xFFFF) { - base_process_class* found_owl_statue = fpcEx_Search(s_s_sub, this); - if(found_owl_statue) { + if (static_cast(mOwlStatueId + (1 << 16)) == 0xFFFF) { + base_process_class* found_owl_statue = fpcM_Search(s_s_sub, this); + if (found_owl_statue) { mOwlStatueId = fopAcM_GetID(found_owl_statue); + // "Sky Character tag: a stone statue was discovered!" + OS_REPORT("天空文字タグ:石像発見しました!ID=%d\n", mOwlStatueId); } } event_proc_call(); setBaseMtx(); - if(mpGlowingSkyCharacterBrk) { + if (mpGlowingSkyCharacterBrk) { mpGlowingSkyCharacterBrk->play(); } @@ -191,20 +240,21 @@ void daTagStatue_c::event_proc_call() { (this->*l_func[mCurrentAction])(); - // Form ring of light around platform and glowing Sky Character if Owl Statue has been moved far enough away - if(checkOnEffect()) { + // Form ring of light around platform and glowing Sky Character if Owl Statue has been moved far + // enough away + if (checkOnEffect()) { setParticle(); mpGlowingSkyCharacterBrk->setPlaySpeed(1.0f); - } - else { + } else { endParticle(); mpGlowingSkyCharacterBrk->setPlaySpeed(-1.0f); } } void daTagStatue_c::actionWait() { - if(checkStartDemo()) { - // Statue is far enough away and player is close enough to the tag for the cutscene to be ordered + if (checkStartDemo()) { + // Statue is far enough away and player is close enough to the tag for the cutscene to be + // ordered setAction(ACTION_ORDER_EVENT_e); fopAcM_orderOtherEventId(this, mEventId, mMapToolId, 0xFFFF, 0, 1); eventInfo.onCondition(0x0002); @@ -212,13 +262,12 @@ void daTagStatue_c::actionWait() { } void daTagStatue_c::actionOrderEvent() { - if(eventInfo.checkCommandDemoAccrpt()) { + if (eventInfo.checkCommandDemoAccrpt()) { // Cutscene order accepted setAction(ACTION_EVENT_e); - mDoAud_subBgmStart(Z2BGM_KOMONJO_GET_INTRO); + Z2GetAudioMgr()->subBgmStart(Z2BGM_KOMONJO_GET_INTRO); demoProc(); - } - else { + } else { // Cutscene order has not been accepted yet, attempt again fopAcM_orderOtherEventId(this, mEventId, mMapToolId, 0xFFFF, 0, 1); eventInfo.onCondition(0x0002); @@ -226,13 +275,12 @@ void daTagStatue_c::actionOrderEvent() { } void daTagStatue_c::actionEvent() { - if(dComIfGp_evmng_endCheck(mEventId)) { + if (dComIfGp_evmng_endCheck(mEventId)) { setAction(ACTION_DEAD_e); dComIfGp_event_reset(); fopAcM_onSwitch(this, getSwbit2()); - dComIfGs_onEventBit(l_event_bit[mSkyCharacterEventBitIdIndex]); - } - else { + dComIfGs_onEventBit((u16)l_event_bit[mSkyCharacterEventBitIdIndex]); + } else { demoProc(); } } @@ -268,13 +316,19 @@ int daTagStatue_c::demoProc() { 16384 // Ruined Theatre }; - int act_id = dComIfGp_evmng_getMyActIdx(mStaffId, action_table, ARRAY_SIZEU(action_table), 0, 0); + daPy_py_c* player = daPy_getPlayerActorClass(); - if(dComIfGp_evmng_getIsAddvance(mStaffId)) { + int act_id = + dComIfGp_evmng_getMyActIdx(mStaffId, action_table, ARRAY_SIZEU(action_table), 0, 0); + + int item; + int* timer_p; + fopAc_ac_c* found_owl_statue; + if (dComIfGp_evmng_getIsAddvance(mStaffId)) { switch(act_id) { case DEMO_ACTION_WAIT: { // Delay fading to black - int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer"); + timer_p = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer"); if (!timer_p) { mTimer = 1; @@ -286,9 +340,11 @@ int daTagStatue_c::demoProc() { } case DEMO_ACTION_MOVE_OWL_STATUE: // Position and orient Owl Statue behind player - if(mSkyCharacterEventBitIdIndex != TAG_LOCATION_GERUDO_DESERT && mSkyCharacterEventBitIdIndex != TAG_LOCATION_LAKE_HYLIA && mSkyCharacterEventBitIdIndex != TAG_LOCATION_RUINED_THEATRE) { - fopAc_ac_c* found_owl_statue = reinterpret_cast(fpcEx_Search(s_s_sub, this)); - if(found_owl_statue) { + if (mSkyCharacterEventBitIdIndex != TAG_LOCATION_GERUDO_DESERT && + mSkyCharacterEventBitIdIndex != TAG_LOCATION_LAKE_HYLIA && + mSkyCharacterEventBitIdIndex != TAG_LOCATION_RUINED_THEATRE) { + found_owl_statue = reinterpret_cast(fpcM_Search(s_s_sub, this)); + if (found_owl_statue) { found_owl_statue->current.pos = l_statue_pos[mSkyCharacterEventBitIdIndex]; found_owl_statue->shape_angle.y = l_statue_ang[mSkyCharacterEventBitIdIndex]; fopAcM_OnStatus(found_owl_statue, 0x800); @@ -296,31 +352,31 @@ int daTagStatue_c::demoProc() { } break; case DEMO_ACTION_AWARD_ITEM: - // If the player already has 5 Sky Characters, reward them with the completed Ancient Sky Book, - // otherwise, reward another character - int item; - if(getLetterCount() == 5) { + // If the player already has 5 Sky Characters, reward them with the completed + // Ancient Sky Book, otherwise, reward another character + if (getLetterCount() == 5) { item = fpcNm_ITEM_ANCIENT_DOCUMENT2; /* Sky character - Sky character 6 */ dComIfGs_onEventBit(dSv_event_flag_c::F_0796); - } - else { + } else { item = fpcNm_ITEM_AIR_LETTER; } - mTreasureDemoItemId = fopAcM_createItemForTrBoxDemo(&fopAcM_GetPosition(this), item, -1, fopAcM_GetRoomNo(this), 0, 0); + mItemId = + fopAcM_createItemForTrBoxDemo(¤t.pos, item, -1, + fopAcM_GetRoomNo(this), 0, 0); - if(static_cast(mTreasureDemoItemId + (1 << 16)) != 0xFFFF) { - dComIfGp_event_setItemPartnerId(mTreasureDemoItemId); + JUT_ASSERT(580, mItemId != fpcM_ERROR_PROCESS_ID_e); + + if (mItemId + (1 << 16) != 0xFFFF) { + dComIfGp_event_setItemPartnerId(mItemId); } - - break; } } switch(act_id) { case DEMO_ACTION_WAIT: - if(!cLib_calcTimer(&mTimer)) { + if (!cLib_calcTimer(&mTimer)) { dComIfGp_evmng_cutEnd(mStaffId); } break; @@ -336,16 +392,18 @@ int daTagStatue_c::demoProc() { } void daTagStatue_c::setParticle() { - for(int i = 0; i < 3; i++) { - if(!mpLightRingEmitters[i]) { - mpLightRingEmitters[i] = dComIfGp_particle_set(l_eff_id[i], ¤t.pos, &home.angle, &scale); + for (int i = 0; i < 3; i++) { + if (!mpLightRingEmitters[i]) { + mpLightRingEmitters[i] = + dComIfGp_particle_set(l_eff_id[i], ¤t.pos, &home.angle, &scale, 0xff, NULL, + -1, NULL, NULL, NULL); } } } void daTagStatue_c::endParticle() { - for(int i = 0; i < 3; i++) { - if(mpLightRingEmitters[i]) { + for (int i = 0; i < 3; i++) { + if (mpLightRingEmitters[i]) { mpLightRingEmitters[i]->becomeInvalidEmitter(); mpLightRingEmitters[i]->quitImmortalEmitter(); mpLightRingEmitters[i] = NULL; @@ -353,48 +411,48 @@ void daTagStatue_c::endParticle() { } } -// Check if statue is far enough away from the Sky Character platform and if player is close enough to the tag for the cutscene -// of obtaining a Sky Character to be ordered +// Check if statue is far enough away from the Sky Character platform and if player is close enough +// to the tag for the cutscene of obtaining a Sky Character to be ordered BOOL daTagStatue_c::checkStartDemo() { - const fopAc_ac_c* const player = dComIfGp_getPlayer(0); + const fopAc_ac_c* const player = daPy_getPlayerActorClass(); - if(!checkOnEffect()) { + if (!checkOnEffect()) { // Owl Statue is not far enough away from tag return 0; } - const f32 tag_distance_to_player = sqrtf(PSVECSquareDistance(&player->current.pos, ¤t.pos)); +#if DEBUG +#define TAG_STATUE_EVENT_TRIGGER_RANGE l_HIO.event_trigger_range +#else +#define TAG_STATUE_EVENT_TRIGGER_RANGE 100.0f +#endif - return (tag_distance_to_player < 100.0f); + if (player->current.pos.abs(current.pos) < TAG_STATUE_EVENT_TRIGGER_RANGE) { + return 1; + } else { + return 0; + } } -// Return whether the owl statue has moved far enough away (in the horizontal plane) from the platform where the Sky Character is obtained -// in order for its glowing effects to occur and the cutscene to be ordered +// Return whether the owl statue has moved far enough away (in the horizontal plane) from the +// platform where the Sky Character is obtained in order for its glowing effects to occur and the +// cutscene to be ordered BOOL daTagStatue_c::checkOnEffect() { - BOOL is_switch = fopAcM_isSwitch(this, getSwbit2()); - if(!is_switch && static_cast(mOwlStatueId + (1 << 16)) != 0xFFFF) { + daPy_py_c* player = daPy_getPlayerActorClass(); + if (!fopAcM_isSwitch(this, getSwbit2()) && + static_cast(mOwlStatueId + (1 << 16)) != 0xFFFF) { fopAc_ac_c* found_owl_statue = fopAcM_SearchByID(mOwlStatueId); - if(found_owl_statue) { - Vec statue_tag_xy_pos; - Vec found_owl_statue_xy_pos; + if (found_owl_statue) { +#if DEBUG +#define TAG_STATUE_CHECK_RANGE l_HIO.check_range +#else +#define TAG_STATUE_CHECK_RANGE 120.0f +#endif - const f32 found_owl_statue_z = fopAcM_GetPosition(found_owl_statue).z; - const f32 found_owl_statue_x = fopAcM_GetPosition(found_owl_statue).x; - found_owl_statue_xy_pos.x = found_owl_statue_x; - found_owl_statue_xy_pos.y = 0.0f; - found_owl_statue_xy_pos.z = found_owl_statue_z; - - const f32 statue_tag_z = fopAcM_GetPosition(this).z; - const f32 statue_tag_x = fopAcM_GetPosition(this).x; - statue_tag_xy_pos.x = statue_tag_x; - statue_tag_xy_pos.y = 0.0f; - statue_tag_xy_pos.z = statue_tag_z; - - const f32 distance_between_statue_and_tag = sqrtf(PSVECSquareDistance(&found_owl_statue_xy_pos, &statue_tag_xy_pos)); - - if(distance_between_statue_and_tag > 120.0f) return TRUE; - } - else { + if (found_owl_statue->current.pos.absXZ(current.pos) > TAG_STATUE_CHECK_RANGE) { + return TRUE; + } + } else { // No Owl Statue found, platform cannot be covered return TRUE; } @@ -403,21 +461,20 @@ BOOL daTagStatue_c::checkOnEffect() { return FALSE; } -s32 daTagStatue_c::getLetterCount() { - s32 numLetters = 0; - for(int i = 0; i < 6; i++) { - if(dComIfGs_isEventBit(l_event_bit[i])) { +int daTagStatue_c::getLetterCount() { + int numLetters = 0; + for (int i = 0; i < 6; i++) { + if (dComIfGs_isEventBit((u16)l_event_bit[i])) { numLetters++; } } -return numLetters; + return numLetters; } int daTagStatue_c::draw() { - dScnKy_env_light_c* env_light = dKy_getEnvlight(); - env_light->settingTevStruct(0, ¤t.pos, &tevStr); - env_light->setLightTevColorType_MAJI(mpModel, &tevStr); + g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr); dComIfGd_setListBG(); @@ -429,32 +486,46 @@ int daTagStatue_c::draw() { dComIfGd_setList(); +#if DEBUG + if (l_HIO.show_range) { + GXColor color1 = (GXColor){0xff, 0, 0, 0xff}; + GXColor color2 = (GXColor){0, 0, 0xff, 0xff}; + dDbVw_drawCircleXlu(current.pos, l_HIO.check_range, color1, 1, 12); + dDbVw_drawCircleXlu(current.pos, l_HIO.event_trigger_range, color2, 1, 12); + } +#endif + return 1; } int daTagStatue_c::_delete() { endParticle(); dComIfG_resDelete(&mArcPhase, l_arcName); - if(l_evArcName[mSkyCharacterEventBitIdIndex]) { + if (l_evArcName[mSkyCharacterEventBitIdIndex]) { dComIfG_resDelete(&mEvArcPhase, l_evArcName[mSkyCharacterEventBitIdIndex]); } +#if DEBUG + l_HIO.removeHIO(); +#endif return 1; } - static int daTagStatue_Draw(daTagStatue_c* i_this) { +static int daTagStatue_Draw(daTagStatue_c* i_this) { return i_this->draw(); - } +} static int daTagStatue_Execute(daTagStatue_c* i_this) { return i_this->execute(); } static int daTagStatue_Delete(daTagStatue_c* i_this) { + fopAcM_RegisterDeleteID(i_this, "Sample"); return i_this->_delete(); } static int daTagStatue_Create(daTagStatue_c* i_this) { + fopAcM_RegisterCreateID(i_this, "Sample"); return i_this->create(); } diff --git a/src/d/actor/d_a_tag_stream.cpp b/src/d/actor/d_a_tag_stream.cpp index d681a130bb..60dd5fcba2 100644 --- a/src/d/actor/d_a_tag_stream.cpp +++ b/src/d/actor/d_a_tag_stream.cpp @@ -5,18 +5,25 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep -#include "d/actor/d_a_tag_stream.h" #include "SSystem/SComponent/c_math.h" +#include "d/actor/d_a_tag_stream.h" + +#include "d/d_debug_viewer.h" #include "d/d_procname.h" +#include "d/d_s_play.h" int daTagStream_c::create() { fopAcM_ct(this, daTagStream_c); - mPriority = fopAcM_GetParam(this) >> 8; + mPriority = (fopAcM_GetParam(this) >> 8) & 0xFF; mPower = fopAcM_GetParam(this); - field_0x56b = fopAcM_GetParam(this) >> 16; + field_0x56b = (fopAcM_GetParam(this) >> 16) & 0xFF; - fopAcM_GetParam(this) >> 24 != 0 ? mParameters = 0 : mParameters = 1; + if ((fopAcM_GetParam(this) >> 24) != 0) { + mParameters = 0; + } else { + mParameters = 1; + } scale.x *= 100.0f; scale.y *= 100.0f; @@ -49,18 +56,17 @@ int daTagStream_c::create() { } else { m_top = this; } - - f32 float1 = cM_scos(shape_angle.y) * cM_scos(shape_angle.x); - f32 float2 = -cM_ssin(shape_angle.x); - f32 float3 = cM_ssin(shape_angle.y) * cM_scos(shape_angle.x); - speed.set(float3,float2,float1); + speed.set(cM_ssin(shape_angle.y) * cM_scos(shape_angle.x), -cM_ssin(shape_angle.x), + cM_scos(shape_angle.y) * cM_scos(shape_angle.x)); return cPhs_COMPLEATE_e; } static int daTagStream_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagStream_c* stream = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return stream->create(); } daTagStream_c::~daTagStream_c() { @@ -78,6 +84,7 @@ daTagStream_c::~daTagStream_c() { }; static int daTagStream_Delete(daTagStream_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagStream_c(); return 1; } @@ -96,8 +103,33 @@ static int daTagStream_Execute(daTagStream_c* i_this) { return i_this->execute(); } -static bool daTagStream_Draw(daTagStream_c* param_0) { - return true; +static int daTagStream_Draw(daTagStream_c* i_this) { +#if DEBUG + if (UREG_S(9) != 0 && i_this->checkStreamOn()) { + cXyz vertices[8]; + vertices[0].set(-i_this->scale.x, i_this->scale.y, -i_this->scale.z); + vertices[1].set(i_this->scale.x, vertices[0].y, vertices[0].z); + vertices[2].set(vertices[0].x, vertices[0].y, i_this->scale.z); + vertices[3].set(vertices[1].x, vertices[0].y, vertices[2].z); + vertices[4].set(vertices[0].x, 0.0f, vertices[0].z); + vertices[5].set(vertices[1].x, 0.0f, vertices[1].z); + vertices[6].set(vertices[2].x, 0.0f, vertices[2].z); + vertices[7].set(vertices[3].x, 0.0f, vertices[3].z); + + mDoMtx_stack_c::transS(i_this->current.pos); + mDoMtx_stack_c::YrotM(i_this->shape_angle.y); + + for (int i = 0; i < ARRAY_SIZE(vertices); i++) { + mDoMtx_stack_c::multVec(&vertices[i], &vertices[i]); + } + + static GXColor color = {0xff, 0, 0xff, 0x80}; + + dDbVw_drawCube8pXlu(vertices, color); + } +#endif + + return 1; } static actor_method_class l_daTagStream_Method = { diff --git a/src/d/actor/d_a_tag_telop.cpp b/src/d/actor/d_a_tag_telop.cpp index 76a27ed0e0..782a597843 100644 --- a/src/d/actor/d_a_tag_telop.cpp +++ b/src/d/actor/d_a_tag_telop.cpp @@ -52,12 +52,15 @@ static int daTag_Telop_IsDelete(daTag_Telop_c* i_this) { } static int daTag_Telop_Delete(daTag_Telop_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTag_Telop_c(); return 1; } static int daTag_Telop_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTag_Telop_c* telop = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return telop->create(); } static actor_method_class l_daTag_Telop_Method = { diff --git a/src/d/actor/d_a_tag_theB_hint.cpp b/src/d/actor/d_a_tag_theB_hint.cpp index 25acc4361e..3c1274ae5a 100644 --- a/src/d/actor/d_a_tag_theB_hint.cpp +++ b/src/d/actor/d_a_tag_theB_hint.cpp @@ -6,12 +6,40 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_tag_theB_hint.h" +#include "d/actor/d_a_npc_theB.h" + +int daTagTheBHint_c::create() { + fopAcM_ct(this, daTagTheBHint_c); + field_0x568 = std::pow(scale.x * 100.0f,2.0f); + return cPhs_COMPLEATE_e; +} + +int daTagTheBHint_c::execute() { + if (fopAcM_isSwitch(this, getSwitchNo())) { + fopAcM_delete(this); + return 1; + } + + if (fopAcM_searchPlayerDistanceXZ2(this) < field_0x568) { + daNpcTheB_c* the_b = (daNpcTheB_c*)fpcM_SearchByName(PROC_NPC_THEB); + if (the_b) { + int roomNo = getRoomNo() == 0xff ? fopAcM_GetRoomNo(this) : getRoomNo(); + + the_b->setHintEvent(getMessageNo(), getLinkID(), roomNo); + } + } + + return 1; +} static int daTagTheBHint_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagTheBHint_c* theBHint = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return theBHint->create(); } static int daTagTheBHint_Delete(daTagTheBHint_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagTheBHint_c(); return 1; } diff --git a/src/d/actor/d_a_tag_wara_howl.cpp b/src/d/actor/d_a_tag_wara_howl.cpp index 0a4afbeb29..fc55700edf 100644 --- a/src/d/actor/d_a_tag_wara_howl.cpp +++ b/src/d/actor/d_a_tag_wara_howl.cpp @@ -45,12 +45,13 @@ void daTagWrHowl_c::init() { } bool daTagWrHowl_c::chkWlfInTag() { - if (dComIfGp_getPlayer(0) == NULL) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + if (player == NULL) { return false; } if (daPy_py_c::checkNowWolf()) { - cXyz player_pos = dComIfGp_getPlayer(0)->current.pos; + cXyz player_pos = player->current.pos; if (player_pos.abs2(current.pos) < field_0x570) { return true; } diff --git a/src/d/actor/d_a_tag_watchge.cpp b/src/d/actor/d_a_tag_watchge.cpp index 15b920f211..aeacc17e88 100644 --- a/src/d/actor/d_a_tag_watchge.cpp +++ b/src/d/actor/d_a_tag_watchge.cpp @@ -54,6 +54,7 @@ static int daTagWatchGe_IsDelete(daTagWatchGe_c* i_this) { } static int daTagWatchGe_Delete(daTagWatchGe_c* i_this) { + fopAcM_RegisterDeleteID(i_this, "Tag_WatchGe"); return 1; } diff --git a/src/d/actor/d_a_tag_waterfall.cpp b/src/d/actor/d_a_tag_waterfall.cpp index 066936d634..eae7b283f6 100644 --- a/src/d/actor/d_a_tag_waterfall.cpp +++ b/src/d/actor/d_a_tag_waterfall.cpp @@ -7,25 +7,113 @@ #include "d/actor/d_a_tag_waterfall.h" #include "d/d_com_inf_game.h" +#include "d/d_debug_viewer.h" #include "d/d_procname.h" #include "f_op/f_op_camera_mng.h" -static u32 m_master_id = static_cast(0xFFFFFFFF); - daTagWaterFall_HIO_c::daTagWaterFall_HIO_c() { - field_0x04 = -1; - mBaseFogNear = 0.0f; - mBaseFogFar = 10000.0f; - mColorBlendStepDivisor = 3.0f; - mShouldModifyFog = false; - field_0x14 = 0; - field_0x15 = 0; - field_0x18 = 0.0f; - field_0x1C = 0.0f; - field_0x20 = 0.0f; + child = -1; + base_fog_far = 0.0f; + base_fog_near = 10000.0f; + color_blend_step_divisor = 3.0f; + enable_fog_adjust = false; + draw_ellipse = 0; + enable_ellipse_adjust = 0; + ellipse_radius_a = 0.0f; + ellipse_radius_b = 0.0f; + ellipse_rotate = 0.0f; } +#if DEBUG +void daTagWaterFall_HIO_c::genMessage(JORMContext* ctx) { + // "Zora river waterfall" + ctx->genLabel("ゾーラ川の滝", 0x80000001); + ctx->genLabel("-", 0x80000001); + + // "Fog adjustment parameters" + ctx->genLabel("フォグ調整パラメータ", 0x80000001); + ctx->genLabel("-", 0x80000001); + // "Fog adjustment ON?" + ctx->genCheckBox("フォグ調整ON?", &enable_fog_adjust, 0x1); + // "Near direct value" + ctx->genSlider("near直値", &base_fog_far, -100000.0f, 100000.0f); + // "Far direct value" + ctx->genSlider("far直値", &base_fog_near, -100000.0f, 100000.0f); + // "Switching time" + ctx->genSlider("切り替わり時間", &color_blend_step_divisor, 0.0f, 100.0f); + ctx->genLabel("-", 0x80000001); + ctx->genLabel("-", 0x80000001); + ctx->genLabel("-", 0x80000001); + + // "Ellipse adjustment parameters" + ctx->genLabel("楕円調整パラメータ", 0x80000001); + ctx->genLabel("-", 0x80000001); + // "Ellipse display" + ctx->genCheckBox("楕円表示", &draw_ellipse, 0x1); + ctx->genLabel("-", 0x80000001); + // "Ellipse adjustment ON?" + ctx->genCheckBox("楕円調整ON?", &enable_ellipse_adjust, 0x1); + // "Ellipse X radius" + ctx->genSlider("楕円X半径", &ellipse_radius_a, 0.0f, 10000.0f); + // "Ellipse Z radius" + ctx->genSlider("楕円Z半径", &ellipse_radius_b, 0.0f, 10000.0f); + // "Ellipse rotation" + ctx->genSlider("楕円回転", &ellipse_rotate, 0.0f, 65536.0f); +} +#endif + +static bool masterWaterfallTagExists; + +static u32 m_master_id = 0xFFFFFFFF; + +static daTagWaterFall_HIO_c l_HIO; + int daTagWaterFall_c::draw() { +#if DEBUG + f32 paramX; + f32 paramY; + f32 rotCos; + f32 rotSin; + s16 angle; + if (l_HIO.draw_ellipse || l_HIO.enable_ellipse_adjust) { + angle = 0; + cXyz startPos = current.pos; + if (!l_HIO.draw_ellipse) { + paramX = l_HIO.ellipse_radius_a * cM_ssin(angle); + paramY = l_HIO.ellipse_radius_b * cM_scos(angle); + rotCos = cM_scos(l_HIO.ellipse_rotate); + rotSin = cM_ssin(l_HIO.ellipse_rotate); + } else { + paramX = mCylinderRadiusA * cM_ssin(angle); + paramY = mCylinderRadiusB * cM_scos(angle); + rotCos = cM_scos(shape_angle.y); + rotSin = cM_ssin(shape_angle.y); + } + + startPos.x += paramX * rotCos + paramY * rotSin; + startPos.z += -paramX * rotSin + paramY * rotCos; + + cXyz endPos; + for (int i = 0; i < 0x10; i++) { + angle += (s16)0x1000; + endPos = current.pos; + if (l_HIO.draw_ellipse == 0) { + paramX = l_HIO.ellipse_radius_a * cM_ssin(angle); + paramY = l_HIO.ellipse_radius_b * cM_scos(angle); + } else { + paramX = mCylinderRadiusA * cM_ssin(angle); + paramY = mCylinderRadiusB * cM_scos(angle); + } + endPos.x += paramX * rotCos + paramY * rotSin; + endPos.z += -paramX * rotSin + paramY * rotCos; + + dDbVw_drawLineXlu(startPos, endPos, (GXColor){0, 0xff, 0, 0xff}, 1, 0xc); + + startPos = endPos; + } + } +#endif + return 1; } @@ -33,18 +121,14 @@ static int daTagWaterFall_Draw(daTagWaterFall_c* i_this) { return i_this->draw(); } -void* s_waterfall(void* pProc, void* unused) { - if (fopAc_IsActor(pProc)) { - if (fopAcM_GetName(pProc) == PROC_Tag_WaterFall) { - daTagWaterFall_c* pProcWaterfallTag = static_cast(pProc); +void* s_waterfall(void* pProc, void* param_1) { + UNUSED(param_1); - s32 id = fpcM_GetID(pProc); - if (!fpcM_IsCreating(id)) { - if (pProcWaterfallTag->checkHitWaterFallCamera()) { - return pProc; - } - } - } + if (fopAcM_IsActor(pProc) && + fopAcM_GetName(pProc) == PROC_Tag_WaterFall && + !fpcM_IsCreating(fopAcM_GetID(pProc)) && + static_cast(pProc)->checkHitWaterFallCamera()) { + return pProc; } return NULL; @@ -56,67 +140,69 @@ f32 daTagWaterFall_c::getEllipseY(f32 x) { f32 ellipseRadiusB = mCylinderRadiusB; f32 ellipseRadiusA = mCylinderRadiusA; - f32 ellipseRadiusBSquared = ellipseRadiusB * ellipseRadiusB; - f32 ellipseRadiusASquared = ellipseRadiusA * ellipseRadiusA; - f32 ellipseYSquared_OverBSquared = (1.0f - ((x * x) / (ellipseRadiusASquared))); - f32 ellipseYSquared = (ellipseRadiusBSquared)*ellipseYSquared_OverBSquared; +#if DEBUG + if (l_HIO.enable_ellipse_adjust) { + ellipseRadiusB = l_HIO.ellipse_radius_b; + ellipseRadiusA = l_HIO.ellipse_radius_a; + } +#endif - return JMAFastSqrt(ellipseYSquared); + f32 result = JMAFastSqrt((ellipseRadiusB * ellipseRadiusB) * + (1.0f - ((x * x) / (ellipseRadiusA * ellipseRadiusA)))); + return result; } bool daTagWaterFall_c::checkHitWaterFall(cXyz objPos) { - Vec dst; + cXyz dst; + s16 angleY = shape_angle.y; f32 ellipseRadiusA = mCylinderRadiusA; - mDoMtx_stack_c::YrotS(-fopAcM_GetShapeAngle_p(this)->y); +#if DEBUG + if (l_HIO.enable_ellipse_adjust) { + angleY = l_HIO.ellipse_rotate; + ellipseRadiusA = l_HIO.ellipse_radius_a; + } +#endif - const cXyz& waterfallTagPos = fopAcM_GetPosition(this); - mDoMtx_stack_c::transM(-waterfallTagPos.x, -waterfallTagPos.y, -waterfallTagPos.z); + mDoMtx_stack_c::YrotS(-angleY); + + mDoMtx_stack_c::transM(-current.pos.x, -current.pos.y, -current.pos.z); mDoMtx_stack_c::multVec(&objPos, &dst); - if (fabsf(dst.x) < ellipseRadiusA) { - const f32 absEllipseY = fabsf(getEllipseY(dst.x)); - if (fabsf(dst.z) < absEllipseY) { - if (waterfallTagPos.y < objPos.y) { - // Instruction reordering occurs when mCylinderHeight == 0.0f is used - if (!mCylinderHeight || (waterfallTagPos.y + mCylinderHeight) > objPos.y) { - return true; - } + f32 absEllipseY; + if (std::abs(dst.x) < ellipseRadiusA) { + absEllipseY = std::abs(getEllipseY(dst.x)); + if (std::abs(dst.z) < absEllipseY && current.pos.y < objPos.y) { + // Instruction reordering occurs when mCylinderHeight == 0.0f is used + if (!mCylinderHeight || (current.pos.y + mCylinderHeight) > objPos.y) { + return true; } } - } + } return false; } bool daTagWaterFall_c::checkHitWaterFallCamera() { - const camera_class* camera = dComIfGp_getCamera(0); - return checkHitWaterFall(camera->lookat.eye); + return checkHitWaterFall(dComIfGp_getCamera(0)->lookat.eye); } -static bool masterWaterfallTagExists; - -static daTagWaterFall_HIO_c l_HIO; - int daTagWaterFall_c::execute() { - u32 masterId = m_master_id; - u32 waterfallId = fpcM_GetID(this); - - if (masterId == waterfallId) { + if (m_master_id == fopAcM_GetID(this)) { if (mFrameCountdown) { const dScnKy_env_light_c* const envLight = dKy_getEnvlight(); mFogNear = envLight->mFogNear; mFogFar = envLight->mFogFar; mFrameCountdown--; - mColpat = envLight->mColpatWeather; + mColpat = g_env_light.mColpatWeather; mColorBlend = 1.0f; } else { - bool currCameraInWaterfall = false; - if (fpcEx_Search(s_waterfall, this)) { - currCameraInWaterfall = true; + u8 currCameraInWaterfall = FALSE; + if (fpcM_Search(s_waterfall, this)) { + currCameraInWaterfall = TRUE; } if (!currCameraInWaterfall) { @@ -132,7 +218,7 @@ int daTagWaterFall_c::execute() { mPrevCameraInWaterfall = currCameraInWaterfall; } - cLib_chaseF(&mColorBlend, 1.0f, 1.0f / l_HIO.mColorBlendStepDivisor); + cLib_chaseF(&mColorBlend, 1.0f, 1.0f / l_HIO.color_blend_step_divisor); if (!mPrevCameraInWaterfall) { dKy_custom_colset(7, mColpat, mColorBlend); @@ -141,23 +227,24 @@ int daTagWaterFall_c::execute() { } f32 instanceFogMultiplier; - f32 HIOFogMultiplier; + f32 hioFogMultiplier; - if (l_HIO.mShouldModifyFog) { + if (l_HIO.enable_fog_adjust) { if (mPrevCameraInWaterfall) { instanceFogMultiplier = 1.0f - mColorBlend; - HIOFogMultiplier = mColorBlend; + hioFogMultiplier = mColorBlend; } else { instanceFogMultiplier = mColorBlend; - HIOFogMultiplier = 1.0f - mColorBlend; + hioFogMultiplier = 1.0f - mColorBlend; } - f32 fogParam0 = - (mFogNear * instanceFogMultiplier) + (l_HIO.mBaseFogNear * HIOFogMultiplier); - f32 fogParam1 = - (mFogFar * instanceFogMultiplier) + (l_HIO.mBaseFogFar * HIOFogMultiplier); - - dKy_fog_startendz_set(fogParam0, fogParam1, 1.0f); + dKy_fog_startendz_set( + (mFogNear * instanceFogMultiplier) + + (l_HIO.base_fog_far * hioFogMultiplier), + (mFogFar * instanceFogMultiplier) + + (l_HIO.base_fog_near * hioFogMultiplier), + 1.0f + ); } } } @@ -177,48 +264,58 @@ static int daTagWaterFall_IsDelete(daTagWaterFall_c* i_this) { int daTagWaterFall_c::_delete() { if (mIsMasterWaterfallTag) { masterWaterfallTagExists = false; + +#if DEBUG + mDoHIO_deleteChild(l_HIO.child); +#endif } + return 1; } static int daTagWaterFall_Delete(daTagWaterFall_c* i_this) { + fopAcM_RegisterDeleteID(i_this, "Tag_WaterFall"); return i_this->_delete(); } -cPhs__Step daTagWaterFall_c::create() { +cPhs_Step daTagWaterFall_c::create() { fopAcM_ct(this, daTagWaterFall_c); + OS_REPORT("Tag_WaterFall PARAM %x %x %x \n", fopAcM_GetParam(this), current.angle.x, current.angle.y); + if (masterWaterfallTagExists == false) { masterWaterfallTagExists = true; mIsMasterWaterfallTag = 1; - l_HIO.field_0x04 = -1; +#if DEBUG + // "Zora river waterfall" + l_HIO.child = mDoHIO_createChild("ゾーラ川の滝", &l_HIO); +#else + l_HIO.child = -1; +#endif } - mCylinderRadiusA = static_cast(fpcM_GetParam(this) & 0x0000FFFF); + mCylinderRadiusA = static_cast(fopAcM_GetParam(this) & 0x0000FFFF); if (mCylinderRadiusA < 0.0f) { mCylinderRadiusB = 0.0f; } - mCylinderHeight = static_cast((fpcM_GetParam(this) & 0xFFFF0000) >> 16); + mCylinderHeight = static_cast((fopAcM_GetParam(this) >> 16) & 0xFFFF); if (mCylinderHeight < 0.0f) { mCylinderHeight = 0.0f; } - mCylinderRadiusB = static_cast((fopAcM_GetAngle_p(this)->x & 0x0000FFFF)); + mCylinderRadiusB = static_cast(current.angle.x & 0xFFFF); if (mCylinderRadiusB <= 0.0f) { mCylinderRadiusB = mCylinderRadiusA; } - fopAcM_GetShapeAngle_p(this)->x = 0; - fopAcM_GetAngle_p(this)->x = 0; + current.angle.x = shape_angle.x = 0; if (m_master_id + (1 << 16) == 0xFFFF) { - u32 id = fopAcM_GetID(this); - - m_master_id = id; + m_master_id = fopAcM_GetID(this); mColorBlend = 0.0f; mFrameCountdown = 30; @@ -231,8 +328,6 @@ static int daTagWaterFall_Create(daTagWaterFall_c* i_this) { return i_this->create(); } -daTagWaterFall_HIO_c::~daTagWaterFall_HIO_c() {} - static actor_method_class l_daTagWaterFall_Method = { (process_method_func)daTagWaterFall_Create, (process_method_func)daTagWaterFall_Delete, (process_method_func)daTagWaterFall_Execute, (process_method_func)daTagWaterFall_IsDelete, diff --git a/src/d/actor/d_a_tag_yami.cpp b/src/d/actor/d_a_tag_yami.cpp index edc1319f3a..d9491c1e85 100644 --- a/src/d/actor/d_a_tag_yami.cpp +++ b/src/d/actor/d_a_tag_yami.cpp @@ -55,8 +55,8 @@ int daTagYami_c::create() { } else { on_CoHit(); } - break; } + break; default: return cPhs_ERROR_e; } @@ -72,7 +72,8 @@ int daTagYami_c::Execute() { void daTagYami_c::calcCoC(cXyz& i_dst) { cXyz base(0.0f, 0.0f, 430.0f); - mDoMtx_stack_c::ZXYrotS(csXyz(0, -0x7f96, 0)); + csXyz sp10(0, -0x7f96, 0); + mDoMtx_stack_c::ZXYrotS(sp10); mDoMtx_stack_c::multVec(&base, &base); i_dst = home.pos + base; } @@ -87,14 +88,12 @@ u32 daTagYami_c::chk_CoHit() { } f32 coR = getCoR(); - f32 plDist = getPlDist(); - return plDist < coR; + return getPlDist() < coR; } f32 daTagYami_c::getPlDist() { cXyz coC(mCoC); - daPy_py_c* py = daPy_getPlayerActorClass(); - cXyz pyPos = fopAcM_GetPosition((fopAc_ac_c*)py); + cXyz pyPos = *fopAcM_GetPosition_p(daPy_getPlayerActorClass()); cXyz diff = pyPos - coC; return diff.absXZ(); } @@ -109,14 +108,19 @@ void daTagYami_c::offMidnaTagSw2() { } int daTagYami_Create(fopAc_ac_c* i_this) { - return static_cast(i_this)->create(); + daTagYami_c* yami = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return yami->create(); } int daTagYami_Execute(fopAc_ac_c* i_this) { - return static_cast(i_this)->Execute(); + daTagYami_c* yami = static_cast(i_this); + int id = fopAcM_GetID(i_this); + return yami->Execute(); } int daTagYami_Delete(daTagYami_c* i_this) { + int id = fopAcM_GetID(i_this); i_this->~daTagYami_c(); return 1; } diff --git a/src/d/actor/d_a_tbox.cpp b/src/d/actor/d_a_tbox.cpp index 47e5803a3b..a9a58b44fd 100644 --- a/src/d/actor/d_a_tbox.cpp +++ b/src/d/actor/d_a_tbox.cpp @@ -101,7 +101,7 @@ daTbox_ModelInfo* daTbox_c::getModelInfo() { static const u32 l_open_se_id[3] = { Z2SE_OBJ_TBOX_OPEN_A, Z2SE_OBJ_TBOX_OPEN_B, Z2SE_OBJ_TBOX_OPEN_C }; -cPhs__Step daTbox_c::commonShapeSet() { +cPhs_Step daTbox_c::commonShapeSet() { daTbox_ModelInfo* model_info = getModelInfo(); J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(model_info->mArcName, model_info->mModelResNo); @@ -170,15 +170,15 @@ cPhs__Step daTbox_c::commonShapeSet() { return cPhs_COMPLEATE_e; } -cPhs__Step daTbox_c::effectShapeSet() { +cPhs_Step daTbox_c::effectShapeSet() { return cPhs_COMPLEATE_e; } -cPhs__Step daTbox_c::envShapeSet() { +cPhs_Step daTbox_c::envShapeSet() { return cPhs_COMPLEATE_e; } -cPhs__Step daTbox_c::bgCheckSet() { +cPhs_Step daTbox_c::bgCheckSet() { daTbox_ModelInfo* model_info = getModelInfo(); cBgD_t* bgd = (cBgD_t*)dComIfG_getObjectRes(model_info->mArcName, model_info->mOpenDzbResNo); @@ -325,7 +325,7 @@ u32 daTbox_c::calcHeapSize() { } int daTbox_c::CreateHeap() { - cPhs__Step step = commonShapeSet(); + cPhs_Step step = commonShapeSet(); if (step != cPhs_COMPLEATE_e) { return false; } @@ -1781,7 +1781,7 @@ void daTbox_c::mode_exec() { } } -cPhs__Step daTbox_c::create1st() { +cPhs_Step daTbox_c::create1st() { if (!mParamsInit) { field_0x980 = home.angle.x; field_0x982 = home.angle.z; @@ -1796,12 +1796,12 @@ cPhs__Step daTbox_c::create1st() { } daTbox_ModelInfo* model_info = getModelInfo(); - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase, model_info->mArcName); + cPhs_Step step = dComIfG_resLoad(&mPhase, model_info->mArcName); if (step != cPhs_COMPLEATE_e) { return step; } - step = (cPhs__Step)MoveBGCreate(model_info->mArcName, model_info->mClosedDzbResNo, + step = MoveBGCreate(model_info->mArcName, model_info->mClosedDzbResNo, dBgS_MoveBGProc_TypicalRotY, calcHeapSize(), NULL); if (step == cPhs_ERROR_e) { return step; @@ -1877,7 +1877,7 @@ int daTbox_c::Delete() { return true; } -cPhs__Step daTbox_create1st(daTbox_c* i_this) { +cPhs_Step daTbox_create1st(daTbox_c* i_this) { fopAcM_ct(i_this, daTbox_c); return i_this->create1st(); } diff --git a/src/d/actor/d_a_ykgr.cpp b/src/d/actor/d_a_ykgr.cpp index 45e162575a..cb267e5ef6 100644 --- a/src/d/actor/d_a_ykgr.cpp +++ b/src/d/actor/d_a_ykgr.cpp @@ -31,16 +31,16 @@ struct daYkgr_HIO_c : public mDoHIO_entry_c { #if DEBUG void daYkgr_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("竜の山陽炎HIO", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("アルファ速度", &field_0xc, 0, 255, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genCheckBox("アルファチェック", &field_0x4, 0x01, 0, NULL, 0xFFFF, 0xFFFF, 512, 24); - ctx->genSlider("アルファ", &field_0x8, 0, 255, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("INDMTX PARAM", &field_0x10, -17.0f, 47.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("min_param", &field_0x14, -17.0f, 47.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("max_param", &field_0x18, -17.0f, 47.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("default_rate", &field_0x1c, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("outside_range", &field_0x20, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - ctx->genSlider("inside_range", &field_0x24, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genLabel("竜の山陽炎HIO", 0); + ctx->genSlider("アルファ速度", &field_0xc, 0, 255); + ctx->genCheckBox("アルファチェック", &field_0x4, 0x01); + ctx->genSlider("アルファ", &field_0x8, 0, 255); + ctx->genSlider("INDMTX PARAM", &field_0x10, -17.0f, 47.0f); + ctx->genSlider("min_param", &field_0x14, -17.0f, 47.0f); + ctx->genSlider("max_param", &field_0x18, -17.0f, 47.0f); + ctx->genSlider("default_rate", &field_0x1c, 0.0f, 1.0f); + ctx->genSlider("outside_range", &field_0x20, 0.0f, 10000.0f); + ctx->genSlider("inside_range", &field_0x24, 0.0f, 10000.0f); } #endif diff --git a/src/d/actor/d_flower.inc b/src/d/actor/d_flower.inc index de57e158ee..8f8e0b8a4e 100644 --- a/src/d/actor/d_flower.inc +++ b/src/d/actor/d_flower.inc @@ -365,7 +365,7 @@ void dFlower_data_c::WorkAt(fopAc_ac_c* i_hitActor, u32 i_massFlg, int i_roomNo, } } - if ((daPy_getPlayerActorClass()->getCutType() >= 3) && (daPy_getPlayerActorClass()->getCutType() <= 7)) { + if ((daPy_getPlayerActorClass()->getCutType() >= daPy_py_c::CUT_TYPE_NM_RIGHT) && (daPy_getPlayerActorClass()->getCutType() <= daPy_py_c::CUT_TYPE_FINISH_VERTICAL)) { if (m_pos.abs(temp_r26->current.pos) > 128.0f) { if (m_pos.abs(temp_r26->current.pos) < 200.0f) { WorkAt_NoCutAnim(i_hitActor, i_massFlg, i_roomNo, i_hitinf, hitobj_p); diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index 96f5d0ad69..237a1a7770 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -97,38 +97,38 @@ dAttParam_c::~dAttParam_c() { #if DEBUG void dAttParam_c::genMessage(JORMContext* mctx) { - mctx->genCheckBox(" リスト表示", &mFlags, 0x4000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" 有効", &mFlags, 4, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" ホールドモード", &mFlags, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" 矢印表示OFF", &mFlags, 0x10, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("カーソル", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("選択時", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("スケールX", &mSelCursorScaleX, 1.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("スケールY", &mSelCursorScaleY, 1.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("Y Pos Offset", &mSelCursorOffsetY, -100.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("注目時", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("スケールX", &mAttnCursorScaleX, 1.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("スケールY", &mAttnCursorScaleY, 1.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("Y Pos Offset", &mAttnCursorOffsetY, -100.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("出現フレーム", &mAttnCursorAppearFrames, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("消去フレーム", &mAttnCursorDisappearFrames, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("アニメーションスピード", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("選択時", &field_0x38, 1.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("注目時", &field_0x3c, 1.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" SW Mode 解除", &mSWModeDisable, -1.0f, 0.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" 表示デバック", &mFlags, 2, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 警告BGM距離", &mDangerBGMDistance, 0.0f, 8000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" + マージン", &mBGMDistMargin, 0.0f, 8000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" デバッグ表示", &mFlags, 0x8000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 表示位置 X", &mDebugDispPosX, 0, 0x280, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" Y", &mDebugDispPosY, 0, 0x1e0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" KEEP挙動", &mFlags, 8, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genCheckBox(" リスト表示", &mFlags, 0x4000); + mctx->genLabel("-", 0); + mctx->genCheckBox(" 有効", &mFlags, 0x4); + mctx->genCheckBox(" ホールドモード", &mFlags, 0x1); + mctx->genCheckBox(" 矢印表示OFF", &mFlags, 0x10); + mctx->genLabel("カーソル", 0); + mctx->genLabel("選択時", 0); + mctx->genSlider("スケールX", &mSelCursorScaleX, 1.0f, 100.0f); + mctx->genSlider("スケールY", &mSelCursorScaleY, 1.0f, 100.0f); + mctx->genSlider("Y Pos Offset", &mSelCursorOffsetY, -100.0f, 100.0f); + mctx->genLabel("注目時", 0); + mctx->genSlider("スケールX", &mAttnCursorScaleX, 1.0f, 100.0f); + mctx->genSlider("スケールY", &mAttnCursorScaleY, 1.0f, 100.0f); + mctx->genSlider("Y Pos Offset", &mAttnCursorOffsetY, -100.0f, 100.0f); + mctx->genSlider("出現フレーム", &mAttnCursorAppearFrames, 0, 0xff); + mctx->genSlider("消去フレーム", &mAttnCursorDisappearFrames, 0, 0xff); + mctx->genLabel("アニメーションスピード", 0); + mctx->genSlider("選択時", &field_0x38, 1.0f, 100.0f); + mctx->genSlider("注目時", &field_0x3c, 1.0f, 100.0f); + mctx->genLabel("-", 0); + mctx->genSlider(" SW Mode 解除", &mSWModeDisable, -1.0f, 0.0f); + mctx->genLabel("-", 0); + mctx->genCheckBox(" 表示デバック", &mFlags, 0x2); + mctx->genLabel("-", 0); + mctx->genSlider(" 警告BGM距離", &mDangerBGMDistance, 0.0f, 8000.0f); + mctx->genSlider(" + マージン", &mBGMDistMargin, 0.0f, 8000.0f); + mctx->genLabel("-", 0); + mctx->genCheckBox(" デバッグ表示", &mFlags, 0x8000); + mctx->genSlider(" 表示位置 X", &mDebugDispPosX, 0, 0x280); + mctx->genSlider(" Y", &mDebugDispPosY, 0, 0x1e0); + mctx->genCheckBox(" KEEP挙動", &mFlags, 0x8); + mctx->genLabel("-", 0); } #endif @@ -139,8 +139,8 @@ dAttDrawParam_c::dAttDrawParam_c() { #if DEBUG void dAttDrawParam_c::genMessage(JORMContext* mctx) { - mctx->genLabel("カーソル", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("距離", &mCursorDistance, 0.0f, 500000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("カーソル", 0); + mctx->genSlider("距離", &mCursorDistance, 0.0f, 500000.0f); } #endif diff --git a/src/d/d_bg_parts.cpp b/src/d/d_bg_parts.cpp index 581766df8e..7d4dcd38f2 100644 --- a/src/d/d_bg_parts.cpp +++ b/src/d/d_bg_parts.cpp @@ -1,30 +1,841 @@ #include "d/dolzel.h" // IWYU pragma: keep -#include "JSystem/J3DGraphAnimator/J3DAnimation.h" +#include "d/d_bg_parts.h" +#include "d/d_s_play.h" +#include "d/d_camera.h" +#include "f_op/f_op_camera_mng.h" +#include "JSystem/JKernel/JKRExpHeap.h" +#include "JSystem/JKernel/JKRSolidHeap.h" -int dBgp_c::registBg(fopAc_ac_c* i_actor) { - // NONMATCHING - return 0; +// NONMATCHING +void dBgp_c::material_c::draw() { + material_c* material; + do { + drawSimple(); + } while ((material = getNext()) != NULL); } -void dBgp_c::draw(fopAc_ac_c* i_actor) { - // NONMATCHING +// NONMATCHING - regalloc +void dBgp_c::modelMaterial_c::drawSimple() { + if (mpMaterial->getInvalid()) { + OSReport_Warning("Share Material Nothing !!\n"); + return; + } + + mpMaterial->loadSharedDL(); + mpModelData->syncJ3DSysFlags(); + j3dSys.setTexture(mpModelData->getTexture()); + + J3DShape* shape = mpMaterial->getShape(); + shape->loadCurrentMtx(); + + modelMaterial_c* modelMaterial = this; + int spC = 0; + void* vatCmd = NULL; + + if (getMaterial()->getShape()->checkFlag(1)) { + modelMaterial = modelMaterial->getChild(); + } + + do { + Mtx m; + J3DShape* shape = modelMaterial->getMaterial()->getShape(); + J3DModelData* modelData = modelMaterial->getModelData(); + + j3dSys.setVtxPos(modelData->getVtxPosArray()); + j3dSys.setVtxNrm(modelData->getVtxNrmArray()); + j3dSys.setVtxCol(modelData->getVtxColorArray(0)); + MTXConcat(j3dSys.getViewMtx(), modelMaterial->getMtx(), m); + GXLoadPosMtxImm(m, 0); + GXLoadNrmMtxImm(m, 0); + + if (vatCmd != shape->getVcdVatCmd()) { + GXCallDisplayList(shape->getVcdVatCmd(), 0xC0); + vatCmd = shape->getVcdVatCmd(); + } + + shape->loadVtxArray(); + + u16 mtxNum = shape->getMtxGroupNum(); + for (u16 i = 0; i < mtxNum; i++) { + if (shape->getShapeDraw(i) != NULL) { + shape->getShapeDraw(i)->draw(); + } + } + + modelMaterial = modelMaterial->getChild(); + } while (modelMaterial != NULL); } -int dBgp_c::execute(bool param_0) { - // NONMATCHING - return 0; +bool dBgp_c::modelMaterial_c::isSame(dBgp_c::material_c* i_material) { + dBgp_c::modelMaterial_c* modelMaterial = (dBgp_c::modelMaterial_c*)i_material; + return modelMaterial->getMaterialID() == mMaterialID; +} + +void dBgp_c::modelMaterial_c::addChild(dBgp_c::material_c* i_material) { + dBgp_c::modelMaterial_c* modelMaterial = (dBgp_c::modelMaterial_c*)i_material; + modelMaterial->setChild(mpChild); + mpChild = modelMaterial; +} + +// NONMATCHING +void dBgp_c::modelMaterial_c::set(J3DModelData* i_modelData, J3DMaterial* i_material, Mtx i_mtx) { + mpModelData = i_modelData; + mpMaterial = i_material; + mpMtx = i_mtx; + mpChild = NULL; + + setNext(NULL); + + JUTNameTab* nametab = i_modelData->getMaterialName(); + u16* name = (u16*)nametab->getName(i_material->getIndex()); + mMaterialID = *name; + JUT_ASSERT(157, mMaterialID != static_cast(~0)); + JUT_ASSERT(159, mMaterialID < (1<<(16-packet_c::MATERIAL_SORT_LEVEL))); + + const char* sortName = (const char*)name; + ASSERTLINE(166, sortName[2] == 'X' || sortName[2] == '0' || sortName[2] == '1' || sortName[2] == '2' || sortName[2] == '3'); + + u16 sp12 = 0; + if (sortName[2] != 'X') { + sp12 = (sortName[2] - 0x30) * 0x10; + } + + mMaterialID = (mMaterialID & ~0x30) | ((mMaterialID & 0x30) << 10) | sp12; +} + +void dBgp_c::model_c::create(J3DModelData* i_modelData, Mtx i_mtx) { + const void* binary = i_modelData->getBinary(); + + mId = *(u32*)((char*)binary + 0x1C); + if (mId != 0xFFFF) { + addShare(mId); + } + + JUT_ASSERT(205, i_modelData->getJointNum() == 1); + JUT_ASSERT(206, i_modelData->getMaterialNum() != 0); + + mMaterial = new modelMaterial_c[i_modelData->getMaterialNum()]; + JUT_ASSERT(212, mMaterial != NULL); + + J3DJoint* joint = i_modelData->getJointNodePointer(0); + cMtx_copy(i_mtx, mBaseTRMtx); + + J3DMaterial* material; + for (material = joint->getMesh(); material != NULL; material = material->getNext()) { + mMaterial[material->getIndex()].set(i_modelData, material, mBaseTRMtx); + } +} + +void dBgp_c::model_c::remove() { + if (mMaterial != NULL) { + cutShare(mId); + } +} + +void dBgp_c::packet_c::draw() { + dScnKy_env_light_c* kankyo = dKy_getEnvlight(); + s8 roomNo = (s8)getRoomNo(); + dKy_tevstr_c* roomTevstr = dComIfGp_roomControl_getTevStr(roomNo); + + g_env_light.settingTevStruct(0x40, NULL, roomTevstr); + dBgp_c::entryShare(this); + + GXColor ambcol; + stage_pure_lightvec_info_class* lightvecInf = dComIfGp_roomControl_getStatusRoomDt(roomNo)->getLightVecInfo(); + dKy_setLight_nowroom(roomNo); + + ambcol.r = roomTevstr->AmbCol.r; + ambcol.g = roomTevstr->AmbCol.g; + ambcol.b = roomTevstr->AmbCol.b; + ambcol.a = roomTevstr->AmbCol.a; + GXSetChanAmbColor(GX_COLOR0A0, ambcol); + GXSetChanMatColor(GX_COLOR0A0, g_whiteColor); + + dKy_setLight_again(); + dKy_GxFog_tevstr_set(roomTevstr); + J3DShape::resetVcdVatCache(); + + material_c** material = mpMaterials; + for (int i = 64; i > 0; i--) { + if (*material != NULL) { + (*material)->draw(); + } + material++; + } +} + +void dBgp_c::packet_c::reset() { + material_c** material = mpMaterials; + for (int i = 64; i > 0; i--) { + *material = NULL; + material++; + } +} + +void dBgp_c::packet_c::entryMaterial(dBgp_c::material_c* i_material, u32 i_id) { + i_material->setNext(mpMaterials[i_id]); + mpMaterials[i_id] = i_material; +} + +void dBgp_c::packet_c::entryModel(dBgp_c::modelMaterial_c* i_modelMaterial) { + u16 id = i_modelMaterial->getMaterialID() & 0x3F; + if (mpMaterials[id] != NULL) { + material_c* material = mpMaterials[id]; + do { + if (material->isSame(i_modelMaterial)) { + material->addChild(i_modelMaterial); + return; + } + + material = material->getNext(); + } while (material != NULL); + } + + entryMaterial(i_modelMaterial, id); + i_modelMaterial->setChild(NULL); +} + +void dBgp_c::packet_c::entryShare(dBgp_c::modelMaterial_c* i_modelMaterial) { + u16 id = i_modelMaterial->getMaterialID() & 0x3F; + if (mpMaterials[id] != NULL) { + material_c** ppmaterial = &mpMaterials[id]; + modelMaterial_c* modelMaterial = (modelMaterial_c*)*ppmaterial; + do { + if (modelMaterial->isSame(i_modelMaterial)) { + i_modelMaterial->setChild(modelMaterial); + i_modelMaterial->setNext(modelMaterial->getNext()); + modelMaterial->setNext(NULL); + *ppmaterial = i_modelMaterial; + return; + } + + ppmaterial = modelMaterial->getNext_p(); + modelMaterial = (modelMaterial_c*)*ppmaterial; + } while (modelMaterial != NULL); + } +} + +dBgp_c::share_c::share_c() { + mStatus = -1; + mCount = 0; +} + +JKRSolidHeap* dBgp_c::mShareHeap; +dBgp_c::share_c* dBgp_c::mShare; + +void dBgp_c::share_c::set(u16 i_id) { + JUT_ASSERT(441, mCount != static_cast(~0)); + + if (mCount++ == 0) { + mStatus = 1; + mId = i_id; + + int rt = dComIfG_setObjectRes(getArcName(), 0, (JKRHeap*)NULL); + JUT_ASSERT(446, rt != 0); + } +} + +void dBgp_c::share_c::reset() { + JUT_ASSERT(460, mCount); + + if (--mCount == 0) { + for (u16 i = 0; i < mModelData->getMaterialNum(); i++) { + J3DMaterial* material = mModelData->getMaterialNodePointer(i); + if (material->getMaterialAnm() != NULL) { + delete material->getMaterialAnm(); + } + } + + delete[] mMaterial; + + dComIfG_deleteObjectResMain(getArcName()); + mStatus = -1; + } +} + +const char* dBgp_c::share_c::getArcName() { + static char arcName[8]; + sprintf(arcName, "@mt%04x", mId); + return arcName; +} + +static BOOL createMatAnm(J3DModelData* i_modelData, u16 i_materialId) { + if (i_materialId != 0xFFFF) { + J3DMaterial* material = i_modelData->getMaterialNodePointer(i_materialId); + if (material->getMaterialAnm() == NULL) { + J3DMaterialAnm* anm = new J3DMaterialAnm(); + if (anm == NULL) { + return FALSE; + } + + material->setMaterialAnm(anm); + } + } + + return TRUE; +} + +int dBgp_c::share_c::execute() { + if (mStatus != 0) { + mStatus = dComIfG_syncObjectRes(getArcName()); + JUT_ASSERT(527, mStatus >= 0); + if (mStatus > 0) { + return 0; + } + + mModelData = (J3DModelData*)dComIfG_getObjectRes(getArcName(), "model.bmdl"); + JUT_ASSERT(542, mModelData != NULL); + + JUT_ASSERT(544, mModelData->getMaterialNum() != 0); + + mMaterial = new modelMaterial_c[mModelData->getMaterialNum()]; + JUT_ASSERT(546, mMaterial != NULL); + + for (u16 i = 0; i < mModelData->getMaterialNum(); i++) { + J3DMaterial* material = mModelData->getMaterialNodePointer(i); + mMaterial[i].set(mModelData, material, cMtx_getIdentity()); + + J3DShape* shape = material->getShape(); + shape->hide(); + + JUTNameTab* nametab = mModelData->getMaterialName(); + char* name = (char*)nametab->getName(material->getIndex()); + name[0] = ' '; + name[1] = ' '; + } + + field_0x1 = 0; + + J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(getArcName(), "model.btk"); + if (btk != NULL) { + int rt = mBtk.init(mModelData, btk, TRUE, 2, 1.0f, 0, -1); + JUT_ASSERT(568, rt); + + for (u16 i = 0; i < btk->getUpdateMaterialNum(); i++) { + rt = createMatAnm(mModelData, btk->getUpdateMaterialID(i)); + JUT_ASSERT(571, rt); + } + + mBtk.entry(mModelData); + field_0x1 |= (u8)1; + } + + J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(getArcName(), "model.brk"); + if (brk != NULL) { + int rt = mBrk.init(mModelData, brk, TRUE, 2, 1.0f, 0, -1); + JUT_ASSERT(582, rt); + + for (u16 i = 0; i < brk->getCRegUpdateMaterialNum(); i++) { + rt = createMatAnm(mModelData, brk->getCRegUpdateMaterialID(i)); + JUT_ASSERT(585, rt); + } + + for (u16 i = 0; i < brk->getKRegUpdateMaterialNum(); i++) { + rt = createMatAnm(mModelData, brk->getKRegUpdateMaterialID(i)); + JUT_ASSERT(589, rt); + } + + mBrk.entry(mModelData); + field_0x1 |= (u8)2; + } + + if (mId == 0x8000) { + setCallback(&share_c::cbConveyor); + } else { + setCallback(&share_c::cbNormal); + } + } + + (this->*mCallback)(); + return 1; +} + +void dBgp_c::share_c::draw() { + if (mStatus == 0 && field_0x1 != 0) { + mModelData->simpleCalcMaterial((MtxP)j3dDefaultMtx); + j3dSys.setTexture(mModelData->getTexture()); + + for (u16 i = 0; i < mModelData->getMaterialNum(); i++) { + J3DMaterial* material = mModelData->getMaterialNodePointer(i); + J3DDisplayListObj* dlobj = material->getSharedDisplayListObj(); + dlobj->beginDL(); + + if (field_0x1 & 1) { + material->getTexGenBlock()->patch(); + } + + if (field_0x1 & 2) { + material->getTevBlock()->patch(); + } + + dlobj->endPatch(); + } + } +} + +void dBgp_c::share_c::entry(dBgp_c::packet_c* i_packet) { + if (mStatus == 0) { + modelMaterial_c* modelMaterial = mMaterial; + for (int i = modelMaterial->getModelData()->getMaterialNum() - 1; i >= 0; i--) { + i_packet->entryShare(modelMaterial); + modelMaterial++; + } + } +} + +void dBgp_c::share_c::cbNormal() { + if (field_0x1 & 1) { + mBtk.play(); + mBtk.entryFrame(); + } + + if (field_0x1 & 2) { + mBrk.play(); + mBrk.entryFrame(); + } +} + +void dBgp_c::share_c::cbConveyor() { + if (IREG_S(0) == 0) { + if (mBtk.getFrame() > 30.0f) { + mBtk.setEndFrame(80.0f); + } else { + mBtk.setEndFrame(30.0f); + } + + mBtk.setLoopFrame(0.0f); + } else { + mBtk.setEndFrame(70.0f); + mBtk.setLoopFrame(40.0f); + } + + mBtk.play(); + mBtk.entryFrame(); +} + +dBgp_c::dBgp_c() { + mPointer = NULL; + mHeap = NULL; + mHeap2 = NULL; + mBgWork = NULL; + mModel = NULL; +} + +dBgp_c::packet_c::~packet_c() {} + +dBgp_c::packet_c::packet_c() { + reset(); +} + +void dBgp_c::create(s8 i_roomNo, void* i_data) { + mPointer = i_data; + mPacket.setRoomNo(i_roomNo); + strcpy(mArcName, dComIfG_getRoomArcName(i_roomNo)); + + if (mPointer != NULL) { + JKRExpHeap* block = dStage_roomControl_c::getMemoryBlock(i_roomNo); + JKRExpHeap* parentHeap; + if (block != NULL) { + parentHeap = block; + } else { + parentHeap = mDoExt_getGameHeap(); + } + + mHeap = JKRCreateSolidHeap(0xFFFFFFFF, parentHeap, false); + JUT_ASSERT(882, mHeap != NULL); + + JKRHeap* prevHeap = mDoExt_setCurrentHeap(mHeap); + + mModel = new model_c[((stage_map_unit_class*)mPointer)->num]; + JUT_ASSERT(886, mModel != NULL); + + unit_class* mapUnit = (unit_class*)((stage_map_unit_class*)mPointer)->entries; + mBgWork = new dBgW[mapUnit->num]; + JUT_ASSERT(890, mBgWork != NULL); + + dBgW* bgw = mBgWork; + unit_group_class* unitGroup = mapUnit->groups; + for (int i = 0; i < mapUnit->num; i++) { + char resName[16]; + sprintf(resName, "bp%04d.dzb", i); + + cBgD_t* dzb = (cBgD_t*)dComIfG_getStageRes(mArcName, resName); + if (dzb != NULL) { + bool rt; + if (unitGroup->switchNo == 0xFF) { + rt = bgw->Set(dzb, 0x20, NULL); + } else { + rt = bgw->Set(dzb, 1, (Mtx*)cMtx_getIdentity()); + } + JUT_ASSERT(911, !rt); + + bgw->SetPriority(dBgW::PRIORITY_0); + bgw->SetRoomId(mPacket.getRoomNo()); + } + + bgw++; + unitGroup++; + } + + unit_unk_data2_class* unitData = ((stage_map_unit_class*)mPointer)->entries->unk_0xc; + for (int i = 0; i < ((stage_map_unit_class*)mPointer)->num; i++) { + u16 id = getId(unitData->field_0x0); + int rt = dComIfG_setObjectRes(getArcName(unitData->field_0x0), 0, (JKRHeap*)NULL); + JUT_ASSERT(927, rt); + unitData++; + } + + field_0x130 = 0; + mDoExt_setCurrentHeap(prevHeap); + u32 heapSize = mHeap->adjustSize(); + printf("Room%02d Unit Memory <%d>\n", mPacket.getRoomNo(), heapSize); + } +} + +int dBgp_c::remove() { + if (mPointer != NULL) { + if (!executeShare()) { + return 0; + } + + if (mHeap != NULL) { + if (field_0x130 < ((stage_map_unit_class*)mPointer)->num) { + execute(true); + return 0; + } + + unit_class* mapUnit = (unit_class*)((stage_map_unit_class*)mPointer)->entries; + for (int i = 0; i < mapUnit->num; i++) { + releaseBg(i); + } + + unit_unk_data2_class* unitData = mapUnit->unk_0xc; + model_c* model = mModel; + for (int i = 0; i < ((stage_map_unit_class*)mPointer)->num; i++) { + model->remove(); + dComIfG_deleteObjectResMain(getArcName(unitData->field_0x0)); + + unitData++; + model++; + } + + mDoExt_destroySolidHeap(mHeap); + mHeap = NULL; + } + + if (mHeap2 != NULL) { + mDoExt_destroySolidHeap(mHeap2); + mHeap2 = NULL; + } + } + + return 1; +} + +const char* dBgp_c::getArcName(u16 i_id, u16 i_arg) { + static char arcName[8]; + sprintf(arcName, "@%03x%03x", i_id, i_arg); + return arcName; +} + +BOOL dBgp_c::isSwitch(dBgp_c::unit_group_class* i_group) { + if (i_group->switchNo == 0xFF) { + return false; + } + + if (!(i_group->unk_0x0 & 0x80)) { + return dComIfGs_isSwitch(i_group->switchNo, mPacket.getRoomNo()); + } + + return !dComIfGs_isSwitch(i_group->switchNo, mPacket.getRoomNo()); +} + +void dBgp_c::registBg(fopAc_ac_c* i_actor) { + if (mPointer != NULL) { + unit_class* mapUnit = (unit_class*)((stage_map_unit_class*)mPointer)->entries; + unit_group_class* unitGroup = mapUnit->groups; + for (int i = 0; i < mapUnit->num; i++) { + registBg(i, i_actor); + } + } } void dBgp_c::releaseBg() { - // NONMATCHING + if (mPointer != NULL) { + unit_class* mapUnit = (unit_class*)((stage_map_unit_class*)mPointer)->entries; + unit_group_class* unitGroup = mapUnit->groups; + for (int i = 0; i < mapUnit->num; i++) { + releaseBg(i); + } + } } -static void dummy() { - ((J3DAnmTextureSRTKey*)0)->getUpdateMaterialID(0); - ((J3DAnmTextureSRTKey*)0)->getUpdateMaterialNum(); - ((J3DAnmTevRegKey*)0)->getKRegUpdateMaterialID(0); - ((J3DAnmTevRegKey*)0)->getKRegUpdateMaterialNum(); - ((J3DAnmTevRegKey*)0)->getCRegUpdateMaterialID(0); - ((J3DAnmTevRegKey*)0)->getCRegUpdateMaterialNum(); +int dBgp_c::registBg(int i_no, fopAc_ac_c* i_actor) { + if (!mBgWork[i_no].ChkUsed() && mBgWork[i_no].GetBgd() != NULL) { + if (dComIfG_Bgsp().Regist(&mBgWork[i_no], i_actor)) { + return 0; + } + } + + return 1; +} + +void dBgp_c::releaseBg(int i_no) { + if (mBgWork[i_no].ChkUsed()) { + dComIfG_Bgsp().Release(&mBgWork[i_no]); + } +} + +int dBgp_c::execute(bool param_0) { + if (mPointer != NULL) { + if (field_0x130 < ((stage_map_unit_class*)mPointer)->num) { + unit_unk_data2_class* unitData = &((stage_map_unit_class*)mPointer)->entries->unk_0xc[field_0x130]; + do { + u16 id = getId(unitData->field_0x0); + u16 arg = getArg0(unitData->field_0x0); + const char* arcName = getArcName(id, arg); + int rt = dComIfG_syncObjectRes(arcName); + JUT_ASSERT(1117, rt >= 0); + if (rt > 0) { + return 0; + } + + unitData++; + } while (++field_0x130 < ((stage_map_unit_class*)mPointer)->num); + + if (param_0) { + return 1; + } + + s8 roomNo = mPacket.getRoomNo(); + JKRExpHeap* block = dStage_roomControl_c::getMemoryBlock(roomNo); + JKRExpHeap* parentHeap; + if (block != NULL) { + parentHeap = block; + } else { + parentHeap = mDoExt_getGameHeap(); + } + + mHeap2 = JKRCreateSolidHeap(0xFFFFFFFF, parentHeap, false); + JUT_ASSERT(1145, mHeap2 != NULL); + + JKRHeap* prevHeap = mDoExt_setCurrentHeap(mHeap2); + + unit_class* mapUnit = ((stage_map_unit_class*)mPointer)->entries; + model_c* model = mModel; + unitData = mapUnit->unk_0xc; + for (int i = 0; i < ((stage_map_unit_class*)mPointer)->num; i++) { + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(getArcName(unitData->field_0x0), "model.bmdl"); + if (modelData != NULL) { + mDoMtx_stack_c::transS(unitData->pos.x, unitData->pos.y, unitData->pos.z); + mDoMtx_stack_c::YrotM(unitData->angle); + model->create(modelData, mDoMtx_stack_c::get()); + } + + unitData++; + model++; + } + + mDoExt_setCurrentHeap(prevHeap); + u32 heapSize = mHeap2->adjustSize(); + printf("Room%02d Unit Memory <%d>\n", mPacket.getRoomNo(), heapSize); + } + + if (!param_0) { + unit_unk_data2_class* unitData = ((stage_map_unit_class*)mPointer)->entries->unk_0xc; + for (int i = 0; i < ((stage_map_unit_class*)mPointer)->num; i++) { + u16 id = getId(unitData->field_0x0); + u16 arg = getArg0(unitData->field_0x0); + const char* arcName = getArcName(id, arg); + if (dComIfG_getObjectResInfo(arcName)->getResNum() != 6) { + OS_REPORT("特殊オブジェクト<%s>セット!!\n", arcName); + cXyz pos(unitData->pos); + csXyz angle(0, unitData->angle, 0); + cXyz size(1.0f, 1.0f, 1.0f); + + u32 parameters = id << 12 | arg; + parameters |= unitData->field_0x15 << 21; + parameters |= 0x80000000; + + angle.x = (unitData->field_0x14 << 8) | unitData->field_0x5; + angle.z = (unitData->field_0x4 << 8) | unitData->field_0x3; + + fopAcM_create(PROC_SET_BG_OBJ, parameters, &pos, mPacket.getRoomNo(), &angle, &size, -1); + } + unitData++; + } + } + } + + return 1; +} + +void dBgp_c::draw(fopAc_ac_c* i_actor) { + if (mPointer == NULL || field_0x130 != ((stage_map_unit_class*)mPointer)->num) { + return; + } + + mPacket.reset(); + mDoLib_clipper::changeFar(100000.0f); + + camera_class* sp30 = dComIfGp_getCamera(0); + dCamera_c* camera = &sp30->mCamera; + JUT_ASSERT(1287, camera != NULL) + + static u16 l_dispBitTable[] = { + 0x4000, + 0xC000, + 0x8000, + 0x9000, + 0x1000, + 0x3000, + 0x2000, + 0x6000, + }; + + u16 spE = 0; + if (camera->HideBGPartsOk()) { + u16 spC = dCam_getAngleY(sp30) + 0x1000; + spE = l_dispBitTable[spC >> 13]; + } + + unit_class* mapUnit = ((stage_map_unit_class*)mPointer)->entries; + unit_group_class* unitGroup = mapUnit->groups; + + for (int i = 0; i < mapUnit->num; i++) { + if (isSwitch(unitGroup)) { + releaseBg(i); + } else { + registBg(i, i_actor); + + unit_unk_data_class* unitData = &mapUnit->unk_0x8[unitGroup->unk_0x2]; + for (int j = (unitGroup->unk_0x0 & ~0x80); j > 0; j--) { + if ((unitData->field_0x0 & spE) == 0) { + model_c* model = &mModel[unitData->field_0x2]; + for (int k = (unitData->field_0x0 & ~0xF000); k > 0; k--) { + modelMaterial_c* modelMaterial = model->getMaterial(); + if (modelMaterial != NULL) { + J3DModelData* modelData = modelMaterial->getModelData(); + J3DJoint* joint = modelData->getJointNodePointer(0); + + Mtx m; + cMtx_concat(j3dSys.getViewMtx(), model->getBaseTRMtx(), m); + + if (!mDoLib_clipper::clip(m, joint->getMax(), joint->getMin())) { + entryModel(model); + } + } + + model++; + } + } + + unitData++; + } + } + + unitGroup++; + } + + mDoLib_clipper::resetFar(); + entryPacket(); +} + +void dBgp_c::setPointer(void* i_pointer) { + stage_map_unit_class* var_r29 = (stage_map_unit_class*)i_pointer; + if (var_r29 != NULL) { + unit_class* mapUnit = var_r29->entries; + if ((uintptr_t)mapUnit->groups < 0x80000000) { + mapUnit->groups = (unit_group_class*)((uintptr_t)mapUnit + (uintptr_t)mapUnit->groups); + mapUnit->unk_0x8 = (unit_unk_data_class*)((uintptr_t)mapUnit + (uintptr_t)mapUnit->unk_0x8); + mapUnit->unk_0xc = (unit_unk_data2_class*)((uintptr_t)mapUnit + (uintptr_t)mapUnit->unk_0xc); + } + } +} + +void dBgp_c::createShare() { + if (mShareHeap == NULL) { + mShareHeap = mDoExt_createSolidHeapFromGameToCurrent(0, 0x20); + JUT_ASSERT(1409, mShareHeap != NULL); + + mShare = new share_c[16]; + JUT_ASSERT(1411, mShare != NULL); + + u32 heapSize = mDoExt_adjustSolidHeapToSystem(mShareHeap); + printf("Share Memory <%d>\n", heapSize); + } +} + +void dBgp_c::removeShare() { + if (mShareHeap != NULL) { + cutShare(0); + mDoExt_destroySolidHeap(mShareHeap); + mShareHeap = NULL; + } +} + +void dBgp_c::addShare(u16 i_id) { + JUT_ASSERT(1455, mShare != NULL); + + share_c* share = mShare; + share_c* freeShare = NULL; + + for (int i = 0; i < 16; i++) { + if (share->getCount() == 0) { + freeShare = share; + } else if (i_id == share->getId()) { + share->set(i_id); + return; + } + + share++; + } + + JUT_ASSERT(1469, freeShare != NULL); + freeShare->set(i_id); +} + +void dBgp_c::cutShare(u16 i_id) { + share_c* share = mShare; + for (int i = 0; i < 16; i++) { + if (share->getCount() != 0 && i_id == share->getId()) { + share->reset(); + } + + share++; + } +} + +bool dBgp_c::executeShare() { + bool rt = true; + share_c* share = mShare; + for (int i = 0; i < 16; i++) { + if (share->isUsed() && !share->execute()) { + rt = false; + } + + share++; + } + + return rt; +} + +void dBgp_c::drawShare() { + share_c* share = mShare; + for (int i = 0; i < 16; i++) { + if (share->isDraw()) { + share->draw(); + } + + share++; + } +} + +void dBgp_c::entryShare(dBgp_c::packet_c* i_packet) { + share_c* share = mShare; + for (int i = 0; i < 16; i++) { + share->entry(i_packet); + share++; + } } diff --git a/src/d/d_bg_s_capt_poly.cpp b/src/d/d_bg_s_capt_poly.cpp new file mode 100644 index 0000000000..287db6ef59 --- /dev/null +++ b/src/d/d_bg_s_capt_poly.cpp @@ -0,0 +1,30 @@ +#include "d/dolzel.h" // IWYU pragma: keep + +#include "d/d_bg_s_capt_poly.h" + +#include "JSystem/JUtility/JUTAssert.h" + +dBgS_CaptPoly::dBgS_CaptPoly() { + SetPolyPassChk(GetPolyPassChkInfo()); + SetGrpPassChk(GetGrpPassChkInfo()); + field_0x48 = 0; +} + +void dBgS_CaptPoly::Set(cXyz& min, cXyz& max) { + aab.Set(&min, &max); + + JUT_ASSERT(36, !(fpclassify(min.x) == FP_QNAN)); + JUT_ASSERT(37, !(fpclassify(min.y) == FP_QNAN)); + JUT_ASSERT(38, !(fpclassify(min.z) == FP_QNAN)); + JUT_ASSERT(39, !(fpclassify(max.x) == FP_QNAN)); + JUT_ASSERT(40, !(fpclassify(max.y) == FP_QNAN)); + // BUG: Assertion on wrong cXyz member (should be max.z) + JUT_ASSERT(41, !(fpclassify(max.y) == FP_QNAN)); + + JUT_ASSERT(45, -INF < min.x && min.x < INF); + JUT_ASSERT(46, -INF < min.y && min.y < INF); + JUT_ASSERT(47, -INF < min.z && min.z < INF); + JUT_ASSERT(48, -INF < max.x && max.x < INF); + JUT_ASSERT(49, -INF < max.y && max.y < INF); + JUT_ASSERT(50, -INF < max.z && max.z < INF); +} diff --git a/src/d/d_bg_s_func.cpp b/src/d/d_bg_s_func.cpp new file mode 100644 index 0000000000..602dda3097 --- /dev/null +++ b/src/d/d_bg_s_func.cpp @@ -0,0 +1,6 @@ +#include "d/dolzel.h" // IWYU pragma: keep + +static void dummy() { + ((dBgS*)NULL)->GetMtrlSndId(*(const cBgS_PolyInfo*)NULL); +} + diff --git a/src/d/d_bg_w_deform.cpp b/src/d/d_bg_w_deform.cpp new file mode 100644 index 0000000000..87d95c2af3 --- /dev/null +++ b/src/d/d_bg_w_deform.cpp @@ -0,0 +1,7 @@ +#include "d/dolzel.h" // IWYU pragma: keep + +static void dummy() { + ((J3DModel*)NULL)->offFlag(0); + ((J3DModel*)NULL)->onFlag(0); + ((J3DVertexBuffer*)NULL)->getCurrentVtxPos(); +} diff --git a/src/d/d_bg_w_hf.cpp b/src/d/d_bg_w_hf.cpp new file mode 100644 index 0000000000..d5b7f38e37 --- /dev/null +++ b/src/d/d_bg_w_hf.cpp @@ -0,0 +1,11 @@ +#include "d/dolzel.h" // IWYU pragma: keep + +#include "d/d_bg_w_sv.h" + +// need to pull in dBgWSv RTTI somehow but not sure if this is correct +class dBgWHf : public dBgWSv { +}; + +static void dummy() { + dBgWHf dummy; +} diff --git a/src/d/d_cam_param.cpp b/src/d/d_cam_param.cpp index 77e62ac4bf..015325d6a1 100644 --- a/src/d/d_cam_param.cpp +++ b/src/d/d_cam_param.cpp @@ -138,23 +138,23 @@ dCstick_c::dCstick_c() { #if DEBUG void dCstick_c::genMessage(JORMContext* ctx) { // "- Switch" - ctx->genLabel("- スイッチ", 0, 0, NULL, -1, -1, 0x200); + ctx->genLabel("- スイッチ", 0); // " Threshold: Low" - ctx->genSlider(" しきい値 低", &mThresholdLow, 0.0f, 1.0f, 0, NULL, -1, -1, 0x200); + ctx->genSlider(" しきい値 低", &mThresholdLow, 0.0f, 1.0f); // " High" - ctx->genSlider(" 高", &mThresholdHigh, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" 高", &mThresholdHigh, 0.0f, 1.0f); // " Input speed" - ctx->genSlider(" 入力スピード", &mInputSpeed, 0x0, 0x50, 0, 0, -1); + ctx->genSlider(" 入力スピード", &mInputSpeed, 0x0, 0x50); - ctx->genLabel("-", 0, 0, NULL, -1, -1, 0x200); + ctx->genLabel("-", 0); // " Debug display" - ctx->genCheckBox(" デバッグ表示", &mIsDebugDisplay, -0x8000, 0, 0, -1, -1); + ctx->genCheckBox(" デバッグ表示", &mIsDebugDisplay, 0x8000); // " Display position X" - ctx->genSlider(" 表示位置 X", &mDisplayPosX, 0x0, 0x280, 0, 0, -1); + ctx->genSlider(" 表示位置 X", &mDisplayPosX, 0x0, 0x280); // " Y" - ctx->genSlider(" Y", &mDisplayPosY, 0x0, 0x1e0, 0, 0, -1); + ctx->genSlider(" Y", &mDisplayPosY, 0x0, 0x1e0); - ctx->genLabel("-", 0, 0, NULL, -1, -1, 0x200); + ctx->genLabel("-", 0); } #endif @@ -193,51 +193,51 @@ dCamBGChk_c::dCamBGChk_c() { #if DEBUG void dCamBGChk_c::genMessage(JORMContext* ctx) { - ctx->genLabel("-", 0, 0, 0, -1, -1, 0x200); + ctx->genLabel("-", 0); // "- Floor check" - ctx->genLabel("- 床チェック", 0, 0, 0, -1, -1, 0x200); + ctx->genLabel("- 床チェック", 0); // " Margin" - ctx->genSlider(" マージン", &mFloorMargin, 0.0f, 1000.0f, 0, 0, -1, -1, 0x200); - ctx->genLabel("-", 0, 0, 0, -1, -1, 0x200); + ctx->genSlider(" マージン", &mFloorMargin, 0.0f, 1000.0f); + ctx->genLabel("-", 0); // "- Forward check" - ctx->genLabel("- 前方チェック", 0, 0, 0, -1, -1, 0x200); + ctx->genLabel("- 前方チェック", 0); // " [0]Angle" - ctx->genSlider(" [0]角度", &mChkInfo[0].mChkAngle, 1.0f, 90.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" [0]角度", &mChkInfo[0].mChkAngle, 1.0f, 90.0f); // " [0]Length (height X)" - ctx->genSlider(" [0]長さ(身長X)", &mChkInfo[0].mDistance, 1.0f, 25.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" [0]長さ(身長X)", &mChkInfo[0].mDistance, 1.0f, 25.0f); // " [0]Weight+" - ctx->genSlider(" [0]ウエイト+", &mChkInfo[0].mWeightH, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" [0]ウエイト+", &mChkInfo[0].mWeightH, 0.0f, 1.0f); // " [0]Weight-" - ctx->genSlider(" [0]ウエイト-", &mChkInfo[0].mWeightL, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" [0]ウエイト-", &mChkInfo[0].mWeightL, 0.0f, 1.0f); // " [1]Angle" - ctx->genSlider(" [1]角度", &mChkInfo[1].mChkAngle, 1.0f, 90.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" [1]角度", &mChkInfo[1].mChkAngle, 1.0f, 90.0f); // " [1]Length (height X)" - ctx->genSlider(" [1]長さ(身長X)", &mChkInfo[1].mDistance, 1.0f, 25.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" [1]長さ(身長X)", &mChkInfo[1].mDistance, 1.0f, 25.0f); // " [1]Weight+" - ctx->genSlider(" [1]ウエイト+", &mChkInfo[1].mWeightH, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" [1]ウエイト+", &mChkInfo[1].mWeightH, 0.0f, 1.0f); // " [1]Weight-" - ctx->genSlider(" [1]ウエイト-", &mChkInfo[1].mWeightL, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" [1]ウエイト-", &mChkInfo[1].mWeightL, 0.0f, 1.0f); // " Margin" - ctx->genSlider(" マージン", &mFwdBackMargin, 0.0f, 1000.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" マージン", &mFwdBackMargin, 0.0f, 1000.0f); // " Cusion" - ctx->genSlider(" クッション", &mFwdCushion, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); - ctx->genLabel("-", 0, 0, 0, -1, -1, 0x200); + ctx->genSlider(" クッション", &mFwdCushion, 0.0f, 1.0f); + ctx->genLabel("-", 0); // "- Per camera" - ctx->genLabel("- カメラあたり", 0, 0, 0, -1, -1, 0x200); + ctx->genLabel("- カメラあたり", 0); // " Margin" - ctx->genSlider(" マージン", &mGazeBackMargin, 0.0f, 1000.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" マージン", &mGazeBackMargin, 0.0f, 1000.0f); // BUG: second parameter should be &mCornerAngleMax // " Corner wall detection angle" - ctx->genSlider(" 角壁判別角度", &mCornerCushion, 0.0f, 180.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" 角壁判別角度", &mCornerCushion, 0.0f, 180.0f); // " Corner cushion" - ctx->genSlider(" 角クッション", &mCornerCushion, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" 角クッション", &mCornerCushion, 0.0f, 1.0f); // " Wall cushion" - ctx->genSlider(" 壁クッション", &mWallCushion, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" 壁クッション", &mWallCushion, 0.0f, 1.0f); // " Wall up distance" - ctx->genSlider(" 壁上がり距離", &mWallUpDistance, 0.0f, 1000.0f, 0, 0, -1, -1, 0x200); + ctx->genSlider(" 壁上がり距離", &mWallUpDistance, 0.0f, 1000.0f); // " Wall back cushion" - ctx->genSlider(" 壁戻クッション", &mWallBackCushion, 0.0f, 1.0f, 0, 0, -1, -1, 0x200); - ctx->genLabel("-", 0, 0, 0, -1, -1, 0x200); + ctx->genSlider(" 壁戻クッション", &mWallBackCushion, 0.0f, 1.0f); + ctx->genLabel("-", 0); } #endif @@ -300,179 +300,135 @@ int dCamParam_c::SearchStyle(u32 param_0) { #if DEBUG void dCamParam_c::genMessage(JORMContext* ctx) { - ctx->genSlider(" STYLE ID", &mStyleID, 0, mStyleNum, 0x40000000, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" STYLE ID", &mStyleID, 0, mStyleNum, 0x40000000); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "Origin C" - ctx->genLabel("- 原点C", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 原点C", 0); // "Front/back (GAPZ)" - ctx->genSlider(" 前後(GAPZ)", &mCurrentStyle->mParams[CAM_PARAM_GAPZ], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 前後(GAPZ)", &mCurrentStyle->mParams[CAM_PARAM_GAPZ], -10000.0f, 10000.0f); // "Left/right (GAPX)" - ctx->genSlider(" 左右(GAPX)", &mCurrentStyle->mParams[CAM_PARAM_GAPX], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 左右(GAPX)", &mCurrentStyle->mParams[CAM_PARAM_GAPX], -10000.0f, 10000.0f); // "Distance (CDST)" - ctx->genSlider(" 距離(CDST)", &mCurrentStyle->mParams[CAM_PARAM_CDST], -1.0f, 1.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 距離(CDST)", &mCurrentStyle->mParams[CAM_PARAM_CDST], -1.0f, 1.0f); // "Angle (CANG)" - ctx->genSlider(" 角度(CANG)", &mCurrentStyle->mParams[CAM_PARAM_CANG], -1.0f, 1.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 角度(CANG)", &mCurrentStyle->mParams[CAM_PARAM_CANG], -1.0f, 1.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Origin point high" - ctx->genLabel("- 原点高", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 原点高", 0); // "Standard (HBAS)" - ctx->genSlider(" 標準(HBAS)", &mCurrentStyle->mParams[CAM_PARAM_HBAS], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 標準(HBAS)", &mCurrentStyle->mParams[CAM_PARAM_HBAS], -10000.0f, 10000.0f); // "Minimum (HMIN)" - ctx->genSlider(" 最小(HMIN)", &mCurrentStyle->mParams[CAM_PARAM_HMIN], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最小(HMIN)", &mCurrentStyle->mParams[CAM_PARAM_HMIN], -10000.0f, 10000.0f); // "Maximum (HMAX)" - ctx->genSlider(" 最大(HMAX)", &mCurrentStyle->mParams[CAM_PARAM_HMAX], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最大(HMAX)", &mCurrentStyle->mParams[CAM_PARAM_HMAX], -10000.0f, 10000.0f); // "Nearest (HNAR)" - ctx->genSlider(" 最近(HNAR)", &mCurrentStyle->mParams[CAM_PARAM_HNAR], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最近(HNAR)", &mCurrentStyle->mParams[CAM_PARAM_HNAR], -10000.0f, 10000.0f); // "Farthest (HFAR)" - ctx->genSlider(" 最遠(HFAR)", &mCurrentStyle->mParams[CAM_PARAM_HFAR], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最遠(HFAR)", &mCurrentStyle->mParams[CAM_PARAM_HFAR], -10000.0f, 10000.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Distance" - ctx->genLabel("- 距離", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider(" 標準(RBAS)", &mCurrentStyle->mParams[CAM_PARAM_RBAS], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider(" 最小(RMIN)", &mCurrentStyle->mParams[CAM_PARAM_RMIN], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider(" 最大(RMAX)", &mCurrentStyle->mParams[CAM_PARAM_RMAX], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider(" 最近(RNAR)", &mCurrentStyle->mParams[CAM_PARAM_RNAR], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider(" 最遠(RFAR)", &mCurrentStyle->mParams[CAM_PARAM_RFAR], -10000.0f, 10000.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 距離", 0); + ctx->genSlider(" 標準(RBAS)", &mCurrentStyle->mParams[CAM_PARAM_RBAS], -10000.0f, 10000.0f); + ctx->genSlider(" 最小(RMIN)", &mCurrentStyle->mParams[CAM_PARAM_RMIN], -10000.0f, 10000.0f); + ctx->genSlider(" 最大(RMAX)", &mCurrentStyle->mParams[CAM_PARAM_RMAX], -10000.0f, 10000.0f); + ctx->genSlider(" 最近(RNAR)", &mCurrentStyle->mParams[CAM_PARAM_RNAR], -10000.0f, 10000.0f); + ctx->genSlider(" 最遠(RFAR)", &mCurrentStyle->mParams[CAM_PARAM_RFAR], -10000.0f, 10000.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genLabel("- 縦角", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); + ctx->genLabel("- 縦角", 0); // "Standard (VBAS)" - ctx->genSlider(" 標準(VBAS)", &mCurrentStyle->mParams[CAM_PARAM_VBAS], -180.0f, 180.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 標準(VBAS)", &mCurrentStyle->mParams[CAM_PARAM_VBAS], -180.0f, 180.0f); // "Minimuum (VMIN)" - ctx->genSlider(" 最小(VMIN)", &mCurrentStyle->mParams[CAM_PARAM_VMIN], -180.0f, 180.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最小(VMIN)", &mCurrentStyle->mParams[CAM_PARAM_VMIN], -180.0f, 180.0f); // "Maximum (VMAX)" - ctx->genSlider(" 最大(VMAX)", &mCurrentStyle->mParams[CAM_PARAM_VMAX], -180.0f, 180.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最大(VMAX)", &mCurrentStyle->mParams[CAM_PARAM_VMAX], -180.0f, 180.0f); // "Nearest (VNAR)" - ctx->genSlider(" 最近(VNAR)", &mCurrentStyle->mParams[CAM_PARAM_VNAR], -180.0f, 180.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最近(VNAR)", &mCurrentStyle->mParams[CAM_PARAM_VNAR], -180.0f, 180.0f); // "Farthest (VFAR)" - ctx->genSlider(" 最遠(VFAR)", &mCurrentStyle->mParams[CAM_PARAM_VFAR], -180.0f, 180.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最遠(VFAR)", &mCurrentStyle->mParams[CAM_PARAM_VFAR], -180.0f, 180.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Horizontal angle" - ctx->genLabel("- 横角", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 横角", 0); // "Rotation speed (UTRN)" - ctx->genSlider(" 回速(UTRN)", &mCurrentStyle->mParams[CAM_PARAM_UTRN], -1.0f, 1.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 回速(UTRN)", &mCurrentStyle->mParams[CAM_PARAM_UTRN], -1.0f, 1.0f); // "Lap behind (USLW)" - ctx->genSlider(" 回遅(USLW)", &mCurrentStyle->mParams[CAM_PARAM_USLW], -1.0f, 1.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 回遅(USLW)", &mCurrentStyle->mParams[CAM_PARAM_USLW], -1.0f, 1.0f); // "Nearest (UNAR)" - ctx->genSlider(" 最近(UNAR)", &mCurrentStyle->mParams[CAM_PARAM_UNAR], -180.0f, 180.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最近(UNAR)", &mCurrentStyle->mParams[CAM_PARAM_UNAR], -180.0f, 180.0f); // "Farthest (UFAR)" - ctx->genSlider(" 最遠(UFAR)", &mCurrentStyle->mParams[CAM_PARAM_UFAR], -180.0f, 180.0f, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最遠(UFAR)", &mCurrentStyle->mParams[CAM_PARAM_UFAR], -180.0f, 180.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Field of view" - ctx->genLabel("- 画角", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 画角", 0); // "Standard (FBAS)" - ctx->genSlider(" 標準(FBAS)", &mCurrentStyle->mParams[CAM_PARAM_FBAS], -30.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 標準(FBAS)", &mCurrentStyle->mParams[CAM_PARAM_FBAS], -30.0f, 90.0f); // "Minimum (FMIN)" - ctx->genSlider(" 最小(FMIN)", &mCurrentStyle->mParams[CAM_PARAM_FMIN], -30.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最小(FMIN)", &mCurrentStyle->mParams[CAM_PARAM_FMIN], -30.0f, 90.0f); // "Maximum (FMAX)" - ctx->genSlider(" 最大(FMAX)", &mCurrentStyle->mParams[CAM_PARAM_FMAX], -30.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最大(FMAX)", &mCurrentStyle->mParams[CAM_PARAM_FMAX], -30.0f, 90.0f); // "Nearest (FNAR)" - ctx->genSlider(" 最近(FNAR)", &mCurrentStyle->mParams[CAM_PARAM_FNAR], -30.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最近(FNAR)", &mCurrentStyle->mParams[CAM_PARAM_FNAR], -30.0f, 90.0f); // "Farthest (FFAR)" - ctx->genSlider(" 最遠(FFAR)", &mCurrentStyle->mParams[CAM_PARAM_FFAR], -30.0f, 90.0f, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 最遠(FFAR)", &mCurrentStyle->mParams[CAM_PARAM_FFAR], -30.0f, 90.0f); + ctx->genLabel("-", 0); // "- Flag" - ctx->genLabel("- フラグ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- フラグ", 0); // "BG check (BGCHECK)" - ctx->genCheckBox(" BGチェック(BGCHECK)", &mCurrentStyle->mFlags, 0x1, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" BGチェック(BGCHECK)", &mCurrentStyle->mFlags, 0x1); // "BG check light (BGCHKLIGHT)" - ctx->genCheckBox(" BGチェック軽(BGCHKLIGHT)", &mCurrentStyle->mFlags, 0x2, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" BGチェック軽(BGCHKLIGHT)", &mCurrentStyle->mFlags, 0x2); // "Grass check (BUSHCHECK)" - ctx->genCheckBox(" 草チェック(BUSHCHECK)", &mCurrentStyle->mFlags, 0x8, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 草チェック(BUSHCHECK)", &mCurrentStyle->mFlags, 0x8); // "Front check (FWDCHECK)" - ctx->genCheckBox(" 前方チェック(FWDCHECK)", &mCurrentStyle->mFlags, 0x4000, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 前方チェック(FWDCHECK)", &mCurrentStyle->mFlags, 0x4000); // "CO check prohibited (COCHKOFF)" - ctx->genCheckBox(" COチェック禁止(COCHKOFF)", &mCurrentStyle->mFlags, 0x10, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" COチェック禁止(COCHKOFF)", &mCurrentStyle->mFlags, 0x10); // "R button zoom (RZOOM)" - ctx->genCheckBox(" Rボタンズーム(RZOOM)", &mCurrentStyle->mFlags, 0x400, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" Rボタンズーム(RZOOM)", &mCurrentStyle->mFlags, 0x400); // "Stick direct value (DIRECTSTK)" - ctx->genCheckBox(" スティック直値(DIRECTSTK)", &mCurrentStyle->mFlags, 0x100, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" スティック直値(DIRECTSTK)", &mCurrentStyle->mFlags, 0x100); // "Use map tool (USEMAPTOOL)" - ctx->genCheckBox(" マップツール使用(USEMAPTOOL)", &mCurrentStyle->mFlags, 0x200, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" マップツール使用(USEMAPTOOL)", &mCurrentStyle->mFlags, 0x200); // "No BG check (BGCHECKOFF)" - ctx->genCheckBox(" BGチェック無(BGCHECKOFF)", &mCurrentStyle->mFlags, 0x4, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" BGチェック無(BGCHECKOFF)", &mCurrentStyle->mFlags, 0x4); // "Forward check distance (FWDCHECKH)" - ctx->genCheckBox(" 前方チェック遠(FWDCHECKH)", &mCurrentStyle->mFlags, 0x20, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 前方チェック遠(FWDCHECKH)", &mCurrentStyle->mFlags, 0x20); // "C-axis rotation prohibited (ROLLOFF)" - ctx->genCheckBox(" C回転禁止(ROLLOFF)", &mCurrentStyle->mFlags, 0x40, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" C回転禁止(ROLLOFF)", &mCurrentStyle->mFlags, 0x40); // "C pulling prohibited (HIGHOFF)" - ctx->genCheckBox(" C引き禁止(HIGHOFF)", &mCurrentStyle->mFlags, 0x80, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" C引き禁止(HIGHOFF)", &mCurrentStyle->mFlags, 0x80); // "General purpose 1 (WIDEUSE1)" - ctx->genCheckBox(" 汎用1(WIDEUSE1)", &mCurrentStyle->mFlags, 0x800, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genCheckBox(" 汎用1(WIDEUSE1)", &mCurrentStyle->mFlags, 0x800); // "General purpose 2 (WIDEUSE2)" - ctx->genCheckBox(" 汎用2(WIDEUSE2)", &mCurrentStyle->mFlags, 0x1000, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 汎用2(WIDEUSE2)", &mCurrentStyle->mFlags, 0x1000); // "Target specification (TARGETUSE)" - ctx->genCheckBox(" 対象指定(TARGETUSE)", &mCurrentStyle->mFlags, 0x2000, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 対象指定(TARGETUSE)", &mCurrentStyle->mFlags, 0x2000); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Map tools" - ctx->genLabel("- マップツール", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- マップツール", 0); // "Field of view" - ctx->genSlider(" 画角 ", &mMapToolFovy, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 画角 ", &mMapToolFovy, 0, 0xff); // "Argument 0" - ctx->genSlider(" 引数0", &mMapToolArg0, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 引数0", &mMapToolArg0, 0, 0xff); // "Argument 1" - ctx->genSlider(" 引数1", &mMapToolArg1, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 引数1", &mMapToolArg1, 0, 0xff); // "Argument 2" - ctx->genSlider(" 引数2", &mMapToolArg2, 0, 0xffff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 引数2", &mMapToolArg2, 0, 0xffff); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Output file" - ctx->genLabel("- ファイル出力", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- ファイル出力", 0); // "Save" - ctx->genButton(" 保存 ", 0x12d, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genButton(" 保存 ", 0x12d); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); } void dCamParam_c::listenPropertyEvent(const JORPropertyEvent* event) { @@ -674,24 +630,23 @@ f32 dCamSetup_c::PlayerHideDist() { void dCamSetup_c::genMessage(JORMContext* ctx) { int i; - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Debug" - ctx->genLabel("- デバッグ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- デバッグ", 0); // "Camera information display" - ctx->genCheckBox(" カメラ情報表示", &mDebugFlags, 0x8000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" カメラ情報表示", &mDebugFlags, 0x8000); // "Event information display" - ctx->genCheckBox(" イベント情報表示", &mDebugFlags, 0x40, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" イベント情報表示", &mDebugFlags, 0x40); // "Player 2D position" - ctx->genCheckBox(" プレイヤ2D位置", &mDebugFlags, 0x80, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" プレイヤ2D位置", &mDebugFlags, 0x80); // "Imaginary line" - ctx->genCheckBox(" イマジナリライン", &mDebugFlags, 0x100, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genCheckBox(" イマジナリライン", &mDebugFlags, 0x100); // "Location information" - ctx->genCheckBox(" 位置情報", &mDebugFlags, 0x200, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 位置情報", &mDebugFlags, 0x200); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "Camera type switching" - ctx->startComboBox("カメラタイプ切替", &mForceType, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + ctx->startComboBox("カメラタイプ切替", &mForceType); // "Unused" ctx->genComboBoxItem("未使用", -1); for (i = 0; i < mTypeNum; i++) { @@ -699,33 +654,30 @@ void dCamSetup_c::genMessage(JORMContext* ctx) { } ctx->endComboBox(); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); + ctx->genLabel("-", 0); // "- Wolf special attack" - ctx->genLabel("- 狼特殊攻撃", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 狼特殊攻撃", 0); // "Return timer" - ctx->genSlider(" もどりタイマー", &mChargeTimer, 1, 3000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" もどりタイマー", &mChargeTimer, 1, 3000); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Screensaver" - ctx->genLabel("- スクリーンセーバー", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- スクリーンセーバー", 0); // "Enabled" - ctx->genCheckBox(" 有効", &mFlags2, 0x800, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 有効", &mFlags2, 0x800); // "Initial wait time (s)" - ctx->genSlider(" 待ち時間最初(s)", &mScreensaverFirstWaitTimer, 1, 0xe10, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + ctx->genSlider(" 待ち時間最初(s)", &mScreensaverFirstWaitTimer, 1, 0xe10); // "Wait time" - ctx->genSlider(" 待ち時間(s)", &mScreensaverWaitTimer, 1, 0xe10, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" 待ち時間(s)", &mScreensaverWaitTimer, 1, 0xe10); // "Execution time" - ctx->genSlider(" 実行時間(s)", &mScreensaverExecTimer, 1, 0xe10, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" 実行時間(s)", &mScreensaverExecTimer, 1, 0xe10); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Event" - ctx->genLabel("- イベント", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- イベント", 0); // "Conversation cut switching" - ctx->startComboBox("会話カット切替", &mModeSwitchType, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + ctx->startComboBox("会話カット切替", &mModeSwitchType); // "Unused" ctx->genComboBoxItem("未使用", -1); // "00. Default" @@ -808,103 +760,92 @@ void dCamSetup_c::genMessage(JORMContext* ctx) { ctx->genComboBoxItem("65.話し手腰上B", 65); ctx->endComboBox(); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "Short connection" - ctx->genSlider(" 短つなぎ", &mMapToolCamShortTimer, 0, 3000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" 短つなぎ", &mMapToolCamShortTimer, 0, 3000); // "Long connection" - ctx->genSlider(" 長つなぎ", &mMapToolCamLongTimer, 0, 3000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" 長つなぎ", &mMapToolCamLongTimer, 0, 3000); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Attention" - ctx->genLabel("- 注目", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 注目", 0); // "Switching timer" - ctx->genSlider(" 切替タイマー", &mLockonChangeTimer, 0, 400, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" 切替タイマー", &mLockonChangeTimer, 0, 400); // "Switching cushion" - ctx->genSlider(" 切替クッション", &mLockonChangeCushion, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider(" 切替クッション", &mLockonChangeCushion, 0.0f, 1.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Subject" - ctx->genLabel("- 主観", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 主観", 0); // "Distance to cull the link" - ctx->genSlider(" リンク消す距離", &mSubjLinkCullDist, 0.0f, 400.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider(" リンク消す距離", &mSubjLinkCullDist, 0.0f, 400.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Manual" - ctx->genLabel("- マニュアル", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- マニュアル", 0); // "Start C threshold" - ctx->genSlider(" 開始Cしきい", &mManualStartCThreshold, 0.0f, 400.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + ctx->genSlider(" 開始Cしきい", &mManualStartCThreshold, 0.0f, 400.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "Trimming" - ctx->genLabel("- トリミング", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- トリミング", 0); // "Vista" - ctx->genSlider(" ビスタ", &mTrimVistaHeight, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" ビスタ", &mTrimVistaHeight, 0.0f, 200.0f); // "Cinemascope" - ctx->genSlider(" シネスコ", &mTrimCineScopeHeight, 0.0f, 200.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" シネスコ", &mTrimCineScopeHeight, 0.0f, 200.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Fake angle system" - ctx->genLabel("- 嘘アングルシステム", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 嘘アングルシステム", 0); // "Value" - ctx->genSlider(" 値", &mFalseValue, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 値", &mFalseValue, 0.0f, 1.0f); // "Angle" - ctx->genSlider(" 角度", &mFalseAngle, 0.0f, 180.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 角度", &mFalseAngle, 0.0f, 180.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Forced attention" - ctx->genLabel("- 強制注目", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 強制注目", 0); // "Limit distance" - ctx->genSlider(" 限界距離", &mForceLockOffDist, 0.0, 100000.0, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" 限界距離", &mForceLockOffDist, 0.0, 100000.0); // "Timer" - ctx->genSlider(" タイマー", &mForceLockOffTimer, 0, 100000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" タイマー", &mForceLockOffTimer, 0, 100000); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "Object avoidance" - ctx->genLabel("- オブジェクト避け", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- オブジェクト避け", 0); // "Valid" - ctx->genCheckBox(" 有効", &mFlags2, 0x400, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 有効", &mFlags2, 0x400); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Windstorm shaking experiment" - ctx->genLabel("- 暴風揺れ実験", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 暴風揺れ実験", 0); // "Valid" - ctx->genCheckBox(" 有効", &mFlags2, 0x100, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 有効", &mFlags2, 0x100); // "Focal point" - ctx->genSlider(" 注視点", &mWindShakeCtr, 0.0, 100.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 注視点", &mWindShakeCtr, 0.0, 100.0); // "Angle of view" - ctx->genSlider(" 画角", &mWindShakeFvy, 0.0, 10.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 画角", &mWindShakeFvy, 0.0, 10.0); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- After throwing" - ctx->genLabel("- 投げ後", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 投げ後", 0); // "Angle" - ctx->genSlider(" 角度", &mThrowVAngle, -180.0f, 180.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" 角度", &mThrowVAngle, -180.0f, 180.0f); // "Height (relative)" - ctx->genSlider(" 高さ(相対)", &mThrowCtrOffset, -180.0f, 180.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + ctx->genSlider(" 高さ(相対)", &mThrowCtrOffset, -180.0f, 180.0f); // "Timer" - ctx->genSlider(" タイマー", &mThrowTimer, 1, 3000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" タイマー", &mThrowTimer, 1, 3000); // "Cushion" - ctx->genSlider(" クッション", &mThrowCushion, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genSlider(" クッション", &mThrowCushion, 0.0f, 1.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); // "- Drawing settings" - ctx->genLabel("- 描画設定", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("- 描画設定", 0); // "Valid" - ctx->genCheckBox(" 有効", &mDebugFlags, 0x400, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider(" near", &mDrawNear, 0.0f, 1000000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - ctx->genSlider(" far", &mDrawFar, 0.0f, 1000000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genCheckBox(" 有効", &mDebugFlags, 0x400); + ctx->genSlider(" near", &mDrawNear, 0.0f, 1000000.0f); + ctx->genSlider(" far", &mDrawFar, 0.0f, 1000000.0f); - ctx->genLabel("-", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + ctx->genLabel("-", 0); } #endif diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 61774641f8..9e7bf7c9d2 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -10411,18 +10411,18 @@ int dCamera_c::Set(cXyz i_center, cXyz i_eye, s16 i_bank, f32 i_fovy) { return 1; } -void dCamera_c::Reset(cXyz i_center, cXyz i_eye, f32 i_fovy, s16 i_bank) { +int dCamera_c::Reset(cXyz i_center, cXyz i_eye, f32 i_fovy, s16 i_bank) { mCenter = i_center; mEye = i_eye; mFovy = i_fovy; mBank = cSAngle(i_bank); - Reset(); + return Reset(); } -void dCamera_c::Reset(cXyz i_center, cXyz i_eye) { +int dCamera_c::Reset(cXyz i_center, cXyz i_eye) { mCenter = i_center; mEye = i_eye; - Reset(); + return Reset(); } int dCamera_c::Reset() { diff --git a/src/d/d_cc_uty.cpp b/src/d/d_cc_uty.cpp index abf801f34e..42116b967f 100644 --- a/src/d/d_cc_uty.cpp +++ b/src/d/d_cc_uty.cpp @@ -102,7 +102,7 @@ u16 cc_pl_cut_bit_get() { } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_FINISH_VERTICAL) { bit = 0x40; } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || - player_p->getCutType() == 9 || player_p->getCutType() == daPy_py_c::CUT_TYPE_HORSE_TURN || + player_p->getCutType() == daPy_py_c::CUT_TYPE_UNK_9 || player_p->getCutType() == daPy_py_c::CUT_TYPE_HORSE_TURN || player_p->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) { bit = 0x80; diff --git a/src/d/d_com_inf_actor.cpp b/src/d/d_com_inf_actor.cpp index f3d2a98e6a..e9f7bd97f9 100644 --- a/src/d/d_com_inf_actor.cpp +++ b/src/d/d_com_inf_actor.cpp @@ -6,7 +6,7 @@ #include "d/dolzel.h" // IWYU pragma: keep #include "d/d_com_inf_actor.h" -#include "dolphin/types.h" +#include dComIfAc_info_c g_dComIfAc_gameInfo = { 0, // field_0x0 diff --git a/src/d/d_com_static.cpp b/src/d/d_com_static.cpp index 05ec34453c..d90414e976 100644 --- a/src/d/d_com_static.cpp +++ b/src/d/d_com_static.cpp @@ -204,8 +204,8 @@ int daNpcMsg_setEvtNum(u8 iEvtNum) { return 1; } -u8 daNpcKakashi_chkSwdTutorialStage() { - return strcmp(dComIfGp_getStartStageName(), "F_SP103") == 0 && dComIfG_play_c::getLayerNo(0) == 8; +bool daNpcKakashi_chkSwdTutorialStage() { + return bool(strcmp(dComIfGp_getStartStageName(), "F_SP103") == 0 && dComIfG_play_c::getLayerNo(0) == 8); } void daNpcKakashi_setSwdTutorialStep(u8 iEvtNum) { diff --git a/src/d/d_debug_camera.cpp b/src/d/d_debug_camera.cpp index 32f281e527..b2ebdf699e 100644 --- a/src/d/d_debug_camera.cpp +++ b/src/d/d_debug_camera.cpp @@ -181,78 +181,72 @@ static int search_actor(fopAc_ac_c* actor, void* data) { } void dDbgCamSetup_c::genMessage(JORMContext* mctx) { - mctx->genLabel("- カメラ位置表示", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" 現在位置", &mFlag, 4, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" (補正前)", &mFlag, 8, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("- カメラ位置表示", 0); + mctx->genCheckBox(" 現在位置", &mFlag, 0x4); + mctx->genCheckBox(" (補正前)", &mFlag, 0x8); - mctx->genLabel("- ヒットポリゴン表示", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" 壁あたり", &mFlag, 0x10, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("- ヒットポリゴン表示", 0); + mctx->genCheckBox(" 壁あたり", &mFlag, 0x10); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("- 移動", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" スピード", &mMoveSpeed, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 最大", &mMoveMax, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" ターボ", &mMoveTurbo, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 最大", &mUnkMax, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 平行移動", &mMoveParallelShift, 0.0f, 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 加速度", &mTransAccel, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("-", 0); + mctx->genLabel("- 移動", 0); + mctx->genSlider(" スピード", &mMoveSpeed, 0.0f, 5000.0f); + mctx->genSlider(" 最大", &mMoveMax, 0.0f, 5000.0f); + mctx->genSlider(" ターボ", &mMoveTurbo, 0.0f, 5000.0f); + mctx->genSlider(" 最大", &mUnkMax, 0.0f, 5000.0f); + mctx->genSlider(" 平行移動", &mMoveParallelShift, 0.0f, 5000.0f); + mctx->genSlider(" 加速度", &mTransAccel, 0.0f, 1.0f); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("- 回転", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" スピード", &mRotateSpeed, 0.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 最大", &mRotateMax, 0.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 加速度", &mRotAccel, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("-", 0); + mctx->genLabel("- 回転", 0); + mctx->genSlider(" スピード", &mRotateSpeed, 0.0f, 90.0f); + mctx->genSlider(" 最大", &mRotateMax, 0.0f, 90.0f); + mctx->genSlider(" 加速度", &mRotAccel, 0.0f, 1.0f); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("- 画角", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" スピード", &mFovyTick, 0.0f, 90.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("-", 0); + mctx->genLabel("- 画角", 0); + mctx->genSlider(" スピード", &mFovyTick, 0.0f, 90.0f); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("- センターマーカ", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 線の長さ", &mCenterCross, 0.0f, 4000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 球の大きさ", &mCenterBall, 0.0f, 4000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("-", 0); + mctx->genLabel("- センターマーカ", 0); + mctx->genSlider(" 線の長さ", &mCenterCross, 0.0f, 4000.0f); + mctx->genSlider(" 球の大きさ", &mCenterBall, 0.0f, 4000.0f); mctx->startRadioButton("表示", &mCenterMarker, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0xFFFF); mctx->genRadioButtonItem("常に表示", 3, 0, 0xFFFF, 0xFFFF, 0x80, 0x10); mctx->genRadioButtonItem("動くと表示", 1, 0, 0xFFFF, 0xFFFF, 0x80, 0x10); mctx->genRadioButtonItem("常に非表示", 0, 0, 0xFFFF, 0xFFFF, 0x80, 0x10); mctx->endRadioButton(); - mctx->genLabel("- 情報表示", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox(" 有効", &mFlag, 0x8000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 表示位置 X", &mPosX, 0, FB_WIDTH, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" Y", &mPosY, 0, 480, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("- 情報表示", 0); + mctx->genCheckBox(" 有効", &mFlag, 0x8000); + mctx->genSlider(" 表示位置 X", &mPosX, 0, FB_WIDTH); + mctx->genSlider(" Y", &mPosY, 0, 480); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("- 座標系", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("-", 0); + mctx->genLabel("- 座標系", 0); mctx->startRadioButton("基準", &mActorSrchType, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0xFFFF); mctx->genRadioButtonItem("絶対座標", 0, 0, 0xFFFF, 0xFFFF, 0x80, 0x10); mctx->genRadioButtonItem("プレイヤー相対座標", 1, 0, 0xFFFF, 0xFFFF, 0x80, 0x10); mctx->genRadioButtonItem("指定アクター相対座標", 2, 0, 0xFFFF, 0xFFFF, 0x80, 0x10); mctx->endRadioButton(); - mctx->genButton(" 更新 ", 0x66, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genButton(" 更新 ", 0x66); - mctx->genLabel("- イベント", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton(" 保存 ", 0x68, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("- イベント", 0); + mctx->genButton(" 保存 ", 0x68); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("- 座標指定", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 注視点 X", &mGazePoint.x, -100000.0f, 100000.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genSlider("     Y", &mGazePoint.y, -100000.0f, 100000.0f, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genSlider("     Z", &mGazePoint.z, -100000.0f, 100000.0f, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genButton(" 更新 ", 0x69, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 視点   X", &mPerspective.x, -100000.0f, 100000.0f, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genSlider("     Y", &mPerspective.y, -100000.0f, 100000.0f, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("     Z", &mPerspective.z, -100000.0f, 100000.0f, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton(" 更新 ", 0x6A, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 画角   ", &mAngle, 0.0f, 180.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton(" 更新 ", 0x6B, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("-", 0); + mctx->genLabel("- 座標指定", 0); + mctx->genSlider(" 注視点 X", &mGazePoint.x, -100000.0f, 100000.0f); + mctx->genSlider("     Y", &mGazePoint.y, -100000.0f, 100000.0f); + mctx->genSlider("     Z", &mGazePoint.z, -100000.0f, 100000.0f); + mctx->genButton(" 更新 ", 0x69); + mctx->genSlider(" 視点   X", &mPerspective.x, -100000.0f, 100000.0f); + mctx->genSlider("     Y", &mPerspective.y, -100000.0f, 100000.0f); + mctx->genSlider("     Z", &mPerspective.z, -100000.0f, 100000.0f); + mctx->genButton(" 更新 ", 0x6A); + mctx->genSlider(" 画角   ", &mAngle, 0.0f, 180.0f); + mctx->genButton(" 更新 ", 0x6B); + mctx->genLabel("-", 0); } void dDbgCamera_c::InitlChk() { diff --git a/src/d/d_debug_pad.cpp b/src/d/d_debug_pad.cpp new file mode 100644 index 0000000000..23a31edcd3 --- /dev/null +++ b/src/d/d_debug_pad.cpp @@ -0,0 +1,90 @@ +#include "d/d_debug_pad.h" +#include "m_Do/m_Do_controller_pad.h" +#include "JSystem/JUtility/JUTDbPrint.h" +#include "JSystem/JUtility/JUTReport.h" +#include "f_ap/f_ap_game.h" + +dDebugPad_c::dDebugPad_c() { + mIsActive = false; + mMode = MODE_CAMERA_e; + mTrigger = false; +} + +const char dDebugPad_c::mode_name[MODE_MAX_e][9] = { + "CAMERA", + "BsLight", + "WindTest", + "SDCARD", +}; + +bool dDebugPad_c::Update() { + mTrigger = false; + + if (mDoCPd_c::getTrigStart(PAD_3)) { + mIsActive = mIsActive ? false : true; + mTrigger = true; + } + + if (mIsActive) { + if (mDoCPd_c::getTrigZ(PAD_3)) { + mMode = (mMode + 1) % MODE_MAX_e; + } + + int x = 10; + int y = 40; + int line_height = 15; + JUtility::TColor sp40(0xC8, 0x80, 0xFF, 0xC0); + JUtility::TColor sp3C(0xFF, 0xC0, 0xC0, 0xFF); + + Report(x, y, sp40, "+-DEBUG-PAD-+"); + + int i; + for (i = 0; i < MODE_MAX_e; i++) { + y += line_height; + + if (i == mMode) { + Report(x, y, sp40, "| |"); + Report(x, y, sp3C, " @%-8s ", mode_name[i]); + } else { + Report(x, y, sp40, "| %-8s |", mode_name[i]); + } + } + + for (i = 0; i < 1; i++) { + y += line_height; + Report(x, y, sp40, "| |"); + } + + y += line_height; + Report(x, y, sp40, "+-----------+"); + } + + return mIsActive; +} + +bool dDebugPad_c::Report(int x, int y, JUtility::TColor color, const char* message, ...) { + char buffer[256]; + + static JUtility::TColor ShadowDarkColor(0, 0, 0, 0x80); + + if (mIsActive) { + va_list list; + va_start(list, message); + vsnprintf(buffer, sizeof(buffer), message, list); + va_end(list); + + JUTDbPrint::getManager()->flush(); + JUTDbPrint::getManager()->setCharColor(ShadowDarkColor); + JUTReport(x + 2, y + 2, buffer); + JUTDbPrint::getManager()->flush(); + JUTDbPrint::getManager()->setCharColor(color); + JUTReport(x, y, buffer); + JUTDbPrint::getManager()->flush(); + JUTDbPrint::getManager()->setCharColor(g_HIO.mColor); + return true; + } + + return false; +} + +dDebugPad_c dDebugPad; diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp index b4433c5e02..2a7c74f40b 100644 --- a/src/d/d_demo.cpp +++ b/src/d/d_demo.cpp @@ -193,8 +193,8 @@ u16 dDemo_c::m_branchType; const u8* dDemo_c::m_branchData; -int dDemo_actor_c::getDemoIDData(int* param_0, int* param_1, int* param_2, u16* param_3, - u8* param_4) { +int dDemo_actor_c::getDemoIDData(int* o_arg0, int* o_arg1, int* o_arg2, u16* o_resID, + u8* param_4) { JStudio::stb::TParseData_fixed<51, TValueIterator_misaligned > data(getPrm()->getData()); static JStudio::stb::TParseData_fixed<51, TValueIterator_misaligned > dummy; @@ -210,10 +210,10 @@ int dDemo_actor_c::getDemoIDData(int* param_0, int* param_1, int* param_2, u16* } u32 var_r31 = *it; - *param_0 = var_r31 >> 0x1E; - *param_1 = (var_r31 >> 0x18) & 0xF; - *param_2 = (var_r31 >> 0x10) & 0xF; - *param_3 = var_r31 & 0xFFFF; + *o_arg0 = var_r31 >> 0x1E; + *o_arg1 = (var_r31 >> 0x18) & 0xF; + *o_arg2 = (var_r31 >> 0x10) & 0xF; + *o_resID = var_r31 & 0xFFFF; if (param_4 != NULL) { *param_4 = (var_r31 >> 0x17) & 1; @@ -224,7 +224,7 @@ int dDemo_actor_c::getDemoIDData(int* param_0, int* param_1, int* param_2, u16* } #if DEBUG -s16 dDemo_c::m_branchNum = 0; +u16 dDemo_c::m_branchNum = 0; #endif static void* dDemo_getJaiPointer(char const* arcName, u32 anmID, int param_2, u16* param_3) { diff --git a/src/d/d_error_msg.cpp b/src/d/d_error_msg.cpp index 0dd931c224..ffde521eaf 100644 --- a/src/d/d_error_msg.cpp +++ b/src/d/d_error_msg.cpp @@ -53,13 +53,13 @@ static void messageSet(u32 status, bool i_drawBg) { const char* msg_p; #if VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_GERMAN) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_GERMAN) { inf1 = (BMG_INF1*)&msg_data_ge[0x20]; - } else if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_FRENCH) { + } else if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_FRENCH) { inf1 = (BMG_INF1*)&msg_data_fr[0x20]; - } else if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_SPANISH) { + } else if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_SPANISH) { inf1 = (BMG_INF1*)&msg_data_sp[0x20]; - } else if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_ITALIAN) { + } else if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_ITALIAN) { inf1 = (BMG_INF1*)&msg_data_it[0x20]; } else { inf1 = (BMG_INF1*)&msg_data[0x20]; @@ -165,7 +165,7 @@ static void messageSet(u32 status, bool i_drawBg) { } #if VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_ENGLISH) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_ENGLISH) { spane.draw(x + 2.0f, y + 10.0f + 2.0f, FB_WIDTH, HBIND_LEFT); tpane.draw(x, y + 10.0f, FB_WIDTH, HBIND_LEFT); } else { diff --git a/src/d/d_event_debug.cpp b/src/d/d_event_debug.cpp index 6c0f72667b..f3ad0e56d0 100644 --- a/src/d/d_event_debug.cpp +++ b/src/d/d_event_debug.cpp @@ -69,10 +69,10 @@ dEvM_HIO_c::dEvM_HIO_c() { } void dEvM_HIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("- ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("- ", 0); /* "- Event Manager Testing" */ - mctx->genLabel("- イベントマネージャーテスト用", LBL_EVENT_MANAGER_TESTING, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("- イベントマネージャーテスト用", LBL_EVENT_MANAGER_TESTING); // "Playback test" mctx->genNode("再生テスト", &m_playtest, 0, 0); @@ -90,57 +90,57 @@ void dEvM_HIO_c::genMessage(JORMContext* mctx) { mctx->genNode("一時R", &m_temp_reg, 0, 0); // "Read" - mctx->genButton("読み込み", BTN_READ, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("読み込み", BTN_READ); // "evM Debug" - mctx->genCheckBox("evM デバック", &m_evm_debug, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("evM デバック", &m_evm_debug, 0x1); // "evD Debug" - mctx->genCheckBox("evD デバック", &m_evd_debug, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("evD デバック", &m_evd_debug, 0x1); // "eve Debug" - mctx->genCheckBox("eve デバック", &m_eve_debug, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("eve デバック", &m_eve_debug, 0x1); // "EV data output" - mctx->genCheckBox("EVデータ出力", &m_EVdata_output, 1, 0, NULL , 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("EVデータ出力", &m_EVdata_output, 0x1); // "evD unfinished" - mctx->genCheckBox("evD 未終了", &m_evd_unfinished, 1, 0, NULL, 0xffff , 0xffff, 0x200, 0x18); + mctx->genCheckBox("evD 未終了", &m_evd_unfinished, 0x1); // "Scene switching prohibited" - mctx->genCheckBox("シーン切替禁止", &m_prevent_scene_switch, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("シーン切替禁止", &m_prevent_scene_switch, 0x1); - mctx->genLabel("- ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("- ", 0); /* "- Map Tool Data" */ - mctx->genLabel("- マップツールデータ", 0, 0, NULL, 0xffff, 0xffff, 0x200 , 0x18); + mctx->genLabel("- マップツールデータ", 0); // "Corrective Sound Adjustment" - mctx->genSlider(" 正解音調整",&m_corrective_sound_adjustment, -200, 200, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider(" 正解音調整",&m_corrective_sound_adjustment, -200, 200); - mctx->genLabel("- ",0,0,NULL,0xffff,0xffff,0x200,0x18); + mctx->genLabel("- ",0); /* "- Event Data" */ - mctx->genLabel("- イベントデータ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("- イベントデータ", 0); // "Continuously prioritize" - mctx->genCheckBox("常駐優先", &m_prioritize_file, 1, 0, NULL, 0xffff , 0xffff, 0x200, 0x18); + mctx->genCheckBox("常駐優先", &m_prioritize_file, 0x1); /* "- Apply then Reset" */ - mctx->genLabel("- つけてから要リセット", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("- つけてから要リセット", 0); // "Skip enabled" - mctx->genCheckBox("スキップ有効", &m_enable_skip, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("スキップ有効", &m_enable_skip, 0x1); - mctx->genLabel("- ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("- ", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("- ", 0); + mctx->genLabel("- ", 0); // "Forced termination" - mctx->genButton("強制終了", BTN_FORCED_TERMINATION, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("強制終了", BTN_FORCED_TERMINATION); } void dEvM_HIO_c::listenPropertyEvent(const JORPropertyEvent* param_0) { @@ -233,16 +233,16 @@ void dEvM_play_HIO_c::genMessage(JORMContext* mctx) { dEvDtEvent_c* const list = dComIfGp_getPEvtManager()->getEventList(1); /* "Event Playback Test" */ - mctx->genLabel("イベントの再生テスト", LBL_EVENT_PLAYBACK_TESTING, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("イベントの再生テスト", LBL_EVENT_PLAYBACK_TESTING); // "Playback" - mctx->genButton("再生", BTN_PLAYBACK, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("再生", BTN_PLAYBACK); // "Stop" - mctx->genButton("停止", BTN_STOP, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("停止", BTN_STOP); // "Target event" - mctx->startComboBox("対象イベント", &mTargetEvent, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("対象イベント", &mTargetEvent); int i; if (!header) { @@ -284,10 +284,10 @@ dEvM_bit_HIO_c::dEvM_bit_HIO_c() { void dEvM_bit_HIO_c::genMessage(JORMContext* mctx) { /* "----Event Save Bit---" */ - mctx->genLabel("----イベント セーブビット---", LBL_EVENT_SAVE_BIT, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("----イベント セーブビット---", LBL_EVENT_SAVE_BIT); // "Update" - mctx->genButton("更新", BTN_UPDATE, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("更新", BTN_UPDATE); int i = 0; u32 labelPosY = 0; @@ -300,7 +300,7 @@ void dEvM_bit_HIO_c::genMessage(JORMContext* mctx) { mFlagTables->mBitTable[i].mIsSet = dComIfGs_isTmpBit(mFlagTables->mBitTable[i].mFlagValue); mctx->genCheckBox(mFlagTables->mBitTable[i].mFlagName, &mFlagTables->mBitTable[i].mIsSet, 1, 0, NULL, 0xffff, 0xffff, 0xfa, 0x18); - mctx->genLabel(mFlagTables->mBitTable[i].mFlagDescription, i + (1 << 31) + (1 << 1), 0, NULL, 0x100, labelPosY * 25 + 50, 0x200, 0x18); + mctx->genLabel(mFlagTables->mBitTable[i].mFlagDescription, i + (1 << 31) + (1 << 1), 0, NULL, 0x100, labelPosY * 25 + 50); labelPosY++; } @@ -362,10 +362,10 @@ dEvM_reg_HIO_c::dEvM_reg_HIO_c() { void dEvM_reg_HIO_c::genMessage(JORMContext* mctx) { /* "----Event Save Register---" */ - mctx->genLabel("----イベント セーブレジスター---", LBL_EVENT_SAVE_REGISTER, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("----イベント セーブレジスター---", LBL_EVENT_SAVE_REGISTER); // "Update" - mctx->genButton("更新", BTN_UPDATE, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("更新", BTN_UPDATE); int i = 0; u8 flagVal; @@ -376,9 +376,9 @@ void dEvM_reg_HIO_c::genMessage(JORMContext* mctx) { else mFlagTables->mRegTable[i].mIsSet = dComIfGs_getTmpReg(mFlagTables->mRegTable[i].mFlagValue); - mctx->genLabel(mFlagTables->mRegTable[i].mFlagDescription, 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel(mFlagTables->mRegTable[i].mFlagDescription, 0x80000001); flagVal = mFlagTables->mRegTable[i].mFlagValue; - mctx->genSlider(mFlagTables->mRegTable[i].mFlagName, &mFlagTables->mRegTable[i].mIsSet, 0, flagVal, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider(mFlagTables->mRegTable[i].mFlagName, &mFlagTables->mRegTable[i].mIsSet, 0, flagVal); } } } diff --git a/src/d/d_file_sel_info.cpp b/src/d/d_file_sel_info.cpp index cec56a424e..f869a08c61 100644 --- a/src/d/d_file_sel_info.cpp +++ b/src/d/d_file_sel_info.cpp @@ -170,7 +170,7 @@ void dFile_info_c::setSaveDate(dSv_save_c* i_savedata) { sprintf(mSaveDate, "%d.%02d.%02d %02d:%02d", time.year, time.mon + 1, time.mday, time.hour, time.min); #elif VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_ENGLISH) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_ENGLISH) { sprintf(mSaveDate, "%02d/%02d/%d %02d:%02d", time.mon + 1, time.mday, time.year, time.hour, time.min); } else { diff --git a/src/d/d_file_select.cpp b/src/d/d_file_select.cpp index 93a60c3661..865dd109fc 100644 --- a/src/d/d_file_select.cpp +++ b/src/d/d_file_select.cpp @@ -84,26 +84,26 @@ dFs_HIO_c::dFs_HIO_c() { #if DEBUG void dFs_HIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("\n*****タイトルメッセージチェック*****\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("ON", &title_mesg_check, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("\n*****タイトルメッセージチェック*****\n", 0); + mctx->genCheckBox("ON", &title_mesg_check, 0x1); - mctx->genLabel("\n*****エラーメッセージチェック*****\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("ON", &error_mesg_check, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("\n*****エラーメッセージチェック*****\n", 0); + mctx->genCheckBox("ON", &error_mesg_check, 0x1); - mctx->genLabel("\n*****出現 表示調整*****\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("表示待ちフレーム", &appear_display_wait_frames, 0, 120, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("カード待ちフレーム", &card_wait_frames, 0, 120, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("本エフェクト出現フレーム", &base_effect_appear_frames, 0, 120, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字切り替えフレーム", &char_switch_frames, 0, 120, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("選択アイコン", &select_icon_appear_frames, 0, 120, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("選択枠", &select_box_appear_frames, 0, 120, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("\n*****出現 表示調整*****\n", 0); + mctx->genSlider("表示待ちフレーム", &appear_display_wait_frames, 0, 120); + mctx->genSlider("カード待ちフレーム", &card_wait_frames, 0, 120); + mctx->genSlider("本エフェクト出現フレーム", &base_effect_appear_frames, 0, 120); + mctx->genSlider("文字切り替えフレーム", &char_switch_frames, 0, 120); + mctx->genSlider("選択アイコン", &select_icon_appear_frames, 0, 120); + mctx->genSlider("選択枠", &select_box_appear_frames, 0, 120); - mctx->genLabel("\nコピー、消去エフェクト出現、消去\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("フレーム数", ©_erase_frames, 0, 120, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("\nコピー、消去エフェクト出現、消去\n", 0); + mctx->genSlider("フレーム数", ©_erase_frames, 0, 120); - mctx->genLabel("\n***** 鏡、仮面表示テスト *****\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("ON", &mask_mirror_test_display, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->startComboBox("仮面", &test_mask_display, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0x1a); + mctx->genLabel("\n***** 鏡、仮面表示テスト *****\n", 0); + mctx->genCheckBox("ON", &mask_mirror_test_display, 0x1); + mctx->startComboBox("仮面", &test_mask_display); mctx->genComboBoxItem("0", 0); mctx->genComboBoxItem("1", 1); mctx->genComboBoxItem("2", 2); @@ -111,7 +111,7 @@ void dFs_HIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("4", 4); mctx->endComboBox(); - mctx->startComboBox("鏡", &test_mirror_display, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0x1a); + mctx->startComboBox("鏡", &test_mirror_display); mctx->genComboBoxItem("0", 0); mctx->genComboBoxItem("1", 1); mctx->genComboBoxItem("2", 2); @@ -119,10 +119,10 @@ void dFs_HIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("4", 4); mctx->endComboBox(); - mctx->genLabel("\n*****テスト調整*****\n", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("フレーム1", &test_frame_counts[0], 1.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("フレーム2", &test_frame_counts[1], 1.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("フレーム3", &test_frame_counts[2], 1.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("\n*****テスト調整*****\n", 0); + mctx->genSlider("フレーム1", &test_frame_counts[0], 1.0f, 5.0f); + mctx->genSlider("フレーム2", &test_frame_counts[1], 1.0f, 5.0f); + mctx->genSlider("フレーム3", &test_frame_counts[2], 1.0f, 5.0f); } #endif diff --git a/src/d/d_jcam_editor.cpp b/src/d/d_jcam_editor.cpp new file mode 100644 index 0000000000..4700fdbe10 --- /dev/null +++ b/src/d/d_jcam_editor.cpp @@ -0,0 +1,89 @@ +#include "d/d_jcam_editor.h" +#include "m_Do/m_Do_hostIO.h" +#include "m_Do/m_Do_ext.h" + +dJcame_c* dJcame_c::m_myObj; + +dJcame_c::dJcame_c(const JStage::TSystem* i_system, f32 param_1, JUTGamePad& i_pad) { + mOrthoGraph = new J2DOrthoGraph(0.0f, 0.0f, 608.0f, 448.0f, -1.0f, 1.0f); + mFont = new JUTResFont((ResFONT*)JUTResFONT_Ascfont_fix12, NULL); + + mHeap = JKRExpHeap::create(0x100000, JKRHeap::getRootHeap2(), false); + JUT_ASSERT(54, mHeap != NULL); + + mControl = new JStudioCameraEditor::TControl(); + mHioId = mDoHIO_createChild("JStudioCameraEditor", mControl); + JUT_ASSERT(57, mControl != NULL); + + i_pad.setButtonRepeat((PAD_BUTTON_A | PAD_BUTTON_UP | PAD_BUTTON_DOWN | PAD_BUTTON_LEFT | PAD_BUTTON_RIGHT), 30, 5); + mControl->interface_setPad(&i_pad); + mControl->show_setRender(mOrthoGraph, mFont); + mControl->jstudio_setSecondPerFrame(param_1); + + mAdaptor = NULL; + mSystem = i_system; + mIsAdaptorSet = false; + + m_myObj = this; +} + +dJcame_c::~dJcame_c() { + if (mAdaptor != NULL) { + delete mAdaptor; + } + + mControl->jstudio_setAdaptor(NULL); + mDoHIO_deleteChild(mHioId); + + delete mControl; + mHeap->destroy(); + delete mFont; + delete mOrthoGraph; + + m_myObj = NULL; +} + +void dJcame_c::create(const JStage::TSystem* i_system, f32 param_1, JUTGamePad& i_pad) { + JUT_ASSERT(109, m_myObj == NULL); + new dJcame_c(i_system, param_1, i_pad); + JUT_ASSERT(111, m_myObj != NULL); +} + +void dJcame_c::remove() { + JUT_ASSERT(126, m_myObj != NULL); + delete m_myObj; +} + +void dJcame_c::update() { + if (!mIsAdaptorSet) { + if (mAdaptor == NULL) { + JStage::TObject* object; + int rt = mSystem->JSGFindObject(&object, "EditCam", JStage::OBJECT_CAMERA); + if (object == NULL) { + return; + } + + mAdaptor = new JStudio_JStage::TAdaptor_camera(mSystem, (JStage::TCamera*)object); + JUT_ASSERT(155, mAdaptor != NULL); + + mControl->jstudio_setAdaptor(mAdaptor); + mIsAdaptorSet = true; + } + } else if (isEnabled()) { + JKRHeap* heap = mDoExt_setCurrentHeap(mHeap); + mControl->update(); + mDoExt_setCurrentHeap(heap); + } +} + +void dJcame_c::show3D(Mtx i_mtx) { + if (mIsAdaptorSet) { + mControl->show3D(i_mtx); + } +} + +void dJcame_c::show2D() { + if (mIsAdaptorSet) { + mControl->show2D(); + } +} diff --git a/src/d/d_jpreviewer.cpp b/src/d/d_jpreviewer.cpp new file mode 100644 index 0000000000..5321d02f89 --- /dev/null +++ b/src/d/d_jpreviewer.cpp @@ -0,0 +1,85 @@ +#include "d/dolzel.h" // IWYU pragma: keep + +#include "d/d_jpreviewer.h" +#include "JSystem/JStudio/JStudio/jstudio-control.h" +#include "JSystem/J2DGraph/J2DOrthoGraph.h" +#include "JSystem/JUtility/JUTResFont.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JKernel/JKRExpHeap.h" +#include "JSystem/JHostIO/JORServer.h" + +class tParse_ : public JStudio::TParse { +public: + tParse_() : JStudio::TParse(NULL) {} + + bool parseBlock_object(const JStudio::stb::data::TParse_TBlock_object& param_1, u32 param_2) { + u32 type = param_1.get_type(); + switch(type) { + case 'JMSG': + case -1: { + char acStack_20[10]; + JStudio::stb::data::toString_block(acStack_20, type); + + const void* id = param_1.get_ID(); + // Ignoring demo object: (%s) %s\n + OS_REPORT("デモオブジェクト無視 : (%s) %s\n", acStack_20, id); + return 1; + } + } + + return JStudio::stb::TParse::parseBlock_object(param_1, param_2); + } +}; + +dJprev_c::dJprev_c(JStudio::TControl* param_1, const JUTGamePad& param_2) { + mOrthoGraph = new J2DOrthoGraph(0.0f, 0.0f, 640.0f, 480.0f, -1.0f, 1.0f); + JUT_ASSERT(72, mOrthoGraph != NULL) + mFont = new JUTResFont((ResFONT*)JUTResFONT_Ascfont_fix12, NULL); + JUT_ASSERT(74, mFont != NULL) + m_parse = new tParse_(); + JUT_ASSERT(76, m_parse != NULL) + mHeap = JKRExpHeap::create(0x100000, JKRHeap::getRootHeap2(), NULL); + JUT_ASSERT(82, mHeap != NULL) + mControl = new dJprevCtrl_c(); + JUT_ASSERT(86, mControl != NULL) + mHIOId = mDoHIO_createChild("JStudioPreviewer", mControl); + mControl->interface_setPad(¶m_2); + mControl->show_setRender(mOrthoGraph, mFont); + mControl->jstudio_setControl(param_1); + mControl->jstudio_setParse(m_parse); + JOR_ENABLEEVENTCALLBACKLIST(1); + m_myObj = this; +} + +dJprev_c::~dJprev_c() { + mDoHIO_deleteChild(mHIOId); + delete mControl; + mHeap->destroy(); + delete m_parse; + delete mFont; + delete mOrthoGraph; + m_myObj = NULL; +} + +void dJprev_c::create(JStudio::TControl* pControl, const JUTGamePad& pad) { + JUT_ASSERT(130, m_myObj == NULL); + new dJprev_c(pControl, pad); + JUT_ASSERT(132, m_myObj != NULL); +} + +void dJprev_c::remove() { + JUT_ASSERT(147, m_myObj != NULL); + delete m_myObj; +} + +void dJprev_c::update() { + mControl->update(); +} + +void dJprev_c::show3D(Mtx mtx) { + mControl->show3D(mtx); +} + +void dJprev_c::show2D() { + mControl->show2D(); +} diff --git a/src/d/d_kankyo.cpp b/src/d/d_kankyo.cpp index 54752a1bbf..429a8bd5ae 100644 --- a/src/d/d_kankyo.cpp +++ b/src/d/d_kankyo.cpp @@ -4880,35 +4880,26 @@ dKankyo_lightHIO_c::dKankyo_lightHIO_c() { } void dKankyo_lightHIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("「カラーパレット&ライト位置情報の設定」", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->startComboBox("■ HOSTIO設定", &m_HOSTIO_setting, 0, NULL, 0xFFFF, 0xFFFF, 0x100, - 0x1a); + mctx->genLabel("「カラーパレット&ライト位置情報の設定」", 0x80000001); + mctx->startComboBox("■ HOSTIO設定", &m_HOSTIO_setting); mctx->genComboBoxItem("未使用", 0); mctx->genComboBoxItem("HOSTIO設定!", 1); mctx->endComboBox(); - mctx->genLabel("HOSTIO設定にすると、ゲーム内の現在データが入ります!", 0x80000001, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("これをしないとカラー変更が利きません!", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + mctx->genLabel("HOSTIO設定にすると、ゲーム内の現在データが入ります!", 0x80000001); + mctx->genLabel("これをしないとカラー変更が利きません!", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // ● Adjustment of kantera, wolf lights, and underwater lights. - mctx->genLabel("●カンテラ・狼ライト・水中ライトの調整", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("調整開始", &g_kankyoHIO.navy.use_debug, 1, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + mctx->genLabel("●カンテラ・狼ライト・水中ライトの調整", 0x80000001); + mctx->genCheckBox("調整開始", &g_kankyoHIO.navy.use_debug, 0x1); mctx->genSlider("地形のみ高さ補正", &g_kankyoHIO.navy.terrain_height_crr, -5000.0f, - 5000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 5000.0f); mctx->genSlider("影響力 倍率", &g_kankyoHIO.navy.influence_multiplier, 0.0f, - 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 100.0f); mctx->genSlider("cutoff 倍率", &g_kankyoHIO.navy.cutoff_multiplier, 0.01f, - 10.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("● 部屋ライトタイプのSmLLL切り替え(調整用)", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->startComboBox("選択", &g_kankyoHIO.navy.room_light_type, 0, NULL, 0xFFFF, - 0xFFFF, 0x100, 0x1a); + 10.0f); + mctx->genLabel("● 部屋ライトタイプのSmLLL切り替え(調整用)", 0x80000001); + mctx->startComboBox("選択", &g_kankyoHIO.navy.room_light_type); mctx->genComboBoxItem("ゲームまかせ", 0); mctx->genComboBoxItem("( S )", 1); mctx->genComboBoxItem("( M )", 2); @@ -4916,27 +4907,19 @@ void dKankyo_lightHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("(LL)", 4); mctx->endComboBox(); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("● ポリゴンコードによる設定(ファイル出力無し)", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("● ポリゴンコードによる設定(ファイル出力無し)", 0x80000001); mctx->genLabel("ここで取り決めた数値を該当のポリゴンコードのカラーに設定してください", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("「アクタへの生ライトの影響率」", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genSlider("影響率(0%-200%)", &g_env_light.mActorLightEffect, 0, 200, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genLabel("「アクタへの生ライトの影響率」", 0x80000001); + mctx->genSlider("影響率(0%-200%)", &g_env_light.mActorLightEffect, 0, 200); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); //● TEV_TYPE_DOOR attribute set to the actor's argument (no file output) - mctx->genLabel("● TEV_TYPE_DOOR属性アクタの引数へ設定する(ファイル出力無し)", 0x80000001, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("「ドアなど引数へ設定する物への生ライトの影響率」", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->startComboBox("選択", &g_kankyoHIO.navy.door_light_influence_ratio, 0, NULL, - 0xFFFF, 0xFFFF, 0x100, 0x1a); + mctx->genLabel("● TEV_TYPE_DOOR属性アクタの引数へ設定する(ファイル出力無し)", 0x80000001); + mctx->genLabel("「ドアなど引数へ設定する物への生ライトの影響率」", 0x80000001); + mctx->startComboBox("選択", &g_kankyoHIO.navy.door_light_influence_ratio); mctx->genComboBoxItem("ゲームまかせ", 0xff); mctx->genComboBoxItem("0-20%", 0); mctx->genComboBoxItem("1-30%", 1); @@ -4948,41 +4931,28 @@ void dKankyo_lightHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("7-120%", 7); mctx->genComboBoxItem("↓で新設", 0x99); mctx->endComboBox(); - mctx->genLabel("新たな%を試したい場合はコチラ、プログラム対応必要です。ささきまで", 0x80000001, - 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("新たな%を試したい場合はコチラ、プログラム対応必要です。ささきまで", 0x80000001); mctx->genSlider("影響率(0%-200%)", &g_kankyoHIO.navy.unk_light_influence_ratio, 0, - 200, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 200); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("● カラーパレットごとに入っている設定値", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("● カラーパレットごとに入っている設定値", 0x80000001); mctx->genSlider("地形ライト影響率 ", &g_env_light.bg_light_influence, 0.0f, - 2.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("雲影の濃さ ", &g_env_light.mFogDensity, 0, 0xff, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); + 2.0f); + mctx->genSlider("雲影の濃さ ", &g_env_light.mFogDensity, 0, 0xff); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("●草ライト影響率 「部屋情報」にてセット", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("調整開始", &g_kankyoHIO.navy.grass_light_debug, 1, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("影響率 ", &g_kankyoHIO.navy.grass_light_influence_ratio, 0, 200, - 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("● 草Amb 草を配置時に引数にセット", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genCheckBox("調整開始", &g_kankyoHIO.navy.grass_adjust_ON, 1, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("引数1 r", &g_kankyoHIO.navy.grass_ambcol.r, 0, 30, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("引数2 g", &g_kankyoHIO.navy.grass_ambcol.g, 0, 30, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("引数3 b", &g_kankyoHIO.navy.grass_ambcol.b, 0, 30, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genLabel("●草ライト影響率 「部屋情報」にてセット", 0x80000001); + mctx->genCheckBox("調整開始", &g_kankyoHIO.navy.grass_light_debug, 0x1); + mctx->genSlider("影響率 ", &g_kankyoHIO.navy.grass_light_influence_ratio, 0, 200); + mctx->genLabel("● 草Amb 草を配置時に引数にセット", 0x80000001); + mctx->genCheckBox("調整開始", &g_kankyoHIO.navy.grass_adjust_ON, 0x1); + mctx->genSlider("引数1 r", &g_kankyoHIO.navy.grass_ambcol.r, 0, 30); + mctx->genSlider("引数2 g", &g_kankyoHIO.navy.grass_ambcol.g, 0, 30); + mctx->genSlider("引数3 b", &g_kankyoHIO.navy.grass_ambcol.b, 0, 30); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->startComboBox("■飽和パターン", &g_kankyoHIO.bloom.m_saturationPattern, 0, - NULL, 0xFFFF, 0xFFFF, 0x100, 0x1a); + mctx->genLabel("", 0x80000001); + mctx->startComboBox("■飽和パターン", &g_kankyoHIO.bloom.m_saturationPattern); mctx->genComboBoxItem("使用しない", 0); mctx->genComboBoxItem("1 トワイライト(く)", 1); mctx->genComboBoxItem("2 トワイライト_弱(く)", 2); @@ -5020,102 +4990,93 @@ void dKankyo_lightHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("45 デモ:溶岩W", 45); mctx->endComboBox(); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("● CSV情報のファイル書き出し", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("(カラーパレット情報のファイル書き出し)", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("パレットWRITE", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("(生ライト位置情報リストファイル書き出し)", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("位置情報WRITE", 0x40000003, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("● CSV情報のファイル書き出し", 0x80000001); + mctx->genLabel("(カラーパレット情報のファイル書き出し)", 0x80000001); + mctx->genButton("パレットWRITE", 0x40000002); + mctx->genLabel("", 0x80000001); + mctx->genLabel("(生ライト位置情報リストファイル書き出し)", 0x80000001); + mctx->genButton("位置情報WRITE", 0x40000003); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("● CSV情報のファイル読み込み(確認用)", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genLabel("(カラーパレット情報のファイル読み込み)", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("FILEREAD", 0x40000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("(生ライト位置情報リストファイル読み込み)", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("位置情報READ", 0x41000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("● CSV情報のファイル読み込み(確認用)", 0x80000001); + mctx->genLabel("(カラーパレット情報のファイル読み込み)", 0x80000001); + mctx->genButton("FILEREAD", 0x40000001); + mctx->genLabel("", 0x80000001); + mctx->genLabel("(生ライト位置情報リストファイル読み込み)", 0x80000001); + mctx->genButton("位置情報READ", 0x41000001); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("● アンビエント", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("● アンビエント", 0x80000001); mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("(アクタ)", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("■ ACTOR_Amb R", &g_env_light.actor_amb_col.r, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" G", &g_env_light.actor_amb_col.g, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" B", &g_env_light.actor_amb_col.b, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 +100", 0x40000010, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 10", 0x40000011, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 1", 0x40000012, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 1", 0x40000013, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 10", 0x40000014, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 -100", 0x40000015, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("(アクタ)", 0x80000001); + mctx->genSlider("■ ACTOR_Amb R", &g_env_light.actor_amb_col.r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.actor_amb_col.g, 0, 0xff); + mctx->genSlider(" B", &g_env_light.actor_amb_col.b, 0, 0xff); + mctx->genButton("RGB同時加算 +100", 0x40000010); + mctx->genButton("RGB同時加算 + 10", 0x40000011); + mctx->genButton("RGB同時加算 + 1", 0x40000012); + mctx->genButton("RGB同時加算 - 1", 0x40000013); + mctx->genButton("RGB同時加算 - 10", 0x40000014); + mctx->genButton("RGB同時加算 -100", 0x40000015); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("(地形)", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("■ BG0_Amb R", &g_env_light.bg_amb_col[0].r, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" G", &g_env_light.bg_amb_col[0].g, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("    B", &g_env_light.bg_amb_col[0].b, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 +100", 0x40000016, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 10", 0x40000017, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 1", 0x40000018, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 1", 0x40000019, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 10", 0x4000001a, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 -100", 0x4000001b, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genLabel("(地形)", 0x80000001); + mctx->genSlider("■ BG0_Amb R", &g_env_light.bg_amb_col[0].r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.bg_amb_col[0].g, 0, 0xff); + mctx->genSlider("    B", &g_env_light.bg_amb_col[0].b, 0, 0xff); + mctx->genButton("RGB同時加算 +100", 0x40000016); + mctx->genButton("RGB同時加算 + 10", 0x40000017); + mctx->genButton("RGB同時加算 + 1", 0x40000018); + mctx->genButton("RGB同時加算 - 1", 0x40000019); + mctx->genButton("RGB同時加算 - 10", 0x4000001a); + mctx->genButton("RGB同時加算 -100", 0x4000001b); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("■ BG1_Amb R", &g_env_light.bg_amb_col[1].r, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("    G", &g_env_light.bg_amb_col[1].g, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("    B", &g_env_light.bg_amb_col[1].b, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 +100", 0x4000001c, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 10", 0x4000001d, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 1", 0x4000001e, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 1", 0x4000001f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 10", 0x40000020, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 -100", 0x40000021, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("水面α A", &g_env_light.bg_amb_col[1].a, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("補佐α A2", &g_env_light.bg_amb_col[2].a, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genSlider("■ BG1_Amb R", &g_env_light.bg_amb_col[1].r, 0, 0xff); + mctx->genSlider("    G", &g_env_light.bg_amb_col[1].g, 0, 0xff); + mctx->genSlider("    B", &g_env_light.bg_amb_col[1].b, 0, 0xff); + mctx->genButton("RGB同時加算 +100", 0x4000001c); + mctx->genButton("RGB同時加算 + 10", 0x4000001d); + mctx->genButton("RGB同時加算 + 1", 0x4000001e); + mctx->genButton("RGB同時加算 - 1", 0x4000001f); + mctx->genButton("RGB同時加算 - 10", 0x40000020); + mctx->genButton("RGB同時加算 -100", 0x40000021); + mctx->genSlider("水面α A", &g_env_light.bg_amb_col[1].a, 0, 0xff); + mctx->genSlider("補佐α A2", &g_env_light.bg_amb_col[2].a, 0, 0xff); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("■ BG2_Amb R", &g_env_light.bg_amb_col[2].r, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("    G", &g_env_light.bg_amb_col[2].g, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("    B", &g_env_light.bg_amb_col[2].b, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 +100", 0x40000022, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 10", 0x40000023, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 1", 0x40000024, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 1", 0x40000025, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 10", 0x40000026, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 -100", 0x40000027, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genSlider("■ BG2_Amb R", &g_env_light.bg_amb_col[2].r, 0, 0xff); + mctx->genSlider("    G", &g_env_light.bg_amb_col[2].g, 0, 0xff); + mctx->genSlider("    B", &g_env_light.bg_amb_col[2].b, 0, 0xff); + mctx->genButton("RGB同時加算 +100", 0x40000022); + mctx->genButton("RGB同時加算 + 10", 0x40000023); + mctx->genButton("RGB同時加算 + 1", 0x40000024); + mctx->genButton("RGB同時加算 - 1", 0x40000025); + mctx->genButton("RGB同時加算 - 10", 0x40000026); + mctx->genButton("RGB同時加算 -100", 0x40000027); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("■ BG3_Amb R", &g_env_light.bg_amb_col[3].r, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("    G", &g_env_light.bg_amb_col[3].g, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("    B", &g_env_light.bg_amb_col[3].b, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 +100", 0x40000028, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 10", 0x40000029, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 1", 0x4000002a, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 1", 0x4000002b, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 10", 0x4000002c, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 -100", 0x4000002d, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("ウソFog A", &g_env_light.bg_amb_col[3].a, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genSlider("■ BG3_Amb R", &g_env_light.bg_amb_col[3].r, 0, 0xff); + mctx->genSlider("    G", &g_env_light.bg_amb_col[3].g, 0, 0xff); + mctx->genSlider("    B", &g_env_light.bg_amb_col[3].b, 0, 0xff); + mctx->genButton("RGB同時加算 +100", 0x40000028); + mctx->genButton("RGB同時加算 + 10", 0x40000029); + mctx->genButton("RGB同時加算 + 1", 0x4000002a); + mctx->genButton("RGB同時加算 - 1", 0x4000002b); + mctx->genButton("RGB同時加算 - 10", 0x4000002c); + mctx->genButton("RGB同時加算 -100", 0x4000002d); + mctx->genSlider("ウソFog A", &g_env_light.bg_amb_col[3].a, 0, 0xff); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("● フォグ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("● フォグ", 0x80000001); mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->startComboBox("fog type", &m_fogtype, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0x1a); + 0x80000001); + mctx->startComboBox("fog type", &m_fogtype); mctx->genComboBoxItem("STAN-BY", 2); mctx->genComboBoxItem("GX_FOG_NONE", 0); mctx->genComboBoxItem("GX_FOG_LIN", 2); @@ -5124,33 +5085,28 @@ void dKankyo_lightHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("GX_FOG_REVEXP", 6); mctx->genComboBoxItem("GX_FOG_REVEXP2", 7); mctx->endComboBox(); - mctx->genSlider("■ FOG R", &g_env_light.fog_col.r, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" G", &g_env_light.fog_col.g, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" B", &g_env_light.fog_col.b, 0, 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 +100", 0x4000002e, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 10", 0x4000002f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 + 1", 0x40000030, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 1", 0x40000031, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 - 10", 0x40000032, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RGB同時加算 -100", 0x40000033, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genSlider("■ FOG R", &g_env_light.fog_col.r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.fog_col.g, 0, 0xff); + mctx->genSlider(" B", &g_env_light.fog_col.b, 0, 0xff); + mctx->genButton("RGB同時加算 +100", 0x4000002e); + mctx->genButton("RGB同時加算 + 10", 0x4000002f); + mctx->genButton("RGB同時加算 + 1", 0x40000030); + mctx->genButton("RGB同時加算 - 1", 0x40000031); + mctx->genButton("RGB同時加算 - 10", 0x40000032); + mctx->genButton("RGB同時加算 -100", 0x40000033); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" near", &g_env_light.mFogNear, -2500000.0f, 2500000.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" far", &g_env_light.mFogFar, -2500000.0f, 2500000.0f, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genSlider(" near", &g_env_light.mFogNear, -2500000.0f, 2500000.0f); + mctx->genSlider(" far", &g_env_light.mFogFar, -2500000.0f, 2500000.0f); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("● 生ライト", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("● 生ライト", 0x80000001); mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genCheckBox("デバッグ球の表示", - &g_kankyoHIO.dungeonLight.displayDebugSphere, 1, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->startComboBox("■ 使用ライト", &g_kankyoHIO.dungeonLight.usedLights, 0, NULL, - 0xFFFF, 0xFFFF, 0x100, 0x1a); + &g_kankyoHIO.dungeonLight.displayDebugSphere, 0x1); + mctx->startComboBox("■ 使用ライト", &g_kankyoHIO.dungeonLight.usedLights); mctx->genComboBoxItem("なし", 0); mctx->genComboBoxItem("2", 1); mctx->genComboBoxItem("2 3", 2); @@ -5164,226 +5120,161 @@ void dKankyo_lightHIO_c::genMessage(JORMContext* mctx) { switch (i) { case 0: mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("(ライト0)―えせポイントライト", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("(ライト1)―エフェクトライト", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("(ライト0)―えせポイントライト", 0x80000001); + mctx->genLabel("(ライト1)―エフェクトライト", 0x80000001); mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genLabel("● ● ● ラ イ ト 2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("※太陽が存在する場合、設定は上書きされます", 0x80000001, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("プレイヤー位置にライト2を移動", 0x40000004, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genButton("カメラCTR 位置にライト2を移動", 0x400000a0, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("(((ライト2位置へワープ!!)))", 0x4000000a, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("※太陽が存在する場合、設定は上書きされます", 0x80000001); + mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001); + mctx->genButton("プレイヤー位置にライト2を移動", 0x40000004); + mctx->genButton("カメラCTR 位置にライト2を移動", 0x400000a0); + mctx->genLabel("", 0x80000001); + mctx->genButton("(((ライト2位置へワープ!!)))", 0x4000000a); + mctx->genLabel("", 0x80000001); break; case 1: mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genLabel("● ● ● ラ イ ト 3 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("※月が存在する場合、設定が上書きされます", 0x80000001, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("プレイヤー位置にライト3を移動!", 0x40000005, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genButton("カメラCTR 位置にライト3を移動", 0x400000a1, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("(((ライト3位置へワープ!!)))", 0x4000000b, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("※月が存在する場合、設定が上書きされます", 0x80000001); + mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001); + mctx->genButton("プレイヤー位置にライト3を移動!", 0x40000005); + mctx->genButton("カメラCTR 位置にライト3を移動", 0x400000a1); + mctx->genLabel("", 0x80000001); + mctx->genButton("(((ライト3位置へワープ!!)))", 0x4000000b); + mctx->genLabel("", 0x80000001); break; case 2: mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genLabel("● ● ● ラ イ ト 4 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("プレイヤー位置にライト4を移動!", 0x40000006, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genButton("カメラCTR 位置にライト4を移動", 0x400000a2, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("(((ライト4位置へワープ!!)))", 0x4000000c, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001); + mctx->genButton("プレイヤー位置にライト4を移動!", 0x40000006); + mctx->genButton("カメラCTR 位置にライト4を移動", 0x400000a2); + mctx->genLabel("", 0x80000001); + mctx->genButton("(((ライト4位置へワープ!!)))", 0x4000000c); + mctx->genLabel("", 0x80000001); break; case 3: mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genLabel("● ● ● ラ イ ト 5 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("プレイヤー位置にライト5を移動!", 0x40000007, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("カメラCTR 位置にライト5を移動", 0x400000a3, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("(((ライト5位置へワープ!!)))", 0x4000000d, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001); + mctx->genButton("プレイヤー位置にライト5を移動!", 0x40000007); + mctx->genButton("カメラCTR 位置にライト5を移動", 0x400000a3); + mctx->genLabel("", 0x80000001); + mctx->genButton("(((ライト5位置へワープ!!)))", 0x4000000d); + mctx->genLabel("", 0x80000001); break; case 4: mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genLabel("● ● ● ラ イ ト 6 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("プレイヤー位置にライト6を移動!", 0x40000008, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("カメラCTR 位置にライト6を移動", 0x400000a4, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("(((ライト6位置へワープ!!)))", 0x4000000e, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001); + mctx->genButton("プレイヤー位置にライト6を移動!", 0x40000008); + mctx->genButton("カメラCTR 位置にライト6を移動", 0x400000a4); + mctx->genLabel("", 0x80000001); + mctx->genButton("(((ライト6位置へワープ!!)))", 0x4000000e); + mctx->genLabel("", 0x80000001); break; case 5: mctx->genLabel("-----------------------------------------------------------------------------------------", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genLabel("● ● ● ラ イ ト 7 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("プレイヤー位置にライト7を移動!", 0x40000009, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("カメラCTR 位置にライト7を移動", 0x400000a5, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("(((ライト7位置へワープ!!)))", 0x4000000f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("↓↓↓ 誤押注意 ↓↓↓", 0x80000001); + mctx->genButton("プレイヤー位置にライト7を移動!", 0x40000009); + mctx->genButton("カメラCTR 位置にライト7を移動", 0x400000a5); + mctx->genLabel("", 0x80000001); + mctx->genButton("(((ライト7位置へワープ!!)))", 0x4000000f); + mctx->genLabel("", 0x80000001); break; } - mctx->genLabel("※色を変える場合はカラーパレットのファイル作成も忘れずに!", 0x80000001, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("※色を変える場合はカラーパレットのファイル作成も忘れずに!", 0x80000001); mctx->genSlider("色 R", &g_env_light.dungeonlight[i].mColor.r, 0, - 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0xff); mctx->genSlider(" G", &g_env_light.dungeonlight[i].mColor.g, 0, - 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0xff); mctx->genSlider(" B", &g_env_light.dungeonlight[i].mColor.b, 0, - 0xff, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0xff); switch (i) { case 0: - mctx->genButton("RGB同時加算 +100", 0x40000034, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("RGB同時加算 + 10", 0x40000035, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("RGB同時加算 + 1", 0x40000036, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("RGB同時加算 - 1", 0x40000037, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("RGB同時加算 - 10", 0x40000038, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genButton("RGB同時加算 -100", 0x40000039, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + mctx->genButton("RGB同時加算 +100", 0x40000034); + mctx->genButton("RGB同時加算 + 10", 0x40000035); + mctx->genButton("RGB同時加算 + 1", 0x40000036); + mctx->genButton("RGB同時加算 - 1", 0x40000037); + mctx->genButton("RGB同時加算 - 10", 0x40000038); + mctx->genButton("RGB同時加算 -100", 0x40000039); break; case 1: - mctx->genButton("RGB同時加算 +100", 0x4000003a, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 10", 0x4000003b, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 1", 0x4000003c, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 1", 0x4000003d, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 10", 0x4000003e, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 -100", 0x4000003f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + mctx->genButton("RGB同時加算 +100", 0x4000003a); + mctx->genButton("RGB同時加算 + 10", 0x4000003b); + mctx->genButton("RGB同時加算 + 1", 0x4000003c); + mctx->genButton("RGB同時加算 - 1", 0x4000003d); + mctx->genButton("RGB同時加算 - 10", 0x4000003e); + mctx->genButton("RGB同時加算 -100", 0x4000003f); break; case 2: - mctx->genButton("RGB同時加算 +100", 0x40000040, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 10", 0x40000041, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 1", 0x40000042, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 1", 0x40000043, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 10", 0x40000044, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 -100", 0x40000045, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + mctx->genButton("RGB同時加算 +100", 0x40000040); + mctx->genButton("RGB同時加算 + 10", 0x40000041); + mctx->genButton("RGB同時加算 + 1", 0x40000042); + mctx->genButton("RGB同時加算 - 1", 0x40000043); + mctx->genButton("RGB同時加算 - 10", 0x40000044); + mctx->genButton("RGB同時加算 -100", 0x40000045); break; case 3: - mctx->genButton("RGB同時加算 +100", 0x40000046, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 10", 0x40000047, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 1", 0x40000048, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 1", 0x40000049, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 10", 0x4000004a, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 -100", 0x4000004b, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + mctx->genButton("RGB同時加算 +100", 0x40000046); + mctx->genButton("RGB同時加算 + 10", 0x40000047); + mctx->genButton("RGB同時加算 + 1", 0x40000048); + mctx->genButton("RGB同時加算 - 1", 0x40000049); + mctx->genButton("RGB同時加算 - 10", 0x4000004a); + mctx->genButton("RGB同時加算 -100", 0x4000004b); break; case 4: - mctx->genButton("RGB同時加算 +100", 0x4000004c, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 10", 0x4000004d, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 1", 0x4000004e, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 1", 0x4000004f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 10", 0x40000050, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 -100", 0x40000051, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + mctx->genButton("RGB同時加算 +100", 0x4000004c); + mctx->genButton("RGB同時加算 + 10", 0x4000004d); + mctx->genButton("RGB同時加算 + 1", 0x4000004e); + mctx->genButton("RGB同時加算 - 1", 0x4000004f); + mctx->genButton("RGB同時加算 - 10", 0x40000050); + mctx->genButton("RGB同時加算 -100", 0x40000051); break; case 5: - mctx->genButton("RGB同時加算 +100", 0x40000052, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 10", 0x40000053, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 + 1", 0x40000054, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 1", 0x40000055, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 - 10", 0x40000056, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genButton("RGB同時加算 -100", 0x40000057, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); + mctx->genButton("RGB同時加算 +100", 0x40000052); + mctx->genButton("RGB同時加算 + 10", 0x40000053); + mctx->genButton("RGB同時加算 + 1", 0x40000054); + mctx->genButton("RGB同時加算 - 1", 0x40000055); + mctx->genButton("RGB同時加算 - 10", 0x40000056); + mctx->genButton("RGB同時加算 -100", 0x40000057); break; } - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); mctx->genSlider("位置X", &g_env_light.dungeonlight[i].mPosition.x, - -300000.0f, 300000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + -300000.0f, 300000.0f); mctx->genSlider(" Y", &g_env_light.dungeonlight[i].mPosition.y, - -300000.0f, 300000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + -300000.0f, 300000.0f); mctx->genSlider(" Z", &g_env_light.dungeonlight[i].mPosition.z, - -300000.0f, 300000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + -300000.0f, 300000.0f); mctx->genSlider("ref_distance", - &g_env_light.dungeonlight[i].mRefDistance, 0.01, 10000.0f, - 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + &g_env_light.dungeonlight[i].mRefDistance, 0.01, 10000.0f); mctx->startComboBox("距離減衰 ○推奨", - &g_env_light.dungeonlight[i].mDistAttenuation, 0, NULL, - 0xFFFF, 0xFFFF, 0x100, 0x1a); + &g_env_light.dungeonlight[i].mDistAttenuation); mctx->genComboBoxItem("※減衰なし [GX_DA_OFF]", 0); mctx->genComboBoxItem("おだやか [GX_DA_GENTLE]", 1); mctx->genComboBoxItem("中間 [GX_DA_MEDIUM]", 2); mctx->genComboBoxItem("○険しい [GX_DA_STEEP]", 3); mctx->endComboBox(); mctx->startComboBox("角度減衰 ○推奨", - &g_env_light.dungeonlight[i].mAngleAttenuation, 0, NULL, - 0xFFFF, 0xFFFF, 0x100, 0x1a); + &g_env_light.dungeonlight[i].mAngleAttenuation); mctx->genComboBoxItem("○ポイント [GX_SP_OFF]", 0); mctx->genComboBoxItem("※直角 [GX_SP_FLAT]", 1); mctx->genComboBoxItem("○COS曲線 [GX_SP_COS]", 2); @@ -5393,53 +5284,45 @@ void dKankyo_lightHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("リング状2[GX_SP_RING2]", 6); mctx->endComboBox(); mctx->genLabel("角度減衰をポイント以外に設定したらスポットライトなので以下も設定を!", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genSlider("カットオフ角度", - &g_env_light.dungeonlight[i].mCutoffAngle, 0.001, 90.0f, - 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + &g_env_light.dungeonlight[i].mCutoffAngle, 0.001, 90.0f); mctx->genSlider("X角度(紫軸)", &g_env_light.dungeonlight[i].mAngleX, - -360.0f, 360.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + -360.0f, 360.0f); mctx->genSlider("Y角度(緑軸)", &g_env_light.dungeonlight[i].mAngleY, - -360.0f, 360.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + -360.0f, 360.0f); + mctx->genLabel("", 0x80000001); } - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); mctx->genLabel("● ● ● えせライト地形反映特別版  ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genLabel("「地形反映えせライト」を配置した部屋で有効です。", 0x80000001, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genLabel("「地形反映えせライト」を配置した部屋で有効です。", 0x80000001); mctx->genLabel("調整した値をマップツールで「地形反映えせライト」のパラメータへ指定して下さい", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); mctx->genSlider("位置X", &g_kankyoHIO.light.m_BG_fakelight_pos.x, -300000.0f, - 300000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 300000.0f); mctx->genSlider(" Y", &g_kankyoHIO.light.m_BG_fakelight_pos.y, -300000.0f, - 300000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 300000.0f); mctx->genSlider(" Z", &g_kankyoHIO.light.m_BG_fakelight_pos.z, -300000.0f, - 300000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("Color R", &g_kankyoHIO.light.m_BG_fakelight_R, 0, 0xff, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" G", &g_kankyoHIO.light.m_BG_fakelight_G, 0, 0xff, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" B", &g_kankyoHIO.light.m_BG_fakelight_B, 0, 0xff, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("Power ", &g_kankyoHIO.light.m_BG_fakelight_power, 0.0f, 1000.0f, - 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 300000.0f); + mctx->genSlider("Color R", &g_kankyoHIO.light.m_BG_fakelight_R, 0, 0xff); + mctx->genSlider(" G", &g_kankyoHIO.light.m_BG_fakelight_G, 0, 0xff); + mctx->genSlider(" B", &g_kankyoHIO.light.m_BG_fakelight_B, 0, 0xff); + mctx->genSlider("Power ", &g_kankyoHIO.light.m_BG_fakelight_power, 0.0f, 1000.0f); - mctx->genLabel("", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("", 0x80000001); mctx->genLabel("=========================================================================================", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("カラー設定TV画面確認表示", &m_displayTVColorSettings, 1, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 0x80000001); + mctx->genCheckBox("カラー設定TV画面確認表示", &m_displayTVColorSettings, 0x1); mctx->genCheckBox("カラーパレットチェック画面表示", &m_displayColorPaletteCheckInfo, - 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 1); mctx->genCheckBox("カラーパレットチェック画面表示詳細", &m_displayColorPaletteCheckInfo, - 2, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + 2); mctx->genLabel("=========================================================================================", - 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->startComboBox("強制パレット指定", &m_forcedPalette, 0, NULL, 0xFFFF, 0xFFFF, 0x100, - 0x1a); + 0x80000001); + mctx->startComboBox("強制パレット指定", &m_forcedPalette); mctx->genComboBoxItem("しない", 0); mctx->genComboBoxItem("パレット0使用", 1); mctx->genComboBoxItem("パレット1使用", 2); @@ -5459,7 +5342,7 @@ void dKankyo_lightHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("パレット15使用", 16); mctx->endComboBox(); - mctx->genLabel("=========================================================================================", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("=========================================================================================", 0x80000001); } void dKankyo_lightHIO_c::dKankyo_lightHIOInfoUpDateF() { @@ -6208,21 +6091,16 @@ dKankyo_vrboxHIO_c::dKankyo_vrboxHIO_c() { void dKankyo_vrboxHIO_c::genMessage(JORMContext* mctx) { // "VR-BOX color setting TV screen confirmation display" - mctx->genCheckBox("VR-BOXカラー設定TV画面確認表示", &m_displayVrboxTVColorSettings, 1, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genCheckBox("VR-BOXカラー設定TV画面確認表示", &m_displayVrboxTVColorSettings, 0x1); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // “Set the elevation (horizon) *Entered in the room settings in the map tool” - mctx->genCheckBox("海抜(地平線)の設定 ※マップツールの部屋設定に入力", &field_0x14, 1, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("海抜(地平線)の設定 ※マップツールの部屋設定に入力", &field_0x14, 0x1); // "Height above sea level" - mctx->genSlider("海抜の高さ", &m_horizonHeight, -100000.0f, 100000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genSlider("海抜の高さ", &m_horizonHeight, -100000.0f, 100000.0f); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "VRBOX settings" - mctx->startComboBox("■VRBOX設定", &m_VrboxSetting, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("■VRBOX設定", &m_VrboxSetting); // "Do not" mctx->genComboBoxItem("しない", 0); // HOSTIO settings @@ -6230,23 +6108,19 @@ void dKankyo_vrboxHIO_c::genMessage(JORMContext* mctx) { mctx->endComboBox(); // "The moment you select the HOSTIO setting, the current data will be entered!" - mctx->genLabel("HOSTIO設定を選択した瞬間、現在データが入ります!", 0x80000001, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("HOSTIO設定を選択した瞬間、現在データが入ります!", 0x80000001); // "●Export VR-BOX information to a CSV file" - mctx->genLabel("●VR-BOX情報のCSVファイル書き出し", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genButton("FILE WRITE", 0x40000002, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("●VR-BOX情報のCSVファイル書き出し", 0x80000001); + mctx->genButton("FILE WRITE", 0x40000002); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("", 0x80000001); // "●Loading CSV file of VR-BOX information (for confirmation)" - mctx->genLabel("●VR-BOX情報のCSVファイル読み込み(確認用)", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genButton("FILE READ", 0x40000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("●VR-BOX情報のCSVファイル読み込み(確認用)", 0x80000001); + mctx->genButton("FILE READ", 0x40000001); - mctx->genLabel("------------------------------------------------------", 0x80000001, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("------------------------------------------------------", 0x80000001); // "Forced VRBOX specification" - mctx->startComboBox("強制VRBOX指定", &field_0x7, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("強制VRBOX指定", &field_0x7); // "Do not" mctx->genComboBoxItem("しない", 0); // "Using pattern 0" @@ -6283,170 +6157,142 @@ void dKankyo_vrboxHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("パターン15使用", 16); mctx->endComboBox(); - mctx->genLabel("------------------------------------------------------", 0x80000001, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("------------------------------------------------------", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "● Sky color" - mctx->genLabel("● 空の色", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 空の色", 0x80000001); // "Set fog color" - mctx->genButton("fog色をセット", 0x40000004, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("fog色をセット", 0x40000004); // "Color R" - mctx->genSlider("色 R", &g_env_light.vrbox_sky_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &g_env_light.vrbox_sky_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &g_env_light.vrbox_sky_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genSlider("色 R", &g_env_light.vrbox_sky_col.r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.vrbox_sky_col.g, 0, 0xff); + mctx->genSlider(" B", &g_env_light.vrbox_sky_col.b, 0, 0xff); // "RGB simultaneous addition +100" - mctx->genButton("RGB同時加算 +100", 0x40000005, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 +100", 0x40000005); // "RGB simultaneous addition + 10" - mctx->genButton("RGB同時加算 + 10", 0x40000006, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 10", 0x40000006); // "RGB simultaneous addition + 1" - mctx->genButton("RGB同時加算 + 1", 0x40000007, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 1", 0x40000007); // "RGB simultaneous addition - 1" - mctx->genButton("RGB同時加算 - 1", 0x40000008, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 1", 0x40000008); // "RGB simultaneous addition - 10" - mctx->genButton("RGB同時加算 - 10", 0x40000009, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 10", 0x40000009); // "RGB simultaneous addition -100" - mctx->genButton("RGB同時加算 -100", 0x4000000a, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 -100", 0x4000000a); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "● Upper cloud color" - mctx->genLabel("● 上雲カラー", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 上雲カラー", 0x80000001); // "Set fog color" - mctx->genButton("fog色をセット", 0x4000000b, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("fog色をセット", 0x4000000b); // "Color R" - mctx->genSlider("色 R", &g_env_light.vrbox_kumo_top_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider(" G", &g_env_light.vrbox_kumo_top_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider(" B", &g_env_light.vrbox_kumo_top_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genSlider("色 R", &g_env_light.vrbox_kumo_top_col.r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.vrbox_kumo_top_col.g, 0, 0xff); + mctx->genSlider(" B", &g_env_light.vrbox_kumo_top_col.b, 0, 0xff); // "RGB simultaneous addition +100" - mctx->genButton("RGB同時加算 +100", 0x4000000c, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 +100", 0x4000000c); // "RGB simultaneous addition + 10" - mctx->genButton("RGB同時加算 + 10", 0x4000000d, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 10", 0x4000000d); // "RGB simultaneous addition + 1" - mctx->genButton("RGB同時加算 + 1", 0x4000000e, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 1", 0x4000000e); // "RGB simultaneous addition - 1" - mctx->genButton("RGB同時加算 - 1", 0x4000000f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 1", 0x4000000f); // "RGB simultaneous addition - 10" - mctx->genButton("RGB同時加算 - 10", 0x40000010, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 10", 0x40000010); // "RGB simultaneous addition -100" - mctx->genButton("RGB同時加算 -100", 0x40000011, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 -100", 0x40000011); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "Lower cloud color" - mctx->genLabel("● 下雲カラー", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 下雲カラー", 0x80000001); // "Set fog color" - mctx->genButton("fog色をセット", 0x40000012, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("fog色をセット", 0x40000012); // "Color R" - mctx->genSlider("色 R", &g_env_light.vrbox_kumo_bottom_col.r, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &g_env_light.vrbox_kumo_bottom_col.g, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &g_env_light.vrbox_kumo_bottom_col.b, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genSlider("色 R", &g_env_light.vrbox_kumo_bottom_col.r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.vrbox_kumo_bottom_col.g, 0, 0xff); + mctx->genSlider(" B", &g_env_light.vrbox_kumo_bottom_col.b, 0, 0xff); // "RGB simultaneous addition +100" - mctx->genButton("RGB同時加算 +100", 0x40000013, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 +100", 0x40000013); // "RGB simultaneous addition + 10" - mctx->genButton("RGB同時加算 + 10", 0x40000014, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 10", 0x40000014); // "RGB simultaneous addition + 1" - mctx->genButton("RGB同時加算 + 1", 0x40000015, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 1", 0x40000015); // "RGB simultaneous addition - 1" - mctx->genButton("RGB同時加算 - 1", 0x40000016, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 1", 0x40000016); // "RGB simultaneous addition - 10" - mctx->genButton("RGB同時加算 - 10", 0x40000017, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 10", 0x40000017); // "RGB simultaneous addition -100" - mctx->genButton("RGB同時加算 -100", 0x40000018, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 -100", 0x40000018); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "● Lower cloud shadow color" - mctx->genLabel("● 下雲影カラー", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 下雲影カラー", 0x80000001); // "Set fog color" - mctx->genButton("fog色をセット", 0x40000019, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("fog色をセット", 0x40000019); // "Color R" - mctx->genSlider("色 R", &g_env_light.vrbox_kumo_shadow_col.r, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &g_env_light.vrbox_kumo_shadow_col.g, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &g_env_light.vrbox_kumo_shadow_col.b, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" α", &g_env_light.vrbox_kumo_top_col.a, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genSlider("色 R", &g_env_light.vrbox_kumo_shadow_col.r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.vrbox_kumo_shadow_col.g, 0, 0xff); + mctx->genSlider(" B", &g_env_light.vrbox_kumo_shadow_col.b, 0, 0xff); + mctx->genSlider(" α", &g_env_light.vrbox_kumo_top_col.a, 0, 0xff); // "RGB simultaneous addition +100" - mctx->genButton("RGB同時加算 +100", 0x4000001a, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 +100", 0x4000001a); // "RGB simultaneous addition + 10" - mctx->genButton("RGB同時加算 + 10", 0x4000001b, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 10", 0x4000001b); // "RGB simultaneous addition + 1" - mctx->genButton("RGB同時加算 + 1", 0x4000001c, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 1", 0x4000001c); // "RGB simultaneous addition - 1" - mctx->genButton("RGB同時加算 - 1", 0x4000001d, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 1", 0x4000001d); // "RGB simultaneous addition - 10" - mctx->genButton("RGB同時加算 - 10", 0x4000001e, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 10", 0x4000001e); // "RGB simultaneous addition -100" - mctx->genButton("RGB同時加算 -100", 0x4000001f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 -100", 0x4000001f); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "● Near kasumi" - mctx->genLabel("● 前かすみ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 前かすみ", 0x80000001); // "Set fog color" - mctx->genButton("fog色をセット", 0x40000020, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("fog色をセット", 0x40000020); // "Color R" - mctx->genSlider("色 R", &g_env_light.vrbox_kasumi_outer_col.r, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &g_env_light.vrbox_kasumi_outer_col.g, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &g_env_light.vrbox_kasumi_outer_col.b, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" α", &g_env_light.vrbox_kasumi_outer_col.a, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genSlider("色 R", &g_env_light.vrbox_kasumi_outer_col.r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.vrbox_kasumi_outer_col.g, 0, 0xff); + mctx->genSlider(" B", &g_env_light.vrbox_kasumi_outer_col.b, 0, 0xff); + mctx->genSlider(" α", &g_env_light.vrbox_kasumi_outer_col.a, 0, 0xff); // "RGB simultaneous addition +100" - mctx->genButton("RGB同時加算 +100", 0x40000021, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 +100", 0x40000021); // "RGB simultaneous addition + 10" - mctx->genButton("RGB同時加算 + 10", 0x40000022, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 10", 0x40000022); // "RGB simultaneous addition + 1" - mctx->genButton("RGB同時加算 + 1", 0x40000023, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 1", 0x40000023); // "RGB simultaneous addition - 1" - mctx->genButton("RGB同時加算 - 1", 0x40000024, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 1", 0x40000024); // "RGB simultaneous addition - 10" - mctx->genButton("RGB同時加算 - 10", 0x40000025, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 10", 0x40000025); // "RGB simultaneous addition -100" - mctx->genButton("RGB同時加算 -100", 0x40000026, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 -100", 0x40000026); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "● Inner kasumi" - mctx->genLabel("● 奥かすみ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 奥かすみ", 0x80000001); // "Set fog color" - mctx->genButton("fog色をセット", 0x40000027, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("fog色をセット", 0x40000027); // "Color R" - mctx->genSlider("色 R", &g_env_light.vrbox_kasumi_inner_col.r, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &g_env_light.vrbox_kasumi_inner_col.g, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &g_env_light.vrbox_kasumi_inner_col.b, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" α", &g_env_light.vrbox_kasumi_inner_col.a, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genSlider("色 R", &g_env_light.vrbox_kasumi_inner_col.r, 0, 0xff); + mctx->genSlider(" G", &g_env_light.vrbox_kasumi_inner_col.g, 0, 0xff); + mctx->genSlider(" B", &g_env_light.vrbox_kasumi_inner_col.b, 0, 0xff); + mctx->genSlider(" α", &g_env_light.vrbox_kasumi_inner_col.a, 0, 0xff); // "RGB simultaneous addition +100" - mctx->genButton("RGB同時加算 +100", 0x40000028, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 +100", 0x40000028); // "RGB simultaneous addition + 10" - mctx->genButton("RGB同時加算 + 10", 0x40000029, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 10", 0x40000029); // "RGB simultaneous addition + 1" - mctx->genButton("RGB同時加算 + 1", 0x4000002a, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 + 1", 0x4000002a); // "RGB simultaneous addition - 1" - mctx->genButton("RGB同時加算 - 1", 0x4000002b, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 1", 0x4000002b); // "RGB simultaneous addition - 10" - mctx->genButton("RGB同時加算 - 10", 0x4000002c, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 - 10", 0x4000002c); // "RGB simultaneous addition -100" - mctx->genButton("RGB同時加算 -100", 0x4000002d, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("RGB同時加算 -100", 0x4000002d); } void dKankyo_vrboxHIO_c::dKankyo_vrboxHIOInfoUpDateF() { @@ -6798,23 +6644,20 @@ void dKankyo_bloomHIO_c::listenPropertyEvent(const JORPropertyEvent* property) { void dKankyo_bloomHIO_c::genMessage(JORMContext* mctx) { int i; - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "Bloom settings" - mctx->genLabel(" 飽 和 加 算 設 定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel(" 飽 和 加 算 設 定", 0x80000001); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "Options that seem useful for adjustment" - mctx->genLabel("□調整用に便利そうな項目", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("□調整用に便利そうな項目", 0x80000001); // "Screen display" - mctx->genCheckBox("画面表示", &field_0x5, '\x01', 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("画面表示", &field_0x5, '\x01'); + mctx->genLabel("", 0x80000001); // "Time speed" - mctx->genSlider("■時刻速度", &g_env_light.time_change_rate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider("■時刻速度", &g_env_light.time_change_rate, 0.0f, 10.0f); + mctx->genLabel("", 0x80000001); // "Time change" - mctx->startComboBox("■時刻切替", &g_kankyoHIO.time_change, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("■時刻切替", &g_kankyoHIO.time_change); // "Normal time" mctx->genComboBoxItem("通常時間", 0); // "Fixed at midnight" @@ -6832,341 +6675,300 @@ void dKankyo_bloomHIO_c::genMessage(JORMContext* mctx) { // "Map settings ignored" mctx->genComboBoxItem("マップ設定無視経過", 7); mctx->endComboBox(); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); // "Bloom adjustment" - mctx->startComboBox("■飽和値調整を", &field_0x4, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("■飽和値調整を", &field_0x4); // "Do not" mctx->genComboBoxItem("しない", 0); // "Set with HOSTIO!" mctx->genComboBoxItem("HOSTIOで設定!", 1); mctx->endComboBox(); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("", 0x80000001); // "File output" - mctx->genButton("ファイル出力", 0x40000002, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genButton("ファイル出力", 0x40000002); // "If you make any changes, please send this file to Sasaki at SRD!" - mctx->genLabel("変更した場合はこのファイルをSRDささきまで!", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("変更した場合はこのファイルをSRDささきまで!", 0x80000001); // "Of course, it's okay to just tell me the values of the places you changed or added!" - mctx->genLabel("※もちろん、変更・追加した場所の数値のみ伝えてもらってもOKです!", 0x80000001, - 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("※もちろん、変更・追加した場所の数値のみ伝えてもらってもOKです!", 0x80000001); + mctx->genLabel("", 0x80000001); for (int i = 1; i < ARRAY_SIZE(bloom_info); i++) { - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); if (true) { switch (i) { case 1: // "○ 1 Twilight (ku)" - mctx->genLabel("○ 1 トワイライト(く)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 1 トワイライト(く)", 0x80000001); break; case 2: // "○ 2 Twilight_weak (ku)" - mctx->genLabel("○ 2 トワイライト_弱(く)", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("○ 2 トワイライト_弱(く)", 0x80000001); break; case 3: // "○ 3 Sense" - mctx->genLabel("○ 3 センス", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 3 センス", 0x80000001); break; case 4: // "○ 4 Field standard (morning 0)" - mctx->genLabel("○ 4 フィールド基準(朝0)", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("○ 4 フィールド基準(朝0)", 0x80000001); break; case 5: // "○ 5 Field standard (morning 1)" - mctx->genLabel("○ 5 フィールド基準(朝1)", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("○ 5 フィールド基準(朝1)", 0x80000001); break; case 6: // "○ 6 Field standard (noon)" - mctx->genLabel("○ 6 フィールド基準(昼)", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("○ 6 フィールド基準(昼)", 0x80000001); break; case 7: // "○ 7 Field standard (evening 0)" - mctx->genLabel("○ 7 フィールド基準(夕0)", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("○ 7 フィールド基準(夕0)", 0x80000001); break; case 8: // "○ 8 Field standard (evening 1)" - mctx->genLabel("○ 8 フィールド基準(夕1)", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("○ 8 フィールド基準(夕1)", 0x80000001); break; case 9: // "○ 9 Field standard (night)" - mctx->genLabel("○ 9 フィールド基準(夜)", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("○ 9 フィールド基準(夜)", 0x80000001); break; case 10: // "○ 10 Caravan fire" - mctx->genLabel("○ 10 キャラバン火事", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 10 キャラバン火事", 0x80000001); break; case 11: // "○ 11 LV8 Dark Palace" - mctx->genLabel("○ 11 LV8闇の宮殿", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 11 LV8闇の宮殿", 0x80000001); break; case 12: // "○ 12 demo28_03" - mctx->genLabel("○ 12 demo28_03", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 12 demo28_03", 0x80000001); break; case 13: // "○ 13 Insect glow" - mctx->genLabel("○ 13 虫が光る", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 13 虫が光る", 0x80000001); break; case 14: // "○ 14 Sea of Clouds (hero's chamber)" - mctx->genLabel("○ 14 雲海(勇者の間)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 14 雲海(勇者の間)", 0x80000001); break; case 15: // "○ 15 Zora's Domain waterfall TW" - mctx->genLabel("○ 15 ゾーラの里 滝TW", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 15 ゾーラの里 滝TW", 0x80000001); break; case 16: // "○ 16 Zora's Domain throne TW" - mctx->genLabel("○ 16 ゾーラの里 玉座TW", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 16 ゾーラの里 玉座TW", 0x80000001); break; case 17: // "○ 17 Pseudo-sense" - mctx->genLabel("○ 17 センスもどき", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 17 センスもどき", 0x80000001); + mctx->genLabel("", 0x80000001); break; case 18: // "○ 18 Switch between present and past" - mctx->genLabel("○ 18 現在過去切替", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 18 現在過去切替", 0x80000001); break; case 19: // "○ 19 Miyagi's sewer" (E3 demo?) - mctx->genLabel("○ 19 宮城さん下水道", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 19 宮城さん下水道", 0x80000001); break; case 0x14: // "○ 20 Flashback scene" - mctx->genLabel("○ 20 回想シーン", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 20 回想シーン", 0x80000001); break; case 0x15: // "○ 21 Twilight gate" - mctx->genLabel("○ 21 トワイライトゲート", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 21 トワイライトゲート", 0x80000001); break; case 0x16: // "○ 22 Underwater (standard)" - mctx->genLabel("○ 22 水中(基準)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 22 水中(基準)", 0x80000001); break; case 0x17: // "● 23 Vacant" - mctx->genLabel("● 23 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 23 空き", 0x80000001); break; case 0x18: // "○ 24 Vacant" - mctx->genLabel("● 24 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 24 空き", 0x80000001); + mctx->genLabel("", 0x80000001); break; case 0x19: // "○ 25 Dungeon standard_weak" - mctx->genLabel("○ 25 ダンジョン基準_弱", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 25 ダンジョン基準_弱", 0x80000001); break; case 0x1a: // "○ 26 Dungeon standard_strong" - mctx->genLabel("○ 26 ダンジョン基準_強", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 26 ダンジョン基準_強", 0x80000001); break; case 0x1b: // "○ 27 Lava (ku)" - mctx->genLabel("○ 27 溶岩(く)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 27 溶岩(く)", 0x80000001); break; case 0x1c: // "○ Other than Lava_Lv2 (ku)" - mctx->genLabel("○ 28 ダ溶岩以外_Lv2(く)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 28 ダ溶岩以外_Lv2(く)", 0x80000001); break; case 0x1d: // "○ 29 Past" - mctx->genLabel("○ 29 過去", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 29 過去", 0x80000001); break; case 0x1e: // "○ 30 City walls" - mctx->genLabel("○ 30 城壁", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 30 城壁", 0x80000001); break; case 0x1f: // "● 31 Vacant" - mctx->genLabel("● 31 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 31 空き", 0x80000001); break; case 0x20: // "● 32 Vacant" - mctx->genLabel("● 32 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 32 空き", 0x80000001); break; case 0x21: // "● 33 Vacant" - mctx->genLabel("● 33 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 33 空き", 0x80000001); break; case 0x22: // "● 34 Vacant" - mctx->genLabel("● 34 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 34 空き", 0x80000001); break; case 0x23: // "● 35 Vacant" - mctx->genLabel("● 35 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 35 空き", 0x80000001); break; case 0x24: // "● 36 Vacant" - mctx->genLabel("● 36 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 36 空き", 0x80000001); break; case 0x25: // "● 37 Vacant" - mctx->genLabel("● 37 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 37 空き", 0x80000001); break; case 0x26: // "● 38 Vacant" - mctx->genLabel("● 38 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 38 空き", 0x80000001); break; case 0x27: // "● 39 Vacant" - mctx->genLabel("● 39 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 39 空き", 0x80000001); break; case 0x28: // "○ 40 Demo: Flashback" - mctx->genLabel("○ 40 デモ:回想シーン", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 40 デモ:回想シーン", 0x80000001); break; case 0x29: // "○ 41 Demo: Fake TW" - mctx->genLabel("○ 41 デモ:にせTW", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 41 デモ:にせTW", 0x80000001); break; case 0x2a: // "○ 42 Demo: for demo32_03" - mctx->genLabel("○ 42 デモ:demo32_03用", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 42 デモ:demo32_03用", 0x80000001); break; case 0x2b: // "○ 43 Demo: TW flashback scene" - mctx->genLabel("○ 43 デモ:TW回想シーン", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 43 デモ:TW回想シーン", 0x80000001); break; case 0x2c: // "○ 44 Demo: for demo31_20" - mctx->genLabel("○ 44 デモ:demo31_20用", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("○ 44 デモ:demo31_20用", 0x80000001); break; case 0x2d: // "○ 45 Demo: Lava W" - mctx->genLabel("○ 45 デモ:溶岩W", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("○ 45 デモ:溶岩W", 0x80000001); break; case 0x2e: // "● 46 Vacant" - mctx->genLabel("● 46 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 46 空き", 0x80000001); break; case 0x2f: // "● 47 Vacant" - mctx->genLabel("● 47 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 47 空き", 0x80000001); break; case 0x30: // "● 48 Vacant" - mctx->genLabel("● 48 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 48 空き", 0x80000001); break; case 0x31: // "● 49 Vacant" - mctx->genLabel("● 49 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 49 空き", 0x80000001); break; case 0x32: // "● 50 Vacant" - mctx->genLabel("● 50 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 50 空き", 0x80000001); break; case 0x33: // "● 51 Vacant" - mctx->genLabel("● 51 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 51 空き", 0x80000001); break; case 0x34: // "● 52 Vacant" - mctx->genLabel("● 52 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 52 空き", 0x80000001); break; case 0x35: // "● 53 Vacant" - mctx->genLabel("● 53 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 53 空き", 0x80000001); break; case 0x36: // "● 54 Vacant" - mctx->genLabel("● 54 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 54 空き", 0x80000001); break; case 0x37: // "● 55 Vacant" - mctx->genLabel("● 55 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 55 空き", 0x80000001); break; case 0x38: // "● 56 Vacant" - mctx->genLabel("● 56 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 56 空き", 0x80000001); break; case 0x39: // "● 57 Vacant" - mctx->genLabel("● 57 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 57 空き", 0x80000001); break; case 0x3a: // "● 58 Vacant" - mctx->genLabel("● 58 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 58 空き", 0x80000001); break; case 0x3b: // "● 59 Vacant" - mctx->genLabel("● 59 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 59 空き", 0x80000001); break; case 0x3c: // "● 60 Vacant" - mctx->genLabel("● 60 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 60 空き", 0x80000001); break; case 0x3d: // "● 61 Vacant" - mctx->genLabel("● 61 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 61 空き", 0x80000001); break; case 0x3e: // "● 62 Vacant" - mctx->genLabel("● 62 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 62 空き", 0x80000001); break; case 0x3f: // "● 63 Vacant" - mctx->genLabel("● 63 空き", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("● 63 空き", 0x80000001); } } - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->startComboBox("タイプ", &bloom_info[i].mType, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->startComboBox("タイプ", &bloom_info[i].mType); mctx->genComboBoxItem("くっきり(0)", 0); mctx->genComboBoxItem("やわらか(1)", 1); mctx->endComboBox(); - mctx->genSlider("しきい値", &bloom_info[i].mThreshold, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("ぼやけ幅", &bloom_info[i].mBlurAmount, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("ぼやけ濃さ", &bloom_info[i].mDensity, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("濃さ R", &bloom_info[i].mColorR, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &bloom_info[i].mColorG, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider(" B", &bloom_info[i].mColorB, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("元濃さ", &bloom_info[i].mOrigDensity, 0, 0xff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("彩度減算 R", &bloom_info[i].mSaturateSubtractR, 0, 0xff, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &bloom_info[i].mSaturateSubtractG, 0, 0xff, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &bloom_info[i].mSaturateSubtractB, 0, 0xff, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" A", &bloom_info[i].mSaturateSubtractA, 0, 0xff, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider("しきい値", &bloom_info[i].mThreshold, 0, 0xff); + mctx->genSlider("ぼやけ幅", &bloom_info[i].mBlurAmount, 0, 0xff); + mctx->genSlider("ぼやけ濃さ", &bloom_info[i].mDensity, 0, 0xff); + mctx->genSlider("濃さ R", &bloom_info[i].mColorR, 0, 0xff); + mctx->genSlider(" G", &bloom_info[i].mColorG, 0, 0xff); + mctx->genSlider(" B", &bloom_info[i].mColorB, 0, 0xff); + mctx->genSlider("元濃さ", &bloom_info[i].mOrigDensity, 0, 0xff); + mctx->genSlider("彩度減算 R", &bloom_info[i].mSaturateSubtractR, 0, 0xff); + mctx->genSlider(" G", &bloom_info[i].mSaturateSubtractG, 0, 0xff); + mctx->genSlider(" B", &bloom_info[i].mSaturateSubtractB, 0, 0xff); + mctx->genSlider(" A", &bloom_info[i].mSaturateSubtractA, 0, 0xff); } } @@ -7488,48 +7290,37 @@ dKankyo_navyHIO_c::dKankyo_navyHIO_c() { } void dKankyo_navyHIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); - mctx->genLabel("■ 水中ライト 色", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("col R", &water_in_light_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &water_in_light_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &water_in_light_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("■ 水中ライト 色", 0x80000001); + mctx->genSlider("col R", &water_in_light_col.r, 0, 0xff); + mctx->genSlider(" G", &water_in_light_col.g, 0, 0xff); + mctx->genSlider(" B", &water_in_light_col.b, 0, 0xff); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); - mctx->genLabel("■ カメライトの設定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("現在の設定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel(" S Y:1500.0f power:1.25f cutoff 90.0f", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genLabel(" M Y:500.0f power:2.0f cutoff 70.0f", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genLabel(" L Y:2000.0f power:3.0f cutoff 70.0f", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genLabel("LL Y:1500.0f power:4.0f cutoff 65.0f", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("■ カメライトの設定", 0x80000001); + mctx->genLabel("現在の設定", 0x80000001); + mctx->genLabel(" S Y:1500.0f power:1.25f cutoff 90.0f", 0x80000001); + mctx->genLabel(" M Y:500.0f power:2.0f cutoff 70.0f", 0x80000001); + mctx->genLabel(" L Y:2000.0f power:3.0f cutoff 70.0f", 0x80000001); + mctx->genLabel("LL Y:1500.0f power:4.0f cutoff 65.0f", 0x80000001); + mctx->genLabel("", 0x80000001); - mctx->genCheckBox("調整開始", &camera_light_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("Yずらし", &camera_light_y_shift, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("色 R", &camera_light_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &camera_light_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &camera_light_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("power", &camera_light_power, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("cutoff", &camera_light_cutoff, 0.001f, 90.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->startComboBox("距離減衰", &camera_light_da, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->genCheckBox("調整開始", &camera_light_adjust_ON, 0x1); + mctx->genSlider("Yずらし", &camera_light_y_shift, 0.0f, 10000.0f); + mctx->genSlider("色 R", &camera_light_col.r, 0, 0xff); + mctx->genSlider(" G", &camera_light_col.g, 0, 0xff); + mctx->genSlider(" B", &camera_light_col.b, 0, 0xff); + mctx->genSlider("power", &camera_light_power, 0.0f, 1000.0f); + mctx->genSlider("cutoff", &camera_light_cutoff, 0.001f, 90.0f); + mctx->startComboBox("距離減衰", &camera_light_da); mctx->genComboBoxItem("減衰なし [GX_DA_OFF]", 0); mctx->genComboBoxItem("おだやか [GX_DA_GENTLE]", 1); mctx->genComboBoxItem("中間 [GX_DA_MEDIUM]", 2); mctx->genComboBoxItem("険しい [GX_DA_STEEP]", 3); mctx->endComboBox(); - mctx->startComboBox("角度減衰", &camera_light_sp, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("角度減衰", &camera_light_sp); mctx->genComboBoxItem("ポイント [GX_SP_OFF]", 0); mctx->genComboBoxItem("直角 [GX_SP_FLAT]", 1); mctx->genComboBoxItem("COS曲線 [GX_SP_COS]", 2); @@ -7538,15 +7329,13 @@ void dKankyo_navyHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("リング状 [GX_SP_RING1]", 5); mctx->genComboBoxItem("リング状2[GX_SP_RING2]", 6); mctx->endComboBox(); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ トワイライト センスパターン", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ トワイライト センスパターン", 0x80000001); - mctx->genCheckBox("TV画面に表示", &twilight_sense_pat_tv_display_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->startComboBox("パターン", &twilight_sense_pat, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->genCheckBox("TV画面に表示", &twilight_sense_pat_tv_display_ON, 0x1); + mctx->startComboBox("パターン", &twilight_sense_pat); mctx->genComboBoxItem("未使用", 0); mctx->genComboBoxItem("1:フィールド基本", 1); mctx->genComboBoxItem("2:ハイリア湖専用", 2); @@ -7563,12 +7352,10 @@ void dKankyo_navyHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("13:デモなど広め", 13); mctx->endComboBox(); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ トワイライト センス専用飽和実験", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("  ・センス仕様で飽和加算のパターンを変えてみる", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->startComboBox("モード", &twilight_sense_saturation_mode, 0, NULL, 0xffff, 0xffff, 0x100, - 0x1a); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ トワイライト センス専用飽和実験", 0x80000001); + mctx->genLabel("  ・センス仕様で飽和加算のパターンを変えてみる", 0x80000001); + mctx->startComboBox("モード", &twilight_sense_saturation_mode); mctx->genComboBoxItem("ゲームまかせ", 0); mctx->genComboBoxItem("トワイライト(暗)", 32); mctx->genComboBoxItem("トワイライト(明)", 33); @@ -7576,330 +7363,238 @@ void dKankyo_navyHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("影響なし", 35); mctx->endComboBox(); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 憑依ゼルダ 女優ライト調整", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 憑依ゼルダ 女優ライト調整", 0x80000001); - mctx->genSlider("col R", &possessed_zelda_light_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &possessed_zelda_light_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &possessed_zelda_light_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("takasa", &possessed_zelda_light_height, -5000.0f, 5000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider("power", &possessed_zelda_light_power, 0.0f, 2000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genSlider("col R", &possessed_zelda_light_col.r, 0, 0xff); + mctx->genSlider(" G", &possessed_zelda_light_col.g, 0, 0xff); + mctx->genSlider(" B", &possessed_zelda_light_col.b, 0, 0xff); + mctx->genSlider("takasa", &possessed_zelda_light_height, -5000.0f, 5000.0f); + mctx->genSlider("power", &possessed_zelda_light_power, 0.0f, 2000.0f); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 豚ガノン 女優ライト調整", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 豚ガノン 女優ライト調整", 0x80000001); - mctx->genSlider("col R", &beast_ganon_light_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &beast_ganon_light_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &beast_ganon_light_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("takasa", &beast_ganon_light_height, -5000.0f, 5000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("power", &beast_ganon_light_power, 0.0f, 2000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genSlider("col R", &beast_ganon_light_col.r, 0, 0xff); + mctx->genSlider(" G", &beast_ganon_light_col.g, 0, 0xff); + mctx->genSlider(" B", &beast_ganon_light_col.b, 0, 0xff); + mctx->genSlider("takasa", &beast_ganon_light_height, -5000.0f, 5000.0f); + mctx->genSlider("power", &beast_ganon_light_power, 0.0f, 2000.0f); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ MA09水面てらてら具合", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("てらてら率", &g_env_light.mWaterSurfaceShineRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ MA09水面てらてら具合", 0x80000001); + mctx->genSlider("てらてら率", &g_env_light.mWaterSurfaceShineRate, 0.0f, 1.0f); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 虹の調整", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整開始", &rainbow_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("離れ距離", &rainbow_separation_dist, 0, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("最大α", &rainbow_max_alpha, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 虹の調整", 0x80000001); + mctx->genCheckBox("調整開始", &rainbow_adjust_ON, 0x1); + mctx->genSlider("離れ距離", &rainbow_separation_dist, 0, 0x7fff); + mctx->genSlider("最大α", &rainbow_max_alpha, 0, 0xff); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 釣堀 木の色調整", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整開始", &fish_pond_tree_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("amb R", &fish_pond_tree_ambcol.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &fish_pond_tree_ambcol.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &fish_pond_tree_ambcol.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("dif0 R", &fish_pond_tree_dif0_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &fish_pond_tree_dif0_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &fish_pond_tree_dif0_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("dif1 R", &fish_pond_tree_dif1_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &fish_pond_tree_dif1_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &fish_pond_tree_dif1_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("○現在設定値 はる amb (r 101) (g 94) (b 105)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel(" dif0 (r 86) (g 75) (b 57)", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel(" dif1 (r 82) (g 65) (b 102)", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel(" なつ amb (r 14) (g 35) (b 11)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel(" dif0 (r 55) (g 40) (b 30)", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel(" dif1 (r 25) (g 15) (b 0)", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel(" あき amb (r 40) (g 20) (b 5)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel(" dif0 (r 110) (g 50) (b 15)", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel(" dif1 (r 70) (g 0) (b 15)", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 釣堀 木の色調整", 0x80000001); + mctx->genCheckBox("調整開始", &fish_pond_tree_adjust_ON, 0x1); + mctx->genSlider("amb R", &fish_pond_tree_ambcol.r, 0, 0xff); + mctx->genSlider(" G", &fish_pond_tree_ambcol.g, 0, 0xff); + mctx->genSlider(" B", &fish_pond_tree_ambcol.b, 0, 0xff); + mctx->genSlider("dif0 R", &fish_pond_tree_dif0_col.r, 0, 0xff); + mctx->genSlider(" G", &fish_pond_tree_dif0_col.g, 0, 0xff); + mctx->genSlider(" B", &fish_pond_tree_dif0_col.b, 0, 0xff); + mctx->genSlider("dif1 R", &fish_pond_tree_dif1_col.r, 0, 0xff); + mctx->genSlider(" G", &fish_pond_tree_dif1_col.g, 0, 0xff); + mctx->genSlider(" B", &fish_pond_tree_dif1_col.b, 0, 0xff); + mctx->genLabel("○現在設定値 はる amb (r 101) (g 94) (b 105)", 0x80000001); + mctx->genLabel(" dif0 (r 86) (g 75) (b 57)", 0x80000001); + mctx->genLabel(" dif1 (r 82) (g 65) (b 102)", 0x80000001); + mctx->genLabel(" なつ amb (r 14) (g 35) (b 11)", 0x80000001); + mctx->genLabel(" dif0 (r 55) (g 40) (b 30)", 0x80000001); + mctx->genLabel(" dif1 (r 25) (g 15) (b 0)", 0x80000001); + mctx->genLabel(" あき amb (r 40) (g 20) (b 5)", 0x80000001); + mctx->genLabel(" dif0 (r 110) (g 50) (b 15)", 0x80000001); + mctx->genLabel(" dif1 (r 70) (g 0) (b 15)", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 釣堀 colreg 色変化", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整開始", &this->fish_pond_colreg_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("c0 R", &fish_pond_colreg_c0.r, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &fish_pond_colreg_c0.g, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &fish_pond_colreg_c0.b, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("○現在設定値 はる (r 0) (g 0) (b 0)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel(" なつ (r -3) (g 0) (b -4)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel(" あき (r 0) (g -10) (b -13)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel(" ふゆ (r 14) (g 15) (b 22)", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 釣堀 colreg 色変化", 0x80000001); + mctx->genCheckBox("調整開始", &this->fish_pond_colreg_adjust_ON, 0x1); + mctx->genSlider("c0 R", &fish_pond_colreg_c0.r, -0xff, 0xff); + mctx->genSlider(" G", &fish_pond_colreg_c0.g, -0xff, 0xff); + mctx->genSlider(" B", &fish_pond_colreg_c0.b, -0xff, 0xff); + mctx->genLabel("○現在設定値 はる (r 0) (g 0) (b 0)", 0x80000001); + mctx->genLabel(" なつ (r -3) (g 0) (b -4)", 0x80000001); + mctx->genLabel(" あき (r 0) (g -10) (b -13)", 0x80000001); + mctx->genLabel(" ふゆ (r 14) (g 15) (b 22)", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 強引 水面にごり変更", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整開始", &water_mud_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("全体", &field_0x2ea, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("手前", &field_0x2ec, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 強引 水面にごり変更", 0x80000001); + mctx->genCheckBox("調整開始", &water_mud_adjust_ON, 0x1); + mctx->genSlider("全体", &field_0x2ea, 0, 0xff); + mctx->genSlider("手前", &field_0x2ec, 0, 0xff); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ コレクト&装備 ライティング", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整開始", &light_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("AMB R", &adjust_light_ambcol.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &adjust_light_ambcol.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &adjust_light_ambcol.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("○メイン", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("Pos X", &adjust_light_main_pos.x, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" Y", &adjust_light_main_pos.y, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" Z", &adjust_light_main_pos.z, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider("Dif0 R", &adjust_light_dif0_col_R, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &adjust_light_dif0_col_G, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &adjust_light_dif0_col_B, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("○反射", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("Pos X", &collect_light_reflect_pos.x, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" Y", &collect_light_reflect_pos.y, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" Z", &collect_light_reflect_pos.z, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider("Dif1 R", &adjust_light_dif1_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &adjust_light_dif1_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &adjust_light_dif1_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ コレクト&装備 ライティング", 0x80000001); + mctx->genCheckBox("調整開始", &light_adjust_ON, 0x1); + mctx->genSlider("AMB R", &adjust_light_ambcol.r, 0, 0xff); + mctx->genSlider(" G", &adjust_light_ambcol.g, 0, 0xff); + mctx->genSlider(" B", &adjust_light_ambcol.b, 0, 0xff); + mctx->genLabel("○メイン", 0x80000001); + mctx->genSlider("Pos X", &adjust_light_main_pos.x, -100000.0f, 100000.0f); + mctx->genSlider(" Y", &adjust_light_main_pos.y, -100000.0f, 100000.0f); + mctx->genSlider(" Z", &adjust_light_main_pos.z, -100000.0f, 100000.0f); + mctx->genSlider("Dif0 R", &adjust_light_dif0_col_R, 0, 0xff); + mctx->genSlider(" G", &adjust_light_dif0_col_G, 0, 0xff); + mctx->genSlider(" B", &adjust_light_dif0_col_B, 0, 0xff); + mctx->genLabel("○反射", 0x80000001); + mctx->genSlider("Pos X", &collect_light_reflect_pos.x, -100000.0f, 100000.0f); + mctx->genSlider(" Y", &collect_light_reflect_pos.y, -100000.0f, 100000.0f); + mctx->genSlider(" Z", &collect_light_reflect_pos.z, -100000.0f, 100000.0f); + mctx->genSlider("Dif1 R", &adjust_light_dif1_col.r, 0, 0xff); + mctx->genSlider(" G", &adjust_light_dif1_col.g, 0, 0xff); + mctx->genSlider(" B", &adjust_light_dif1_col.b, 0, 0xff); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 現在セーブ再開位置", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("常に表示", &this->display_save_location, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 現在セーブ再開位置", 0x80000001); + mctx->genCheckBox("常に表示", &this->display_save_location, 0x1); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 星", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("最大数", &this->stars_max_number, -1, 2800, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 星", 0x80000001); + mctx->genSlider("最大数", &this->stars_max_number, -1, 2800); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 草てかり調整", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("てかり値", &this->grass_shine_value, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("草ライト影響率 ", &g_env_light.grass_light_inf_rate, 0.0, 2.0, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 草てかり調整", 0x80000001); + mctx->genSlider("てかり値", &this->grass_shine_value, 0.0f, 255.0f); + mctx->genSlider("草ライト影響率 ", &g_env_light.grass_light_inf_rate, 0.0, 2.0); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 霧沼 トワイライト時 色設定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整開始", &light_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("c1 R", &mist_twilight_c1_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &mist_twilight_c1_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &mist_twilight_c1_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" a", &mist_twilight_c1_col.a, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("c2 R", &mist_twilight_c2_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &mist_twilight_c2_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &mist_twilight_c2_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" A", &mist_twilight_c2_col.a, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 霧沼 トワイライト時 色設定", 0x80000001); + mctx->genCheckBox("調整開始", &light_adjust_ON, 0x1); + mctx->genSlider("c1 R", &mist_twilight_c1_col.r, 0, 0xff); + mctx->genSlider(" G", &mist_twilight_c1_col.g, 0, 0xff); + mctx->genSlider(" B", &mist_twilight_c1_col.b, 0, 0xff); + mctx->genSlider(" a", &mist_twilight_c1_col.a, 0, 0xff); + mctx->genSlider("c2 R", &mist_twilight_c2_col.r, 0, 0xff); + mctx->genSlider(" G", &mist_twilight_c2_col.g, 0, 0xff); + mctx->genSlider(" B", &mist_twilight_c2_col.b, 0, 0xff); + mctx->genSlider(" A", &mist_twilight_c2_col.a, 0, 0xff); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ トワイライトNPC ライト設定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("■ 闇ライト一つ設定キャラ設定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->startComboBox("モード", &adjust_light_mode, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ トワイライトNPC ライト設定", 0x80000001); + mctx->genLabel("■ 闇ライト一つ設定キャラ設定", 0x80000001); + mctx->startComboBox("モード", &adjust_light_mode); mctx->genComboBoxItem("ゲームまかせ", 0); mctx->genComboBoxItem("ゲームまかせ", 1); mctx->genComboBoxItem("カスタム調整", 2); mctx->endComboBox(); - mctx->genSlider("AMB R", &adjust_light_ambcol.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &adjust_light_ambcol.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &adjust_light_ambcol.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("LIGHT0 R", &adjust_light_dif0_col_R, 0, 500, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &adjust_light_dif0_col_G, 0, 500, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &adjust_light_dif0_col_B, 0, 500, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider("AMB R", &adjust_light_ambcol.r, 0, 0xff); + mctx->genSlider(" G", &adjust_light_ambcol.g, 0, 0xff); + mctx->genSlider(" B", &adjust_light_ambcol.b, 0, 0xff); + mctx->genSlider("LIGHT0 R", &adjust_light_dif0_col_R, 0, 500); + mctx->genSlider(" G", &adjust_light_dif0_col_G, 0, 500); + mctx->genSlider(" B", &adjust_light_dif0_col_B, 0, 500); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ デモ用? 遠目対応 被写界深度", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("-1:奥にピント 1:手前にピント", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("注目点", &g_env_light.mDemoAttentionPoint, -1.0f, 1.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整SW", &demo_adjust_SW, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("ピント位置", &demo_focus_pos, -0xfe, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("ずらし幅X", &demo_focus_offset_x, -1.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("ずらし幅Y", &demo_focus_offset_y, -1.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ デモ用? 遠目対応 被写界深度", 0x80000001); + mctx->genLabel("-1:奥にピント 1:手前にピント", 0x80000001); + mctx->genSlider("注目点", &g_env_light.mDemoAttentionPoint, -1.0f, 1.0f); + mctx->genCheckBox("調整SW", &demo_adjust_SW, 0x1); + mctx->genLabel("", 0x80000001); + mctx->genSlider("ピント位置", &demo_focus_pos, -0xfe, 0xff); + mctx->genSlider("ずらし幅X", &demo_focus_offset_x, -1.0f, 1.0f); + mctx->genSlider("ずらし幅Y", &demo_focus_offset_y, -1.0f, 1.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 影の濃さ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整開始", &shadow_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("通常α", &shadow_normal_alpha, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("接近MAXα", &shadow_max_alpha, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 影の濃さ", 0x80000001); + mctx->genCheckBox("調整開始", &shadow_adjust_ON, 0x1); + mctx->genSlider("通常α", &shadow_normal_alpha, 0.0f, 1.0f); + mctx->genSlider("接近MAXα", &shadow_max_alpha, 0.0f, 1.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ アイテムゲット ライト設定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->startComboBox("モード", &adjust_light_mode, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ アイテムゲット ライト設定", 0x80000001); + mctx->startComboBox("モード", &adjust_light_mode); mctx->genComboBoxItem("ゲームまかせ", 0); mctx->genComboBoxItem("ゲームまかせ", 1); mctx->genComboBoxItem("カスタム調整", 2); mctx->endComboBox(); - mctx->genSlider("AMB R", &adjust_light_ambcol.r, '\0', 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &adjust_light_ambcol.g, '\0', 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &adjust_light_ambcol.b, '\0', 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("Dif0 R", &adjust_light_dif0_col_R, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &adjust_light_dif0_col_G, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &adjust_light_dif0_col_B, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("Dif1 R", &adjust_light_dif1_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" G", &adjust_light_dif1_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &adjust_light_dif1_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("Pos X", &adjust_light_main_pos.x, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" Y", &adjust_light_main_pos.y, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider(" Z", &adjust_light_main_pos.z, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider("AMB R", &adjust_light_ambcol.r, '\0', 0xff); + mctx->genSlider(" G", &adjust_light_ambcol.g, '\0', 0xff); + mctx->genSlider(" B", &adjust_light_ambcol.b, '\0', 0xff); + mctx->genSlider("Dif0 R", &adjust_light_dif0_col_R, 0, 0xff); + mctx->genSlider(" G", &adjust_light_dif0_col_G, 0, 0xff); + mctx->genSlider(" B", &adjust_light_dif0_col_B, 0, 0xff); + mctx->genSlider("Dif1 R", &adjust_light_dif1_col.r, 0, 0xff); + mctx->genSlider(" G", &adjust_light_dif1_col.g, 0, 0xff); + mctx->genSlider(" B", &adjust_light_dif1_col.b, 0, 0xff); + mctx->genSlider("Pos X", &adjust_light_main_pos.x, -100000.0f, 100000.0f); + mctx->genSlider(" Y", &adjust_light_main_pos.y, -100000.0f, 100000.0f); + mctx->genSlider(" Z", &adjust_light_main_pos.z, -100000.0f, 100000.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); - mctx->genLabel("■ 女優さんライト", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->startComboBox("種類", &adjust_light_mode, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->genLabel("■ 女優さんライト", 0x80000001); + mctx->startComboBox("種類", &adjust_light_mode); mctx->genComboBoxItem("ありのままで勝負", 0); mctx->genComboBoxItem("レフ板", 1); mctx->genComboBoxItem("カスタム調整", 2); mctx->endComboBox(); - mctx->genSlider("カスタム時 R", &adjust_custom_R, 0, 2000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &adjust_custom_G, 0, 2000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &adjust_custom_B, 0, 2000, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("高さ調整", &adjust_height, -5000.0f, 5000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider("カスタム時 R", &adjust_custom_R, 0, 2000); + mctx->genSlider(" G", &adjust_custom_G, 0, 2000); + mctx->genSlider(" B", &adjust_custom_B, 0, 2000); + mctx->genLabel("", 0x80000001); + mctx->genSlider("高さ調整", &adjust_height, -5000.0f, 5000.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 沼", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("調整開始", &light_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("水面R", &mist_twilight_c1_col.r, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &mist_twilight_c1_col.g, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &mist_twilight_c1_col.b, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("補佐α", &mist_twilight_c1_col.a, -0xff, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 沼", 0x80000001); + mctx->genCheckBox("調整開始", &light_adjust_ON, 0x1); + mctx->genSlider("水面R", &mist_twilight_c1_col.r, -0xff, 0xff); + mctx->genSlider(" G", &mist_twilight_c1_col.g, -0xff, 0xff); + mctx->genSlider(" B", &mist_twilight_c1_col.b, -0xff, 0xff); + mctx->genSlider("補佐α", &mist_twilight_c1_col.a, -0xff, 0xff); // "Overall α" (alpha) - mctx->genSlider("全体α", &field_0x268, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("泥1R", &mist_twilight_c2_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &mist_twilight_c2_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" B", &mist_twilight_c2_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider(" a", &mist_twilight_c2_col.a, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genSlider("全体α", &field_0x268, 0, 0xff); + mctx->genSlider("泥1R", &mist_twilight_c2_col.r, 0, 0xff); + mctx->genSlider(" G", &mist_twilight_c2_col.g, 0, 0xff); + mctx->genSlider(" B", &mist_twilight_c2_col.b, 0, 0xff); + mctx->genSlider(" a", &mist_twilight_c2_col.a, 0, 0xff); // "Mud 2 R" - mctx->genSlider("泥2R", &field_0x264.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &field_0x264.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &field_0x264.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider("泥2R", &field_0x264.r, 0, 0xff); + mctx->genSlider(" G", &field_0x264.g, 0, 0xff); + mctx->genSlider(" B", &field_0x264.b, 0, 0xff); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ においもやの調整パラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("色設定開始", &smell_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &smell_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("   G", &smell_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  B", &smell_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &smell_col2.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("   G", &smell_col2.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  B", &smell_col2.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("アルファ", &smell_alpha, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("■ においレールタグ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("間隔", &smell_railtag_space, -1000.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ においもやの調整パラメータ", 0x80000001); + mctx->genCheckBox("色設定開始", &smell_adjust_ON, 0x1); + mctx->genSlider("色 R", &smell_col.r, 0, 0xff); + mctx->genSlider("   G", &smell_col.g, 0, 0xff); + mctx->genSlider("  B", &smell_col.b, 0, 0xff); + mctx->genSlider("色 R", &smell_col2.r, 0, 0xff); + mctx->genSlider("   G", &smell_col2.g, 0, 0xff); + mctx->genSlider("  B", &smell_col2.b, 0, 0xff); + mctx->genSlider("アルファ", &smell_alpha, 0.0f, 1.0f); + mctx->genLabel("■ においレールタグ", 0x80000001); + mctx->genSlider("間隔", &smell_railtag_space, -1000.0f, 1000.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 太陽フレア 加算に切替", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 太陽フレア 加算に切替", 0x80000001); // "Change to addition!!" - mctx->genCheckBox("加算にチェンジ!!", &field_0x215, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genCheckBox("加算にチェンジ!!", &field_0x215, 0x1); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ ワイプタイプをテスト", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->startComboBox("ワイプテスト", &wipe_test_ON, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ ワイプタイプをテスト", 0x80000001); + mctx->startComboBox("ワイプテスト", &wipe_test_ON); mctx->genComboBoxItem("フェード黒", 0); mctx->genComboBoxItem("フェード白", 1); mctx->genComboBoxItem("回転", 2); @@ -7925,136 +7620,106 @@ void dKankyo_navyHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("黒のまま", 22); mctx->genComboBoxItem("通常動作", 255); mctx->endComboBox(); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("・フェード時間テスト用 0以外で有効になります", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("フェード速度指定", &fade_test_speed, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genLabel("・フェード時間テスト用 0以外で有効になります", 0x80000001); + mctx->genSlider("フェード速度指定", &fade_test_speed, 0, 0xff); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 霧壁タグ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("フォグ near", &mist_tag_fog_near, -100000.0f, 100000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("フォグ far", &mist_tag_fog_far, -100000.0f, 100000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 霧壁タグ", 0x80000001); + mctx->genSlider("フォグ near", &mist_tag_fog_near, -100000.0f, 100000.0f); + mctx->genSlider("フォグ far", &mist_tag_fog_far, -100000.0f, 100000.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 水中カラー割合 現在カラーに乗算します", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("R", &water_in_col_ratio_R, 0.0f, 2.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("G", &water_in_col_ratio_G, 0.0f, 2.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("B", &water_in_col_ratio_B, 0.0f, 2.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 水中カラー割合 現在カラーに乗算します", 0x80000001); + mctx->genSlider("R", &water_in_col_ratio_R, 0.0f, 2.0f); + mctx->genSlider("G", &water_in_col_ratio_G, 0.0f, 2.0f); + mctx->genSlider("B", &water_in_col_ratio_B, 0.0f, 2.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ もや ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("基本色 R", &moya_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &moya_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &moya_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("アルファ", &moya_alpha, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ もや ", 0x80000001); + mctx->genSlider("基本色 R", &moya_col.r, 0, 0xff); + mctx->genSlider(" G", &moya_col.g, 0, 0xff); + mctx->genSlider(" B", &moya_col.b, 0, 0xff); + mctx->genSlider("アルファ", &moya_alpha, 0.0f, 1.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 雷の調整パラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &thunder_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("   G", &thunder_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  B", &thunder_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("高さ", &thunder_height, -50000.0, 50000.0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("黒くする率", &thunder_blacken_rate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 雷の調整パラメータ", 0x80000001); + mctx->genSlider("色 R", &thunder_col.r, 0, 0xff); + mctx->genSlider("   G", &thunder_col.g, 0, 0xff); + mctx->genSlider("  B", &thunder_col.b, 0, 0xff); + mctx->genSlider("高さ", &thunder_height, -50000.0, 50000.0); + mctx->genSlider("黒くする率", &thunder_blacken_rate, 0.0f, 1.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 稲妻", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("デバッグ常時出現", &lightning_debug_mode, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("Xスケールmin", &lightning_scale_x_min, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("Xスケールmax", &lightning_scale_x_max, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("Yスケールmin", &lightning_scale_y_min, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("Yスケールmax", &lightning_scale_y_max, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("最大傾き角度", &lightning_tilt_angle, -0x8000, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("表示d範囲幅 XZ", &collect_light_reflect_pos.x, 0.0f, 1000000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("表示範囲幅 Y", &collect_light_reflect_pos.y, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 稲妻", 0x80000001); + mctx->genCheckBox("デバッグ常時出現", &lightning_debug_mode, 0x1); + mctx->genSlider("Xスケールmin", &lightning_scale_x_min, 0.0f, 1000.0f); + mctx->genSlider("Xスケールmax", &lightning_scale_x_max, 0.0f, 1000.0f); + mctx->genSlider("Yスケールmin", &lightning_scale_y_min, 0.0f, 1000.0f); + mctx->genSlider("Yスケールmax", &lightning_scale_y_max, 0.0f, 1000.0f); + mctx->genSlider("最大傾き角度", &lightning_tilt_angle, -0x8000, 0x7fff); + mctx->genSlider("表示d範囲幅 XZ", &collect_light_reflect_pos.x, 0.0f, 1000000.0f); + mctx->genSlider("表示範囲幅 Y", &collect_light_reflect_pos.y, -100000.0f, 100000.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 月の調整パラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("設定開始", &rainbow_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &moon_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("   G", &moon_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  B", &moon_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  α", &moon_col.a, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("スケール", &moon_scale, 0.0f, 100000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 月の調整パラメータ", 0x80000001); + mctx->genCheckBox("設定開始", &rainbow_adjust_ON, 0x1); + mctx->genSlider("色 R", &moon_col.r, 0, 0xff); + mctx->genSlider("   G", &moon_col.g, 0, 0xff); + mctx->genSlider("  B", &moon_col.b, 0, 0xff); + mctx->genSlider("  α", &moon_col.a, 0, 0xff); + mctx->genSlider("スケール", &moon_scale, 0.0f, 100000.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 太陽の調整パラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("色設定開始", &sun_adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &sun_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("   G", &sun_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  B", &sun_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &sun_col2.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("   G", &sun_col2.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  B", &sun_col2.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 太陽の調整パラメータ", 0x80000001); + mctx->genCheckBox("色設定開始", &sun_adjust_ON, 0x1); + mctx->genSlider("色 R", &sun_col.r, 0, 0xff); + mctx->genSlider("   G", &sun_col.g, 0, 0xff); + mctx->genSlider("  B", &sun_col.b, 0, 0xff); + mctx->genSlider("色 R", &sun_col2.r, 0, 0xff); + mctx->genSlider("   G", &sun_col2.g, 0, 0xff); + mctx->genSlider("  B", &sun_col2.b, 0, 0xff); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 胞子の調整パラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("最大数", &housi_max_number, 0, 1000, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("最大アルファ", &housi_max_alpha, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("最大スケール", &housi_max_scale, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 胞子の調整パラメータ", 0x80000001); + mctx->genSlider("最大数", &housi_max_number, 0, 1000); + mctx->genSlider("最大アルファ", &housi_max_alpha, 0.0f, 255.0f); + mctx->genSlider("最大スケール", &housi_max_scale, 0.0f, 100.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 雲の調整パラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("晴れ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("風の影響率", &cloud_sunny_wind_influence_rate, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("高さ 端", &cloud_sunny_bottom_height, 0.0f, 50000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("高さ てっぺん", &cloud_sunny_top_height, 0.0f, 50000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("大きさ", &cloud_sunny_size, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("高さ縮小率", &cloud_sunny_height_shrink_rate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("アルファ", &cloud_sunny_alpha, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("曇り", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("風の影響率", &cloud_cloudy_wind_influence_rate, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("高さ 端", &cloud_cloudy_bottom_height, 0.0f, 50000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("高さ てっぺん", &cloud_cloudy_top_height, 0.0f, 50000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("大きさ", &cloud_cloudy_size, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("高さ縮小率", &cloud_cloudy_height_shrink_rate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("アルファ", &cloud_cloudy_alpha, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 雲の調整パラメータ", 0x80000001); + mctx->genLabel("晴れ", 0x80000001); + mctx->genSlider("風の影響率", &cloud_sunny_wind_influence_rate, 0.0f, 10000.0f); + mctx->genSlider("高さ 端", &cloud_sunny_bottom_height, 0.0f, 50000.0f); + mctx->genSlider("高さ てっぺん", &cloud_sunny_top_height, 0.0f, 50000.0f); + mctx->genSlider("大きさ", &cloud_sunny_size, 0.0f, 10000.0f); + mctx->genSlider("高さ縮小率", &cloud_sunny_height_shrink_rate, 0.0f, 10.0f); + mctx->genSlider("アルファ", &cloud_sunny_alpha, 0.0f, 1.0f); + mctx->genLabel("曇り", 0x80000001); + mctx->genSlider("風の影響率", &cloud_cloudy_wind_influence_rate, 0.0f, 10000.0f); + mctx->genSlider("高さ 端", &cloud_cloudy_bottom_height, 0.0f, 50000.0f); + mctx->genSlider("高さ てっぺん", &cloud_cloudy_top_height, 0.0f, 50000.0f); + mctx->genSlider("大きさ", &cloud_cloudy_size, 0.0f, 10000.0f); + mctx->genSlider("高さ縮小率", &cloud_cloudy_height_shrink_rate, 0.0f, 10.0f); + mctx->genSlider("アルファ", &cloud_cloudy_alpha, 0.0f, 1.0f); + mctx->genLabel("", 0x80000001); - mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("■ 星座作成くん", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("設定開始!", &constellation_maker_ON, '\x01', 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("――――――――――――――――――――――――――――――――――――――――――", 0x80000001); + mctx->genLabel("■ 星座作成くん", 0x80000001); + mctx->genCheckBox("設定開始!", &constellation_maker_ON, '\x01'); for (int i = 0; i < 10; i++) { - mctx->genSlider("X", &constellation_maker_pos[i].x, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider("y", &constellation_maker_pos[i].y, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genSlider("z", &constellation_maker_pos[i].z, -100000.0f, 100000.0f, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); + mctx->genSlider("X", &constellation_maker_pos[i].x, -100000.0f, 100000.0f); + mctx->genSlider("y", &constellation_maker_pos[i].y, -100000.0f, 100000.0f); + mctx->genSlider("z", &constellation_maker_pos[i].z, -100000.0f, 100000.0f); } } @@ -8085,32 +7750,32 @@ dKankyo_efflightHIO_c::dKankyo_efflightHIO_c() { } void dKankyo_efflightHIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("エフェクトライトカラー", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("設定開始", &adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("第1段階", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("frame", &step1.start_frame, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &step1.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &step1.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &step1.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("第2段階", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("frame", &step2.start_frame, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &step2.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &step2.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &step2.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("第3段階", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("frame", &step3.start_frame, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &step3.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &step3.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &step3.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("第4段階", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("frame", &step4.start_frame, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("色 R", &step4.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &step4.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &step4.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("影響範囲", &power, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("ゆらぎ", &fluctuation, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("エフェクトライトカラー", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genCheckBox("設定開始", &adjust_ON, 0x1); + mctx->genLabel("第1段階", 0x80000001); + mctx->genSlider("frame", &step1.start_frame, 0, 0xff); + mctx->genSlider("色 R", &step1.r, 0, 0xff); + mctx->genSlider(" G", &step1.g, 0, 0xff); + mctx->genSlider(" B", &step1.b, 0, 0xff); + mctx->genLabel("第2段階", 0x80000001); + mctx->genSlider("frame", &step2.start_frame, 0, 0xff); + mctx->genSlider("色 R", &step2.r, 0, 0xff); + mctx->genSlider(" G", &step2.g, 0, 0xff); + mctx->genSlider(" B", &step2.b, 0, 0xff); + mctx->genLabel("第3段階", 0x80000001); + mctx->genSlider("frame", &step3.start_frame, 0, 0xff); + mctx->genSlider("色 R", &step3.r, 0, 0xff); + mctx->genSlider(" G", &step3.g, 0, 0xff); + mctx->genSlider(" B", &step3.b, 0, 0xff); + mctx->genLabel("第4段階", 0x80000001); + mctx->genSlider("frame", &step4.start_frame, 0, 0xff); + mctx->genSlider("色 R", &step4.r, 0, 0xff); + mctx->genSlider(" G", &step4.g, 0, 0xff); + mctx->genSlider(" B", &step4.b, 0, 0xff); + mctx->genLabel("", 0x80000001); + mctx->genSlider("影響範囲", &power, 0.0f, 10000.0f); + mctx->genSlider("ゆらぎ", &fluctuation, 0.0f, 255.0f); } dKankyo_windHIO_c::dKankyo_windHIO_c() { @@ -8149,66 +7814,46 @@ dKankyo_demolightHIO_c::dKankyo_demolightHIO_c() { } void dKankyo_demolightHIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("デモ用ポイントライト", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("設定開始", &adjust_ON, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("color R", &light.mColor.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &light.mColor.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" B", &light.mColor.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("影響範囲", &light.mPow, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("ゆらぎ", &light.mFluctuation, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); + mctx->genLabel("デモ用ポイントライト", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genCheckBox("設定開始", &adjust_ON, 0x1); + mctx->genSlider("color R", &light.mColor.r, 0, 0xff); + mctx->genSlider(" G", &light.mColor.g, 0, 0xff); + mctx->genSlider(" B", &light.mColor.b, 0, 0xff); + mctx->genSlider("影響範囲", &light.mPow, 0.0f, 10000.0f); + mctx->genSlider("ゆらぎ", &light.mFluctuation, 0.0f, 255.0f); } void dKankyo_windHIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("○グローバル風の設定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("風向き確認表示", &display_wind_dir, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("風変化補完速度", &wind_change_speed, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("○グローバル風の設定", 0x80000001); + mctx->genCheckBox("風向き確認表示", &display_wind_dir, 0x1); + mctx->genSlider("風変化補完速度", &wind_change_speed, 0.0f, 1.0f); - mctx->genLabel("===============================================================", 0x80000001, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("HOSTIOでの調整", &use_HOSTIO_adjustment, 1, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("画面中心のバーが設定した向きで", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("Xアングル", &global_x_angle, -0x8000, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("Yアングル", &global_y_angle, -0x8000, 0x7fff, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("風力", &global_wind_power, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("===============================================================", 0x80000001); + mctx->genCheckBox("HOSTIOでの調整", &use_HOSTIO_adjustment, 0x1); + mctx->genLabel("画面中心のバーが設定した向きで", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genSlider("Xアングル", &global_x_angle, -0x8000, 0x7fff); + mctx->genSlider("Yアングル", &global_y_angle, -0x8000, 0x7fff); + mctx->genSlider("風力", &global_wind_power, 0.0f, 1.0f); - mctx->genLabel("===============================================================", 0x80000001, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("○光の剣実験パラメータ", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("実験風軌道表示", &display_wind_trajectory, 1, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("Xアングル", &lightsword_x_angle, -0x7fff, 0x7fff, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("開始スケール", &lightsword_init_scale, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("終了スケール", &lightsword_end_scale, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("影響力", &influence, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("影響力減衰値", &influence_attenuation, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("移動速度", &lightsword_move_speed, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("===============================================================", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genLabel("○光の剣実験パラメータ", 0x80000001); + mctx->genCheckBox("実験風軌道表示", &display_wind_trajectory, 0x1); + mctx->genSlider("Xアングル", &lightsword_x_angle, -0x7fff, 0x7fff); + mctx->genSlider("開始スケール", &lightsword_init_scale, 0.0f, 10000.0f); + mctx->genSlider("終了スケール", &lightsword_end_scale, 0.0f, 10000.0f); + mctx->genSlider("影響力", &influence, 0.0f, 1.0f); + mctx->genSlider("影響力減衰値", &influence_attenuation, 0.0f, 1.0f); + mctx->genSlider("移動速度", &lightsword_move_speed, 0.0f, 1000.0f); - mctx->genLabel("===============================================================", 0x80000001, 0, - NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("○風避けゲーム強風タイマー調整", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, - 0x18); - mctx->genSlider("無風継続時間", &minigame_no_wind_duration, 0, 1000, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("弱風継続時間", &minigame_low_wind_duration, 0, 1000, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genSlider("強風継続時間", &minigame_high_wind_duration, 0, 1000, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genLabel("===============================================================", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genLabel("○風避けゲーム強風タイマー調整", 0x80000001); + mctx->genSlider("無風継続時間", &minigame_no_wind_duration, 0, 1000); + mctx->genSlider("弱風継続時間", &minigame_low_wind_duration, 0, 1000); + mctx->genSlider("強風継続時間", &minigame_high_wind_duration, 0, 1000); } dKankyo_dungeonlightHIO_c::dKankyo_dungeonlightHIO_c() { @@ -8241,21 +7886,17 @@ dKankyo_ParticlelightHIO_c::dKankyo_ParticlelightHIO_c() { } void dKankyo_ParticlelightHIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("パーティクル色 設定", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("五感発動時のみに見えるパーティクルの実験", 0x80000001, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genLabel("下をONにしてからテストパーティクルを出してみて下さい", 0x80000001, 0, NULL, - 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("←五感発動時にしか見えなくなります!", &field_0x1a, 1, 0, NULL, 0xffff, - 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("インダイレクトより後に移動!", &field_0x19, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->startComboBox("タイプ", &type, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->genLabel("パーティクル色 設定", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genLabel("五感発動時のみに見えるパーティクルの実験", 0x80000001); + mctx->genLabel("下をONにしてからテストパーティクルを出してみて下さい", 0x80000001); + mctx->genCheckBox("←五感発動時にしか見えなくなります!", &field_0x1a, 0x1); + mctx->genLabel("", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->genCheckBox("インダイレクトより後に移動!", &field_0x19, 0x1); + mctx->genLabel("", 0x80000001); + mctx->genLabel("", 0x80000001); + mctx->startComboBox("タイプ", &type); mctx->genComboBoxItem("TESTSMOKE_A01", 0); mctx->genComboBoxItem("DASHSMOKE_A", 1); mctx->genComboBoxItem("DOWNSMOKE_A", 2); @@ -8268,15 +7909,15 @@ void dKankyo_ParticlelightHIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("TESTSMOKE_C01", 9); mctx->genComboBoxItem("TESTSMOKE_C02", 10); mctx->endComboBox(); - mctx->genSlider("Prim R", &prim_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &prim_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  B", &prim_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("Env  R", &env_col.r, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider(" G", &env_col.g, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("  B", &env_col.b, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("基本α", &prim_col.a, 0, 0xff, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genSlider("ブレンド率", &blend_ratio, 0.001f, 1.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genButton("プレイヤー位置に発生!", 0x40000004, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genSlider("Prim R", &prim_col.r, 0, 0xff); + mctx->genSlider(" G", &prim_col.g, 0, 0xff); + mctx->genSlider("  B", &prim_col.b, 0, 0xff); + mctx->genSlider("Env  R", &env_col.r, 0, 0xff); + mctx->genSlider(" G", &env_col.g, 0, 0xff); + mctx->genSlider("  B", &env_col.b, 0, 0xff); + mctx->genSlider("基本α", &prim_col.a, 0, 0xff); + mctx->genSlider("ブレンド率", &blend_ratio, 0.001f, 1.0f); + mctx->genButton("プレイヤー位置に発生!", 0x40000004); } void dKankyo_ParticlelightHIO_c::listenPropertyEvent(const JORPropertyEvent* property) { @@ -8295,10 +7936,9 @@ dKankyo_HIO_c::dKankyo_HIO_c() { } void dKankyo_HIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("時刻速度", &g_env_light.time_change_rate, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genSlider("時刻速度", &g_env_light.time_change_rate, 0.0f, 10.0f); - mctx->startComboBox("時刻切替", &time_change, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("時刻切替", &time_change); mctx->genComboBoxItem("通常時間", 0); mctx->genComboBoxItem("朝0時間に固定", 1); mctx->genComboBoxItem("朝1時間に固定", 2); @@ -8309,7 +7949,7 @@ void dKankyo_HIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("マップ設定無視経過", 7); mctx->endComboBox(); - mctx->startComboBox("天候エフェクト", &wether_effect, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("天候エフェクト", &wether_effect); mctx->genComboBoxItem("なし", 0); mctx->genComboBoxItem("雨", 1); mctx->genComboBoxItem("雪", 2); @@ -8322,7 +7962,7 @@ void dKankyo_HIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("全消去", 0x99); mctx->endComboBox(); - mctx->startComboBox("天候パレット", &wether_palette, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("天候パレット", &wether_palette); mctx->genComboBoxItem("通常", 0); mctx->genComboBoxItem("晴に変更", 0x40); mctx->genComboBoxItem("雨に変更", 1); @@ -8390,14 +8030,11 @@ void dKankyo_HIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("63に変更", 63); mctx->endComboBox(); - mctx->genCheckBox("環境タグデバッグ表示", &display_env_tag_debug, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genCheckBox("天気予報表デバッグ表示", &display_wether_debug, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genCheckBox("スケジュールビット表示", &display_schedule_bit, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genCheckBox("環境タグデバッグ表示", &display_env_tag_debug, 0x1); + mctx->genCheckBox("天気予報表デバッグ表示", &display_wether_debug, 0x1); + mctx->genCheckBox("スケジュールビット表示", &display_schedule_bit, 0x1); - mctx->startComboBox("雨を降らせる", &start_rain, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + mctx->startComboBox("雨を降らせる", &start_rain); mctx->genComboBoxItem("無し", 0); mctx->genComboBoxItem("小雨", 1); mctx->genComboBoxItem("大雨", 2); @@ -8407,20 +8044,17 @@ void dKankyo_HIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("カミナリ&大雨", 6); mctx->endComboBox(); - mctx->genCheckBox("エフェクトライトモニタ", &effect_light_monitor, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); + mctx->genCheckBox("エフェクトライトモニタ", &effect_light_monitor, 0x1); - mctx->startComboBox("ポイントライトモニタ", &point_light_monitor, 0, NULL, 0xffff, 0xffff, - 0x100, 0x1a); + mctx->startComboBox("ポイントライトモニタ", &point_light_monitor); mctx->genComboBoxItem("しない", 0); mctx->genComboBoxItem("ID一覧", 1); mctx->genComboBoxItem("位置も表示", 2); mctx->endComboBox(); - mctx->genLabel("", 0x80000001, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); - mctx->genCheckBox("settingTevStructをしない", &no_setting_tevstr, 1, 0, NULL, 0xffff, 0xffff, - 0x200, 0x18); - mctx->genCheckBox("colortypeをしない", &no_color_type, 1, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + mctx->genLabel("", 0x80000001); + mctx->genCheckBox("settingTevStructをしない", &no_setting_tevstr, 0x1); + mctx->genCheckBox("colortypeをしない", &no_color_type, 0x1); mctx->genNode("ライト設定", &light, 0, 0); mctx->genNode("VRボックス", &vrbox, 0, 0); diff --git a/src/d/d_kyeff.cpp b/src/d/d_kyeff.cpp index f3c4839002..d3223fd46c 100644 --- a/src/d/d_kyeff.cpp +++ b/src/d/d_kyeff.cpp @@ -9,13 +9,62 @@ #include "d/d_com_inf_game.h" #include "d/d_kankyo_wether.h" +#if DEBUG +class dKyeff_HIO_c : public JORReflexible { +public: + dKyeff_HIO_c(); + virtual ~dKyeff_HIO_c(); + + void genMessage(JORMContext*); + + /* 0x04 */ cXyz camera_eye; + /* 0x10 */ cXyz camera_cnt; + /* 0x1C */ f32 wind_power; + /* 0x20 */ f32 time_speed; + /* 0x24 */ s8 id; +}; + +dKyeff_HIO_c g_kyeffHIO; + +dKyeff_HIO_c::~dKyeff_HIO_c() {} + +dKyeff_HIO_c::dKyeff_HIO_c() { + g_kyeffHIO.camera_eye.x = 9377.0f; + g_kyeffHIO.camera_eye.y = 0.0f; + g_kyeffHIO.camera_eye.z = 7644.0f; + + g_kyeffHIO.camera_cnt.x = 4300.0f; + g_kyeffHIO.camera_cnt.y = 4800.0f; + g_kyeffHIO.camera_cnt.z = 1000.0f; + + g_kyeffHIO.wind_power = 0.5f; + g_kyeffHIO.time_speed = 0.03f; +} + +void dKyeff_HIO_c::genMessage(JORMContext* mctx) { + mctx->genSlider("時刻経過スピード", &time_speed, 0.0f, 100.0f); + + mctx->genSlider("Camera Eye X", &camera_eye.x, -10000.0f, 10000.0f); + mctx->genSlider(" Y", &camera_eye.y, -10000.0f, 10000.0f); + mctx->genSlider(" Z", &camera_eye.z, -10000.0f, 10000.0f); + + mctx->genSlider("Camera Cnt X", &camera_cnt.x, -10000.0f, 10000.0f); + mctx->genSlider(" Y", &camera_cnt.y, -10000.0f, 10000.0f); + mctx->genSlider(" Z", &camera_cnt.z, -10000.0f, 10000.0f); + + mctx->genSlider("風力", &wind_power, 0.0f, 1.0f); +} +#endif + static int dKyeff_Draw(dKyeff_c* i_this) { + UNUSED(i_this); + dKyw_wether_draw(); return 1; } int dKyeff_c::execute() { - if (strcmp(dComIfGp_getStartStageName(), "Name")) { + if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { dKyw_wether_move(); } @@ -29,12 +78,21 @@ static int dKyeff_Execute(dKyeff_c* i_this) { return i_this->execute(); } -static int dKyeff_IsDelete(dKyeff_c* i_this) { +static int dKyeff_IsDelete(dKyeff_c*) { return 1; } static int dKyeff_Delete(dKyeff_c* i_this) { + UNUSED(i_this); + dKyw_wether_delete(); + + #if DEBUG + if (strcmp(dComIfGp_getStartStageName(), "Name") == 0) { + mDoHIO_deleteChild(g_kyeffHIO.id); + } + #endif + return 1; } @@ -52,22 +110,35 @@ static f32 dummyLiteralOrder3(s32 hours) { } static int dKyeff_Create(kankyo_class* i_this) { - OSCalendarTime time; + UNUSED(i_this); + OSCalendarTime calendar; dKyw_wether_init(); - if (!strcmp(dComIfGp_getStartStageName(), "Name")) { - OSTicksToCalendarTime(OSGetTime(), &time); - g_env_light.global_wind_influence.vec.set(1.0f, 0.0f, 0.0f); + + if (strcmp(dComIfGp_getStartStageName(), "Name") == 0) { + camera_class* camera = dComIfGp_getCamera(0); + OSTime time = OSGetTime(); + OSTicksToCalendarTime(time, &calendar); + + g_env_light.global_wind_influence.vec.x = 1.0f; + g_env_light.global_wind_influence.vec.y = 0.0f; + g_env_light.global_wind_influence.vec.z = 0.0f; g_env_light.global_wind_influence.pow = 0.7f; - g_env_light.daytime = time.hour * 15.0f; + g_env_light.daytime = calendar.hour * 15.0f; + + #if DEBUG + g_kyeffHIO.id = mDoHIO_createChild("VR-BOX", &g_kyeffHIO); + #endif } return cPhs_COMPLEATE_e; } static leafdraw_method_class l_dKyeff_Method = { - (process_method_func)dKyeff_Create, (process_method_func)dKyeff_Delete, - (process_method_func)dKyeff_Execute, (process_method_func)dKyeff_IsDelete, + (process_method_func)dKyeff_Create, + (process_method_func)dKyeff_Delete, + (process_method_func)dKyeff_Execute, + (process_method_func)dKyeff_IsDelete, (process_method_func)dKyeff_Draw, }; diff --git a/src/d/d_map.cpp b/src/d/d_map.cpp index a26715f9d7..6678e6d9af 100644 --- a/src/d/d_map.cpp +++ b/src/d/d_map.cpp @@ -11,23 +11,22 @@ #include "JSystem/JUtility/JUTTexture.h" #include "SSystem/SComponent/c_counter.h" #include "SSystem/SComponent/c_math.h" +#include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #if DEBUG -dMap_HIO_c g_dMap_HIO; - void dMap_HIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("エリアマップ パスマップ 調整項目", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("初期化等は 下位フォルダ[パレット]込み です", 0, 0, NULL, -1, -1, 512, 24); - mctx->genButton("初期化", 0x4000003, 0, NULL, -1, -1, 512, 24); - mctx->genButton("HOSTIO順テキストファイル書き出し", 0x4000004, 0, NULL, -1, -1, 512, 24); - mctx->genButton("バイナリ順テキスト書き出し", 0x4000005, 0, NULL, -1, -1, 512, 24); - mctx->genButton("バイナリファイル書き出し", 0x4000006, 0, NULL, -1, -1, 512, 24); - mctx->genButton("バイナリファイル読み込み", 0x4000007, 0, NULL, -1, -1, 512, 24); - mctx->genButton("バイナリダンプ", 0x4000008, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("エリアマップ パスマップ 調整項目", 0); + mctx->genLabel("初期化等は 下位フォルダ[パレット]込み です", 0); + mctx->genButton("初期化", 0x4000003); + mctx->genButton("HOSTIO順テキストファイル書き出し", 0x4000004); + mctx->genButton("バイナリ順テキスト書き出し", 0x4000005); + mctx->genButton("バイナリファイル書き出し", 0x4000006); + mctx->genButton("バイナリファイル読み込み", 0x4000007); + mctx->genButton("バイナリダンプ", 0x4000008); mList.gen(mctx); - mctx->genButton("ID_INFO_ROOM_MAX_TEXEL", 0x4000009, 0, NULL, -1, -1, 512, 24); - mctx->genButton("ID_INFO_SWITCH", 0x400000a, 0, NULL, -1, -1, 512, 24); + mctx->genButton("ID_INFO_ROOM_MAX_TEXEL", 0x4000009); + mctx->genButton("ID_INFO_SWITCH", 0x400000a); } dMap_HIO_c::dMap_HIO_c() { @@ -39,101 +38,299 @@ void dMap_HIO_c::listenPropertyEvent(const JORPropertyEvent* evt) { // DEBUG NONMATCHING JORReflexible::listenPropertyEvent(evt); - if (dMap_HIO_prm_res_dst_s::m_res != NULL) { - JORFile jorFile; - switch ((u32)evt->id) { - case 0x4000002: - if (dMap_c::m_mySelfPointer != NULL) { - f32 packX, packZ; - dMap_c::m_mySelfPointer->getPack(dMap_c::m_mySelfPointer->getStayRoomNo(), &packX, &packZ); - OS_REPORT("mNowCenterRoomNo<%d>packX<%11.3f>packZ<%11.3f>\n", packX, packZ, dMap_c::m_mySelfPointer->getStayRoomNo()); - } - break; + if (!dMap_HIO_prm_res_dst_s::m_res) { + return; + } - case 0x4000004: - writeHostioTextFile(NULL); - break; - - case 0x4000005: - writeBinaryTextFile(NULL); - break; - - case 0x4000006: - writeBinaryFile(NULL); - break; - - case 0x4000007: { - readBinaryFile(NULL); - JORMContext* ctx_p = attachJORMContext(8); - ctx_p->startUpdateNode(this); - mList.update(ctx_p); - ctx_p->endUpdateNode(); - releaseJORMContext(ctx_p); - break; + JORFile jorFile; + JORMContext* ctx_p; + switch ((u32)evt->id) { + case 0x4000002: + if (dMap_c::m_mySelfPointer != NULL) { + f32 packX, packZ; + dMap_c::m_mySelfPointer->getPack(dMap_c::m_mySelfPointer->getStayRoomNo(), &packX, &packZ); + OS_REPORT("mNowCenterRoomNo<%d>packX<%11.3f>packZ<%11.3f>\n", packX, packZ, dMap_c::m_mySelfPointer->getStayRoomNo()); } + break; - case 0x4000003: { - JORMContext* ctx_p = attachJORMContext(8); - ctx_p->startUpdateNode(this); - mList.update(ctx_p); - ctx_p->endUpdateNode(); - releaseJORMContext(ctx_p); - break; - } + case 0x4000004: + writeHostioTextFile(NULL); + break; - case 0x4000008: - binaryDump(dMap_HIO_prm_res_dst_s::m_res, 0x1BC); - break; + case 0x4000005: + writeBinaryTextFile(NULL); + break; - case 0x4000009: - if (dMap_c::m_mySelfPointer != NULL) { - f32 stageTexelMinZ = -3.4028235e38f; - f32 stageTexelMaxZ = -3.4028235e38f; - for (int i = 0; i < 64; i++) { - dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i); - if (fileList2_p != NULL) { - f32 texelMaxZ = dStage_FileList2_dt_GetInnerRmZ(fileList2_p); - f32 frontRmZ = dStage_FileList2_dt_GetFrontRmZ(fileList2_p); - f32 cmPerTexel = dMap_c::m_mySelfPointer->getCmPerTexel(); - f32 texelMinZ = (dMap_c::m_mySelfPointer->getCenterZ() - texelMaxZ) / cmPerTexel; - texelMaxZ = dMap_c::m_mySelfPointer->getCmPerTexel(); - texelMaxZ = (frontRmZ - dMap_c::m_mySelfPointer->getCenterZ()) / texelMaxZ; - OS_REPORT("<%2d>texelMinZ<%10.3f>texelMaxZ<%10.3f>\n", texelMinZ, texelMaxZ, i); + case 0x4000006: + writeBinaryFile(NULL); + break; - if (texelMinZ > stageTexelMinZ) { - stageTexelMinZ = texelMinZ; - } + case 0x4000007: { + readBinaryFile(NULL); + ctx_p = attachJORMContext(8); + ctx_p->startUpdateNode(this); + mList.update(ctx_p); + ctx_p->endUpdateNode(); + releaseJORMContext(ctx_p); + break; + } - if (texelMaxZ > stageTexelMaxZ) { - stageTexelMaxZ = texelMaxZ; - } + case 0x4000003: { + mList.copySrcToHio(); + ctx_p = attachJORMContext(8); + ctx_p->startUpdateNode(this); + mList.update(ctx_p); + ctx_p->endUpdateNode(); + releaseJORMContext(ctx_p); + break; + } + + case 0x4000008: + binaryDump(dMap_HIO_prm_res_dst_s::m_res, 0x1BC); + break; + + case 0x4000009: + if (dMap_c::m_mySelfPointer != NULL) { + f32 stageTexelMinZ = -3.4028235e38f; + f32 stageTexelMaxZ = -3.4028235e38f; + for (int i = 0; i < 64; i++) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i); + if (fileList2_p != NULL) { + f32 innerRmZ = dStage_FileList2_dt_GetInnerRmZ(fileList2_p); + f32 frontRmZ = dStage_FileList2_dt_GetFrontRmZ(fileList2_p); + f32 texelMinZ = (dMap_c::m_mySelfPointer->getCenterZ() - innerRmZ) / dMap_c::m_mySelfPointer->getCmPerTexel(); + f32 texelMaxZ = (frontRmZ - dMap_c::m_mySelfPointer->getCenterZ()) / dMap_c::m_mySelfPointer->getCmPerTexel(); + OS_REPORT("<%2d>texelMinZ<%10.3f>texelMaxZ<%10.3f>\n", i, texelMinZ, texelMaxZ); + + if (texelMinZ > stageTexelMinZ) { + stageTexelMinZ = texelMinZ; + } + + if (texelMaxZ > stageTexelMaxZ) { + stageTexelMaxZ = texelMaxZ; } } - - OS_REPORT("stageTexelMinZ<%10.3f>\n", stageTexelMinZ); } - } + + OS_REPORT("stageTexelMinZ<%10.3f>\n", stageTexelMinZ); + } + } + mList.copyHioToDst(); +} + +static void dummy() { + DEAD_STRING("リソース[パレット]"); + DEAD_STRING("■背景■"); + DEAD_STRING("■背景[アイコン]■"); + DEAD_STRING("・背景<アイコン>"); + DEAD_STRING("■背景[ダンジョン]■"); + DEAD_STRING("・背景<ダンジョン時>"); + DEAD_STRING("■背景[フィールド]■"); + DEAD_STRING("・背景<フィールド時>"); + DEAD_STRING("■未到達部屋■"); + DEAD_STRING("・黒<奈落>"); + DEAD_STRING("・入禁<進入禁止>"); + DEAD_STRING("・ライン<領域色には含まれません>"); + DEAD_STRING("■到達部屋■"); + DEAD_STRING("■プレイヤー在籍部屋■"); + DEAD_STRING("■ドア <プレイヤー在籍部屋>■"); + DEAD_STRING("■ドア <プレイヤー在籍部屋以外>■"); + DEAD_STRING("■宝箱■"); + DEAD_STRING("・本体<プレイヤー在籍部屋以外>"); + DEAD_STRING("■プレイヤーカーソル■"); + DEAD_STRING("・カーソル"); + DEAD_STRING("■入室位置■"); + DEAD_STRING("・入室位置"); + DEAD_STRING("・入室位置<プレイヤー在籍部屋以外>"); + DEAD_STRING("・鍵[本体]"); + DEAD_STRING("■ボス■"); + DEAD_STRING("・ボス[本体]"); + DEAD_STRING("・NPC[本体]"); + DEAD_STRING("■目的地■"); + DEAD_STRING("・目的地[本体]"); + DEAD_STRING("■ステージ出入り口■"); + DEAD_STRING("■ステージ出入り口LV8■"); + DEAD_STRING("・はぐれ天空人[本体]"); + DEAD_STRING("■ナイトストーカ結界■"); + DEAD_STRING("■ナイトストーカ結界<実際にはこのパレット色は未使用>■"); + DEAD_STRING("・境界線0"); + DEAD_STRING("・境界線1"); + DEAD_STRING("■フィールドマップ時縁取り■"); + DEAD_STRING("パレット"); + DEAD_STRING("リソース[パレット以外]"); + DEAD_STRING("■枠線の縁取り■\r\n"); + DEAD_STRING("・枠線の縁取りの線の本数"); + DEAD_STRING("・枠線の縁取りの線の太さ"); + DEAD_STRING(" 枠線に対しての加算値になっています。ただし0=描画無し"); + DEAD_STRING(" 値は1/6ピクセル単位です"); + DEAD_STRING(" 外枠は自分の居る場所が12それ以外は6です"); + DEAD_STRING("↓下になるほど描画優先順位が高くなります"); + DEAD_STRING("■フィールドマップの縁取り0■"); + DEAD_STRING("■フィールドマップの縁取り1■"); + DEAD_STRING("■フィールドマップの縁取り2■"); + DEAD_STRING("■フィールドマップの縁取り3■"); + DEAD_STRING("■カーソルの大きさ調節■"); + DEAD_STRING("みかけ上のドットの大きさを指定できます"); + DEAD_STRING("mCursorSize"); + DEAD_STRING("■ナイトストーカー結界■"); + DEAD_STRING("■ナイトストーカー結界1"); + DEAD_STRING("点滅周期"); + DEAD_STRING("■ナイトストーカー結界2"); + DEAD_STRING("■■エリアマップ関連[リソース以外]■■"); + DEAD_STRING("■スイッチ地形の強制ONOFF■\r\n"); + DEAD_STRING("・ONで↓有効"); + DEAD_STRING("・強制的にON,OFF"); + DEAD_STRING("■地形位置確認用■\r\n"); + DEAD_STRING("・ONで有効"); + DEAD_STRING("■マップOFFSET変更■\r\n"); + DEAD_STRING("■テスト■\r\n"); + DEAD_STRING("■フィールド屋外部屋切り替えスムーススクロール■\r\n"); + DEAD_STRING("・以下フレーム数\r\n"); + DEAD_STRING("・ウエイト"); + DEAD_STRING("・縁取り消失"); + DEAD_STRING("・スクロール"); + DEAD_STRING("・縁取り出現"); + DEAD_STRING("■デバック用全部屋表示スイッチ■\r\n"); + DEAD_STRING("ONで有効"); + DEAD_STRING("■マップの表示範囲調整■"); + DEAD_STRING("・フィールドマップ時"); + DEAD_STRING("表示範囲を調整するときはONにする"); + DEAD_STRING("・ダンジョンマップ時"); + DEAD_STRING("■マップデバック用■"); + DEAD_STRING("マップの中心をプレイヤーの座標にする"); + DEAD_STRING("■マップサイズチェック用■"); + DEAD_STRING("ラインの太さ"); + DEAD_STRING("■ステージサイズチェック用■"); + DEAD_STRING("■部屋サイズチェック用■"); + DEAD_STRING("■アイコンサイズ■"); + DEAD_STRING("ダンジョン出入り口"); + DEAD_STRING("小さな鍵"); + DEAD_STRING("ダンジョン出入口LV8"); + DEAD_STRING("あやつり石像"); + DEAD_STRING("はぐれ天空人"); + DEAD_STRING("部屋単独描画チェック"); + DEAD_STRING("部屋番号"); + DEAD_STRING("■アイコン優先順位チェック■"); + DEAD_STRING("ステージ出入り口"); + DEAD_STRING("Lv8出入り口"); + DEAD_STRING(""); + DEAD_STRING("・床1"); + DEAD_STRING("・床2"); + DEAD_STRING("・水"); + DEAD_STRING("・毒"); + DEAD_STRING("・炎"); + DEAD_STRING("・背景"); + DEAD_STRING("・本体"); + DEAD_STRING("■鍵■"); + DEAD_STRING("■NPC■"); + DEAD_STRING("・色1"); + DEAD_STRING("・色2"); + DEAD_STRING("・黒縁0"); + DEAD_STRING("・黒縁1"); + DEAD_STRING("・黒縁2"); + DEAD_STRING("・黒縁3"); + DEAD_STRING("0"); + DEAD_STRING("1"); + DEAD_STRING("2"); + DEAD_STRING("3"); + DEAD_STRING("・線1"); + DEAD_STRING("線太さ"); + DEAD_STRING("・色0"); + DEAD_STRING("・線2"); + DEAD_STRING("太さ"); + DEAD_STRING("・right"); + DEAD_STRING("・top"); + DEAD_STRING("宝箱"); + DEAD_STRING("ボス"); + DEAD_STRING("光の雫"); + DEAD_STRING("目的地"); + DEAD_STRING("NPC(猿)"); + DEAD_STRING("馬車"); + DEAD_STRING("鉄玉"); + DEAD_STRING("光の玉"); + DEAD_STRING("雪男"); + DEAD_STRING("雪女"); +} + +dMap_prm_hio_s dMap_HIO_c::m_prm_hio; +dMap_HIO_c g_dMap_HIO; +dMap_HIO_prm_other_s dMap_HIO_prm_res_dst_s::m_other; +dMap_HIO_c* dMap_HIO_c::mMySelfPointer; +dMap_prm_res_s* dMap_HIO_c::m_res_src_p; +dMap_c* dMap_c::m_mySelfPointer; + +const u8 dMap_HIO_prm_res_src_s::m_other[0x2f0] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x05, 0x14, + 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x9C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x28, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, + 0x41, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x41, 0x80, 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +const dMpath_HIO_n::list_s dMap_HIO_c::l_list = {dMap_HIO_c::l_listData, 0xb1}; + +void dMap_HIO_list_c::copySrcToHio() { + if (!dMap_HIO_c::m_res_src_p) { + return; + } + + dMpath_RGBA_c color; + for (int i = 0; i < 51; i++) { + color.setRGB5A3_palDt(dMap_HIO_c::m_res_src_p->palette_data[i]); + dMap_HIO_c::m_prm_hio.field_0x0[i] = color.getGXColor(); + } + memcpy(dMap_HIO_c::m_prm_hio.field_0xcc, &dMap_HIO_c::m_res_src_p->field_0x198, 0x24); + memcpy(&dMap_HIO_c::m_prm_hio.field_0xf0, &dMap_HIO_prm_res_src_s::m_other, 0x2f0); +} + +void dMap_HIO_list_c::copyHioToDst() { + if (!dMap_HIO_prm_res_dst_s::m_res) { + return; + } + + dMpath_RGB5A3_palDt_c pal_data; + for (int i = 0; i < 51; i++) { + pal_data.setGXColor(dMap_HIO_c::m_prm_hio.field_0x0[i]); + dMap_HIO_prm_res_dst_s::m_res->palette_data[i] = pal_data.getRGB5A3_palDt_s(); + } + memcpy(&dMap_HIO_prm_res_dst_s::m_res->field_0x198, dMap_HIO_c::m_prm_hio.field_0xcc, 0x24); + memcpy(&dMap_HIO_prm_res_dst_s::m_other, &dMap_HIO_c::m_prm_hio.field_0xf0, 0x2f0); + if (dMap_c::m_mySelfPointer && dMap_c::m_mySelfPointer->getStayType() == 0) { + pal_data.setGXColor(dMap_HIO_c::m_prm_hio.field_0x0[44]); + dMap_HIO_prm_res_dst_s::m_res->palette_data[1] = pal_data.getRGB5A3_palDt_s(); } } -void dMap_HIO_list_c::copySrcToHio() { - // DEBUG NONMATCHING - if (dMap_HIO_c::m_res_src_p != NULL) { - dMpath_RGBA_c color; - for (int i = 0; i < 51; i++) { - - } +void dMap_HIO_list_c::copyBufToHio(const char* param_1) { + dMap_prm_res_s* r29 = dMap_HIO_prm_res_dst_s::m_res; + memcpy(r29, param_1, 0x1bc); + dMpath_RGBA_c color; + for (int i = 0; i < 51; i++) { + color.setRGB5A3_palDt(r29->palette_data[i]); + dMap_HIO_c::m_prm_hio.field_0x0[i] = color.getGXColor(); } + memcpy(dMap_HIO_c::m_prm_hio.field_0xcc, &r29->field_0x198, 0x24); } #endif -f32 renderingAmap_c::getIconSize(u8 i_icon) const { +f32 renderingAmap_c::getIconSize(u8 i_typeGroup) const { static f32 const l_iconSize[] = { 0.12f, 0.12f, 0.08f, 0.12f, 0.08f, 0.16f, 0.12f, 0.0f, 0.12f, 0.08f, 0.08f, 0.08f, 0.08f, 0.08f, 0.08f, 0.08f, 0.08f, }; - return l_iconSize[i_icon]; + JUT_ASSERT(1012, (i_typeGroup >= 0) && (i_typeGroup < dTres_c::TYPE_GROUP_ENUM_NUMBER)); + + f32 iconSize = l_iconSize[i_typeGroup]; +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x40) { + iconSize = dMap_HIO_prm_res_dst_s::m_other.field_0x44[i_typeGroup] / 100.0f; + } +#endif + return iconSize; } dMap_prm_res_s* dMap_HIO_prm_res_dst_s::m_res; @@ -147,35 +344,35 @@ void renderingAmap_c::draw() { (f32)dMap_HIO_prm_res_dst_s::m_res->field_0x1aa); tmp = tmp; - f32 temp_f1 = 0.5f + ((0.5f * cM_ssin(65536.0f * tmp - 32768.0f))); + tmp = 0.5f + ((0.5f * cM_ssin(65536.0f * tmp - 32768.0f))); u8 temp_r31 = twoValueLineInterpolation(dMap_HIO_prm_res_dst_s::m_res->field_0x198, - dMap_HIO_prm_res_dst_s::m_res->field_0x19c, temp_f1); + dMap_HIO_prm_res_dst_s::m_res->field_0x19c, tmp); u8 temp_r30 = twoValueLineInterpolation(dMap_HIO_prm_res_dst_s::m_res->field_0x199, - dMap_HIO_prm_res_dst_s::m_res->field_0x19d, temp_f1); + dMap_HIO_prm_res_dst_s::m_res->field_0x19d, tmp); u8 temp_r29 = twoValueLineInterpolation(dMap_HIO_prm_res_dst_s::m_res->field_0x19a, - dMap_HIO_prm_res_dst_s::m_res->field_0x19e, temp_f1); + dMap_HIO_prm_res_dst_s::m_res->field_0x19e, tmp); u8 temp_r28 = twoValueLineInterpolation(dMap_HIO_prm_res_dst_s::m_res->field_0x19b, - dMap_HIO_prm_res_dst_s::m_res->field_0x19f, temp_f1); + dMap_HIO_prm_res_dst_s::m_res->field_0x19f, tmp); setAmapPaletteColor(0x2D, temp_r31, temp_r30, temp_r29, temp_r28); - f32 tmp2 = (f32)(g_Counter.mCounter0 % dMap_HIO_prm_res_dst_s::m_res->field_0x1ac) / + tmp = (f32)(g_Counter.mCounter0 % dMap_HIO_prm_res_dst_s::m_res->field_0x1ac) / (f32)dMap_HIO_prm_res_dst_s::m_res->field_0x1ac; - tmp2 = tmp2; + tmp = tmp; - f32 temp_f1_2 = 0.5f + (0.5f * cM_ssin(65536.0f * tmp2 - 32768.0f)); - u8 temp_r31_2 = + tmp = 0.5f + (0.5f * cM_ssin(65536.0f * tmp - 32768.0f)); + temp_r31 = twoValueLineInterpolation(dMap_HIO_prm_res_dst_s::m_res->field_0x1a0, - dMap_HIO_prm_res_dst_s::m_res->field_0x1a4, temp_f1_2); - u8 temp_r30_2 = + dMap_HIO_prm_res_dst_s::m_res->field_0x1a4, tmp); + temp_r30 = twoValueLineInterpolation(dMap_HIO_prm_res_dst_s::m_res->field_0x1a1, - dMap_HIO_prm_res_dst_s::m_res->field_0x1a5, temp_f1_2); - u8 temp_r29_2 = + dMap_HIO_prm_res_dst_s::m_res->field_0x1a5, tmp); + temp_r29 = twoValueLineInterpolation(dMap_HIO_prm_res_dst_s::m_res->field_0x1a2, - dMap_HIO_prm_res_dst_s::m_res->field_0x1a6, temp_f1_2); - u8 temp_r28_2 = + dMap_HIO_prm_res_dst_s::m_res->field_0x1a6, tmp); + temp_r28 = twoValueLineInterpolation(dMap_HIO_prm_res_dst_s::m_res->field_0x1a3, - dMap_HIO_prm_res_dst_s::m_res->field_0x1a7, temp_f1_2); - setAmapPaletteColor(0x2E, temp_r31_2, temp_r30_2, temp_r29_2, temp_r28_2); + dMap_HIO_prm_res_dst_s::m_res->field_0x1a7, tmp); + setAmapPaletteColor(0x2E, temp_r31, temp_r30, temp_r29, temp_r28); renderingDAmap_c::draw(); } @@ -183,7 +380,11 @@ void renderingAmap_c::draw() { int renderingAmap_c::getDispType() const { int disp_type; - switch (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo())) { + s32 upButton = dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()); + switch (upButton) { + default: + JUT_ASSERT(1075, FALSE); + break; case 7: disp_type = 1; break; @@ -206,15 +407,20 @@ int renderingAmap_c::getDispType() const { case 6: disp_type = 5; break; - default: - JUT_ASSERT(0, FALSE); - break; } return disp_type; } void renderingAmap_c::beforeDrawPath() { + static const GXColor roomSizeColor = {92, 0, 0, 0}; + +#if DEBUG + if (!dMap_HIO_prm_res_dst_s::m_other.field_0x22) { + field_0x38 = 2; + return; + } +#endif if (isDrawOutSideTrim()) { field_0x38 = 0; getOutSideBlackLineNumber(); @@ -225,6 +431,38 @@ void renderingAmap_c::beforeDrawPath() { field_0x38 = 2; } +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x34) { + GXSetMisc(GX_MT_XF_FLUSH, 0); + f32 f31 = dMpath_c::getMinX(); + f32 f30 = dMpath_c::getMinZ(); + f32 f29 = dMpath_c::getMaxX(); + f32 f28 = dMpath_c::getMaxZ(); + if (getStayType() == 0 && dMap_HIO_prm_res_dst_s::m_res->field_0x1ae > 0) { + f31 -= dMap_HIO_prm_res_dst_s::m_res->field_0x1b0 / 12 * mCmPerTexel; + f30 -= dMap_HIO_prm_res_dst_s::m_res->field_0x1b0 / 12 * mCmPerTexel; + f29 += dMap_HIO_prm_res_dst_s::m_res->field_0x1b0 / 12 * mCmPerTexel; + f28 += dMap_HIO_prm_res_dst_s::m_res->field_0x1b0 / 12 * mCmPerTexel; + } + setTevSettingNonTextureDirectColor(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS,GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetLineWidth(dMap_HIO_prm_res_dst_s::m_other.field_0x36, GX_TO_ZERO); + GXSetTevColor(GX_TEVREG0, roomSizeColor); + GXBegin(GX_LINESTRIP, GX_VTXFMT0, 5); + GXPosition2f32(f31, f30); + GXPosition2f32(f29, f30); + GXPosition2f32(f29, f28); + GXPosition2f32(f31, f28); + GXPosition2f32(f31, f30); + GXEnd(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetMisc(GX_MT_XF_FLUSH, 8); + } +#endif } void renderingAmap_c::afterDrawPath() { @@ -232,6 +470,34 @@ void renderingAmap_c::afterDrawPath() { } void renderingAmap_c::rendering(dDrawPath_c::room_class const* i_room) { + static const GXColor roomSizeColor = {92, 0, 0, 0}; +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x3c) { + GXSetMisc(GX_MT_XF_FLUSH, 0); + dStage_FileList2_dt_c* fileList = dStage_roomControl_c::getFileList2(mRoomNo); + f32 f31 = dStage_FileList2_dt_GetLeftRmX(fileList); + f32 f30 = dStage_FileList2_dt_GetInnerRmZ(fileList); + f32 f29 = dStage_FileList2_dt_GetRightRmX(fileList); + f32 f28 = dStage_FileList2_dt_GetFrontRmZ(fileList); + setTevSettingNonTextureDirectColor(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetLineWidth(dMap_HIO_prm_res_dst_s::m_other.field_0x3e, GX_TO_ZERO); + GXSetTevColor(GX_TEVREG0, roomSizeColor); + GXBegin(GX_LINESTRIP, GX_VTXFMT0, 5); + GXPosition2f32(f31, f30); + GXPosition2f32(f29, f30); + GXPosition2f32(f29, f28); + GXPosition2f32(f31, f28); + GXPosition2f32(f31, f30); + GXEnd(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetMisc(GX_MT_XF_FLUSH, 8); + } +#endif dDrawPath_c::rendering(i_room); } @@ -279,6 +545,11 @@ bool renderingAmap_c::isDrawOutSideTrim() { getDispType() == 5) { rt = dMap_HIO_prm_res_dst_s::m_res->field_0x1ae > 0; +#if DEBUG + if (!dMap_HIO_prm_res_dst_s::m_other.field_0x22) { + rt = 0; + } +#endif } return rt; @@ -313,6 +584,11 @@ int renderingAmap_c::getLineWidthSub(int i_no) { pat = l_lineWidthPatOn; } +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x38 && i_no == 3) { + return dMap_HIO_prm_res_dst_s::m_other.field_0x3a; + } +#endif return pat[i_no]; } @@ -345,6 +621,9 @@ s32 renderingAmap_c::getDecorationLineWidth(int param_0) { case 3: var_r31 = dMap_HIO_prm_res_dst_s::m_res->field_0x1b6; break; + default: + JUT_ASSERT(1484, FALSE); + break; } if (var_r31 > 0) { @@ -359,7 +638,12 @@ s32 renderingAmap_c::getDecorationLineWidth(int param_0) { } int renderingAmap_c::getLineWidth(int i_no) { - return getLineWidthSub(i_no); + int r30 = 0; + int r31 = 0; + if (r30 == 0) { + r31 = getLineWidthSub(i_no); + } + return r31; } const GXColor* dMap_c::getColor(int i_no) { @@ -406,21 +690,20 @@ const GXColor* dMap_c::getColor(int i_no) { GXColor* renderingAmap_c::getLineColor(int param_0, int param_1) { static GXColor backColor = {0x04, 0x00, 0x00, 0x00}; - static const GXColor borderColor0 = {0xB4, 0x00, 0x00, 0x00}; - static const GXColor borderColor1 = {0xB8, 0x00, 0x00, 0x00}; - GXColor* color = &backColor; if (param_1 == 4) { switch (field_0x3c) { case 0: + static const GXColor borderColor0 = {0xB4, 0x00, 0x00, 0x00}; *color = borderColor0; break; case 1: + static const GXColor borderColor1 = {0xB8, 0x00, 0x00, 0x00}; *color = borderColor1; break; default: - JUT_ASSERT(0, FALSE); + JUT_ASSERT(1636, FALSE); break; } } else { @@ -431,36 +714,50 @@ GXColor* renderingAmap_c::getLineColor(int param_0, int param_1) { } const GXColor* renderingAmap_c::getDecoLineColor(int param_0, int param_1) { - static GXColor const colorTable[] = { - {0xBC, 0x00, 0x00, 0x00}, - {0xC0, 0x00, 0x00, 0x00}, - {0xC4, 0x00, 0x00, 0x00}, - {0xC8, 0x00, 0x00, 0x00}, - }; - - const GXColor* color; if (isDrawOutSideTrim() && field_0x38 != 2) { - JUT_ASSERT(0, m_outSideBlackLineCnt < ARRAY_SIZEU(colorTable)); - color = &colorTable[m_outSideBlackLineCnt]; + static GXColor const colorTable[] = { + {0xBC, 0x00, 0x00, 0x00}, + {0xC0, 0x00, 0x00, 0x00}, + {0xC4, 0x00, 0x00, 0x00}, + {0xC8, 0x00, 0x00, 0x00}, + }; + JUT_ASSERT(1690, m_outSideBlackLineCnt < ARRAY_SIZEU(colorTable)); + return &colorTable[m_outSideBlackLineCnt]; } else { - color = getLineColor(param_0, param_1); + return getLineColor(param_0, param_1); } - - return color; } const Vec* dMap_c::getIconPosition(dTres_c::typeGroupData_c* i_data) const { +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x8a && i_data) { + u8 r29 = i_data->getTypeGroupNo(); + if (r29 < 17) { + Vec local_24 = *i_data->getPos(); + local_24.x += dMap_HIO_prm_res_dst_s::m_other.field_0x8c[r29]; + i_data->setPos(local_24); + } + } +#endif return renderingPlusDoorAndCursor_c::getIconPosition(i_data); } int renderingAmap_c::getIconGroupNumber(u8 param_0) const { - return renderingDAmap_c::getIconGroupNumber(param_0); + if (DEBUG && dMap_HIO_prm_res_dst_s::m_other.field_0x8a) { + return true; + } else { + return renderingDAmap_c::getIconGroupNumber(param_0); + } } bool renderingAmap_c::hasMap() const { int stay_type = getStayType(); - return stay_type == 1 && dMapInfo_n::chkGetMap(); + bool result = false; + if (stay_type == 1 && dMapInfo_n::chkGetMap()) { + result = true; + } + return result; } bool renderingAmap_c::isRendDoor() const { @@ -481,19 +778,51 @@ bool renderingAmap_c::isRendCursor() const { } bool renderingAmap_c::isRendAllRoom() const { +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x21) { + return true; + } +#endif int disp_type = getDispType(); - return disp_type != 2 && disp_type != 3 && disp_type != 5; + bool result = disp_type != 2 && disp_type != 3 && disp_type != 5; + return result; } +#if DEBUG +bool dMap_c::isSwitch(const dDrawPath_c::group_class* group) { + if (group->mSwbit == 0xff) { + return true; + } + if (dMap_HIO_prm_res_dst_s::m_other.field_0x10) { + if (group->mSwbit == 0xb2 && getStayType() == 0 && dComIfGs_isSaveDunSwitch(0x32)) { + if (!strcmp(dComIfGp_getStartStageName(), "F_SP121")) { + return renderingDAmap_c::isSwitch(group); + } + } + return dMap_HIO_prm_res_dst_s::m_other.field_0x11; + } + return renderingDAmap_c::isSwitch(group); +} +#endif + +const int MAP_DISP_TYPE_ENUM_END = 7; + int renderingAmap_c::getStayType() const { static int const l_stayType[] = {0, 1, 0, 0, 0, 0, 0}; - return l_stayType[getDispType()]; + int mapDispType = getDispType(); + JUT_ASSERT(1825, mapDispType < MAP_DISP_TYPE_ENUM_END); + return l_stayType[mapDispType]; } bool renderingAmap_c::isDrawIconSingle2(dTres_c::data_s const* i_data, bool param_1, bool param_2, int param_3) const { - JUT_ASSERT(0, i_data != NULL); +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x8a) { + return true; + } +#endif + JUT_ASSERT(1869, i_data != NULL); bool var_r31 = false; int disp_type = getDispType(); @@ -507,9 +836,12 @@ bool renderingAmap_c::isDrawIconSingle2(dTres_c::data_s const* i_data, bool para } switch (group_no) { + default: + JUT_ASSERT(1884, FALSE); + break; case 0: if (stay_type == 1) { - JUT_ASSERT(0, i_data->mNo != 255); + JUT_ASSERT(1888, i_data->mNo != 255); if (var_r23 && i_data->mNo != 255 && !dComIfGs_isTbox(i_data->mNo) && param_1) { var_r31 = true; @@ -559,7 +891,7 @@ bool renderingAmap_c::isDrawIconSingle2(dTres_c::data_s const* i_data, bool para } if (temp_r23_2) { - JUT_ASSERT(0, i_data->mNo != 255); + JUT_ASSERT(1982, i_data->mNo != 255); bool temp_r23_3 = false; if (i_data->mNo != 255 && !dComIfGs_isTbox(i_data->mNo)) { temp_r23_3 = true; @@ -658,15 +990,68 @@ bool renderingAmap_c::isDrawIconSingle2(dTres_c::data_s const* i_data, bool para var_r31 = true; } break; - default: - JUT_ASSERT(0, FALSE); + case 6: + case 7: break; } return var_r31; } +#if DEBUG +void dMap_c::beforeDrawPath() { + if (dMap_HIO_c::m_prm_hio.field_0xf0.field_0x0) { + static const GXColor roomSizeColor = {92, 0, 0, 0}; + GXSetMisc(GX_MT_XF_FLUSH,0); + f32 f31 = dMap_HIO_c::m_prm_hio.field_0xf0.field_0x4; + f32 f29 = dMpath_c::getMinZ(); + f32 f28 = dMpath_c::getMaxZ(); + setTevSettingNonTextureDirectColor(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetLineWidth(dMap_HIO_prm_res_dst_s::m_other.field_0x36, GX_TO_ZERO); + GXSetTevColor(GX_TEVREG0, roomSizeColor); + GXBegin(GX_LINES, GX_VTXFMT0, 2); + GXPosition2f32(f31, f29); + GXPosition2f32(f31, f28); + GXEnd(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetMisc(GX_MT_XF_FLUSH, 8); + } + if (dMap_HIO_c::m_prm_hio.field_0xf0.field_0x8) { + static const GXColor roomSizeColor = {92, 0, 0, 0}; + GXSetMisc(GX_MT_XF_FLUSH,0); + f32 f30 = dMap_HIO_c::m_prm_hio.field_0xf0.field_0xc; + f32 f27 = dMpath_c::getMinX(); + f32 f26 = dMpath_c::getMaxX(); + setTevSettingNonTextureDirectColor(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetLineWidth(dMap_HIO_prm_res_dst_s::m_other.field_0x36, GX_TO_ZERO); + GXSetTevColor(GX_TEVREG0, roomSizeColor); + GXBegin(GX_LINESTRIP, GX_VTXFMT0, 2); + GXPosition2f32(f27, f30); + GXPosition2f32(f26, f30); + GXEnd(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); + GXSetMisc(GX_MT_XF_FLUSH, 8); + } + renderingAmap_c::beforeDrawPath(); +} +#endif + bool dMap_c::isDrawType(int param_0) { +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x1c) { + return false; + } +#endif return (param_0 & 0x80) == 0; } @@ -684,7 +1069,7 @@ bool dMap_c::isSpecialOutline() { } void dMap_c::copyPalette() { - JUT_ASSERT(0, m_res != NULL); + JUT_ASSERT(2435, m_res != NULL); cLib_memCpy(m_res, m_res_src, sizeof(dMap_HIO_prm_res_dst_s::m_res->palette_data)); if (getStayType() == 0) { @@ -726,8 +1111,8 @@ dMap_c::dMap_c(int param_0, int param_1, int param_2, int param_3) { mTopEdgePlus = 0.0f; field_0x74 = 0; - mTexSizeW = 0; - mTexSizeH = 0; + mTexSizeX = 0; + mTexSizeY = 0; mStayRoomNo = -1; field_0x80 = -1; field_0x84 = -1; @@ -739,16 +1124,50 @@ dMap_c::dMap_c(int param_0, int param_1, int param_2, int param_3) { field_0x8f = 0; field_0x90 = 0; +#if DEBUG + field_0x91 = 0; + m_mySelfPointer = this; +#endif + m_res = new (0x20) dMap_prm_res_s; - JUT_ASSERT(0, m_res != NULL); + JUT_ASSERT(2559, m_res != NULL); dMap_HIO_prm_res_dst_s::m_res = m_res; +#if DEBUG + int stayNo = dComIfGp_roomControl_getStayNo(); + if (stayNo != 50 && stayNo != 51 && getDispType() == 1) { + f32 f31 = 0.0f; + stage_stag_info_class* stageInfo = dComIfGp_getStage()->getStagInfo(); + if (stageInfo) { + f31 = stageInfo->field_0x20; + } + if (f31 == 0.0f) { + const char* stageName = dComIfGp_getStartStageName(); + char buf[3]; + buf[0] = stageName[0]; + buf[1] = stageName[1]; + buf[2] = 0; + if (strcmp(buf, "T_")) { + JUT_WARN(2585, "Area map disp area size zero."); + } + } + } +#endif + m_res_src = (dMap_prm_res_s*)dComIfG_getObjectRes("Always", 0x45); + +#if DEBUG + cLib_memCpy(&dMap_HIO_prm_res_dst_s::m_other, &dMap_HIO_prm_res_src_s::m_other, 0x2f0); + dMap_HIO_c::m_res_src_p = m_res_src; + g_dMap_HIO.mList.copySrcToHio(); + g_dMap_HIO.mList.copyHioToDst(); +#endif + resCopy(); - mTexSizeW = param_0; - mTexSizeH = param_1; + mTexSizeX = param_0; + mTexSizeY = param_1; if (dMap_HIO_prm_res_dst_s::m_res->field_0x1ae > 0) { field_0x74 = dMap_HIO_prm_res_dst_s::m_res->field_0x1b0 / 6; @@ -756,14 +1175,14 @@ dMap_c::dMap_c(int param_0, int param_1, int param_2, int param_3) { int buffer_size = GXGetTexBufferSize(param_2, param_3, 9, GX_FALSE, 0); mImage_p = new (0x20) u8[buffer_size]; - JUT_ASSERT(0, mImage_p != NULL); + JUT_ASSERT(2638, mImage_p != NULL); - renderingDAmap_c::init(mImage_p, mTexSizeW, mTexSizeH, mTexSizeW, mTexSizeH); + renderingDAmap_c::init(mImage_p, mTexSizeX, mTexSizeY, mTexSizeX, mTexSizeY); mResTIMG = new (0x20) ResTIMG; - JUT_ASSERT(0, mResTIMG != NULL); + JUT_ASSERT(2647, mResTIMG != NULL); - makeResTIMG(mResTIMG, mTexSizeW, mTexSizeH, mImage_p, (u8*)m_res, 0x33); + makeResTIMG(mResTIMG, mTexSizeX, mTexSizeY, mImage_p, (u8*)m_res, 0x33); } #if DEBUG @@ -771,16 +1190,16 @@ void dMap_c::changeTextureSize(int param_1, int param_2, int param_3) { JUT_ASSERT(2672, mImage_p != NULL); JUT_ASSERT(2673, mResTIMG != NULL); - mTexSizeW = param_1 >> param_3; - mTexSizeH = param_2 >> param_3; + mTexSizeX = param_1 >> param_3; + mTexSizeY = param_2 >> param_3; - u32 imageSize = GXGetTexBufferSize(mTexSizeW, mTexSizeH, 9, 0, 0); - OS_REPORT("imageSize<%d> <%d kbyte>mTexSizeW<%d>mTexSizeH<%d>\n", imageSize, imageSize * (1.0f / 1024.f), mTexSizeW, mTexSizeH); + u32 imageSize = GXGetTexBufferSize(mTexSizeX, mTexSizeY, 9, 0, 0); + OS_REPORT("imageSize<%d> <%d kbyte>mTexSizeW<%d>mTexSizeH<%d>\n", imageSize, int(imageSize * (1.0f / 1024.f)), mTexSizeX, mTexSizeY); JUT_ASSERT(2682, mImage_p != NULL); - - init(mImage_p, mTexSizeW, mTexSizeH, param_1, param_2); - makeResTIMG(mResTIMG, mTexSizeW, mTexSizeH, mImage_p, (u8*)m_res, 0x33); + + init(mImage_p, mTexSizeX, mTexSizeY, param_1, param_2); + makeResTIMG(mResTIMG, mTexSizeX, mTexSizeY, mImage_p, (u8*)m_res, 0x33); } #endif @@ -807,7 +1226,7 @@ void dMap_c::getMapMinMaxXZ(int i_roomNo, f32* param_1, f32* param_2, f32* param f32 var_f2 = 0.0f; f32 var_f3 = 0.0f; - JUT_ASSERT(0, i_roomNo >= 0); + JUT_ASSERT(2749, i_roomNo >= 0); if (i_roomNo >= 0) { f32 temp_f31 = dMpath_c::getMinX(); @@ -821,7 +1240,7 @@ void dMap_c::getMapMinMaxXZ(int i_roomNo, f32* param_1, f32* param_2, f32* param f32 sp8 = 0.0f; dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i_roomNo); - JUT_ASSERT(0, fileList2_p != NULL); + JUT_ASSERT(2766, fileList2_p != NULL); if (fileList2_p != NULL) { dMapInfo_n::getRoomMinMaxXZ(i_roomNo, &sp14, &sp10, &spC, &sp8); @@ -829,7 +1248,7 @@ void dMap_c::getMapMinMaxXZ(int i_roomNo, f32* param_1, f32* param_2, f32* param switch (getDispType()) { default: - JUT_ASSERT(0, FALSE); + JUT_ASSERT(2773, FALSE); case 4: case 0: var_f0 = temp_f31; @@ -914,7 +1333,7 @@ void dMap_c::calcMapCenterXZ(int i_roomNo, f32* param_1, f32* param_2) { f32 var_f31 = 0.0f; f32 var_f30 = 0.0f; - JUT_ASSERT(0, i_roomNo >= 0); + JUT_ASSERT(2892, i_roomNo >= 0); if (i_roomNo >= 0) { f32 sp14 = 0.0f; @@ -937,11 +1356,11 @@ void dMap_c::calcMapCenterXZ(int i_roomNo, f32* param_1, f32* param_2) { } void dMap_c::calcMapCmPerTexel(int i_roomNo, f32* ip_cmPerTexel) { - JUT_ASSERT(0, i_roomNo >= 0); - JUT_ASSERT(0, ip_cmPerTexel != NULL); + JUT_ASSERT(2928, i_roomNo >= 0); + JUT_ASSERT(2929, ip_cmPerTexel != NULL); f32 cmPerTexel = 0.0f; - JUT_ASSERT(0, mTexSizeH != 0); + JUT_ASSERT(2931, mTexSizeY != 0); if (i_roomNo >= 0) { if (getStayType() == 0) { @@ -960,12 +1379,12 @@ void dMap_c::calcMapCmPerTexel(int i_roomNo, f32* ip_cmPerTexel) { var_f3 = temp_f0; } - cmPerTexel = var_f3 / ((f32)mTexSizeH - (f32)(field_0x74 + 4)); + cmPerTexel = var_f3 / ((f32)mTexSizeY - (f32)(field_0x74 + 4)); } else { f32 var_f31 = 0.0f; stage_stag_info_class* pstag = dComIfGp_getStage()->getStagInfo(); - JUT_ASSERT(0, pstag != NULL); + JUT_ASSERT(2952, pstag != NULL); if (pstag != NULL) { var_f31 = pstag->field_0x20; @@ -973,13 +1392,18 @@ void dMap_c::calcMapCmPerTexel(int i_roomNo, f32* ip_cmPerTexel) { if (var_f31 == 0.0f) { var_f31 = 10800.0f; +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x2c) { + var_f31 = dMap_HIO_prm_res_dst_s::m_other.field_0x30; + } +#endif } - cmPerTexel = var_f31 / (f32)mTexSizeH; + cmPerTexel = var_f31 / (f32)mTexSizeY; } } - JUT_ASSERT(0, cmPerTexel != 0.0f); + JUT_ASSERT(2967, cmPerTexel != 0.0f); if (ip_cmPerTexel != NULL) { *ip_cmPerTexel = cmPerTexel; @@ -995,15 +1419,22 @@ inline void getRGBA_RGB5A3(const dMpath_RGB5A3_palDt_s& palette, u8& r, u8& g, u temp_r0 = palette.field_0x0.color; if (temp_r0 & 0x8000) { - t_r = ((temp_r0 >> 7) & 0xF8) | (r >> 5); - t_g = ((temp_r0 >> 2) & 0xF8) | (g >> 5); - t_b = ((temp_r0 << 3) & 0xF8) | (b >> 5); + t_r = (temp_r0 >> 7) & 0xF8; + t_r |= r >> 5; + t_g = (temp_r0 >> 2) & 0xF8; + t_g |= g >> 5; + t_b = (temp_r0 << 3) & 0xF8; + t_b |= b >> 5; t_a = 0xFF; } else { - t_r = ((temp_r0 >> 4) & 0xF0) | (r >> 4); - t_g = ((temp_r0 >> 0) & 0xF0) | (g >> 4); - t_b = ((temp_r0 << 4) & 0xF0) | (b >> 4); - t_a = ((temp_r0 >> 7) & 0xE0) | (a >> 3) | (a >> 6); + t_r = (temp_r0 >> 4) & 0xF0; + t_r |= r >> 4; + t_g = (temp_r0 >> 0) & 0xF0; + t_g |= g >> 4; + t_b = (temp_r0 << 4) & 0xF0; + t_b |= b >> 4; + t_a = (temp_r0 >> 7) & 0xE0; + t_a |= a >> 3 | a >> 6; } r = t_r; @@ -1013,38 +1444,38 @@ inline void getRGBA_RGB5A3(const dMpath_RGB5A3_palDt_s& palette, u8& r, u8& g, u } void dMap_c::setMapPaletteColorAlphaPer(int i_paletteNo, f32 param_1) { - JUT_ASSERT(0, i_paletteNo < renderingAmap_c::PALETTE_NUMBER); + JUT_ASSERT(3027, i_paletteNo < renderingAmap_c::PALETTE_NUMBER); int pixel; - u8 scaled_a = 0; u8 r = 0; u8 g = 0; u8 b = 0; u8 a = 0; - dMpath_RGB5A3_palDt_s& temp_r31 = dMap_HIO_prm_res_dst_s::m_res->palette_data[i_paletteNo]; - getRGBA_RGB5A3(m_res_src->palette_data[i_paletteNo], r, g, b, a); + int paletteNo = i_paletteNo; + dMpath_RGB5A3_palDt_s& temp_r31 = dMap_HIO_prm_res_dst_s::m_res->palette_data[paletteNo]; + getRGBA_RGB5A3(m_res_src->palette_data[paletteNo], r, g, b, a); - scaled_a = a * param_1; - if (scaled_a >= 0xE0) { - pixel = ((r & 0xF8) << 7) | ((g & 0xF8) << 2) | ((b & 0xF8) >> 3) | 0x8000; + a = a * param_1; + if (a >= 0xE0) { + pixel = (r & 0xF8) << 7 | (g & 0xF8) << 2 | (b & 0xF8) >> 3 | 0x8000; } else { - pixel = ((r & 0xF0) << 4) | (g & 0xF0) | ((b & 0xF0) >> 4) | ((scaled_a & 0xE0) << 7); + pixel = (r & 0xF0) << 4 | (g & 0xF0) | (b & 0xF0) >> 4 | (a & 0xE0) << 7; } - temp_r31.field_0x0.color = pixel; - temp_r31.field_0x2.color = pixel; - temp_r31.field_0x4.color = pixel; - temp_r31.field_0x6.color = pixel; - DCStoreRange(&dMap_HIO_prm_res_dst_s::m_res->palette_data[i_paletteNo], + u16 r30 = pixel; + temp_r31.field_0x0.color = r30; + temp_r31.field_0x2.color = r30; + temp_r31.field_0x4.color = r30; + temp_r31.field_0x6.color = r30; + DCStoreRange(&dMap_HIO_prm_res_dst_s::m_res->palette_data[paletteNo], sizeof(dMpath_RGB5A3_palDt_s)); } void dMap_c::copyPalette(int i_dstPaletteNo, int i_srcPaletteNo, f32 param_2) { - JUT_ASSERT(0, i_dstPaletteNo < renderingAmap_c::PALETTE_NUMBER); - JUT_ASSERT(0, i_srcPaletteNo < renderingAmap_c::PALETTE_NUMBER); + JUT_ASSERT(3052, i_srcPaletteNo < renderingAmap_c::PALETTE_NUMBER); + JUT_ASSERT(3053, i_dstPaletteNo < renderingAmap_c::PALETTE_NUMBER); int pixel; - u8 scaled_a = 0; u8 r = 0; u8 g = 0; u8 b = 0; @@ -1052,23 +1483,24 @@ void dMap_c::copyPalette(int i_dstPaletteNo, int i_srcPaletteNo, f32 param_2) { dMpath_RGB5A3_palDt_s& temp_r31 = dMap_HIO_prm_res_dst_s::m_res->palette_data[i_dstPaletteNo]; getRGBA_RGB5A3(m_res_src->palette_data[i_srcPaletteNo], r, g, b, a); - scaled_a = a * param_2; - if (scaled_a >= 0xE0) { + a = a * param_2; + if (a >= 0xE0) { pixel = ((r & 0xF8) << 7) | ((g & 0xF8) << 2) | ((b & 0xF8) >> 3) | 0x8000; } else { - pixel = ((r & 0xF0) << 4) | (g & 0xF0) | ((b & 0xF0) >> 4) | ((scaled_a & 0xE0) << 7); + pixel = ((r & 0xF0) << 4) | (g & 0xF0) | ((b & 0xF0) >> 4) | ((a & 0xE0) << 7); } - temp_r31.field_0x0.color = pixel; - temp_r31.field_0x2.color = pixel; - temp_r31.field_0x4.color = pixel; - temp_r31.field_0x6.color = pixel; + u16 r30 = pixel; + temp_r31.field_0x0.color = r30; + temp_r31.field_0x2.color = r30; + temp_r31.field_0x4.color = r30; + temp_r31.field_0x6.color = r30; DCStoreRange(&dMap_HIO_prm_res_dst_s::m_res->palette_data[i_dstPaletteNo], sizeof(dMpath_RGB5A3_palDt_s)); } void dMap_c::setAmapPaletteColor(int i_paletteNo, u8 i_r, u8 i_g, u8 i_b, u8 i_scaledA) { - JUT_ASSERT(0, i_paletteNo < renderingAmap_c::PALETTE_NUMBER); + JUT_ASSERT(3088, i_paletteNo < renderingAmap_c::PALETTE_NUMBER); int pixel; if (i_scaledA >= 0xE0) { @@ -1078,11 +1510,12 @@ void dMap_c::setAmapPaletteColor(int i_paletteNo, u8 i_r, u8 i_g, u8 i_b, u8 i_s ((i_r & 0xF0) << 4) | (i_g & 0xF0) | ((i_b & 0xF0) >> 4) | ((i_scaledA & 0xE0) << 7); } + u16 r30 = pixel; dMpath_RGB5A3_palDt_s& temp_r31 = dMap_HIO_prm_res_dst_s::m_res->palette_data[i_paletteNo]; - temp_r31.field_0x0.color = pixel; - temp_r31.field_0x2.color = pixel; - temp_r31.field_0x4.color = pixel; - temp_r31.field_0x6.color = pixel; + temp_r31.field_0x0.color = r30; + temp_r31.field_0x2.color = r30; + temp_r31.field_0x4.color = r30; + temp_r31.field_0x6.color = r30; DCStoreRange(&dMap_HIO_prm_res_dst_s::m_res->palette_data[i_paletteNo], sizeof(dMpath_RGB5A3_palDt_s)); } @@ -1092,15 +1525,24 @@ int dMap_c::getDispType() const { } bool dMap_c::isDrawRoom(int param_0, int param_1) const { +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x88) { + if (!dMap_HIO_prm_res_dst_s::m_other.field_0x89) { + return true; + } else { + return false; + } + } +#endif if (field_0x8e == 2) { if (field_0x8f >= 3 && field_0x8f <= 3) { return param_0 == field_0x84 || param_0 == field_0x88; } else { return param_0 == field_0x80; } - } else { - return renderingDAmap_c::isDrawRoom(param_0, param_1); } + + return renderingDAmap_c::isDrawRoom(param_0, param_1); } int dMap_c::getRoomNoSingle() { @@ -1146,11 +1588,19 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { if (getStayType() == 0 && dComIfGs_isSaveDunSwitch(0x32) && strcmp(dComIfGp_getStartStageName(), "F_SP121") == 0) { +#if DEBUG + field_0x64 = 33830.0f; +#else field_0x64 = 0.0f; +#endif mPackPlusZ = -3710.0f; f32 temp = (field_0x58 * (f32)(field_0x74 + 4)) * 0.5f; +#if DEBUG + mRightEdgePlus = -(((dMpath_c::getMinZ() - (-127103.67f)) - temp) / field_0x58); +#else mRightEdgePlus = 0.0f; +#endif mTopEdgePlus = ((-22397.0f - dMpath_c::getMinZ()) - temp) / field_0x58; } else { mRightEdgePlus = 0.0f; @@ -1165,8 +1615,7 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { switch (getDispType()) { default: - case 0: - JUT_ASSERT(0, FALSE); + JUT_ASSERT(3384, FALSE); break; case 5: field_0x8e = 2; @@ -1174,6 +1623,11 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { case 1: field_0x8e = 1; break; + case 0: + case 2: + case 3: + case 4: + break; } switch (field_0x8e) { @@ -1217,9 +1671,20 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { if (field_0x80 != dMapInfo_c::getNextRoomNoForMapPat0()) { field_0x84 = (s8)dMapInfo_c::getNextRoomNoForMapPat0(); field_0x88 = field_0x80; +#if DEBUG + field_0x90 = dMap_HIO_prm_res_dst_s::m_other.field_0x1d; + if (!dMap_HIO_prm_res_dst_s::m_other.field_0x1d) { + field_0x8f = 2; + field_0x90 = dMap_HIO_prm_res_dst_s::m_other.field_0x1e; + } else { + field_0x8f = 1; + field_0x90 = dMap_HIO_prm_res_dst_s::m_other.field_0x1d; + } +#else field_0x90 = 30; field_0x8f = 1; field_0x90 = 30; +#endif } break; case 1: @@ -1229,14 +1694,22 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { if (field_0x90 == 0 && mStayRoomNo != field_0x88) { field_0x8f = 2; +#if DEBUG + field_0x90 = dMap_HIO_prm_res_dst_s::m_other.field_0x1e; +#else field_0x90 = 5; +#endif } break; case 2: field_0x90--; if (field_0x90 == 0) { field_0x8f = 3; +#if DEBUG + field_0x90 = dMap_HIO_prm_res_dst_s::m_other.field_0x1f; +#else field_0x90 = 20; +#endif } break; case 3: @@ -1251,7 +1724,11 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { mCenterX += mPackX; mCenterZ -= mPackZ; field_0x8f = 4; +#if DEBUG + field_0x90 = dMap_HIO_prm_res_dst_s::m_other.field_0x20; +#else field_0x90 = 5; +#endif } break; case 4: @@ -1292,10 +1769,16 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { break; case 2: switch (field_0x8f) { + case 1: + break; case 2: { - f32 temp_f31 = (f32)field_0x90 / 5.0f; - setMapPaletteColorAlphaPer(0x2F, 0x32, temp_f31); - setMapPaletteColorAlphaPer(0x21, 0x2B, temp_f31); +#if DEBUG + f32 local_68 = f32(field_0x90) / dMap_HIO_prm_res_dst_s::m_other.field_0x1e; +#else + f32 local_68 = f32(field_0x90) / 5.0f; +#endif + setMapPaletteColorAlphaPer(0x2F, 0x32, local_68); + setMapPaletteColorAlphaPer(0x21, 0x2B, local_68); break; } case 3: { @@ -1303,7 +1786,11 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { f32 sp24, sp20; calcMapCenterXZ(field_0x84, &sp24, &sp20); - f32 temp_f31_2 = 1.0f - ((f32)field_0x90 / 20.0f); +#if DEBUG + f32 temp_f31_2 = 1.0f - (f32(field_0x90) / dMap_HIO_prm_res_dst_s::m_other.field_0x1f); +#else + f32 temp_f31_2 = 1.0f - (f32(field_0x90) / 20.0f); +#endif mCenterX += temp_f31_2 * (sp24 - mCenterX); mCenterZ += temp_f31_2 * (sp20 - mCenterZ); @@ -1331,9 +1818,13 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { break; } case 4: { - f32 temp_f31_3 = 1.0f - ((f32)field_0x90 / 5.0f); - setMapPaletteColorAlphaPer(0x2F, 0x32, temp_f31_3); - setMapPaletteColorAlphaPer(0x21, 0x2B, temp_f31_3); +#if DEBUG + f32 local_8c = 1.0f - (f32(field_0x90) / dMap_HIO_prm_res_dst_s::m_other.field_0x20); +#else + f32 local_8c = 1.0f - (f32(field_0x90) / 5.0f); +#endif + setMapPaletteColorAlphaPer(0x2F, 0x32, local_8c); + setMapPaletteColorAlphaPer(0x21, 0x2B, local_8c); break; } case 6: @@ -1344,19 +1835,60 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { } field_0x8d = 1; +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x23) { + mCenterX = i_centerX; + mCenterZ = i_centerZ; + } + if (dMap_HIO_c::m_prm_hio.field_0xf0.field_0x12) { + calcMapCenterXZ(field_0x80, &mCenterX, &mCenterZ); + calcMapCmPerTexel(field_0x80, &field_0x58); + f32 local_90, local_94; + getPack(field_0x80, &local_90, &local_94); + local_90 += dMap_HIO_c::m_prm_hio.field_0xf0.field_0x14; + local_94 += dMap_HIO_c::m_prm_hio.field_0xf0.field_0x18; + mCenterX += local_90; + mCenterZ -= local_94; + OS_REPORT("mCenterX<%10.3f>mCenterZ<%10.3f>\n", mCenterX, mCenterZ); + } +#endif } void dMap_c::_draw() { if (mStayRoomNo >= 0 && field_0x8d != 0) { - s8 floor_no = dMapInfo_c::getNowStayFloorNo(); - entry(mCenterX, mCenterZ, field_0x58, mStayRoomNo, floor_no); + entry(mCenterX, mCenterZ, field_0x58, mStayRoomNo, dMapInfo_c::getNowStayFloorNo()); +#if DEBUG + field_0x91 = 0; +#endif } } dTres_c::typeGroupData_c* dMap_c::getFirstData(u8 param_0) { +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x8a) { + dTres_c::typeGroupData_c* typeGroupData = &dMap_HIO_prm_res_dst_s::m_other.field_0x114[param_0]; + typeGroupData->setNo(0); + typeGroupData->setRoomNo(dComIfGp_roomControl_getStayNo()); + typeGroupData->setStatus(0); + typeGroupData->setArg1(0); + typeGroupData->setPos(daPy_getPlayerActorClass()->current.pos); + typeGroupData->setSwBit(0xff); + typeGroupData->setType(dTres_c::getTypeGroupNoToType(param_0)); + typeGroupData->setArg2(0xff); + typeGroupData->setAngleY(0); + typeGroupData->setTypeGroupNo(param_0); + typeGroupData->setNextDataPointer(NULL); + return typeGroupData; + } +#endif return renderingPlusDoorAndCursor_c::getFirstData(param_0); } dTres_c::typeGroupData_c* dMap_c::getNextData(dTres_c::typeGroupData_c* param_0) { +#if DEBUG + if (dMap_HIO_prm_res_dst_s::m_other.field_0x8a) { + return NULL; + } +#endif return renderingPlusDoorAndCursor_c::getNextData(param_0); } diff --git a/src/d/d_map_path.cpp b/src/d/d_map_path.cpp index d34b981e89..ca95a043fd 100644 --- a/src/d/d_map_path.cpp +++ b/src/d/d_map_path.cpp @@ -36,6 +36,43 @@ void dMpath_n::dTexObjAggregate_c::remove() { } } +void dMpath_ColorCnv_n::convertRGB5A3_To_GXColor(_GXColor& color32, const dMpath_RGB5A3_s& color16) { + int r, g, b, a; + u16 color = color16.color; + if (color & 0x8000) { + r = color16.color >> 7 & 0xf8; + r |= r >> 5; + g = color16.color >> 2 & 0xf8; + g |= g >> 5; + b = color16.color << 3 & 0xf8; + b |= b >> 5; + a = 255; + } else { + r = color16.color >> 4 & 0xf0; + r |= r >> 4; + g = color16.color & 0xf0; + g |= g >> 4; + b = color16.color << 4 & 0xf0; + b |= b >> 4; + a = color16.color >> 7 & 0xe0; + a |= a >> 3 | a >> 6; + } + color32.r = r; + color32.g = g; + color32.b = b; + color32.a = a; +} + +void dMpath_RGBA_c::setGXColor(const GXColor& color) { + mColor = color; +} + +void dMpath_RGBA_c::setRGB5A3_palDt(const dMpath_RGB5A3_palDt_s& pal_data) { + GXColor color; + dMpath_ColorCnv_n::convertRGB5A3_To_GXColor(color, pal_data.field_0x0); + setGXColor(color); +} + #if DEBUG void dMpath_HIO_n::hioList_c::gen(JORMContext* mctx) { static const char* number[] = { @@ -381,7 +418,7 @@ void dRenderingFDAmap_c::preRenderingMap() { Mtx44 matrix; C_MTXOrtho(matrix, top, -top, -right, right, 0.0f, 10000.0f); GXSetProjection(matrix, GX_ORTHOGRAPHIC); - GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0); + GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0); GXSetCurrentMtx(0); drawBack(); } @@ -418,7 +455,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_F32, 0); GXSetNumTevStages(1); - GXLoadTexObj(dMpath_n::m_texObjAgg.mp_texObj[6], GX_TEXMAP0); + GXLoadTexObj(dMpath_n::m_texObjAgg.getTexObjPointer(6), GX_TEXMAP0); u16* data_p = p_line->mpData; s32 data_num = p_line->mDataNum; @@ -429,7 +466,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li lineColor.r = lineColor.r - 4; GXSetTevColor(GX_TEVREG1, lineColor); - for (int i = 0; i < data_num; data_p++, i++) { + for (int i = 0; i < data_num; i++) { #ifndef HYRULE_FIELD_SPEEDHACK if (i < data_num - 1) { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); @@ -443,6 +480,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXTexCoord2f32(0, 0); GXPosition1x16(data_p[1]); GXTexCoord2f32(0, 0); + GXEnd(); } GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_KONST, GX_CC_TEXC, GX_CC_C1); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); @@ -453,6 +491,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXPosition1x16(data_p[0]); GXTexCoord2f32(0, 0); GXEnd(); + data_p++; } setTevSettingNonTextureDirectColor(); diff --git a/src/d/d_menu_collect.cpp b/src/d/d_menu_collect.cpp index 636b797801..acf6408a6d 100644 --- a/src/d/d_menu_collect.cpp +++ b/src/d/d_menu_collect.cpp @@ -27,7 +27,7 @@ #include "d/d_item.h" #include "d/d_lib.h" #include "d/d_meter2_info.h" -#include "dolphin/os.h" +#include #include "m_Do/m_Do_graphic.h" #include "m_Do/m_Do_mtx.h" #include "JSystem/J2DGraph/J2DAnmLoader.h" diff --git a/src/d/d_menu_fishing.cpp b/src/d/d_menu_fishing.cpp index 50aedbf79f..b71f933f6d 100644 --- a/src/d/d_menu_fishing.cpp +++ b/src/d/d_menu_fishing.cpp @@ -129,7 +129,7 @@ bool dMenu_Fishing_c::isSync() { void dMenu_Fishing_c::init() { #if VERSION == VERSION_GCN_PAL BOOL isEnglish = FALSE; - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_ENGLISH) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_ENGLISH) { isEnglish = TRUE; } #endif diff --git a/src/d/d_menu_fmap.cpp b/src/d/d_menu_fmap.cpp index 7e847452cd..5c89256e06 100644 --- a/src/d/d_menu_fmap.cpp +++ b/src/d/d_menu_fmap.cpp @@ -102,14 +102,14 @@ dMf_HIO_c::dMf_HIO_c() { #if DEBUG void dMf_HIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("\n■枠BTKアニメフレーム", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("フレーム数", &mBackAnimeStep, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n■枠の明度", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mBaseBackAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n■もやもやBTKアニメフレーム", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("フレーム数", &mTopAnimeStep, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n■もやもやの明度", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mMoyaAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("\n■枠BTKアニメフレーム", 0); + mctx->genSlider("フレーム数", &mBackAnimeStep, 0.0, 10.0); + mctx->genLabel("\n■枠の明度", 0); + mctx->genSlider("アルファ", &mBaseBackAlpha, 0, 255); + mctx->genLabel("\n■もやもやBTKアニメフレーム", 0); + mctx->genSlider("フレーム数", &mTopAnimeStep, 0.0, 10.0); + mctx->genLabel("\n■もやもやの明度", 0); + mctx->genSlider("アルファ", &mMoyaAlpha, 0, 255); } #endif @@ -1020,7 +1020,7 @@ void dMenu_Fmap_c::portal_warp_map_proc() { } } else if (mPortalNo == 3) { if ((dMeter2Info_getMapStatus() == 3 - && dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 2 + && dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == dStage_SaveTbl_FARON && dComIfGs_isOneZoneSwitch(0xf, -1)) /* dSv_event_flag_c::M_018 - Main Event - Brought Kakariko bridge back to original location */ || dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x33])) diff --git a/src/d/d_menu_fmap_map.cpp b/src/d/d_menu_fmap_map.cpp index 7f141181bd..fb51845497 100644 --- a/src/d/d_menu_fmap_map.cpp +++ b/src/d/d_menu_fmap_map.cpp @@ -287,14 +287,14 @@ dMfm_HIO_c::dMfm_HIO_c() { void dMfm_HIO_c::genMessage(JORMContext* mctx) { // DEBUG NONMATCHING - mctx->genLabel("フィールドマップ パスマップ 調整項目", 0, 0, NULL, -1, -1, 512, 24); - mctx->genButton("初期化", 0x4000005, 0, NULL, -1, -1, 512, 24); - mctx->genButton("HOSTIO順テキストファイル書き出し", 0x4000006, 0, NULL, -1, -1, 512, 24); - mctx->genButton("バイナリ順テキスト書き出し", 0x4000007, 0, NULL, -1, -1, 512, 24); - mctx->genButton("バイナリファイル書き出し", 0x4000008, 0, NULL, -1, -1, 512, 24); - mctx->genButton("バイナリファイル読み込み", 0x4000009, 0, NULL, -1, -1, 512, 24); - mctx->genButton("バイナリダンプ", 0x400000a, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("■■リソースに入らない調整項目■■", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("フィールドマップ パスマップ 調整項目", 0); + mctx->genButton("初期化", 0x4000005); + mctx->genButton("HOSTIO順テキストファイル書き出し", 0x4000006); + mctx->genButton("バイナリ順テキスト書き出し", 0x4000007); + mctx->genButton("バイナリファイル書き出し", 0x4000008); + mctx->genButton("バイナリファイル読み込み", 0x4000009); + mctx->genButton("バイナリダンプ", 0x400000a); + mctx->genLabel("■■リソースに入らない調整項目■■", 0); field_0xc.gen(mctx); } diff --git a/src/d/d_menu_item_explain.cpp b/src/d/d_menu_item_explain.cpp index 665d2b9928..a710bd8aba 100644 --- a/src/d/d_menu_item_explain.cpp +++ b/src/d/d_menu_item_explain.cpp @@ -360,7 +360,7 @@ void dMenu_ItemExplain_c::open_init() { u8 itemNo = field_0xe1; s32 iVar = -1; if (itemNo == 0x26) { - if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11) { + if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == dStage_SaveTbl_LV2) { s32 itemsObtained = 0; for (int i = 0; i < 3; i++) { if (checkItemGet(i + fpcNm_ITEM_L2_KEY_PIECES1, 1) != 0) { @@ -377,7 +377,7 @@ void dMenu_ItemExplain_c::open_init() { itemNo = 0xfd; } } else { - if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14) { + if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == dStage_SaveTbl_LV5) { itemNo = 0xf6; } } @@ -622,7 +622,7 @@ u8 dMenu_ItemExplain_c::openExplainDmap(u8 param_0, u8 param_1, u8 param_2, bool u8 ret = 0; s32 itemsObtained = 0; - if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11 && param_0 == 0x26) { + if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == dStage_SaveTbl_LV2 && param_0 == 0x26) { for (int i = 0; i < 3; i++) { if (checkItemGet(i + fpcNm_ITEM_L2_KEY_PIECES1, 1) != 0) { itemsObtained++; @@ -644,7 +644,7 @@ u8 dMenu_ItemExplain_c::openExplainDmap(u8 param_0, u8 param_1, u8 param_2, bool mStatus = 1; field_0xe1 = param_0; field_0xcc = itemNo + 0x165; - if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14 && itemNo == 0x23) { + if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == dStage_SaveTbl_LV5 && itemNo == 0x23) { field_0xcc = 0x5bf; } if (itemNo == 0x25 && dComIfGs_isDungeonItemWarp(0x16)) { diff --git a/src/d/d_menu_letter.cpp b/src/d/d_menu_letter.cpp index 0c91e663b3..a82082677d 100644 --- a/src/d/d_menu_letter.cpp +++ b/src/d/d_menu_letter.cpp @@ -10,7 +10,7 @@ #include "d/d_meter2_info.h" #include "d/d_meter_HIO.h" #include "d/d_msg_string.h" -#include "dolphin/types.h" +#include #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" #include "d/d_msg_scrn_arrow.h" diff --git a/src/d/d_menu_option.cpp b/src/d/d_menu_option.cpp index b4c5d05785..b398a06789 100644 --- a/src/d/d_menu_option.cpp +++ b/src/d/d_menu_option.cpp @@ -18,7 +18,7 @@ #include "d/d_meter_haihai.h" #include "d/d_msg_string.h" #include "d/d_select_cursor.h" -#include "dolphin/types.h" +#include #include "f_op/f_op_msg_mng.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" diff --git a/src/d/d_menu_quit.cpp b/src/d/d_menu_quit.cpp new file mode 100644 index 0000000000..6ad35a184b --- /dev/null +++ b/src/d/d_menu_quit.cpp @@ -0,0 +1,153 @@ +#include "d/dolzel.h" // IWYU pragma: keep + +#include "d/d_menu_quit.h" +#include "d/d_lib.h" + +dMq_HIO_c g_mqHIO; + +dMq_HIO_c::~dMq_HIO_c() {} + +dMq_HIO_c::dMq_HIO_c() {} + +void dMq_HIO_c::genMessage(JORMContext*) {} + +typedef void (dMenu_Quit_c::*moveProc)(); +static moveProc move_process[] = { + &dMenu_Quit_c::select1_proc, + &dMenu_Quit_c::select2_proc, + &dMenu_Quit_c::messageChange, +}; + +// stripped, but based on asserts it was likely the constructor goes here +dMenu_Quit_c::dMenu_Quit_c() { + JUT_ASSERT(0, mStick != NULL); + JUT_ASSERT(0, mpScrnExplain != NULL); +} + +dMenu_Quit_c::~dMenu_Quit_c() { + delete mStick; + delete mpScrnExplain; + mpScrnExplain = NULL; +} + +void dMenu_Quit_c::select1_init() { + field_0x14 = 1; + field_0x1c = 1; + msgTxtSet(0x4B2, false); // "Continue?" + field_0x12 = 0; +} + +void dMenu_Quit_c::select1_proc() { + bool isSelect = YesNoSelect(); + if (isSelect) { + if (field_0x14 == 1 || field_0x14 == 2) { + field_0x10 = 0; + field_0x11 = 1; + } else { + select2_init(); + } + } +} + +void dMenu_Quit_c::select2_init() { + field_0x14 = 0; + field_0x1c = 1; + msgTxtSet(0x4B3, false); // "Really quit?" + field_0x12 = 1; +} + +void dMenu_Quit_c::select2_proc() { + bool isSelect = YesNoSelect(); + if (isSelect) { + if (field_0x14 == 1) { + mDoAud_bgmStop(30); + dComIfGp_setNextStage("name", 0, 0, 0); + } else { + select1_init(); + } + } +} + +void dMenu_Quit_c::messageChange() { + bool rt; + + if (mpScrnExplain->getStatus() != dMsgScrnExplain_c::STATUS_WAIT_e) { + if (mpScrnExplain->getStatus() == dMsgScrnExplain_c::STATUS_MOVE_e || mpScrnExplain->getStatus() == dMsgScrnExplain_c::STATUS_MOVE_SELECT_e) { + mpScrnExplain->onForceSelect(); + } + + mpScrnExplain->move(); + } else { + if (field_0x1c == 1) { + rt = mpScrnExplain->openExplain(mMsgId, 1, field_0x14 != 0 ? 0 : 1, 0xFF, field_0x20); + } else { + rt = mpScrnExplain->openExplain(mMsgId, 0, 0, 0xFF, true); + } + + if (rt == 1) { + field_0x12 = field_0x13; + } + } +} + +bool dMenu_Quit_c::YesNoSelect() { + bool rt = false; + if (mpScrnExplain->getStatus() == dMsgScrnExplain_c::STATUS_WAIT_e) { + rt = true; + field_0x1c = 0; + } + + if (field_0x22 == 4) { + switch (mpScrnExplain->getSelectCursor()) { + case 0: + field_0x14 = 1; + break; + case 1: + field_0x14 = 0; + break; + case 0xFF: + field_0x14 = 2; + break; + } + } + + if (field_0x22 == 4 && mpScrnExplain->getStatus() == dMsgScrnExplain_c::STATUS_CLOSE_e) { + if (field_0x12 == 0) { + mDoAud_seStart(Z2SE_SY_CURSOR_OK, NULL, 0, 0); + } else if (field_0x12 == 1) { + if (field_0x14 == 1) { + mDoAud_seStart(Z2SE_QUIT_GAME, NULL, 0, 0); + } else { + mDoAud_seStart(Z2SE_SY_CURSOR_CANCEL, NULL, 0, 0); + } + } + } + + return rt; +} + +void dMenu_Quit_c::msgTxtSet(u16 i_msgId, bool param_1) { + param_1 = true; + + if (i_msgId != 0xFFFF) { + bool rt; + if (field_0x1c == 1) { + rt = mpScrnExplain->openExplain(i_msgId, 1, field_0x14 != 0 ? 0 : 1, 0xFF, param_1); + } else { + rt = mpScrnExplain->openExplain(i_msgId, 0, 0, 0xFF, true); + } + + if (!rt) { + field_0x20 = param_1; + mMsgId = i_msgId; + field_0x13 = field_0x12; + field_0x12 = 2; + } + } + + field_0x21 = 0; +} + +void dDlst_MenuQuitExplain_c::draw() { + mpExplain->draw((J2DOrthoGraph*)dComIfGp_getCurrentGrafPort()); +} diff --git a/src/d/d_meter_HIO.cpp b/src/d/d_meter_HIO.cpp index 20a5fe7ba1..7d3513aade 100644 --- a/src/d/d_meter_HIO.cpp +++ b/src/d/d_meter_HIO.cpp @@ -17,7 +17,7 @@ dMeter_menuHIO_c::dMeter_menuHIO_c() { #if DEBUG void dMeter_menuHIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("ゲームオーバー", &mGameover, 1, 20000, 0, NULL, -1, -1, 512, 24); + mctx->genSlider("ゲームオーバー", &mGameover, 1, 20000); } #endif @@ -63,70 +63,70 @@ dMeter_drawCollectHIO_c::dMeter_drawCollectHIO_c() { #if DEBUG void dMeter_drawCollectHIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("*****アイテム*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("アイテムスケール(小)", &mUnselectItemScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテムスケール(大)", &mSelectItemScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****セーブ・オプション*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("アイテムスケール(小)", &mUnselectSaveOptionScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテムスケール(大)", &mSelectSaveOptionScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****青いモヤモヤパーツ*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mBlueSmokePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mBlueSmokePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mBlueSmokeScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mBlueSmokeAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ミドナの仮面・鏡*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mMaskMirrorPos.x, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mMaskMirrorPos.y, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Z", &mMaskMirrorPos.z, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アングルX", &mMaskMirrorAngle.x, -0x8000, 0x7fff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アングルY", &mMaskMirrorAngle.y, -0x8000, 0x7fff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アングルZ", &mMaskMirrorAngle.z, -0x8000, 0x7fff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mMaskMirrorScale, -1.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメーション", &mMaskMirrorAnimSpeed, 0.0f, 10.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ハートの器*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mHeartVesselPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mHeartVesselPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mHeartVesselScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ハートのかけら*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mHeartPiecePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mHeartPiecePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mHeartPieceScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ボタンデバッグON", (u8*)&mButtonDebugON, 1, 0, 0, -1, -1, 512, 24); - mctx->genLabel("*****Aボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonAPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonAPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonAScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Bボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonBPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonBPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonBScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Aテキスト*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonATextPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonATextPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonATextScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Bテキスト*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonBTextPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonBTextPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonBTextScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("カラーデバッグON", (u8*)&mColorDebugON, 1, 0, 0, -1, -1, 512, 24); - mctx->genLabel("*****カラーht_n_bas*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒R", &mVesselBack[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒G", &mVesselBack[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒B", &mVesselBack[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒A", &mVesselBack[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白R", &mVesselFront[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白G", &mVesselFront[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白B", &mVesselFront[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白A", &mVesselFront[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****カラーh_kaz_n*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒R", &mVesselBack[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒G", &mVesselBack[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒B", &mVesselBack[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒A", &mVesselBack[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白R", &mVesselFront[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白G", &mVesselFront[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白B", &mVesselFront[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白A", &mVesselFront[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("*****アイテム*****", 0); + mctx->genSlider("アイテムスケール(小)", &mUnselectItemScale, 0.0f, 3.0f); + mctx->genSlider("アイテムスケール(大)", &mSelectItemScale, 0.0f, 3.0f); + mctx->genLabel("*****セーブ・オプション*****", 0); + mctx->genSlider("アイテムスケール(小)", &mUnselectSaveOptionScale, 0.0f, 3.0f); + mctx->genSlider("アイテムスケール(大)", &mSelectSaveOptionScale, 0.0f, 3.0f); + mctx->genLabel("*****青いモヤモヤパーツ*****", 0); + mctx->genSlider("位置調整X", &mBlueSmokePosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mBlueSmokePosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mBlueSmokeScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mBlueSmokeAlpha, 0.0f, 1.0f); + mctx->genLabel("*****ミドナの仮面・鏡*****", 0); + mctx->genSlider("位置調整X", &mMaskMirrorPos.x, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mMaskMirrorPos.y, -300.0f, 300.0f); + mctx->genSlider("位置調整Z", &mMaskMirrorPos.z, -300.0f, 300.0f); + mctx->genSlider("アングルX", &mMaskMirrorAngle.x, -0x8000, 0x7fff); + mctx->genSlider("アングルY", &mMaskMirrorAngle.y, -0x8000, 0x7fff); + mctx->genSlider("アングルZ", &mMaskMirrorAngle.z, -0x8000, 0x7fff); + mctx->genSlider("スケール", &mMaskMirrorScale, -1.0f, 3.0f); + mctx->genSlider("アニメーション", &mMaskMirrorAnimSpeed, 0.0f, 10.0f); + mctx->genLabel("*****ハートの器*****", 0); + mctx->genSlider("位置調整X", &mHeartVesselPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mHeartVesselPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mHeartVesselScale, 0.0f, 3.0f); + mctx->genLabel("*****ハートのかけら*****", 0); + mctx->genSlider("位置調整X", &mHeartPiecePosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mHeartPiecePosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mHeartPieceScale, 0.0f, 3.0f); + mctx->genCheckBox("ボタンデバッグON", (u8*)&mButtonDebugON, 0x1); + mctx->genLabel("*****Aボタン*****", 0); + mctx->genSlider("位置調整X", &mButtonAPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonAPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mButtonAScale, 0.0f, 3.0f); + mctx->genLabel("*****Bボタン*****", 0); + mctx->genSlider("位置調整X", &mButtonBPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonBPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mButtonBScale, 0.0f, 3.0f); + mctx->genLabel("*****Aテキスト*****", 0); + mctx->genSlider("位置調整X", &mButtonATextPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonATextPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mButtonATextScale, 0.0f, 3.0f); + mctx->genLabel("*****Bテキスト*****", 0); + mctx->genSlider("位置調整X", &mButtonBTextPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonBTextPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mButtonBTextScale, 0.0f, 3.0f); + mctx->genCheckBox("カラーデバッグON", (u8*)&mColorDebugON, 0x1); + mctx->genLabel("*****カラーht_n_bas*****", 0); + mctx->genSlider("黒R", &mVesselBack[0].r, 0, 255); + mctx->genSlider("黒G", &mVesselBack[0].g, 0, 255); + mctx->genSlider("黒B", &mVesselBack[0].b, 0, 255); + mctx->genSlider("黒A", &mVesselBack[0].a, 0, 255); + mctx->genSlider("白R", &mVesselFront[0].r, 0, 255); + mctx->genSlider("白G", &mVesselFront[0].g, 0, 255); + mctx->genSlider("白B", &mVesselFront[0].b, 0, 255); + mctx->genSlider("白A", &mVesselFront[0].a, 0, 255); + mctx->genLabel("*****カラーh_kaz_n*****", 0); + mctx->genSlider("黒R", &mVesselBack[1].r, 0, 255); + mctx->genSlider("黒G", &mVesselBack[1].g, 0, 255); + mctx->genSlider("黒B", &mVesselBack[1].b, 0, 255); + mctx->genSlider("黒A", &mVesselBack[1].a, 0, 255); + mctx->genSlider("白R", &mVesselFront[1].r, 0, 255); + mctx->genSlider("白G", &mVesselFront[1].g, 0, 255); + mctx->genSlider("白B", &mVesselFront[1].b, 0, 255); + mctx->genSlider("白A", &mVesselFront[1].a, 0, 255); } #endif @@ -161,52 +161,52 @@ dMeter_drawOptionHIO_c::dMeter_drawOptionHIO_c() { #if DEBUG void dMeter_drawOptionHIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("open frame", &mOpenFrames, 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("close frame", &mCloseFrames, 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("デバッグON", (u8*)&mDebug, 1, 0, 0, -1, -1, 512, 24); - mctx->genLabel("*****矢印*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("サイズ", &mArrowSize, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****項目名カラー*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genLabel("*****選択中カラー*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("R", &mSelectColor.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("G", &mSelectColor.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("B", &mSelectColor.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****非選択中カラー*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("R", &mUnselectColor.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("G", &mUnselectColor.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("B", &mUnselectColor.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********バーのスケール********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("選択時", &mBarScale[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("非選択時", &mBarScale[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ウインドウ*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置X", &mWindowPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mWindowPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ", &mWindowScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****メニュー位置*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genLabel("*****注目タイプ*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置X", &mOptionTypeBGPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mOptionTypeBGPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ふりがな*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置X", &mOptionTypeBGPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mOptionTypeBGPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****しんどう*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置X", &mOptionTypeBGPosX[2], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mOptionTypeBGPosY[2], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****サウンド*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置X", &mOptionTypeBGPosX[3], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mOptionTypeBGPosY[3], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****テレビ画面の設定*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置X", &mTVsettingPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mTVsettingPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****キャリブレーション*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置X", &mPointerCalibrationPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mPointerCalibrationPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****設定確認*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("背景アルファ", &mBackgroundAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mBackgroundPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ハイハイ矢印*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("幅オフセットX", &mArrowOffsetX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("幅オフセットX(4:3)", &mArrowOffsetX_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); + mctx->genSlider("open frame", &mOpenFrames, 1, 20); + mctx->genSlider("close frame", &mCloseFrames, 1, 20); + mctx->genCheckBox("デバッグON", (u8*)&mDebug, 0x1); + mctx->genLabel("*****矢印*****", 0); + mctx->genSlider("サイズ", &mArrowSize, 0.0f, 3.0f); + mctx->genLabel("*****項目名カラー*****", 0); + mctx->genLabel("*****選択中カラー*****", 0); + mctx->genSlider("R", &mSelectColor.r, 0, 255); + mctx->genSlider("G", &mSelectColor.g, 0, 255); + mctx->genSlider("B", &mSelectColor.b, 0, 255); + mctx->genLabel("*****非選択中カラー*****", 0); + mctx->genSlider("R", &mUnselectColor.r, 0, 255); + mctx->genSlider("G", &mUnselectColor.g, 0, 255); + mctx->genSlider("B", &mUnselectColor.b, 0, 255); + mctx->genLabel("********バーのスケール********", 0); + mctx->genSlider("選択時", &mBarScale[0], 0.0f, 3.0f); + mctx->genSlider("非選択時", &mBarScale[1], 0.0f, 3.0f); + mctx->genLabel("*****ウインドウ*****", 0); + mctx->genSlider("位置X", &mWindowPosX, -300.0f, 300.0f); + mctx->genSlider("位置Y", &mWindowPosY, -300.0f, 300.0f); + mctx->genSlider("サイズ", &mWindowScale, 0.0f, 3.0f); + mctx->genLabel("*****メニュー位置*****", 0); + mctx->genLabel("*****注目タイプ*****", 0); + mctx->genSlider("位置X", &mOptionTypeBGPosX[0], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mOptionTypeBGPosY[0], -300.0f, 300.0f); + mctx->genLabel("*****ふりがな*****", 0); + mctx->genSlider("位置X", &mOptionTypeBGPosX[1], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mOptionTypeBGPosY[1], -300.0f, 300.0f); + mctx->genLabel("*****しんどう*****", 0); + mctx->genSlider("位置X", &mOptionTypeBGPosX[2], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mOptionTypeBGPosY[2], -300.0f, 300.0f); + mctx->genLabel("*****サウンド*****", 0); + mctx->genSlider("位置X", &mOptionTypeBGPosX[3], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mOptionTypeBGPosY[3], -300.0f, 300.0f); + mctx->genLabel("*****テレビ画面の設定*****", 0); + mctx->genSlider("位置X", &mTVsettingPosX, -300.0f, 300.0f); + mctx->genSlider("位置Y", &mTVsettingPosY, -300.0f, 300.0f); + mctx->genLabel("*****キャリブレーション*****", 0); + mctx->genSlider("位置X", &mPointerCalibrationPosX, -300.0f, 300.0f); + mctx->genSlider("位置Y", &mPointerCalibrationPosY, -300.0f, 300.0f); + mctx->genLabel("*****設定確認*****", 0); + mctx->genSlider("背景アルファ", &mBackgroundAlpha, 0, 255); + mctx->genSlider("位置Y", &mBackgroundPosY, -300.0f, 300.0f); + mctx->genLabel("*****ハイハイ矢印*****", 0); + mctx->genSlider("幅オフセットX", &mArrowOffsetX, -300.0f, 300.0f); + mctx->genSlider("幅オフセットX(4:3)", &mArrowOffsetX_4x3, -300.0f, 300.0f); } #endif @@ -249,67 +249,67 @@ dMeter_drawLetterHIO_c::dMeter_drawLetterHIO_c() { #if DEBUG void dMeter_drawLetterHIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("open frame", &mOpenFrame[0], 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("close frame", &mCloseFrame[0], 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("本文オープン", &mOpenFrame[1], 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("本文クローズ", &mCloseFrame[1], 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("手紙の枚数", &mLetterNum, 0, 54, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("デバッグON", (u8*)&mDebugON, 1, 0, 0, -1, -1, 512, 24); - mctx->genLabel("********選択時のページアイコンのカラー********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mSelectPageIconBack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mSelectPageIconBack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mSelectPageIconBack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mSelectPageIconBack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mSelectPageIconFront.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mSelectPageIconFront.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mSelectPageIconFront.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mSelectPageIconFront.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********非選択時のページアイコンのアルファ********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mUnselectPageIconAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********選択時のバーのカラー********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mSelectBarBack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mSelectBarBack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mSelectBarBack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mSelectBarBack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mSelectBarFront.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mSelectBarFront.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mSelectBarFront.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mSelectBarFront.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********バーのスケール********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("選択時", &mSelectBarScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("非選択時", &mUnselectBarScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********選択時のテキストのカラー********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mSelectTextBack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mSelectTextBack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mSelectTextBack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mSelectTextBack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mSelectTextFront.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mSelectTextFront.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mSelectTextFront.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mSelectTextFront.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********手紙の文字のカラー********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mLetterTextBack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mLetterTextBack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mLetterTextBack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mLetterTextBack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mLetterTextFront.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mLetterTextFront.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mLetterTextFront.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mLetterTextFront.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********手紙全体の調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mWindowPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mWindowPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mWindowScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********手紙ウインドウ全体の調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mLetterWindowPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mLetterWindowPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mLetterWindowScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********手紙ウインドウ背景の調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mWindowBGAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********手紙ウインドウラインの調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mLetterLinePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mLetterLinePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mLetterLineAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); + mctx->genSlider("open frame", &mOpenFrame[0], 1, 20); + mctx->genSlider("close frame", &mCloseFrame[0], 1, 20); + mctx->genSlider("本文オープン", &mOpenFrame[1], 1, 20); + mctx->genSlider("本文クローズ", &mCloseFrame[1], 1, 20); + mctx->genSlider("手紙の枚数", &mLetterNum, 0, 54); + mctx->genCheckBox("デバッグON", (u8*)&mDebugON, 0x1); + mctx->genLabel("********選択時のページアイコンのカラー********", 0); + mctx->genSlider("黒成分(R)", &mSelectPageIconBack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mSelectPageIconBack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mSelectPageIconBack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mSelectPageIconBack.a, 0, 255); + mctx->genSlider("白成分(R)", &mSelectPageIconFront.r, 0, 255); + mctx->genSlider("白成分(G)", &mSelectPageIconFront.g, 0, 255); + mctx->genSlider("白成分(B)", &mSelectPageIconFront.b, 0, 255); + mctx->genSlider("白成分(A)", &mSelectPageIconFront.a, 0, 255); + mctx->genLabel("********非選択時のページアイコンのアルファ********", 0); + mctx->genSlider("アルファ", &mUnselectPageIconAlpha, 0, 255); + mctx->genLabel("********選択時のバーのカラー********", 0); + mctx->genSlider("黒成分(R)", &mSelectBarBack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mSelectBarBack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mSelectBarBack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mSelectBarBack.a, 0, 255); + mctx->genSlider("白成分(R)", &mSelectBarFront.r, 0, 255); + mctx->genSlider("白成分(G)", &mSelectBarFront.g, 0, 255); + mctx->genSlider("白成分(B)", &mSelectBarFront.b, 0, 255); + mctx->genSlider("白成分(A)", &mSelectBarFront.a, 0, 255); + mctx->genLabel("********バーのスケール********", 0); + mctx->genSlider("選択時", &mSelectBarScale, 0.0f, 3.0f); + mctx->genSlider("非選択時", &mUnselectBarScale, 0.0f, 3.0f); + mctx->genLabel("********選択時のテキストのカラー********", 0); + mctx->genSlider("黒成分(R)", &mSelectTextBack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mSelectTextBack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mSelectTextBack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mSelectTextBack.a, 0, 255); + mctx->genSlider("白成分(R)", &mSelectTextFront.r, 0, 255); + mctx->genSlider("白成分(G)", &mSelectTextFront.g, 0, 255); + mctx->genSlider("白成分(B)", &mSelectTextFront.b, 0, 255); + mctx->genSlider("白成分(A)", &mSelectTextFront.a, 0, 255); + mctx->genLabel("********手紙の文字のカラー********", 0); + mctx->genSlider("黒成分(R)", &mLetterTextBack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mLetterTextBack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mLetterTextBack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mLetterTextBack.a, 0, 255); + mctx->genSlider("白成分(R)", &mLetterTextFront.r, 0, 255); + mctx->genSlider("白成分(G)", &mLetterTextFront.g, 0, 255); + mctx->genSlider("白成分(B)", &mLetterTextFront.b, 0, 255); + mctx->genSlider("白成分(A)", &mLetterTextFront.a, 0, 255); + mctx->genLabel("********手紙全体の調整********", 0); + mctx->genSlider("トランスX", &mWindowPosX, -300.0f, 300.0f); + mctx->genSlider("トランスY", &mWindowPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mWindowScale, 0.0f, 3.0f); + mctx->genLabel("********手紙ウインドウ全体の調整********", 0); + mctx->genSlider("トランスX", &mLetterWindowPosX, -300.0f, 300.0f); + mctx->genSlider("トランスY", &mLetterWindowPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mLetterWindowScale, 0.0f, 3.0f); + mctx->genLabel("********手紙ウインドウ背景の調整********", 0); + mctx->genSlider("アルファ", &mWindowBGAlpha, 0, 255); + mctx->genLabel("********手紙ウインドウラインの調整********", 0); + mctx->genSlider("トランスX", &mLetterLinePosX, -300.0f, 300.0f); + mctx->genSlider("トランスY", &mLetterLinePosY, -300.0f, 300.0f); + mctx->genSlider("アルファ", &mLetterLineAlpha, 0, 255); } #endif @@ -434,52 +434,52 @@ void dMeter_drawFishingHIO_c::genMessage(JORMContext* mctx) { "********ハイラルバス********", }; static u8 fish_type[6] = {3, 4, 2, 5, 1, 0}; - mctx->genCheckBox("デバッグON", (u8*)&mDebug, 1, 0, 0, -1, -1, 512, 24); - mctx->genSlider("open frame", &mOpenFrames, 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("close frame", &mCloseFrames, 1, 20, 0, NULL, -1, -1, 512, 24); + mctx->genCheckBox("デバッグON", (u8*)&mDebug, 0x1); + mctx->genSlider("open frame", &mOpenFrames, 1, 20); + mctx->genSlider("close frame", &mCloseFrames, 1, 20); for (int i = 0; i < 6; i++) { - mctx->genLabel(fish_name[i], 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("数", &mFishNum[fish_type[i]], 0, 999, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ", &mFishSize[fish_type[i]], 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***魚パーツ調整***", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mFishIconScale[fish_type[i]], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mFishIconPosX[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mFishIconPosY[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***魚の名前パーツ調整***", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mFishNameScale[fish_type[i]], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mFishNamePosX[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mFishNamePosY[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***ラインパーツ調整***", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mFishLineScale[fish_type[i]], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mFishLinePosX[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mFishLinePosY[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***サイズパーツ調整***", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mFishSizeScale[fish_type[i]], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mFishSizePosX[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mFishSizePosY[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***匹数パーツ調整***", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mFishCountScale[fish_type[i]], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mFishCountPosX[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mFishCountPosY[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***サイズ+匹数パーツ調整***", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mFishCountSizeScale[fish_type[i]], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mFishCountSizePosX[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mFishCountSizePosY[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***全体調整***", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mFishInfoScale[fish_type[i]], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mFishInfoPosX[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mFishInfoPosY[fish_type[i]], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n", 0, 0, 0, -1, -1, 512, 24); + mctx->genLabel(fish_name[i], 0); + mctx->genSlider("数", &mFishNum[fish_type[i]], 0, 999); + mctx->genSlider("サイズ", &mFishSize[fish_type[i]], 0, 255); + mctx->genLabel("***魚パーツ調整***", 0); + mctx->genSlider("スケール", &mFishIconScale[fish_type[i]], 0.0f, 3.0f); + mctx->genSlider("位置X", &mFishIconPosX[fish_type[i]], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mFishIconPosY[fish_type[i]], -300.0f, 300.0f); + mctx->genLabel("***魚の名前パーツ調整***", 0); + mctx->genSlider("スケール", &mFishNameScale[fish_type[i]], 0.0f, 3.0f); + mctx->genSlider("位置X", &mFishNamePosX[fish_type[i]], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mFishNamePosY[fish_type[i]], -300.0f, 300.0f); + mctx->genLabel("***ラインパーツ調整***", 0); + mctx->genSlider("スケール", &mFishLineScale[fish_type[i]], 0.0f, 3.0f); + mctx->genSlider("位置X", &mFishLinePosX[fish_type[i]], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mFishLinePosY[fish_type[i]], -300.0f, 300.0f); + mctx->genLabel("***サイズパーツ調整***", 0); + mctx->genSlider("スケール", &mFishSizeScale[fish_type[i]], 0.0f, 3.0f); + mctx->genSlider("位置X", &mFishSizePosX[fish_type[i]], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mFishSizePosY[fish_type[i]], -300.0f, 300.0f); + mctx->genLabel("***匹数パーツ調整***", 0); + mctx->genSlider("スケール", &mFishCountScale[fish_type[i]], 0.0f, 3.0f); + mctx->genSlider("位置X", &mFishCountPosX[fish_type[i]], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mFishCountPosY[fish_type[i]], -300.0f, 300.0f); + mctx->genLabel("***サイズ+匹数パーツ調整***", 0); + mctx->genSlider("スケール", &mFishCountSizeScale[fish_type[i]], 0.0f, 3.0f); + mctx->genSlider("位置X", &mFishCountSizePosX[fish_type[i]], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mFishCountSizePosY[fish_type[i]], -300.0f, 300.0f); + mctx->genLabel("***全体調整***", 0); + mctx->genSlider("スケール", &mFishInfoScale[fish_type[i]], 0.0f, 3.0f); + mctx->genSlider("位置X", &mFishInfoPosX[fish_type[i]], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mFishInfoPosY[fish_type[i]], -300.0f, 300.0f); + mctx->genLabel("\n", 0); } - mctx->genLabel("********”最大サイズ”調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mScale[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********”釣り上げた数”調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("スケール", &mScale[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X", &mPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置X(4:3)", &mCaughtNumPosX_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置Y", &mPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("********”最大サイズ”調整********", 0); + mctx->genSlider("スケール", &mScale[0], 0.0f, 3.0f); + mctx->genSlider("位置X", &mPosX[0], -300.0f, 300.0f); + mctx->genSlider("位置Y", &mPosY[0], -300.0f, 300.0f); + mctx->genLabel("********”釣り上げた数”調整********", 0); + mctx->genSlider("スケール", &mScale[1], 0.0f, 3.0f); + mctx->genSlider("位置X", &mPosX[1], -300.0f, 300.0f); + mctx->genSlider("位置X(4:3)", &mCaughtNumPosX_4x3, -300.0f, 300.0f); + mctx->genSlider("位置Y", &mPosY[1], -300.0f, 300.0f); } #endif @@ -511,32 +511,32 @@ dMeter_drawInsectHIO_c::dMeter_drawInsectHIO_c() { #if DEBUG void dMeter_drawInsectHIO_c::genMessage(JORMContext* mctx) { - mctx->startComboBox("タイプ", &mType, 0, 0, -1, -1, 256, 26); + mctx->startComboBox("タイプ", &mType); mctx->genComboBoxItem("デフォルト", 0); mctx->genComboBoxItem("コレクト画面", 1); mctx->genComboBoxItem("アゲハ", 2); mctx->endComboBox(); - mctx->genCheckBox("デバッグON", (u8*)&mDebugON, 1, 0, 0, -1, -1, 512, 24); - mctx->genSlider("open frame", &mOpenFrame, 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("close frame", &mCloseFrame, 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****アイテム*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("アイテムスケール(小)", &mUnselectInsectScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテムスケール(大)", &mSelectInsectScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****説明ウインドウ*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mDescWindowPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mDescWindowPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****選択ウインドウ(4:3)*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mGiveOptionPosX_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mGiveOptionPosY_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****選択肢ウインドウ(4:3)*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mConfirmOptionPosX_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mConfirmOptionPosY_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****選択ウインドウ(16:9)*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mGiveOptionPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mGiveOptionPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****選択肢ウインドウ(16:9)*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mConfirmOptionPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mConfirmOptionPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); + mctx->genCheckBox("デバッグON", (u8*)&mDebugON, 0x1); + mctx->genSlider("open frame", &mOpenFrame, 1, 20); + mctx->genSlider("close frame", &mCloseFrame, 1, 20); + mctx->genLabel("*****アイテム*****", 0); + mctx->genSlider("アイテムスケール(小)", &mUnselectInsectScale, 0.0f, 3.0f); + mctx->genSlider("アイテムスケール(大)", &mSelectInsectScale, 0.0f, 3.0f); + mctx->genLabel("*****説明ウインドウ*****", 0); + mctx->genSlider("位置調整X", &mDescWindowPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mDescWindowPosY, -300.0f, 300.0f); + mctx->genLabel("*****選択ウインドウ(4:3)*****", 0); + mctx->genSlider("位置調整X", &mGiveOptionPosX_4x3, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mGiveOptionPosY_4x3, -300.0f, 300.0f); + mctx->genLabel("*****選択肢ウインドウ(4:3)*****", 0); + mctx->genSlider("位置調整X", &mConfirmOptionPosX_4x3, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mConfirmOptionPosY_4x3, -300.0f, 300.0f); + mctx->genLabel("*****選択ウインドウ(16:9)*****", 0); + mctx->genSlider("位置調整X", &mGiveOptionPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mGiveOptionPosY, -300.0f, 300.0f); + mctx->genLabel("*****選択肢ウインドウ(16:9)*****", 0); + mctx->genSlider("位置調整X", &mConfirmOptionPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mConfirmOptionPosY, -300.0f, 300.0f); } #endif @@ -551,14 +551,14 @@ dMeter_drawCalibrationHIO_c::dMeter_drawCalibrationHIO_c() { #if DEBUG void dMeter_drawCalibrationHIO_c::genMessage(JORMContext* mctx) { - mctx->genCheckBox("デバッグON", (u8*)&mDebug, 1, 0, 0, -1, -1, 512, 24); - mctx->genSlider("open frame", &mOpenFrames, 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("close frame", &mCloseFrames, 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("点滅フレーム数", &mFlashFrameNum, 0, 300, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ステップ1*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("円のスケール", &mCircleScale, 0.0f, 5.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ステップ3*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("円のスケール", &mCircleScale2, 0.0f, 5.0f, 0, NULL, -1, -1, 512, 24); + mctx->genCheckBox("デバッグON", (u8*)&mDebug, 0x1); + mctx->genSlider("open frame", &mOpenFrames, 1, 20); + mctx->genSlider("close frame", &mCloseFrames, 1, 20); + mctx->genSlider("点滅フレーム数", &mFlashFrameNum, 0, 300); + mctx->genLabel("*****ステップ1*****", 0); + mctx->genSlider("円のスケール", &mCircleScale, 0.0f, 5.0f); + mctx->genLabel("*****ステップ3*****", 0); + mctx->genSlider("円のスケール", &mCircleScale2, 0.0f, 5.0f); } #endif @@ -599,64 +599,64 @@ dMeter_drawSkillHIO_c::dMeter_drawSkillHIO_c() { #if DEBUG void dMeter_drawSkillHIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("open frame", &mOpenFrame[0], 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("close frame", &mCloseFrame[0], 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("本文オープン", &mOpenFrame[1], 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("本文クローズ", &mCloseFrame[1], 1, 20, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("デバッグON", (u8*)&mDebug, 1, 0, 0, -1, -1, 512, 24); - mctx->genLabel("********選択時の巻物アイコンのカラー********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mSelectScrollIconBlack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mSelectScrollIconBlack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mSelectScrollIconBlack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mSelectScrollIconBlack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mSelectScrollIconWhite.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mSelectScrollIconWhite.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mSelectScrollIconWhite.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mSelectScrollIconWhite.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********非選択時の巻物アイコンのカラー********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mUnselectScrollIconBlack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mUnselectScrollIconBlack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mUnselectScrollIconBlack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mUnselectScrollIconBlack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mUnselectScrollIconWhite.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mUnselectScrollIconWhite.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mUnselectScrollIconWhite.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mUnselectScrollIconWhite.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********選択時のバーのカラー********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mSelectBarBlack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mSelectBarBlack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mSelectBarBlack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mSelectBarBlack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mSelectBarWhite.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mSelectBarWhite.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mSelectBarWhite.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mSelectBarWhite.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********バーのスケール********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("選択時", &mSelectBarScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("非選択時", &mUnselectBarScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********選択時のテキストのカラー********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mSelectTextBlack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mSelectTextBlack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mSelectTextBlack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mSelectTextBlack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mSelectTextWhite.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mSelectTextWhite.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mSelectTextWhite.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mSelectTextWhite.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********奥義ウインドウ全体の調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mSkillDescPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mSkillDescPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mSkillDescScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********奥義ウインドウ背景の調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mWindowBGalpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********奥義ウインドウラインの調整********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mWindowLinePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mWindowLinePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mWindowLineAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("********奥義名********", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mSkillTitlePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mSkillTitlePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mSkillTitleScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); + mctx->genSlider("open frame", &mOpenFrame[0], 1, 20); + mctx->genSlider("close frame", &mCloseFrame[0], 1, 20); + mctx->genSlider("本文オープン", &mOpenFrame[1], 1, 20); + mctx->genSlider("本文クローズ", &mCloseFrame[1], 1, 20); + mctx->genCheckBox("デバッグON", (u8*)&mDebug, 0x1); + mctx->genLabel("********選択時の巻物アイコンのカラー********", 0); + mctx->genSlider("黒成分(R)", &mSelectScrollIconBlack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mSelectScrollIconBlack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mSelectScrollIconBlack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mSelectScrollIconBlack.a, 0, 255); + mctx->genSlider("白成分(R)", &mSelectScrollIconWhite.r, 0, 255); + mctx->genSlider("白成分(G)", &mSelectScrollIconWhite.g, 0, 255); + mctx->genSlider("白成分(B)", &mSelectScrollIconWhite.b, 0, 255); + mctx->genSlider("白成分(A)", &mSelectScrollIconWhite.a, 0, 255); + mctx->genLabel("********非選択時の巻物アイコンのカラー********", 0); + mctx->genSlider("黒成分(R)", &mUnselectScrollIconBlack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mUnselectScrollIconBlack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mUnselectScrollIconBlack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mUnselectScrollIconBlack.a, 0, 255); + mctx->genSlider("白成分(R)", &mUnselectScrollIconWhite.r, 0, 255); + mctx->genSlider("白成分(G)", &mUnselectScrollIconWhite.g, 0, 255); + mctx->genSlider("白成分(B)", &mUnselectScrollIconWhite.b, 0, 255); + mctx->genSlider("白成分(A)", &mUnselectScrollIconWhite.a, 0, 255); + mctx->genLabel("********選択時のバーのカラー********", 0); + mctx->genSlider("黒成分(R)", &mSelectBarBlack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mSelectBarBlack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mSelectBarBlack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mSelectBarBlack.a, 0, 255); + mctx->genSlider("白成分(R)", &mSelectBarWhite.r, 0, 255); + mctx->genSlider("白成分(G)", &mSelectBarWhite.g, 0, 255); + mctx->genSlider("白成分(B)", &mSelectBarWhite.b, 0, 255); + mctx->genSlider("白成分(A)", &mSelectBarWhite.a, 0, 255); + mctx->genLabel("********バーのスケール********", 0); + mctx->genSlider("選択時", &mSelectBarScale, 0.0f, 3.0f); + mctx->genSlider("非選択時", &mUnselectBarScale, 0.0f, 3.0f); + mctx->genLabel("********選択時のテキストのカラー********", 0); + mctx->genSlider("黒成分(R)", &mSelectTextBlack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mSelectTextBlack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mSelectTextBlack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mSelectTextBlack.a, 0, 255); + mctx->genSlider("白成分(R)", &mSelectTextWhite.r, 0, 255); + mctx->genSlider("白成分(G)", &mSelectTextWhite.g, 0, 255); + mctx->genSlider("白成分(B)", &mSelectTextWhite.b, 0, 255); + mctx->genSlider("白成分(A)", &mSelectTextWhite.a, 0, 255); + mctx->genLabel("********奥義ウインドウ全体の調整********", 0); + mctx->genSlider("トランスX", &mSkillDescPosX, -300.0f, 300.0f); + mctx->genSlider("トランスY", &mSkillDescPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mSkillDescScale, 0.0f, 3.0f); + mctx->genLabel("********奥義ウインドウ背景の調整********", 0); + mctx->genSlider("アルファ", &mWindowBGalpha, 0, 255); + mctx->genLabel("********奥義ウインドウラインの調整********", 0); + mctx->genSlider("トランスX", &mWindowLinePosX, -300.0f, 300.0f); + mctx->genSlider("トランスY", &mWindowLinePosY, -300.0f, 300.0f); + mctx->genSlider("アルファ", &mWindowLineAlpha, 0, 255); + mctx->genLabel("********奥義名********", 0); + mctx->genSlider("トランスX", &mSkillTitlePosX, -300.0f, 300.0f); + mctx->genSlider("トランスY", &mSkillTitlePosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mSkillTitleScale, 0.0f, 3.0f); } #endif @@ -882,272 +882,272 @@ dMeter_drawEmpButtonHIO_c::dMeter_drawEmpButtonHIO_c() { #if DEBUG void dMeter_drawEmpButtonHIO_c::genMessage(JORMContext* mctx) { - mctx->genCheckBox("デバッグ表示A", &mDebugDisplayButton[0], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示B", &mDebugDisplayButton[1], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示R", &mDebugDisplayButton[2], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示Z", &mDebugDisplayButton[3], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示3D", &mDebugDisplayButton[4], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示C", &mDebugDisplayButton[5], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示S", &mDebugDisplayButton[6], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示X", &mDebugDisplayButton[7], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示Y", &mDebugDisplayButton[8], 1, 0, 0, -1, -1, 512, 24); - mctx->genCheckBox("デバッグ表示ビンアイコン", &mDebugDisplayButton[14], 1, 0, 0, -1, -1, 512, 24); - mctx->genSlider("2個表示の間隔", &mDisplaySpace, 0.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****全体*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mEmpButtonPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mEmpButtonPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mEmpButtonScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Aボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonAPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonAPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonAScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Bボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonBPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonBPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonBScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Rボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mRButtonPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mRButtonPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mRButtonScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Zボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonZPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonZPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonZScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****3Dボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &m3DButtonPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &m3DButtonPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &m3DButtonScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Cボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mCButtonPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mCButtonPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mCButtonScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****スタートボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mSButtonPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mSButtonPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mSButtonScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Xボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonXPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonXPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonXScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Yボタン*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonYPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonYPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonYScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ヌンチャクコントローラ*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mNunchukPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mNunchukPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mNunchukScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****リモコンコントローラ*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mWiimotePosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mWiimotePosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mWiimoteScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****リモコンコントローラ(←→)*****", 0, 0, 0, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mWiimoteLRPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mWiimoteLRPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mWiimoteLRScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****A+リモコンコントローラ*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mWiimoteAPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mWiimoteAPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mWiimoteAScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****3D+B*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &m3DBButtonPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &m3DBButtonPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &m3DBButtonScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ヌンチャク+リモコン*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mNunchukWiimotePosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mNunchukWiimotePosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mNunchukWiimoteScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ヌンチャク+リモコン(リール)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mNunchukWiimoteRealPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mNunchukWiimoteRealPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mNunchukWiimoteRealScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ヌンチャク(リール)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mNunchukRealPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mNunchukRealPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mNunchukRealScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ヌンチャク(盾アタック)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mNunchukAttackPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mNunchukAttackPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mNunchukAttackScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****A+B*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mAButtonBPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mAButtonBPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mAButtonBScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ヌンチャクZボタン*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mNunchukButtonZPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mNunchukButtonZPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mNunchukButtonZScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ヌンチャクCボタン*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mNunchukCButtonPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mNunchukCButtonPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mNunchukCButtonScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ビンアイコン*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mBottleIconPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mBottleIconPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mBottleIconScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ビューチェンジ*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mViewChangePosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mViewChangePosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mViewChangeScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****テキスト1*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mText1PosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mText1PosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mText1Scale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****テキスト2*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mText2PosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mText2PosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mText2Scale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****アイテム*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mItemPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mItemPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mItemScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ミドナアイコン*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mMidnaIconPosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mMidnaIconPosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mMidnaIconScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ピカリ調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ピカリ調整(一騎撃ち用)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mPikariFastScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mPikariFastFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mPikariFastFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mPikariFastFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mPikariFastFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mPikariFastFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mPikariFastFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mPikariFastFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mPikariFastFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mPikariFastBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mPikariFastBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mPikariFastBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mPikariFastBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mPikariFastBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mPikariFastBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mPikariFastBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mPikariFastBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mPikariFastAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ピカリ調整(盗み聞き用)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mPikariListenScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mPikariListenFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mPikariListenFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mPikariListenFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mPikariListenFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mPikariListenFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mPikariListenFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mPikariListenFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mPikariListenFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mPikariListenBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mPikariListenBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mPikariListenBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mPikariListenBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mPikariListenBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mPikariListenBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mPikariListenBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mPikariListenBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mPikariListenAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ピカリ調整(連打)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mPikariRepeatHitScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mPikariRepeatHitFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mPikariRepeatHitFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mPikariRepeatHitFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mPikariRepeatHitFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mPikariRepeatHitFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mPikariRepeatHitFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mPikariRepeatHitFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mPikariRepeatHitFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mPikariRepeatHitBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mPikariRepeatHitBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mPikariRepeatHitBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mPikariRepeatHitBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mPikariRepeatHitBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mPikariRepeatHitBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mPikariRepeatHitBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mPikariRepeatHitBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mPikariRepeatHitAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("連打フレーム数", &mRepeatHitFrameNum, 1, 300, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("連打スケール", &mRepeatHitScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n*****ホークアイ*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mHawkeyeDebugON, 1, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***全体***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mHawkeyePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mHawkeyePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***テキスト***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mHawkeyeTextPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", mHawkeyeTextPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***+***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mHawkeyePlusPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", mHawkeyeTextPosY + 1, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***−***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mHawkeyeMinusPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", mHawkeyeTextPosY + 2, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n*****ズームイン・ズームアウト*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mHawkeyeZoomDebugON, 1, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***全体***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mHawkeyeZoomPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mHawkeyeZoomPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mHawkeyeZoomScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール(4:3)", &mHawkeyeZoomScale_4x3, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***テキスト+アイコン***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", mHawkeyeIconPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mHawkeyeTextIconPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(4:3)", &mHawkeyeTextIconPosY_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", mHawkeyeIconScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***テキスト***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", mHawkeyeIconPosX + 1, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mHawkeyeZoomTextPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(4:3)", &mHawkeyeTextPosY_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", mHawkeyeIconScale + 1, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***アイコン***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", mHawkeyeIconPosX + 2, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mHawkeyeIconPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(4:3)", &mHawkeyeIconPosY_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", mHawkeyeIconScale + 2, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***ポインタON***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分0(R)", &mPointerONBlack[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分0(G)", &mPointerONBlack[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分0(B)", &mPointerONBlack[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分0(A)", &mPointerONBlack[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分0(R)", &mPointerONWhite[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分0(G)", &mPointerONWhite[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分0(B)", &mPointerONWhite[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分0(A)", &mPointerONWhite[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分1(R)", &mPointerONBlack[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分1(G)", &mPointerONBlack[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分1(B)", &mPointerONBlack[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分1(A)", &mPointerONBlack[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分1(R)", &mPointerONWhite[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分1(G)", &mPointerONWhite[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分1(B)", &mPointerONWhite[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分1(A)", &mPointerONWhite[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mPointerONScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメフレーム", &mPointerONAnimFrame, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***ポインタOFF***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(R)", &mPointerOFFBlack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(G)", &mPointerOFFBlack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(B)", &mPointerOFFBlack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分(A)", &mPointerOFFBlack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(R)", &mPointerOFFWhite.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(G)", &mPointerOFFWhite.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(B)", &mPointerOFFWhite.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分(A)", &mPointerOFFWhite.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mPointerOFFScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); + mctx->genCheckBox("デバッグ表示A", &mDebugDisplayButton[0], 0x1); + mctx->genCheckBox("デバッグ表示B", &mDebugDisplayButton[1], 0x1); + mctx->genCheckBox("デバッグ表示R", &mDebugDisplayButton[2], 0x1); + mctx->genCheckBox("デバッグ表示Z", &mDebugDisplayButton[3], 0x1); + mctx->genCheckBox("デバッグ表示3D", &mDebugDisplayButton[4], 0x1); + mctx->genCheckBox("デバッグ表示C", &mDebugDisplayButton[5], 0x1); + mctx->genCheckBox("デバッグ表示S", &mDebugDisplayButton[6], 0x1); + mctx->genCheckBox("デバッグ表示X", &mDebugDisplayButton[7], 0x1); + mctx->genCheckBox("デバッグ表示Y", &mDebugDisplayButton[8], 0x1); + mctx->genCheckBox("デバッグ表示ビンアイコン", &mDebugDisplayButton[14], 0x1); + mctx->genSlider("2個表示の間隔", &mDisplaySpace, 0.0f, 300.0f); + mctx->genLabel("*****全体*****", 0); + mctx->genSlider("位置調整X", &mEmpButtonPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mEmpButtonPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mEmpButtonScale, 0.0f, 3.0f); + mctx->genLabel("*****Aボタン*****", 0); + mctx->genSlider("位置調整X", &mButtonAPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mButtonAPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mButtonAScale, 0.0f, 3.0f); + mctx->genLabel("*****Bボタン*****", 0); + mctx->genSlider("位置調整X", &mButtonBPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mButtonBPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mButtonBScale, 0.0f, 3.0f); + mctx->genLabel("*****Rボタン*****", 0); + mctx->genSlider("位置調整X", &mRButtonPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mRButtonPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mRButtonScale, 0.0f, 3.0f); + mctx->genLabel("*****Zボタン*****", 0); + mctx->genSlider("位置調整X", &mButtonZPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mButtonZPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mButtonZScale, 0.0f, 3.0f); + mctx->genLabel("*****3Dボタン*****", 0); + mctx->genSlider("位置調整X", &m3DButtonPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &m3DButtonPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &m3DButtonScale, 0.0f, 3.0f); + mctx->genLabel("*****Cボタン*****", 0); + mctx->genSlider("位置調整X", &mCButtonPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mCButtonPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mCButtonScale, 0.0f, 3.0f); + mctx->genLabel("*****スタートボタン*****", 0); + mctx->genSlider("位置調整X", &mSButtonPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mSButtonPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mSButtonScale, 0.0f, 3.0f); + mctx->genLabel("*****Xボタン*****", 0); + mctx->genSlider("位置調整X", &mButtonXPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mButtonXPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mButtonXScale, 0.0f, 3.0f); + mctx->genLabel("*****Yボタン*****", 0); + mctx->genSlider("位置調整X", &mButtonYPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mButtonYPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mButtonYScale, 0.0f, 3.0f); + mctx->genLabel("*****ヌンチャクコントローラ*****", 0); + mctx->genSlider("位置調整X", &mNunchukPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mNunchukPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mNunchukScale, 0.0f, 3.0f); + mctx->genLabel("*****リモコンコントローラ*****", 0); + mctx->genSlider("位置調整X", &mWiimotePosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mWiimotePosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mWiimoteScale, 0.0f, 3.0f); + mctx->genLabel("*****リモコンコントローラ(←→)*****", 0); + mctx->genSlider("位置調整X", &mWiimoteLRPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mWiimoteLRPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mWiimoteLRScale, 0.0f, 3.0f); + mctx->genLabel("*****A+リモコンコントローラ*****", 0); + mctx->genSlider("位置調整X", &mWiimoteAPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mWiimoteAPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mWiimoteAScale, 0.0f, 3.0f); + mctx->genLabel("*****3D+B*****", 0); + mctx->genSlider("位置調整X", &m3DBButtonPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &m3DBButtonPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &m3DBButtonScale, 0.0f, 3.0f); + mctx->genLabel("*****ヌンチャク+リモコン*****", 0); + mctx->genSlider("位置調整X", &mNunchukWiimotePosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mNunchukWiimotePosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mNunchukWiimoteScale, 0.0f, 3.0f); + mctx->genLabel("*****ヌンチャク+リモコン(リール)*****", 0); + mctx->genSlider("位置調整X", &mNunchukWiimoteRealPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mNunchukWiimoteRealPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mNunchukWiimoteRealScale, 0.0f, 3.0f); + mctx->genLabel("*****ヌンチャク(リール)*****", 0); + mctx->genSlider("位置調整X", &mNunchukRealPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mNunchukRealPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mNunchukRealScale, 0.0f, 3.0f); + mctx->genLabel("*****ヌンチャク(盾アタック)*****", 0); + mctx->genSlider("位置調整X", &mNunchukAttackPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mNunchukAttackPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mNunchukAttackScale, 0.0f, 3.0f); + mctx->genLabel("*****A+B*****", 0); + mctx->genSlider("位置調整X", &mAButtonBPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mAButtonBPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mAButtonBScale, 0.0f, 3.0f); + mctx->genLabel("*****ヌンチャクZボタン*****", 0); + mctx->genSlider("位置調整X", &mNunchukButtonZPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mNunchukButtonZPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mNunchukButtonZScale, 0.0f, 3.0f); + mctx->genLabel("*****ヌンチャクCボタン*****", 0); + mctx->genSlider("位置調整X", &mNunchukCButtonPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mNunchukCButtonPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mNunchukCButtonScale, 0.0f, 3.0f); + mctx->genLabel("*****ビンアイコン*****", 0); + mctx->genSlider("位置調整X", &mBottleIconPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mBottleIconPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mBottleIconScale, 0.0f, 3.0f); + mctx->genLabel("*****ビューチェンジ*****", 0); + mctx->genSlider("位置調整X", &mViewChangePosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mViewChangePosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mViewChangeScale, 0.0f, 3.0f); + mctx->genLabel("*****テキスト1*****", 0); + mctx->genSlider("位置調整X", &mText1PosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mText1PosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mText1Scale, 0.0f, 3.0f); + mctx->genLabel("*****テキスト2*****", 0); + mctx->genSlider("位置調整X", &mText2PosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mText2PosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mText2Scale, 0.0f, 3.0f); + mctx->genLabel("*****アイテム*****", 0); + mctx->genSlider("位置調整X", &mItemPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mItemPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mItemScale, 0.0f, 3.0f); + mctx->genLabel("*****ミドナアイコン*****", 0); + mctx->genSlider("位置調整X", &mMidnaIconPosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mMidnaIconPosY, -500.0f, 500.0f); + mctx->genSlider("拡大縮小", &mMidnaIconScale, 0.0f, 3.0f); + mctx->genLabel("*****ピカリ調整*****", 0); + mctx->genSlider("拡大縮小", &mPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("*****ピカリ調整(一騎撃ち用)*****", 0); + mctx->genSlider("拡大縮小", &mPikariFastScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mPikariFastFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mPikariFastFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mPikariFastFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mPikariFastFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mPikariFastFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mPikariFastFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mPikariFastFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mPikariFastFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mPikariFastBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mPikariFastBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mPikariFastBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mPikariFastBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mPikariFastBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mPikariFastBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mPikariFastBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mPikariFastBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mPikariFastAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("*****ピカリ調整(盗み聞き用)*****", 0); + mctx->genSlider("拡大縮小", &mPikariListenScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mPikariListenFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mPikariListenFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mPikariListenFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mPikariListenFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mPikariListenFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mPikariListenFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mPikariListenFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mPikariListenFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mPikariListenBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mPikariListenBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mPikariListenBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mPikariListenBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mPikariListenBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mPikariListenBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mPikariListenBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mPikariListenBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mPikariListenAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("*****ピカリ調整(連打)*****", 0); + mctx->genSlider("拡大縮小", &mPikariRepeatHitScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mPikariRepeatHitFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mPikariRepeatHitFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mPikariRepeatHitFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mPikariRepeatHitFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mPikariRepeatHitFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mPikariRepeatHitFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mPikariRepeatHitFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mPikariRepeatHitFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mPikariRepeatHitBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mPikariRepeatHitBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mPikariRepeatHitBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mPikariRepeatHitBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mPikariRepeatHitBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mPikariRepeatHitBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mPikariRepeatHitBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mPikariRepeatHitBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mPikariRepeatHitAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("連打フレーム数", &mRepeatHitFrameNum, 1, 300); + mctx->genSlider("連打スケール", &mRepeatHitScale, 0.0f, 3.0f); + mctx->genLabel("\n*****ホークアイ*****", 0); + mctx->genCheckBox("調整ON", (u8*)&mHawkeyeDebugON, 0x1); + mctx->genLabel("***全体***", 0); + mctx->genSlider("位置調整X", &mHawkeyePosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mHawkeyePosY, -300.0f, 300.0f); + mctx->genLabel("***テキスト***", 0); + mctx->genSlider("位置調整X", &mHawkeyeTextPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", mHawkeyeTextPosY, -300.0f, 300.0f); + mctx->genLabel("***+***", 0); + mctx->genSlider("位置調整X", &mHawkeyePlusPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", mHawkeyeTextPosY + 1, -300.0f, 300.0f); + mctx->genLabel("***−***", 0); + mctx->genSlider("位置調整X", &mHawkeyeMinusPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", mHawkeyeTextPosY + 2, -300.0f, 300.0f); + mctx->genLabel("\n*****ズームイン・ズームアウト*****", 0); + mctx->genCheckBox("調整ON", (u8*)&mHawkeyeZoomDebugON, 0x1); + mctx->genLabel("***全体***", 0); + mctx->genSlider("位置調整X", &mHawkeyeZoomPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mHawkeyeZoomPosY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mHawkeyeZoomScale, 0.0f, 3.0f); + mctx->genSlider("スケール(4:3)", &mHawkeyeZoomScale_4x3, 0.0f, 3.0f); + mctx->genLabel("***テキスト+アイコン***", 0); + mctx->genSlider("位置調整X", mHawkeyeIconPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mHawkeyeTextIconPosY, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(4:3)", &mHawkeyeTextIconPosY_4x3, -300.0f, 300.0f); + mctx->genSlider("スケール", mHawkeyeIconScale, 0.0f, 3.0f); + mctx->genLabel("***テキスト***", 0); + mctx->genSlider("位置調整X", mHawkeyeIconPosX + 1, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mHawkeyeZoomTextPosY, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(4:3)", &mHawkeyeTextPosY_4x3, -300.0f, 300.0f); + mctx->genSlider("スケール", mHawkeyeIconScale + 1, 0.0f, 3.0f); + mctx->genLabel("***アイコン***", 0); + mctx->genSlider("位置調整X", mHawkeyeIconPosX + 2, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mHawkeyeIconPosY, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(4:3)", &mHawkeyeIconPosY_4x3, -300.0f, 300.0f); + mctx->genSlider("スケール", mHawkeyeIconScale + 2, 0.0f, 3.0f); + mctx->genLabel("***ポインタON***", 0); + mctx->genSlider("黒成分0(R)", &mPointerONBlack[0].r, 0, 255); + mctx->genSlider("黒成分0(G)", &mPointerONBlack[0].g, 0, 255); + mctx->genSlider("黒成分0(B)", &mPointerONBlack[0].b, 0, 255); + mctx->genSlider("黒成分0(A)", &mPointerONBlack[0].a, 0, 255); + mctx->genSlider("白成分0(R)", &mPointerONWhite[0].r, 0, 255); + mctx->genSlider("白成分0(G)", &mPointerONWhite[0].g, 0, 255); + mctx->genSlider("白成分0(B)", &mPointerONWhite[0].b, 0, 255); + mctx->genSlider("白成分0(A)", &mPointerONWhite[0].a, 0, 255); + mctx->genSlider("黒成分1(R)", &mPointerONBlack[1].r, 0, 255); + mctx->genSlider("黒成分1(G)", &mPointerONBlack[1].g, 0, 255); + mctx->genSlider("黒成分1(B)", &mPointerONBlack[1].b, 0, 255); + mctx->genSlider("黒成分1(A)", &mPointerONBlack[1].a, 0, 255); + mctx->genSlider("白成分1(R)", &mPointerONWhite[1].r, 0, 255); + mctx->genSlider("白成分1(G)", &mPointerONWhite[1].g, 0, 255); + mctx->genSlider("白成分1(B)", &mPointerONWhite[1].b, 0, 255); + mctx->genSlider("白成分1(A)", &mPointerONWhite[1].a, 0, 255); + mctx->genSlider("スケール", &mPointerONScale, 0.0f, 3.0f); + mctx->genSlider("アニメフレーム", &mPointerONAnimFrame, 0, 100); + mctx->genLabel("***ポインタOFF***", 0); + mctx->genSlider("黒成分(R)", &mPointerOFFBlack.r, 0, 255); + mctx->genSlider("黒成分(G)", &mPointerOFFBlack.g, 0, 255); + mctx->genSlider("黒成分(B)", &mPointerOFFBlack.b, 0, 255); + mctx->genSlider("黒成分(A)", &mPointerOFFBlack.a, 0, 255); + mctx->genSlider("白成分(R)", &mPointerOFFWhite.r, 0, 255); + mctx->genSlider("白成分(G)", &mPointerOFFWhite.g, 0, 255); + mctx->genSlider("白成分(B)", &mPointerOFFWhite.b, 0, 255); + mctx->genSlider("白成分(A)", &mPointerOFFWhite.a, 0, 255); + mctx->genSlider("スケール", &mPointerOFFScale, 0.0f, 3.0f); } #endif @@ -1324,152 +1324,152 @@ dMeter_drawMiniGameHIO_c::dMeter_drawMiniGameHIO_c() { #if DEBUG void dMeter_drawMiniGameHIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****山羊追いゲーム*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****タイマーの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X", &mTimerSizeX[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mTimerSizeY[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mTimerPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mTimerPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mTimerAlpha[0], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X4:3", &mTimerSizeX_4x3, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y4:3", &mTimerSizeY_4x3, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X4:3", &mTimerPosX_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y4:3", &mTimerPosY_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****カウンターの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X", &mCounterSizeX[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mCounterSizeY[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mCounterPosX[0], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mCounterPosY[0], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mCounterAlpha[0], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****牛のイメージの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X", &mIconSizeX[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mIconSizeY[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mIconPosX[0], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(4:3)", &mIconPosX_4x3, -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mIconPosY[0], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mIconAlpha[0], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("****************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ゾーラ川下りゲーム*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("****************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****的+カウンタの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &field_0x8[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &field_0x14[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(4:3)", &mRiverRideIconPosX_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &field_0x20[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &field_0x2c[1], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****カウンターの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X", &mCounterSizeX[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mCounterSizeY[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mCounterPosX[1], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mCounterPosY[1], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mCounterAlpha[1], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****的のイメージの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X", &mIconSizeX[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mIconSizeY[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mIconPosX[1], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mIconPosY[1], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mIconAlpha[1], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ライダーゲーム*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****カウンターの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X", &mCounterSizeX[2], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mCounterSizeY[2], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mCounterPosX[2], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mCounterPosY[2], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mCounterAlpha[2], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ライダーのイメージの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X", &mIconSizeX[2], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mIconSizeY[2], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mIconPosX[2], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(4:3)", &mRiderGameIconPosX_4x3, -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mIconPosY[2], -600.0f, 600.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mIconAlpha[2], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****スタート処理*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("Ready?Go!", &mReadyGo, 0, 200, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Get In!の調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->startComboBox("出現位置", &mGetInTextLocation, 0, NULL, -1, -1, 256, 26); + mctx->genLabel("************************", 0); + mctx->genLabel("*****山羊追いゲーム*****", 0); + mctx->genLabel("************************", 0); + mctx->genLabel("*****タイマーの調整*****", 0); + mctx->genSlider("サイズ調整X", &mTimerSizeX[0], 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mTimerSizeY[0], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mTimerPosX[0], -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mTimerPosY[0], -300.0f, 300.0f); + mctx->genSlider("アルファ", &mTimerAlpha[0], 0.0f, 1.0f); + mctx->genSlider("サイズ調整X4:3", &mTimerSizeX_4x3, 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y4:3", &mTimerSizeY_4x3, 0.0f, 3.0f); + mctx->genSlider("位置調整X4:3", &mTimerPosX_4x3, -300.0f, 300.0f); + mctx->genSlider("位置調整Y4:3", &mTimerPosY_4x3, -300.0f, 300.0f); + mctx->genLabel("*****カウンターの調整*****", 0); + mctx->genSlider("サイズ調整X", &mCounterSizeX[0], 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mCounterSizeY[0], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mCounterPosX[0], -600.0f, 600.0f); + mctx->genSlider("位置調整Y", &mCounterPosY[0], -600.0f, 600.0f); + mctx->genSlider("アルファ", &mCounterAlpha[0], 0.0f, 1.0f); + mctx->genLabel("*****牛のイメージの調整*****", 0); + mctx->genSlider("サイズ調整X", &mIconSizeX[0], 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mIconSizeY[0], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mIconPosX[0], -600.0f, 600.0f); + mctx->genSlider("位置調整X(4:3)", &mIconPosX_4x3, -600.0f, 600.0f); + mctx->genSlider("位置調整Y", &mIconPosY[0], -600.0f, 600.0f); + mctx->genSlider("アルファ", &mIconAlpha[0], 0.0f, 1.0f); + mctx->genLabel("****************************", 0); + mctx->genLabel("*****ゾーラ川下りゲーム*****", 0); + mctx->genLabel("****************************", 0); + mctx->genLabel("*****的+カウンタの調整*****", 0); + mctx->genSlider("サイズ調整Y", &field_0x8[1], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &field_0x14[1], -300.0f, 300.0f); + mctx->genSlider("位置調整X(4:3)", &mRiverRideIconPosX_4x3, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &field_0x20[1], -300.0f, 300.0f); + mctx->genSlider("アルファ", &field_0x2c[1], 0.0f, 1.0f); + mctx->genLabel("*****カウンターの調整*****", 0); + mctx->genSlider("サイズ調整X", &mCounterSizeX[1], 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mCounterSizeY[1], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mCounterPosX[1], -600.0f, 600.0f); + mctx->genSlider("位置調整Y", &mCounterPosY[1], -600.0f, 600.0f); + mctx->genSlider("アルファ", &mCounterAlpha[1], 0.0f, 1.0f); + mctx->genLabel("*****的のイメージの調整*****", 0); + mctx->genSlider("サイズ調整X", &mIconSizeX[1], 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mIconSizeY[1], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mIconPosX[1], -600.0f, 600.0f); + mctx->genSlider("位置調整Y", &mIconPosY[1], -600.0f, 600.0f); + mctx->genSlider("アルファ", &mIconAlpha[1], 0.0f, 1.0f); + mctx->genLabel("************************", 0); + mctx->genLabel("*****ライダーゲーム*****", 0); + mctx->genLabel("************************", 0); + mctx->genLabel("*****カウンターの調整*****", 0); + mctx->genSlider("サイズ調整X", &mCounterSizeX[2], 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mCounterSizeY[2], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mCounterPosX[2], -600.0f, 600.0f); + mctx->genSlider("位置調整Y", &mCounterPosY[2], -600.0f, 600.0f); + mctx->genSlider("アルファ", &mCounterAlpha[2], 0.0f, 1.0f); + mctx->genLabel("*****ライダーのイメージの調整*****", 0); + mctx->genSlider("サイズ調整X", &mIconSizeX[2], 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mIconSizeY[2], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mIconPosX[2], -600.0f, 600.0f); + mctx->genSlider("位置調整X(4:3)", &mRiderGameIconPosX_4x3, -600.0f, 600.0f); + mctx->genSlider("位置調整Y", &mIconPosY[2], -600.0f, 600.0f); + mctx->genSlider("アルファ", &mIconAlpha[2], 0.0f, 1.0f); + mctx->genLabel("*****スタート処理*****", 0); + mctx->genSlider("Ready?Go!", &mReadyGo, 0, 200); + mctx->genLabel("*****Get In!の調整*****", 0); + mctx->startComboBox("出現位置", &mGetInTextLocation); mctx->genComboBoxItem("固定位置", 0); mctx->genComboBoxItem("牛から", 1); mctx->endComboBox(); - mctx->genSlider("サイズ調整X", &mGetInTextSizeX, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mGetInTextSizeY, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mGetInTextPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mGetInTextPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mGetInTextAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ウエイトフレーム", &mGetInTextWaitFrames, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファフレーム", &mGetInTextAlphaFrames, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Get In!のピカリ調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("出現開始フレーム", &mGetInPikariAppearFrames, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mGetInPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mGetInPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mGetInPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mGetInPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mGetInPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mGetInPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mGetInPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mGetInPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mGetInPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mGetInPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mGetInPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mGetInPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mGetInPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mGetInPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mGetInPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mGetInPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mGetInPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mGetInPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Start!!のピカリ調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("出現開始フレーム", &mStartPikariAppearFrames, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mStartPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mStartPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mStartPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mStartPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mStartPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mStartPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mStartPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mStartPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mStartPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mStartPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mStartPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mStartPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mStartPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mStartPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mStartPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mStartPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mStartPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mStartPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("タイマー表示フレーム", &mStartPikariDisplayFrames, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****READY? FIGHT!!の調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整X", &mReadyFightTextSizeX, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ調整Y", &mReadyFightTextSizeY, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mReadyFightTextPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mReadyFightTextPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mReadyFightTextAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ウエイトフレーム", &mReadyFightTextWaitFrames, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファフレーム", &field_0x172, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****READY? FIGHT!!のピカリ調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("出現開始フレーム", &mReadyFightPikariAppearFrames, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mReadyFightPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mReadyFightPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mReadyFightPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mReadyFightPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mReadyFightPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mReadyFightPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mReadyFightPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mReadyFightPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mReadyFightPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mReadyFightPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mReadyFightPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mReadyFightPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mReadyFightPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mReadyFightPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mReadyFightPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mReadyFightPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mReadyFightPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mReadyFightPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); + mctx->genSlider("サイズ調整X", &mGetInTextSizeX, 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mGetInTextSizeY, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mGetInTextPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mGetInTextPosY, -300.0f, 300.0f); + mctx->genSlider("アニメスピード", &mGetInTextAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("ウエイトフレーム", &mGetInTextWaitFrames, 0, 100); + mctx->genSlider("アルファフレーム", &mGetInTextAlphaFrames, 0, 100); + mctx->genLabel("*****Get In!のピカリ調整*****", 0); + mctx->genSlider("出現開始フレーム", &mGetInPikariAppearFrames, 0, 100); + mctx->genSlider("拡大縮小", &mGetInPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mGetInPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mGetInPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mGetInPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mGetInPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mGetInPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mGetInPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mGetInPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mGetInPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mGetInPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mGetInPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mGetInPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mGetInPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mGetInPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mGetInPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mGetInPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mGetInPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mGetInPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("*****Start!!のピカリ調整*****", 0); + mctx->genSlider("出現開始フレーム", &mStartPikariAppearFrames, 0, 100); + mctx->genSlider("拡大縮小", &mStartPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mStartPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mStartPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mStartPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mStartPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mStartPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mStartPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mStartPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mStartPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mStartPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mStartPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mStartPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mStartPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mStartPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mStartPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mStartPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mStartPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mStartPikariAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("タイマー表示フレーム", &mStartPikariDisplayFrames, 0, 100); + mctx->genLabel("*****READY? FIGHT!!の調整*****", 0); + mctx->genSlider("サイズ調整X", &mReadyFightTextSizeX, 0.0f, 3.0f); + mctx->genSlider("サイズ調整Y", &mReadyFightTextSizeY, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mReadyFightTextPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mReadyFightTextPosY, -300.0f, 300.0f); + mctx->genSlider("アニメスピード", &mReadyFightTextAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("ウエイトフレーム", &mReadyFightTextWaitFrames, 0, 100); + mctx->genSlider("アルファフレーム", &field_0x172, 0, 100); + mctx->genLabel("*****READY? FIGHT!!のピカリ調整*****", 0); + mctx->genSlider("出現開始フレーム", &mReadyFightPikariAppearFrames, 0, 100); + mctx->genSlider("拡大縮小", &mReadyFightPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mReadyFightPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mReadyFightPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mReadyFightPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mReadyFightPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mReadyFightPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mReadyFightPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mReadyFightPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mReadyFightPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mReadyFightPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mReadyFightPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mReadyFightPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mReadyFightPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mReadyFightPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mReadyFightPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mReadyFightPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mReadyFightPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mReadyFightPikariAnimSpeed, 0.0f, 3.0f); } #endif @@ -1542,101 +1542,101 @@ dMeter_drawLightDropHIO_c::dMeter_drawLightDropHIO_c() { #if DEBUG void dMeter_drawLightDropHIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("拡大縮小(通常)", &mVesselScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(通常)", &mVesselPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(通常)", &mVesselPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(4:3)", &mVesselPosX_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(4;3)", &mVesselPosY_4x3, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ(通常)", &mVesselAlpha[0], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(会話)", &mVesselTalkScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(会話)", &mVesselTalkPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(会話)", &mVesselTalkPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ(会話)", &mVesselAlpha[1], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ(器)", &mVesselAlpha[2], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ(雫)", &mDropAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***光の器ゲット後***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mDropGetScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡縮アニメフレーム数", &mDropGetScaleAnimFrameNum, 0, 30, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***光の雫コンプリート後***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("個々ピカリ間隔", &mPikariInterval, 0, 30, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("個々~一斉ピカリ間隔", &field_0x54, -30, 30, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("パーツのスケール", &mDropScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ONカラー黒(R)", &mDropOnColorBlack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ONカラー黒(G)", &mDropOnColorBlack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ONカラー黒(B)", &mDropOnColorBlack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ONカラー黒(A)", &mDropOnColorBlack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ONカラー白(R)", &mDropOnColorWhite.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ONカラー白(G)", &mDropOnColorWhite.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ONカラー白(B)", &mDropOnColorWhite.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ONカラー白(A)", &mDropOnColorWhite.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("OFFカラー黒(R)", &mDropOffColorBlack.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("OFFカラー黒(G)", &mDropOffColorBlack.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("OFFカラー黒(B)", &mDropOffColorBlack.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("OFFカラー黒(A)", &mDropOffColorBlack.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("OFFカラー白(R)", &mDropOffColorWhite.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("OFFカラー白(G)", &mDropOffColorWhite.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("OFFカラー白(B)", &mDropOffColorWhite.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("OFFカラー白(A)", &mDropOffColorWhite.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***ピカリ***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(通常)", &mPikariScaleNormal, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(コンプ後)", &mPikariScaleComplete, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mDropPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mDropPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mDropPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mDropPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mDropPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mDropPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mDropPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mDropPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mDropPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mDropPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mDropPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mDropPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mDropPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mDropPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mDropPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mDropPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード(コンプ中)", &mDropPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード(コンプ後)", &mDropPikariAnimSpeed_Completed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***ピカリ(ループ再生)***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mPikariLoopScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mPikariLoopFrontInner[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mPikariLoopFrontInner[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mPikariLoopFrontInner[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mPikariLoopFrontInner[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mPikariLoopFrontOuter[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mPikariLoopFrontOuter[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mPikariLoopFrontOuter[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mPikariLoopFrontOuter[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mPikariLoopBackInner[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mPikariLoopBackInner[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mPikariLoopBackInner[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mPikariLoopBackInner[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mPikariLoopBackOuter[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mPikariLoopBackOuter[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mPikariLoopBackOuter[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mPikariLoopBackOuter[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mPikariLoopAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("***ピカリ(ループBACK(停止))***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mPikariLoopBackScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mPikariLoopFrontInner[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mPikariLoopFrontInner[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mPikariLoopFrontInner[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mPikariLoopFrontInner[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mPikariLoopFrontOuter[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mPikariLoopFrontOuter[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mPikariLoopFrontOuter[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mPikariLoopFrontOuter[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mPikariLoopBackInner[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mPikariLoopBackInner[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mPikariLoopBackInner[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mPikariLoopBackInner[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mPikariLoopBackOuter[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mPikariLoopBackOuter[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mPikariLoopBackOuter[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mPikariLoopBackOuter[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("停止アニメフレーム", &mPikariLoopBackStopFrame, 0.0f, 60.0f, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("アニメデバッグ", &mAnimDebug, 1, 0, NULL, -1, -1, 512, 24); + mctx->genSlider("拡大縮小(通常)", &mVesselScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X(通常)", &mVesselPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(通常)", &mVesselPosY, -300.0f, 300.0f); + mctx->genSlider("位置調整X(4:3)", &mVesselPosX_4x3, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(4;3)", &mVesselPosY_4x3, -300.0f, 300.0f); + mctx->genSlider("アルファ(通常)", &mVesselAlpha[0], 0.0f, 1.0f); + mctx->genSlider("拡大縮小(会話)", &mVesselTalkScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X(会話)", &mVesselTalkPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(会話)", &mVesselTalkPosY, -300.0f, 300.0f); + mctx->genSlider("アルファ(会話)", &mVesselAlpha[1], 0.0f, 1.0f); + mctx->genSlider("アルファ(器)", &mVesselAlpha[2], 0.0f, 1.0f); + mctx->genSlider("アルファ(雫)", &mDropAlpha, 0.0f, 1.0f); + mctx->genLabel("***光の器ゲット後***", 0); + mctx->genSlider("拡大縮小", &mDropGetScale, 0.0f, 3.0f); + mctx->genSlider("拡縮アニメフレーム数", &mDropGetScaleAnimFrameNum, 0, 30); + mctx->genLabel("***光の雫コンプリート後***", 0); + mctx->genSlider("個々ピカリ間隔", &mPikariInterval, 0, 30); + mctx->genSlider("個々~一斉ピカリ間隔", &field_0x54, -30, 30); + mctx->genSlider("パーツのスケール", &mDropScale, 0.0f, 3.0f); + mctx->genSlider("ONカラー黒(R)", &mDropOnColorBlack.r, 0, 255); + mctx->genSlider("ONカラー黒(G)", &mDropOnColorBlack.g, 0, 255); + mctx->genSlider("ONカラー黒(B)", &mDropOnColorBlack.b, 0, 255); + mctx->genSlider("ONカラー黒(A)", &mDropOnColorBlack.a, 0, 255); + mctx->genSlider("ONカラー白(R)", &mDropOnColorWhite.r, 0, 255); + mctx->genSlider("ONカラー白(G)", &mDropOnColorWhite.g, 0, 255); + mctx->genSlider("ONカラー白(B)", &mDropOnColorWhite.b, 0, 255); + mctx->genSlider("ONカラー白(A)", &mDropOnColorWhite.a, 0, 255); + mctx->genSlider("OFFカラー黒(R)", &mDropOffColorBlack.r, 0, 255); + mctx->genSlider("OFFカラー黒(G)", &mDropOffColorBlack.g, 0, 255); + mctx->genSlider("OFFカラー黒(B)", &mDropOffColorBlack.b, 0, 255); + mctx->genSlider("OFFカラー黒(A)", &mDropOffColorBlack.a, 0, 255); + mctx->genSlider("OFFカラー白(R)", &mDropOffColorWhite.r, 0, 255); + mctx->genSlider("OFFカラー白(G)", &mDropOffColorWhite.g, 0, 255); + mctx->genSlider("OFFカラー白(B)", &mDropOffColorWhite.b, 0, 255); + mctx->genSlider("OFFカラー白(A)", &mDropOffColorWhite.a, 0, 255); + mctx->genLabel("***ピカリ***", 0); + mctx->genSlider("拡大縮小(通常)", &mPikariScaleNormal, 0.0f, 3.0f); + mctx->genSlider("拡大縮小(コンプ後)", &mPikariScaleComplete, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mDropPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mDropPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mDropPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mDropPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mDropPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mDropPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mDropPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mDropPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mDropPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mDropPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mDropPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mDropPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mDropPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mDropPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mDropPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mDropPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード(コンプ中)", &mDropPikariAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("アニメスピード(コンプ後)", &mDropPikariAnimSpeed_Completed, 0.0f, 3.0f); + mctx->genLabel("***ピカリ(ループ再生)***", 0); + mctx->genSlider("拡大縮小", &mPikariLoopScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mPikariLoopFrontInner[0].r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mPikariLoopFrontInner[0].g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mPikariLoopFrontInner[0].b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mPikariLoopFrontInner[0].a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mPikariLoopFrontOuter[0].r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mPikariLoopFrontOuter[0].g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mPikariLoopFrontOuter[0].b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mPikariLoopFrontOuter[0].a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mPikariLoopBackInner[0].r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mPikariLoopBackInner[0].g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mPikariLoopBackInner[0].b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mPikariLoopBackInner[0].a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mPikariLoopBackOuter[0].r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mPikariLoopBackOuter[0].g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mPikariLoopBackOuter[0].b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mPikariLoopBackOuter[0].a, 0, 255); + mctx->genSlider("アニメスピード", &mPikariLoopAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("***ピカリ(ループBACK(停止))***", 0); + mctx->genSlider("拡大縮小", &mPikariLoopBackScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mPikariLoopFrontInner[1].r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mPikariLoopFrontInner[1].g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mPikariLoopFrontInner[1].b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mPikariLoopFrontInner[1].a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mPikariLoopFrontOuter[1].r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mPikariLoopFrontOuter[1].g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mPikariLoopFrontOuter[1].b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mPikariLoopFrontOuter[1].a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mPikariLoopBackInner[1].r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mPikariLoopBackInner[1].g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mPikariLoopBackInner[1].b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mPikariLoopBackInner[1].a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mPikariLoopBackOuter[1].r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mPikariLoopBackOuter[1].g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mPikariLoopBackOuter[1].b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mPikariLoopBackOuter[1].a, 0, 255); + mctx->genSlider("停止アニメフレーム", &mPikariLoopBackStopFrame, 0.0f, 60.0f); + mctx->genCheckBox("アニメデバッグ", &mAnimDebug, 0x1); } #endif @@ -2312,683 +2312,683 @@ void dMeter_drawHIO_c::genMessage(JORMContext* mctx) { if (field_0x8_debug != NULL) { mctx->genNode("エリアマップ制御", field_0x8_debug, 0, 0); } - mctx->genLabel("*****アイテムスケール割合*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mItemScaleAdjustON, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("割合", &mItemScalePercent, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("* ライフゲージ・魔法メーターの調整 *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("**********************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     ライフの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("**********************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ライフ10以下*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mLifeTopPosX, -100.0f, 100.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mLifeTopPosY, -100.0f, 100.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****魔法が無い*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mNoMagicPosY, -100.0f, 100.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****全体の調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("全体の拡大縮小", &mParentScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("全体のアルファ", &mParentAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ライフゲージの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mLifeParentScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ハートマークのアルファ", &mLifeParentHeartAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ベースのアルファ", &mHeartBaseAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mLifeGaugePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mLifeGaugePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ハートマークの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mHeartMarkScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mHeartAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****大きいハートマークの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mBigHeartScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mBigHeartAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    魔法メーターの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****魔法メーターの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mMagicMeterScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("バーのアルファ", &mMagicMeterAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("枠のアルファ", &mMagicMeterFrameAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mMagicMeterPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mMagicMeterPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   カンテラメーターの調整   *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****カンテラメーターの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mLanternMeterScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("バーのアルファ", &mLanternMeterAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("枠のアルファ", &mLanternMeterFrameAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mLanternMeterPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mLanternMeterPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    酸素メーターの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****酸素メーターの調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mOxygenMeterScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("バーのアルファ", &mOxygenMeterAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("枠のアルファ", &mOxygenMeterFrameAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mOxygenMeterPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mOxygenMeterPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    操作説明関連の調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*      全体の調整      *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mMainHUDButtonsScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mMainHUDButtonsAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mMainHUDButtonsPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mMainHUDButtonsPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*  全体の調整(アイテム選択)  *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mRingHUDButtonsScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mRingHUDButtonsAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mRingHUDButtonsPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mRingHUDButtonsPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   ボタン表示バックの調整   *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonDisplayBackScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonDisplayBackAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Aボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonAScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonAAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonAPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonAPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(会話中)", &mButtonATalkScale[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(会話中)", &mButtonATalkPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(会話中)", &mButtonATalkPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(会話中A)", &mButtonATalkAScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(会話中A)", &mButtonATalkAPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(会話中A)", &mButtonATalkAPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(光の器)", &mButtonAVesselPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(光の器)", &mButtonAVesselPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Aフォントの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("テキストデバッグ", (u8*)&mButtonATextDebug, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アクションID", &mButtonATextActionID, 0, 2000, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("字間", &mButtonATextSpacing, -5.0f, 5.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonATextScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonATextPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonATextPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(会話中)", &mButtonATalkScale[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(会話中)", &mButtonATalkPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(会話中)", &mButtonATalkPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(会話中A)", &mButtonATextTalkAScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(会話中A)", &mButtonATalkAPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(会話中A)", &mButtonATalkAPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(R)", &mButtonATextColor.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(G)", &mButtonATextColor.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(B)", &mButtonATextColor.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(A)", &mButtonATextColor.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Bボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonBScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonBAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonBPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonBPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(会話中)", &mButtonBTalkScale[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(会話中)", &mButtonBTalkPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(会話中)", &mButtonBTalkPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(狼)", &mButtonBWolfPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(狼)", &mButtonBWolfPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(光の器)", &mButtonBVesselPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(光の器)", &mButtonBVesselPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Bアイテムの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mButtonDebug[3], 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonBItemPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonBItemPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("回転", &mButtonBItemRotation[0], 0.0f, 360.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonBItemScale[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(個数)", &mItemBNumPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(個数)", &mItemBNumPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(個数)", &mItemBNumScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(剣)", &mButtonBItemPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(剣)", &mButtonBItemPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("回転(剣)", &mButtonBItemRotation[1], 0.0f, 360.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(剣)", &mButtonBItemScale[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(つり)", &mButtonBItemPosX[2], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(つり)", &mButtonBItemPosY[2], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("回転(つり)", &mButtonBItemRotation[2], 0.0f, 360.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(つり)", &mButtonBItemScale[2], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   Bアイテムベースの調整   *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("*****アイテムスケール割合*****", 0); + mctx->genCheckBox("調整ON", (u8*)&mItemScaleAdjustON, 0x1); + mctx->genSlider("割合", &mItemScalePercent, 0, 255); + mctx->genLabel("************************************", 0); + mctx->genLabel("* ライフゲージ・魔法メーターの調整 *", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("**********************************", 0); + mctx->genLabel("*     ライフの調整     *", 0); + mctx->genLabel("**********************************", 0); + mctx->genLabel("*****ライフ10以下*****", 0); + mctx->genSlider("トランスX", &mLifeTopPosX, -100.0f, 100.0f); + mctx->genSlider("トランスY", &mLifeTopPosY, -100.0f, 100.0f); + mctx->genLabel("*****魔法が無い*****", 0); + mctx->genSlider("トランスY", &mNoMagicPosY, -100.0f, 100.0f); + mctx->genLabel("*****全体の調整*****", 0); + mctx->genSlider("全体の拡大縮小", &mParentScale, 0.0f, 3.0f); + mctx->genSlider("全体のアルファ", &mParentAlpha, 0.0f, 1.0f); + mctx->genLabel("*****ライフゲージの調整*****", 0); + mctx->genSlider("拡大縮小", &mLifeParentScale, 0.0f, 3.0f); + mctx->genSlider("ハートマークのアルファ", &mLifeParentHeartAlpha, 0.0f, 1.0f); + mctx->genSlider("ベースのアルファ", &mHeartBaseAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mLifeGaugePosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mLifeGaugePosY, -300.0f, 300.0f); + mctx->genLabel("*****ハートマークの調整*****", 0); + mctx->genSlider("拡大縮小", &mHeartMarkScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mHeartAlpha, 0.0f, 1.0f); + mctx->genLabel("*****大きいハートマークの調整*****", 0); + mctx->genSlider("拡大縮小", &mBigHeartScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mBigHeartAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    魔法メーターの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*****魔法メーターの調整*****", 0); + mctx->genSlider("拡大縮小", &mMagicMeterScale, 0.0f, 3.0f); + mctx->genSlider("バーのアルファ", &mMagicMeterAlpha, 0.0f, 1.0f); + mctx->genSlider("枠のアルファ", &mMagicMeterFrameAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mMagicMeterPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mMagicMeterPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   カンテラメーターの調整   *", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*****カンテラメーターの調整*****", 0); + mctx->genSlider("拡大縮小", &mLanternMeterScale, 0.0f, 3.0f); + mctx->genSlider("バーのアルファ", &mLanternMeterAlpha, 0.0f, 1.0f); + mctx->genSlider("枠のアルファ", &mLanternMeterFrameAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mLanternMeterPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mLanternMeterPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    酸素メーターの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*****酸素メーターの調整*****", 0); + mctx->genSlider("拡大縮小", &mOxygenMeterScale, 0.0f, 3.0f); + mctx->genSlider("バーのアルファ", &mOxygenMeterAlpha, 0.0f, 1.0f); + mctx->genSlider("枠のアルファ", &mOxygenMeterFrameAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mOxygenMeterPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mOxygenMeterPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    操作説明関連の調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*      全体の調整      *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mMainHUDButtonsScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mMainHUDButtonsAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mMainHUDButtonsPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mMainHUDButtonsPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*  全体の調整(アイテム選択)  *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mRingHUDButtonsScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mRingHUDButtonsAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mRingHUDButtonsPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mRingHUDButtonsPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   ボタン表示バックの調整   *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonDisplayBackScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mButtonDisplayBackAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Aボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonAScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mButtonAAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mButtonAPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonAPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小(会話中)", &mButtonATalkScale[0], 0.0f, 3.0f); + mctx->genSlider("位置調整X(会話中)", &mButtonATalkPosX[0], -300.0f, 300.0f); + mctx->genSlider("位置調整Y(会話中)", &mButtonATalkPosY[0], -300.0f, 300.0f); + mctx->genSlider("拡大縮小(会話中A)", &mButtonATalkAScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X(会話中A)", &mButtonATalkAPosX[0], -300.0f, 300.0f); + mctx->genSlider("位置調整Y(会話中A)", &mButtonATalkAPosY[0], -300.0f, 300.0f); + mctx->genSlider("位置調整X(光の器)", &mButtonAVesselPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(光の器)", &mButtonAVesselPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Aフォントの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genCheckBox("テキストデバッグ", (u8*)&mButtonATextDebug, 0x1); + mctx->genSlider("アクションID", &mButtonATextActionID, 0, 2000); + mctx->genSlider("字間", &mButtonATextSpacing, -5.0f, 5.0f); + mctx->genSlider("拡大縮小", &mButtonATextScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mButtonATextPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonATextPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小(会話中)", &mButtonATalkScale[1], 0.0f, 3.0f); + mctx->genSlider("位置調整X(会話中)", &mButtonATalkPosX[1], -300.0f, 300.0f); + mctx->genSlider("位置調整Y(会話中)", &mButtonATalkPosY[1], -300.0f, 300.0f); + mctx->genSlider("拡大縮小(会話中A)", &mButtonATextTalkAScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X(会話中A)", &mButtonATalkAPosX[1], -300.0f, 300.0f); + mctx->genSlider("位置調整Y(会話中A)", &mButtonATalkAPosY[1], -300.0f, 300.0f); + mctx->genSlider("カラー(R)", &mButtonATextColor.r, 0, 255); + mctx->genSlider("カラー(G)", &mButtonATextColor.g, 0, 255); + mctx->genSlider("カラー(B)", &mButtonATextColor.b, 0, 255); + mctx->genSlider("カラー(A)", &mButtonATextColor.a, 0, 255); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Bボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonBScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mButtonBAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mButtonBPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonBPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小(会話中)", &mButtonBTalkScale[0], 0.0f, 3.0f); + mctx->genSlider("位置調整X(会話中)", &mButtonBTalkPosX[0], -300.0f, 300.0f); + mctx->genSlider("位置調整Y(会話中)", &mButtonBTalkPosY[0], -300.0f, 300.0f); + mctx->genSlider("位置調整X(狼)", &mButtonBWolfPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(狼)", &mButtonBWolfPosY, -300.0f, 300.0f); + mctx->genSlider("位置調整X(光の器)", &mButtonBVesselPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(光の器)", &mButtonBVesselPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Bアイテムの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genCheckBox("調整ON", (u8*)&mButtonDebug[3], 0x1); + mctx->genSlider("位置調整X", &mButtonBItemPosX[0], -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonBItemPosY[0], -300.0f, 300.0f); + mctx->genSlider("回転", &mButtonBItemRotation[0], 0.0f, 360.0f); + mctx->genSlider("拡大縮小", &mButtonBItemScale[0], 0.0f, 3.0f); + mctx->genSlider("位置調整X(個数)", &mItemBNumPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(個数)", &mItemBNumPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小(個数)", &mItemBNumScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X(剣)", &mButtonBItemPosX[1], -300.0f, 300.0f); + mctx->genSlider("位置調整Y(剣)", &mButtonBItemPosY[1], -300.0f, 300.0f); + mctx->genSlider("回転(剣)", &mButtonBItemRotation[1], 0.0f, 360.0f); + mctx->genSlider("拡大縮小(剣)", &mButtonBItemScale[1], 0.0f, 3.0f); + mctx->genSlider("位置調整X(つり)", &mButtonBItemPosX[2], -300.0f, 300.0f); + mctx->genSlider("位置調整Y(つり)", &mButtonBItemPosY[2], -300.0f, 300.0f); + mctx->genSlider("回転(つり)", &mButtonBItemRotation[2], 0.0f, 360.0f); + mctx->genSlider("拡大縮小(つり)", &mButtonBItemScale[2], 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   Bアイテムベースの調整   *", 0); + mctx->genLabel("************************************", 0); for (int i = 0; i < 2; i++) { - mctx->genLabel(base_text[i], 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mItemBBaseScale[i], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mItemBBasePosX[i], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mItemBBasePosY[i], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mItemBBaseAlpha[i], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); + mctx->genLabel(base_text[i], 0); + mctx->genSlider("拡大縮小", &mItemBBaseScale[i], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mItemBBasePosX[i], -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mItemBBasePosY[i], -300.0f, 300.0f); + mctx->genSlider("アルファ", &mItemBBaseAlpha[i], 0.0f, 1.0f); } - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Bフォントの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonBFontScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonBFontPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonBFontPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(会話中)", &mButtonBTalkScale[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(会話中)", &mButtonBTalkPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(会話中)", &mButtonBTalkPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(R)", &mButtonBFontColor.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(G)", &mButtonBFontColor.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(B)", &mButtonBFontColor.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(A)", &mButtonBFontColor.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    ミドナアイコンの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mMidnaIconScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mMidnaIconAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mMidnaIconPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mMidnaIconPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     XYボタンの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイコンの半透明アルファ", &mButtonXYItemDimAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ボタンの半透明アルファ", &mButtonXYBaseDimAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Xボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonXScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonXAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonXPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonXPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Xアイテムの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mButtonDebug[0], 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonXItemPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonXItemPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonXItemScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("回転", &mButtonItemRotation[0], 0.0f, 360.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(個数)", &mXItemNumPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(個数)", &mXItemNumPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(個数)", &mXItemNumScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   Xアイテムベースの調整   *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Bフォントの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonBFontScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mButtonBFontPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonBFontPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小(会話中)", &mButtonBTalkScale[1], 0.0f, 3.0f); + mctx->genSlider("位置調整X(会話中)", &mButtonBTalkPosX[1], -300.0f, 300.0f); + mctx->genSlider("位置調整Y(会話中)", &mButtonBTalkPosY[1], -300.0f, 300.0f); + mctx->genSlider("カラー(R)", &mButtonBFontColor.r, 0, 255); + mctx->genSlider("カラー(G)", &mButtonBFontColor.g, 0, 255); + mctx->genSlider("カラー(B)", &mButtonBFontColor.b, 0, 255); + mctx->genSlider("カラー(A)", &mButtonBFontColor.a, 0, 255); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    ミドナアイコンの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mMidnaIconScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mMidnaIconAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mMidnaIconPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mMidnaIconPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     XYボタンの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("アイコンの半透明アルファ", &mButtonXYItemDimAlpha, 0, 255); + mctx->genSlider("ボタンの半透明アルファ", &mButtonXYBaseDimAlpha, 0, 255); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Xボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonXScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mButtonXAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mButtonXPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonXPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Xアイテムの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genCheckBox("調整ON", (u8*)&mButtonDebug[0], 0x1); + mctx->genSlider("位置調整X", &mButtonXItemPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonXItemPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小", &mButtonXItemScale, 0.0f, 3.0f); + mctx->genSlider("回転", &mButtonItemRotation[0], 0.0f, 360.0f); + mctx->genSlider("位置調整X(個数)", &mXItemNumPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(個数)", &mXItemNumPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小(個数)", &mXItemNumScale, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   Xアイテムベースの調整   *", 0); + mctx->genLabel("************************************", 0); for (int i = 0; i < 2; i++) { - mctx->genLabel(base_text[i], 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonXItemBaseScale[i], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonXItemBasePosX[i], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonXItemBasePosY[i], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonXItemBaseAlpha[i], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel(base_text[i], 0); + mctx->genSlider("拡大縮小", &mButtonXItemBaseScale[i], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mButtonXItemBasePosX[i], -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonXItemBasePosY[i], -300.0f, 300.0f); + mctx->genSlider("アルファ", &mButtonXItemBaseAlpha[i], 0.0f, 1.0f); + mctx->genLabel("", 0); } - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Yボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonYScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonYAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonYPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonYPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Yアイテムの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mButtonDebug[1], 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonYItemPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonYItemPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonYItemScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("回転", &mButtonItemRotation[1], 0.0f, 360.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(個数)", &mYItemNumPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(個数)", &mYItemNumPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小(個数)", &mYItemNumScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   Yアイテムベースの調整   *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Yボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonYScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mButtonYAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mButtonYPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonYPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Yアイテムの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genCheckBox("調整ON", (u8*)&mButtonDebug[1], 0x1); + mctx->genSlider("位置調整X", &mButtonYItemPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonYItemPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小", &mButtonYItemScale, 0.0f, 3.0f); + mctx->genSlider("回転", &mButtonItemRotation[1], 0.0f, 360.0f); + mctx->genSlider("位置調整X(個数)", &mYItemNumPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(個数)", &mYItemNumPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小(個数)", &mYItemNumScale, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   Yアイテムベースの調整   *", 0); + mctx->genLabel("************************************", 0); for (int i = 0; i < 2; i++) { - mctx->genLabel(base_text[i], 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonYItemBaseScale[i], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonYItemBasePosX[i], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonYItemBasePosY[i], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonYItemBaseAlpha[i], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel(base_text[i], 0); + mctx->genSlider("拡大縮小", &mButtonYItemBaseScale[i], 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mButtonYItemBasePosX[i], -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonYItemBasePosY[i], -300.0f, 300.0f); + mctx->genSlider("アルファ", &mButtonYItemBaseAlpha[i], 0.0f, 1.0f); + mctx->genLabel("", 0); } - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    XYフォントの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonXYTextScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonXYTextPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonXYTextPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(R)", &mButtonXYTextColor.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(G)", &mButtonXYTextColor.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(B)", &mButtonXYTextColor.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(A)", &mButtonXYTextColor.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Zボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonZScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonZAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonZPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonZPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Zアイテムの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonZItemPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonZItemPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonZItemScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   Zアイテムベースの調整   *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonZItemBaseScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonZItemBasePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonZItemBasePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonZItemBaseAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Zフォントの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonZFontScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonZFontPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonZFontPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(R)", &mButtonZFontColor.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(G)", &mButtonZFontColor.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(B)", &mButtonZFontColor.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カラー(A)", &mButtonZFontColor.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     ベース部分の調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonBaseAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    ルピー・カギの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*      全体の調整      *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mRupeeKeyScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mRupeeKeyPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mRupeeKeyPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mRupeeKeyAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*      ルピーの調整      *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mRupeeScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mRupeePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mRupeePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mRupeeAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*      カギの調整      *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mKeyScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mKeyPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mKeyPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mKeyAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     枠の模様の調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mRupeeFrameScale, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mRupeeFramePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mRupeeFramePosY, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mRupeeFrameAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*  ルピーの数字の調整*の調整   *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mRupeeCountScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mRupeeCountPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mRupeeCountPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mRupeeCountAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     カギの数字の調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mKeyNumScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mKeyNumPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mKeyNumPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mKeyNumAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*      拍車の調整      *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mSpurDebug, 1, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    拍車アイコンの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mSpurIconScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mSpurIconAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("* 非表示アイコン(黒ベタ)の調整 *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mUsedSpurIconScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mUsedSpurIconAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    表示可能領域の調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mSpurBarScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mSpurBarPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mSpurBarPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拍車の数", &mMaxSpurAmount, '\x03', '\f', 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Aボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonAHorseScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mButtonAHorsePosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mButtonAHorsePosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*      ピカリの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Aボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonAPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mButtonAPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mButtonAPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mButtonAPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mButtonAPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mButtonAPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mButtonAPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mButtonAPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mButtonAPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mButtonAPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mButtonAPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mButtonAPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mButtonAPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mButtonAPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mButtonAPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mButtonAPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mButtonAPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mButtonAPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Bボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonBPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mButtonBPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mButtonBPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mButtonBPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mButtonBPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mButtonBPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mButtonBPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mButtonBPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mButtonBPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mButtonBPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mButtonBPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mButtonBPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mButtonBPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mButtonBPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mButtonBPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mButtonBPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mButtonBPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mButtonBPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     Zボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonZPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mButtonZPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mButtonZPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mButtonZPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mButtonZPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mButtonZPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mButtonZPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mButtonZPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mButtonZPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mButtonZPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mButtonZPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mButtonZPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mButtonZPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mButtonZPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mButtonZPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mButtonZPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mButtonZPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mButtonZPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     XYボタンの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonXYPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mButtonXYPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mButtonXYPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mButtonXYPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mButtonXYPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mButtonXYPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mButtonXYPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mButtonXYPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mButtonXYPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mButtonXYPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mButtonXYPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mButtonXYPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mButtonXYPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mButtonXYPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mButtonXYPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mButtonXYPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mButtonXYPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mButtonXYPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     拍車アイコンの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mSpurIconPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mSpurIconPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mSpurIconPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mSpurIconPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mSpurIconPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mSpurIconPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mSpurIconPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mSpurIconPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mSpurIconPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mSpurIconPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mSpurIconPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mSpurIconPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mSpurIconPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mSpurIconPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mSpurIconPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mSpurIconPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mSpurIconPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mSpurIconPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     拍車アイコンRevive    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mSpurIconRevivePikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mSpurIconRevivePikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mSpurIconRevivePikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mSpurIconRevivePikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mSpurIconRevivePikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mSpurIconRevivePikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mSpurIconRevivePikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mSpurIconRevivePikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mSpurIconRevivePikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mSpurIconRevivePikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mSpurIconRevivePikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mSpurIconRevivePikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mSpurIconRevivePikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mSpurIconRevivePikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mSpurIconRevivePikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mSpurIconRevivePikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mSpurIconRevivePikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mSpurIconRevivePikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     ミドナボタンピカリ    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ボタン点滅", &mMidnaIconFlashRate, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mMidnaIconPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &mMidnaIconPikariFrontInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &mMidnaIconPikariFrontInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &mMidnaIconPikariFrontInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &mMidnaIconPikariFrontInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &mMidnaIconPikariFrontOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &mMidnaIconPikariFrontOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &mMidnaIconPikariFrontOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &mMidnaIconPikariFrontOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &mMidnaIconPikariBackInner.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &mMidnaIconPikariBackInner.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &mMidnaIconPikariBackInner.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &mMidnaIconPikariBackInner.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &mMidnaIconPikariBackOuter.r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &mMidnaIconPikariBackOuter.g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &mMidnaIconPikariBackOuter.b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &mMidnaIconPikariBackOuter.a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mMidnaIconPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*       十字ボタン      *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mButtonCrossScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(OFF)", &mButtonCrossOFFPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(OFF)", &mButtonCrossOFFPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X(ON)", &mButtonCrossONPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y(ON)", &mButtonCrossONPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("文字拡大縮小", &mButtonCrossTextScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mButtonCrossAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ITEMアルファ", &mButtonCrossITEMAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("MAPアルファ", &mButtonCrossMAPAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("移動フレーム", &mButtonCrossMoveFrame, 1, 0x1e, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*     ハイハイ矢印の調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("全表示", (u8*)&mScrollArrowDisplayAll, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小X", &mScrollArrowScaleX, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小Y", &mScrollArrowScaleY, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("BCKアニメスピード", &mScrollArrowBCKAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("BPKアニメスピード", &mScrollArrowBPKAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("BTKアニメスピード", &mScrollArrowBTKAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("上下用位置X", &mScrollArrowPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("上下用位置Y", &mScrollArrowPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("左右用位置X", &mScrollArrowPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("左右用位置Y", &mScrollArrowPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("中心位置X", &mScrollArrowCenterPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("中心位置Y", &mScrollArrowCenterPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   Wiiロック矢印の調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("全表示", (u8*)&mWiiLockArrowDisplayAll, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小X", &mWiiLockArrowScaleX, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小Y", &mWiiLockArrowScaleY, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("BCKアニメスピード", &mWiiLockArrowBCKAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("BPKアニメスピード", &mWiiLockArrowBPKAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("BTKアニメスピード", &mWiiLockArrowBTKAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("上下用位置X", &mWiiLockArrowPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("上下用位置Y", &mWiiLockArrowPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("左右用位置X", &mWiiLockArrowPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("左右用位置Y", &mWiiLockArrowPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    タッチエリアの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    選択中カラーの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分1R", &mTouchAreaSelectBlack[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分1G", &mTouchAreaSelectBlack[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分1B", &mTouchAreaSelectBlack[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分1A", &mTouchAreaSelectBlack[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分1R", &mTouchAreaSelectWhite[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分1G", &mTouchAreaSelectWhite[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分1B", &mTouchAreaSelectWhite[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分1A", &mTouchAreaSelectWhite[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分2R", &mTouchAreaSelectBlack[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分2G", &mTouchAreaSelectBlack[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分2B", &mTouchAreaSelectBlack[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分2A", &mTouchAreaSelectBlack[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分2R", &mTouchAreaSelectWhite[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分2G", &mTouchAreaSelectWhite[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分2B", &mTouchAreaSelectWhite[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分2A", &mTouchAreaSelectWhite[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("フレーム数", &mTouchAreaSelectFrameNum, 1, 100, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*    非選択中カラーの調整    *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分R", &mTouchAreaSelectBlack[2].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分G", &mTouchAreaSelectBlack[2].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分B", &mTouchAreaSelectBlack[2].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分A", &mTouchAreaSelectBlack[2].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分R", &mTouchAreaSelectWhite[2].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分G", &mTouchAreaSelectWhite[2].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分B", &mTouchAreaSelectWhite[2].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分A", &mTouchAreaSelectWhite[2].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("* タッチエリア(MAP)の調整  *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("選択時スケール", &mTouchAreaSelectScale[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("非選択時スケール", &mTouchAreaUnselectScale[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mTouchAreaScale[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アルファ", &mTouchAreaAlpha[0], 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mTouchAreaPosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mTouchAreaPosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*タッチエリア(エリアマップ)の調整*", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("選択時スケール", &mTouchAreaSelectScale[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("非選択時スケール", &mTouchAreaUnselectScale[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mTouchAreaScale[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mTouchAreaPosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mTouchAreaPosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("* タッチエリア(ITEM)の調整 *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("選択時スケール", &mTouchAreaSelectScale[2], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("非選択時スケール", &mTouchAreaUnselectScale[2], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mTouchAreaPosX[2], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mTouchAreaPosY[2], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   バーのテキストの調整     *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("MAPスケール", &mDpadMAPScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("MAPトランスX", &mDpadMAPPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("MAPトランスY", &mDpadMAPPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("* フローティングメッセージの調整 *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("メッセージデバッグ", (u8*)&mMessageDebug, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("メッセージID", (s32*)&mMessageID, 0, 0x7fff, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("フローデバッグ", (u8*)&mFlowDebug, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("メッセージID", (s32*)&mFlowID, 0, 0x7fff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("表示時間", &mMessageDuration, 0, 1000, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mFloatingMessagePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mFloatingMessagePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*   カンテラアイコンメーター  *", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("************************************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整X", &mLanternIconMeterPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("位置調整Y", &mLanternIconMeterPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("サイズ", &mLanternIconMeterSize, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    XYフォントの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonXYTextScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mButtonXYTextPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonXYTextPosY, -300.0f, 300.0f); + mctx->genSlider("カラー(R)", &mButtonXYTextColor.r, 0, 255); + mctx->genSlider("カラー(G)", &mButtonXYTextColor.g, 0, 255); + mctx->genSlider("カラー(B)", &mButtonXYTextColor.b, 0, 255); + mctx->genSlider("カラー(A)", &mButtonXYTextColor.a, 0, 255); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Zボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonZScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mButtonZAlpha, 0.0f, 1.0f); + mctx->genSlider("位置調整X", &mButtonZPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonZPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Zアイテムの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("位置調整X", &mButtonZItemPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonZItemPosY, -300.0f, 300.0f); + mctx->genSlider("拡大縮小", &mButtonZItemScale, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   Zアイテムベースの調整   *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonZItemBaseScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mButtonZItemBasePosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonZItemBasePosY, -300.0f, 300.0f); + mctx->genSlider("アルファ", &mButtonZItemBaseAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Zフォントの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonZFontScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mButtonZFontPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mButtonZFontPosY, -300.0f, 300.0f); + mctx->genSlider("カラー(R)", &mButtonZFontColor.r, 0, 255); + mctx->genSlider("カラー(G)", &mButtonZFontColor.g, 0, 255); + mctx->genSlider("カラー(B)", &mButtonZFontColor.b, 0, 255); + mctx->genSlider("カラー(A)", &mButtonZFontColor.a, 0, 255); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     ベース部分の調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("アルファ", &mButtonBaseAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    ルピー・カギの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*      全体の調整      *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mRupeeKeyScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mRupeeKeyPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mRupeeKeyPosY, -300.0f, 300.0f); + mctx->genSlider("アルファ", &mRupeeKeyAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*      ルピーの調整      *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mRupeeScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mRupeePosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mRupeePosY, -300.0f, 300.0f); + mctx->genSlider("アルファ", &mRupeeAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*      カギの調整      *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mKeyScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mKeyPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mKeyPosY, -300.0f, 300.0f); + mctx->genSlider("アルファ", &mKeyAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     枠の模様の調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("位置調整X", &mRupeeFrameScale, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mRupeeFramePosX, -300.0f, 300.0f); + mctx->genSlider("拡大縮小", &mRupeeFramePosY, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mRupeeFrameAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*  ルピーの数字の調整*の調整   *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mRupeeCountScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mRupeeCountPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mRupeeCountPosY, -300.0f, 300.0f); + mctx->genSlider("アルファ", &mRupeeCountAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     カギの数字の調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mKeyNumScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mKeyNumPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mKeyNumPosY, -300.0f, 300.0f); + mctx->genSlider("アルファ", &mKeyNumAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*      拍車の調整      *", 0); + mctx->genLabel("************************************", 0); + mctx->genCheckBox("調整ON", (u8*)&mSpurDebug, 0x1); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    拍車アイコンの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mSpurIconScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mSpurIconAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("* 非表示アイコン(黒ベタ)の調整 *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mUsedSpurIconScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mUsedSpurIconAlpha, 0.0f, 1.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    表示可能領域の調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mSpurBarScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mSpurBarPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mSpurBarPosY, -300.0f, 300.0f); + mctx->genSlider("拍車の数", &mMaxSpurAmount, '\x03', '\f'); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Aボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonAHorseScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X", &mButtonAHorsePosX, -500.0f, 500.0f); + mctx->genSlider("位置調整Y", &mButtonAHorsePosY, -500.0f, 500.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*      ピカリの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Aボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonAPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mButtonAPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mButtonAPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mButtonAPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mButtonAPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mButtonAPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mButtonAPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mButtonAPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mButtonAPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mButtonAPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mButtonAPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mButtonAPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mButtonAPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mButtonAPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mButtonAPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mButtonAPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mButtonAPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mButtonAPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Bボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonBPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mButtonBPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mButtonBPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mButtonBPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mButtonBPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mButtonBPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mButtonBPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mButtonBPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mButtonBPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mButtonBPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mButtonBPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mButtonBPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mButtonBPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mButtonBPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mButtonBPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mButtonBPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mButtonBPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mButtonBPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     Zボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonZPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mButtonZPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mButtonZPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mButtonZPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mButtonZPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mButtonZPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mButtonZPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mButtonZPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mButtonZPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mButtonZPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mButtonZPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mButtonZPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mButtonZPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mButtonZPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mButtonZPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mButtonZPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mButtonZPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mButtonZPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     XYボタンの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonXYPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mButtonXYPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mButtonXYPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mButtonXYPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mButtonXYPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mButtonXYPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mButtonXYPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mButtonXYPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mButtonXYPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mButtonXYPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mButtonXYPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mButtonXYPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mButtonXYPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mButtonXYPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mButtonXYPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mButtonXYPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mButtonXYPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mButtonXYPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     拍車アイコンの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mSpurIconPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mSpurIconPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mSpurIconPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mSpurIconPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mSpurIconPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mSpurIconPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mSpurIconPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mSpurIconPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mSpurIconPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mSpurIconPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mSpurIconPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mSpurIconPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mSpurIconPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mSpurIconPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mSpurIconPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mSpurIconPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mSpurIconPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mSpurIconPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     拍車アイコンRevive    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mSpurIconRevivePikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mSpurIconRevivePikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mSpurIconRevivePikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mSpurIconRevivePikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mSpurIconRevivePikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mSpurIconRevivePikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mSpurIconRevivePikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mSpurIconRevivePikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mSpurIconRevivePikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mSpurIconRevivePikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mSpurIconRevivePikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mSpurIconRevivePikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mSpurIconRevivePikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mSpurIconRevivePikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mSpurIconRevivePikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mSpurIconRevivePikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mSpurIconRevivePikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mSpurIconRevivePikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     ミドナボタンピカリ    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("ボタン点滅", &mMidnaIconFlashRate, 0, 100); + mctx->genSlider("拡大縮小", &mMidnaIconPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &mMidnaIconPikariFrontInner.r, 0, 255); + mctx->genSlider("moya00 R0(G)", &mMidnaIconPikariFrontInner.g, 0, 255); + mctx->genSlider("moya00 R0(B)", &mMidnaIconPikariFrontInner.b, 0, 255); + mctx->genSlider("moya00 R0(A)", &mMidnaIconPikariFrontInner.a, 0, 255); + mctx->genSlider("moya00 R1(R)", &mMidnaIconPikariFrontOuter.r, 0, 255); + mctx->genSlider("moya00 R1(G)", &mMidnaIconPikariFrontOuter.g, 0, 255); + mctx->genSlider("moya00 R1(B)", &mMidnaIconPikariFrontOuter.b, 0, 255); + mctx->genSlider("moya00 R1(A)", &mMidnaIconPikariFrontOuter.a, 0, 255); + mctx->genSlider("moyabs R0(R)", &mMidnaIconPikariBackInner.r, 0, 255); + mctx->genSlider("moyabs R0(G)", &mMidnaIconPikariBackInner.g, 0, 255); + mctx->genSlider("moyabs R0(B)", &mMidnaIconPikariBackInner.b, 0, 255); + mctx->genSlider("moyabs R0(A)", &mMidnaIconPikariBackInner.a, 0, 255); + mctx->genSlider("moyabs R1(R)", &mMidnaIconPikariBackOuter.r, 0, 255); + mctx->genSlider("moyabs R1(G)", &mMidnaIconPikariBackOuter.g, 0, 255); + mctx->genSlider("moyabs R1(B)", &mMidnaIconPikariBackOuter.b, 0, 255); + mctx->genSlider("moyabs R1(A)", &mMidnaIconPikariBackOuter.a, 0, 255); + mctx->genSlider("アニメスピード", &mMidnaIconPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*       十字ボタン      *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("拡大縮小", &mButtonCrossScale, 0.0f, 3.0f); + mctx->genSlider("位置調整X(OFF)", &mButtonCrossOFFPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(OFF)", &mButtonCrossOFFPosY, -300.0f, 300.0f); + mctx->genSlider("位置調整X(ON)", &mButtonCrossONPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y(ON)", &mButtonCrossONPosY, -300.0f, 300.0f); + mctx->genSlider("文字拡大縮小", &mButtonCrossTextScale, 0.0f, 3.0f); + mctx->genSlider("アルファ", &mButtonCrossAlpha, 0.0f, 1.0f); + mctx->genSlider("ITEMアルファ", &mButtonCrossITEMAlpha, 0.0f, 1.0f); + mctx->genSlider("MAPアルファ", &mButtonCrossMAPAlpha, 0.0f, 1.0f); + mctx->genSlider("移動フレーム", &mButtonCrossMoveFrame, 1, 0x1e); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*     ハイハイ矢印の調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genCheckBox("全表示", (u8*)&mScrollArrowDisplayAll, 0x1); + mctx->genSlider("拡大縮小X", &mScrollArrowScaleX, 0.0f, 3.0f); + mctx->genSlider("拡大縮小Y", &mScrollArrowScaleY, 0.0f, 3.0f); + mctx->genSlider("BCKアニメスピード", &mScrollArrowBCKAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("BPKアニメスピード", &mScrollArrowBPKAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("BTKアニメスピード", &mScrollArrowBTKAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("上下用位置X", &mScrollArrowPosX[0], -300.0f, 300.0f); + mctx->genSlider("上下用位置Y", &mScrollArrowPosY[0], -300.0f, 300.0f); + mctx->genSlider("左右用位置X", &mScrollArrowPosX[1], -300.0f, 300.0f); + mctx->genSlider("左右用位置Y", &mScrollArrowPosY[1], -300.0f, 300.0f); + mctx->genSlider("中心位置X", &mScrollArrowCenterPosX, -300.0f, 300.0f); + mctx->genSlider("中心位置Y", &mScrollArrowCenterPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   Wiiロック矢印の調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genCheckBox("全表示", (u8*)&mWiiLockArrowDisplayAll, 0x1); + mctx->genSlider("拡大縮小X", &mWiiLockArrowScaleX, 0.0f, 3.0f); + mctx->genSlider("拡大縮小Y", &mWiiLockArrowScaleY, 0.0f, 3.0f); + mctx->genSlider("BCKアニメスピード", &mWiiLockArrowBCKAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("BPKアニメスピード", &mWiiLockArrowBPKAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("BTKアニメスピード", &mWiiLockArrowBTKAnimSpeed, 0.0f, 3.0f); + mctx->genSlider("上下用位置X", &mWiiLockArrowPosX[0], -300.0f, 300.0f); + mctx->genSlider("上下用位置Y", &mWiiLockArrowPosY[0], -300.0f, 300.0f); + mctx->genSlider("左右用位置X", &mWiiLockArrowPosX[1], -300.0f, 300.0f); + mctx->genSlider("左右用位置Y", &mWiiLockArrowPosY[1], -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    タッチエリアの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    選択中カラーの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("黒成分1R", &mTouchAreaSelectBlack[0].r, 0, 255); + mctx->genSlider("黒成分1G", &mTouchAreaSelectBlack[0].g, 0, 255); + mctx->genSlider("黒成分1B", &mTouchAreaSelectBlack[0].b, 0, 255); + mctx->genSlider("黒成分1A", &mTouchAreaSelectBlack[0].a, 0, 255); + mctx->genSlider("白成分1R", &mTouchAreaSelectWhite[0].r, 0, 255); + mctx->genSlider("白成分1G", &mTouchAreaSelectWhite[0].g, 0, 255); + mctx->genSlider("白成分1B", &mTouchAreaSelectWhite[0].b, 0, 255); + mctx->genSlider("白成分1A", &mTouchAreaSelectWhite[0].a, 0, 255); + mctx->genSlider("黒成分2R", &mTouchAreaSelectBlack[1].r, 0, 255); + mctx->genSlider("黒成分2G", &mTouchAreaSelectBlack[1].g, 0, 255); + mctx->genSlider("黒成分2B", &mTouchAreaSelectBlack[1].b, 0, 255); + mctx->genSlider("黒成分2A", &mTouchAreaSelectBlack[1].a, 0, 255); + mctx->genSlider("白成分2R", &mTouchAreaSelectWhite[1].r, 0, 255); + mctx->genSlider("白成分2G", &mTouchAreaSelectWhite[1].g, 0, 255); + mctx->genSlider("白成分2B", &mTouchAreaSelectWhite[1].b, 0, 255); + mctx->genSlider("白成分2A", &mTouchAreaSelectWhite[1].a, 0, 255); + mctx->genSlider("フレーム数", &mTouchAreaSelectFrameNum, 1, 100); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*    非選択中カラーの調整    *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("黒成分R", &mTouchAreaSelectBlack[2].r, 0, 255); + mctx->genSlider("黒成分G", &mTouchAreaSelectBlack[2].g, 0, 255); + mctx->genSlider("黒成分B", &mTouchAreaSelectBlack[2].b, 0, 255); + mctx->genSlider("黒成分A", &mTouchAreaSelectBlack[2].a, 0, 255); + mctx->genSlider("白成分R", &mTouchAreaSelectWhite[2].r, 0, 255); + mctx->genSlider("白成分G", &mTouchAreaSelectWhite[2].g, 0, 255); + mctx->genSlider("白成分B", &mTouchAreaSelectWhite[2].b, 0, 255); + mctx->genSlider("白成分A", &mTouchAreaSelectWhite[2].a, 0, 255); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("* タッチエリア(MAP)の調整  *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("選択時スケール", &mTouchAreaSelectScale[0], 0.0f, 3.0f); + mctx->genSlider("非選択時スケール", &mTouchAreaUnselectScale[0], 0.0f, 3.0f); + mctx->genSlider("スケール", &mTouchAreaScale[0], 0.0f, 3.0f); + mctx->genSlider("アルファ", &mTouchAreaAlpha[0], 0.0f, 1.0f); + mctx->genSlider("トランスX", &mTouchAreaPosX[0], -300.0f, 300.0f); + mctx->genSlider("トランスY", &mTouchAreaPosY[0], -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*タッチエリア(エリアマップ)の調整*", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("選択時スケール", &mTouchAreaSelectScale[1], 0.0f, 3.0f); + mctx->genSlider("非選択時スケール", &mTouchAreaUnselectScale[1], 0.0f, 3.0f); + mctx->genSlider("スケール", &mTouchAreaScale[1], 0.0f, 3.0f); + mctx->genSlider("トランスX", &mTouchAreaPosX[1], -300.0f, 300.0f); + mctx->genSlider("トランスY", &mTouchAreaPosY[1], -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("* タッチエリア(ITEM)の調整 *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("選択時スケール", &mTouchAreaSelectScale[2], 0.0f, 3.0f); + mctx->genSlider("非選択時スケール", &mTouchAreaUnselectScale[2], 0.0f, 3.0f); + mctx->genSlider("トランスX", &mTouchAreaPosX[2], -300.0f, 300.0f); + mctx->genSlider("トランスY", &mTouchAreaPosY[2], -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   バーのテキストの調整     *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("MAPスケール", &mDpadMAPScale, 0.0f, 3.0f); + mctx->genSlider("MAPトランスX", &mDpadMAPPosX, -300.0f, 300.0f); + mctx->genSlider("MAPトランスY", &mDpadMAPPosY, -300.0f, 300.0f); + mctx->genLabel("", 0); + mctx->genLabel("************************************", 0); + mctx->genLabel("* フローティングメッセージの調整 *", 0); + mctx->genLabel("************************************", 0); + mctx->genCheckBox("メッセージデバッグ", (u8*)&mMessageDebug, 0x1); + mctx->genSlider("メッセージID", (s32*)&mMessageID, 0, 0x7fff); + mctx->genCheckBox("フローデバッグ", (u8*)&mFlowDebug, 0x1); + mctx->genSlider("メッセージID", (s32*)&mFlowID, 0, 0x7fff); + mctx->genSlider("表示時間", &mMessageDuration, 0, 1000); + mctx->genSlider("位置調整X", &mFloatingMessagePosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mFloatingMessagePosY, -300.0f, 300.0f); + mctx->genLabel("************************************", 0); + mctx->genLabel("*   カンテラアイコンメーター  *", 0); + mctx->genLabel("************************************", 0); + mctx->genSlider("位置調整X", &mLanternIconMeterPosX, -300.0f, 300.0f); + mctx->genSlider("位置調整Y", &mLanternIconMeterPosY, -300.0f, 300.0f); + mctx->genSlider("サイズ", &mLanternIconMeterSize, 0.0f, 3.0f); } void dMeter_drawHIO_c::updateFMsgDebug() { @@ -3390,94 +3390,94 @@ void dMeter_ringHIO_c::updateOffWide() { #if DEBUG void dMeter_ringHIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("リング横半径", &mRingRadiusH, 50.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リング縦半径", &mRingRadiusV, 50.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("表示フレーム", &mOpenFrames, 1, 0xf, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("非表示フレーム", &mCloseFrames, 1, 0xf, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテムスケール(選択)", &mSelectItemScale, 0.5f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテムスケール(非選択)", &mUnselectItemScale, 0.5f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ボタンスケール(選択)", &mSelectButtonScale, 0.5f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ボタンスケール(非選択)", &mUnselectButtonScale, 0.5f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("カーソルスケール", &mCursorScale, 0.5f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテム数", &mItemNum, '\x02', '\x15', 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アクティブでないアイテムスケール", &mInactiveItemScale, 0.1f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アクティブなアルファ点滅スピード", &mItemAlphaFlashDuration, 2, 300, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アクティブなアルファ最小値", &mItemAlphaMin, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アクティブなアルファ最大値", &mItemAlphaMax, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("オフセットライン表示", &mOffsetLineDisplay, '\x01', 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテムアイコン明度", &mItemIconAlpha, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテムアイコン明度(狼)", &mItemIconAlpha_Wolf, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白い枠のR(選択中)", &mItemFrame[0].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白い枠のG(選択中)", &mItemFrame[0].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白い枠のB(選択中)", &mItemFrame[0].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白い枠の明度(選択中)", &mItemFrame[0].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白い枠のR", &mItemFrame[1].r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白い枠のG", &mItemFrame[1].g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白い枠のB", &mItemFrame[1].b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白い枠の明度", &mItemFrame[1].a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテム名トランスX", &mItemNamePosX, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテム名トランスY", &mItemNamePosY, -500.0f, 500.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテム名サイズ", &mItemNameScale, 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("センターX座標", &mCenterPosX, -100.0f, 100.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("センターY座標", &mCenterPosY, -100.0f, 100.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("センターサイズ", &mCenterScale, 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スポットアルファ", &mOverlayAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("セットxyX座標", &mGuidePosX[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("セットxyY座標", &mGuidePosY[0], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("セットxyサイズ", &mGuideScale[0], 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ダイレクト選択X座標", &mGuidePosX[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ダイレクト選択Y座標", &mGuidePosY[1], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ダイレクト選択サイズ", &mGuideScale[1], 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("選択X座標", &mGuidePosX[3], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("選択Y座標", &mGuidePosY[3], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("選択サイズ", &mGuideScale[3], 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("合成X座標", &mGuidePosX[4], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("合成Y座標", &mGuidePosY[4], -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("合成サイズ", &mGuideScale[4], 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("SELECT トランスX", &mSelectPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("SELECT トランスY", &mSelectPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("SELECT スケールX", &mSelectScaleX, 0.0f, 5.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("SELECT スケールY", &mSelectScaleY, 0.0f, 5.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテム説明トランスX", &mItemDescPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテム説明トランスY", &mItemDescPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテム説明サイズ", &mItemDescScale, 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アイテム説明アルファ", &mItemDescAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("タイトル部分トランスX", &mItemDescTitlePosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("タイトル部分トランスY", &mItemDescTitlePosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("タイトル部分サイズ", &mItemDescTitleScale, 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リングのトランスX", &mItemRingPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リングのトランスY", &mItemRingPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リングの内側の円トランスX", &mRingPosX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リングの内側の円トランスY", &mRingPosY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リングの内側の円アルファ", &mRingAlpha, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リングの内側の円アルファ(狼)", &mRingAlpha_Wolf, 0.0f, 1.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リングの内側の円横スケール", &mRingScaleH, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リングの内側の円縦スケール", &mRingScaleV, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****ピカリ調整*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大縮小", &mPikariScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(R)", &(mPikariFrontInner).r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(G)", &(mPikariFrontInner).g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(B)", &(mPikariFrontInner).b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R0(A)", &(mPikariFrontInner).a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(R)", &(mPikariFrontOuter).r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(G)", &(mPikariFrontOuter).g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(B)", &(mPikariFrontOuter).b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moya00 R1(A)", &(mPikariFrontOuter).a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(R)", &(mPikariBackInner).r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(G)", &(mPikariBackInner).g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(B)", &(mPikariBackInner).b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R0(A)", &(mPikariBackInner).a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(R)", &(mPikariBackOuter).r, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(G)", &(mPikariBackOuter).g, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(B)", &(mPikariBackOuter).b, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("moyabs R1(A)", &(mPikariBackOuter).a, 0, 255, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("アニメスピード", &mPikariAnimSpeed, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****青沼さん用*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("初速", &mCursorInitSpeed, 0, 5000, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("Max", &mCursorMax, 0, 10000, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("加速度", &mCursorAccel, 0, 3000, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("回転ウエイト", &mCursorChangeWaitFrames, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ダイレクト選択回転ウエイト", &mDirectSelectWaitFrames, 0, 100, 0, NULL, -1, -1, 512, 24); + mctx->genSlider("リング横半径", &mRingRadiusH, 50.0f, 300.0f); + mctx->genSlider("リング縦半径", &mRingRadiusV, 50.0f, 300.0f); + mctx->genSlider("表示フレーム", &mOpenFrames, 1, 0xf); + mctx->genSlider("非表示フレーム", &mCloseFrames, 1, 0xf); + mctx->genSlider("アイテムスケール(選択)", &mSelectItemScale, 0.5f, 2.0f); + mctx->genSlider("アイテムスケール(非選択)", &mUnselectItemScale, 0.5f, 2.0f); + mctx->genSlider("ボタンスケール(選択)", &mSelectButtonScale, 0.5f, 2.0f); + mctx->genSlider("ボタンスケール(非選択)", &mUnselectButtonScale, 0.5f, 2.0f); + mctx->genSlider("カーソルスケール", &mCursorScale, 0.5f, 2.0f); + mctx->genSlider("アイテム数", &mItemNum, '\x02', '\x15'); + mctx->genSlider("アクティブでないアイテムスケール", &mInactiveItemScale, 0.1f, 2.0f); + mctx->genSlider("アクティブなアルファ点滅スピード", &mItemAlphaFlashDuration, 2, 300); + mctx->genSlider("アクティブなアルファ最小値", &mItemAlphaMin, 0, 255); + mctx->genSlider("アクティブなアルファ最大値", &mItemAlphaMax, 0, 255); + mctx->genCheckBox("オフセットライン表示", &mOffsetLineDisplay, '\x01'); + mctx->genSlider("アイテムアイコン明度", &mItemIconAlpha, 0, 255); + mctx->genSlider("アイテムアイコン明度(狼)", &mItemIconAlpha_Wolf, 0, 255); + mctx->genSlider("白い枠のR(選択中)", &mItemFrame[0].r, 0, 255); + mctx->genSlider("白い枠のG(選択中)", &mItemFrame[0].g, 0, 255); + mctx->genSlider("白い枠のB(選択中)", &mItemFrame[0].b, 0, 255); + mctx->genSlider("白い枠の明度(選択中)", &mItemFrame[0].a, 0, 255); + mctx->genSlider("白い枠のR", &mItemFrame[1].r, 0, 255); + mctx->genSlider("白い枠のG", &mItemFrame[1].g, 0, 255); + mctx->genSlider("白い枠のB", &mItemFrame[1].b, 0, 255); + mctx->genSlider("白い枠の明度", &mItemFrame[1].a, 0, 255); + mctx->genSlider("アイテム名トランスX", &mItemNamePosX, -500.0f, 500.0f); + mctx->genSlider("アイテム名トランスY", &mItemNamePosY, -500.0f, 500.0f); + mctx->genSlider("アイテム名サイズ", &mItemNameScale, 0.0f, 2.0f); + mctx->genSlider("センターX座標", &mCenterPosX, -100.0f, 100.0f); + mctx->genSlider("センターY座標", &mCenterPosY, -100.0f, 100.0f); + mctx->genSlider("センターサイズ", &mCenterScale, 0.0f, 2.0f); + mctx->genSlider("スポットアルファ", &mOverlayAlpha, 0.0f, 1.0f); + mctx->genSlider("セットxyX座標", &mGuidePosX[0], -300.0f, 300.0f); + mctx->genSlider("セットxyY座標", &mGuidePosY[0], -300.0f, 300.0f); + mctx->genSlider("セットxyサイズ", &mGuideScale[0], 0.0f, 2.0f); + mctx->genSlider("ダイレクト選択X座標", &mGuidePosX[1], -300.0f, 300.0f); + mctx->genSlider("ダイレクト選択Y座標", &mGuidePosY[1], -300.0f, 300.0f); + mctx->genSlider("ダイレクト選択サイズ", &mGuideScale[1], 0.0f, 2.0f); + mctx->genSlider("選択X座標", &mGuidePosX[3], -300.0f, 300.0f); + mctx->genSlider("選択Y座標", &mGuidePosY[3], -300.0f, 300.0f); + mctx->genSlider("選択サイズ", &mGuideScale[3], 0.0f, 2.0f); + mctx->genSlider("合成X座標", &mGuidePosX[4], -300.0f, 300.0f); + mctx->genSlider("合成Y座標", &mGuidePosY[4], -300.0f, 300.0f); + mctx->genSlider("合成サイズ", &mGuideScale[4], 0.0f, 2.0f); + mctx->genSlider("SELECT トランスX", &mSelectPosX, -300.0f, 300.0f); + mctx->genSlider("SELECT トランスY", &mSelectPosY, -300.0f, 300.0f); + mctx->genSlider("SELECT スケールX", &mSelectScaleX, 0.0f, 5.0f); + mctx->genSlider("SELECT スケールY", &mSelectScaleY, 0.0f, 5.0f); + mctx->genSlider("アイテム説明トランスX", &mItemDescPosX, -300.0f, 300.0f); + mctx->genSlider("アイテム説明トランスY", &mItemDescPosY, -300.0f, 300.0f); + mctx->genSlider("アイテム説明サイズ", &mItemDescScale, 0.0f, 2.0f); + mctx->genSlider("アイテム説明アルファ", &mItemDescAlpha, 0.0f, 1.0f); + mctx->genSlider("タイトル部分トランスX", &mItemDescTitlePosX, -300.0f, 300.0f); + mctx->genSlider("タイトル部分トランスY", &mItemDescTitlePosY, -300.0f, 300.0f); + mctx->genSlider("タイトル部分サイズ", &mItemDescTitleScale, 0.0f, 2.0f); + mctx->genSlider("リングのトランスX", &mItemRingPosX, -300.0f, 300.0f); + mctx->genSlider("リングのトランスY", &mItemRingPosY, -300.0f, 300.0f); + mctx->genSlider("リングの内側の円トランスX", &mRingPosX, -300.0f, 300.0f); + mctx->genSlider("リングの内側の円トランスY", &mRingPosY, -300.0f, 300.0f); + mctx->genSlider("リングの内側の円アルファ", &mRingAlpha, 0.0f, 1.0f); + mctx->genSlider("リングの内側の円アルファ(狼)", &mRingAlpha_Wolf, 0.0f, 1.0f); + mctx->genSlider("リングの内側の円横スケール", &mRingScaleH, 0.0f, 3.0f); + mctx->genSlider("リングの内側の円縦スケール", &mRingScaleV, 0.0f, 3.0f); + mctx->genLabel("*****ピカリ調整*****", 0); + mctx->genSlider("拡大縮小", &mPikariScale, 0.0f, 3.0f); + mctx->genSlider("moya00 R0(R)", &(mPikariFrontInner).r, 0, 255); + mctx->genSlider("moya00 R0(G)", &(mPikariFrontInner).g, 0, 255); + mctx->genSlider("moya00 R0(B)", &(mPikariFrontInner).b, 0, 255); + mctx->genSlider("moya00 R0(A)", &(mPikariFrontInner).a, 0, 255); + mctx->genSlider("moya00 R1(R)", &(mPikariFrontOuter).r, 0, 255); + mctx->genSlider("moya00 R1(G)", &(mPikariFrontOuter).g, 0, 255); + mctx->genSlider("moya00 R1(B)", &(mPikariFrontOuter).b, 0, 255); + mctx->genSlider("moya00 R1(A)", &(mPikariFrontOuter).a, 0, 255); + mctx->genSlider("moyabs R0(R)", &(mPikariBackInner).r, 0, 255); + mctx->genSlider("moyabs R0(G)", &(mPikariBackInner).g, 0, 255); + mctx->genSlider("moyabs R0(B)", &(mPikariBackInner).b, 0, 255); + mctx->genSlider("moyabs R0(A)", &(mPikariBackInner).a, 0, 255); + mctx->genSlider("moyabs R1(R)", &(mPikariBackOuter).r, 0, 255); + mctx->genSlider("moyabs R1(G)", &(mPikariBackOuter).g, 0, 255); + mctx->genSlider("moyabs R1(B)", &(mPikariBackOuter).b, 0, 255); + mctx->genSlider("moyabs R1(A)", &(mPikariBackOuter).a, 0, 255); + mctx->genSlider("アニメスピード", &mPikariAnimSpeed, 0.0f, 3.0f); + mctx->genLabel("*****青沼さん用*****", 0); + mctx->genSlider("初速", &mCursorInitSpeed, 0, 5000); + mctx->genSlider("Max", &mCursorMax, 0, 10000); + mctx->genSlider("加速度", &mCursorAccel, 0, 3000); + mctx->genSlider("回転ウエイト", &mCursorChangeWaitFrames, 0, 100); + mctx->genSlider("ダイレクト選択回転ウエイト", &mDirectSelectWaitFrames, 0, 100); } BOOL subJOREventCallbackListNode::JORAct(u32 param_1, const char* param_2) { @@ -3625,133 +3625,133 @@ dMeter_mapIconHIO_c::dMeter_mapIconHIO_c() { #if DEBUG void dMeter_mapIconHIO_c::genMessage(JORMContext* mctx) { // DEBUG NONMATCHING - mctx->genLabel("\n*****アイコン 表示調整*****\n", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** フィールド *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ポータルカーソル *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mPortalCursorScale, 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ポータルアイコン *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mPortalIconScale, 0.0f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** リンク *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mLinkScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mLinkZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 目的地 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mDestinationScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mDestinationZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 光の雫 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mLightDropScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mLightDropZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 光の雫(点滅処理) *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("フレーム数", &mLightDropFlashFrameNum, 0, 200, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("始スケール(out)", &mLightDropFlashStartScaleOut[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("終スケール(out)", &mLightDropFlashEndScaleOut[0], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("始アルファ(out)", &mLightDropFlashStartAlphaOut[0], 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("終アルファ(out)", &mLightDropFlashEndAlphaOut[0], 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("始スケール(in)", &mLightDropFlashStartScaleOut[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("終スケール(in)", &mLightDropFlashEndScaleOut[1], 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("始アルファ(in)", &mLightDropFlashStartAlphaOut[1], 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("終アルファ(in)", &mLightDropFlashEndAlphaOut[1], 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 雪男 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mYetoScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mYetoZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 雪女 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mYetaScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mYetaZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ゴールドウルフ *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mGoldWolfScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mGoldWolfZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 馬車 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mWagonScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mWagonZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ステージ出入口 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mDungeonEntranceScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mDungeonEntranceZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 入室位置 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mRoomEntranceScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mRoomEntranceZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 入室位置LV8 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mLV8EntranceScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mLV8EntranceZoomScale[0], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ダンジョン *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** リンク *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mLinkScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mLinkZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ダンジョンワープ位置 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mDungeonWarpScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mDungeonWarpZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 目的地 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mDestinationScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mDestinationZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ボス敵 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mBossScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mBossZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ガノン *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mGanonScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mGanonZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 光の玉 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mLightOrbScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mLightOrbZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 鉄玉 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mCannonBallScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mCannonBallZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 猿(NPC) *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mMonkeyScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mMonkeyZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 天空人(おばちゃん) *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mOoccooScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mOoccooZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 天空人(壺) *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mOoccooPotScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mOoccooPotZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** コピーロッド石像 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mCopyRodStatueScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mCopyRodStatueZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 小さな鍵 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mSmallKeyScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mSmallKeyZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 宝箱 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mChestScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mChestZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** ステージ出入口 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mDungeonEntranceScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mDungeonEntranceZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 入室位置 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mRoomEntranceScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mRoomEntranceZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 入室位置 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("通常時スケール", &mLV8EntranceScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("拡大時スケール", &mLV8EntranceZoomScale[1], 0.01f, 2.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** LV5ダンジョンアイテムデバッグ *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("デバッグON", (u8*)&mLV5DungeonItemDebug, 1, 0, NULL, -1, -1, 512, 24); - mctx->startComboBox("アイテム", &mLV5DungeonItem, 0, NULL, -1, -1, 0x100, 0x1a); + mctx->genLabel("\n*****アイコン 表示調整*****\n", 0); + mctx->genLabel("\n***** フィールド *****", 0); + mctx->genLabel("\n***** ポータルカーソル *****", 0); + mctx->genSlider("通常時スケール", &mPortalCursorScale, 0.0f, 2.0f); + mctx->genLabel("\n***** ポータルアイコン *****", 0); + mctx->genSlider("通常時スケール", &mPortalIconScale, 0.0f, 2.0f); + mctx->genLabel("\n***** リンク *****", 0); + mctx->genSlider("通常時スケール", &mLinkScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mLinkZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** 目的地 *****", 0); + mctx->genSlider("通常時スケール", &mDestinationScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mDestinationZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** 光の雫 *****", 0); + mctx->genSlider("通常時スケール", &mLightDropScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mLightDropZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** 光の雫(点滅処理) *****", 0); + mctx->genSlider("フレーム数", &mLightDropFlashFrameNum, 0, 200); + mctx->genSlider("始スケール(out)", &mLightDropFlashStartScaleOut[0], 0.0f, 3.0f); + mctx->genSlider("終スケール(out)", &mLightDropFlashEndScaleOut[0], 0.0f, 3.0f); + mctx->genSlider("始アルファ(out)", &mLightDropFlashStartAlphaOut[0], 0, 0xff); + mctx->genSlider("終アルファ(out)", &mLightDropFlashEndAlphaOut[0], 0, 0xff); + mctx->genSlider("始スケール(in)", &mLightDropFlashStartScaleOut[1], 0.0f, 3.0f); + mctx->genSlider("終スケール(in)", &mLightDropFlashEndScaleOut[1], 0.0f, 3.0f); + mctx->genSlider("始アルファ(in)", &mLightDropFlashStartAlphaOut[1], 0, 0xff); + mctx->genSlider("終アルファ(in)", &mLightDropFlashEndAlphaOut[1], 0, 0xff); + mctx->genLabel("\n***** 雪男 *****", 0); + mctx->genSlider("通常時スケール", &mYetoScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mYetoZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** 雪女 *****", 0); + mctx->genSlider("通常時スケール", &mYetaScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mYetaZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** ゴールドウルフ *****", 0); + mctx->genSlider("通常時スケール", &mGoldWolfScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mGoldWolfZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** 馬車 *****", 0); + mctx->genSlider("通常時スケール", &mWagonScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mWagonZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** ステージ出入口 *****", 0); + mctx->genSlider("通常時スケール", &mDungeonEntranceScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mDungeonEntranceZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** 入室位置 *****", 0); + mctx->genSlider("通常時スケール", &mRoomEntranceScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mRoomEntranceZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** 入室位置LV8 *****", 0); + mctx->genSlider("通常時スケール", &mLV8EntranceScale[0], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mLV8EntranceZoomScale[0], 0.01f, 2.0f); + mctx->genLabel("\n***** ダンジョン *****", 0); + mctx->genLabel("\n***** リンク *****", 0); + mctx->genSlider("通常時スケール", &mLinkScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mLinkZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** ダンジョンワープ位置 *****", 0); + mctx->genSlider("通常時スケール", &mDungeonWarpScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mDungeonWarpZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 目的地 *****", 0); + mctx->genSlider("通常時スケール", &mDestinationScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mDestinationZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** ボス敵 *****", 0); + mctx->genSlider("通常時スケール", &mBossScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mBossZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** ガノン *****", 0); + mctx->genSlider("通常時スケール", &mGanonScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mGanonZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 光の玉 *****", 0); + mctx->genSlider("通常時スケール", &mLightOrbScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mLightOrbZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 鉄玉 *****", 0); + mctx->genSlider("通常時スケール", &mCannonBallScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mCannonBallZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 猿(NPC) *****", 0); + mctx->genSlider("通常時スケール", &mMonkeyScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mMonkeyZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 天空人(おばちゃん) *****", 0); + mctx->genSlider("通常時スケール", &mOoccooScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mOoccooZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 天空人(壺) *****", 0); + mctx->genSlider("通常時スケール", &mOoccooPotScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mOoccooPotZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** コピーロッド石像 *****", 0); + mctx->genSlider("通常時スケール", &mCopyRodStatueScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mCopyRodStatueZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 小さな鍵 *****", 0); + mctx->genSlider("通常時スケール", &mSmallKeyScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mSmallKeyZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 宝箱 *****", 0); + mctx->genSlider("通常時スケール", &mChestScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mChestZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** ステージ出入口 *****", 0); + mctx->genSlider("通常時スケール", &mDungeonEntranceScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mDungeonEntranceZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 入室位置 *****", 0); + mctx->genSlider("通常時スケール", &mRoomEntranceScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mRoomEntranceZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** 入室位置 *****", 0); + mctx->genSlider("通常時スケール", &mLV8EntranceScale[1], 0.01f, 2.0f); + mctx->genSlider("拡大時スケール", &mLV8EntranceZoomScale[1], 0.01f, 2.0f); + mctx->genLabel("\n***** LV5ダンジョンアイテムデバッグ *****", 0); + mctx->genCheckBox("デバッグON", (u8*)&mLV5DungeonItemDebug, 0x1); + mctx->startComboBox("アイテム", &mLV5DungeonItem); mctx->genComboBoxItem("なし", 0xff); mctx->genComboBoxItem("トマトピューレ", 0xf4); mctx->genComboBoxItem("隠し味の素", 0xf5); mctx->genComboBoxItem("ボス鍵", 0xf6); mctx->endComboBox(); - mctx->genLabel("\n***** アイコンデバッグ表示 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("***アイコンデバッグ***", (u8*)&mIconDebug, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ポータル", (u8*)&mIconDisplay, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("リンク", (u8*)&mIconDisplay[1], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ダンジョンワープ位置", (u8*)&mIconDisplay[2], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("目的地", (u8*)&mIconDisplay[3], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ボス敵", (u8*)&mIconDisplay[4], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ガノン", (u8*)&mIconDisplay[5], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("光の雫", (u8*)&mIconDisplay[6], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("光の玉", (u8*)&mIconDisplay[7], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("鉄玉", (u8*)&mIconDisplay[8], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("雪男", (u8*)&mIconDisplay[9], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("雪女", (u8*)&mIconDisplay[10], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ゴールドウルフ", (u8*)&mIconDisplay[0xb], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("猿(NPC)", (u8*)&mIconDisplay[0xc], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("天空人(おばちゃん)", (u8*)&mIconDisplay[0xd], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("天空人(壺)", (u8*)&mIconDisplay[0xe], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("コピーロッド石像", (u8*)&mIconDisplay[0xf], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("馬車", (u8*)&mIconDisplay[0x10], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("小さな鍵", (u8*)&mIconDisplay[0x11], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("宝箱", (u8*)&mIconDisplay[0x12], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ステージ出入口", (u8*)&mIconDisplay[0x13], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("入室位置", (u8*)&mIconDisplay[0x14], 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ダンジョン出入り口LV8", (u8*)&mIconDisplay[0x15], 1, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("\n***** アイコンデバッグ表示 *****", 0); + mctx->genCheckBox("***アイコンデバッグ***", (u8*)&mIconDebug, 0x1); + mctx->genCheckBox("ポータル", (u8*)&mIconDisplay, 0x1); + mctx->genCheckBox("リンク", (u8*)&mIconDisplay[1], 0x1); + mctx->genCheckBox("ダンジョンワープ位置", (u8*)&mIconDisplay[2], 0x1); + mctx->genCheckBox("目的地", (u8*)&mIconDisplay[3], 0x1); + mctx->genCheckBox("ボス敵", (u8*)&mIconDisplay[4], 0x1); + mctx->genCheckBox("ガノン", (u8*)&mIconDisplay[5], 0x1); + mctx->genCheckBox("光の雫", (u8*)&mIconDisplay[6], 0x1); + mctx->genCheckBox("光の玉", (u8*)&mIconDisplay[7], 0x1); + mctx->genCheckBox("鉄玉", (u8*)&mIconDisplay[8], 0x1); + mctx->genCheckBox("雪男", (u8*)&mIconDisplay[9], 0x1); + mctx->genCheckBox("雪女", (u8*)&mIconDisplay[10], 0x1); + mctx->genCheckBox("ゴールドウルフ", (u8*)&mIconDisplay[0xb], 0x1); + mctx->genCheckBox("猿(NPC)", (u8*)&mIconDisplay[0xc], 0x1); + mctx->genCheckBox("天空人(おばちゃん)", (u8*)&mIconDisplay[0xd], 0x1); + mctx->genCheckBox("天空人(壺)", (u8*)&mIconDisplay[0xe], 0x1); + mctx->genCheckBox("コピーロッド石像", (u8*)&mIconDisplay[0xf], 0x1); + mctx->genCheckBox("馬車", (u8*)&mIconDisplay[0x10], 0x1); + mctx->genCheckBox("小さな鍵", (u8*)&mIconDisplay[0x11], 0x1); + mctx->genCheckBox("宝箱", (u8*)&mIconDisplay[0x12], 0x1); + mctx->genCheckBox("ステージ出入口", (u8*)&mIconDisplay[0x13], 0x1); + mctx->genCheckBox("入室位置", (u8*)&mIconDisplay[0x14], 0x1); + mctx->genCheckBox("ダンジョン出入り口LV8", (u8*)&mIconDisplay[0x15], 0x1); } #endif @@ -3983,125 +3983,125 @@ void dMeter_fmapHIO_c::genMessage(JORMContext* mctx) { }; mctx->genNode("アイコン", &mMapIconHIO, 0, 0); - mctx->genLabel("*****フィールドマップ調整項目*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ワールドグリッド表示", (u8*)&mDisplayWorldGrid, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ワールドグリッド幅", &mWorldGridWidth, 0.0, 100000.0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("リージョングリッド表示", (u8*)&mDisplayRegionGrid, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リージョングリッド幅", &mRegionGridWidth, 0.0, 100000.0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ワールド原点表示", (u8*)&mDisplayWorldOrigin, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("リージョン原点表示", (u8*)&mDisplayRegionOrigin, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ステージ原点表示", (u8*)&mDisplayStageOrigin, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リージョン拡大表示範囲", &mRegionZoomRange, 1000.0, 1000000.0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("表示基準領域枠表示", (u8*)&mDisplayReferenceArea, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("スクロール範囲を表示基準", (u8*)&field_0x308, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("左上座標X", &mMapTopLeftPosX, 0.0, 608.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("左上座標Y", &mMapTopLeftPosY, 0.0, 448.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("領域幅", &mMapScale, 0.0, 608.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n*** スクロール速度境界 ***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("0~遅", &mScrollSpeedSlowBound, 0.0, 1.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("遅~速", &mScrollSpeedFastBound, 0.0, 1.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n*** スクロール速度(遅) ***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ワールド全体", &mScrollSpeedWorldSlow, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リージョン全体", &mScrollSpeedRegionSlow, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リージョン拡大", &mScrollSpeedRegionZoomSlow, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ダンジョンマップ", &mScrollSpeedDungeonMapSlow, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n*** スクロール速度(速) ***", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ワールド全体", &mScrollSpeedWorldFast, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リージョン全体", &mScrollSpeedRegionFast, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("リージョン拡大", &mScrollSpeedRegionZoomFast, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ダンジョンマップ", &mScrollSpeedDungeonMapFast, 0.0, 10.0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ターミナル出力", (u8*)&mTerminalOutput, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ポータルデータターミナル出力", (u8*)&mPortalDataTerminalOutput, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("リージョン到達ビットターミナル出力", (u8*)&mRegionBitTerminalOutput, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("全て到達済み", (u8*)&mAllRegionsUnlocked, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("パス全表示", (u8*)&mDisplayAllPaths, 1, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** デバッグ用到達ビット *****", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("*****フィールドマップ調整項目*****", 0); + mctx->genCheckBox("ワールドグリッド表示", (u8*)&mDisplayWorldGrid, 0x1); + mctx->genSlider("ワールドグリッド幅", &mWorldGridWidth, 0.0, 100000.0); + mctx->genCheckBox("リージョングリッド表示", (u8*)&mDisplayRegionGrid, 0x1); + mctx->genSlider("リージョングリッド幅", &mRegionGridWidth, 0.0, 100000.0); + mctx->genCheckBox("ワールド原点表示", (u8*)&mDisplayWorldOrigin, 0x1); + mctx->genCheckBox("リージョン原点表示", (u8*)&mDisplayRegionOrigin, 0x1); + mctx->genCheckBox("ステージ原点表示", (u8*)&mDisplayStageOrigin, 0x1); + mctx->genSlider("リージョン拡大表示範囲", &mRegionZoomRange, 1000.0, 1000000.0); + mctx->genCheckBox("表示基準領域枠表示", (u8*)&mDisplayReferenceArea, 0x1); + mctx->genCheckBox("スクロール範囲を表示基準", (u8*)&field_0x308, 0x1); + mctx->genSlider("左上座標X", &mMapTopLeftPosX, 0.0, 608.0); + mctx->genSlider("左上座標Y", &mMapTopLeftPosY, 0.0, 448.0); + mctx->genSlider("領域幅", &mMapScale, 0.0, 608.0); + mctx->genLabel("\n*** スクロール速度境界 ***", 0); + mctx->genSlider("0~遅", &mScrollSpeedSlowBound, 0.0, 1.0); + mctx->genSlider("遅~速", &mScrollSpeedFastBound, 0.0, 1.0); + mctx->genLabel("\n*** スクロール速度(遅) ***", 0); + mctx->genSlider("ワールド全体", &mScrollSpeedWorldSlow, 0.0, 10.0); + mctx->genSlider("リージョン全体", &mScrollSpeedRegionSlow, 0.0, 10.0); + mctx->genSlider("リージョン拡大", &mScrollSpeedRegionZoomSlow, 0.0, 10.0); + mctx->genSlider("ダンジョンマップ", &mScrollSpeedDungeonMapSlow, 0.0, 10.0); + mctx->genLabel("\n*** スクロール速度(速) ***", 0); + mctx->genSlider("ワールド全体", &mScrollSpeedWorldFast, 0.0, 10.0); + mctx->genSlider("リージョン全体", &mScrollSpeedRegionFast, 0.0, 10.0); + mctx->genSlider("リージョン拡大", &mScrollSpeedRegionZoomFast, 0.0, 10.0); + mctx->genSlider("ダンジョンマップ", &mScrollSpeedDungeonMapFast, 0.0, 10.0); + mctx->genCheckBox("ターミナル出力", (u8*)&mTerminalOutput, 0x1); + mctx->genCheckBox("ポータルデータターミナル出力", (u8*)&mPortalDataTerminalOutput, 0x1); + mctx->genCheckBox("リージョン到達ビットターミナル出力", (u8*)&mRegionBitTerminalOutput, 0x1); + mctx->genCheckBox("全て到達済み", (u8*)&mAllRegionsUnlocked, 0x1); + mctx->genCheckBox("パス全表示", (u8*)&mDisplayAllPaths, 0x1); + mctx->genLabel("\n***** デバッグ用到達ビット *****", 0); for (int i = 0; i < 7; i++) { - mctx->genCheckBox(txt[i], (u8*)&mDebugRegionBits[i], 1, 0, NULL, -1, -1, 512, 24); + mctx->genCheckBox(txt[i], (u8*)&mDebugRegionBits[i], 1); } - mctx->genLabel("到達リージョンPRINT", 0, 0, NULL, -1, -1, 512, 24); - mctx->genButton("PRINT", 0x40000002, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("全世界スクロール", (u8*)&mRegionPrintGlobalScroll, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("背景画像描画ON", (u8*)&mDrawBackground, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("背景アルファ", &mBackgroundAlpha, 0.0, 1.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("背景アルファ(前面)", &mBackgroundFrontAlpha, 0.0, 1.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ステージ拡大スケール", &mStageZoomScale, 1.0, 100.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n***** 背景画像のワールド座標オフセット *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mRegionImageDebug, 1, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("到達リージョンPRINT", 0); + mctx->genButton("PRINT", 0x40000002); + mctx->genCheckBox("全世界スクロール", (u8*)&mRegionPrintGlobalScroll, 0x1); + mctx->genCheckBox("背景画像描画ON", (u8*)&mDrawBackground, 0x1); + mctx->genSlider("背景アルファ", &mBackgroundAlpha, 0.0, 1.0); + mctx->genSlider("背景アルファ(前面)", &mBackgroundFrontAlpha, 0.0, 1.0); + mctx->genSlider("ステージ拡大スケール", &mStageZoomScale, 1.0, 100.0); + mctx->genLabel("\n***** 背景画像のワールド座標オフセット *****", 0); + mctx->genCheckBox("調整ON", (u8*)&mRegionImageDebug, 0x1); for (int i = 0; i < 8; i++) { - mctx->genLabel(txt[i], 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("座標X", &mRegionImagePosX[i], -300000.0, 300000.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("座標Z", &mRegionImagePosZ[i], -300000.0, 300000.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mRegionImageScale[i], -50.0, 50.0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel(txt[i], 0); + mctx->genSlider("座標X", &mRegionImagePosX[i], -300000.0, 300000.0); + mctx->genSlider("座標Z", &mRegionImagePosZ[i], -300000.0, 300000.0); + mctx->genSlider("スケール", &mRegionImageScale[i], -50.0, 50.0); } - mctx->genLabel("\n***** スクロール範囲 *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("表示ON", (u8*)&mScrollRangeDisplay, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("調整ON", (u8*)&mScrollRangeDebugON, 1, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("\n***** スクロール範囲 *****", 0); + mctx->genCheckBox("表示ON", (u8*)&mScrollRangeDisplay, 0x1); + mctx->genCheckBox("調整ON", (u8*)&mScrollRangeDebugON, 0x1); for (int i = 0; i < 7; i = i + 1) { - mctx->genLabel(txt[i], 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("座標最小X", &mRegionScrollRangeMinX[i], -300000.0, 300000.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("座標最小Z", &mRegionScrollRangeMinZ[i], -300000.0, 300000.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("座標最大X", &mRegionScrollRangeMaxX[i], -300000.0, 300000.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("座標最大Z", &mRegionScrollRangeMaxZ[i], -300000.0, 300000.0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel(txt[i], 0); + mctx->genSlider("座標最小X", &mRegionScrollRangeMinX[i], -300000.0, 300000.0); + mctx->genSlider("座標最小Z", &mRegionScrollRangeMinZ[i], -300000.0, 300000.0); + mctx->genSlider("座標最大X", &mRegionScrollRangeMaxX[i], -300000.0, 300000.0); + mctx->genSlider("座標最大Z", &mRegionScrollRangeMaxZ[i], -300000.0, 300000.0); } - mctx->genLabel("\n***** 範囲チェック *****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ON", (u8*)&mRangeCheck, 1, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("描画の優先", (u8*)&mRangeCheckDrawPriority, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("間隔", &mRangeCheckInterval, 0, '\n', 0, NULL, -1, -1, 512, 24); - mctx->genLabel("**********", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ポータルワープON", (u8*)&mPortalWarpON, 1, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("アーカイブ読み込み", 0, 0, NULL, -1, -1, 512, 24); - mctx->genButton("READ FILE", 0x40000001, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****タイトル部分****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mTitlePosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mTitlePosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mTitleScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****サブタイトル部分****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mSubTitlePosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mSubTitlePosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mSubTitleScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****エリア移動****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mAreaMovementPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mAreaMovementPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mAreaMovementScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****しまう****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mClosingPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mClosingPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mClosingScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Doアイコン****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mDoIconPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mDoIconPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mDoIconScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("ボタンデバッグON", (u8*)&mButtonDebugON, 1, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Zボタン****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mButtonZPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mButtonZPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonZScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Aボタン****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mButtonAPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mButtonAPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonAScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Bボタン****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mButtonBPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mButtonBPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonBScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Zテキスト****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mButtonZTextPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mButtonZTextPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonZTextScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Aテキスト****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mButtonATextPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mButtonATextPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonATextScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****Bテキスト****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスX", &mButtonBTextPosX, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("トランスY", &mButtonBTextPosY, -300.0, 300.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mButtonBTextScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("**********", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n\n\n*****表示・非表示*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("表示フレーム数", &mDisplayFrameNum, 1, 100, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("非表示フレーム数", &mUndisplayFrameNum, 1, 100, 0, NULL, -1, -1, 512, 24); - mctx->startComboBox("出現マップタイプ", &mMapType, 0, NULL, -1, -1, 0x100, 0x1a); + mctx->genLabel("\n***** 範囲チェック *****", 0); + mctx->genCheckBox("ON", (u8*)&mRangeCheck, 0x1); + mctx->genCheckBox("描画の優先", (u8*)&mRangeCheckDrawPriority, 0x1); + mctx->genSlider("間隔", &mRangeCheckInterval, 0, '\n'); + mctx->genLabel("**********", 0); + mctx->genCheckBox("ポータルワープON", (u8*)&mPortalWarpON, 0x1); + mctx->genLabel("アーカイブ読み込み", 0); + mctx->genButton("READ FILE", 0x40000001); + mctx->genLabel("*****タイトル部分****", 0); + mctx->genSlider("トランスX", &mTitlePosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mTitlePosY, -300.0, 300.0); + mctx->genSlider("スケール", &mTitleScale, 0.0, 3.0); + mctx->genLabel("*****サブタイトル部分****", 0); + mctx->genSlider("トランスX", &mSubTitlePosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mSubTitlePosY, -300.0, 300.0); + mctx->genSlider("スケール", &mSubTitleScale, 0.0, 3.0); + mctx->genLabel("*****エリア移動****", 0); + mctx->genSlider("トランスX", &mAreaMovementPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mAreaMovementPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mAreaMovementScale, 0.0, 3.0); + mctx->genLabel("*****しまう****", 0); + mctx->genSlider("トランスX", &mClosingPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mClosingPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mClosingScale, 0.0, 3.0); + mctx->genLabel("*****Doアイコン****", 0); + mctx->genSlider("トランスX", &mDoIconPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mDoIconPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mDoIconScale, 0.0, 3.0); + mctx->genCheckBox("ボタンデバッグON", (u8*)&mButtonDebugON, 0x1); + mctx->genLabel("*****Zボタン****", 0); + mctx->genSlider("トランスX", &mButtonZPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mButtonZPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mButtonZScale, 0.0, 3.0); + mctx->genLabel("*****Aボタン****", 0); + mctx->genSlider("トランスX", &mButtonAPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mButtonAPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mButtonAScale, 0.0, 3.0); + mctx->genLabel("*****Bボタン****", 0); + mctx->genSlider("トランスX", &mButtonBPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mButtonBPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mButtonBScale, 0.0, 3.0); + mctx->genLabel("*****Zテキスト****", 0); + mctx->genSlider("トランスX", &mButtonZTextPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mButtonZTextPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mButtonZTextScale, 0.0, 3.0); + mctx->genLabel("*****Aテキスト****", 0); + mctx->genSlider("トランスX", &mButtonATextPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mButtonATextPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mButtonATextScale, 0.0, 3.0); + mctx->genLabel("*****Bテキスト****", 0); + mctx->genSlider("トランスX", &mButtonBTextPosX, -300.0, 300.0); + mctx->genSlider("トランスY", &mButtonBTextPosY, -300.0, 300.0); + mctx->genSlider("スケール", &mButtonBTextScale, 0.0, 3.0); + mctx->genLabel("**********", 0); + mctx->genLabel("\n\n\n*****表示・非表示*****", 0); + mctx->genSlider("表示フレーム数", &mDisplayFrameNum, 1, 100); + mctx->genSlider("非表示フレーム数", &mUndisplayFrameNum, 1, 100); + mctx->startComboBox("出現マップタイプ", &mMapType); mctx->genComboBoxItem("デフォルト", 0); mctx->genComboBoxItem("全体マップ", 1); mctx->genComboBoxItem("ダンジョンマップ", 2); @@ -4119,56 +4119,56 @@ void dMeter_fmapHIO_c::genMessage(JORMContext* mctx) { if (field_0x20 != NULL) { mctx->genNode("フィールドマップ", field_0x20, 0, 0); } - mctx->genLabel("**********************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*******カーソル*******", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("**********************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genCheckBox("デバッグON", (u8*)&mCursorDebugON, 1, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分R", &mCursorBlack.r, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分G", &mCursorBlack.g, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分B", &mCursorBlack.b, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分A", &mCursorBlack.a, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分R", &mCursorWhite.r, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分G", &mCursorWhite.g, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分B", &mCursorWhite.b, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分A", &mCursorWhite.a, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mCursorScale, 0.0, 3.0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スピード", &mCursorSpeed, 0.0, 360.0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("**********************", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****カラー・点滅*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("**********************", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("**********************", 0); + mctx->genLabel("*******カーソル*******", 0); + mctx->genLabel("**********************", 0); + mctx->genCheckBox("デバッグON", (u8*)&mCursorDebugON, 0x1); + mctx->genSlider("黒成分R", &mCursorBlack.r, 0, 0xff); + mctx->genSlider("黒成分G", &mCursorBlack.g, 0, 0xff); + mctx->genSlider("黒成分B", &mCursorBlack.b, 0, 0xff); + mctx->genSlider("黒成分A", &mCursorBlack.a, 0, 0xff); + mctx->genSlider("白成分R", &mCursorWhite.r, 0, 0xff); + mctx->genSlider("白成分G", &mCursorWhite.g, 0, 0xff); + mctx->genSlider("白成分B", &mCursorWhite.b, 0, 0xff); + mctx->genSlider("白成分A", &mCursorWhite.a, 0, 0xff); + mctx->genSlider("スケール", &mCursorScale, 0.0, 3.0); + mctx->genSlider("スピード", &mCursorSpeed, 0.0, 360.0); + mctx->genLabel("**********************", 0); + mctx->genLabel("*****カラー・点滅*****", 0); + mctx->genLabel("**********************", 0); for (int i = 0; i < 3; i++) { - mctx->genLabel(title[i], 0, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("■選択されているリージョン", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分R", &mMapBlink[i].mSelectedRegion.mBlack.r, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分G", &mMapBlink[i].mSelectedRegion.mBlack.g, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分B", &mMapBlink[i].mSelectedRegion.mBlack.b, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分A", &mMapBlink[i].mSelectedRegion.mBlack.a, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分R", &mMapBlink[i].mSelectedRegion.mWhite.r, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分G", &mMapBlink[i].mSelectedRegion.mWhite.g, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分B", &mMapBlink[i].mSelectedRegion.mWhite.b, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分A", &mMapBlink[i].mSelectedRegion.mWhite.a, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("最大値", &mMapBlink[i].mSelectedRegion.mMax, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("最小値", &mMapBlink[i].mSelectedRegion.mMin, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("点滅スピード", &mMapBlink[i].mSelectedRegion.mBlinkSpeed, 0, 100, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("■選択されていないリージョン", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分R", &mMapBlink[i].mUnselectedRegion.mBlack.r, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分G", &mMapBlink[i].mUnselectedRegion.mBlack.g, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分B", &mMapBlink[i].mUnselectedRegion.mBlack.b, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分A", &mMapBlink[i].mUnselectedRegion.mBlack.a, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分R", &mMapBlink[i].mUnselectedRegion.mWhite.r, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分G", &mMapBlink[i].mUnselectedRegion.mWhite.g, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分B", &mMapBlink[i].mUnselectedRegion.mWhite.b, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分A", &mMapBlink[i].mUnselectedRegion.mWhite.a, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("■未到達リージョン", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分R", &mMapBlink[i].mUnreachedRegionBlack.r, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分G", &mMapBlink[i].mUnreachedRegionBlack.g, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分B", &mMapBlink[i].mUnreachedRegionBlack.b, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("黒成分A", &mMapBlink[i].mUnreachedRegionBlack.a, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分R", &mMapBlink[i].mUnreachedRegionWhite.r, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分G", &mMapBlink[i].mUnreachedRegionWhite.g, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分B", &mMapBlink[i].mUnreachedRegionWhite.b, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("白成分A", &mMapBlink[i].mUnreachedRegionWhite.a, 0, 0xff, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("\n", 0, 0, NULL, -1, -1, 512, 24); + mctx->genLabel(title[i], 0); + mctx->genLabel("■選択されているリージョン", 0); + mctx->genSlider("黒成分R", &mMapBlink[i].mSelectedRegion.mBlack.r, 0, 0xff); + mctx->genSlider("黒成分G", &mMapBlink[i].mSelectedRegion.mBlack.g, 0, 0xff); + mctx->genSlider("黒成分B", &mMapBlink[i].mSelectedRegion.mBlack.b, 0, 0xff); + mctx->genSlider("黒成分A", &mMapBlink[i].mSelectedRegion.mBlack.a, 0, 0xff); + mctx->genSlider("白成分R", &mMapBlink[i].mSelectedRegion.mWhite.r, 0, 0xff); + mctx->genSlider("白成分G", &mMapBlink[i].mSelectedRegion.mWhite.g, 0, 0xff); + mctx->genSlider("白成分B", &mMapBlink[i].mSelectedRegion.mWhite.b, 0, 0xff); + mctx->genSlider("白成分A", &mMapBlink[i].mSelectedRegion.mWhite.a, 0, 0xff); + mctx->genSlider("最大値", &mMapBlink[i].mSelectedRegion.mMax, 0, 0xff); + mctx->genSlider("最小値", &mMapBlink[i].mSelectedRegion.mMin, 0, 0xff); + mctx->genSlider("点滅スピード", &mMapBlink[i].mSelectedRegion.mBlinkSpeed, 0, 100); + mctx->genLabel("■選択されていないリージョン", 0); + mctx->genSlider("黒成分R", &mMapBlink[i].mUnselectedRegion.mBlack.r, 0, 0xff); + mctx->genSlider("黒成分G", &mMapBlink[i].mUnselectedRegion.mBlack.g, 0, 0xff); + mctx->genSlider("黒成分B", &mMapBlink[i].mUnselectedRegion.mBlack.b, 0, 0xff); + mctx->genSlider("黒成分A", &mMapBlink[i].mUnselectedRegion.mBlack.a, 0, 0xff); + mctx->genSlider("白成分R", &mMapBlink[i].mUnselectedRegion.mWhite.r, 0, 0xff); + mctx->genSlider("白成分G", &mMapBlink[i].mUnselectedRegion.mWhite.g, 0, 0xff); + mctx->genSlider("白成分B", &mMapBlink[i].mUnselectedRegion.mWhite.b, 0, 0xff); + mctx->genSlider("白成分A", &mMapBlink[i].mUnselectedRegion.mWhite.a, 0, 0xff); + mctx->genLabel("■未到達リージョン", 0); + mctx->genSlider("黒成分R", &mMapBlink[i].mUnreachedRegionBlack.r, 0, 0xff); + mctx->genSlider("黒成分G", &mMapBlink[i].mUnreachedRegionBlack.g, 0, 0xff); + mctx->genSlider("黒成分B", &mMapBlink[i].mUnreachedRegionBlack.b, 0, 0xff); + mctx->genSlider("黒成分A", &mMapBlink[i].mUnreachedRegionBlack.a, 0, 0xff); + mctx->genSlider("白成分R", &mMapBlink[i].mUnreachedRegionWhite.r, 0, 0xff); + mctx->genSlider("白成分G", &mMapBlink[i].mUnreachedRegionWhite.g, 0, 0xff); + mctx->genSlider("白成分B", &mMapBlink[i].mUnreachedRegionWhite.b, 0, 0xff); + mctx->genSlider("白成分A", &mMapBlink[i].mUnreachedRegionWhite.a, 0, 0xff); + mctx->genLabel("\n", 0); } } @@ -4262,26 +4262,26 @@ dMeter_cursorHIO_c::dMeter_cursorHIO_c() { #if DEBUG void dMeter_cursorHIO_c::genMessage(JORMContext* mctx) { // DEBUG NONMATCHING - mctx->genLabel("*****お店カーソル*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("オフセットY", &mShopCursorOffsetY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("オフセットX(マジックアーマー)", &mMagicArmorCursorOffsetX, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("オフセットY(マジックアーマー)", &mMagicArmorCursorOffsetY, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("スケール", &mShopCursorScale, 0.0f, 3.0f, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****お店の商品(セーラの最初の店)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームX", &mSeraShopObjZoom.x, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームY", &mSeraShopObjZoom.y, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームZ", &mSeraShopObjZoom.z, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームアングルX", &mSeraShopObjZoomAngleX, -0x8000, 0x7fff, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****お店の商品(オフセット値)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームX", &mObjZoom.x, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームY", &mObjZoom.y, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームZ", &mObjZoom.z, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームアングルX", &mShopObjZoomAngleX, -0x8000, 0x7fff, 0, NULL, -1, -1, 512, 24); - mctx->genLabel("*****マジックアーマー(オフセット値)*****", 0, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームX", &mMagicArmorObjZoom.x, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームY", &mMagicArmorObjZoom.y, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームZ", &mMagicArmorObjZoom.z, -300.0f, 300.0f, 0, NULL, -1, -1, 512, 24); - mctx->genSlider("ズームアングルX", &mMagicArmorObjZoomAngleX, -0x8000, 0x7fff, 0, NULL, -1, -1, 512, 24); + mctx->genLabel("*****お店カーソル*****", 0); + mctx->genSlider("オフセットY", &mShopCursorOffsetY, -300.0f, 300.0f); + mctx->genSlider("オフセットX(マジックアーマー)", &mMagicArmorCursorOffsetX, -300.0f, 300.0f); + mctx->genSlider("オフセットY(マジックアーマー)", &mMagicArmorCursorOffsetY, -300.0f, 300.0f); + mctx->genSlider("スケール", &mShopCursorScale, 0.0f, 3.0f); + mctx->genLabel("*****お店の商品(セーラの最初の店)*****", 0); + mctx->genSlider("ズームX", &mSeraShopObjZoom.x, -300.0f, 300.0f); + mctx->genSlider("ズームY", &mSeraShopObjZoom.y, -300.0f, 300.0f); + mctx->genSlider("ズームZ", &mSeraShopObjZoom.z, -300.0f, 300.0f); + mctx->genSlider("ズームアングルX", &mSeraShopObjZoomAngleX, -0x8000, 0x7fff); + mctx->genLabel("*****お店の商品(オフセット値)*****", 0); + mctx->genSlider("ズームX", &mObjZoom.x, -300.0f, 300.0f); + mctx->genSlider("ズームY", &mObjZoom.y, -300.0f, 300.0f); + mctx->genSlider("ズームZ", &mObjZoom.z, -300.0f, 300.0f); + mctx->genSlider("ズームアングルX", &mShopObjZoomAngleX, -0x8000, 0x7fff); + mctx->genLabel("*****マジックアーマー(オフセット値)*****", 0); + mctx->genSlider("ズームX", &mMagicArmorObjZoom.x, -300.0f, 300.0f); + mctx->genSlider("ズームY", &mMagicArmorObjZoom.y, -300.0f, 300.0f); + mctx->genSlider("ズームZ", &mMagicArmorObjZoom.z, -300.0f, 300.0f); + mctx->genSlider("ズームアングルX", &mMagicArmorObjZoomAngleX, -0x8000, 0x7fff); } #endif diff --git a/src/d/d_meter_map.cpp b/src/d/d_meter_map.cpp index 11ef884e20..08050a230d 100644 --- a/src/d/d_meter_map.cpp +++ b/src/d/d_meter_map.cpp @@ -58,66 +58,66 @@ dMeter_map_HIO_c::dMeter_map_HIO_c() { } void dMeter_map_HIO_c::genMessage(JORMContext* ctx) { - ctx->genLabel("■デバック用マップ拡大■",0,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); - ctx->genCheckBox("ONで拡大", &mDebugMapExpansion,'\x01',0,(JOREventListener *)0x0,0xffff ,0xffff,0x200,0x18); - ctx->genLabel("■マップ表示位置■",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); - ctx->genCheckBox("ONで調整有効", &mMapDisplayLocation,'\x01',0,(JOREventListener *)0x0 ,0xffff,0xffff,0x200,0x18); - ctx->genLabel("*Wide(16:9)",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genSlider("左下X", &mWideBottomLeftX,-200,0x280,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); - ctx->genSlider(" Y", &mWideY,0,0x1e0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); - ctx->genLabel("*Normal(4:3)",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genSlider("左下X", &mNormalBottomLeftX,-200,0x280,0,(JOREventListener *)0x0,0xffff ,0xffff,0x200,0x18); - ctx->genSlider(" Y", &mNormalY,0,0x1e0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); - ctx->genLabel("*GC(4:3) WiiでMAPアイコン無しの場合のY座標にも使用します", 0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genSlider("左下X", &mGcBottomLeftX,-200,0x280,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); - ctx->genSlider(" Y", &mGcY,0,0x1e0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18) - ; - ctx->genSlider("隠右X", &mHiddenRightX,-600,800,0,(JOREventListener *)0x0,0xffff,0xffff ,0x200,0x18); - ctx->genLabel("■マップ表示サイズ■",0,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); - ctx->genCheckBox("・ON変更", &mMapDisplaySize,'\x01',0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); - ctx->genSlider("", &field_0x2a,1,400,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genLabel("■マップサイズ■",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genCheckBox( "・サイズタイプの変更<サイズ変更後はテクスチャーサイズ変更をして下さい>" , &mSizeTypeChange,'\x01',0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->startRadioButton("", &field_0x18,1,(JOREventListener *)0x0,0xffff,0xffff,0x100,0xffff); - ctx->genRadioButtonItem("中",1,0,0xffff,0xffff,0x80,0x10); - ctx->genRadioButtonItem("大",2,0,0xffff,0xffff,0x80,0x10); - ctx->genRadioButtonItem("小",3,0,0xffff,0xffff,0x80,0x10); + ctx->genLabel("■デバック用マップ拡大■", 0); + ctx->genCheckBox("ONで拡大", &mDebugMapExpansion, 0x1); + ctx->genLabel("■マップ表示位置■", 0); + ctx->genCheckBox("ONで調整有効", &mMapDisplayLocation, 0x1); + ctx->genLabel("*Wide(16:9)", 0); + ctx->genSlider("左下X", &mWideBottomLeftX, -200, 640); + ctx->genSlider(" Y", &mWideY, 0, 480); + ctx->genLabel("*Normal(4:3)", 0); + ctx->genSlider("左下X", &mNormalBottomLeftX, -200, 640); + ctx->genSlider(" Y", &mNormalY, 0, 480); + ctx->genLabel("*GC(4:3) WiiでMAPアイコン無しの場合のY座標にも使用します", 0); + ctx->genSlider("左下X", &mGcBottomLeftX, -200, 640); + ctx->genSlider(" Y", &mGcY, 0, 480); + ctx->genSlider("隠右X", &mHiddenRightX, -600, 800); + ctx->genLabel("■マップ表示サイズ■", 0); + ctx->genCheckBox("・ON変更", &mMapDisplaySize, 0x1); + ctx->genSlider("", &field_0x2a, 1, 400); + ctx->genLabel("■マップサイズ■", 0); + ctx->genCheckBox("・サイズタイプの変更<サイズ変更後はテクスチャーサイズ変更をして下さい>", + &mSizeTypeChange, 0x1); + ctx->startRadioButton("", &field_0x18, 1, NULL, 0xffff, 0xffff, 0x100, 0xffff); + ctx->genRadioButtonItem("中", 1, 0, 0xffff, 0xffff, 0x80, 0x10); + ctx->genRadioButtonItem("大", 2, 0, 0xffff, 0xffff, 0x80, 0x10); + ctx->genRadioButtonItem("小", 3, 0, 0xffff, 0xffff, 0x80, 0x10); ctx->endRadioButton(); - ctx->genLabel( "・各サイズ<サイズ変更後はテクスチャーサイズ変更をして下さい>" ,0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genLabel("・中",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genSlider("横", &mMediumHorizontal,1,0x90,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); - ctx->genSlider("縦", &mMediumVertical,1,0x90,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); - ctx->genLabel("・大",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genSlider("横", &mBigHorizontal,1,0xd8,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); - ctx->genSlider("縦", &mBigVertical,1,0xd8,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); - ctx->genLabel("・小",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genSlider("横", &mSmallHorizontal,1,0x90,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); - ctx->genSlider("縦", &mSmallVertical,1,0x90,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); - ctx->genCheckBox("・テクスチャー解像度半分", &mTextureResolutionHalved,'\x01',0 ,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genButton("テクスチャーサイズ変更",0x4000001,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); - ctx->genLabel("■マップアルファ■",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); - ctx->genCheckBox("マップアルファテストONで有効", &mMapAlphaTest,'\x01',0, (JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); - ctx->genSlider("アルファ", &mAlpha,'\0',0xff,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + ctx->genLabel("・各サイズ<サイズ変更後はテクスチャーサイズ変更をして下さい>", 0); + ctx->genLabel("・中", 0); + ctx->genSlider("横", &mMediumHorizontal, 1, 0x90); + ctx->genSlider("縦", &mMediumVertical, 1, 0x90); + ctx->genLabel("・大", 0); + ctx->genSlider("横", &mBigHorizontal, 1, 0xd8); + ctx->genSlider("縦", &mBigVertical, 1, 0xd8); + ctx->genLabel("・小", 0); + ctx->genSlider("横", &mSmallHorizontal, 1, 0x90); + ctx->genSlider("縦", &mSmallVertical, 1, 0x90); + ctx->genCheckBox("・テクスチャー解像度半分", &mTextureResolutionHalved, 0x1); + ctx->genButton("テクスチャーサイズ変更", 0x4000001); + ctx->genLabel("■マップアルファ■", 0); + ctx->genCheckBox("マップアルファテストONで有効", &mMapAlphaTest, 0x1); + ctx->genSlider("アルファ", &mAlpha, 0, 0xff); if (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 1 && field_0x18 != 1) { field_0x18 = 1; update(); } - - ctx->genLabel("■強制マップ上端変更■",0,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); - ctx->genCheckBox("ONで有効", &mForcedMapTopEdgeChange,'\x01',0,(JOREventListener *)0x0, 0xffff,0xffff,0x200,0x18); - ctx->genSlider("", &field_0x30,-1,0x1e0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); - ctx->genLabel("ONからOFFにする場合は-1にしてからOFFにして下さい",0,0, (JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + + ctx->genLabel("■強制マップ上端変更■", 0); + ctx->genCheckBox("ONで有効", &mForcedMapTopEdgeChange, 0x1); + ctx->genSlider("", &field_0x30, -1, 480); + ctx->genLabel("ONからOFFにする場合は-1にしてからOFFにして下さい", 0); mAreaMap = dMap_HIO_c::mMySelfPointer; if (mAreaMap != NULL) { - ctx->genNode("エリアマップ",this->mAreaMap,0,0); + ctx->genNode("エリアマップ", this->mAreaMap, 0, 0); } - ctx->genLabel("■マップ表示禁止■",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); - ctx->genCheckBox("ONで有効", &mMapDisplayProhibited,'\x01',0,(JOREventListener *)0x0, 0xffff,0xffff,0x200,0x18); - ctx->genLabel("■マップレンダリング禁止■",0,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); - ctx->genCheckBox("ONで有効", &mMapRenderingProhibited,'\x01',0,(JOREventListener *)0x0, 0xffff,0xffff,0x200,0x18); + ctx->genLabel("■マップ表示禁止■", 0); + ctx->genCheckBox("ONで有効", &mMapDisplayProhibited, 0x1); + ctx->genLabel("■マップレンダリング禁止■", 0); + ctx->genCheckBox("ONで有効", &mMapRenderingProhibited, 0x1); } void dMeter_map_HIO_c::listenPropertyEvent(const JORPropertyEvent* evt) { diff --git a/src/d/d_msg_class.cpp b/src/d/d_msg_class.cpp index 64ed967111..eb9e9552f0 100644 --- a/src/d/d_msg_class.cpp +++ b/src/d/d_msg_class.cpp @@ -1481,7 +1481,7 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz switch (i_tag & 0xFF00FFFF) { case MSGTAG_PLAYER_GENITIV: #if VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_GERMAN) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_GERMAN) { setPlayerName(buffer, 1); } else { setPlayerName(buffer, 0); @@ -1491,7 +1491,7 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz return true; case MSGTAG_HORSE_GENITIV: #if VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_GERMAN) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_GERMAN) { setHorseName(buffer, 1); } else { setHorseName(buffer, 0); @@ -4242,7 +4242,7 @@ bool jmessage_string_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u3 switch (i_tag & 0xFF00FFFF) { case MSGTAG_PLAYER_GENITIV: #if VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_GERMAN) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_GERMAN) { setPlayerName(buffer, 1); } else { setPlayerName(buffer, 0); @@ -4253,7 +4253,7 @@ bool jmessage_string_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u3 break; case MSGTAG_HORSE_GENITIV: #if VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_GERMAN) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_GERMAN) { setHorseName(buffer, 1); } else { setHorseName(buffer, 0); @@ -4850,7 +4850,7 @@ bool jmessage_string_tRenderingProcessor::do_tag(u32 i_tag, void const* i_data, switch (i_tag & 0xFF00FFFF) { case MSGTAG_PLAYER_GENITIV: #if VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_GERMAN) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_GERMAN) { setPlayerName(buffer, 1); } else { setPlayerName(buffer, 0); @@ -4861,7 +4861,7 @@ bool jmessage_string_tRenderingProcessor::do_tag(u32 i_tag, void const* i_data, break; case MSGTAG_HORSE_GENITIV: #if VERSION == VERSION_GCN_PAL - if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_GERMAN) { + if (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_GERMAN) { setHorseName(buffer, 1); } else { setHorseName(buffer, 0); diff --git a/src/d/d_msg_object.cpp b/src/d/d_msg_object.cpp index 534346aa92..920c35d2cf 100644 --- a/src/d/d_msg_object.cpp +++ b/src/d/d_msg_object.cpp @@ -1606,16 +1606,16 @@ void dMsgObject_c::readMessageGroupLocal(mDoDvdThd_mountXArchive_c** p_arcMount) int msgGroup = dStage_stagInfo_GetMsgGroup(dComIfGp_getStage()->getStagInfo()); #if REGION_PAL switch (dComIfGs_getPalLanguage()) { - case dSv_player_config_c::LANGAUGE_GERMAN: + case dSv_player_config_c::LANGUAGE_GERMAN: sprintf(arcName, "/res/Msgde/bmgres%d.arc", msgGroup); break; - case dSv_player_config_c::LANGAUGE_FRENCH: + case dSv_player_config_c::LANGUAGE_FRENCH: sprintf(arcName, "/res/Msgfr/bmgres%d.arc", msgGroup); break; - case dSv_player_config_c::LANGAUGE_SPANISH: + case dSv_player_config_c::LANGUAGE_SPANISH: sprintf(arcName, "/res/Msgsp/bmgres%d.arc", msgGroup); break; - case dSv_player_config_c::LANGAUGE_ITALIAN: + case dSv_player_config_c::LANGUAGE_ITALIAN: sprintf(arcName, "/res/Msgit/bmgres%d.arc", msgGroup); break; default: diff --git a/src/d/d_msg_scrn_3select.cpp b/src/d/d_msg_scrn_3select.cpp index 803df43c05..525c619fe2 100644 --- a/src/d/d_msg_scrn_3select.cpp +++ b/src/d/d_msg_scrn_3select.cpp @@ -210,7 +210,7 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() { field_0x10c = 0; field_0x112 = 0; mProcess = PROC_MAX_e; - field_0x115 = 0xFF; + mDPDPoint = 0xFF; field_0x116 = 0xFF; field_0x117 = 0; diff --git a/src/d/d_msg_scrn_explain.cpp b/src/d/d_msg_scrn_explain.cpp index a684b437f3..4c48a4b558 100644 --- a/src/d/d_msg_scrn_explain.cpp +++ b/src/d/d_msg_scrn_explain.cpp @@ -31,44 +31,62 @@ static dMsgScrnExplain_c::ProcFunc move_process[] = { &dMsgScrnExplain_c::move_select_proc, &dMsgScrnExplain_c::close_proc, }; -dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_2, u8 param_3) { +dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUseBackTex, u8 param_3) { mpStick = i_stick; - field_0x54 = 0; + mOpenMsgId = 0; field_0x5c = 0; field_0x64 = 0; mSelCursor = 0; field_0x62 = 0xff; field_0x63 = 0; - mStatus = 0; + mStatus = STATUS_WAIT_e; field_0x5a = 0; mForceSelect = 0; - field_0x58 = 1; + field_0x58 = true; field_0x66 = param_1; mKeyWaitTimer = 0; field_0x67 = param_3; mpString_c = new dMsgString_c(); + JUT_ASSERT(79, mpString_c != NULL); mpOutFont = new COutFont_c(0); + JUT_ASSERT(83, mpOutFont != NULL); mpOutFont->createPane(); mpScreen = new J2DScreen(); - mpScreen->setPriority("zelda_message_window_new.blo", 0x20000, dComIfGp_getMsgArchive(1)); + JUT_ASSERT(88, mpScreen != NULL); + + #if PLATFORM_GCN + #define MSG_WINDOW_BLO_FILENAME "zelda_message_window_new.blo" + #else + #define MSG_WINDOW_BLO_FILENAME "zelda_message_window_new_revo.blo" + #endif + + bool fg = mpScreen->setPriority(MSG_WINDOW_BLO_FILENAME, 0x20000, dComIfGp_getMsgArchive(1)); + JUT_ASSERT(98, fg != false); dPaneClass_showNullPane(mpScreen); mpTxScreen = new J2DScreen(); + JUT_ASSERT(102, mpTxScreen != NULL); field_0x48 = 608.0f; if (param_1 == 1 || param_1 == 3) { - mpTxScreen->setPriority("zelda_message_window_text_save_road.blo", 0x20000, - dComIfGp_getMsgCommonArchive()); + #if PLATFORM_GCN + #define MSG_WINDOW_TXT_SAVEROAD_BLO_FILENAME "zelda_message_window_text_save_road.blo" + #else + #define MSG_WINDOW_TXT_SAVEROAD_BLO_FILENAME "zelda_message_window_save_road_text_revo.blo" + #endif + fg = mpTxScreen->setPriority(MSG_WINDOW_TXT_SAVEROAD_BLO_FILENAME, 0x20000, dComIfGp_getMsgCommonArchive()); + JUT_ASSERT(119, fg != false); dPaneClass_showNullPane(mpTxScreen); mpTm_c[0] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3line'), 0, NULL); mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3_s', 0, NULL); + JUT_ASSERT(127, mpTm_c[1] != NULL); - field_0x10[0] = NULL; - field_0x10[1] = NULL; + mpTmr_c[0] = NULL; + mpTmr_c[1] = NULL; mpTxScreen->search(MULTI_CHAR('n_3line'))->show(); mpTxScreen->search(MULTI_CHAR('n_3fline'))->hide(); @@ -81,8 +99,9 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_ #endif field_0x4c = 0.0f; } else { - mpTxScreen->setPriority("zelda_message_window_text.blo", 0x20000, - dComIfGp_getMsgCommonArchive()); + fg = mpTxScreen->setPriority("zelda_message_window_text.blo", 0x20000, + dComIfGp_getMsgCommonArchive()); + JUT_ASSERT(153, fg != false); dPaneClass_showNullPane(mpTxScreen); mpScreen->search(MULTI_CHAR('n_all'))->scale(g_MsgObject_HIO_c.mBoxTalkScaleX, @@ -104,8 +123,8 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_ mpTm_c[0] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3line'), 0, NULL); mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3_s', 0, NULL); - field_0x10[0] = NULL; - field_0x10[1] = NULL; + mpTmr_c[0] = NULL; + mpTmr_c[1] = NULL; mpTxScreen->search(MULTI_CHAR('n_3line'))->show(); mpTxScreen->search(MULTI_CHAR('n_3fline'))->hide(); @@ -116,9 +135,10 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_ mpTm_c[0] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_e4lin'), 0, NULL); mpTm_c[1] = new CPaneMgr(mpTxScreen, 't4_s', 0, NULL); + JUT_ASSERT(165, mpTm_c[1] != NULL); - field_0x10[0] = NULL; - field_0x10[1] = NULL; + mpTmr_c[0] = NULL; + mpTmr_c[1] = NULL; mpTxScreen->search(MULTI_CHAR('n_3line'))->hide(); mpTxScreen->search(MULTI_CHAR('n_3fline'))->hide(); @@ -142,14 +162,14 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_ #endif ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setLineSpace(lineSpace); - if (field_0x10[i] != NULL) { - ((J2DTextBox*)field_0x10[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); + if (mpTmr_c[i] != NULL) { + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); #if VERSION == VERSION_GCN_JPN - ((J2DTextBox*)field_0x10[i]->getPanePtr())->setString(0x210, ""); + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x210, ""); #else - ((J2DTextBox*)field_0x10[i]->getPanePtr())->setString(0x200, ""); + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x200, ""); #endif - ((J2DTextBox*)field_0x10[i]->getPanePtr())->setLineSpace(lineSpace); + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setLineSpace(lineSpace); } } @@ -161,12 +181,15 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_ mpMg_c[0] = new CPaneMgr(mpScreen, MULTI_CHAR('mg_null'), 0, NULL); mpMg_c[1] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_null'), 0, NULL); mpRoot_c[0] = new CPaneMgr(mpScreen, 'ROOT', 2, NULL); - mpRoot_c[1] = new CPaneMgr(mpTxScreen, 'ROOT', 2, NULL); + JUT_ASSERT(250, mpRoot_c[0] != NULL); - if (param_2 == true) { - ResTIMG* texResource = - (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti"); + mpRoot_c[1] = new CPaneMgr(mpTxScreen, 'ROOT', 2, NULL); + JUT_ASSERT(253, mpRoot_c[1] != NULL); + + if (i_isUseBackTex == true) { + ResTIMG* texResource = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti"); mpBackTex = new J2DPicture(texResource); + JUT_ASSERT(259, mpBackTex != NULL); mpBackTex->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 0xff)); mpBackTex->setAlpha(0); @@ -175,17 +198,19 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_ } mpArrow_c = new dMsgScrnArrow_c(); + JUT_ASSERT(269, mpArrow_c != NULL); if (i_stick != NULL) { mpSelect_c = new dMsgScrn3Select_c(); + JUT_ASSERT(274, mpSelect_c != NULL); } else { mpSelect_c = NULL; } - Vec vtxCenter = mpArw_c->getGlobalVtxCenter(mpArw_c->mPane, false, 0); + Vec vtxCenter = mpArw_c->getGlobalVtxCenter(false, 0); mpArrow_c->setPos(vtxCenter.x, vtxCenter.y); - Vec vtxCenter2 = mpMg_c[0]->getGlobalVtxCenter(mpMg_c[0]->mPane, false, 0); + Vec vtxCenter2 = mpMg_c[0]->getGlobalVtxCenter(false, 0); mpMg_c[1]->translate(vtxCenter2.x + field_0x50, vtxCenter2.y); } @@ -209,9 +234,9 @@ dMsgScrnExplain_c::~dMsgScrnExplain_c() { delete mpTm_c[i]; mpTm_c[i] = NULL; - if (field_0x10[i] != NULL) { - delete field_0x10[i]; - field_0x10[i] = NULL; + if (mpTmr_c[i] != NULL) { + delete mpTmr_c[i]; + mpTmr_c[i] = NULL; } delete mpMg_c[i]; @@ -265,7 +290,7 @@ void dMsgScrnExplain_c::move() { } void dMsgScrnExplain_c::draw(J2DOrthoGraph* i_graf) { - if (mStatus == 0 || mStatus == 1) { + if (mStatus == STATUS_WAIT_e || mStatus == STATUS_OPEN_REQ_e) { return; } @@ -282,9 +307,9 @@ void dMsgScrnExplain_c::draw(J2DOrthoGraph* i_graf) { mpTxScreen->draw(0.0f, 0.0f, (J2DGrafContext*)i_graf); #if VERSION == VERSION_GCN_JPN - mpString_c->getString(field_0x54, (J2DTextBox*)mpTm_c[0]->getPanePtr(), NULL, NULL, NULL, 12); + mpString_c->getString(mOpenMsgId, (J2DTextBox*)mpTm_c[0]->getPanePtr(), NULL, NULL, NULL, 12); #else - mpString_c->getString(field_0x54, (J2DTextBox*)mpTm_c[0]->getPanePtr(), NULL, NULL, NULL, 8); + mpString_c->getString(mOpenMsgId, (J2DTextBox*)mpTm_c[0]->getPanePtr(), NULL, NULL, NULL, 8); #endif mpString_c->drawOutFont((J2DTextBox*)mpTm_c[0]->getPanePtr(), -1.0f); @@ -313,26 +338,26 @@ void dMsgScrnExplain_c::wait_proc() {} void dMsgScrnExplain_c::open_request_init() {} void dMsgScrnExplain_c::open_request_proc() { - J2DTextBox* uVar1; - J2DTextBox* uVar6 = NULL; + J2DTextBox* tbox = NULL; + J2DTextBox* rubyTbox = NULL; - uVar1 = (J2DTextBox*)mpTm_c[0]->getPanePtr(); - if (field_0x10[0] != NULL) { - uVar6 = (J2DTextBox*)field_0x10[0]->getPanePtr(); + tbox = (J2DTextBox*)mpTm_c[0]->getPanePtr(); + if (mpTmr_c[0] != NULL) { + rubyTbox = (J2DTextBox*)mpTmr_c[0]->getPanePtr(); } - char acStack_220[STR_BUF_LEN]; - char acStack_420[STR_BUF_LEN]; - char acStack_620[STR_BUF_LEN]; + char text[STR_BUF_LEN]; + char ruby[STR_BUF_LEN]; + char textShadow[STR_BUF_LEN]; - if (dMsgObject_getString(field_0x54, uVar1, uVar6, mDoExt_getMesgFont(), mpOutFont, acStack_220, - acStack_420, acStack_620, &field_0x5c) != 0) - { - strcpy(((J2DTextBox*)mpTm_c[0]->getPanePtr())->getStringPtr(), acStack_220); - strcpy(((J2DTextBox*)mpTm_c[1]->getPanePtr())->getStringPtr(), acStack_620); + bool rt = dMsgObject_getString(mOpenMsgId, tbox, rubyTbox, mDoExt_getMesgFont(), mpOutFont, text, + ruby, textShadow, &field_0x5c); + if (rt) { + strcpy(((J2DTextBox*)mpTm_c[0]->getPanePtr())->getStringPtr(), text); + strcpy(((J2DTextBox*)mpTm_c[1]->getPanePtr())->getStringPtr(), textShadow); for (int i = 0; i < 2; i++) { - if (field_0x10[i] != NULL) { - strcpy(((J2DTextBox*)field_0x10[i]->getPanePtr())->getStringPtr(), acStack_420); + if (mpTmr_c[i] != NULL) { + strcpy(((J2DTextBox*)mpTmr_c[i]->getPanePtr())->getStringPtr(), ruby); } } @@ -340,7 +365,7 @@ void dMsgScrnExplain_c::open_request_proc() { Z2GetSpeechMgr2()->setTextCount(0); } - mStatus = 2; + mStatus = STATUS_OPEN_e; } } @@ -350,7 +375,7 @@ void dMsgScrnExplain_c::open_init() { for (int i = 0; i < 2; i++) { mpRoot_c[i]->setAlphaRate(0.0f); } - mDoAud_seStart(Z2SE_SY_EXP_WIN_OPEN, 0, 0, 0); + mDoAud_seStart(Z2SE_SY_EXP_WIN_OPEN, NULL, 0, 0); } void dMsgScrnExplain_c::open_proc() { @@ -358,9 +383,9 @@ void dMsgScrnExplain_c::open_proc() { if (field_0x5a >= 5) { field_0x5a = 5; if (field_0x64 == 1 || field_0x64 == 2) { - mStatus = 4; + mStatus = STATUS_MOVE_SELECT_e; } else { - mStatus = 3; + mStatus = STATUS_MOVE_e; } } @@ -385,14 +410,14 @@ void dMsgScrnExplain_c::move_proc() { } if (mDoCPd_c::getTrigA(PAD_1) || - ((field_0x58 != 0x0 && + ((field_0x58 && (mDoCPd_c::getTrigB(PAD_1) || mDoCPd_c::getTrigZ(PAD_1) || mDoCPd_c::getTrigX(PAD_1) || mDoCPd_c::getTrigY(PAD_1) || mDoCPd_c::getTrigStart(PAD_1) || mDoCPd_c::getTrigR(PAD_1) || mDoCPd_c::getTrigL(PAD_1) || mForceSelect)))) { - mStatus = 5; + mStatus = STATUS_CLOSE_e; dMeter2Info_set2DVibrationM(); - mDoAud_seStart(Z2SE_SY_EXP_WIN_CLOSE, 0, 0, 0); + mDoAud_seStart(Z2SE_SY_EXP_WIN_CLOSE, NULL, 0, 0); } } @@ -402,6 +427,10 @@ void dMsgScrnExplain_c::move_select_init() { char string_buf_yes[20]; char string_buf_no[20]; + f32 var_f31 = 0.0f; + f32 yes_str_len = 0.0f; + f32 no_str_len = 0.0f; + msg_buf_yes[0] = 0; msg_buf_no[0] = 0; string_buf_yes[0] = 0; @@ -415,36 +444,38 @@ void dMsgScrnExplain_c::move_select_init() { dMeter2Info_getString(0x520, msg_buf_no, NULL); // "NO" } - f32 yes_str_len = dMeter2Info_getStringLength(mDoExt_getMesgFont(), mpSelect_c->getFontSize(), - mpSelect_c->getCharSpace(), msg_buf_yes); - f32 no_str_len = dMeter2Info_getStringLength(mDoExt_getMesgFont(), mpSelect_c->getFontSize(), - mpSelect_c->getCharSpace(), msg_buf_no); - f32 dVar13; + yes_str_len = dMeter2Info_getStringLength(mDoExt_getMesgFont(), mpSelect_c->getFontSize(), + mpSelect_c->getCharSpace(), msg_buf_yes); + no_str_len = dMeter2Info_getStringLength(mDoExt_getMesgFont(), mpSelect_c->getFontSize(), + mpSelect_c->getCharSpace(), msg_buf_no); + if (yes_str_len < no_str_len) { - dVar13 = no_str_len; + var_f31 = no_str_len; } else { - dVar13 = yes_str_len; + var_f31 = yes_str_len; } - f32 tbox_width = mpSelect_c->getTextBoxWidth(); - if (dVar13 < tbox_width) { - dVar13 = mpSelect_c->getTextBoxWidth(); + if (var_f31 < mpSelect_c->getTextBoxWidth()) { + var_f31 = mpSelect_c->getTextBoxWidth(); } + f32 var_f28 = 0.5f * (var_f31 - yes_str_len); + f32 var_f27 = 0.5f * (var_f31 - no_str_len); + snprintf(string_buf_yes, 20, "\x1B" "CR[%d]", - (int)(0.5f * (dVar13 - yes_str_len))); + (int)var_f28); strcat(string_buf_yes, msg_buf_yes); snprintf(string_buf_no, 20, "\x1B" "CR[%d]", - (int)(0.5f * (dVar13 - no_str_len))); + (int)var_f27); strcat(string_buf_no, msg_buf_no); mpSelect_c->setString("", string_buf_yes, string_buf_no); mpSelect_c->setRubyString("", "", ""); - mpSelect_c->selAnimeInit(2, mSelCursor + 1, 0, dVar13, 0); + mpSelect_c->selAnimeInit(2, mSelCursor + 1, 0, var_f31, 0); mpArrow_c->arwAnimeInit(); } @@ -468,7 +499,7 @@ void dMsgScrnExplain_c::move_select_proc() { mDoAud_seStart(Z2SE_SY_TALK_CURSOR_OK, NULL, 0, 0); } - mStatus = 5; + mStatus = STATUS_CLOSE_e; mDoAud_seStart(Z2SE_SY_EXP_WIN_CLOSE, NULL, 0, 0); } else if (field_0x58 && (checkTriggerB() || mForceSelect)) { if (field_0x64 == 2) { @@ -482,7 +513,7 @@ void dMsgScrnExplain_c::move_select_proc() { } } - mStatus = 5; + mStatus = STATUS_CLOSE_e; mDoAud_seStart(Z2SE_SY_EXP_WIN_CLOSE, NULL, 0, 0); } else if (mpSelect_c->isSelect() && mpStick->checkUpTrigger()) { if (mSelCursor == 1) { @@ -490,14 +521,28 @@ void dMsgScrnExplain_c::move_select_proc() { Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } - } else if (mpSelect_c->isSelect() && mpStick->checkDownTrigger() && mSelCursor == 0) { - mSelCursor = 1; - Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f, -1.0f, - -1.0f, 0); + } else if (mpSelect_c->isSelect() && mpStick->checkDownTrigger()) { + if (mSelCursor == 0) { + mSelCursor = 1; + Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + } } + #if !PLATFORM_GCN + else if (mpSelect_c->getDPDPoint() != 0xFF) { + if (mSelCursor != mpSelect_c->getDPDPoint() && field_0x62 != mpSelect_c->getDPDPoint()) { + mSelCursor = mpSelect_c->getDPDPoint(); + Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 1, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); + } + } + + field_0x62 = mpSelect_c->getDPDPoint(); + #endif } - if (mStatus == 4) { + if (mStatus == STATUS_MOVE_SELECT_e) { mpSelect_c->selAnimeMove(2, mSelCursor + 1, false); } else { mpSelect_c->selAnimeEnd(); @@ -509,7 +554,7 @@ void dMsgScrnExplain_c::close_init() { } void dMsgScrnExplain_c::close_proc() { - bool iVar1; + bool iVar1 = false; if (mpSelect_c != NULL) { iVar1 = mpSelect_c->selAnimeEnd(); } else { @@ -520,7 +565,7 @@ void dMsgScrnExplain_c::close_proc() { if (field_0x5a <= 0) { field_0x5a = 0; if (iVar1) { - mStatus = 0; + mStatus = STATUS_WAIT_e; } } @@ -534,21 +579,21 @@ void dMsgScrnExplain_c::close_proc() { } } -bool dMsgScrnExplain_c::openExplain(u32 param_0, u8 param_1, u8 param_2, u8 param_3, bool param_4) { +bool dMsgScrnExplain_c::openExplain(u32 i_msgId, u8 param_1, u8 i_cursorSel, u8 param_3, bool param_4) { bool rv = false; if (g_MsgObject_HIO_c.mSaveSeqMsgDebug) { - param_0 = g_MsgObject_HIO_c.mSaveSeqMsgIndex; + i_msgId = g_MsgObject_HIO_c.mSaveSeqMsgIndex; } - if (mStatus == 0) { - field_0x54 = param_0; + if (mStatus == STATUS_WAIT_e) { + mOpenMsgId = i_msgId; field_0x64 = param_1; - mSelCursor = param_2; + mSelCursor = i_cursorSel; field_0x63 = param_3; mForceSelect = 0; field_0x58 = param_4; - mStatus = 1; + mStatus = STATUS_OPEN_REQ_e; open_request_init(); rv = true; } @@ -557,21 +602,39 @@ bool dMsgScrnExplain_c::openExplain(u32 param_0, u8 param_1, u8 param_2, u8 para } f32 dMsgScrnExplain_c::getAlphaRatio() { + f32 ratio; + f32 var_f30; + f32 var_f29; switch (mStatus) { - case 2: - case 5: - return 1.0f - (field_0x5a / 5.0f); - case 0: - return 1.0f; + case STATUS_OPEN_e: + case STATUS_CLOSE_e: + var_f29 = field_0x5a; + var_f30 = 5.0f; + ratio = 1.0f - (var_f29 / var_f30); + break; + case STATUS_WAIT_e: + ratio = 1.0f; + break; default: - return 0.0f; + ratio = 0.0f; + break; } + + return ratio; } bool dMsgScrnExplain_c::checkTriggerA() { - return mDoCPd_c::getTrigA(PAD_1); + if (mDoCPd_c::getTrigA(PAD_1)) { + return true; + } else { + return false; + } } bool dMsgScrnExplain_c::checkTriggerB() { - return mDoCPd_c::getTrigB(PAD_1); + if (mDoCPd_c::getTrigB(PAD_1)) { + return true; + } else { + return false; + } } diff --git a/src/d/d_msg_unit.cpp b/src/d/d_msg_unit.cpp index 4619977315..7ea5111958 100644 --- a/src/d/d_msg_unit.cpp +++ b/src/d/d_msg_unit.cpp @@ -310,11 +310,11 @@ void dMsgUnit_c::setTag(int i_type, int i_value, char* o_buffer, bool param_4) { #if REGION_PAL if (i_value == 1 || - (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_FRENCH && + (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_FRENCH && i_value == 0)) { #elif !REGION_USA if (i_value == 1 || - (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGAUGE_SPANISH && + (dComIfGs_getPalLanguage() == dSv_player_config_c::LANGUAGE_SPANISH && i_value == 0)) { #else if (i_value == 1) { diff --git a/src/d/d_s_room.cpp b/src/d/d_s_room.cpp index ec5e740203..cc46c06654 100644 --- a/src/d/d_s_room.cpp +++ b/src/d/d_s_room.cpp @@ -9,6 +9,7 @@ #include "d/d_com_inf_game.h" #include "d/d_s_play.h" #include "d/d_s_room.h" +#include "d/d_bg_parts.h" #include "m_Do/m_Do_Reset.h" #include #ifndef __MWERKS__ @@ -345,20 +346,32 @@ static int phase_1(room_of_scene_class* i_this) { static int phase_2(room_of_scene_class* i_this) { const char* arcName = setArcName(i_this); - int phase = dComIfG_syncStageRes(arcName); + int rt = dComIfG_syncStageRes(arcName); - if (phase < 0) { + if (rt < 0) { #if VERSION == VERSION_WII_USA_R0 dStage_escapeRestart(); #endif return cPhs_ERROR_e; } - if (phase != 0) { + JUT_ASSERT(750, rt >= 0); + if (rt != 0) { return cPhs_INIT_e; } int roomNo = fopScnM_GetParam(i_this); + + #if DEBUG + JKRExpHeap* block = dStage_roomControl_c::getMemoryBlock(roomNo); + OS_REPORT("*************************************** room%d <%x> <%x : %x>\n", + roomNo, + block, + block != NULL ? block->getTotalFreeSize() : 0, + block != NULL ? block->getFreeSize() : 0 + ); + #endif + if (dComIfGp_roomControl_getZoneNo(roomNo) < 0) { dComIfGp_roomControl_setZoneNo(roomNo, dComIfGs_createZone(roomNo)); } @@ -378,6 +391,17 @@ static int phase_2(room_of_scene_class* i_this) { old_heap = mDoExt_setCurrentHeap(heap); } + #if DEBUG + void* mpat = dComIfGp_roomControl_getStatusRoomDt(roomNo)->getMapPath(); + if (mpat != NULL) { + dBgp_c* bgp = new dBgp_c(); + JUT_ASSERT(786, bgp != NULL); + + bgp->create(roomNo, mpat); + dStage_roomControl_c::setBgp(roomNo, bgp); + } + #endif + if (old_heap != NULL) { mDoExt_setCurrentHeap(old_heap); } diff --git a/src/d/d_save.cpp b/src/d/d_save.cpp index fed8634d8b..81249ecb57 100644 --- a/src/d/d_save.cpp +++ b/src/d/d_save.cpp @@ -1035,15 +1035,15 @@ u8 dSv_player_config_c::getPalLanguage() const { #if VERSION == VERSION_GCN_PAL switch (OSGetLanguage()) { case 0: - return LANGAUGE_ENGLISH; + return LANGUAGE_ENGLISH; case 1: - return LANGAUGE_GERMAN; + return LANGUAGE_GERMAN; case 2: - return LANGAUGE_FRENCH; + return LANGUAGE_FRENCH; case 3: - return LANGAUGE_SPANISH; + return LANGUAGE_SPANISH; case 4: - return LANGAUGE_ITALIAN; + return LANGUAGE_ITALIAN; } #elif VERSION >= VERSION_WII_USA_R0 switch (SCGetLanguage()) { @@ -1869,23 +1869,23 @@ flagFile_c::~flagFile_c() { } void flagFile_c::genMessage(JORMContext* mctx) { - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("- フラグデータのデバッグ用一時セーブ", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genButton(" 読込 ", 101, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + mctx->genLabel("-", 0); + mctx->genLabel("- フラグデータのデバッグ用一時セーブ", 0); + mctx->genLabel("-", 0); + mctx->genButton(" 読込 ", 101); + mctx->genLabel("-", 0); + mctx->genLabel("-", 0); if (fopScnM_SearchByID(dStage_roomControl_c::getProcID()) != NULL) { - mctx->genLabel("- セーブ要素", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genCheckBox(" ステージ名", &m_flags, FLAG_SCENE_e, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genCheckBox(" セーブ領域", &m_flags, FLAG_SAVE_e, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genCheckBox(" セーブ作業領域", &m_flags, FLAG_MEM_e, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genCheckBox(" ダンジョンセーブ", &m_flags, FLAG_DAN_e, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genButton(" 書出 ", 102, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); - mctx->genLabel("-", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24); + mctx->genLabel("- セーブ要素", 0); + mctx->genCheckBox(" ステージ名", &m_flags, FLAG_SCENE_e); + mctx->genCheckBox(" セーブ領域", &m_flags, FLAG_SAVE_e); + mctx->genCheckBox(" セーブ作業領域", &m_flags, FLAG_MEM_e); + mctx->genCheckBox(" ダンジョンセーブ", &m_flags, FLAG_DAN_e); + mctx->genLabel("-", 0); + mctx->genButton(" 書出 ", 102); + mctx->genLabel("-", 0); + mctx->genLabel("-", 0); } } diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index 809afb65fc..22d3b156fb 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -12,6 +12,8 @@ #include "d/d_path.h" #include "d/d_save_HIO.h" #include "d/d_stage.h" +#include "d/d_bg_parts.h" +#include "f_ap/f_ap_game.h" #include "f_op/f_op_kankyo_mng.h" #include "f_op/f_op_msg_mng.h" #include "f_op/f_op_scene_mng.h" @@ -25,6 +27,11 @@ void dStage_nextStage_c::set(const char* i_stage, s8 i_roomId, s16 i_point, s8 i enabled = true; wipe = i_wipe; wipe_speed = i_speed; +#if DEBUG + if (g_kankyoHIO.navy.fade_test_speed) { + wipe_speed = g_kankyoHIO.navy.fade_test_speed; + } +#endif dStage_startStage_c::set(i_stage, i_roomId, i_point, i_layer); if (!strcmp(i_stage, "OPENING")) { mDoRst::onReset(); @@ -35,11 +42,13 @@ void dStage_nextStage_c::set(const char* i_stage, s8 i_roomId, s16 i_point, s8 i void dStage_SetErrorRoom() { // "Room information might be corrupted. \nPlease try to re-convert. \n" OSReport_Error("部屋情報が、多分ですが壊れています。\n変換し直してみてください。\n"); + OS_REPORT("または、ステージの情報が部屋にあります。↓を参考に。\n"); } void dStage_SetErrorStage() { // "Stage information might be corrupted. \nPlease try to re-convert. " OSReport_Error("ステージ情報が、多分ですが壊れています。\n変換し直してみてください。"); + OS_REPORT("または、部屋の情報がステージにあります。↓を参考に。\n"); } static dStage_KeepDoorInfo DoorInfo; @@ -48,14 +57,20 @@ dStage_KeepDoorInfo* dStage_GetKeepDoorInfo() { return &DoorInfo; } -static u8 dStage_isBossStage(dStage_dt_c* i_stage) { +static bool dStage_isBossStage(dStage_dt_c* i_stage) { stage_stag_info_class* pstag = i_stage->getStagInfo(); + JUT_ASSERT(127, pstag != 0); if (pstag == NULL) { return false; } - return dStage_stagInfo_GetSTType(pstag) == ST_BOSS_ROOM; + u32 stType = dStage_stagInfo_GetSTType(pstag); + if (stType == ST_BOSS_ROOM) { + return true; + } else { + return false; + } } static void dStage_KeepDoorInfoInit(dStage_dt_c* i_stage) { @@ -65,6 +80,7 @@ static void dStage_KeepDoorInfoInit(dStage_dt_c* i_stage) { } static void dStage_KeepDoorInfoProc(dStage_dt_c* i_stage, stage_tgsc_class* i_drtg) { + UNUSED(i_stage); if (i_drtg == NULL) { DoorInfo.mNum = 0; return; @@ -79,8 +95,10 @@ static void dStage_KeepDoorInfoProc(dStage_dt_c* i_stage, stage_tgsc_class* i_dr } stage_tgsc_data_class* pSrcEntry = i_drtg->m_entries; stage_tgsc_data_class* pDstEntry = DoorInfo.mDrTgData; - for (int i = 0; i < DoorInfo.mNum; pDstEntry++, pSrcEntry++, i++) { + for (int i = 0; i < DoorInfo.mNum; i++) { *pDstEntry = *pSrcEntry; + pDstEntry++; + pSrcEntry++; } } @@ -95,7 +113,10 @@ static void dStage_initRoomKeepDoorInfo() { } static void dStage_RoomKeepDoorInfoProc(dStage_dt_c* i_stage, stage_tgsc_class* param_2) { - if (param_2 == NULL || param_2->num + l_RoomKeepDoorInfo.mNum >= 0x40 || param_2->num < 0) { + if (param_2 == NULL) { + return; + } + if (param_2->num + l_RoomKeepDoorInfo.mNum >= 0x40 || param_2->num < 0) { return; } if (param_2->num == 0) { @@ -117,7 +138,10 @@ static void dStage_RoomKeepDoorInfoProc(dStage_dt_c* i_stage, stage_tgsc_class* static int dStage_RoomKeepDoorInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - dStage_RoomKeepDoorInfoProc(i_stage, (stage_tgsc_class*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + stage_tgsc_class* tgsc = (stage_tgsc_class*)((char*)i_data + 4); + dStage_RoomKeepDoorInfoProc(i_stage, tgsc); return 1; } @@ -137,9 +161,15 @@ void dStage_roomControl_c::init() { mNoChangeRoom = 0; mRoomReadId = -1; +#if PLATFORM_GCN if (dComIfGp_getStartStagePoint() >= 0 || dComIfGp_getStartStagePoint() == -4) { initZone(); } +#else + if (dComIfGp_getStartStagePoint() >= 0) { + dComIfGs_initZone(); + } +#endif dStage_roomStatus_c* status = mStatus; for (int i = 0; i < 0x40; i++) { @@ -148,7 +178,9 @@ void dStage_roomControl_c::init() { setStatusFlag(i, 0); status->mDraw = false; - if (status->mZoneNo >= 0) { + if (!PLATFORM_GCN && dComIfGp_getStartStagePoint() >= 0) { + status->mZoneNo = -1; + } else if (status->mZoneNo >= 0) { dComIfGs_clearRoomSwitch(status->mZoneNo); dComIfGs_clearRoomItem(status->mZoneNo); } @@ -162,8 +194,17 @@ void dStage_roomControl_c::init() { mArcBankData = (dStage_roomControl_c::bankData*)dComIfG_getStageRes("bank.bin"); if (mArcBankName == NULL) { + JUT_ASSERT(449, mArcBankData == NULL); + mArcBankData = NULL; + } else { + JUT_ASSERT(452, mArcBankData != NULL); + } +#if DEBUG + if (mNoArcBank) { + mArcBankName = NULL; mArcBankData = NULL; } +#endif } void dStage_roomControl_c::initZone() { @@ -178,11 +219,268 @@ void dStage_roomControl_c::initZone() { dStage_roomDt_c* dStage_roomControl_c::getStatusRoomDt(int i_statusIdx) { if (i_statusIdx < 0 || i_statusIdx >= 0x40) { + OS_REPORT_ERROR("getStatusRoomDt():部屋番号範囲外:%d(0~%d)\n", i_statusIdx, 0x40); return NULL; } return &mStatus[i_statusIdx].mRoomDt; } +JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int i_roomNo) { + int blockId = getMemoryBlockID(i_roomNo); + + if (blockId < 0) { + return NULL; + } + return mMemoryBlock[blockId]; +} + +void dStage_roomControl_c::setStayNo(int i_roomNo) { + mOldStayNo = mStayNo; + mStayNo = i_roomNo; + mNextStayNo = mStayNo; + + if (mStayNo < 0) { + return; + } + + onStatusDraw(mStayNo); +} + +void dStage_roomControl_c::setNextStayNo(int nextStayNo) { + mNextStayNo = nextStayNo; +} + +static int stayRoomCheck(int param_0, u8* param_1, int param_2) { + for (int i = 0; i < param_0; i++) { + if (param_2 == dStage_roomRead_dt_c_GetLoadRoomIndex(param_1[i])) { + return 1; + } + } + return 0; +} + +static int createRoomScene(int param_0) { + int* ptr = (int*)JKRAlloc(4, -4); + + if (ptr == NULL) { + return 0; + } + *ptr = param_0; + + if (!fopScnM_CreateReq(PROC_ROOM_SCENE, 0x7FFF, 0, (uintptr_t)ptr)) { + JKRFree(ptr); + return 0; + } + + return 1; +} + +BOOL dStage_roomControl_c::checkRoomDisp(int i_roomNo) const { + if (checkStatusFlag(i_roomNo, 8)) { + return 0; + } + + if (checkStatusFlag(i_roomNo, 16)) { + return true; + } else { + return false; + } +} + +int dStage_roomControl_c::loadRoom(int roomCount, u8* rooms, bool param_2) { + if (mRoomReadId < 0 && mNoChangeRoom != 0) { + return 0; + } + + for (int roomNo = 0; roomNo < ARRAY_SIZE(mStatus); roomNo++) { + if (checkStatusFlag(roomNo, 0x02 | 0x04)) { + return 0; + } + } + + BOOL r26 = TRUE; + for (int roomNo = 0; roomNo < ARRAY_SIZE(mStatus); roomNo++) { + if (dStage_roomControl_c::checkStatusFlag(roomNo, 0x01)) { + if (!stayRoomCheck(roomCount, rooms, roomNo)) { + onStatusFlag(roomNo, 0xc); + OS_REPORT("kill !!<%d>\n", roomNo); + r26 = FALSE; + } + } + } + if (!r26) { + return FALSE; + } + + for (int i = 0; i < roomCount; i++) { + int roomNo = dStage_roomRead_dt_c_GetLoadRoomIndex(rooms[i]); + dStage_roomControl_c::setZoneCount(roomNo, 2); + if (!checkStatusFlag(roomNo, 0x01)) { + if (param_2) { + if (dStage_roomRead_dt_c_ChkBg(rooms[i]) && createRoomScene(roomNo)) { + onStatusFlag(roomNo, 2); + } + } else { + if (createRoomScene(roomNo)) { + int flag; + if (dStage_roomRead_dt_c_ChkBg(rooms[i])) { + flag = 0x02; + } else { + flag = 0x4A; + } + onStatusFlag(roomNo, flag); + } + return TRUE; + } + } else { + if (dStage_roomRead_dt_c_ChkBg(rooms[i])) { + if (checkStatusFlag(roomNo, 0x40)) { + offStatusFlag(roomNo, 0x48); + } + } else { + if (!checkStatusFlag(roomNo, 0x60)) { + onStatusFlag(roomNo, 0x48); + } else { + onStatusFlag(roomNo, 0x40); + } + } + } + } + + return TRUE; +} + +void dStage_roomControl_c::zoneCountCheck(int i_roomNo) const { + dStage_roomStatus_c* status = mStatus; + for (int i = 0; i < 0x40; i++) { + if (status->mZoneNo >= 0 && status->mZoneCount > 0) { + dComIfGs_clearRoomSwitch(status->mZoneNo); + dComIfGs_clearRoomItem(status->mZoneNo); + + if (dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != ST_FIELD && + i_roomNo != mOldStayNo) + { + if (--status->mZoneCount == 0) { + dComIfGs_removeZone(status->mZoneNo); + status->mZoneNo = -1; + } + } + } + status++; + } + + setStayNo(i_roomNo); +} + +static void dummy1(dStage_roomControl_c* roomControl) { + roomControl->getFileList2(0); +} + +JKRExpHeap* dStage_roomControl_c::createMemoryBlock(int i_blockIdx, u32 i_heapSize) { + if (mMemoryBlock[i_blockIdx] == NULL) { + mMemoryBlock[i_blockIdx] = JKRCreateExpHeap(i_heapSize, mDoExt_getArchiveHeap(), false); + } + + return mMemoryBlock[i_blockIdx]; +} + +void dStage_roomControl_c::destroyMemoryBlock() { + for (int i = 0; i < MEMORY_BLOCK_MAX; i++) { + if (mMemoryBlock[i] != NULL) { + mDoExt_destroyExpHeap(mMemoryBlock[i]); + mMemoryBlock[i] = NULL; + } + } +} + +void dStage_roomControl_c::setArcBank(int i_bank, char const* bankName) { + JUT_ASSERT(1053, 0 <= i_bank && i_bank < 32); + strncpy(&mArcBank[i_bank][0], bankName, 9); +} + +char* dStage_roomControl_c::getArcBank(int i_bank) { + JUT_ASSERT(1067, 0 <= i_bank && i_bank < 32); + return mArcBank[i_bank]; +} + +bool dStage_roomControl_c::resetArchiveBank(int i_bank) { + for (int i = i_bank; i < 32; i++) { + char* bank = getArcBank(i); + + if (strcmp(bank, "")) { + s32 syncStatus = dComIfG_syncObjectRes(bank); + if (syncStatus < 0) { + OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", i, bank); + } else { + if (syncStatus > 0) { + return 0; + } + OS_REPORT(">>>>>>>>>>> delete Bank[%d] : %s\n", i, bank); + dComIfG_deleteObjectResMain(bank); + setArcBank(i, ""); + } + } + } + return 1; +} + +void dStage_roomControl_c::roomDzs_c::create(u8 i_num) { + JUT_ASSERT(1112, !m_num && 0 < i_num && i_num < 64); + m_dzs = new (mDoExt_getArchiveHeap(), -4) void*[i_num]; + JUT_ASSERT(1114, m_dzs != NULL); + + if (m_dzs != NULL) { + u32** dzs = (u32**)m_dzs; + for (u8 i = 0; i < i_num; i++) { + *dzs = NULL; + dzs++; + } + m_num = i_num; + } +} + +void dStage_roomControl_c::roomDzs_c::remove() { + if (m_num != 0) { + u32** dzs = (u32**)m_dzs; + for (u8 i = 0; i < m_num; i++) { + if (*dzs != NULL) { + mDoExt_getArchiveHeap()->free(*dzs); + } + dzs++; + } + delete[] m_dzs; + m_num = 0; + } +} + +void* dStage_roomControl_c::roomDzs_c::add(u8 i_no, u8 roomNo) { + if (m_num == 0) { + return NULL; + } + + JUT_ASSERT(1160, i_no < m_num); + void** dzs = m_dzs + i_no; + if (*dzs == NULL) { + char dzsName[20]; + sprintf(dzsName, "%s/room%d.dzs", dComIfGp_getStartStageName(), roomNo); + JUT_ASSERT(1167, strlen(dzsName) <= sizeof(dzsName)); + + u32 expandSize = + dLib_getExpandSizeFromAramArchive(dComIfGp_getFieldMapArchive2(), (const char*)dzsName); + JUT_ASSERT(1172, expandSize); + OS_REPORT("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ <%s> <%d>\n", dzsName, expandSize); + *dzs = mDoExt_getArchiveHeap()->alloc(expandSize, -0x20); + JUT_ASSERT(1179, *dzs != NULL); + + if (*dzs != NULL) { + u32 readSize = dComIfGp_getFieldMapArchive2()->readResource(*dzs, expandSize, dzsName); + JUT_ASSERT(1186, readSize <= expandSize); + } + } + + return *dzs; +} + // clang-format off #define OBJNAME(name, proc, sub) \ { name, proc, sub } @@ -1093,7 +1391,7 @@ static dStage_objectNameInf l_objectName[] = { OBJNAME("mvbg_a", PROC_BG_OBJ, -1), OBJNAME("burnBox", PROC_Obj_BurnBox, -1), OBJNAME("stnMark", PROC_Obj_StoneMark, -1), -#if !DEBUG +#if PLATFORM_GCN OBJNAME("Passer", PROC_NPC_PASSER, -1), #endif OBJNAME("Passer2", PROC_NPC_PASSER2, -1), @@ -1112,258 +1410,6 @@ static dStage_objectNameInf l_objectName[] = { }; // clang-format on -JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int i_roomNo) { - int blockId = getMemoryBlockID(i_roomNo); - - if (blockId < 0) { - return NULL; - } - return mMemoryBlock[blockId]; -} - -void dStage_roomControl_c::setStayNo(int i_roomNo) { - mOldStayNo = mStayNo; - mStayNo = i_roomNo; - mNextStayNo = mStayNo; - - if (mStayNo < 0) { - return; - } - - onStatusDraw(mStayNo); -} - -void dStage_roomControl_c::setNextStayNo(int nextStayNo) { - mNextStayNo = nextStayNo; -} - -static int stayRoomCheck(int param_0, u8* param_1, int param_2) { - for (; param_0 > 0; param_0--) { - if (param_2 == dStage_roomRead_dt_c_GetLoadRoomIndex(*param_1)) { - return 1; - } - param_1++; - } - return 0; -} - -static int createRoomScene(int param_0) { - int* ptr = (int*)JKRHeap::alloc(4, -4, NULL); - - if (ptr == NULL) { - return 0; - } - *ptr = param_0; - - if (!fopScnM_CreateReq(PROC_ROOM_SCENE, 0x7FFF, 0, (uintptr_t)ptr)) { - JKRHeap::free(ptr, NULL); - return 0; - } - - return 1; -} - -BOOL dStage_roomControl_c::checkRoomDisp(int i_roomNo) const { - if (checkStatusFlag(i_roomNo, 8)) { - return 0; - } - - return checkStatusFlag(i_roomNo, 16) ? 1 : 0; -} - -int dStage_roomControl_c::loadRoom(int roomCount, u8* rooms, bool param_2) { - if (mRoomReadId < 0 && mNoChangeRoom != 0) { - return 0; - } - - for (int roomNo = 0; roomNo < ARRAY_SIZEU(mStatus); roomNo++) { - if (checkStatusFlag(roomNo, 0x02 | 0x04)) { - return 0; - } - } - - BOOL r26 = TRUE; - for (int roomNo = 0; roomNo < ARRAY_SIZE(mStatus); roomNo++) { - if (dStage_roomControl_c::checkStatusFlag(roomNo, 0x01)) { - if (!stayRoomCheck(roomCount, rooms, roomNo)) { - onStatusFlag(roomNo, 0xc); - r26 = FALSE; - } - } - } - if (!r26) { - return FALSE; - } - - for (int i = 0; i < roomCount; i++) { - u8 roomNo = dStage_roomRead_dt_c_GetLoadRoomIndex(rooms[i]); - dStage_roomControl_c::setZoneCount(roomNo, 2); - if (!checkStatusFlag(roomNo, 0x01)) { - if (param_2) { - if (dStage_roomRead_dt_c_ChkBg(rooms[i]) && createRoomScene(roomNo)) { - onStatusFlag(roomNo, 2); - } - } else { - if (createRoomScene(roomNo)) { - int flag; - if (dStage_roomRead_dt_c_ChkBg(rooms[i])) { - flag = 0x02; - } else { - flag = 0x4A; - } - onStatusFlag(roomNo, flag); - } - return TRUE; - } - } else { - if (dStage_roomRead_dt_c_ChkBg(rooms[i])) { - if (checkStatusFlag(roomNo, 0x40)) { - offStatusFlag(roomNo, 0x48); - } - } else { - if (!checkStatusFlag(roomNo, 0x60)) { - onStatusFlag(roomNo, 0x48); - } else { - onStatusFlag(roomNo, 0x40); - } - } - } - } - - return TRUE; -} - -void dStage_roomControl_c::zoneCountCheck(int i_roomNo) const { - dStage_roomStatus_c* status = mStatus; - for (int i = 0; i < 0x40; i++) { - if (status->mZoneNo >= 0 && status->mZoneCount > 0) { - dComIfGs_clearRoomSwitch(status->mZoneNo); - dComIfGs_clearRoomItem(status->mZoneNo); - - if (dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != ST_FIELD && - i_roomNo != mOldStayNo) - { - if (--status->mZoneCount == 0) { - dComIfGs_removeZone(status->mZoneNo); - status->mZoneNo = -1; - } - } - } - status++; - } - - setStayNo(i_roomNo); -} - -static void dummy1() { - ((dStage_stageDt_c*)dComIfGp_getStage())->getStagInfo(); -} - -JKRExpHeap* dStage_roomControl_c::createMemoryBlock(int i_blockIdx, u32 i_heapSize) { - if (mMemoryBlock[i_blockIdx] == NULL) { - mMemoryBlock[i_blockIdx] = JKRCreateExpHeap(i_heapSize, mDoExt_getArchiveHeap(), false); - } - - return mMemoryBlock[i_blockIdx]; -} - -void dStage_roomControl_c::destroyMemoryBlock() { - for (int i = 0; i < MEMORY_BLOCK_MAX; i++) { - if (mMemoryBlock[i] != NULL) { - mDoExt_destroyExpHeap(mMemoryBlock[i]); - mMemoryBlock[i] = NULL; - } - } -} - -void dStage_roomControl_c::setArcBank(int i_bank, char const* bankName) { - JUT_ASSERT(1053, 0 <= i_bank && i_bank < 32); - strncpy(&mArcBank[i_bank][0], bankName, 9); -} - -char* dStage_roomControl_c::getArcBank(int i_bank) { - JUT_ASSERT(1067, 0 <= i_bank && i_bank < 32); - return mArcBank[i_bank]; -} - -bool dStage_roomControl_c::resetArchiveBank(int i_bank) { - for (int i = i_bank; i < 32; i++) { - char* bank = getArcBank(i); - - if (strcmp(bank, "")) { - s32 syncStatus = dComIfG_syncObjectRes(bank); - if (syncStatus < 0) { - OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", i, bank); - } else { - if (syncStatus > 0) { - return 0; - } - OS_REPORT(">>>>>>>>>>> delete Bank[%d] : %s\n", i, bank); - dComIfG_deleteObjectResMain(bank); - setArcBank(i, ""); - } - } - } - return 1; -} - -void dStage_roomControl_c::roomDzs_c::create(u8 i_num) { - JUT_ASSERT(1112, !m_num && 0 < i_num && i_num < 64); - m_dzs = new (mDoExt_getArchiveHeap(), -4) void*[i_num]; - JUT_ASSERT(1114, m_dzs != NULL); - - if (m_dzs != NULL) { - u32** dzs = (u32**)m_dzs; - for (u8 i = 0; i < i_num; i++) { - *dzs = NULL; - dzs++; - } - m_num = i_num; - } -} - -void dStage_roomControl_c::roomDzs_c::remove() { - if (m_num != 0) { - u32** dzs = (u32**)m_dzs; - for (u8 i = 0; i < m_num; i++) { - if (*dzs != NULL) { - mDoExt_getArchiveHeap()->free(*dzs); - } - dzs++; - } - delete[] m_dzs; - m_num = 0; - } -} - -void* dStage_roomControl_c::roomDzs_c::add(u8 i_no, u8 roomNo) { - if (m_num == 0) { - return NULL; - } - - JUT_ASSERT(1160, i_no < m_num); - void** dzs = m_dzs + i_no; - if (*dzs == NULL) { - char dzsName[20]; - sprintf(dzsName, "%s/room%d.dzs", dComIfGp_getStartStageName(), roomNo); - JUT_ASSERT(1167, strlen(dzsName) <= sizeof(dzsName)); - - u32 expandSize = - dLib_getExpandSizeFromAramArchive(dComIfGp_getFieldMapArchive2(), (const char*)dzsName); - JUT_ASSERT(1172, expandSize); - OS_REPORT("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ <%s> <%d>\n", dzsName, expandSize); - *dzs = mDoExt_getArchiveHeap()->alloc(expandSize, -0x20); - JUT_ASSERT(1179, *dzs != NULL); - - if (*dzs != NULL) { - u32 readSize = dComIfGp_getFieldMapArchive2()->readResource(*dzs, expandSize, dzsName); - JUT_ASSERT(1186, readSize <= expandSize); - } - } - - return *dzs; -} - void dStage_stageDt_c::init() { mCamera = NULL; mArrow = NULL; @@ -1433,7 +1479,7 @@ void dStage_roomDt_c::init() { mDoor = NULL; mFloorInfo = NULL; #if DEBUG - field_0x60 = 0; + mUnit = NULL; #endif } @@ -1499,6 +1545,12 @@ const char* dStage_getName2(s16 procName, s8 argument) { return dStage_getName(procName, argument); } +u8 data_8074C568_debug; +u8 data_8074C569_debug; +u8 data_8074C56A_debug; +u8 data_8074C56B_debug; +u8 data_8074C56C_debug; + u32 dStage_roomControl_c::mProcID; s8 dStage_roomControl_c::mStayNo; @@ -1515,7 +1567,10 @@ dStage_roomControl_c::nameData* dStage_roomControl_c::mArcBankName; dStage_roomControl_c::bankData* dStage_roomControl_c::mArcBankData; -s8 dStage_roomControl_c::mRoomReadId = -1; +dStage_roomControl_c::roomDzs_c dStage_roomControl_c::m_roomDzs; +#if DEBUG +u8 dStage_roomControl_c::mNoArcBank; +#endif static void dStage_actorCreate(stage_actor_data_class* i_actorData, fopAcM_prm_class* i_actorPrm) { dStage_objectNameInf* actorInf = dStage_searchName(i_actorData->name); @@ -1534,7 +1589,7 @@ static void dStage_actorCreate(stage_actor_data_class* i_actorData, fopAcM_prm_c return; } - fopAcM_create(actorInf->procname, NULL, i_actorPrm); + fopAcM_Create(actorInf->procname, NULL, i_actorPrm); } } @@ -1566,6 +1621,7 @@ static void dummy2() { } static int dStage_playerInit(dStage_dt_c* i_stage, void* i_data, int num, void* param_3) { + UNUSED(param_3); stage_actor_class* player = (stage_actor_class*)((int*)i_data + 1); stage_actor_data_class* player_data = player->m_entries; i_stage->setPlayer(player); @@ -1641,24 +1697,35 @@ static int dStage_playerInit(dStage_dt_c* i_stage, void* i_data, int num, void* } static int dStage_cameraInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) { + UNUSED(param_2); + UNUSED(param_3); stage_camera_class* camera = (stage_camera_class*)((char*)i_data + 4); + int r30 = 0; i_stage->setCamera(camera); - dStage_cameraCreate(camera->m_entries, 0, 0); + stage_camera2_data_class* camera2 = &camera->m_entries[r30]; + dStage_cameraCreate(camera2, 0, 0); return 1; } static int dStage_RoomCameraInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) { - i_stage->setCamera((stage_camera_class*)((char*)i_data + 4)); + UNUSED(param_2); + UNUSED(param_3); + stage_camera_class* camera = (stage_camera_class*)((char*)i_data + 4); + i_stage->setCamera(camera); return 1; } static int dStage_arrowInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) { - i_stage->setArrow((stage_arrow_class*)((char*)i_data + 4)); + UNUSED(param_2); + UNUSED(param_3); + stage_arrow_class* arrow = (stage_arrow_class*)((char*)i_data + 4); + i_stage->setArrow(arrow); return 1; } stage_map_info_class* dStage_roomDt_c::getMapInfo2(int param_0) const { - stage_map_info_dummy_class* map_info_p = getMapInfoBase(); + stage_map_info_dummy_class* map_info_p = NULL; + map_info_p = getMapInfoBase(); if (map_info_p == NULL || map_info_p->num == 0 || map_info_p->m_entries == NULL) { return NULL; @@ -1682,7 +1749,8 @@ static void dummy3() { } stage_map_info_class* dStage_stageDt_c::getMapInfo2(int param_0) const { - stage_map_info_dummy_class* map_info_p = getMapInfoBase(); + stage_map_info_dummy_class* map_info_p = NULL; + map_info_p = getMapInfoBase(); if (map_info_p == NULL || map_info_p->num == 0 || map_info_p->m_entries == NULL) { return NULL; @@ -1706,20 +1774,32 @@ static void dummy4() { } static int dStage_paletteInfoInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) { + UNUSED(param_3); dStage_nodeHeader* pal_info = (dStage_nodeHeader*)(i_data); i_stage->setPaletteInfo((stage_palette_info_class*)pal_info->m_offset); +#if DEBUG + i_stage->setPaletteNumInfo(param_2); +#endif return 1; } static int dStage_pselectInfoInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) { + UNUSED(param_3); dStage_nodeHeader* psel_info = (dStage_nodeHeader*)(i_data); i_stage->setPselectInfo((stage_pselect_info_class*)psel_info->m_offset); +#if DEBUG + i_stage->setPselectNumInfo(param_2); +#endif return 1; } static int dStage_envrInfoInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) { + UNUSED(param_3); dStage_nodeHeader* envr_info = (dStage_nodeHeader*)(i_data); i_stage->setEnvrInfo((stage_envr_info_class*)envr_info->m_offset); +#if DEBUG + i_stage->setEnvrNumInfo(param_2); +#endif return 1; } @@ -1746,10 +1826,10 @@ static int dStage_fieldMapFiliInfo2Init(dStage_dt_c* i_stage, void* i_data, int } static int dStage_filiInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + dStage_nodeHeader* fili_info = (dStage_nodeHeader*)(i_data); if (entryNum == 0) { i_stage->setFileListInfo(NULL); } else { - dStage_nodeHeader* fili_info = (dStage_nodeHeader*)(i_data); i_stage->setFileListInfo((dStage_FileList_dt_c*)fili_info->m_offset); } @@ -1757,15 +1837,23 @@ static int dStage_filiInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, } static int dStage_vrboxInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(param_3); dStage_nodeHeader* vrbox_info = (dStage_nodeHeader*)(i_data); i_stage->setVrboxInfo((stage_vrbox_info_class*)vrbox_info->m_offset); +#if DEBUG + i_stage->setVrboxNumInfo(entryNum); +#endif return 1; } static int dStage_vrboxcolInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(param_3); dStage_nodeHeader* vrcol_info = (dStage_nodeHeader*)(i_data); i_stage->setVrboxcolInfo((stage_vrboxcol_info_class*)vrcol_info->m_offset); +#if DEBUG + i_stage->setVrboxcolNumInfo(entryNum); +#endif return 1; } @@ -1795,6 +1883,8 @@ u32 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer) { } static int dStage_stagInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(entryNum); + UNUSED(param_3); dStage_nodeHeader* stag_info = (dStage_nodeHeader*)(i_data); i_stage->setStagInfo((stage_stag_info_class*)stag_info->m_offset); @@ -1806,15 +1896,23 @@ static int dStage_stagInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, int stageNo = dStage_stagInfo_GetSaveTbl(i_stage->getStagInfo()); dComIfGs_getSave(stageNo); g_save_bit_HIO.init(); +#if DEBUG + OS_REPORT("Save StageNo=%d sizeof(dSv_save_c)=%d\n", stageNo, sizeof(dSv_save_c)); + char* r30 = &dComIfGs_getSaveInfo()->unk_0x1; + if (dComIfGs_getSaveInfo()->unk_0x0 && *r30 && !strcmp(r30, dComIfGp_getStartStageName())) { + OS_REPORT("stage: keep dungeon save data\n"); + } else { + OS_REPORT("stage: clear dungeon save data\n"); + } +#endif dComIfGs_initDan(stageNo); +#if DEBUG + dComIfGs_getSaveInfo()->unk_0x0 = 0; +#endif dStage_KeepDoorInfoInit(i_stage); return 1; } -void dStage_stageDt_c::resetOldMulti() { - mOldMulti = NULL; -} - static int dStage_sclsInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { i_stage->setSclsInfo((stage_scls_info_dummy_class*)((char*)i_data + 4)); return 1; @@ -1822,6 +1920,8 @@ static int dStage_sclsInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, static int dStage_actorCommonLayerInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(entryNum); + UNUSED(param_3); stage_actor_class* actor = (stage_actor_class*)((int*)i_data + 1); stage_actor_data_class* actor_data = actor->m_entries; @@ -1845,6 +1945,8 @@ static int dStage_actorCommonLayerInit(dStage_dt_c* i_stage, void* i_data, int e static int dStage_tgscCommonLayerInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(entryNum); + UNUSED(param_3); stage_tgsc_class* actor = (stage_tgsc_class*)((int*)i_data + 1); stage_tgsc_data_class* tgsc_data = actor->m_entries; @@ -1867,6 +1969,8 @@ static int dStage_tgscCommonLayerInit(dStage_dt_c* i_stage, void* i_data, int en } static int dStage_actorInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(entryNum); + UNUSED(param_3); stage_actor_class* actor = (stage_actor_class*)((int*)i_data + 1); stage_actor_data_class* actor_data = actor->m_entries; @@ -1890,6 +1994,8 @@ static int dStage_actorInit(dStage_dt_c* i_stage, void* i_data, int entryNum, vo static int dStage_actorInit_always(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(entryNum); + UNUSED(param_3); stage_actor_class* actor = (stage_actor_class*)((int*)i_data + 1); stage_actor_data_class* actor_data = actor->m_entries; @@ -1910,6 +2016,8 @@ static int dStage_actorInit_always(dStage_dt_c* i_stage, void* i_data, int entry } static int dStage_tgscInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(entryNum); + UNUSED(param_3); stage_tgsc_class* actor = (stage_tgsc_class*)((int*)i_data + 1); stage_tgsc_data_class* tgsc_data = actor->m_entries; @@ -1932,6 +2040,8 @@ static int dStage_tgscInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, } static int dStage_doorInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(entryNum); + UNUSED(param_3); stage_tgsc_class* actor = (stage_tgsc_class*)((int*)i_data + 1); stage_tgsc_data_class* tgsc_data = actor->m_entries; @@ -1952,6 +2062,7 @@ static int dStage_doorInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, } static int dStage_roomReadInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) { + UNUSED(param_2); roomRead_class* p_node = (roomRead_class*)((int*)i_data + 1); roomRead_data_class** rtbl = p_node->m_entries; @@ -1972,15 +2083,21 @@ s8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class& room, int index) { index = 0; } - return dStage_roomRead_dt_c_GetReverb(*room.m_entries[index]); + roomRead_data_class* data = room.m_entries[index]; + return dStage_roomRead_dt_c_GetReverb(*data); } static int dStage_ppntInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setPntInfo((dStage_dPnt_c*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + dStage_dPnt_c* pnt = (dStage_dPnt_c*)((char*)i_data + 4); + i_stage->setPntInfo(pnt); return 1; } static int dStage_pathInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { + UNUSED(entryNum); + UNUSED(param_3); dStage_dPath_c* path_c = (dStage_dPath_c*)((char*)i_data + 4); dPath* path = path_c->m_path; @@ -1997,7 +2114,10 @@ static int dStage_pathInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, } static int dStage_rppnInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setPnt2Info((dStage_dPnt_c*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + dStage_dPnt_c* pnt = (dStage_dPnt_c*)((char*)i_data + 4); + i_stage->setPnt2Info(pnt); return 1; } @@ -2018,23 +2138,24 @@ static int dStage_rpatInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, vo } static int dStage_soundInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setSoundInf((dStage_SoundInfo_c*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + dStage_SoundInfo_c* soundInfo = (dStage_SoundInfo_c*)((char*)i_data + 4); + i_stage->setSoundInf(soundInfo); return 1; } static int dStage_soundInfoInitCL(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setSoundInfCL((dStage_SoundInfo_c*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + dStage_SoundInfo_c* soundInfo = (dStage_SoundInfo_c*)((char*)i_data + 4); + i_stage->setSoundInfCL(soundInfo); return 1; } static void dStage_setLayerTagName(FuncTable* funcTbl, int tblSize, int i_layerNo) { - char layerTag; - if (i_layerNo < 10) { - layerTag = '0'; - } else { - layerTag = 'W'; - } - layerTag = i_layerNo + layerTag; + JUT_ASSERT(3007, 0 <= i_layerNo && i_layerNo < 15); + char layerTag = i_layerNo + (i_layerNo < 10 ? '0' : 'W'); for (int i = 0; i < tblSize; i++) { funcTbl->identifier[3] = layerTag; @@ -2045,20 +2166,22 @@ static void dStage_setLayerTagName(FuncTable* funcTbl, int tblSize, int i_layerN static void dStage_dt_c_decode(void* i_data, dStage_dt_c* i_stage, FuncTable* funcTbl, int tblSize) { if (i_data != NULL) { + dStage_fileHeader* file = (dStage_fileHeader*)i_data; + dStage_nodeHeader* node1 = file->m_nodes; for (int i = 0; i < tblSize; i++) { - dStage_fileHeader* file = (dStage_fileHeader*)i_data; - dStage_nodeHeader* p_tno = file->m_nodes; + node1 = file->m_nodes; FuncTable* nodeFunc = funcTbl + i; for (int j = 0; j < file->m_chunkCount; j++) { - if ((int)p_tno->m_tag == *(int*)nodeFunc->identifier) { - if (nodeFunc->function != NULL) { - nodeFunc->function(i_stage, p_tno, p_tno->m_entryNum, i_data); + dStage_nodeHeader* node2 = node1; + if ((int)node2->m_tag == *(int*)nodeFunc->identifier) { + if (funcTbl[i].function != NULL) { + funcTbl[i].function(i_stage, node1, node1->m_entryNum, i_data); } break; } - p_tno++; + node1++; } } } else { @@ -2067,18 +2190,26 @@ static void dStage_dt_c_decode(void* i_data, dStage_dt_c* i_stage, FuncTable* fu } static int dStage_stEventInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setMapEventInfo((dStage_MapEventInfo_c*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + dStage_MapEventInfo_c* mapEvent = (dStage_MapEventInfo_c*)((char*)i_data + 4); + i_stage->setMapEventInfo(mapEvent); + OS_REPORT("\nステージイベントデータ初期化!! %d %x\n\n", mapEvent->num, mapEvent->m_entries); return 1; } static int dStage_mapEventInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setMapEventInfo((dStage_MapEventInfo_c*)((char*)i_data + 4)); + dStage_MapEventInfo_c* mapEvent = (dStage_MapEventInfo_c*)((char*)i_data + 4); + i_stage->setMapEventInfo(mapEvent); return 1; } static int dStage_floorInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setFloorInfo((dStage_FloorInfo_c*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + dStage_FloorInfo_c* floorInfo = (dStage_FloorInfo_c*)((char*)i_data + 4); + i_stage->setFloorInfo(floorInfo); return 1; } @@ -2086,6 +2217,11 @@ static int dStage_memaInfoInit(dStage_dt_c* i_stage, void* i_data, int param_2, UNUSED(param_2); UNUSED(param_3); dStage_MemoryMap_c* pd = (dStage_MemoryMap_c*)((char*)i_data + 4); +#if DEBUG + if (fapGmHIO_getMemoryBlockOff()) { + pd = NULL; + } +#endif i_stage->setMemoryMap(pd); if (pd != NULL) { @@ -2108,6 +2244,11 @@ static int dStage_mecoInfoInit(dStage_dt_c* i_stage, void* i_data, int param_2, UNUSED(param_2); UNUSED(param_3); dStage_MemoryConfig_c* pd = (dStage_MemoryConfig_c*)((char*)i_data + 4); +#if DEBUG + if (fapGmHIO_getMemoryBlockOff()) { + pd = NULL; + } +#endif i_stage->setMemoryConfig(pd); if (pd != NULL) { @@ -2177,8 +2318,6 @@ static int dStage_fieldMapMapPathInit(dStage_dt_c* i_stage, void* i_data, int pa return 1; } -dStage_roomControl_c::roomDzs_c dStage_roomControl_c::m_roomDzs; - static void readMult(dStage_dt_c* i_stage, dStage_Multi_c* multi, bool useOldRes) { static FuncTable l_roomFuncTable[] = { {"TRES", dStage_stageKeepTresureInit}, @@ -2199,7 +2338,7 @@ static void readMult(dStage_dt_c* i_stage, dStage_Multi_c* multi, bool useOldRes if (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 0 || dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 6) { - dStage_roomControl_c::m_roomDzs.create(multi->num); + dStage_roomControl_c::createRoomDzs(multi->num); } for (s8 i = 0; i < multi->num; i++) { @@ -2208,12 +2347,15 @@ static void readMult(dStage_dt_c* i_stage, dStage_Multi_c* multi, bool useOldRes if (dzs == NULL) { char dzsName[11]; sprintf(dzsName, "room%d.dzs", info->mRoomNo); + JUT_ASSERT(3548, strlen(dzsName) <= sizeof(dzsName)); if (useOldRes) { dzs = dComIfG_getOldStageRes(dzsName); } else { dzs = dComIfG_getStageRes(dzsName); } + } else { + OS_REPORT("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Field Map Dzs Find !!\n"); } if (dzs != NULL) { @@ -2231,7 +2373,10 @@ static void readMult(dStage_dt_c* i_stage, dStage_Multi_c* multi, bool useOldRes } static int dStage_multInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setMulti((dStage_Multi_c*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + dStage_Multi_c* multi = (dStage_Multi_c*)((char*)i_data + 4); + i_stage->setMulti(multi); dStage_initRoomKeepDoorInfo(); readMult(i_stage, i_stage->getMulti(), false); @@ -2242,7 +2387,10 @@ static int dStage_multInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, } static int dStage_lbnkInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setLbnk((dStage_Lbnk_c*)((char*)i_data + 4)); + UNUSED(entryNum); + UNUSED(param_3); + dStage_Lbnk_c* lbnk = (dStage_Lbnk_c*)((char*)i_data + 4); + i_stage->setLbnk(lbnk); return 1; } @@ -2269,20 +2417,32 @@ static int dStage_dmapInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, static int dStage_stageDrtgInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setDrTg((stage_tgsc_class*)((char*)i_data + 4)); + stage_tgsc_class* tgsc = (stage_tgsc_class*)((char*)i_data + 4); + i_stage->setDrTg(tgsc); dStage_tgscInfoInit(i_stage, i_data, entryNum, param_3); - dStage_KeepDoorInfoProc(i_stage, (stage_tgsc_class*)((char*)i_data + 4)); + dStage_KeepDoorInfoProc(i_stage, tgsc); return 1; } static int dStage_roomDrtgInfoInit(dStage_dt_c* i_stage, void* i_data, int entryNum, void* param_3) { - i_stage->setDrTg((stage_tgsc_class*)((char*)i_data + 4)); + stage_tgsc_class* tgsc = (stage_tgsc_class*)((char*)i_data + 4); + i_stage->setDrTg(tgsc); dStage_doorInfoInit(i_stage, i_data, entryNum, param_3); return 1; } +#if DEBUG +static int dStage_unitInit(dStage_dt_c* i_stage, void* i_data, int, void*) { + void* unit = (void*)((char*)i_data + 4); + dBgp_c::setPointer(unit); + i_stage->setUnit(unit); + return 1; +} +#endif + static int dStage_elstInfoInit(dStage_dt_c* i_stage, void* i_data, int param_2, void* param_3) { + UNUSED(param_3); dStage_Elst_c* elst = (dStage_Elst_c*)((char*)i_data + 4); if (param_2 == 0) { @@ -2302,6 +2462,7 @@ static void dKankyo_create() { } static void layerMemoryInfoLoader(void* i_data, dStage_dt_c* i_stage, int param_2) { + UNUSED(param_2); static FuncTable l_layerFuncTable[] = { {"MEM0", dStage_memaInfoInit}, {"MEC0", dStage_mecoInfoInit}, @@ -2313,15 +2474,58 @@ static void layerMemoryInfoLoader(void* i_data, dStage_dt_c* i_stage, int param_ static void dStage_dt_c_stageInitLoader(void* i_data, dStage_dt_c* i_stage) { static FuncTable l_funcTable[] = {"STAG", dStage_stagInfoInit}; + JUT_ASSERT(3959, i_data != NULL); + JUT_ASSERT(3960, i_stage != NULL); + dStage_dt_c_offsetToPtr(i_data); i_stage->init(); dStage_dt_c_decode(i_data, i_stage, l_funcTable, ARRAY_SIZEU(l_funcTable)); layerMemoryInfoLoader(i_data, i_stage, -1); } -static void layerTableLoader(void* i_data, dStage_dt_c* i_stage, int roomNo) { - static FuncTable l_layerFuncTableA[] = {"SON0", dStage_soundInfoInit}; +#if DEBUG +static void dStage_DebugDisp() { + if (data_8074C569_debug) { + JUTReport(30, 270, "envLayerSet: EnvRoom None"); + } + if (data_8074C56A_debug) { + JUTReport(30, 300, "envLayerSet: Color None"); + } + if (data_8074C56B_debug) { + JUTReport(30, 330, "envLayerSet: Palette None"); + } + if (data_8074C56C_debug) { + JUTReport(30, 360, "envLayerSet: Vrbox None"); + } +} +#endif +static void layerTableLoader(void* i_data, dStage_dt_c* i_stage, int roomNo) { +#if DEBUG + static FuncTable l_layer0FuncTableA[] = {{"SON0", dStage_soundInfoInit}, {"UNI0", dStage_unitInit}, {"UNI1", dStage_unitInit}}; + static FuncTable l_layer1FuncTableA[] = {{"SON1", dStage_soundInfoInit}, {"UNI0", dStage_unitInit}, {"UNI1", dStage_unitInit}}; + static FuncTable l_layer2FuncTableA[] = {{"SON2", dStage_soundInfoInit}, {"UNI2", dStage_unitInit}, {"UNI3", dStage_unitInit}}; + static FuncTable l_layer3FuncTableA[] = {{"SON3", dStage_soundInfoInit}, {"UNI2", dStage_unitInit}, {"UNI3", dStage_unitInit}}; + static FuncTable l_layer4FuncTableA[] = {{"SON4", dStage_soundInfoInit}, {"UNI0", dStage_unitInit}, {"UNI1", dStage_unitInit}}; + static FuncTable l_layer5FuncTableA[] = {{"SON5", dStage_soundInfoInit}, {"UNI0", dStage_unitInit}, {"UNI1", dStage_unitInit}}; + static FuncTable l_layer6FuncTableA[] = {{"SON6", dStage_soundInfoInit}, {"UNI2", dStage_unitInit}, {"UNI3", dStage_unitInit}}; + static FuncTable l_layer7FuncTableA[] = {{"SON7", dStage_soundInfoInit}, {"UNI2", dStage_unitInit}, {"UNI3", dStage_unitInit}}; + static FuncTable l_layer8FuncTableA[] = {{"SON8", dStage_soundInfoInit}, {"UNI0", dStage_unitInit}, {"UNI1", dStage_unitInit}}; + static FuncTable l_layer9FuncTableA[] = {{"SON9", dStage_soundInfoInit}, {"UNI0", dStage_unitInit}, {"UNI1", dStage_unitInit}}; + static FuncTable l_layerAFuncTableA[] = {{"SONa", dStage_soundInfoInit}, {"UNI2", dStage_unitInit}, {"UNI3", dStage_unitInit}}; + static FuncTable l_layerBFuncTableA[] = {{"SONb", dStage_soundInfoInit}, {"UNI2", dStage_unitInit}, {"UNI3", dStage_unitInit}}; + static FuncTable l_layerCFuncTableA[] = {{"SONc", dStage_soundInfoInit}, {"UNI0", dStage_unitInit}, {"UNI1", dStage_unitInit}}; + static FuncTable l_layerDFuncTableA[] = {{"SONd", dStage_soundInfoInit}, {"UNI0", dStage_unitInit}, {"UNI1", dStage_unitInit}}; + static FuncTable l_layerEFuncTableA[] = {{"SONe", dStage_soundInfoInit}, {"UNI2", dStage_unitInit}, {"UNI3", dStage_unitInit}}; + static FuncTable* l_layerFuncTableA_p[] = { + l_layer0FuncTableA, l_layer1FuncTableA, l_layer2FuncTableA, l_layer3FuncTableA, + l_layer4FuncTableA, l_layer5FuncTableA, l_layer6FuncTableA, l_layer7FuncTableA, + l_layer8FuncTableA, l_layer9FuncTableA, l_layerAFuncTableA, l_layerBFuncTableA, + l_layerCFuncTableA, l_layerDFuncTableA, l_layerEFuncTableA, + }; +#else + static FuncTable l_layerFuncTableA[] = {"SON0", dStage_soundInfoInit}; +#endif static FuncTable l_envLayerFuncTable[] = { {"LGT0", dStage_lgtvInfoInit}, {"Env0", dStage_envrInfoInit}, {"Col0", dStage_pselectInfoInit}, {"PAL0", dStage_paletteInfoInit}, @@ -2335,17 +2539,41 @@ static void layerTableLoader(void* i_data, dStage_dt_c* i_stage, int roomNo) { newRoomNo = dComIfGp_getStartStageRoomNo(); } +#if DEBUG + dStage_dt_c_decode(i_data, i_stage, l_layerFuncTableA_p[dComIfG_play_c::getLayerNo(0)], ARRAY_SIZE(l_layer0FuncTableA)); +#else dStage_setLayerTagName(l_layerFuncTableA, ARRAY_SIZEU(l_layerFuncTableA), dComIfG_play_c::getLayerNo(0)); dStage_dt_c_decode(i_data, i_stage, l_layerFuncTableA, ARRAY_SIZEU(l_layerFuncTableA)); +#endif + dStage_Elst_c* elst = dComIfGp_getStage()->getElst(); if (elst != NULL && newRoomNo >= 0 && elst->m_entryNum > newRoomNo) { dStage_Elst_dt_c* d = elst->m_entries; - int layer = dComIfG_play_c::getLayerNo(0); - dStage_setLayerTagName(l_envLayerFuncTable, ARRAY_SIZEU(l_envLayerFuncTable), - d[newRoomNo].m_layerTable[layer]); + int l = dComIfG_play_c::getLayerNo(0); + JUT_ASSERT(4174, 0 <= l && l < 15); + int env_layer = d[newRoomNo].m_layerTable[l]; + JUT_ASSERT(4182, 0 <= env_layer && env_layer < 15); + dStage_setLayerTagName(l_envLayerFuncTable, ARRAY_SIZEU(l_envLayerFuncTable), env_layer); dStage_dt_c_decode(i_data, i_stage, l_envLayerFuncTable, ARRAY_SIZEU(l_envLayerFuncTable)); +#if DEBUG + if (roomNo != -1 && !i_stage->getLightVecInfo()) { + data_8074C568_debug = true; + } + if (roomNo == -1 && !i_stage->getEnvrInfo()) { + data_8074C569_debug = true; + } + if (roomNo == -1 && !i_stage->getPselectInfo()) { + data_8074C56A_debug = true; + } + if (roomNo == -1 && !i_stage->getPaletteInfo()) { + data_8074C56B_debug = true; + } + if (roomNo == -1 && !i_stage->getVrboxcolInfo()) { + data_8074C56C_debug = true; + } +#endif } else { dStage_setLayerTagName(l_envLayerFuncTable, ARRAY_SIZEU(l_envLayerFuncTable), 0); dStage_dt_c_decode(i_data, i_stage, l_envLayerFuncTable, ARRAY_SIZEU(l_envLayerFuncTable)); @@ -2355,18 +2583,24 @@ static void layerTableLoader(void* i_data, dStage_dt_c* i_stage, int roomNo) { dStage_Elst_c* dStage_stageDt_c::getElst(void) { return mElst; } static void layerActorLoader(void* i_data, dStage_dt_c* i_stage, int param_2) { + UNUSED(param_2); static FuncTable l_layerFuncTable[] = { +#if PLATFORM_GCN {"Doo0", dStage_roomDrtgInfoInit}, +#endif {"SCO0", dStage_tgscInfoInit}, {"ACT0", dStage_actorInit}, {"TRE0", dStage_layerTresureInit}, +#if !PLATFORM_GCN + {"Doo0", dStage_roomDrtgInfoInit}, +#endif }; dStage_setLayerTagName(l_layerFuncTable, 4, dComIfG_play_c::getLayerNo(0)); dStage_dt_c_decode(i_data, i_stage, l_layerFuncTable, ARRAY_SIZEU(l_layerFuncTable)); } -static void dStage_dt_c_stageLoader(void* i_data, dStage_dt_c* i_stage) { +void dStage_dt_c_stageLoader(void* i_data, dStage_dt_c* i_stage) { static FuncTable l_funcTable[] = { {"EVLY", dStage_elstInfoInit}, {"RPPN", dStage_rppnInfoInit}, {"RPAT", dStage_rpatInfoInit}, {"MULT", dStage_multInfoInit}, @@ -2407,10 +2641,19 @@ void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* i_stage, int param_2) { void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* i_stage, int param_2) { static FuncTable l_funcTable[] = { - {"Door", dStage_roomDrtgInfoInit}, {"ACTR", dStage_actorCommonLayerInit}, - {"TGOB", dStage_actorCommonLayerInit}, {"TRES", dStage_roomTresureInit}, - {"TGSC", dStage_tgscCommonLayerInit}, {"SCOB", dStage_tgscCommonLayerInit}, - {"TGDR", dStage_tgscInfoInit}, {"REVT", dStage_mapEventInfoInit}, +#if PLATFORM_GCN + {"Door", dStage_roomDrtgInfoInit}, +#endif + {"ACTR", dStage_actorCommonLayerInit}, + {"TGOB", dStage_actorCommonLayerInit}, + {"TRES", dStage_roomTresureInit}, + {"TGSC", dStage_tgscCommonLayerInit}, + {"SCOB", dStage_tgscCommonLayerInit}, +#if !PLATFORM_GCN + {"Door", dStage_roomDrtgInfoInit}, +#endif + {"TGDR", dStage_tgscInfoInit}, + {"REVT", dStage_mapEventInfoInit}, }; dStage_dt_c_decode(i_data, i_stage, l_funcTable, ARRAY_SIZEU(l_funcTable)); @@ -2451,6 +2694,13 @@ char dStage_roomControl_c::mDemoArcName[10]; void dStage_Create() { void* stageRsrc = dComIfG_getStageRes("stage.dzs"); JUT_ASSERT(4451, stageRsrc != NULL); +#if DEBUG + data_8074C568_debug = false; + data_8074C569_debug = false; + data_8074C56A_debug = false; + data_8074C56B_debug = false; + data_8074C56C_debug = false; +#endif dStage_dt_c_stageLoader(stageRsrc, dComIfGp_getStage()); daSus_c::execute(); @@ -2507,9 +2757,7 @@ void dStage_Delete() { dComIfGp_getStage()->init(); } -void dStage_stageDt_c::setOldMulti() { - mOldMulti = mMulti; -} +s8 dStage_roomControl_c::mRoomReadId = -1; int dStage_RoomCheck(cBgS_GndChk* gndChk) { int roomReadId = dStage_roomControl_c::getRoomReadId(); @@ -2640,6 +2888,10 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3, return 1; } +static void dummy6() { + dComIfGs_getStartPoint(); +} + void dStage_restartRoom(u32 roomParam, u32 mode, int param_2) { dComIfGp_setNextStage(dComIfGp_getStartStageName(), -1, dComIfGs_getRestartRoomNo(), -1, 0.0f, mode, 0, 0, 0, param_2, 0); diff --git a/src/d/d_tresure.cpp b/src/d/d_tresure.cpp index bf4150d3ce..b6083b6294 100644 --- a/src/d/d_tresure.cpp +++ b/src/d/d_tresure.cpp @@ -235,18 +235,21 @@ u8 const dTres_c::typeToTypeGroup[17][2] = { {0x83, 0x0C}, {0x84, 0x0D}, {0x85, 0x0E}, {0x87, 0x0F}, {0x88, 0x10}, }; -int dTres_c::getTypeGroupNoToType(u8 i_typeGroupNo) { +u8 dTres_c::getTypeGroupNoToType(u8 i_typeGroupNo) { + JUT_ASSERT(651, i_typeGroupNo < TYPE_GROUP_ENUM_NUMBER); return typeToTypeGroup[i_typeGroupNo][0]; } u8 dTres_c::getTypeToTypeGroupNo(u8 i_type) { - int groupNo = 17; + int rt = 17; for (int i = 0; i < 17; i++) { if (i_type == typeToTypeGroup[i][0]) { - groupNo = typeToTypeGroup[i][1]; + rt = typeToTypeGroup[i][1]; break; } } - return groupNo; + JUT_ASSERT(674, rt < TYPE_GROUP_ENUM_NUMBER); + + return rt; } diff --git a/src/dolphin/os/__ppc_eabi_init.cpp b/src/dolphin/os/__ppc_eabi_init.cpp index 7ca9e181d9..b91519376c 100644 --- a/src/dolphin/os/__ppc_eabi_init.cpp +++ b/src/dolphin/os/__ppc_eabi_init.cpp @@ -2,7 +2,7 @@ // __ppc_eabi_init // -#include "dolphin/base/PPCArch.h" +#include #ifdef __cplusplus extern "C" { diff --git a/src/dusk/stubs.cpp b/src/dusk/stubs.cpp index b4da7aa1df..0148f701a9 100644 --- a/src/dusk/stubs.cpp +++ b/src/dusk/stubs.cpp @@ -5,7 +5,10 @@ // Credits: Super Monkey Ball +<<<<<<< HEAD # pragma mark OS +======= +>>>>>>> wip/linkfix2 void OSReport(const char *msg, ...) { va_list args; va_start(args, msg); @@ -694,6 +697,13 @@ void JORMContext::updateCheckBoxSub(u32 mode, u32 id, u16 value, u16 mask, u32 p puts("JORServer::updateCheckBoxSub is a stub"); } +<<<<<<< HEAD +======= +int JOREventCallbackListNode::JORAct(u32, const char*) { + return 0; +} + +>>>>>>> wip/linkfix2 # pragma mark JSUMemoryOutputStream #include s32 JSUMemoryOutputStream::getAvailable() const { @@ -1649,3 +1659,90 @@ void dMsgObject_c::setWord(const char* i_word) { void dMsgObject_c::setSelectWord(int i_no, const char* i_word) { puts("dMsgObject_c::setSelectWord is a stub"); } +<<<<<<< HEAD +======= + +#pragma mark HIO +#include +#include +BOOL HIO2Close(s32 handle) { + puts("HIO2Close is a stub"); + return FALSE; +} + +BOOL HIO2EnumDevices(HIO2EnumCallback callback) { + puts("HIO2EnumDevices is a stub"); + return FALSE; +} + +BOOL HIO2Init(void) { + puts("HIO2Init is a stub"); + return FALSE; +} + +s32 HIO2Open(HIO2DeviceType type, HIO2UnkCallback exiCb, HIO2DisconnectCallback disconnectCb) { + puts("HIO2Open is a stub"); + return 0; +} + +BOOL HIO2Read(s32 handle, u32 addr, void* buffer, s32 size) { + puts("HIO2Read is a stub"); + return FALSE; +} + +BOOL HIO2Write(s32 handle, u32 addr, void* buffer, s32 size) { + puts("HIO2Write is a stub"); + return FALSE; +} + +BOOL HIORead(u32 addr, void* buffer, s32 size) { + puts("HIORead is a stub"); + return FALSE; +} + +BOOL HIOWrite(u32 addr, void* buffer, s32 size) { + puts("HIOWrite is a stub"); + return FALSE; +} + +#pragma mark JHICommBuf +#include +void JHICommBufHeader::init() { + puts("JHICommBufHeader::init is a stub"); +} + +int JHICommBufHeader::load() { + puts("JHICommBufHeader::load is a stub"); +} + +int JHICommBufReader::read(void*, int) { + puts("JHICommBufReader::read is a stub"); + return 0; +} +void JHICommBufReader::readEnd() { + puts("JHICommBufReader::readEnd is a stub"); +} + +int JHICommBufReader::readBegin() { + puts("JHICommBufReader::readBegin is a stub"); +} + +int JHICommBufWriter::writeBegin() { + puts("JHICommBufWriter::writeBegin is a stub"); + return 0; +} + +int JHICommBufWriter::write(void*, int) { + puts("JHICommBufWriter::write is a stub"); + return 0; +} + +void JHICommBufWriter::writeEnd() { + puts("JHICommBufWriter::writeEnd is a stub"); +} + +u32 JHICommBufReader::Header::getReadableSize() const { + puts("JHICommBufReader::Header::getReadableSize is a stub"); + return 0; +} +>>>>>>> wip/linkfix2 diff --git a/src/f_ap/f_ap_game.cpp b/src/f_ap/f_ap_game.cpp index 3c877bb134..b03bdc2561 100644 --- a/src/f_ap/f_ap_game.cpp +++ b/src/f_ap/f_ap_game.cpp @@ -81,32 +81,31 @@ u8 fapGm_HIO_c::mParticle254Fix; #if DEBUG void fapGm_HIO_c::genMessage(JORMContext* mctx) { - mctx->genButton("警告消去", 0x4000020, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("BMPキャプチャー", 0x4000003, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("BMPキャプチャー倍率", &mCaptureMagnification, 1, 8, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("スナップショット", 0x4000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("CPU時間", 0x4000007, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("ホストIO使用", &mUsingHostIO, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("メーター表示(JUTProcBar)", &mDisplayMeter, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("プリント表示(JUTDbPrint)", &mDisplayPrint, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("2D表示", &mDisplay2D, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("パーティクル表示", &mDisplayParticle, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("パーティクル254固定", &mParticle254Fix, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("パックアーカイブモード", &mPackArchiveMode, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genButton("警告消去", 0x4000020); + mctx->genButton("BMPキャプチャー", 0x4000003); + mctx->genSlider("BMPキャプチャー倍率", &mCaptureMagnification, 1, 8); + mctx->genButton("スナップショット", 0x4000002); + mctx->genButton("CPU時間", 0x4000007); + mctx->genCheckBox("ホストIO使用", &mUsingHostIO, 0x1); + mctx->genCheckBox("メーター表示(JUTProcBar)", &mDisplayMeter, 0x1); + mctx->genCheckBox("プリント表示(JUTDbPrint)", &mDisplayPrint, 0x1); + mctx->genCheckBox("2D表示", &mDisplay2D, 0x1); + mctx->genCheckBox("パーティクル表示", &mDisplayParticle, 0x1); + mctx->genCheckBox("パーティクル254固定", &mParticle254Fix, 0x1); + mctx->genCheckBox("パックアーカイブモード", &mPackArchiveMode, 0x1); - mctx->genLabel("−−−−−−−【プリント】−−−−−−−", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" 色 R", &mColor.r, 0, 0xFF, 0x4000010, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" G", &mColor.g, 0, 0xFF, 0x4000011, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" B", &mColor.b, 0, 0xFF, 0x4000012, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" A", &mColor.a, 0, 0xFF, 0x4000013, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("−−−−−−−【プリント】−−−−−−−", 0x4000001); + mctx->genSlider(" 色 R", &mColor.r, 0, 0xFF, 0x4000010); + mctx->genSlider(" G", &mColor.g, 0, 0xFF, 0x4000011); + mctx->genSlider(" B", &mColor.b, 0, 0xFF, 0x4000012); + mctx->genSlider(" A", &mColor.a, 0, 0xFF, 0x4000013); - mctx->genLabel("−−−−−−−【情報関係】−−−−−−−", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("空きメモリ", 0x4000005, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("プロセスID表示", &mDisplayProcessID, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("トラップフィルター", &mTrapFilter, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + mctx->genLabel("−−−−−−−【情報関係】−−−−−−−", 0x4000001); + mctx->genButton("空きメモリ", 0x4000005); + mctx->genCheckBox("プロセスID表示", &mDisplayProcessID, 0x1); + mctx->genCheckBox("トラップフィルター", &mTrapFilter, 0x1); - mctx->startComboBox("ガンマ補正係数", &mGammaCorrection, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0x1a); + mctx->startComboBox("ガンマ補正係数", &mGammaCorrection); mctx->genComboBoxItem("0.1", 1); mctx->genComboBoxItem("0.2", 2); mctx->genComboBoxItem("0.3", 3); @@ -139,59 +138,53 @@ void fapGm_HIO_c::genMessage(JORMContext* mctx) { mctx->genComboBoxItem("3.0", 30); mctx->endComboBox(); - mctx->genLabel("−−−−−−−【肩ボタン】−−−−−−−", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider(" しきい値 オン", &g_HIO.mLROnValue, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genSlider(" オフ", &g_HIO.mLROffValue, 0.0f, 1.0f, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + mctx->genLabel("−−−−−−−【肩ボタン】−−−−−−−", 0x4000001); + mctx->genSlider(" しきい値 オン", &g_HIO.mLROnValue, 0.0f, 1.0f); + mctx->genSlider(" オフ", &g_HIO.mLROffValue, 0.0f, 1.0f); - mctx->genLabel("−−−−−−−【デバッグ用】−−−−−−", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("メモリーブロックOFF", &mMemBlockOff, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("−−−−−−−【デバッグ用】−−−−−−", 0x4000001); + mctx->genCheckBox("メモリーブロックOFF", &mMemBlockOff, 0x1); - mctx->genLabel("−−−−−−−【システムレジスタ】−−−", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("レジスタ0", &mRegister0, -0x8000, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genSlider("レジスタ1", &mRegister1, -0x8000, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genSlider("レジスタ2", &mRegister2, -0x8000, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genSlider("レジスタ3", &mRegister3, -0x8000, 0x7fff, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); + mctx->genLabel("−−−−−−−【システムレジスタ】−−−", 0x4000001); + mctx->genSlider("レジスタ0", &mRegister0, -0x8000, 0x7fff); + mctx->genSlider("レジスタ1", &mRegister1, -0x8000, 0x7fff); + mctx->genSlider("レジスタ2", &mRegister2, -0x8000, 0x7fff); + mctx->genSlider("レジスタ3", &mRegister3, -0x8000, 0x7fff); - mctx->genLabel("−−−−−−−【BDLファイルへの変換】", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("変換", 0x4000014, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("−−−−−−−【BDLファイルへの変換】", 0x4000001); + mctx->genButton("変換", 0x4000014); - mctx->genLabel("−−−−−−−【メモリファイル】−", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("出力", 0x4000016, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("−−−−−−−【メモリファイル】−", 0x4000001); + mctx->genButton("出力", 0x4000016); - mctx->genLabel("−−−−−−−【エラーメッセージ】−", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色上r", &mLetterTopColor.r, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色上g", &mLetterTopColor.g, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色上b", &mLetterTopColor.b, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色上α", &mLetterTopColor.a, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("−−−−−−−【エラーメッセージ】−", 0x4000001); + mctx->genSlider("文字色上r", &mLetterTopColor.r, 0, 0xFF); + mctx->genSlider("文字色上g", &mLetterTopColor.g, 0, 0xFF); + mctx->genSlider("文字色上b", &mLetterTopColor.b, 0, 0xFF); + mctx->genSlider("文字色上α", &mLetterTopColor.a, 0, 0xFF); - mctx->genSlider("文字色下r", &mLetterBottomColor.r, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色下g", &mLetterBottomColor.g, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色下b", &mLetterBottomColor.b, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色下α", &mLetterBottomColor.a, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genSlider("文字色下r", &mLetterBottomColor.r, 0, 0xFF); + mctx->genSlider("文字色下g", &mLetterBottomColor.g, 0, 0xFF); + mctx->genSlider("文字色下b", &mLetterBottomColor.b, 0, 0xFF); + mctx->genSlider("文字色下α", &mLetterBottomColor.a, 0, 0xFF); - mctx->genSlider("文字位置X", &mLetterPositionX, -300, 300, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字位置Y", &mLetterPositionY, -300, 300, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字行間", &mLineSpacing, -10, 10, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字字間", &mLetterSpacing, -10, 10, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字フォントサイズ", &mLetterFontSize, 0, 0x32, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genSlider("文字位置X", &mLetterPositionX, -300, 300); + mctx->genSlider("文字位置Y", &mLetterPositionY, -300, 300); + mctx->genSlider("文字行間", &mLineSpacing, -10, 10); + mctx->genSlider("文字字間", &mLetterSpacing, -10, 10); + mctx->genSlider("文字フォントサイズ", &mLetterFontSize, 0, 0x32); - mctx->genSlider("文字色影上r", &mLetterTopShadowColor.r, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色影上g", &mLetterTopShadowColor.g, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色影上b", &mLetterTopShadowColor.b, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色影上α", &mLetterTopShadowColor.a, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genSlider("文字色影上r", &mLetterTopShadowColor.r, 0, 0xFF); + mctx->genSlider("文字色影上g", &mLetterTopShadowColor.g, 0, 0xFF); + mctx->genSlider("文字色影上b", &mLetterTopShadowColor.b, 0, 0xFF); + mctx->genSlider("文字色影上α", &mLetterTopShadowColor.a, 0, 0xFF); - mctx->genSlider("文字色影下r", &mLetterBottomShadowColor.r, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色影下g", &mLetterBottomShadowColor.g, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色影下b", &mLetterBottomShadowColor.b, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("文字色影下α", &mLetterBottomShadowColor.a, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genSlider("文字色影下r", &mLetterBottomShadowColor.r, 0, 0xFF); + mctx->genSlider("文字色影下g", &mLetterBottomShadowColor.g, 0, 0xFF); + mctx->genSlider("文字色影下b", &mLetterBottomShadowColor.b, 0, 0xFF); + mctx->genSlider("文字色影下α", &mLetterBottomShadowColor.a, 0, 0xFF); - mctx->genSlider("背景α", &mBackgroundAlpha, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genSlider("背景α", &mBackgroundAlpha, 0, 0xFF); } char fapGm_dataMem::mCsv[0x8000]; diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index 221e14b308..1d4ad44326 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -182,21 +182,21 @@ fopac_HIO_c::~fopac_HIO_c() {} static fopac_HIO_c l_HIO; void fopac_HIO_c::genMessage(JORMContext* mctx) { - mctx->genLabel("処理速度調査用", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("アクター番号", &mActorNum, 0, 4000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("動作静止", &mStopExecute, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("描画停止", &mStopDraw, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("Bボタンでアクター番号を表示", &mBBtnInfoDisp, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("メソッド速度調査", &print_error_check_c::mThresholdEnable, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("最高優先度", &print_error_check_c::mPriorityMaximum, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("PRINT抑制", &print_error_check_c::mPrintDisable, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("処理速度調査用", 0x80000001); + mctx->genSlider("アクター番号", &mActorNum, 0, 4000); + mctx->genCheckBox("動作静止", &mStopExecute, 0x1); + mctx->genCheckBox("描画停止", &mStopDraw, 0x1); + mctx->genCheckBox("Bボタンでアクター番号を表示", &mBBtnInfoDisp, 0x1); + mctx->genCheckBox("メソッド速度調査", &print_error_check_c::mThresholdEnable, 0x1); + mctx->genCheckBox("最高優先度", &print_error_check_c::mPriorityMaximum, 0x1); + mctx->genCheckBox("PRINT抑制", &print_error_check_c::mPrintDisable, 0x1); - mctx->genLabel("メソッド閾値", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("EXECUTE", &print_error_check_c::sEXECUTE.timeMs, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("CREATE", &print_error_check_c::sCREATE.timeMs, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("DELETE", &print_error_check_c::sDELETE.timeMs, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("IS_DELETE", &print_error_check_c::sIS_DELETE.timeMs, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("DRAW", &print_error_check_c::sDRAW.timeMs, 0, 10000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("メソッド閾値", 0); + mctx->genSlider("EXECUTE", &print_error_check_c::sEXECUTE.timeMs, 0, 10000); + mctx->genSlider("CREATE", &print_error_check_c::sCREATE.timeMs, 0, 10000); + mctx->genSlider("DELETE", &print_error_check_c::sDELETE.timeMs, 0, 10000); + mctx->genSlider("IS_DELETE", &print_error_check_c::sIS_DELETE.timeMs, 0, 10000); + mctx->genSlider("DRAW", &print_error_check_c::sDRAW.timeMs, 0, 10000); } #endif diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 592d87ec3c..8e4c1cd38a 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -64,19 +64,15 @@ public: #if DEBUG void l_HIO::genMessage(JORMContext* mctx) { - mctx->genLabel("アクターソリッドヒープ用プリント表示制御", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("HeapAdjustEntry(ぴったりサイズで格納しようとします)", &fopAcM::HeapAdjustEntry, 1, 0, - NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("HeapAdjustVerbose(アジャストの情報を表示します)", &fopAcM::HeapAdjustVerbose, 1, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("HeapAdjustQuiet(アジャストの情報を表示しません)", &fopAcM::HeapAdjustQuiet, 1, 0, NULL, - 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("HeapDummyCreate(調査のため、ダミー領域に一度格納します)", &fopAcM::HeapDummyCreate, 1, - 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("アクターソリッドヒープ用プリント表示制御", 0); + mctx->genCheckBox("HeapAdjustEntry(ぴったりサイズで格納しようとします)", &fopAcM::HeapAdjustEntry, 0x1); + mctx->genCheckBox("HeapAdjustVerbose(アジャストの情報を表示します)", &fopAcM::HeapAdjustVerbose, 0x1); + mctx->genCheckBox("HeapAdjustQuiet(アジャストの情報を表示しません)", &fopAcM::HeapAdjustQuiet, 0x1); + mctx->genCheckBox("HeapDummyCreate(調査のため、ダミー領域に一度格納します)", &fopAcM::HeapDummyCreate, 0x1); mctx->genCheckBox("mDoExt::HeapAdjustVerbose(mDoExtのほうでアジャストの情報を表示します)", - &mDoExt::HeapAdjustVerbose, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + &mDoExt::HeapAdjustVerbose, 0x1); mctx->genCheckBox("mDoExt::HeapAdjustQuiet(mDoExtのほうでアジャストの情報を表示しません)", - &mDoExt::HeapAdjustQuiet, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + &mDoExt::HeapAdjustQuiet, 0x1); } void l_HIO::listenPropertyEvent(const JORPropertyEvent* property) { diff --git a/src/f_op/f_op_scene.cpp b/src/f_op/f_op_scene.cpp index 304a734577..ba1a8e0175 100644 --- a/src/f_op/f_op_scene.cpp +++ b/src/f_op/f_op_scene.cpp @@ -8,6 +8,10 @@ #include "f_op/f_op_scene_mng.h" #include "m_Do/m_Do_hostIO.h" +#if DEBUG +#pragma nosyminline on +#endif + static int fopScn_Draw(scene_class* i_this) { int ret = fpcNd_DrawMethod((nodedraw_method_class*)i_this->submethod, i_this); return ret; diff --git a/src/f_op/f_op_scene_req.cpp b/src/f_op/f_op_scene_req.cpp index 8c98a1693c..17dd3c4059 100644 --- a/src/f_op/f_op_scene_req.cpp +++ b/src/f_op/f_op_scene_req.cpp @@ -10,46 +10,28 @@ #include "f_pc/f_pc_executor.h" #include "f_pc/f_pc_manager.h" -static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* i_sceneReq) { - cPhs__Step rv; - if (fopOvlpM_ClearOfReq() == 1) { - rv = cPhs_NEXT_e; - } else { - rv = cPhs_INIT_e; - } - return rv; +static cPhs_Step fopScnRq_phase_ClearOverlap(scene_request_class* i_sceneReq) { + return fopOvlpM_ClearOfReq() == 1 ? cPhs_NEXT_e : cPhs_INIT_e; UNUSED(i_sceneReq); } -static cPhs__Step fopScnRq_phase_Execute(scene_request_class* i_sceneReq) { - return (cPhs__Step)fpcNdRq_Execute(&i_sceneReq->create_request); +static cPhs_Step fopScnRq_phase_Execute(scene_request_class* i_sceneReq) { + return fpcNdRq_Execute(&i_sceneReq->create_request); } -static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* i_sceneReq) { - cPhs__Step rv; - if (fopOvlpM_IsDoingReq() == 1) { - rv = cPhs_NEXT_e; - } else { - rv = cPhs_INIT_e; - } - return rv; +static cPhs_Step fopScnRq_phase_IsDoingOverlap(scene_request_class* i_sceneReq) { + return fopOvlpM_IsDoingReq() == 1 ? cPhs_NEXT_e : cPhs_INIT_e; UNUSED(i_sceneReq); } -static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* i_sceneReq) { - cPhs__Step rv; - if (fopOvlpM_IsDone() == 1) { - rv = cPhs_NEXT_e; - } else { - rv = cPhs_INIT_e; - } - return rv; +static cPhs_Step fopScnRq_phase_IsDoneOverlap(scene_request_class* i_sceneReq) { + return fopOvlpM_IsDone() == 1 ? cPhs_NEXT_e : cPhs_INIT_e; UNUSED(i_sceneReq); } static BOOL l_fopScnRq_IsUsingOfOverlap; -static cPhs__Step fopScnRq_phase_Done(scene_request_class* i_sceneReq) { +static cPhs_Step fopScnRq_phase_Done(scene_request_class* i_sceneReq) { if (i_sceneReq->create_request.parameters != 1) { scene_class* scene = (scene_class*)fpcM_SearchByID(i_sceneReq->create_request.creating_id); @@ -61,8 +43,8 @@ static cPhs__Step fopScnRq_phase_Done(scene_request_class* i_sceneReq) { return cPhs_NEXT_e; } -static cPhs__Step fopScnRq_Execute(scene_request_class* i_sceneReq) { - cPhs__Step phase_state = (cPhs__Step)cPhs_Do(&i_sceneReq->phase_request, i_sceneReq); +static cPhs_Step fopScnRq_Execute(scene_request_class* i_sceneReq) { + cPhs_Step phase_state = cPhs_Do(&i_sceneReq->phase_request, i_sceneReq); switch (phase_state) { case cPhs_NEXT_e: diff --git a/src/m_Do/m_Do_DVDError.cpp b/src/m_Do/m_Do_DVDError.cpp index 6bd81a52ef..d4884aeb1c 100644 --- a/src/m_Do/m_Do_DVDError.cpp +++ b/src/m_Do/m_Do_DVDError.cpp @@ -10,31 +10,38 @@ #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_Reset.h" +#if PLATFORM_GCN +const int stack_size = 3072; +#else +const int stack_size = 8192; +#endif + + bool mDoDvdErr_initialized; static OSThread DvdErr_thread; #pragma push #pragma force_active on -static u8 DvdErr_stack[3072] ATTRIBUTE_ALIGN(16); +static u8 DvdErr_stack[stack_size] ATTRIBUTE_ALIGN(16); #pragma pop static OSAlarm Alarm; void mDoDvdErr_ThdInit() { - if (!mDoDvdErr_initialized) { - OSTime time = OSGetTime(); - OSThread* curThread = OSGetCurrentThread(); - s32 priority = OSGetThreadPriority(curThread); - - OSCreateThread(&DvdErr_thread, (void*(*)(void*))mDoDvdErr_Watch, NULL, DvdErr_stack + sizeof(DvdErr_stack), - sizeof(DvdErr_stack), priority - 3, 1); - OSResumeThread(&DvdErr_thread); - OSCreateAlarm(&Alarm); - OSSetPeriodicAlarm(&Alarm, time, OS_BUS_CLOCK / 4, AlarmHandler); - - mDoDvdErr_initialized = true; + if (mDoDvdErr_initialized) { + return; } + + OSTime time = OSGetTime(); + + OSCreateThread(&DvdErr_thread, (void*(*)(void*))mDoDvdErr_Watch, NULL, DvdErr_stack + sizeof(DvdErr_stack), + sizeof(DvdErr_stack), OSGetThreadPriority(OSGetCurrentThread()) - 3, 1); + OSResumeThread(&DvdErr_thread); + OSCreateAlarm(&Alarm); + OSSetPeriodicAlarm(&Alarm, time, OS_BUS_CLOCK / 4, AlarmHandler); + + mDoDvdErr_initialized = true; } void mDoDvdErr_ThdCleanup() { @@ -46,13 +53,17 @@ void mDoDvdErr_ThdCleanup() { } static void mDoDvdErr_Watch(void*) { +#if PLATFORM_GCN OSDisableInterrupts(); - { JKRThread thread(OSGetCurrentThread(), 0); } +#endif + JKRThread(OSGetCurrentThread(), 0); - mDoExt_getAssertHeap()->becomeCurrentHeap(); + JKRSetCurrentHeap(mDoExt_getAssertHeap()); + s32 status; do { - if (DVDGetDriveStatus() == DVD_STATE_FATAL_ERROR) { + status = DVDGetDriveStatus(); + if (status == DVD_STATE_FATAL_ERROR) { mDoDvdThd::suspend(); } OSSuspendThread(&DvdErr_thread); diff --git a/src/m_Do/m_Do_MemCard.cpp b/src/m_Do/m_Do_MemCard.cpp index 47c29af4a1..1467bd56c2 100644 --- a/src/m_Do/m_Do_MemCard.cpp +++ b/src/m_Do/m_Do_MemCard.cpp @@ -857,7 +857,7 @@ s32 mDoMemCd_Ctrl_c::checkspaceNAND() { mDoMemCd_Ctrl_c g_mDoMemCd_control; static int mDoMemCd_main(void*) { - { JKRThread thread(OSGetCurrentThread(), 0); } + JKRThread(OSGetCurrentThread(), 0); JKRSetCurrentHeap(mDoExt_getAssertHeap()); diff --git a/src/m_Do/m_Do_MemCardRWmng.cpp b/src/m_Do/m_Do_MemCardRWmng.cpp index dacaba3bee..d04abc96ee 100644 --- a/src/m_Do/m_Do_MemCardRWmng.cpp +++ b/src/m_Do/m_Do_MemCardRWmng.cpp @@ -319,19 +319,19 @@ static void mDoMemCdRWm_BuildHeader(mDoMemCdRWm_HeaderData* header) { #if VERSION == VERSION_GCN_PAL switch (dComIfGs_getPalLanguage()) { - case dSv_player_config_c::LANGAUGE_ENGLISH: + case dSv_player_config_c::LANGUAGE_ENGLISH: snprintf(header->mComment, sizeof(header->mComment), "%d/%d Save Data", time.mon + 1, time.mday); break; - case dSv_player_config_c::LANGAUGE_GERMAN: + case dSv_player_config_c::LANGUAGE_GERMAN: snprintf(header->mComment, sizeof(header->mComment), "%d/%d Spielstand", time.mday, time.mon + 1); break; - case dSv_player_config_c::LANGAUGE_FRENCH: + case dSv_player_config_c::LANGUAGE_FRENCH: snprintf(header->mComment, sizeof(header->mComment), "Donn%ces de jeu %d/%d", 0xE9, time.mday, time.mon + 1); break; - case dSv_player_config_c::LANGAUGE_SPANISH: + case dSv_player_config_c::LANGUAGE_SPANISH: snprintf(header->mComment, sizeof(header->mComment), "Datos guardados el %d/%d", time.mday, time.mon + 1); break; - case dSv_player_config_c::LANGAUGE_ITALIAN: + case dSv_player_config_c::LANGUAGE_ITALIAN: snprintf(header->mComment, sizeof(header->mComment), "Dati salvati: %d/%d", time.mday, time.mon + 1); break; } @@ -411,45 +411,42 @@ static BOOL mDoMemCdRWm_CheckCardStat(CARDFileInfo* file) { } static u32 mDoMemCdRWm_CalcCheckSum(void* data, u32 size) { - u16 high; - u16 low; - - low = 0; - high = 0; - - u16* d = (u16*)data; - for (int i = 0; i < size / 2; i++) { + int i; + u16 high, low; + high = low = 0; + u16* d; + for (i = 0, d = (u16*)data; i < size / 2; i++, d++) { high += *d; low += ~*d; - d++; } return high << 16 | low; } static u64 mDoMemCdRWm_CalcCheckSumGameData(void* data, u32 size) { - u32 high; - u32 low; + int i; + u32 high, low; + high = low = 0; - low = 0; - high = 0; - - u8* d = (u8*)data; - for (int i = 0; i < size; i++) { + u8* d; + for (i = 0, d = (u8*)data; i < size; i++, d++) { high += *d; low += ~*d; - d++; } - return (u64)high << 32 | low; + u64 tmp = high; + return tmp << 32 | low; } BOOL mDoMemCdRWm_TestCheckSumGameData(void* data) { - u64 checksum = mDoMemCdRWm_CalcCheckSumGameData(data, (SAVEDATA_SIZE - sizeof(u64))); - return checksum == *(u64*)((u8*)data + (SAVEDATA_SIZE - sizeof(u64))); + u64 checksum; + u8* file_ptr = (u8*)data; + checksum = mDoMemCdRWm_CalcCheckSumGameData(data, (SAVEDATA_SIZE - sizeof(u64))); + return checksum == *(u64*)(file_ptr + (SAVEDATA_SIZE - sizeof(u64))); } void mDoMemCdRWm_SetCheckSumGameData(u8* data, u8 dataNum) { u8* file_ptr = data + (dataNum * SAVEDATA_SIZE); - *(u64*)(file_ptr + (SAVEDATA_SIZE - sizeof(u64))) = mDoMemCdRWm_CalcCheckSumGameData(file_ptr, (SAVEDATA_SIZE - sizeof(u64))); + u64 checksum = mDoMemCdRWm_CalcCheckSumGameData(file_ptr, (SAVEDATA_SIZE - sizeof(u64))); + *(u64*)(file_ptr + (SAVEDATA_SIZE - sizeof(u64))) = checksum; } diff --git a/src/m_Do/m_Do_Reset.cpp b/src/m_Do/m_Do_Reset.cpp index a19ca6ff99..fd478e51a1 100644 --- a/src/m_Do/m_Do_Reset.cpp +++ b/src/m_Do/m_Do_Reset.cpp @@ -8,11 +8,16 @@ #include "JSystem/JUtility/JUTGamePad.h" #include "JSystem/JUtility/JUTXfb.h" #include "SSystem/SComponent/c_API_controller_pad.h" -#include "dolphin/gx.h" +#include #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_DVDError.h" +#include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_MemCard.h" +#if !PLATFORM_GCN +#include +#endif + static void my_OSCancelAlarmAll() {} static void destroyVideo() { @@ -26,16 +31,15 @@ static void destroyVideo() { mDoRstData* mDoRst::mResetData; -void mDoRst_reset(int param_0, u32 param_1, int param_2) { +void mDoRst_reset(int reset, u32 resetCode, int forceMenu) { + JUT_ASSERT(83, mDoExt_GetCurrentRunningThread() != 0); JUTXfb::getManager()->clearIndex(); mDoDvdErr_ThdCleanup(); cAPICPad_recalibrate(); if (mDoAud_zelAudio_c::isInitFlag()) { - bool audioReset; do { - audioReset = Z2AudioMgr::getInterface()->hasReset(); - } while (!audioReset); + } while (!Z2AudioMgr::getInterface()->hasReset()); } if (DVDGetDriveStatus() == DVD_STATE_BUSY) { @@ -76,33 +80,68 @@ void mDoRst_reset(int param_0, u32 param_1, int param_2) { my_OSCancelAlarmAll(); LCDisable(); +#if PLATFORM_GCN OSSetSaveRegion(mDoRst::mResetData, (u8*)&mDoRst::getResetData + 0x18); - OSResetSystem(param_0, param_1, param_2); + OSResetSystem(reset, resetCode, forceMenu); +#else + if (reset == 2) { + OSShutdownSystem(); + } else if (reset == 0) { + OSRestart(resetCode); + } else { + OSReturnToMenu(); + } +#endif do { VIWaitForRetrace(); } while (true); } -void mDoRst_resetCallBack(int port, void*) { - if (!mDoRst::isReset()) { - if (port == -1) { - cAPICPad_recalibrate(); - } else { - if (mDoRst::is3ButtonReset()) { - JUTGamePad::C3ButtonReset::sResetOccurred = false; - JUTGamePad::C3ButtonReset::sCallback = mDoRst_resetCallBack; - JUTGamePad::C3ButtonReset::sCallbackArg = NULL; - return; - } - mDoRst::on3ButtonReset(); - mDoRst::set3ButtonResetPort(port); - cAPICPad_recalibrate(); - } +void checkDiskCallback(s32 result, DVDCommandBlock* block) { + block->userData = (void*)result; +} - if (DVDCheckDisk() == 0 && DVDGetDriveStatus() != DVD_STATE_FATAL_ERROR) { +void mDoRst_resetCallBack(int port, void*) { + if (mDoRst::isReset()) { + return; + } + if (port == -1) { + cAPICPad_recalibrate(); + } else { + if (mDoRst::is3ButtonReset()) { +#if PLATFORM_GCN + JUTGamePad::C3ButtonReset::sResetOccurred = false; + JUTGamePad::C3ButtonReset::sCallback = mDoRst_resetCallBack; + JUTGamePad::C3ButtonReset::sCallbackArg = NULL; +#endif + return; + } + mDoRst::on3ButtonReset(); + mDoRst::set3ButtonResetPort(port); + cAPICPad_recalibrate(); + } + + int check; +#if PLATFORM_GCN + check = DVDCheckDisk(); +#else + DVDCommandBlock block; + block.userData = (void*)-1; + while (DVDCheckDiskAsync(&block, checkDiskCallback)); + do { + check = (int)block.userData; + } while (check == -1); +#endif + if (check == 0) { + s32 status = DVDGetDriveStatus(); + if (status != DVD_STATE_FATAL_ERROR) { mDoRst::onReturnToMenu(); } - mDoRst::onReset(); } + mDoRst::onReset(); +} + +void mDoRst_shutdownCallBack() { + mDoRst::onShutdown(); } diff --git a/src/m_Do/m_Do_audio.cpp b/src/m_Do/m_Do_audio.cpp index 07e593642c..a7c490a691 100644 --- a/src/m_Do/m_Do_audio.cpp +++ b/src/m_Do/m_Do_audio.cpp @@ -18,9 +18,9 @@ #include #endif -bool mDoAud_zelAudio_c::mInitFlag; +u8 mDoAud_zelAudio_c::mInitFlag; -bool mDoAud_zelAudio_c::mResetFlag; +u8 mDoAud_zelAudio_c::mResetFlag; bool mDoAud_zelAudio_c::mBgmSet; diff --git a/src/m_Do/m_Do_dvd_thread.cpp b/src/m_Do/m_Do_dvd_thread.cpp index 3a17914eec..0d9eabfad9 100644 --- a/src/m_Do/m_Do_dvd_thread.cpp +++ b/src/m_Do/m_Do_dvd_thread.cpp @@ -5,17 +5,20 @@ #include "m_Do/m_Do_dvd_thread.h" #include "JSystem/JAudio2/JASDvdThread.h" +#include "JSystem/JKernel/JKRAramArchive.h" #include "JSystem/JKernel/JKRAssertHeap.h" #include "JSystem/JKernel/JKRDvdRipper.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRMemArchive.h" #include "m_Do/m_Do_Reset.h" +#include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_ext.h" s32 mDoDvdThd::main(void* param_0) { - { JKRThread jkrThread(OSGetCurrentThread(), 0); } - mDoExt_getAssertHeap()->becomeCurrentHeap(); - static_cast(param_0)->mainLoop(); + JKRThread(OSGetCurrentThread(), 0); + JKRSetCurrentHeap(mDoExt_getAssertHeap()); + mDoDvdThd_param_c* param = static_cast(param_0); + param->mainLoop(); return 0; } @@ -30,6 +33,11 @@ u8 mDoDvdThd::verbose; u8 mDoDvdThd::DVDLogoMode; bool mDoDvdThd::SyncWidthSound; u8 mDoDvdThd::Report_DVDRead; +OSBootInfo* mDoDvdHack::BootInfo; +mDoDvdHack::FSTEntry* mDoDvdHack::FstStart; +const char* mDoDvdHack::FstStringStart; +u32 mDoDvdHack::MaxEntryNum; +mDoDvdHack::Manager mDoDvdHack::Manager::sManager; #else bool mDoDvdThd::SyncWidthSound; #endif @@ -48,14 +56,61 @@ void mDoDvdThd::create(s32 param_0) { } void mDoDvdThd::suspend() { + OS_REPORT("DVD読み込みスレッドを停止しました\n"); OSSuspendThread(&l_thread); } -static s32 my_DVDConvertPathToEntrynum(char const* param_0) { - return DVDConvertPathToEntrynum(param_0); +#if DEBUG +void mDoDvdHack::__DVDFSInit() { + BootInfo = (OSBootInfo*)OSPhysicalToCached(0); + FstStart = (FSTEntry*)BootInfo->FSTLocation; + if (FstStart) { + MaxEntryNum = FstStart->nextEntryOrLength; + FstStringStart = (char*)FstStart + (MaxEntryNum* sizeof(FSTEntry)); + } } -mDoDvdThd_command_c::~mDoDvdThd_command_c() {} +const char* mDoDvdHack::EntryToName(s32 entry) { + if (entry < 0) { + return "*ERROR*"; + } + if (entry == 0) { + return "/"; + } + return FstStringStart + (FstStart[entry].isDirAndStringOff & ~0xff000000); +} + +const char* mDoDvdHack::ConvertEntrynumToName(s32 entry) { + __DVDFSInit(); + return EntryToName(entry); +} +#endif + +static void dummy1() { + OS_REPORT(__FILE__); + OS_REPORT("DVDConvertEntrynumToPath: specified entrynum(%d) is out of range "); + OS_REPORT("DVDConvertEntrynumToPath: maxlen should be more than 1 (%d is specified)"); +} + + +static s32 my_DVDConvertPathToEntrynum(char const* path) { + s32 entrynum = DVDConvertPathToEntrynum(path); +#if DEBUG + if (entrynum < 0) { + BOOL connected = mDoCPd_c::isConnect(2); + if (connected) { + JUT_WARN(437, "can\'t open:[%s]\n", path); + } + } +#endif + return entrynum; +} + +mDoDvdThd_command_c::~mDoDvdThd_command_c() { + if (!mIsDone) { + OS_REPORT_ERROR("mDoDvdThd_command_c::~mDoDvdThd_command_c() 完了していないコマンドがデストラクトされました\nきっとカタストロフィが発生することでしょう\n"); + } +} mDoDvdThd_param_c::mDoDvdThd_param_c() { OSInitMessageQueue(&mMessageQueue, &mMessageQueueMessages, 1); @@ -90,16 +145,17 @@ void mDoDvdThd_param_c::cut(mDoDvdThd_command_c* param_0) { } static void cb(void* param_0) { - mDoDvdThd_command_c** pCmd = (mDoDvdThd_command_c**)param_0; - s32 result = (*pCmd)->execute(); + mDoDvdThd_command_c* pCmd = *(mDoDvdThd_command_c**)param_0; + s32 result = pCmd->execute(); if (result != 1) { OSReport_Error("mDoDvdThd_param_c::mainLoop() コマンドの実行が失敗しました。\n"); } } void mDoDvdThd_param_c::mainLoop() { + mDoDvdThd_command_c* command; while (this->waitForKick() != 0) { - while (mDoDvdThd_command_c* command = this->getFirstCommand()) { + while (command = this->getFirstCommand()) { this->cut(command); if (mDoDvdThd::SyncWidthSound) { JASDvd::getThreadPointer()->sendCmdMsg(cb, &command, 4); @@ -128,6 +184,9 @@ mDoDvdThd_callback_c* mDoDvdThd_callback_c::create(mDoDvdThd_callback_func pFunc new (mDoExt_getCommandHeap(), -4) mDoDvdThd_callback_c(pFunc, pData); if (callCmd != NULL) { mDoDvdThd::l_param.addition(callCmd); + if (mDoDvdThd::DVDLogoMode) { + OS_REPORT("\x1b[34m callback %08x %08x %08x\n\x1b[m", callCmd, pFunc, pData); + } } return callCmd; } @@ -163,19 +222,28 @@ mDoDvdThd_mountArchive_c* mDoDvdThd_mountArchive_c::create(char const* pArchiveP } else { mountArcCmd->mHeap = pHeap; mDoDvdThd::l_param.addition(mountArcCmd); + if (mDoDvdThd::DVDLogoMode) { + OS_REPORT("\x1b[34m mountArchive(%d:%s)\n\x1b[m", mountArcCmd->mEntryNumber, pArchivePath); + } } } return mountArcCmd; } s32 mDoDvdThd_mountArchive_c::execute() { +#if PLATFORM_GCN bool isZeldaHeap = false; bool isGameHeap = false; bool isArcHeap = false; bool isJ2DHeap = false; +#endif JKRHeap* heap = mHeap != NULL ? mHeap : mDoExt_getArchiveHeap(); - JKRMemArchive* memArchive; + JKRMemArchive* memArchive = NULL; +#if DEBUG + OSTime time1 = OSGetTime(); +#endif while (true) { +#if PLATFORM_GCN if (heap == mDoExt_getArchiveHeapPtr()) { isArcHeap = true; } else if (heap == mDoExt_getZeldaHeap()) { @@ -185,6 +253,7 @@ s32 mDoDvdThd_mountArchive_c::execute() { } else if (heap == mDoExt_getJ2dHeap()) { isJ2DHeap = true; } +#endif if (mMountDirection == 0) { memArchive = new (heap, 0) JKRMemArchive(mEntryNumber, JKRArchive::MOUNT_DIRECTION_HEAD); @@ -194,12 +263,22 @@ s32 mDoDvdThd_mountArchive_c::execute() { } if (memArchive != NULL && memArchive->isMounted()) { mArchive = memArchive; +#if DEBUG + OSTime time2 = OSGetTime(); + u32 msec = OS_TICKS_TO_MSEC(time2 - time1); + if (mArchive && mDoDvdThd::verbose) { + OS_REPORT("mDoDvdThd_mountArchive_c::execute: mArchive=%08x mArcHeader=%08x mMountDirection=%d Time=%4dms %s\n", mArchive, mArchive->mArcHeader, mMountDirection, msec, mDoDvdHack::ConvertEntrynumToName(mEntryNumber)); + } +#endif break; } OSReport_Error("mDoDvdThd_mountArchive_c::execute マウント失敗\n"); + OS_REPORT_ERROR("Name = %s\n", mDoDvdHack::ConvertEntrynumToName(mEntryNumber)); if (memArchive) { delete memArchive; } + memArchive = NULL; +#if PLATFORM_GCN if (!isZeldaHeap) { OSReport_Error("mDoDvdThd_mountArchive_c::execute ゼルダヒープで再チャレンジ!\n"); heap = mDoExt_getZeldaHeap(); @@ -216,11 +295,60 @@ s32 mDoDvdThd_mountArchive_c::execute() { OSReport_FatalError("mDoDvdThd_mountArchive_c::execute ヒープが致命的に足りません!\n"); break; } +#else + if (heap != mDoExt_getZeldaHeap()) { + OSReport_Error("mDoDvdThd_mountArchive_c::execute システムヒープで再チャレンジ!\n"); + heap = mDoExt_getZeldaHeap(); + } else { + OSReport_FatalError("mDoDvdThd_mountArchive_c::execute ヒープが致命的に足りません!\n"); + break; + } +#endif } mIsDone = true; return mArchive != NULL; } +mDoDvdThd_mountAramArchive_c::~mDoDvdThd_mountAramArchive_c() {} + +static void dummy_mDoDvdThd_mountAramArchive_c__create() { + OS_REPORT(" mountAramArchive(%d:%s)\n"); +} + +s32 mDoDvdThd_mountAramArchive_c::execute() { + JKRHeap* heap = mDoExt_getArchiveHeap(); + BOOL result = FALSE; + if (!mArchive) { + if (mMountDirection == 0) { + mArchive = new (heap, 0x20) JKRAramArchive(); + } else { + mArchive = new (heap, -0x20) JKRAramArchive(); + } +#if DEBUG + if (mDoDvdThd::verbose) { + OS_REPORT("mDoDvdThd_mountAramArchive_c::execute mArchive=%08x size=%08x\n", mArchive, JKRGetMemBlockSize(heap, mArchive)); + } +#endif + JUT_ASSERT(880, mArchive != NULL); + } + if (mArchive) { + JKRArchive::EMountDirection mountDirection = mMountDirection == 0 ? JKRArchive::MOUNT_DIRECTION_HEAD : JKRArchive::MOUNT_DIRECTION_TAIL; +#if DEBUG + OSTime time1 = OSGetTime(); +#endif + result = mArchive->mountFixed(mEntryNum, mountDirection); +#if DEBUG + OSTime time2 = OSGetTime(); + u32 msec = OS_TICKS_TO_MSEC(time2 - time1); + if (mDoDvdThd::verbose) { + OS_REPORT("mDoDvdThd_mountAramArchive_c::execute: mArchive=%08x ->mAramCache=%08x ->mFileSystem=%08x %s\n", mArchive, mArchive->mBlock, mArchive->mDvdFile, mDoDvdHack::ConvertEntrynumToName(mEntryNum)); + } +#endif + } + mIsDone = true; + return result; +} + mDoDvdThd_mountXArchive_c::~mDoDvdThd_mountXArchive_c() {} mDoDvdThd_mountXArchive_c::mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode) { @@ -249,21 +377,70 @@ mDoDvdThd_mountXArchive_c* mDoDvdThd_mountXArchive_c::create(char const* pArchiv } else { mountXArcCmd->mHeap = pHeap; mDoDvdThd::l_param.addition(mountXArcCmd); + if (mDoDvdThd::DVDLogoMode) { + OS_WARNING(" mountXArchive(%d:%s)\n", mountXArcCmd->mEntryNum, pArchivePath); + } } } return mountXArcCmd; } s32 mDoDvdThd_mountXArchive_c::execute() { +#if DEBUG + OSTime time1 = OSGetTime(); +#endif JKRArchive::EMountDirection mountDirection = mMountDirection == 0 ? JKRArchive::MOUNT_DIRECTION_HEAD : JKRArchive::MOUNT_DIRECTION_TAIL; JKRHeap* heap = mHeap != NULL ? mHeap : mDoExt_getArchiveHeap(); + s32 result = 0; mArchive = JKRArchive::mount(mEntryNum, mMountMode, heap, mountDirection); - s32 result = mArchive != NULL; + result = mArchive != NULL; +#if DEBUG + if (result) { + OSTime time2 = OSGetTime(); + u32 msec = OS_TICKS_TO_MSEC(time2 - time1); + if (mDoDvdThd::verbose) { + OS_REPORT("mDoDvdThd_mountXArchive_c::execute: mArchive=%08x %s\n", mArchive, mDoDvdHack::ConvertEntrynumToName(mEntryNum)); + } + } +#endif mIsDone = true; return result; } +mDoDvdThd_getResource_c::~mDoDvdThd_getResource_c() {} + +static void dummy_mDoDvdThd_getResource_c__create() { + OS_REPORT(" getResource(%x,%d)\n"); + OSReport("mDoDvdThd_getResource_c::create() クラス生成に失敗\n"); + OSReport("mDoDvdThd_getResource_c::create() リソース取得に失敗\n"); +} + +s32 mDoDvdThd_getResource_c::execute() { +#if DEBUG + OSTime time1 = OSGetTime(); +#endif + JUT_ASSERT(1080, mArchive); + mResource = mArchive->getResource(mResourceId); +#if DEBUG + OSTime time2 = OSGetTime(); + u32 msec = OS_TICKS_TO_MSEC(time2 - time1); + if (mArchive && mDoDvdThd::verbose) { + OS_REPORT("mDoDvdThd_getResource_c::execute: mResouce=%08x Time=%4dms\n", mResource, msec); + } +#endif + if (!mResource) { + OSReport_Error("mDoDvdThd_getResource_c::execute() リソース取得に失敗\n"); + } + mIsDone = true; + return mResource != NULL; +} + +static void dummy2() { + OS_REPORT("mEntryNum != -1"); + OS_REPORT("mDoDvdThd_toMainRam_c(%d:%s)\n"); +} + mDoDvdThd_toMainRam_c::mDoDvdThd_toMainRam_c(u8 param_0) { mMountDirection = param_0; if (param_0 == 0) { @@ -284,6 +461,9 @@ mDoDvdThd_toMainRam_c* mDoDvdThd_toMainRam_c::create(char const* pArchivePath, u } else { toMainRAMCmd->mHeap = pHeap; mDoDvdThd::l_param.addition(toMainRAMCmd); + if (mDoDvdThd::DVDLogoMode) { + OS_WARNING(" toMainRam(%d:%s)\n", toMainRAMCmd->mEntryNum, pArchivePath); + } } } return toMainRAMCmd; @@ -292,6 +472,9 @@ mDoDvdThd_toMainRam_c* mDoDvdThd_toMainRam_c::create(char const* pArchivePath, u mDoDvdThd_toMainRam_c::~mDoDvdThd_toMainRam_c() {} s32 mDoDvdThd_toMainRam_c::execute() { +#if DEBUG + OSTime time1 = OSGetTime(); +#endif JKRHeap* heap; if (mHeap != NULL) { heap = mHeap; @@ -301,17 +484,18 @@ s32 mDoDvdThd_toMainRam_c::execute() { JKRDvdRipper::EAllocDirection allocDir = mMountDirection == 0 ? JKRDvdRipper::ALLOC_DIRECTION_FORWARD : JKRDvdRipper::ALLOC_DIRECTION_BACKWARD; - mData = JKRDvdRipper::loadToMainRAM(mEntryNum, NULL, EXPAND_SWITCH_UNKNOWN1, 0, heap, allocDir, + mData = JKRDvdToMainRam(mEntryNum, NULL, EXPAND_SWITCH_UNKNOWN1, 0, heap, allocDir, 0, NULL, NULL); if (mData != NULL) { mDataSize = heap->getSize(mData); } +#if DEBUG + OSTime time2 = OSGetTime(); + u32 msec = OS_TICKS_TO_MSEC(time2 - time1); + if (mDoDvdThd::verbose) { + OS_REPORT("mDoDvdThd_toMainRam_c::execute: mMemAddress=%08x mMemSize=%08x %s\n", mData, mDataSize, mDoDvdHack::ConvertEntrynumToName(mEntryNum)); + } +#endif mIsDone = true; return mData != NULL; } - -static void dummy() { - OSReport("mDoDvdThd_getResource_c::create() クラス生成に失敗\n"); - OSReport("mDoDvdThd_getResource_c::create() リソース取得に失敗\n"); - OSReport("mDoDvdThd_getResource_c::execute() リソース取得に失敗\n"); -} diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 07ad32028e..7f4bf6f8f9 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -24,13 +24,9 @@ #include "m_Do/m_Do_mtx.h" #include -namespace m_Do_ext { -u8 CurrentHeapAdjustVerbose; -u8 HeapAdjustVerbose; -u8 HeapAdjustQuiet; -} - -static intptr_t safeGameHeapSize = -1; +u8 mDoExt::CurrentHeapAdjustVerbose; +u8 mDoExt::HeapAdjustVerbose; +u8 mDoExt::HeapAdjustQuiet; static void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u16 param_2) { bool local_28; @@ -681,6 +677,7 @@ JKRExpHeap* mDoExt_getDbPrintHeap() { } JKRExpHeap* gameHeap; +static intptr_t safeGameHeapSize = -1; JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* parentHeap) { JUT_ASSERT(1739, gameHeap == NULL || heapSize == 0); @@ -2344,18 +2341,6 @@ static u8 l_matDL[132] ATTRIBUTE_ALIGN(32) = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -static u8 l_mat1DL[141] ATTRIBUTE_ALIGN(32) = { - 0x10, 0x00, 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, - 0x00, 0x00, 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x7F, - 0x32, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0C, 0xFF, - 0xFF, 0xFF, 0xFF, 0x61, 0x28, 0x38, 0x00, 0x40, 0x61, 0xC0, 0x28, 0xFA, 0x8F, 0x61, 0xC1, 0x08, - 0xFF, 0xF0, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x00, - 0x0C, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, - 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - void mDoExt_3DlineMat0_c::setMaterial() { j3dSys.reinitGX(); GXSetNumIndStages(0); @@ -2659,6 +2644,18 @@ int mDoExt_3DlineMat1_c::init(u16 param_0, u16 param_1, ResTIMG* param_2, int pa return 1; } +static u8 l_mat1DL[141] ATTRIBUTE_ALIGN(32) = { + 0x10, 0x00, 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10, + 0x00, 0x00, 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x7F, + 0x32, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0C, 0xFF, + 0xFF, 0xFF, 0xFF, 0x61, 0x28, 0x38, 0x00, 0x40, 0x61, 0xC0, 0x28, 0xFA, 0x8F, 0x61, 0xC1, 0x08, + 0xFF, 0xF0, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0x41, 0x00, 0x00, + 0x0C, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, + 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + void mDoExt_3DlineMat1_c::setMaterial() { j3dSys.reinitGX(); GXSetNumIndStages(0); diff --git a/src/m_Do/m_Do_ext2.cpp b/src/m_Do/m_Do_ext2.cpp new file mode 100644 index 0000000000..9d4c18228f --- /dev/null +++ b/src/m_Do/m_Do_ext2.cpp @@ -0,0 +1,138 @@ + +#include "d/dolzel.h" // IWYU pragma: keep + +#include "m_Do/m_Do_ext2.h" + +FixedMemoryCheck* FixedMemoryCheck::sFirst; + +FixedMemoryCheck::FixedMemoryCheck(u32* param_1, u32 size, JKRHeap* heap) { + mNowCode = param_1; + mSize = size; + mSaveCode = NULL; + mpHeap = heap; + field_0x10 = 0; + field_0x14 = false; + mNext = NULL; + if (sFirst) { + mNext = sFirst; + } + sFirst = this; +} + +FixedMemoryCheck* FixedMemoryCheck::easyCreate(void* param_1, u32 size) { + JKRHeap* heap = JKRGetRootHeap2(); + FixedMemoryCheck* memCheck = new (heap, 0) FixedMemoryCheck((u32*)param_1, size, heap); + if (!memCheck) { + memCheck = new (JKRGetSystemHeap(), 0) FixedMemoryCheck((u32*)param_1, size, NULL); + } + if (memCheck) { + memCheck->alloc(); + memCheck->save(); + memCheck->check(); + } + return memCheck; +} + +BOOL FixedMemoryCheck::checkAll() { + BOOL result = true; + for (FixedMemoryCheck* memCheck = sFirst; memCheck; memCheck = memCheck->mNext) { + if (!memCheck->check()) { + result = false; + } + } + return result; +} + +BOOL FixedMemoryCheck::diffAll() { + BOOL result = true; + for (FixedMemoryCheck* memCheck = sFirst; memCheck; memCheck = memCheck->mNext) { + if (!memCheck->diff()) { + result = false; + } + } + return result; +} + +BOOL FixedMemoryCheck::saveAll() { + BOOL result = true; + for (FixedMemoryCheck* memCheck = sFirst; memCheck; memCheck = memCheck->mNext) { + if (!memCheck->save()) { + result = false; + } + } + return result; +} + +BOOL FixedMemoryCheck::alloc() { + if (!mpHeap) { + OSReport_Error("FixedMemoryCheck::alloc ヒープ未設定\n"); + return false; + } + + if (mSaveCode) { + OSReport_Error("FixedMemoryCheck::alloc セーブ確保済み\n"); + return false; + } + + mSaveCode = (u32*)JKRAllocFromHeap(mpHeap, mSize, 4); + OSReport("FixedMemoryCheck::alloc: %dKB確保\n", mSize >> 10); + return mSaveCode != NULL; +} + +BOOL FixedMemoryCheck::save() { + if (!mNowCode) { + OSReport_Error("FixedMemoryCheck::save 設定ミス\n"); + return false; + } + if (mSaveCode) { + memcpy(mSaveCode, mNowCode, mSize); + } + u32 r28 = 0; + for (int i = 0; i < mSize / 4; i++) { + r28 += mNowCode[i]; + } + field_0x10 = r28; + OSReport("FixedMemoryCheck::save: チェックサム=%08x\n", field_0x10); + field_0x14 = false; + return true; +} + +BOOL FixedMemoryCheck::check() { + BOOL result = true; + if (!mSaveCode || !mNowCode) { + OSReport_Error("FixedMemoryCheck::check 設定ミス\n"); + return false; + } + u32 r29 = 0; + for (int i = 0; i < mSize / 4; i++) { + r29 += mNowCode[i]; + } + if (r29 != field_0x10) { + OSReport_Error("FixedMemoryCheck::check: チェックサム不一致 %08x : %08x\n", field_0x10, r29); + result = false; + } + if (mSaveCode) { + int cmp = memcmp(mSaveCode, mNowCode, mSize); + if(cmp) { + OSReport_Error("FixedMemoryCheck::check メモリ破壊発見 %08x %08x\n", mNowCode, mSize); + result = false; + if (!field_0x14) { + diff(); + field_0x14 = true; + } + } + } + return result; +} + +BOOL FixedMemoryCheck::diff() { + BOOL result = true; + OSReport("Address SaveCode NowCode\n"); + for (int i = 0; i < mSize / 4; i++) { + if (mSaveCode[i] != mNowCode[i]) { + result = false; + OSReport("%08x %08x %08x\n", mNowCode + i, mSaveCode[i], mNowCode[i]); + } + } + return result; +} diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index 6ee5512042..3cc285fd64 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -387,7 +387,7 @@ mDoGph_gInf_c::bloom_c mDoGph_gInf_c::m_bloom; Mtx mDoGph_gInf_c::mBlureMtx; -#if DEBUG +#if !PLATFORM_GCN cXyz mDoGph_gInf_c::csr_c::m_nowEffPos(0.0f, 0.0f, 0.0f); cXyz mDoGph_gInf_c::csr_c::m_oldEffPos(0.0f, 0.0f, 0.0f); cXyz mDoGph_gInf_c::csr_c::m_oldOldEffPos(0.0f, 0.0f, 0.0f); @@ -2105,6 +2105,10 @@ int mDoGph_Painter() { mDoGph_HIO_c mDoGph_HIO; #endif +static void dummy() { + OS_REPORT("mDoGph_Create():Initial of Graphic \n"); +} + int mDoGph_Create() { JKRSolidHeap* heap = mDoExt_createSolidHeapToCurrent(0, NULL, 0); mDoGph_gInf_c::create(); diff --git a/src/m_Do/m_Do_lib.cpp b/src/m_Do/m_Do_lib.cpp index ab680abb55..9910e20997 100644 --- a/src/m_Do/m_Do_lib.cpp +++ b/src/m_Do/m_Do_lib.cpp @@ -8,7 +8,7 @@ #include "JSystem/J3DGraphBase/J3DMatBlock.h" #include "SSystem/SComponent/c_math.h" #include "d/d_com_inf_game.h" -#include "dolphin/types.h" +#include u32 mDoLib_setResTimgObj(ResTIMG const* i_img, GXTexObj* o_texObj, u32 tlut_name, GXTlutObj* o_tlutObj) { @@ -119,6 +119,7 @@ void mDoLib_pos2camera(Vec* src, Vec* dst) { } static void dummy() { + std::tan(0.0f); J3DAlphaComp* alphaComp = NULL; alphaComp->setAlphaCompInfo(COMPOUND_LITERAL(J3DAlphaCompInfo){}); J3DPEBlock* peBlock = NULL; diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp index 34217648c7..08ede9161a 100644 --- a/src/m_Do/m_Do_machine.cpp +++ b/src/m_Do/m_Do_machine.cpp @@ -29,8 +29,8 @@ #include "DynamicLink.h" #if !PLATFORM_GCN -#include "revolution/sc.h" -#include "revolution/wpad.h" +#include +#include #endif #if PLATFORM_GCN @@ -491,7 +491,7 @@ void forever() { #if !PLATFORM_GCN void exceptionShutdown() { mDoRst_reset(2, 0, 0); - //OSShutdownSystem(); + OSShutdownSystem(); forever(); } #endif @@ -501,7 +501,7 @@ void exceptionRestart() { #if PLATFORM_GCN OSResetSystem(0, 0, 0); #else - //OSRestart(0); + OSRestart(0); #endif while (true) {} } diff --git a/src/m_Do/m_Do_machine_exception.cpp b/src/m_Do/m_Do_machine_exception.cpp index 9588919d7f..93cfb59e9e 100644 --- a/src/m_Do/m_Do_machine_exception.cpp +++ b/src/m_Do/m_Do_machine_exception.cpp @@ -16,7 +16,7 @@ static JUTConsole* sConsole; void print_f(char const* fmt, ...) { va_list args; va_start(args, fmt); - JUTConsole_print_f_va_(sConsole, fmt, args); + sConsole->print_f_va(fmt, args); va_end(args); } @@ -44,8 +44,9 @@ void dispHeapInfo() { print_f("Archive %5d / %5d\n", archiveFree / 1024, archiveTotal / 1024); print("--------------------------------\n"); - if (JKRAram::getAramHeap()) { - JKRAram::getAramHeap()->dump(); + JKRAramHeap* aramHeap = JKRAram::getAramHeap(); + if (aramHeap) { + aramHeap->dump(); } DynamicModuleControlBase::dump(); g_dComIfG_gameInfo.mResControl.dump(); @@ -62,8 +63,13 @@ void dispGameInfo() { void dispDateInfo() { print("------------- Date Infomation ---------\n"); +#if DEBUG + print(" DEBUG VERSION\n"); + print("COMPILE USER: Authorized User\n"); +#else print(" FINAL VERSION\n"); print("COMPILE USER: FINAL\n"); +#endif print_f("COPYDATE : %17s\n", mDoMain::COPYDATE_STRING); OSCalendarTime time; @@ -84,7 +90,8 @@ void dispDateInfo() { } void dispConsoleToTerminal() { - JFWSystem::getSystemConsole()->dumpToTerminal(0xFFFFFFFF); + JUTConsole* console = JFWSystem::getSystemConsole(); + console->dumpToTerminal(0xFFFFFFFF); } void exception_addition(JUTConsole* pConsole) { diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 657ebfb9e8..9f753ef4a9 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -276,39 +276,34 @@ void debugDisplay() { } void my_genCheckBox(JORMContext* mctx, const char* label, u8* pSrc, u8 mask) { - mctx->genCheckBox(label, pSrc, mask, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genCheckBox(label, pSrc, mask); } #if DEBUG void mDoMain_HIO_c::genMessage(JORMContext* mctx) { - mctx->genSlider("コード破壊チェックフレーム", &memorycheck_check_frame, 0, 0xFF, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); - mctx->genButton("コード破壊チェックcheck", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("コード破壊チェックsave", 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("コード破壊チェックdiff", 2, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("デバッグフィル", &mDoMch::mDebugFill, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("ヒープ破壊チェックフレーム", &fillcheck_check_frame, 0, 0xFF, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ヒープ破壊チェック", 3, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ヒープFree領域フィル", 4, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("浮動小数点例外を(再び)有効にする", 5, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("◎無効演算", &mDoMch::FpscrEnableBits, 0x80, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("○オーバー", &mDoMch::FpscrEnableBits, 0x40, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("△アンダー", &mDoMch::FpscrEnableBits, 0x20, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("○ゼロ除算", &mDoMch::FpscrEnableBits, 0x10, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("▲不正確 ", &mDoMch::FpscrEnableBits, 0x8, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genSlider("コード破壊チェックフレーム", &memorycheck_check_frame, 0, 0xFF); + mctx->genButton("コード破壊チェックcheck", 0); + mctx->genButton("コード破壊チェックsave", 1); + mctx->genButton("コード破壊チェックdiff", 2); + mctx->genCheckBox("デバッグフィル", &mDoMch::mDebugFill, 0x1); + mctx->genSlider("ヒープ破壊チェックフレーム", &fillcheck_check_frame, 0, 0xFF); + mctx->genButton("ヒープ破壊チェック", 3); + mctx->genButton("ヒープFree領域フィル", 4); + mctx->genButton("浮動小数点例外を(再び)有効にする", 5); + mctx->genCheckBox("◎無効演算", &mDoMch::FpscrEnableBits, 0x80); + mctx->genCheckBox("○オーバー", &mDoMch::FpscrEnableBits, 0x40); + mctx->genCheckBox("△アンダー", &mDoMch::FpscrEnableBits, 0x20); + mctx->genCheckBox("○ゼロ除算", &mDoMch::FpscrEnableBits, 0x10); + mctx->genCheckBox("▲不正確 ", &mDoMch::FpscrEnableBits, 0x8); - mctx->genLabel("ソースファイル:m_Do_main.cpp", 0, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("OSReport 表示しない", &mReportDisable, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genCheckBox("OSReport 優先度最高", &print_highPriority, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, - 0x18); - mctx->genCheckBox("OSReport スレッド表示", &print_threadID, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("OSReport CallerPC表示", &print_callerPC, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genSlider("レベル", &print_callerPCLevel, 3, 10, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genLabel("ソースファイル:m_Do_main.cpp", 0); + mctx->genCheckBox("OSReport 表示しない", &mReportDisable, 0x1); + mctx->genCheckBox("OSReport 優先度最高", &print_highPriority, 0x1); + mctx->genCheckBox("OSReport スレッド表示", &print_threadID, 0x1); + mctx->genCheckBox("OSReport CallerPC表示", &print_callerPC, 0x1); + mctx->genSlider("レベル", &print_callerPCLevel, 3, 10); - mctx->startComboBox("簡易ヒープ表示", &mHeapBriefType, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0x1a); + mctx->startComboBox("簡易ヒープ表示", &mHeapBriefType); mctx->genComboBoxItem("なし", 0); mctx->genComboBoxItem("合計空き・最大空き", 1); mctx->genComboBoxItem("最大使用量・ヒープサイズ元使用量", 2); @@ -317,54 +312,47 @@ void mDoMain_HIO_c::genMessage(JORMContext* mctx) { mctx->endComboBox(); my_genCheckBox(mctx, "ヒープサイズ表示を行う", &mDisplayHeapSize, 1); - mctx->genCheckBox("ヒープバーを表示する", &mVisibleHeapBar, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genCheckBox("ヒープバーを表示する", &mVisibleHeapBar, 0x1); - mctx->startComboBox("ヒープバーの種類", &mSelectHeapBar, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0x1a); + mctx->startComboBox("ヒープバーの種類", &mSelectHeapBar); mctx->genComboBoxItem("カレント", 0); for (int i = 0; i < 8; i++) { mctx->genComboBoxItem(HeapCheckTable[i]->getJName(), i + 1); } mctx->endComboBox(); - mctx->genCheckBox("ヒープチェック", &mCheckHeap, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("フレームバー表示", &mPrintFrameLine, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genCheckBox("ヒープチェック", &mCheckHeap, 0x1); + mctx->genCheckBox("フレームバー表示", &mPrintFrameLine, 0x1); - mctx->startComboBox("GX警告レベル", &mDoMch::GXWarningLevel, 0, NULL, 0xFFFF, 0xFFFF, 0x100, 0x1a); + mctx->startComboBox("GX警告レベル", &mDoMch::GXWarningLevel); mctx->genComboBoxItem("エラー&警告なし", 0); mctx->genComboBoxItem("致命的なエラー", 1); mctx->genComboBoxItem("中警告と全エラー", 2); mctx->genComboBoxItem("すべての警告", 3); mctx->endComboBox(); - mctx->genButton("GX警告を1フレームだけ実行", 9, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ダイナミックリンク状況をダンプ", 7, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ダイナミックリンクカウンタをリセット", 8, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ARAMヒープをダンプ", 10, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ゲームリソースをダンプ", 11, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("RES_CONTROLをダンプ", 12, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ルートヒープをダンプ", 13, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("システムヒープをダンプ", 14, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ゼルダヒープをダンプ", 15, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ゲームヒープをダンプ", 16, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("アーカイブヒープをダンプ", 17, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("J2Dヒープをダンプ", 18, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("ホストIOヒープをダンプ", 19, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genButton("コマンドヒープをダンプ", 20, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genButton("GX警告を1フレームだけ実行", 9); + mctx->genButton("ダイナミックリンク状況をダンプ", 7); + mctx->genButton("ダイナミックリンクカウンタをリセット", 8); + mctx->genButton("ARAMヒープをダンプ", 10); + mctx->genButton("ゲームリソースをダンプ", 11); + mctx->genButton("RES_CONTROLをダンプ", 12); + mctx->genButton("ルートヒープをダンプ", 13); + mctx->genButton("システムヒープをダンプ", 14); + mctx->genButton("ゼルダヒープをダンプ", 15); + mctx->genButton("ゲームヒープをダンプ", 16); + mctx->genButton("アーカイブヒープをダンプ", 17); + mctx->genButton("J2Dヒープをダンプ", 18); + mctx->genButton("ホストIOヒープをダンプ", 19); + mctx->genButton("コマンドヒープをダンプ", 20); - mctx->genCheckBox("ダイナミックリンク冗長表示", &DynamicModuleControlBase::verbose, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("ヒープコールバック冗長表示", &mDoMch::myHeapVerbose, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("ヒープコールバックチェック", &mDoMch::myHeapCallbackCheck, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("mDoDvdThd::verbose冗長表示", &mDoDvdThd::verbose, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("mDoDvdThd::DVDRead冗長表示", &mDoDvdThd::Report_DVDRead, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("mDoDvdThd::DVDログモード", &mDoDvdThd::DVDLogoMode, 1, 0, NULL, 0xFFFF, 0xFFFF, - 0x200, 0x18); - mctx->genCheckBox("fopMsg::MemCheck ヒープチェック", &fopMsg::MemCheck, 1, 0, NULL, 0xFFFF, - 0xFFFF, 0x200, 0x18); + mctx->genCheckBox("ダイナミックリンク冗長表示", &DynamicModuleControlBase::verbose, 0x1); + mctx->genCheckBox("ヒープコールバック冗長表示", &mDoMch::myHeapVerbose, 0x1); + mctx->genCheckBox("ヒープコールバックチェック", &mDoMch::myHeapCallbackCheck, 0x1); + mctx->genCheckBox("mDoDvdThd::verbose冗長表示", &mDoDvdThd::verbose, 0x1); + mctx->genCheckBox("mDoDvdThd::DVDRead冗長表示", &mDoDvdThd::Report_DVDRead, 0x1); + mctx->genCheckBox("mDoDvdThd::DVDログモード", &mDoDvdThd::DVDLogoMode, 0x1); + mctx->genCheckBox("fopMsg::MemCheck ヒープチェック", &fopMsg::MemCheck, 0x1); } void mDoMain_HIO_c::listenPropertyEvent(const JORPropertyEvent* property) { @@ -786,9 +774,16 @@ void main01(void) { } while (true); } +#if !__MWERKS__ +template +JHIComPortManager* JHIComPortManager::instance = nullptr; + +template<> +JHIComPortManager* JHIComPortManager::instance = nullptr; +#endif + #if DEBUG JHIComPortManager* JHIComPortManager:: instance; - // DEBUG NONMATCHING void parse_args(int argc, const char* argv[]) { int i; @@ -805,7 +800,7 @@ void parse_args(int argc, const char* argv[]) { dStage_roomControl_c::onNoArcBank(); OS_REPORT("\x1b[33mアーカイブバンクを無効にしました\n\x1b[m"); } else if (strcmp(argv[i], "--particle254") == 0) { - // data_8074c494 = 1; + fapGm_HIO_c::mParticle254Fix = 1; OSReport_Warning("パーティクル254固定にしました\n"); } else if (strncmp(argv[i], "--menu=", sizeof("--menu=") - 1) == 0) { char* var_r27 = strchr(argv[i] + 7, ','); @@ -822,15 +817,15 @@ void parse_args(int argc, const char* argv[]) { if (spC != NULL) { *spC = 0; spC++; - sscanf(spC, "%d", dScnMenu_c::cursolPoint); + sscanf(spC, "%d", &dScnMenu_c::cursolPoint); dScnMenu_c::m_error_flags |= (u8)8; } - sscanf(var_r26, "%d", dScnMenu_c::cursolLayer); + sscanf(var_r26, "%d", &dScnMenu_c::cursolLayer); dScnMenu_c::m_error_flags |= (u8)4; } - sscanf(var_r27, "%d", dScnMenu_c::cursolRoomNo); + sscanf(var_r27, "%d", &dScnMenu_c::cursolRoomNo); dScnMenu_c::m_error_flags |= (u8)2; } diff --git a/src/m_Do/m_Do_printf.cpp b/src/m_Do/m_Do_printf.cpp index 1cca26b3a1..154d54c737 100644 --- a/src/m_Do/m_Do_printf.cpp +++ b/src/m_Do/m_Do_printf.cpp @@ -214,57 +214,63 @@ void OSReport_FatalError(const char* fmt, ...) { void OSReport_Error(const char* fmt, ...) { print_errors++; - if (!__OSReport_Error_disable) { - #if DEBUG - OSThread* thread = mDoExt_GetCurrentRunningThread(); - if (thread != NULL) { - OSLockMutex(&print_mutex); - } - #endif - - va_list args; - va_start(args, fmt); - OSReportForceEnableOn(); - my_PutString("\x1B[41;37m[ERROR]"); - OSVReport(fmt, args); - my_PutString("\x1B[m"); - OSReportForceEnableOff(); - fflush(stdout); - va_end(args); - - #if DEBUG - if (thread != NULL) { - OSUnlockMutex(&print_mutex); - } - #endif + if (__OSReport_Error_disable) { + return; } + + #if DEBUG + OSThread* thread = mDoExt_GetCurrentRunningThread(); + if (thread != NULL) { + OSLockMutex(&print_mutex); + } + #endif + + va_list args; + va_start(args, fmt); + OSReportForceEnableOn(); + my_PutString("\x1B[41;37m[ERROR]"); + OSVReport(fmt, args); + my_PutString("\x1B[m"); + OSReportForceEnableOff(); + fflush(stdout); + va_end(args); + + #if DEBUG + if (thread != NULL) { + OSUnlockMutex(&print_mutex); + } + #endif } void OSReport_Warning(const char* fmt, ...) { print_warings++; - if (!__OSReport_Warning_disable) { - va_list args; - va_start(args, fmt); - OSReportForceEnableOn(); - my_PutString("\x1B[43;30m[WARN]"); - OSVAttention(fmt, args); - my_PutString("\x1B[m"); - OSReportForceEnableOff(); - fflush(stdout); - va_end(args); + if (__OSReport_Warning_disable) { + return; } + + va_list args; + va_start(args, fmt); + OSReportForceEnableOn(); + my_PutString("\x1B[43;30m[WARN]"); + OSVAttention(fmt, args); + my_PutString("\x1B[m"); + OSReportForceEnableOff(); + fflush(stdout); + va_end(args); } void OSReport_System(const char* fmt, ...) { print_systems++; - if (!__OSReport_System_disable) { - va_list args; - va_start(args, fmt); - OSReportForceEnableOn(); - OSVAttention(fmt, args); - OSReportForceEnableOff(); - va_end(args); + if (__OSReport_System_disable) { + return; } + + va_list args; + va_start(args, fmt); + OSReportForceEnableOn(); + OSVAttention(fmt, args); + OSReportForceEnableOff(); + va_end(args); } void OSPanic(const char* file, int line, const char* fmt, ...) { @@ -286,6 +292,6 @@ void OSPanic(const char* file, int line, const char* fmt, ...) { // force a crash by writing to an invalid address tmp = (u32*)0x1234567; - *tmp = 0x1234567; + *tmp = (uintptr_t)tmp; PPCHalt(); } diff --git a/src/odemuexi2/DebuggerDriver.c b/src/odemuexi2/DebuggerDriver.c index d1c96b98b8..fef3707d92 100644 --- a/src/odemuexi2/DebuggerDriver.c +++ b/src/odemuexi2/DebuggerDriver.c @@ -1,5 +1,5 @@ #include -#include "dolphin/os.h" +#include typedef void (*MTRCallbackType)(int); diff --git a/src/revolution/homebuttonLib/nw4hbm/lyt/arcResourceAccessor.h b/src/revolution/homebuttonLib/nw4hbm/lyt/arcResourceAccessor.h index b3e3d43e43..ed5d472819 100644 --- a/src/revolution/homebuttonLib/nw4hbm/lyt/arcResourceAccessor.h +++ b/src/revolution/homebuttonLib/nw4hbm/lyt/arcResourceAccessor.h @@ -1,9 +1,9 @@ #ifndef NW4HBM_LYT_ARC_RESOURCE_ACCESSOR_H #define NW4HBM_LYT_ARC_RESOURCE_ACCESSOR_H -#include "revolution/types.h" +#include -#include "revolution/arc.h" +#include #include "../ut/Font.h" #include "../ut/LinkList.h" diff --git a/src/revolution/homebuttonLib/nw4hbm/lyt/common.h b/src/revolution/homebuttonLib/nw4hbm/lyt/common.h index 4f235556ef..c72da38682 100644 --- a/src/revolution/homebuttonLib/nw4hbm/lyt/common.h +++ b/src/revolution/homebuttonLib/nw4hbm/lyt/common.h @@ -1,8 +1,8 @@ #ifndef NW4HBM_LYT_COMMON_H #define NW4HBM_LYT_COMMON_H -#include "revolution/tpl.h" -#include "revolution/types.h" +#include +#include #include "../ut/Color.h" diff --git a/src/revolution/homebuttonLib/nw4hbm/lyt/lyt_types.h b/src/revolution/homebuttonLib/nw4hbm/lyt/lyt_types.h index effcb1f1f8..7a9701e9c8 100644 --- a/src/revolution/homebuttonLib/nw4hbm/lyt/lyt_types.h +++ b/src/revolution/homebuttonLib/nw4hbm/lyt/lyt_types.h @@ -1,7 +1,7 @@ #ifndef NW4HBM_LYT_TYPES_H #define NW4HBM_LYT_TYPES_H -#include "revolution/types.h" +#include #include diff --git a/src/revolution/homebuttonLib/nw4hbm/lyt/pane.h b/src/revolution/homebuttonLib/nw4hbm/lyt/pane.h index a8106c2ac9..64567bddd9 100644 --- a/src/revolution/homebuttonLib/nw4hbm/lyt/pane.h +++ b/src/revolution/homebuttonLib/nw4hbm/lyt/pane.h @@ -1,7 +1,7 @@ #ifndef NW4HBM_LYT_PANE_H #define NW4HBM_LYT_PANE_H -#include "revolution/types.h" +#include #include "../ut/Color.h" #include "../ut/LinkList.h" diff --git a/src/revolution/homebuttonLib/nw4hbm/lyt/resourceAccessor.h b/src/revolution/homebuttonLib/nw4hbm/lyt/resourceAccessor.h index 11bd30d2d7..0a20102a17 100644 --- a/src/revolution/homebuttonLib/nw4hbm/lyt/resourceAccessor.h +++ b/src/revolution/homebuttonLib/nw4hbm/lyt/resourceAccessor.h @@ -1,7 +1,7 @@ #ifndef NW4HBM_LYT_RESOURCE_ACCESSOR_H #define NW4HBM_LYT_RESOURCE_ACCESSOR_H -#include "revolution/types.h" +#include namespace nw4hbm { diff --git a/src/revolution/os/OSReset.c b/src/revolution/os/OSReset.c index f0dbc50ba2..2bf9e8fbb1 100644 --- a/src/revolution/os/OSReset.c +++ b/src/revolution/os/OSReset.c @@ -175,7 +175,7 @@ static void KillThreads(void) { } } -void OSShutdownSystem(BOOL reset, u32 resetCode, BOOL forceMenu) { +void OSShutdownSystem() { SCIdleModeInfo idleModeInfo; OSIOSRev iosRev; OSStateFlags state; diff --git a/src/revolution/os/__start.c b/src/revolution/os/__start.c index 245e8e0027..e64be20cec 100644 --- a/src/revolution/os/__start.c +++ b/src/revolution/os/__start.c @@ -1,5 +1,5 @@ -#include "revolution/revolution.h" -#include "revolution/os/OSHardware.h" +#include +#include #include "__ppc_eabi_linker.h" extern void InitMetroTRK();