summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_mant.cpp
diff options
context:
space:
mode:
authorCarco_21 <144170194+carter-ktb21@users.noreply.github.com>2025-03-22 05:16:25 -0400
committerGitHub <noreply@github.com>2025-03-22 02:16:25 -0700
commitd0f89e41b1c2dd8b434cf8a63278757b4fc8b84f (patch)
tree99f69f3801b391dbdbc9db44e327abc727661815 /src/d/actor/d_a_mant.cpp
parent5a7b9f62d684b1d3744f39abdfc54b8ad7a64ead (diff)
d_a_mant almost done (#2335)
* d_a_mant Create almost equivalent * Work on mant_move * Remade d_a_mant branch * d_a_mant ~76% matching * daMant_packet_c::draw() 69% matching * d_a_mant data matching and joint_control over 50% matching * daMant_Execute looking better * d_a_mant 92% equivalent * Removed commented rodata
Diffstat (limited to 'src/d/actor/d_a_mant.cpp')
-rw-r--r--src/d/actor/d_a_mant.cpp1490
1 files changed, 739 insertions, 751 deletions
diff --git a/src/d/actor/d_a_mant.cpp b/src/d/actor/d_a_mant.cpp
index f8f12226b7..1d90d6e575 100644
--- a/src/d/actor/d_a_mant.cpp
+++ b/src/d/actor/d_a_mant.cpp
@@ -4,140 +4,18 @@
*/
#include "d/actor/d_a_mant.h"
+#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
+#include "d/actor/d_a_b_gnd.h"
+#include "d/d_com_inf_game.h"
#include "dol2asm.h"
-//
-// Forward References:
-//
-
-extern "C" void draw__15daMant_packet_cFv();
-extern "C" static void daMant_Draw__FP10mant_class();
-extern "C" static void joint_control__FP10mant_classP8mant_j_siff();
-extern "C" void __dt__4cXyzFv();
-extern "C" static void mant_v_calc__FP10mant_class();
-extern "C" static void mant_move__FP10mant_class();
-extern "C" static void daMant_Execute__FP10mant_class();
-extern "C" static bool daMant_IsDelete__FP10mant_class();
-extern "C" static bool daMant_Delete__FP10mant_class();
-extern "C" static void daMant_Create__FP10fopAc_ac_c();
-extern "C" void __dt__8mant_j_sFv();
-extern "C" void __ct__8mant_j_sFv();
-extern "C" void __dt__15daMant_packet_cFv();
-extern "C" void __ct__4cXyzFv();
-
-//
-// External References:
-//
-
-extern "C" void mDoMtx_XrotS__FPA4_fs();
-extern "C" void mDoMtx_XrotM__FPA4_fs();
-extern "C" void mDoMtx_YrotS__FPA4_fs();
-extern "C" void mDoMtx_YrotM__FPA4_fs();
-extern "C" void mDoMtx_inverseTranspose__FPA4_CfPA4_f();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
-extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff();
-extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff();
-extern "C" void fpcSch_JudgeByID__FPvPv();
-extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
-extern "C" void __ct__11dBgS_GndChkFv();
-extern "C" void __dt__11dBgS_GndChkFv();
-extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
-extern "C" void dKy_setLight_again__Fv();
-extern "C" void dKy_Global_amb_set__FP12dKy_tevstr_c();
-extern "C" void dKy_GxFog_tevstr_set__FP12dKy_tevstr_c();
-extern "C" void __pl__4cXyzCFRC3Vec();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void __ml__4cXyzCFf();
-extern "C" void __ct__5csXyzFsss();
-extern "C" void cM_rad2s__Ff();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cM_rndF__Ff();
-extern "C" void cM_rndFX__Ff();
-extern "C" void SetPos__11cBgS_GndChkFPC3Vec();
-extern "C" void cLib_addCalc0__FPfff();
-extern "C" void MtxTrans__FfffUc();
-extern "C" void MtxPosition__FP4cXyzP4cXyz();
-extern "C" void __dl__FPv();
-extern "C" void reinitGX__6J3DSysFv();
-extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
-extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
-extern "C" void __destroy_arr();
-extern "C" void __construct_array();
-extern "C" void _savegpr_19();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_19();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_29();
-extern "C" extern void* __vt__9J3DPacket[5];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" u8 sincosTable___5JMath[65536];
-extern "C" extern void* calc_mtx[1 + 1 /* padding */];
-extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 80862C4C-80862C50 000000 0004+00 5/5 0/0 0/0 .rodata @3815 */
-SECTION_RODATA static u32 const lit_3815 = 0x01000000;
-COMPILER_STRIP_GATE(0x80862C4C, &lit_3815);
-
-/* 80862C50-80862C54 000004 0004+00 0/1 0/0 0/0 .rodata @3818 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_3818 = 0x01000000;
-COMPILER_STRIP_GATE(0x80862C50, &lit_3818);
-#pragma pop
-
-/* 80862C54-80862C58 000008 0004+00 0/1 0/0 0/0 .rodata @3821 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_3821[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80862C54, &lit_3821);
-#pragma pop
-
-/* 80862C58-80862C5C 00000C 0004+00 0/1 0/0 0/0 .rodata @3824 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_3824[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80862C58, &lit_3824);
-#pragma pop
-
-/* 80862C5C-80862C60 000010 0004+00 1/5 0/0 0/0 .rodata @3849 */
-SECTION_RODATA static u8 const lit_3849[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80862C5C, &lit_3849);
-
/* 80862D20-80862D2C 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
-SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
+static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80862D2C-80862D40 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
+static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
@@ -145,7 +23,6 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
0x3FE00000,
0x00000000,
};
-#pragma pop
/* 80862D40-80866D40 000020 4000+00 2/1 0/0 0/0 .data l_Egnd_mantTEX */
#include "assets/l_Egnd_mantTEX.h"
@@ -153,646 +30,792 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
/* 80866D40-8086AD40 004020 4000+00 3/3 0/0 0/0 .data l_Egnd_mantTEX_U */
#include "assets/l_Egnd_mantTEX_U.h"
-/* 8086BF70-8086BF74 000000 0004+00 3/3 0/0 0/0 .bss None */
-static u8 data_8086BF70[4];
-
-/* 80861298-808616B8 000078 0420+00 1/0 0/0 0/0 .text draw__15daMant_packet_cFv */
-void daMant_packet_c::draw() {
- // NONMATCHING
-}
-
-/* 808616B8-8086176C 000498 00B4+00 1/0 0/0 0/0 .text daMant_Draw__FP10mant_class */
-static void daMant_Draw(mant_class* param_0) {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80862C60-80862C64 000014 0004+00 0/1 0/0 0/0 .rodata @4113 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4113 = 0.5f;
-COMPILER_STRIP_GATE(0x80862C60, &lit_4113);
-#pragma pop
-
-/* 80862C64-80862C68 000018 0004+00 0/1 0/0 0/0 .rodata @4114 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4114 = -60.0f;
-COMPILER_STRIP_GATE(0x80862C64, &lit_4114);
-#pragma pop
-
-/* 80862C68-80862C6C 00001C 0004+00 0/1 0/0 0/0 .rodata @4115 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4115 = 50.0f;
-COMPILER_STRIP_GATE(0x80862C68, &lit_4115);
-#pragma pop
-
-/* 80862C6C-80862C70 000020 0004+00 0/1 0/0 0/0 .rodata @4116 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4116 = 3.0f;
-COMPILER_STRIP_GATE(0x80862C6C, &lit_4116);
-#pragma pop
-
-/* 80862C70-80862C74 000024 0004+00 0/4 0/0 0/0 .rodata @4117 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4117 = 1.0f;
-COMPILER_STRIP_GATE(0x80862C70, &lit_4117);
-#pragma pop
-
-/* 80862C74-80862C78 000028 0004+00 0/2 0/0 0/0 .rodata @4118 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4118 = 1.0f / 20.0f;
-COMPILER_STRIP_GATE(0x80862C74, &lit_4118);
-#pragma pop
-
-/* 80862C78-80862C7C 00002C 0004+00 0/1 0/0 0/0 .rodata @4119 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4119 = -15.0f;
-COMPILER_STRIP_GATE(0x80862C78, &lit_4119);
-#pragma pop
-
-/* 80862C7C-80862C80 000030 0004+00 0/2 0/0 0/0 .rodata @4120 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4120 = 7.0f / 100.0f;
-COMPILER_STRIP_GATE(0x80862C7C, &lit_4120);
-#pragma pop
-
-/* 80862C80-80862C84 000034 0004+00 0/1 0/0 0/0 .rodata @4121 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4121 = 1.0f / 100.0f;
-COMPILER_STRIP_GATE(0x80862C80, &lit_4121);
-#pragma pop
-
-/* 80862C84-80862C88 000038 0004+00 0/3 0/0 0/0 .rodata @4122 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4122 = 1.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80862C84, &lit_4122);
-#pragma pop
-
-/* 80862C88-80862C8C 00003C 0004+00 0/1 0/0 0/0 .rodata @4123 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4123 = 2.0f;
-COMPILER_STRIP_GATE(0x80862C88, &lit_4123);
-#pragma pop
-
-/* 80862C8C-80862C90 000040 0004+00 0/2 0/0 0/0 .rodata @4124 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4124 = 5.0f;
-COMPILER_STRIP_GATE(0x80862C8C, &lit_4124);
-#pragma pop
-
-/* 80862C90-80862C94 000044 0004+00 0/1 0/0 0/0 .rodata @4125 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4125 = 6.0f;
-COMPILER_STRIP_GATE(0x80862C90, &lit_4125);
-#pragma pop
-
-/* 80862C94-80862C98 000048 0004+00 0/1 0/0 0/0 .rodata @4126 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4126 = 1.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80862C94, &lit_4126);
-#pragma pop
-
-/* 80862C98-80862C9C 00004C 0004+00 0/1 0/0 0/0 .rodata @4127 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4127 = 85.0f;
-COMPILER_STRIP_GATE(0x80862C98, &lit_4127);
-#pragma pop
-
-/* 80862C9C-80862CA4 000050 0004+04 0/1 0/0 0/0 .rodata @4128 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4128[1 + 1 /* padding */] = {
- 7225.0f,
- /* padding */
- 0.0f,
-};
-COMPILER_STRIP_GATE(0x80862C9C, &lit_4128);
-#pragma pop
-
-/* 80862CA4-80862CAC 000058 0008+00 0/2 0/0 0/0 .rodata @4130 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4130[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80862CA4, &lit_4130);
-#pragma pop
-
/* 8086AD40-8086ADA0 008020 0060+00 1/0 0/0 0/0 .data l_Egnd_mantPAL */
#include "assets/l_Egnd_mantPAL.h"
/* 8086ADA0-8086B58C 008080 07EC+00 0/0 0/0 0/0 .data l_pos */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_pos[2028] = {
- 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C, 0x42, 0x26, 0xAA, 0xAA,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C, 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x65, 0xBD, 0x9C, 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C,
- 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C, 0x41, 0x05, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C, 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x65, 0xBD, 0x9C, 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C,
- 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C, 0xC1, 0xC7, 0xFF, 0xFF,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C, 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x65, 0xBD, 0x9C, 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C,
- 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x65, 0xBD, 0x9C, 0x42, 0x48, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0, 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x52, 0x92, 0xF0, 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0,
- 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0, 0x41, 0x85, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0, 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x52, 0x92, 0xF0, 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0,
- 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0, 0xC1, 0x85, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0, 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x52, 0x92, 0xF0, 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0,
- 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0, 0xC2, 0x48, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x52, 0x92, 0xF0, 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x3F, 0x68, 0x46, 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46,
- 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46, 0x41, 0xC8, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46, 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x3F, 0x68, 0x46, 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46,
- 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46, 0xC1, 0x05, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46, 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x3F, 0x68, 0x46, 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46,
- 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46, 0xC2, 0x26, 0xAA, 0xAA,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x3F, 0x68, 0x46, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x3F, 0x68, 0x46, 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C,
- 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C, 0x42, 0x05, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C, 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x2C, 0x3D, 0x9C, 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C,
- 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C, 0x35, 0x86, 0x37, 0xBD,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C, 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x2C, 0x3D, 0x9C, 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C,
- 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C, 0xC2, 0x05, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C, 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x2C, 0x3D, 0x9C, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x2C, 0x3D, 0x9C,
- 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1, 0x42, 0x26, 0xAA, 0xAA,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1, 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x19, 0x12, 0xF1, 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1,
- 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1, 0x41, 0x05, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1, 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x19, 0x12, 0xF1, 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1,
- 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1, 0xC1, 0xC7, 0xFF, 0xFF,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1, 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x19, 0x12, 0xF1, 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1,
- 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x19, 0x12, 0xF1, 0x42, 0x48, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46, 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x05, 0xE8, 0x46, 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46,
- 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46, 0x41, 0x85, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46, 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x05, 0xE8, 0x46, 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46,
- 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46, 0xC1, 0x85, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46, 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC3, 0x05, 0xE8, 0x46, 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46,
- 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46, 0xC2, 0x48, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC3, 0x05, 0xE8, 0x46, 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0xE5, 0x7B, 0x38, 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38,
- 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38, 0x41, 0xC8, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38, 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0xE5, 0x7B, 0x38, 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38,
- 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38, 0xC1, 0x05, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38, 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0xE5, 0x7B, 0x38, 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38,
- 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38, 0xC2, 0x26, 0xAA, 0xAA,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xE5, 0x7B, 0x38, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0xE5, 0x7B, 0x38, 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2,
- 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2, 0x42, 0x05, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2, 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0xBF, 0x25, 0xE2, 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2,
- 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2, 0x35, 0x86, 0x37, 0xBD,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2, 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0xBF, 0x25, 0xE2, 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2,
- 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2, 0xC2, 0x05, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2, 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0xBF, 0x25, 0xE2, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0xBF, 0x25, 0xE2,
- 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D, 0x42, 0x26, 0xAA, 0xAA,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D, 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x98, 0xD0, 0x8D, 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D,
- 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D, 0x41, 0x05, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D, 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x98, 0xD0, 0x8D, 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D,
- 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D, 0xC1, 0xC7, 0xFF, 0xFF,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D, 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x98, 0xD0, 0x8D, 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D,
- 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x98, 0xD0, 0x8D, 0x42, 0x48, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F, 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x64, 0xF6, 0x6F, 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F,
- 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F, 0x41, 0x85, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F, 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x64, 0xF6, 0x6F, 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F,
- 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F, 0xC1, 0x85, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F, 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x64, 0xF6, 0x6F, 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F,
- 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F, 0xC2, 0x48, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x64, 0xF6, 0x6F, 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x18, 0x4B, 0xC4, 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4,
- 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4, 0x41, 0xC8, 0x00, 0x00,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4, 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x18, 0x4B, 0xC4, 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4,
- 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4, 0xC1, 0x05, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4, 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x18, 0x4B, 0xC4, 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4,
- 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4, 0xC2, 0x26, 0xAA, 0xAA,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC2, 0x18, 0x4B, 0xC4, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC2, 0x18, 0x4B, 0xC4, 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31,
- 0x42, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31, 0x42, 0x05, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31, 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC1, 0x97, 0x42, 0x31, 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31,
- 0x41, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31, 0x35, 0x86, 0x37, 0xBD,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31, 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC1, 0x97, 0x42, 0x31, 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31,
- 0xC1, 0xC7, 0xFF, 0xFF, 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31, 0xC2, 0x05, 0x55, 0x54,
- 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31, 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93,
- 0xC1, 0x97, 0x42, 0x31, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0xC1, 0x97, 0x42, 0x31,
- 0x42, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64, 0x42, 0x26, 0xAA, 0xAA,
- 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64, 0x42, 0x05, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93,
- 0x3E, 0x84, 0xC9, 0x64, 0x41, 0xC8, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64,
- 0x41, 0x85, 0x55, 0x56, 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64, 0x41, 0x05, 0x55, 0x56,
- 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64, 0x35, 0x86, 0x37, 0xBD, 0x3F, 0x5C, 0xFC, 0x93,
- 0x3E, 0x84, 0xC9, 0x64, 0xC1, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64,
- 0xC1, 0x85, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64, 0xC1, 0xC7, 0xFF, 0xFF,
- 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64, 0xC2, 0x05, 0x55, 0x54, 0x3F, 0x5C, 0xFC, 0x93,
- 0x3E, 0x84, 0xC9, 0x64, 0xC2, 0x26, 0xAA, 0xAA, 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64,
- 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x5C, 0xFC, 0x93, 0x3E, 0x84, 0xC9, 0x64,
+static u32 l_pos[507] = {
+ 0x42480000, 0x3F5CFC93, 0xC365BD9C, 0x4226AAAA,
+ 0x3F5CFC93, 0xC365BD9C, 0x42055556, 0x3F5CFC93,
+ 0xC365BD9C, 0x41C80000, 0x3F5CFC93, 0xC365BD9C,
+ 0x41855556, 0x3F5CFC93, 0xC365BD9C, 0x41055556,
+ 0x3F5CFC93, 0xC365BD9C, 0x358637BD, 0x3F5CFC93,
+ 0xC365BD9C, 0xC1055554, 0x3F5CFC93, 0xC365BD9C,
+ 0xC1855554, 0x3F5CFC93, 0xC365BD9C, 0xC1C7FFFF,
+ 0x3F5CFC93, 0xC365BD9C, 0xC2055554, 0x3F5CFC93,
+ 0xC365BD9C, 0xC226AAAA, 0x3F5CFC93, 0xC365BD9C,
+ 0xC2480000, 0x3F5CFC93, 0xC365BD9C, 0x42480000,
+ 0x3F5CFC93, 0xC35292F0, 0x4226AAAA, 0x3F5CFC93,
+ 0xC35292F0, 0x42055556, 0x3F5CFC93, 0xC35292F0,
+ 0x41C80000, 0x3F5CFC93, 0xC35292F0, 0x41855556,
+ 0x3F5CFC93, 0xC35292F0, 0x41055556, 0x3F5CFC93,
+ 0xC35292F0, 0x358637BD, 0x3F5CFC93, 0xC35292F0,
+ 0xC1055554, 0x3F5CFC93, 0xC35292F0, 0xC1855554,
+ 0x3F5CFC93, 0xC35292F0, 0xC1C7FFFF, 0x3F5CFC93,
+ 0xC35292F0, 0xC2055554, 0x3F5CFC93, 0xC35292F0,
+ 0xC226AAAA, 0x3F5CFC93, 0xC35292F0, 0xC2480000,
+ 0x3F5CFC93, 0xC35292F0, 0x42480000, 0x3F5CFC93,
+ 0xC33F6846, 0x4226AAAA, 0x3F5CFC93, 0xC33F6846,
+ 0x42055556, 0x3F5CFC93, 0xC33F6846, 0x41C80000,
+ 0x3F5CFC93, 0xC33F6846, 0x41855556, 0x3F5CFC93,
+ 0xC33F6846, 0x41055556, 0x3F5CFC93, 0xC33F6846,
+ 0x358637BD, 0x3F5CFC93, 0xC33F6846, 0xC1055554,
+ 0x3F5CFC93, 0xC33F6846, 0xC1855554, 0x3F5CFC93,
+ 0xC33F6846, 0xC1C7FFFF, 0x3F5CFC93, 0xC33F6846,
+ 0xC2055554, 0x3F5CFC93, 0xC33F6846, 0xC226AAAA,
+ 0x3F5CFC93, 0xC33F6846, 0xC2480000, 0x3F5CFC93,
+ 0xC33F6846, 0x42480000, 0x3F5CFC93, 0xC32C3D9C,
+ 0x4226AAAA, 0x3F5CFC93, 0xC32C3D9C, 0x42055556,
+ 0x3F5CFC93, 0xC32C3D9C, 0x41C80000, 0x3F5CFC93,
+ 0xC32C3D9C, 0x41855556, 0x3F5CFC93, 0xC32C3D9C,
+ 0x41055556, 0x3F5CFC93, 0xC32C3D9C, 0x358637BD,
+ 0x3F5CFC93, 0xC32C3D9C, 0xC1055554, 0x3F5CFC93,
+ 0xC32C3D9C, 0xC1855554, 0x3F5CFC93, 0xC32C3D9C,
+ 0xC1C7FFFF, 0x3F5CFC93, 0xC32C3D9C, 0xC2055554,
+ 0x3F5CFC93, 0xC32C3D9C, 0xC226AAAA, 0x3F5CFC93,
+ 0xC32C3D9C, 0xC2480000, 0x3F5CFC93, 0xC32C3D9C,
+ 0x42480000, 0x3F5CFC93, 0xC31912F1, 0x4226AAAA,
+ 0x3F5CFC93, 0xC31912F1, 0x42055556, 0x3F5CFC93,
+ 0xC31912F1, 0x41C80000, 0x3F5CFC93, 0xC31912F1,
+ 0x41855556, 0x3F5CFC93, 0xC31912F1, 0x41055556,
+ 0x3F5CFC93, 0xC31912F1, 0x358637BD, 0x3F5CFC93,
+ 0xC31912F1, 0xC1055554, 0x3F5CFC93, 0xC31912F1,
+ 0xC1855554, 0x3F5CFC93, 0xC31912F1, 0xC1C7FFFF,
+ 0x3F5CFC93, 0xC31912F1, 0xC2055554, 0x3F5CFC93,
+ 0xC31912F1, 0xC226AAAA, 0x3F5CFC93, 0xC31912F1,
+ 0xC2480000, 0x3F5CFC93, 0xC31912F1, 0x42480000,
+ 0x3F5CFC93, 0xC305E846, 0x4226AAAA, 0x3F5CFC93,
+ 0xC305E846, 0x42055556, 0x3F5CFC93, 0xC305E846,
+ 0x41C80000, 0x3F5CFC93, 0xC305E846, 0x41855556,
+ 0x3F5CFC93, 0xC305E846, 0x41055556, 0x3F5CFC93,
+ 0xC305E846, 0x358637BD, 0x3F5CFC93, 0xC305E846,
+ 0xC1055554, 0x3F5CFC93, 0xC305E846, 0xC1855554,
+ 0x3F5CFC93, 0xC305E846, 0xC1C7FFFF, 0x3F5CFC93,
+ 0xC305E846, 0xC2055554, 0x3F5CFC93, 0xC305E846,
+ 0xC226AAAA, 0x3F5CFC93, 0xC305E846, 0xC2480000,
+ 0x3F5CFC93, 0xC305E846, 0x42480000, 0x3F5CFC93,
+ 0xC2E57B38, 0x4226AAAA, 0x3F5CFC93, 0xC2E57B38,
+ 0x42055556, 0x3F5CFC93, 0xC2E57B38, 0x41C80000,
+ 0x3F5CFC93, 0xC2E57B38, 0x41855556, 0x3F5CFC93,
+ 0xC2E57B38, 0x41055556, 0x3F5CFC93, 0xC2E57B38,
+ 0x358637BD, 0x3F5CFC93, 0xC2E57B38, 0xC1055554,
+ 0x3F5CFC93, 0xC2E57B38, 0xC1855554, 0x3F5CFC93,
+ 0xC2E57B38, 0xC1C7FFFF, 0x3F5CFC93, 0xC2E57B38,
+ 0xC2055554, 0x3F5CFC93, 0xC2E57B38, 0xC226AAAA,
+ 0x3F5CFC93, 0xC2E57B38, 0xC2480000, 0x3F5CFC93,
+ 0xC2E57B38, 0x42480000, 0x3F5CFC93, 0xC2BF25E2,
+ 0x4226AAAA, 0x3F5CFC93, 0xC2BF25E2, 0x42055556,
+ 0x3F5CFC93, 0xC2BF25E2, 0x41C80000, 0x3F5CFC93,
+ 0xC2BF25E2, 0x41855556, 0x3F5CFC93, 0xC2BF25E2,
+ 0x41055556, 0x3F5CFC93, 0xC2BF25E2, 0x358637BD,
+ 0x3F5CFC93, 0xC2BF25E2, 0xC1055554, 0x3F5CFC93,
+ 0xC2BF25E2, 0xC1855554, 0x3F5CFC93, 0xC2BF25E2,
+ 0xC1C7FFFF, 0x3F5CFC93, 0xC2BF25E2, 0xC2055554,
+ 0x3F5CFC93, 0xC2BF25E2, 0xC226AAAA, 0x3F5CFC93,
+ 0xC2BF25E2, 0xC2480000, 0x3F5CFC93, 0xC2BF25E2,
+ 0x42480000, 0x3F5CFC93, 0xC298D08D, 0x4226AAAA,
+ 0x3F5CFC93, 0xC298D08D, 0x42055556, 0x3F5CFC93,
+ 0xC298D08D, 0x41C80000, 0x3F5CFC93, 0xC298D08D,
+ 0x41855556, 0x3F5CFC93, 0xC298D08D, 0x41055556,
+ 0x3F5CFC93, 0xC298D08D, 0x358637BD, 0x3F5CFC93,
+ 0xC298D08D, 0xC1055554, 0x3F5CFC93, 0xC298D08D,
+ 0xC1855554, 0x3F5CFC93, 0xC298D08D, 0xC1C7FFFF,
+ 0x3F5CFC93, 0xC298D08D, 0xC2055554, 0x3F5CFC93,
+ 0xC298D08D, 0xC226AAAA, 0x3F5CFC93, 0xC298D08D,
+ 0xC2480000, 0x3F5CFC93, 0xC298D08D, 0x42480000,
+ 0x3F5CFC93, 0xC264F66F, 0x4226AAAA, 0x3F5CFC93,
+ 0xC264F66F, 0x42055556, 0x3F5CFC93, 0xC264F66F,
+ 0x41C80000, 0x3F5CFC93, 0xC264F66F, 0x41855556,
+ 0x3F5CFC93, 0xC264F66F, 0x41055556, 0x3F5CFC93,
+ 0xC264F66F, 0x358637BD, 0x3F5CFC93, 0xC264F66F,
+ 0xC1055554, 0x3F5CFC93, 0xC264F66F, 0xC1855554,
+ 0x3F5CFC93, 0xC264F66F, 0xC1C7FFFF, 0x3F5CFC93,
+ 0xC264F66F, 0xC2055554, 0x3F5CFC93, 0xC264F66F,
+ 0xC226AAAA, 0x3F5CFC93, 0xC264F66F, 0xC2480000,
+ 0x3F5CFC93, 0xC264F66F, 0x42480000, 0x3F5CFC93,
+ 0xC2184BC4, 0x4226AAAA, 0x3F5CFC93, 0xC2184BC4,
+ 0x42055556, 0x3F5CFC93, 0xC2184BC4, 0x41C80000,
+ 0x3F5CFC93, 0xC2184BC4, 0x41855556, 0x3F5CFC93,
+ 0xC2184BC4, 0x41055556, 0x3F5CFC93, 0xC2184BC4,
+ 0x358637BD, 0x3F5CFC93, 0xC2184BC4, 0xC1055554,
+ 0x3F5CFC93, 0xC2184BC4, 0xC1855554, 0x3F5CFC93,
+ 0xC2184BC4, 0xC1C7FFFF, 0x3F5CFC93, 0xC2184BC4,
+ 0xC2055554, 0x3F5CFC93, 0xC2184BC4, 0xC226AAAA,
+ 0x3F5CFC93, 0xC2184BC4, 0xC2480000, 0x3F5CFC93,
+ 0xC2184BC4, 0x42480000, 0x3F5CFC93, 0xC1974231,
+ 0x4226AAAA, 0x3F5CFC93, 0xC1974231, 0x42055556,
+ 0x3F5CFC93, 0xC1974231, 0x41C80000, 0x3F5CFC93,
+ 0xC1974231, 0x41855556, 0x3F5CFC93, 0xC1974231,
+ 0x41055556, 0x3F5CFC93, 0xC1974231, 0x358637BD,
+ 0x3F5CFC93, 0xC1974231, 0xC1055554, 0x3F5CFC93,
+ 0xC1974231, 0xC1855554, 0x3F5CFC93, 0xC1974231,
+ 0xC1C7FFFF, 0x3F5CFC93, 0xC1974231, 0xC2055554,
+ 0x3F5CFC93, 0xC1974231, 0xC226AAAA, 0x3F5CFC93,
+ 0xC1974231, 0xC2480000, 0x3F5CFC93, 0xC1974231,
+ 0x42480000, 0x3F5CFC93, 0x3E84C964, 0x4226AAAA,
+ 0x3F5CFC93, 0x3E84C964, 0x42055556, 0x3F5CFC93,
+ 0x3E84C964, 0x41C80000, 0x3F5CFC93, 0x3E84C964,
+ 0x41855556, 0x3F5CFC93, 0x3E84C964, 0x41055556,
+ 0x3F5CFC93, 0x3E84C964, 0x358637BD, 0x3F5CFC93,
+ 0x3E84C964, 0xC1055554, 0x3F5CFC93, 0x3E84C964,
+ 0xC1855554, 0x3F5CFC93, 0x3E84C964, 0xC1C7FFFF,
+ 0x3F5CFC93, 0x3E84C964, 0xC2055554, 0x3F5CFC93,
+ 0x3E84C964, 0xC226AAAA, 0x3F5CFC93, 0x3E84C964,
+ 0xC2480000, 0x3F5CFC93, 0x3E84C964,
};
-#pragma pop
-/* 8086B58C-8086B598 00886C 000C+00 0/0 0/0 0/0 .data l_normal */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_normal[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 8086B5EC-8086B5F7 .data l_normal */
+static u32 l_normal[3] = {
+ 0x00000000, 0x3F800000, 0x00000000,
};
-#pragma pop
+
+// /* 8086BF70-8086BF74 000000 0004+00 3/3 0/0 0/0 .bss None */
+// static u8 data_8086BF70[4];
/* 8086B598-8086BAE0 008878 0548+00 0/0 0/0 0/0 .data l_texCoord */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_texCoord[1352] = {
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6A, 0xAA, 0xB0, 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x6A, 0xAA, 0xB0,
- 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x6A, 0xAA, 0xB0, 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x80, 0x00, 0x00,
- 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x6A, 0xAA, 0xB0, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x6A, 0xAA, 0xB0, 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x80, 0x00, 0x00,
- 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x6A, 0xAA, 0xB0, 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x80, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x80, 0x00, 0x00,
- 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x80, 0x00, 0x00,
- 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x80, 0x00, 0x00,
- 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x80, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x55, 0x55, 0x50, 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x55, 0x55, 0x50,
- 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x55, 0x55, 0x50, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x55, 0x55, 0x50,
- 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x55, 0x55, 0x50, 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x55, 0x55, 0x50,
- 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x55, 0x55, 0x50,
- 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x55, 0x55, 0x50,
- 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x55, 0x55, 0x50,
- 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x55, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00,
- 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x40, 0x00, 0x00, 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x40, 0x00, 0x00,
- 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00, 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x40, 0x00, 0x00,
- 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00,
- 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x40, 0x00, 0x00,
- 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x40, 0x00, 0x00,
- 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x2A, 0xAA, 0xB0, 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x2A, 0xAA, 0xB0,
- 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x2A, 0xAA, 0xB0, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x2A, 0xAA, 0xB0,
- 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x2A, 0xAA, 0xB0, 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x2A, 0xAA, 0xB0,
- 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x2A, 0xAA, 0xB0,
- 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x2A, 0xAA, 0xB0,
- 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x2A, 0xAA, 0xB0,
- 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x2A, 0xAA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x15, 0x55, 0x50,
- 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x15, 0x55, 0x50, 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x15, 0x55, 0x50,
- 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x15, 0x55, 0x50, 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x15, 0x55, 0x50,
- 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x15, 0x55, 0x50,
- 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x15, 0x55, 0x50,
- 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x15, 0x55, 0x50,
- 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x15, 0x55, 0x50,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x00, 0x00, 0x00,
- 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
- 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x00, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x15, 0x55, 0x50, 0x3F, 0x00, 0x00, 0x00,
- 0x3F, 0x2A, 0xAA, 0xB0, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
- 0x3F, 0x55, 0x55, 0x50, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x6A, 0xAA, 0xB0, 0x3F, 0x00, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xD5, 0x55, 0x61,
- 0x3D, 0xAA, 0xAA, 0x7E, 0x3E, 0xD5, 0x55, 0x61, 0x3E, 0x2A, 0xAA, 0xC1, 0x3E, 0xD5, 0x55, 0x61,
- 0x3E, 0x80, 0x00, 0x00, 0x3E, 0xD5, 0x55, 0x61, 0x3E, 0xAA, 0xAA, 0x9F, 0x3E, 0xD5, 0x55, 0x61,
- 0x3E, 0xD5, 0x55, 0x61, 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0xD5, 0x55, 0x61,
- 0x3F, 0x15, 0x55, 0x50, 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x2A, 0xAA, 0xB0, 0x3E, 0xD5, 0x55, 0x61,
- 0x3F, 0x40, 0x00, 0x00, 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x55, 0x55, 0x50, 0x3E, 0xD5, 0x55, 0x61,
- 0x3F, 0x6A, 0xAA, 0xB0, 0x3E, 0xD5, 0x55, 0x61, 0x3F, 0x80, 0x00, 0x00, 0x3E, 0xD5, 0x55, 0x61,
- 0x00, 0x00, 0x00, 0x00, 0x3E, 0xAA, 0xAA, 0x9F, 0x3D, 0xAA, 0xAA, 0x7E, 0x3E, 0xAA, 0xAA, 0x9F,
- 0x3E, 0x2A, 0xAA, 0xC1, 0x3E, 0xAA, 0xAA, 0x9F, 0x3E, 0x80, 0x00, 0x00, 0x3E, 0xAA, 0xAA, 0x9F,
- 0x3E, 0xAA, 0xAA, 0x9F, 0x3E, 0xAA, 0xAA, 0x9F, 0x3E, 0xD5, 0x55, 0x61, 0x3E, 0xAA, 0xAA, 0x9F,
- 0x3F, 0x00, 0x00, 0x00, 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x15, 0x55, 0x50, 0x3E, 0xAA, 0xAA, 0x9F,
- 0x3F, 0x2A, 0xAA, 0xB0, 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x40, 0x00, 0x00, 0x3E, 0xAA, 0xAA, 0x9F,
- 0x3F, 0x55, 0x55, 0x50, 0x3E, 0xAA, 0xAA, 0x9F, 0x3F, 0x6A, 0xAA, 0xB0, 0x3E, 0xAA, 0xAA, 0x9F,
- 0x3F, 0x80, 0x00, 0x00, 0x3E, 0xAA, 0xAA, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00,
- 0x3D, 0xAA, 0xAA, 0x7E, 0x3E, 0x80, 0x00, 0x00, 0x3E, 0x2A, 0xAA, 0xC1, 0x3E, 0x80, 0x00, 0x00,
- 0x3E, 0x80, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00, 0x3E, 0xAA, 0xAA, 0x9F, 0x3E, 0x80, 0x00, 0x00,
- 0x3E, 0xD5, 0x55, 0x61, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00,
- 0x3F, 0x15, 0x55, 0x50, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x2A, 0xAA, 0xB0, 0x3E, 0x80, 0x00, 0x00,
- 0x3F, 0x40, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x55, 0x55, 0x50, 0x3E, 0x80, 0x00, 0x00,
- 0x3F, 0x6A, 0xAA, 0xB0, 0x3E, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xAA, 0xC1, 0x3D, 0xAA, 0xAA, 0x7E, 0x3E, 0x2A, 0xAA, 0xC1,
- 0x3E, 0x2A, 0xAA, 0xC1, 0x3E, 0x2A, 0xAA, 0xC1, 0x3E, 0x80, 0x00, 0x00, 0x3E, 0x2A, 0xAA, 0xC1,
- 0x3E, 0xAA, 0xAA, 0x9F, 0x3E, 0x2A, 0xAA, 0xC1, 0x3E, 0xD5, 0x55, 0x61, 0x3E, 0x2A, 0xAA, 0xC1,
- 0x3F, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x15, 0x55, 0x50, 0x3E, 0x2A, 0xAA, 0xC1,
- 0x3F, 0x2A, 0xAA, 0xB0, 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x40, 0x00, 0x00, 0x3E, 0x2A, 0xAA, 0xC1,
- 0x3F, 0x55, 0x55, 0x50, 0x3E, 0x2A, 0xAA, 0xC1, 0x3F, 0x6A, 0xAA, 0xB0, 0x3E, 0x2A, 0xAA, 0xC1,
- 0x3F, 0x80, 0x00, 0x00, 0x3E, 0x2A, 0xAA, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xAA, 0xAA, 0x7E,
- 0x3D, 0xAA, 0xAA, 0x7E, 0x3D, 0xAA, 0xAA, 0x7E, 0x3E, 0x2A, 0xAA, 0xC1, 0x3D, 0xAA, 0xAA, 0x7E,
- 0x3E, 0x80, 0x00, 0x00, 0x3D, 0xAA, 0xAA, 0x7E, 0x3E, 0xAA, 0xAA, 0x9F, 0x3D, 0xAA, 0xAA, 0x7E,
- 0x3E, 0xD5, 0x55, 0x61, 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x00, 0x00, 0x00, 0x3D, 0xAA, 0xAA, 0x7E,
- 0x3F, 0x15, 0x55, 0x50, 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x2A, 0xAA, 0xB0, 0x3D, 0xAA, 0xAA, 0x7E,
- 0x3F, 0x40, 0x00, 0x00, 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x55, 0x55, 0x50, 0x3D, 0xAA, 0xAA, 0x7E,
- 0x3F, 0x6A, 0xAA, 0xB0, 0x3D, 0xAA, 0xAA, 0x7E, 0x3F, 0x80, 0x00, 0x00, 0x3D, 0xAA, 0xAA, 0x7E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xAA, 0xAA, 0x7E, 0x00, 0x00, 0x00, 0x00,
- 0x3E, 0x2A, 0xAA, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3E, 0xAA, 0xAA, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xD5, 0x55, 0x61, 0x00, 0x00, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x15, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00,
- 0x3F, 0x2A, 0xAA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3F, 0x55, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6A, 0xAA, 0xB0, 0x00, 0x00, 0x00, 0x00,
- 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+static u32 l_texCoord[338] = {
+ 0x00000000, 0x3F6AAAB0, 0x3DAAAA7E, 0x3F6AAAB0,
+ 0x3DAAAA7E, 0x3F800000, 0x00000000, 0x3F800000,
+ 0x3E2AAAC1, 0x3F6AAAB0, 0x3E2AAAC1, 0x3F800000,
+ 0x3E800000, 0x3F6AAAB0, 0x3E800000, 0x3F800000,
+ 0x3EAAAA9F, 0x3F6AAAB0, 0x3EAAAA9F, 0x3F800000,
+ 0x3ED55561, 0x3F6AAAB0, 0x3ED55561, 0x3F800000,
+ 0x3F000000, 0x3F6AAAB0, 0x3F000000, 0x3F800000,
+ 0x3F155550, 0x3F6AAAB0, 0x3F155550, 0x3F800000,
+ 0x3F2AAAB0, 0x3F6AAAB0, 0x3F2AAAB0, 0x3F800000,
+ 0x3F400000, 0x3F6AAAB0, 0x3F400000, 0x3F800000,
+ 0x3F555550, 0x3F6AAAB0, 0x3F555550, 0x3F800000,
+ 0x3F6AAAB0, 0x3F6AAAB0, 0x3F6AAAB0, 0x3F800000,
+ 0x3F800000, 0x3F6AAAB0, 0x3F800000, 0x3F800000,
+ 0x00000000, 0x3F555550, 0x3DAAAA7E, 0x3F555550,
+ 0x3E2AAAC1, 0x3F555550, 0x3E800000, 0x3F555550,
+ 0x3EAAAA9F, 0x3F555550, 0x3ED55561, 0x3F555550,
+ 0x3F000000, 0x3F555550, 0x3F155550, 0x3F555550,
+ 0x3F2AAAB0, 0x3F555550, 0x3F400000, 0x3F555550,
+ 0x3F555550, 0x3F555550, 0x3F6AAAB0, 0x3F555550,
+ 0x3F800000, 0x3F555550, 0x00000000, 0x3F400000,
+ 0x3DAAAA7E, 0x3F400000, 0x3E2AAAC1, 0x3F400000,
+ 0x3E800000, 0x3F400000, 0x3EAAAA9F, 0x3F400000,
+ 0x3ED55561, 0x3F400000, 0x3F000000, 0x3F400000,
+ 0x3F155550, 0x3F400000, 0x3F2AAAB0, 0x3F400000,
+ 0x3F400000, 0x3F400000, 0x3F555550, 0x3F400000,
+ 0x3F6AAAB0, 0x3F400000, 0x3F800000, 0x3F400000,
+ 0x00000000, 0x3F2AAAB0, 0x3DAAAA7E, 0x3F2AAAB0,
+ 0x3E2AAAC1, 0x3F2AAAB0, 0x3E800000, 0x3F2AAAB0,
+ 0x3EAAAA9F, 0x3F2AAAB0, 0x3ED55561, 0x3F2AAAB0,
+ 0x3F000000, 0x3F2AAAB0, 0x3F155550, 0x3F2AAAB0,
+ 0x3F2AAAB0, 0x3F2AAAB0, 0x3F400000, 0x3F2AAAB0,
+ 0x3F555550, 0x3F2AAAB0, 0x3F6AAAB0, 0x3F2AAAB0,
+ 0x3F800000, 0x3F2AAAB0, 0x00000000, 0x3F155550,
+ 0x3DAAAA7E, 0x3F155550, 0x3E2AAAC1, 0x3F155550,
+ 0x3E800000, 0x3F155550, 0x3EAAAA9F, 0x3F155550,
+ 0x3ED55561, 0x3F155550, 0x3F000000, 0x3F155550,
+ 0x3F155550, 0x3F155550, 0x3F2AAAB0, 0x3F155550,
+ 0x3F400000, 0x3F155550, 0x3F555550, 0x3F155550,
+ 0x3F6AAAB0, 0x3F155550, 0x3F800000, 0x3F155550,
+ 0x00000000, 0x3F000000, 0x3DAAAA7E, 0x3F000000,
+ 0x3E2AAAC1, 0x3F000000, 0x3E800000, 0x3F000000,
+ 0x3EAAAA9F, 0x3F000000, 0x3ED55561, 0x3F000000,
+ 0x3F000000, 0x3F000000, 0x3F155550, 0x3F000000,
+ 0x3F2AAAB0, 0x3F000000, 0x3F400000, 0x3F000000,
+ 0x3F555550, 0x3F000000, 0x3F6AAAB0, 0x3F000000,
+ 0x3F800000, 0x3F000000, 0x00000000, 0x3ED55561,
+ 0x3DAAAA7E, 0x3ED55561, 0x3E2AAAC1, 0x3ED55561,
+ 0x3E800000, 0x3ED55561, 0x3EAAAA9F, 0x3ED55561,
+ 0x3ED55561, 0x3ED55561, 0x3F000000, 0x3ED55561,
+ 0x3F155550, 0x3ED55561, 0x3F2AAAB0, 0x3ED55561,
+ 0x3F400000, 0x3ED55561, 0x3F555550, 0x3ED55561,
+ 0x3F6AAAB0, 0x3ED55561, 0x3F800000, 0x3ED55561,
+ 0x00000000, 0x3EAAAA9F, 0x3DAAAA7E, 0x3EAAAA9F,
+ 0x3E2AAAC1, 0x3EAAAA9F, 0x3E800000, 0x3EAAAA9F,
+ 0x3EAAAA9F, 0x3EAAAA9F, 0x3ED55561, 0x3EAAAA9F,
+ 0x3F000000, 0x3EAAAA9F, 0x3F155550, 0x3EAAAA9F,
+ 0x3F2AAAB0, 0x3EAAAA9F, 0x3F400000, 0x3EAAAA9F,
+ 0x3F555550, 0x3EAAAA9F, 0x3F6AAAB0, 0x3EAAAA9F,
+ 0x3F800000, 0x3EAAAA9F, 0x00000000, 0x3E800000,
+ 0x3DAAAA7E, 0x3E800000, 0x3E2AAAC1, 0x3E800000,
+ 0x3E800000, 0x3E800000, 0x3EAAAA9F, 0x3E800000,
+ 0x3ED55561, 0x3E800000, 0x3F000000, 0x3E800000,
+ 0x3F155550, 0x3E800000, 0x3F2AAAB0, 0x3E800000,
+ 0x3F400000, 0x3E800000, 0x3F555550, 0x3E800000,
+ 0x3F6AAAB0, 0x3E800000, 0x3F800000, 0x3E800000,
+ 0x00000000, 0x3E2AAAC1, 0x3DAAAA7E, 0x3E2AAAC1,
+ 0x3E2AAAC1, 0x3E2AAAC1, 0x3E800000, 0x3E2AAAC1,
+ 0x3EAAAA9F, 0x3E2AAAC1, 0x3ED55561, 0x3E2AAAC1,
+ 0x3F000000, 0x3E2AAAC1, 0x3F155550, 0x3E2AAAC1,
+ 0x3F2AAAB0, 0x3E2AAAC1, 0x3F400000, 0x3E2AAAC1,
+ 0x3F555550, 0x3E2AAAC1, 0x3F6AAAB0, 0x3E2AAAC1,
+ 0x3F800000, 0x3E2AAAC1, 0x00000000, 0x3DAAAA7E,
+ 0x3DAAAA7E, 0x3DAAAA7E, 0x3E2AAAC1, 0x3DAAAA7E,
+ 0x3E800000, 0x3DAAAA7E, 0x3EAAAA9F, 0x3DAAAA7E,
+ 0x3ED55561, 0x3DAAAA7E, 0x3F000000, 0x3DAAAA7E,
+ 0x3F155550, 0x3DAAAA7E, 0x3F2AAAB0, 0x3DAAAA7E,
+ 0x3F400000, 0x3DAAAA7E, 0x3F555550, 0x3DAAAA7E,
+ 0x3F6AAAB0, 0x3DAAAA7E, 0x3F800000, 0x3DAAAA7E,
+ 0x00000000, 0x00000000, 0x3DAAAA7E, 0x00000000,
+ 0x3E2AAAC1, 0x00000000, 0x3E800000, 0x00000000,
+ 0x3EAAAA9F, 0x00000000, 0x3ED55561, 0x00000000,
+ 0x3F000000, 0x00000000, 0x3F155550, 0x00000000,
+ 0x3F2AAAB0, 0x00000000, 0x3F400000, 0x00000000,
+ 0x3F555550, 0x00000000, 0x3F6AAAB0, 0x00000000,
+ 0x3F800000, 0x00000000,
};
-#pragma pop
/* 8086BAE0-8086BECC 008DC0 03EC+00 0/0 0/0 0/0 .data l_Egnd_mantDL */
#include "assets/l_Egnd_mantDL.h"
/* 8086BECC-8086BED0 -00001 0004+00 0/0 0/0 0/0 .data pal_d */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* pal_d = (void*)&l_Egnd_mantPAL;
-#pragma pop
+static void* pal_d = (void*)&l_Egnd_mantPAL;
/* 8086BED0-8086BED8 -00001 0008+00 0/0 0/0 0/0 .data tex_d */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* tex_d[2] = {
+static void* tex_d[2] = {
(void*)&l_Egnd_mantTEX,
(void*)&l_Egnd_mantTEX_U,
};
-#pragma pop
-/* 8086BED8-8086BF08 0091B8 0030+00 1/1 0/0 0/0 .data d_p$3889 */
-SECTION_DATA static u8 d_p[48] = {
- 0x3F, 0xB3, 0x33, 0x34, 0x3F, 0x19, 0x99, 0x9A, 0x3E, 0xB3, 0x33, 0x33, 0x3E, 0x99, 0x99, 0x9A,
- 0x3E, 0x99, 0x99, 0x9A, 0x3E, 0x99, 0x99, 0x9A, 0x3E, 0x80, 0x00, 0x00, 0x3E, 0x4C, 0xCC, 0xCD,
- 0x3E, 0x4C, 0xCC, 0xCD, 0x3E, 0x4C, 0xCC, 0xCD, 0x3E, 0x19, 0x99, 0x9A, 0x3D, 0xCC, 0xCC, 0xCD,
-};
+static char lbl_277_bss_0;
-/* 8086176C-80861F60 00054C 07F4+00 1/1 0/0 0/0 .text joint_control__FP10mant_classP8mant_j_siff
- */
-static void joint_control(mant_class* param_0, mant_j_s* param_1, int param_2, f32 param_3,
- f32 param_4) {
+/* 80861298-808616B8 000078 0420+00 1/0 0/0 0/0 .text draw__15daMant_packet_cFv */
+void daMant_packet_c::draw() {
// NONMATCHING
+ void* image = tex_d[0];
+ void* lut = pal_d;
+
+ j3dSys.reinitGX();
+ GXSetNumIndStages(0);
+ dKy_setLight_again();
+ dKy_GxFog_tevstr_set(this->field_0x70);
+ GXClearVtxDesc();
+
+ GXSetVtxDesc(GX_VA_POS, GX_INDEX8);
+ GXSetVtxDesc(GX_VA_NRM,GX_INDEX8);
+ GXSetVtxDesc(GX_VA_TEX0,GX_INDEX8);
+
+ GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_POS,GX_CLR_RGBA,GX_F32,0);
+ GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_NRM,GX_CLR_RGB,GX_F32,0);
+ GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_TEX0,GX_CLR_RGBA,GX_F32,0);
+
+ GXSetArray(GX_VA_POS, this->getPos(), 12);
+ GXSetArray(GX_VA_NRM, &this->mNrm[this->field_0x74 * 0xa9], 12);
+ GXSetArray(GX_VA_TEX0, &l_texCoord, 8);
+
+ GXSetZCompLoc(0);
+ GXSetZMode(GX_ENABLE,GX_LEQUAL,GX_ENABLE);
+ GXSetNumChans(1);
+ GXSetChanCtrl(GX_COLOR0,GX_ENABLE,GX_SRC_REG,GX_SRC_REG,0xff,GX_DF_CLAMP,GX_AF_SPOT);
+ GXSetNumTexGens(1);
+ GXSetTexCoordGen2(GX_TEXCOORD0,GX_TG_MTX2x4,GX_TG_TEX0,0x3c,0,0x7d);
+ GXSetNumTevStages(1);
+ GXSetTevSwapMode(GX_TEVSTAGE0,GX_TEV_SWAP0,GX_TEV_SWAP0);
+
+ dKy_Global_amb_set(this->field_0x70);
+ GXSetTevOrder(GX_TEVSTAGE0,GX_TEXCOORD0,GX_TEXMAP0,GX_COLOR0A0);
+
+ GXColor local_84 = {1, 0, 0, 0};
+ GXSetTevColor(GX_TEVREG0, local_84);
+ GXColor local_8c = {1, 0, 0, 0};
+ GXSetTevKColor(GX_KCOLOR0, local_8c);
+
+ GXSetTevKColorSel(GX_TEVSTAGE0,GX_TEV_KCSEL_K0);
+ GXSetTevColorIn(GX_TEVSTAGE0,GX_CC_KONST,GX_CC_TEXC,GX_CC_RASC,GX_CC_C0);
+ GXSetTevColorOp(GX_TEVSTAGE0,GX_TEV_ADD,GX_TB_ZERO,GX_CS_SCALE_4,GX_TRUE,GX_TEVPREV);
+ GXSetTevAlphaIn(GX_TEVSTAGE0,GX_CA_ZERO,GX_CA_KONST,GX_CA_TEXA,GX_CA_ZERO);
+ GXSetTevAlphaOp(GX_TEVSTAGE0,GX_TEV_ADD,GX_TB_ZERO,GX_CS_SCALE_1,GX_TRUE,GX_TEVPREV);
+ GXSetTevKAlphaSel(GX_TEVSTAGE0,GX_TEV_KASEL_K3_A);
+ GXSetAlphaCompare(GX_GREATER,0,GX_AOP_OR,GX_GREATER,0);
+
+ GXTlutObj GStack_80;
+ GXInitTlutObj(&GStack_80,pal_d,GX_TL_RGB5A3,0x100);
+
+ GXTexObj GStack_74;
+ GXInitTexObjCI(&GStack_74,lut,0x80,0x80,GX_TF_C8,GX_CLAMP,GX_CLAMP,0,0);
+ GXInitTexObjLOD(&GStack_74,GX_LINEAR,GX_LINEAR,0.0,0.0,0.0,0,0,GX_ANISO_1);
+
+ GXLoadTlut(&GStack_80,0);
+ GXLoadTexObj(&GStack_74,GX_TEXMAP0);
+
+ GXSetCullMode(GX_CULL_BACK);
+
+ GXLoadPosMtxImm(this->mMtx, GX_PNMTX0);
+ Mtx MStack_54;
+ mDoMtx_inverseTranspose(this->mMtx, MStack_54);
+
+ GXLoadNrmMtxImm(MStack_54,GX_PNMTX0);
+ GXCallDisplayList(l_Egnd_mantDL, 0x3e0);
+
+ GXInitTexObjCI(&GStack_74,image,0x80,0x80,GX_TF_C8,GX_CLAMP,GX_CLAMP,0,0);
+ GXInitTexObjLOD(&GStack_74,GX_LINEAR,GX_LINEAR,0.0,0.0,0.0,0,0,GX_ANISO_1);
+ GXLoadTexObj(&GStack_74,GX_TEXMAP0);
+
+ GXColor local_94 = {0, 0, 0, 0};
+ GXSetTevColor(GX_TEVREG0,local_94);
+ GXColor local_9c = {0, 0, 0, 0};
+ GXSetTevKColor(GX_KCOLOR0,local_9c);
+
+ GXSetCullMode(GX_CULL_FRONT);
+ GXLoadPosMtxImm(this->mMtx2, GX_PNMTX0);
+ mDoMtx_inverseTranspose(this->mMtx2, MStack_54);
+
+ GXLoadNrmMtxImm(MStack_54,GX_PNMTX0);
+ GXCallDisplayList(l_Egnd_mantDL, 0x3e0);
+
+ this->field_0x74 = lbl_277_bss_0 & 1;
+ J3DShape::resetVcdVatCache();
}
-/* 80861F60-80861F9C 000D40 003C+00 4/4 0/0 0/0 .text __dt__4cXyzFv */
-// cXyz::~cXyz() {
-extern "C" void __dt__4cXyzFv() {
+/* 808616B8-8086176C 000498 00B4+00 1/0 0/0 0/0 .text daMant_Draw__FP10mant_class */
+static int daMant_Draw(mant_class* i_this) {
// NONMATCHING
+ g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->tevStr);
+
+ MtxTrans(0.0f, 0.0f, 0.0f, 0.0f);
+
+ Mtx* viewMtx = &j3dSys.mViewMtx;
+ Mtx* mtx1 = &i_this->field_0x0570.mMtx;
+ cMtx_concat(*viewMtx, *calc_mtx, *mtx1);
+
+ Mtx* mtx2 = &i_this->field_0x0570.mMtx2;
+ cMtx_concat(*viewMtx, *calc_mtx, *mtx2);
+
+ i_this->field_0x0570.field_0x70 = &i_this->tevStr;
+
+ j3dSys.getDrawBuffer(0)->entryImm(&i_this->field_0x0570, 0);
+
+ return 1;
}
-/* ############################################################################################## */
-/* 80862CAC-80862CB0 000060 0004+00 0/1 0/0 0/0 .rodata @4238 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4238 = 12.0f;
-COMPILER_STRIP_GATE(0x80862CAC, &lit_4238);
-#pragma pop
-
-/* 80862CB0-80862CB4 000064 0004+00 0/1 0/0 0/0 .rodata @4239 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4239 = 9.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80862CB0, &lit_4239);
-#pragma pop
-
-/* 80862CB4-80862CBC 000068 0008+00 0/1 0/0 0/0 .rodata @4240 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4240[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80862CB4, &lit_4240);
-#pragma pop
-
-/* 80862CBC-80862CC4 000070 0008+00 0/1 0/0 0/0 .rodata @4241 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4241[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80862CBC, &lit_4241);
-#pragma pop
-
-/* 80862CC4-80862CCC 000078 0008+00 0/1 0/0 0/0 .rodata @4242 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4242[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80862CC4, &lit_4242);
-#pragma pop
-
-/* 80862CCC-80862CD0 000080 0004+00 0/1 0/0 0/0 .rodata @4243 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4243 = 10.0f;
-COMPILER_STRIP_GATE(0x80862CCC, &lit_4243);
-#pragma pop
-
-/* 80862CD0-80862CD4 000084 0004+00 0/1 0/0 0/0 .rodata @4244 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4244 = 4.0f;
-COMPILER_STRIP_GATE(0x80862CD0, &lit_4244);
-#pragma pop
-
-/* 80862CD4-80862CD8 000088 0004+00 0/1 0/0 0/0 .rodata @4245 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4245 = 3.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80862CD4, &lit_4245);
-#pragma pop
-
-/* 80862CD8-80862CDC 00008C 0004+00 0/1 0/0 0/0 .rodata @4246 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4246 = 0x3E860A92;
-COMPILER_STRIP_GATE(0x80862CD8, &lit_4246);
-#pragma pop
-
-/* 80862CDC-80862CE0 000090 0004+00 0/3 0/0 0/0 .rodata @4247 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4247 = -10.0f;
-COMPILER_STRIP_GATE(0x80862CDC, &lit_4247);
-#pragma pop
-
-/* 80862CE0-80862CE4 000094 0004+00 0/2 0/0 0/0 .rodata @4248 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4248 = -20.0f;
-COMPILER_STRIP_GATE(0x80862CE0, &lit_4248);
-#pragma pop
+/* 8086176C-80861F60 00054C 07F4+00 1/1 0/0 0/0 .text joint_control__FP10mant_classP8mant_j_siff */
+static void joint_control(mant_class* i_this, mant_j_s* param_2, int param_3, f32 param_4, f32 param_5) {
+ // NONMATCHING
+ static f32 d_p[12] = {
+ 1.4000001f, 0.6f, 0.35f, 0.3f, 0.3f, 0.3f, 0.25f, 0.2f, 0.2f, 0.2f, 0.15f, 0.1f
+ };
+
+ cXyz local_134, local_140, local_14c, local_158, local_164;
+ BOOL bVar2 = FALSE;
+ f32 dVar14, dVar16, dVar17, dVar18, dVar19, dVar20;
+ f32 fVar1;
+ b_gnd_class* gndActor = (b_gnd_class*)fopAcM_SearchByID(i_this->parentActorID);
+
+ if (gndActor->field_0x1fc4 != 0) {
+ bVar2 = TRUE;
+ local_158 = gndActor->field_0x1fb8;
+ } else if (i_this->field_0x3966 != 0) {
+ local_158 = i_this->field_0x3928[0] + ((i_this->field_0x3928[1] - i_this->field_0x3928[0]) * 0.5f);
+ local_158.y += -60.0f;
+ }
+
+ cXyz* vec_p = param_2->field_0x0;
+ cXyz* pcVar9 = param_2->field_0x9c;
+ dBgS_GndChk(dStack_f8);
+ local_164 = param_2->field_0x0[0];
+ local_164.y += 50.0f;
+
+ dStack_f8.SetPos((Vec*)&local_164);
+ dVar17 = dComIfG_Bgsp().GroundCross(&dStack_f8) + 3.0f;
+
+ if (dVar17 - param_2->field_0x0[0].y > 50.0f) {
+ dVar17 = param_2->field_0x0[0].y;
+ }
+
+ cXyz cStack_170, local_17c;
+ cXyz local_188(0.0f, 0.0f, 0.0f);
+ cXyz local_194(0.0f, 0.0f, 0.0f);
+ cXyz local_1a0(0.0f, 0.0f, 0.0f);
+
+ cMtx_YrotS(*calc_mtx, param_2->field_0x013a);
+ local_134.x = 0.0f;
+ local_134.y = 0.0f;
+ local_134.z = i_this->field_0x3954 * (cM_ssin(param_3 * 23000) * 0.05f + 1.0f);
+ MtxPosition(&local_134, &cStack_170);
+
+ cXyz local_1ac;
+
+ s16 sVar3 = param_3 + -6;
+ if (sVar3 < 0) {
+ sVar3 *= -1;
+ }
+
+ sVar3 *= -4000;
+ local_134.x = 0.0f;
+ local_134.y = 0.0f;
+ local_134.z = i_this->field_0x394c;
+ local_134.z *= i_this->scale.y;
+
+ for (int i = 0; i < 13; i++, vec_p++, pcVar9++) {
+ if (0 < i) {
+ dVar16 = i_this->field_0x3950;
+
+ local_17c = cStack_170 * d_p[i - 1];
+
+ dVar18 = i_this->field_0x3958;
+ dVar18 *= 1.0f - i * 0.07f;
+
+ local_1ac.zero();
+
+
+ // (1.0f / 100.0f)
+ if (param_4 > 0.01f) {
+ dVar16 = 0.0f;
+ f32 dVar14 = param_4 * (i * 0.05f + 1.0f);
+ cMtx_YrotS(*calc_mtx, param_2->field_0x013a);
+ cMtx_XrotM(*calc_mtx, param_2->field_0x0138);
+
+ local_140.x = (dVar14 * 2.0f) * cM_ssin(i_this->field_0x25a0 * 0x1000 + (i * -7500) + sVar3);
+ local_140.y = (dVar14 * 5.0f) * cM_ssin(i_this->field_0x25a0 * 0x1800 + (i * -7000) + sVar3);
+ local_140.z = -15.0f;
+ MtxPosition(&local_140, &local_1ac);
+ }
+
+ if (param_5 > 0.01f) {
+ dVar14 = param_5 * (i * 0.2f + 1.0f);
+ cMtx_YrotS(*calc_mtx, param_2->field_0x013a + -6000);
+ cMtx_XrotM(*calc_mtx, -5000);
+
+ local_140.x = (dVar14 * 2.0f) * cM_ssin(i_this->field_0x25a0 * 0x448 + (i * -7000) + sVar3);
+ local_140.y = (dVar14 * 6.0f) * cM_ssin(i_this->field_0x25a0 * 0xc48 + (i * -7500) + sVar3);
+ local_140.z = param_5 * -15.0f;
+ MtxPosition(&local_140, &local_14c);
+ local_1ac += local_14c;
+ }
+
+ if (i_this->field_0x3960 > 0.1f) {
+ local_1ac.y = i_this->field_0x3960 * cM_ssin(i_this->field_0x25a0 * 0x1100 + (i * -7000) + sVar3);
+ }
+
+ dVar20 = (vec_p->x - vec_p[-1].x) + pcVar9->x + local_17c.x + local_1ac.x;
+ dVar19 = (vec_p->z - vec_p[-1].z) + pcVar9->z + local_17c.z + local_1ac.z;
+ dVar14 = local_1ac.y + (vec_p->y + pcVar9->y + dVar18);
+
+ if (bVar2) {
+ dVar18 = dVar17;
+ local_14c = local_158 - *vec_p;
+ fVar1 = JMAFastSqrt(local_14c.x * local_14c.x + local_14c.z * local_14c.z);
+ if (fVar1 < 85.0f) {
+ dVar18 = local_158.y + 1.0f * JMAFastSqrt(7225.0f - fVar1 * fVar1);
+ }
+
+ if (dVar14 < dVar18) {
+ dVar14 = dVar18;
+ }
+ } else if (i_this->field_0x3966 != 0) {
+ dVar18 = dVar17;
+ local_14c = local_158 - *vec_p;
+ fVar1 = JMAFastSqrt(local_14c.x * local_14c.x + local_14c.z * local_14c.z);
+
+ if (fVar1 < 85.0f) {
+ dVar18 = local_158.y + JMAFastSqrt(7225.0f - fVar1 * fVar1);
+ }
+
+ if (dVar14 < dVar18) {
+ dVar14 = dVar18;
+ }
+ } else {
+ if (dVar14 < dVar17) {
+ dVar14 = dVar17;
+ }
+ }
+
+ dVar14 -= vec_p[-1].y;
+ s16 sVar4 = -cM_atan2s(dVar14, dVar19);
+ s16 sVar5 = (s16)cM_atan2s(dVar20, JMAFastSqrt(dVar14 * dVar14 + dVar19 * dVar19));
+
+ cMtx_XrotS(*calc_mtx, sVar4);
+ cMtx_YrotM(*calc_mtx, sVar5);
+ MtxPosition(&local_134, &local_14c);
+
+ *pcVar9 = *vec_p;
+
+ vec_p->x = vec_p[-1].x + local_14c.x;
+ vec_p->y = vec_p[-1].y + local_14c.y;
+ vec_p->z = vec_p[-1].z + local_14c.z;
+
+ pcVar9->x = dVar16 * (vec_p->x - pcVar9->x);
+ pcVar9->y = dVar16 * (vec_p->y - pcVar9->y);
+ pcVar9->z = dVar16 * (vec_p->z - pcVar9->z);
+ }
+ }
+}
/* 80861F9C-80862424 000D7C 0488+00 1/1 0/0 0/0 .text mant_v_calc__FP10mant_class */
-static void mant_v_calc(mant_class* param_0) {
+static void mant_v_calc(mant_class* i_this) {
// NONMATCHING
+ cXyz local_e4, cStack_f0, local_fc, local_108;
+ f32 dVar16, dVar15, dVar14, uVar15;
+ csXyz local_134(0, 0, 0);
+ // mant_j_s* mantJS;
+
+ local_fc = i_this->field_0x3928[0] - i_this->field_0x3928[1];
+ local_134.y = cM_atan2s(local_fc.x, local_fc.z) + 0x4000;
+
+ // mantJS = i_this->field_0x25a8;
+
+ local_e4.x = 0.0f;
+
+ dVar16 = local_fc.x / 12.0f;
+ dVar15 = local_fc.y / 12.0f;
+ dVar14 = local_fc.z / 12.0f;
+
+ local_108 = (i_this->current.pos - i_this->field_0x3940) * 0.9f;
+
+ if (10.0f < local_108.abs()) {
+ uVar15 = 0.0f;
+ } else {
+ local_134.y = cM_atan2s(local_108.x, local_108.z);
+ local_134.x = -cM_atan2s(local_108.y, JMAFastSqrt(local_108.x * local_108.x + local_108.z * local_108.z));
+
+ if (i_this->field_0x3964 != 0) {
+ uVar15 = 4.0f;
+ i_this->field_0x3964 = 0;
+ } else {
+ uVar15 = 1.0f;
+ }
+ }
+
+ f32 uVar14 = 0.0f;
+ if (i_this->field_0x3965 == 0) {
+ if (i_this->field_0x3969 == 1) {
+ uVar14 = (1.0f / 20.0f);
+ } else if (i_this->field_0x3969 == 2) {
+ uVar14 = 0.6f;
+ } else if (i_this->field_0x3969 == 3) {
+ uVar14 = (7.0f / 100.0f);
+ }
+ }
+
+ for (int i = 0; i < 13; i++) {
+ i_this->field_0x25a8[i].field_0x0[0].x = i_this->field_0x3928[1].x + (dVar16 * i);
+ i_this->field_0x25a8[i].field_0x0[0].y = i_this->field_0x3928[1].y + (dVar15 * i);
+ i_this->field_0x25a8[i].field_0x0[0].z = i_this->field_0x3928[1].z + (dVar14 * i);
+
+ cMtx_YrotS(*calc_mtx, local_134.y);
+
+ local_e4.z = cM_fsin(i * 0.2617994f);
+ local_e4.y = local_e4.z * -10.0f;
+ local_e4.z = local_e4.z * -20.0f;
+
+ MtxPosition(&local_e4, &cStack_f0);
+
+ i_this->field_0x25a8[i].field_0x0[i] += cStack_f0;
+
+ i_this->field_0x25a8[i].field_0x0138 = local_134.x;
+ i_this->field_0x25a8[i].field_0x013a = local_134.y + (i + -6) * 0x5dc;
+
+ for (int j = 0; j < 12; j++) {
+ i_this->field_0x25a8[i].field_0x0[j].x += local_108.x;
+ i_this->field_0x25a8[i].field_0x0[j].z += local_108.z;
+ }
+
+ joint_control(i_this, i_this->field_0x25a8, i, uVar15, uVar14);
+ }
}
/* 80862424-808624E8 001204 00C4+00 1/1 0/0 0/0 .text mant_move__FP10mant_class */
-static void mant_move(mant_class* param_0) {
- // NONMATCHING
+static void mant_move(mant_class* i_this) {
+ u8 uVar1 = i_this->field_0x0570.field_0x74;
+ cXyz* pcVar5 = i_this->field_0x0570.getPos();
+ mant_v_calc(i_this);
+ for (int i = 0; i < 13; i++) {
+ for (int j = 0; j < 13; j++) {
+ pcVar5[i + j * 13] = i_this->field_0x25a8[i].field_0x0[12 - j];
+ }
+ }
+
+ DCStoreRangeNoSync(i_this->field_0x0570.getPos(), 0x7ec);
}
-/* ############################################################################################## */
-/* 80862CE4-80862CE8 000098 0004+00 0/1 0/0 0/0 .rodata @4472 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4472 = 21.0f;
-COMPILER_STRIP_GATE(0x80862CE4, &lit_4472);
-#pragma pop
-
-/* 80862CE8-80862CEC 00009C 0004+00 0/1 0/0 0/0 .rodata @4473 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4473 = 0.75f;
-COMPILER_STRIP_GATE(0x80862CE8, &lit_4473);
-#pragma pop
-
-/* 80862CEC-80862CF0 0000A0 0004+00 0/1 0/0 0/0 .rodata @4474 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4474 = -5.0f;
-COMPILER_STRIP_GATE(0x80862CEC, &lit_4474);
-#pragma pop
-
-/* 80862CF0-80862CF4 0000A4 0004+00 0/1 0/0 0/0 .rodata @4475 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4475 = -3.0f;
-COMPILER_STRIP_GATE(0x80862CF0, &lit_4475);
-#pragma pop
-
-/* 80862CF4-80862CF8 0000A8 0004+00 0/1 0/0 0/0 .rodata @4476 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4476 = 25.0f;
-COMPILER_STRIP_GATE(0x80862CF4, &lit_4476);
-#pragma pop
-
-/* 80862CF8-80862CFC 0000AC 0004+00 0/1 0/0 0/0 .rodata @4477 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4477 = 11.0f / 20.0f;
-COMPILER_STRIP_GATE(0x80862CF8, &lit_4477);
-#pragma pop
-
-/* 80862CFC-80862D00 0000B0 0004+00 0/1 0/0 0/0 .rodata @4478 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4478 = -13.0f;
-COMPILER_STRIP_GATE(0x80862CFC, &lit_4478);
-#pragma pop
-
-/* 80862D00-80862D04 0000B4 0004+00 0/1 0/0 0/0 .rodata @4479 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4479 = 3.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80862D00, &lit_4479);
-#pragma pop
-
-/* 80862D04-80862D08 0000B8 0004+00 0/1 0/0 0/0 .rodata @4480 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4480 = 65536.0f;
-COMPILER_STRIP_GATE(0x80862D04, &lit_4480);
-#pragma pop
-
-/* 80862D08-80862D0C 0000BC 0004+00 0/1 0/0 0/0 .rodata @4481 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4481 = 32.0f;
-COMPILER_STRIP_GATE(0x80862D08, &lit_4481);
-#pragma pop
-
-/* 80862D0C-80862D10 0000C0 0004+00 0/1 0/0 0/0 .rodata @4482 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4482 = 64.0f;
-COMPILER_STRIP_GATE(0x80862D0C, &lit_4482);
-#pragma pop
-
/* 8086BF74-8086BF78 000004 0004+00 1/1 0/0 0/0 .bss mant_cut_type */
-static u8 mant_cut_type[4];
+static int mant_cut_type;
/* 808624E8-80862908 0012C8 0420+00 2/1 0/0 0/0 .text daMant_Execute__FP10mant_class */
-static void daMant_Execute(mant_class* param_0) {
+static int daMant_Execute(mant_class* i_this) {
// NONMATCHING
+ f32 in_f30, in_f31;
+ int unaff_r29, iVar2, uVar1, uVar4;
+
+ i_this->field_0x25a0++;
+ lbl_277_bss_0++;
+
+ if (i_this->field_0x399e != 0) {
+ i_this->field_0x399e--;
+ }
+
+ b_gnd_class* gndActor = (b_gnd_class*)fopAcM_SearchByID(i_this->parentActorID);
+
+ if (gndActor && gndActor->field_0x1fc4 != 0) {
+ i_this->field_0x394c = 21.0f;
+ i_this->field_0x3950 = 0.75f;
+ i_this->field_0x3958 = -5.0f;
+ i_this->field_0x3954 = -3.0f;
+ } else {
+ i_this->field_0x394c = 25.0f;
+ i_this->field_0x3950 = 0.55f + i_this->field_0x395c * 0.2f;
+ i_this->field_0x3958 = -20.0f + i_this->field_0x395c * 25.0f;
+ i_this->field_0x3954 = -13.0f - i_this->field_0x395c * 5.0f;
+ cLib_addCalc0(&i_this->field_0x395c, 1.0f, 0.05f);
+ cLib_addCalc0(&i_this->field_0x3960, 1.0f, 0.3f);
+ }
+
+ if (i_this->field_0x3965 != 0) {
+ i_this->field_0x3954 = 0.0f;
+ i_this->field_0x3958 = -10.0f;
+ }
+
+ mant_move(i_this);
+
+ i_this->field_0x3965 = 0;
+ i_this->field_0x3966 = 0;
+
+ i_this->field_0x3940 = i_this->current.pos;
+
+ int iVar8 = 0;
+
+ if (i_this->field_0x3967 != 0) {
+ mant_cut_type = i_this->field_0x3967;
+
+ if (i_this->field_0x3968 < 15) {
+ i_this->field_0x3968++;
+ if (mant_cut_type == 0) {
+ iVar8 = 40;
+ } else if (mant_cut_type == 1) {
+ iVar8 = 30;
+ } else {
+ iVar8 = 20;
+ }
+
+ unaff_r29 = cM_rndF(65536.0f);
+ in_f31 = cM_rndFX(32.0f);
+ in_f30 = cM_rndFX(32.0f);
+ }
+
+ i_this->field_0x3967 = 0;
+ }
+
+ for (int i = 0; i < iVar8; i++) {
+ in_f31 += cM_ssin(unaff_r29);
+ in_f30 -= cM_scos(unaff_r29);
+
+ uVar4 = (int)(in_f31 + 64.0f) | (int)(in_f30 + 64.0f) << 7;
+
+ if (mant_cut_type == 0) {
+ if (i <= 3 || 36 <= i) {
+ iVar2 = 1;
+ } else if (i >= 12 && 28 >= i) {
+ iVar2 = 9;
+ } else {
+ iVar2 = 4;
+ }
+ } else if (mant_cut_type == 1) {
+ if (i <= 3 || 26 <= i) {
+ iVar2 = 1;
+ } else if (i >= 12 && 18 >= i) {
+ iVar2 = 9;
+ } else {
+ iVar2 = 4;
+ }
+ } else if (i <= 3 || 16 <= i) {
+ iVar2 = 1;
+ } else {
+ iVar2 = 4;
+ }
+
+ for (int j = 0; j < iVar2; j++) {
+ if (j != 0) {
+ if (j == 1) {
+ uVar4 = uVar1++;
+ } else if (j == 2) {
+ uVar4 = uVar1 + 0x80;
+ } else if (j == 3) {
+ uVar4 = uVar1 + 0x81;
+ } else {
+ if (j == 3) {
+ uVar4 = uVar1 + 0x81;
+ } else {
+ if (j == 4) {
+ uVar4 = uVar1 + 2;
+ } else if (j == 5) {
+ uVar4 = uVar1 + 0x82;
+ } else if (j == 6) {
+ uVar4 = uVar1 + 0x102;
+ } else if (j == 7) {
+ uVar4 = uVar1 + 0x101;
+ } else if (j == 8) {
+ uVar4 = uVar1 + 0x100;
+ }
+ }
+ }
+ }
+
+ if (0 <= uVar4 && uVar4 < 0x4000) {
+ int iVar5 = (uVar4 & 7) + (uVar4 & 0x78) * 4 + (uVar4 >> 4 & 0x18) + (uVar4 & 0x3e00);
+ l_Egnd_mantTEX_U[iVar5] = 0;
+ l_Egnd_mantTEX[iVar5] = 0;
+ }
+ }
+ }
+
+ return 1;
}
/* 80862908-80862910 0016E8 0008+00 1/0 0/0 0/0 .text daMant_IsDelete__FP10mant_class */
-static bool daMant_IsDelete(mant_class* param_0) {
+static bool daMant_IsDelete(mant_class* i_this) {
return true;
}
/* 80862910-80862918 0016F0 0008+00 1/0 0/0 0/0 .text daMant_Delete__FP10mant_class */
-static bool daMant_Delete(mant_class* param_0) {
- return true;
+static int daMant_Delete(mant_class* i_this) {
+ return 1;
+}
+
+/* 80862918-80862AC0 0016F8 01A8+00 1/0 0/0 0/0 .text daMant_Create__FP10fopAc_ac_c */
+static int daMant_Create(fopAc_ac_c* i_this) {
+ // NONMATCHING
+ mant_class* m_this = (mant_class*)i_this;
+
+ // m_this->field_0x0570.field_0x74 = 0;
+ fopAcM_SetupActor(m_this, mant_class);
+ m_this->field_0x259c = fopAcM_GetParam(i_this);
+
+ fopAcM_SetMin(i_this, -2000.0f, -2000.0f, -2000.0f);
+ fopAcM_SetMax(i_this, 2000.0f, 2000.0f, 2000.0f);
+
+ m_this->field_0x0570.mArg0 = m_this->field_0x259c;
+ m_this->field_0x394c = 30.0f;
+ m_this->field_0x3950 = 7.0f / 10.0f;
+ m_this->field_0x3958 = -10.0f;
+ m_this->scale.set(1.0f, 1.0f, 1.0f);
+
+ for (int i = 0; i < 0x4000; i++) {
+ l_Egnd_mantTEX_U[i] = 6;
+ }
+
+ lbl_277_bss_0 = 0;
+ daMant_Execute(m_this);
+ return 4;
}
-/* ############################################################################################## */
-/* 80862D10-80862D14 0000C4 0004+00 0/1 0/0 0/0 .rodata @4536 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4536 = -2000.0f;
-COMPILER_STRIP_GATE(0x80862D10, &lit_4536);
-#pragma pop
-
-/* 80862D14-80862D18 0000C8 0004+00 0/1 0/0 0/0 .rodata @4537 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4537 = 2000.0f;
-COMPILER_STRIP_GATE(0x80862D14, &lit_4537);
-#pragma pop
-
-/* 80862D18-80862D1C 0000CC 0004+00 0/1 0/0 0/0 .rodata @4538 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4538 = 30.0f;
-COMPILER_STRIP_GATE(0x80862D18, &lit_4538);
-#pragma pop
-
-/* 80862D1C-80862D20 0000D0 0004+00 0/1 0/0 0/0 .rodata @4539 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4539 = 7.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80862D1C, &lit_4539);
-#pragma pop
+/* 80862AC0-80862B3C 0018A0 007C+00 1/1 0/0 0/0 .text __dt__8mant_j_sFv */
+mant_j_s::~mant_j_s() {}
+
+/* 80862B3C-80862BA4 00191C 0068+00 1/1 0/0 0/0 .text __ct__8mant_j_sFv */
+mant_j_s::mant_j_s() {}
+
+/* 80862BA4-80862C40 001984 009C+00 1/0 0/0 0/0 .text __dt__15daMant_packet_cFv */
+daMant_packet_c::~daMant_packet_c() {}
+
+/* 80862C40-80862C44 001A20 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */
+// cXyz::cXyz() {
+extern "C" void __ct__4cXyzFv() {
+ /* empty function */
+}
/* 8086BF08-8086BF28 -00001 0020+00 1/0 0/0 0/0 .data l_daMant_Method */
static actor_method_class l_daMant_Method = {
- (process_method_func)daMant_Create__FP10fopAc_ac_c,
- (process_method_func)daMant_Delete__FP10mant_class,
- (process_method_func)daMant_Execute__FP10mant_class,
- (process_method_func)daMant_IsDelete__FP10mant_class,
- (process_method_func)daMant_Draw__FP10mant_class,
+ (process_method_func)daMant_Create,
+ (process_method_func)daMant_Delete,
+ (process_method_func)daMant_Execute,
+ (process_method_func)daMant_IsDelete,
+ (process_method_func)daMant_Draw,
};
/* 8086BF28-8086BF58 -00001 0030+00 0/0 0/0 1/0 .data g_profile_MANT */
@@ -812,38 +835,3 @@ extern actor_process_profile_definition g_profile_MANT = {
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
-
-/* 8086BF58-8086BF6C 009238 0014+00 2/2 0/0 0/0 .data __vt__15daMant_packet_c */
-SECTION_DATA extern void* __vt__15daMant_packet_c[5] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)entry__9J3DPacketFP13J3DDrawBuffer,
- (void*)draw__15daMant_packet_cFv,
- (void*)__dt__15daMant_packet_cFv,
-};
-
-/* 80862918-80862AC0 0016F8 01A8+00 1/0 0/0 0/0 .text daMant_Create__FP10fopAc_ac_c */
-static void daMant_Create(fopAc_ac_c* param_0) {
- // NONMATCHING
-}
-
-/* 80862AC0-80862B3C 0018A0 007C+00 1/1 0/0 0/0 .text __dt__8mant_j_sFv */
-mant_j_s::~mant_j_s() {
- // NONMATCHING
-}
-
-/* 80862B3C-80862BA4 00191C 0068+00 1/1 0/0 0/0 .text __ct__8mant_j_sFv */
-mant_j_s::mant_j_s() {
- // NONMATCHING
-}
-
-/* 80862BA4-80862C40 001984 009C+00 1/0 0/0 0/0 .text __dt__15daMant_packet_cFv */
-daMant_packet_c::~daMant_packet_c() {
- // NONMATCHING
-}
-
-/* 80862C40-80862C44 001A20 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */
-// cXyz::cXyz() {
-extern "C" void __ct__4cXyzFv() {
- /* empty function */
-}