summaryrefslogtreecommitdiff
path: root/src/d/d_wood.cpp
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2024-10-31 18:43:53 -0400
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2024-10-31 18:43:53 -0400
commit2dfcdd84abef6c1cfe8950304c7a0cc6aca239ba (patch)
treee364535262ebaceef79a5b7ba0d2ac1d02e2a590 /src/d/d_wood.cpp
parent64cc277d055439456e926e294fc131d91685b6ff (diff)
clean up d_wood and d_tree data, match d_wood on JPN, match rest of d_tree .data section
Diffstat (limited to 'src/d/d_wood.cpp')
-rw-r--r--src/d/d_wood.cpp622
1 files changed, 462 insertions, 160 deletions
diff --git a/src/d/d_wood.cpp b/src/d/d_wood.cpp
index a7732220..42db451f 100644
--- a/src/d/d_wood.cpp
+++ b/src/d/d_wood.cpp
@@ -5,14 +5,9 @@
#include "d/d_wood.h"
#include "JAZelAudio/JAIZelBasic.h"
-#include "JSystem/J3DGraphBase/J3DShape.h"
-#include "JSystem/J3DU/J3DUClipper.h"
-#include "JSystem/JMath/JMath.h"
#include "JSystem/JUtility/JUTAssert.h"
-#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
#include "SSystem/SComponent/c_lib.h"
#include "d/d_bg_s_gnd_chk.h"
-#include "d/d_bg_s_spl_grp_chk.h"
#include "d/d_com_inf_game.h"
#include "d/d_drawlist.h"
#include "d/d_kankyo_wether.h"
@@ -24,10 +19,16 @@
#include "dolphin/gf/GFTransform.h"
#include "dolphin/gx/GXAttr.h"
#include "dolphin/gx/GXDisplayList.h"
+#include "dolphin/gx/GXStruct.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_lib.h"
#include "m_Do/m_Do_mtx.h"
+#include "weak_data_2100_2080.h" // IWYU pragma: keep
+
+#define CONST_U32(v) ((u8)((v) >> 16)), ((u8)((v) >> 8)), ((u8)((v) >> 0))
+#define IMAGE_ADDR(addr) CONST_U32((u32)(addr) >> 5)
+
//-----------------------------------------
// Types
//-----------------------------------------
@@ -43,27 +44,27 @@ struct AttrSway_c {
/* 0x2 */ s16 ampY;
/* 0x4 */ s16 phaseVelX;
/* 0x6 */ s16 ampX;
- /* 0x8 */ float phaseBiasX;
+ /* 0x8 */ f32 phaseBiasX;
};
struct Attr_c {
- /* 0x0 */ AttrSway_c kSways[4][2];
- /* 0x60 */ u8 kCutCooldown; // = 20
- /* 0x61 */ u8 kCutFadeStart; // = 20 (Countdown time at which bush starts to fade out)
- /* 0x62 */ u8 kCutAlphaFadeSpeed; // = 14
- /* 0x64 */ float kCutInitVelY; // = 18.0f
- /* 0x68 */ float kCutYAccel; // = -3.0f (Units per frame per frame)
- /* 0x6C */ float kCutZVel; // = 2.5f (Units per frame)
- /* 0x70 */ s16 kCutPitchVel; // = 200 (shortRad per frame)
- /* 0x74 */ float kUncutShadowScale; // = 1.5f
- /* 0x78 */ float kCutShadowScale; // = 0.3f
- /* 0x7c */ float kCollisionRad; // = 80.0f;
- /* 0x80 */ float kCollisionRadCut; // = 15.0f;
- /* 0x84 */ float kCollisionHeight; // = 80.0f;
- /* 0x88 */ float kCollisionHeightCut; // = 15.0f;
- /* 0x8c */ float kClipRadius; // = 100.0f;
- /* 0x90 */ float kClipCenterYOffset; // = 40.0f;
- /* 0x94 */ u8 kPushBackCountdown; // = 23
- /* 0x95 */ const u8 L_Alpha_Cutoff; // = 0x80;
+ /* 0x00 */ AttrSway_c kSways[4][2];
+ /* 0x60 */ u8 kCutCooldown; // = 20
+ /* 0x61 */ u8 kCutFadeStart; // = 20 (Countdown time at which bush starts to fade out)
+ /* 0x62 */ u8 kCutAlphaFadeSpeed; // = 14
+ /* 0x64 */ f32 kCutInitVelY; // = 18.0f
+ /* 0x68 */ f32 kCutYAccel; // = -3.0f (Units per frame per frame)
+ /* 0x6C */ f32 kCutZVel; // = 2.5f (Units per frame)
+ /* 0x70 */ s16 kCutPitchVel; // = 200 (shortRad per frame)
+ /* 0x74 */ f32 kUncutShadowScale; // = 1.5f
+ /* 0x78 */ f32 kCutShadowScale; // = 0.3f
+ /* 0x7C */ f32 kCollisionRad; // = 80.0f;
+ /* 0x80 */ f32 kCollisionRadCut; // = 15.0f;
+ /* 0x84 */ f32 kCollisionHeight; // = 80.0f;
+ /* 0x88 */ f32 kCollisionHeightCut; // = 15.0f;
+ /* 0x8C */ f32 kClipRadius; // = 100.0f;
+ /* 0x90 */ f32 kClipCenterYOffset; // = 40.0f;
+ /* 0x94 */ u8 kPushBackCountdown; // = 23
+ /* 0x95 */ u8 L_Alpha_Cutoff; // = 0x80;
};
typedef void (dWood::Anm_c::*modeProcFunc)(dWood::Packet_c *);
@@ -71,72 +72,381 @@ typedef void (dWood::Anm_c::*modeProcFunc)(dWood::Packet_c *);
//-----------------------------------------
// Data
//-----------------------------------------
-static Vec dummy1 = { 1.0f, 1.0f, 1.0f };
-static Vec dummy2 = { 1.0f, 1.0f, 1.0f };
namespace dWood {
namespace {
// .data
-u8 l_Txa_swood_bTEX[0x800] ALIGN_DECL(32) = { 0x34, 0x66, 0x3c, 0xe7, 0xff, 0xff, 0x55, 0x80, 0x3c, 0x86, 0x3c, 0xe7, 0xff, 0xff, 0x5b, 0x95, 0x2c, 0x05, 0x2b, 0xc4, 0x2d, 0xa0, 0xa0, 0x00, 0x3c, 0xc7, 0x2c, 0x05, 0x78, 0x57, 0x55, 0x55, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0x7f, 0x3c, 0xa7, 0x3d, 0x07, 0xff, 0xff, 0xfa, 0x81, 0x2c, 0x25, 0x3c, 0xc7, 0x5d, 0x55, 0x95, 0x24, 0x3c, 0xe7, 0x2b, 0xe5, 0x0a, 0x37, 0xd5, 0x75, 0x3c, 0xc7, 0x3c, 0xe7, 0xff, 0xff, 0x3f, 0x4f, 0x00, 0x00, 0x3c, 0xc7, 0xff, 0xff, 0xff, 0xfd, 0x3c, 0xa7, 0x3c, 0xe7, 0xaf, 0x5d, 0x55, 0x14, 0x3c, 0xc7, 0x2c, 0x05, 0x00, 0x00, 0x0b, 0xd5, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0x57, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x34, 0x46, 0x3c, 0xe7, 0x57, 0x57, 0x17, 0x17, 0x3c, 0xc7, 0x3c, 0xc7, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xc7, 0x3c, 0xc7, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xfd, 0xf5, 0xf5, 0x3c, 0xc7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0x95, 0x34, 0x25, 0x3c, 0xe7, 0xf5, 0xd5, 0xd6, 0xd4, 0x3c, 0xc7, 0x3c, 0xe7, 0xff, 0x7f, 0x87, 0x55, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xc7, 0x2b, 0xe5, 0xe0, 0x5c, 0x56, 0x5f, 0x3c, 0xa7, 0x3c, 0xe7, 0x7f, 0x7f, 0x5d, 0x95, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x2c, 0x25, 0x3c, 0xc7, 0xf5, 0x55, 0x56, 0x40, 0x3c, 0xc7, 0x2b, 0xc5, 0x00, 0x00, 0xff, 0x5d, 0x2c, 0x25, 0x2b, 0xe5, 0xae, 0x38, 0x03, 0x3e, 0x2c, 0x25, 0x2b, 0xc5, 0x80, 0xa0, 0x72, 0xae, 0x2c, 0x25, 0x2b, 0xc5, 0x2a, 0xe2, 0xe0, 0x62, 0x2c, 0x05, 0x23, 0x84, 0x05, 0xa5, 0x25, 0x85, 0x2c, 0x25, 0x2b, 0xe5, 0xe1, 0x9a, 0xfc, 0x3a, 0x2c, 0x05, 0x2b, 0xe5, 0x82, 0xc3, 0x00, 0xc2, 0x2c, 0x05, 0x23, 0x84, 0x80, 0x60, 0x58, 0x56, 0x2c, 0x05, 0x2b, 0xc5, 0x80, 0x03, 0xf0, 0x0e, 0x3c, 0xe7, 0x2c, 0x05, 0x81, 0x85, 0xf7, 0x55, 0x34, 0x46, 0x2b, 0xe5, 0xfb, 0xe9, 0xfa, 0xb4, 0x2c, 0x05, 0x23, 0x84, 0x00, 0x28, 0xd0, 0x58, 0x3c, 0xe7, 0x2b, 0xe5, 0x54, 0x5c, 0x77, 0x5d, 0x34, 0x86, 0x3c, 0xe7, 0x17, 0x17, 0x9f, 0x5f, 0x3c, 0xe7, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0x2c, 0x05, 0x3c, 0xc7, 0x5f, 0x55, 0x95, 0x01, 0x00, 0x00, 0x3c, 0xe7, 0xfd, 0x5d, 0x5f, 0x5f, 0x3c, 0xc7, 0x3c, 0xe7, 0xff, 0xff, 0xf9, 0x55, 0x3c, 0xc7, 0x3c, 0xe7, 0xfd, 0xfd, 0x59, 0x41, 0x3c, 0xe7, 0x2b, 0xc5, 0x00, 0x0f, 0x0d, 0x01, 0x3c, 0xa7, 0x23, 0x84, 0x00, 0xfa, 0xef, 0xf7, 0x3c, 0xe7, 0x2c, 0x05, 0x00, 0x26, 0x25, 0x25, 0x3c, 0xe7, 0x2c, 0x05, 0x01, 0x0d, 0xf5, 0x55, 0x3d, 0x07, 0x2c, 0x05, 0x25, 0xf5, 0x55, 0x55, 0x2c, 0x05, 0x23, 0x84, 0x00, 0x20, 0x00, 0x60, 0x2c, 0x05, 0x2b, 0xc5, 0x08, 0x00, 0x60, 0x82, 0x3c, 0xc7, 0x2b, 0xe5, 0xc2, 0x6d, 0x55, 0xf5, 0x2c, 0x05, 0x2b, 0xc5, 0x30, 0x02, 0x02, 0x00, 0x2c, 0x05, 0x23, 0x84, 0x0a, 0x0d, 0x0d, 0x15, 0x2c, 0x25, 0x2b, 0xe5, 0x98, 0x5b, 0xa3, 0x89, 0x2c, 0x05, 0x2b, 0xc5, 0x20, 0x00, 0x02, 0x0c, 0x2c, 0x05, 0x23, 0x64, 0xa8, 0x78, 0x58, 0xfc, 0x2c, 0x05, 0x2b, 0xe5, 0x20, 0x90, 0x09, 0x02, 0x2c, 0x25, 0x2b, 0xc5, 0xa2, 0xb8, 0x98, 0x02, 0x2c, 0x25, 0x23, 0x84, 0x85, 0x2d, 0x3d, 0x89, 0x2c, 0x25, 0x2b, 0xe5, 0x26, 0x76, 0x7a, 0x82, 0x2c, 0x05, 0x2b, 0xa4, 0x01, 0x02, 0x02, 0x02, 0x2b, 0x84, 0x23, 0x64, 0x08, 0x00, 0x20, 0x00, 0x2c, 0x05, 0x23, 0x84, 0x03, 0x81, 0x49, 0x6d, 0x23, 0x84, 0x23, 0x64, 0x00, 0x00, 0x02, 0x22, 0x23, 0x84, 0x23, 0x64, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x25, 0x23, 0x84, 0x58, 0x7a, 0x7a, 0x70, 0x2c, 0x05, 0x2b, 0xe5, 0xa0, 0x80, 0x00, 0x23, 0x2c, 0x25, 0x23, 0x84, 0x78, 0x68, 0x60, 0xef, 0x2c, 0x05, 0x2b, 0xc5, 0x02, 0x98, 0x20, 0x55, 0x3c, 0xc7, 0x2c, 0x05, 0x5c, 0x50, 0x70, 0x40, 0x3c, 0xc7, 0x3c, 0xe7, 0x7f, 0xbf, 0xff, 0x5f, 0x3c, 0xc7, 0x2c, 0x05, 0x78, 0x55, 0x55, 0x55, 0x3c, 0xe7, 0x2b, 0xc5, 0x00, 0xe0, 0x58, 0xe0, 0x34, 0x46, 0x3c, 0xe7, 0xd4, 0xf5, 0xfd, 0xfd, 0x3c, 0xe7, 0x2c, 0x05, 0x55, 0xd5, 0x0b, 0x03, 0x2b, 0xe5, 0x3c, 0xe7, 0xd5, 0x58, 0x58, 0x56, 0x34, 0x46, 0x2b, 0xe5, 0x03, 0x5f, 0x7d, 0x7d, 0x2c, 0x05, 0x2b, 0xc5, 0x03, 0x08, 0x00, 0x82, 0x2c, 0x05, 0x23, 0x84, 0x5c, 0x56, 0xd5, 0xd5, 0x2c, 0x05, 0x2b, 0xe5, 0x02, 0x08, 0x88, 0x00, 0x2c, 0x25, 0x23, 0x84, 0x95, 0x35, 0x25, 0x2d, 0x2c, 0x05, 0x23, 0x84, 0x08, 0x02, 0x03, 0x4d, 0x2b, 0xc5, 0x23, 0x84, 0x17, 0xff, 0xff, 0x75, 0x2b, 0xc5, 0x23, 0x64, 0x8b, 0xff, 0xff, 0xad, 0x23, 0x84, 0x23, 0x64, 0x00, 0x00, 0x08, 0x08, 0x2c, 0x05, 0x23, 0x84, 0x5c, 0x5c, 0x58, 0x70, 0x2c, 0x05, 0x2b, 0xc5, 0xe0, 0x08, 0x00, 0x08, 0x2c, 0x05, 0x23, 0x84, 0x60, 0xc2, 0xc0, 0x80, 0x2c, 0x25, 0x2b, 0xc5, 0x0a, 0x0a, 0xca, 0x88, 0x2c, 0x05, 0x2b, 0xc5, 0x02, 0xa0, 0x00, 0x62, 0x2c, 0x05, 0x2b, 0xe5, 0x02, 0x00, 0xf0, 0x51, 0x2c, 0x25, 0x2b, 0xc5, 0x60, 0x0b, 0x28, 0xf0, 0x2c, 0x25, 0x2b, 0xc5, 0x8b, 0x7e, 0xaa, 0x82, 0x2c, 0x05, 0x23, 0x84, 0xd5, 0x35, 0x25, 0x09, 0x23, 0x84, 0x23, 0x64, 0x80, 0x00, 0x00, 0x00, 0x2c, 0x05, 0x23, 0x84, 0x01, 0x02, 0x00, 0x03, 0x2b, 0xe5, 0x23, 0x84, 0x55, 0x57, 0xd5, 0x15, 0x23, 0x84, 0x23, 0x64, 0x02, 0x00, 0x00, 0x80, 0x2c, 0x05, 0x23, 0x84, 0x55, 0x56, 0x50, 0x80, 0x2c, 0x05, 0x23, 0x84, 0x78, 0x70, 0x50, 0x58, 0x2c, 0x05, 0x2b, 0xc5, 0x0e, 0x00, 0x00, 0x02, 0x34, 0x86, 0x2b, 0xe5, 0x5e, 0xdc, 0x7d, 0x5f, 0x2c, 0x25, 0x3d, 0x07, 0x97, 0x7f, 0x9f, 0x27, 0x34, 0x46, 0x2b, 0xc5, 0xa7, 0xfa, 0xdb, 0xe2, 0x3c, 0xe7, 0x2c, 0x05, 0x70, 0x58, 0x5c, 0x5c, 0x3c, 0xc7, 0x3c, 0xe7, 0xd5, 0xfd, 0xff, 0xff, 0x2c, 0x05, 0x3c, 0xe7, 0x80, 0x58, 0xd4, 0x50, 0x3c, 0xc7, 0x3c, 0xe7, 0xff, 0x7e, 0x7d, 0x3d, 0x3c, 0xe7, 0x2c, 0x05, 0x25, 0x25, 0x3d, 0x00, 0x2c, 0x05, 0x23, 0x84, 0x00, 0x00, 0x0b, 0x35, 0x2c, 0x05, 0x23, 0x84, 0x09, 0xb5, 0x55, 0x55, 0x3c, 0x86, 0x23, 0x84, 0x95, 0xef, 0xee, 0x00, 0x2c, 0x05, 0x23, 0x84, 0x75, 0x05, 0x0d, 0x05, 0x23, 0x84, 0x23, 0x64, 0x00, 0x80, 0x80, 0x02, 0x2b, 0xe5, 0x23, 0x84, 0x57, 0x54, 0xdc, 0x50, 0x23, 0x84, 0x23, 0x64, 0x02, 0x00, 0x80, 0x02, 0x2c, 0x05, 0x23, 0x64, 0xf0, 0x60, 0x40, 0xc0, 0x2c, 0x25, 0x2b, 0xe5, 0x0a, 0xba, 0xab, 0xb8, 0x8b, 0x28, 0x2c, 0x05, 0x55, 0x57, 0x58, 0xe0, 0x83, 0x28, 0x2c, 0x05, 0x57, 0x5c, 0x60, 0x80, 0x8b, 0x28, 0x83, 0x48, 0x4f, 0xbf, 0xff, 0xff, 0x2c, 0x25, 0x2b, 0xa4, 0xe0, 0x2a, 0xaa, 0xa2, 0x2c, 0x25, 0x2b, 0xe5, 0x3c, 0x3e, 0x16, 0x3b, 0x2c, 0x05, 0x2b, 0xa4, 0x08, 0x24, 0x08, 0x00, 0x2c, 0x05, 0x2b, 0xc5, 0x03, 0x00, 0x00, 0x28, 0x2c, 0x05, 0x2b, 0xc5, 0x07, 0x00, 0x00, 0x02, 0x2c, 0x05, 0x23, 0x84, 0x35, 0x25, 0x0d, 0x09, 0x2c, 0x25, 0x2b, 0xe5, 0x82, 0x82, 0xeb, 0xa2, 0x2c, 0x05, 0x23, 0x84, 0x81, 0x02, 0x08, 0x00, 0x2c, 0x25, 0x23, 0x84, 0x5c, 0x5c, 0x54, 0x56, 0x2c, 0x05, 0x2b, 0xc5, 0x32, 0x02, 0x0e, 0x80, 0x2b, 0xe5, 0x23, 0x84, 0x57, 0x54, 0x94, 0x3c, 0x3c, 0xa7, 0x2b, 0xe5, 0x75, 0xd6, 0x58, 0xe0, 0x2c, 0x05, 0x3c, 0xe7, 0x25, 0x25, 0x17, 0x17, 0x3c, 0xc7, 0x3c, 0xe7, 0x85, 0x55, 0xff, 0xff, 0x3c, 0xc7, 0x3c, 0xe7, 0x1f, 0x5f, 0xbf, 0x5f, 0x3c, 0xe7, 0x3d, 0x07, 0xff, 0xff, 0xfc, 0xfd, 0x3c, 0xc7, 0x3c, 0xe7, 0x3f, 0x7f, 0xff, 0xff, 0x3c, 0xc7, 0x3c, 0xe7, 0x55, 0xff, 0xff, 0xff, 0x2b, 0xe5, 0x3c, 0xc7, 0xff, 0x57, 0x55, 0x49, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0x7f, 0x3c, 0xa7, 0x3c, 0xe7, 0x5d, 0xfe, 0xf4, 0xf6, 0x2c, 0x25, 0x23, 0x84, 0x25, 0x25, 0x25, 0x25, 0x3c, 0x86, 0x3c, 0xe7, 0xf4, 0xf6, 0xfe, 0x55, 0x3c, 0xc7, 0x23, 0x84, 0xf5, 0xfd, 0xbd, 0x2f, 0x2c, 0x05, 0x23, 0x84, 0x55, 0x56, 0x5c, 0x58, 0x8b, 0x28, 0x33, 0xe5, 0x56, 0x58, 0x60, 0x80, 0x83, 0x28, 0x2b, 0xa4, 0x56, 0x58, 0x60, 0xc0, 0xa4, 0x2c, 0x83, 0x28, 0x55, 0x55, 0x55, 0x54, 0x8b, 0x49, 0x83, 0x08, 0x80, 0x00, 0x02, 0x0c, 0xa4, 0x2c, 0x83, 0x28, 0x55, 0x55, 0x55, 0x25, 0xee, 0x73, 0x83, 0x28, 0x56, 0x70, 0xc0, 0x00, 0xee, 0x73, 0x8b, 0x48, 0x0d, 0x01, 0x01, 0x01, 0x2c, 0x05, 0x2b, 0xc5, 0x07, 0x28, 0x80, 0x00, 0x2c, 0x25, 0x2b, 0xe5, 0x28, 0x28, 0xd6, 0x6a, 0x2c, 0x25, 0x2b, 0xe5, 0x8a, 0xea, 0xe8, 0xe0, 0x2c, 0x05, 0x2b, 0xe5, 0x00, 0x80, 0xa2, 0xb0, 0x2c, 0x05, 0x2b, 0xe5, 0x02, 0x20, 0x08, 0x01, 0x2c, 0x25, 0x2b, 0xc5, 0x2a, 0xa5, 0x8a, 0x68, 0x2c, 0x05, 0x2b, 0xe5, 0x20, 0x02, 0x03, 0x20, 0x2c, 0x05, 0x2b, 0xc5, 0x08, 0x02, 0x20, 0xe0, 0x2c, 0x05, 0x2b, 0xc5, 0x00, 0x00, 0x09, 0x02, 0x34, 0x25, 0x2b, 0xe5, 0x00, 0x28, 0xe4, 0x8f, 0x2c, 0x05, 0x2b, 0xe5, 0x0a, 0xc1, 0x88, 0x20, 0x2c, 0x05, 0x2b, 0xa5, 0x02, 0xc0, 0x0a, 0x0d, 0x3c, 0xe7, 0x2c, 0x05, 0x80, 0x70, 0x56, 0x75, 0x2c, 0x05, 0x3c, 0xe7, 0xf5, 0x76, 0x54, 0x58, 0x2c, 0x05, 0x2b, 0xe5, 0x82, 0x22, 0x00, 0x00, 0x3c, 0xa7, 0x2c, 0x05, 0x85, 0x55, 0x5d, 0x55, 0x34, 0x86, 0x2b, 0xe5, 0xf4, 0x5c, 0xde, 0xdf, 0x34, 0x46, 0x3c, 0xe7, 0x7d, 0x55, 0x55, 0x54, 0x2c, 0x05, 0x2b, 0xe5, 0x0a, 0xe0, 0x0e, 0x08, 0x45, 0x07, 0x2c, 0x05, 0x8d, 0xe5, 0x55, 0x55, 0x3c, 0xe7, 0x2c, 0x05, 0x02, 0x2d, 0xd7, 0x55, 0x83, 0x28, 0x2c, 0x25, 0x57, 0x5c, 0x70, 0x40, 0x8b, 0x28, 0x2b, 0xe5, 0x55, 0x56, 0x5c, 0x58, 0x83, 0x28, 0x6b, 0x67, 0x40, 0x00, 0x00, 0x00, 0x93, 0x89, 0x83, 0x07, 0xff, 0xff, 0xfd, 0xfc, 0xee, 0x73, 0x83, 0x08, 0x5c, 0x70, 0xc0, 0x00, 0xbc, 0xce, 0x83, 0x28, 0x54, 0x54, 0x57, 0x55, 0xee, 0x74, 0x83, 0x28, 0x00, 0x00, 0x80, 0x5f, 0xee, 0x94, 0xe6, 0x52, 0x1e, 0x60, 0x80, 0x02, 0xee, 0x93, 0x83, 0x08, 0x09, 0x09, 0x09, 0x09, 0xee, 0x74, 0xac, 0x8d, 0x00, 0x00, 0x00, 0x55, 0xee, 0x74, 0x83, 0x08, 0x0d, 0x0d, 0x25, 0xd5, 0x2c, 0x25, 0x2b, 0xc5, 0x0b, 0xab, 0x98, 0x08, 0x2c, 0x25, 0x2b, 0xe5, 0xaf, 0xa8, 0x22, 0xac, 0x2c, 0x25, 0x2b, 0xe5, 0xee, 0x7b, 0xda, 0xac, 0x2c, 0x05, 0x2b, 0xc5, 0x1c, 0x22, 0x0c, 0x0a, 0x2c, 0x05, 0x2b, 0xe5, 0x01, 0x50, 0xe2, 0x80, 0x2c, 0x05, 0x2b, 0xe5, 0x80, 0x20, 0xe2, 0x8b, 0x2c, 0x25, 0x2b, 0xe5, 0x6e, 0xa6, 0xb8, 0x8a, 0x2c, 0x25, 0x2b, 0xc5, 0x3a, 0x3e, 0x0a, 0x00, 0x2c, 0x05, 0x2b, 0xa4, 0x20, 0x00, 0x20, 0x24, 0x2c, 0x05, 0x23, 0x84, 0x01, 0x23, 0x03, 0x08, 0x2c, 0x25, 0x2b, 0xe5, 0x96, 0xf0, 0xa0, 0x8f, 0x2c, 0x05, 0x2b, 0xc5, 0x40, 0x80, 0x02, 0x02, 0x2b, 0xe5, 0x23, 0x84, 0xc0, 0x70, 0x5c, 0xf6, 0x2c, 0x25, 0x2b, 0xe5, 0x28, 0xbe, 0xb8, 0xad, 0x2b, 0xe5, 0x23, 0x84, 0x9d, 0x35, 0x25, 0x07, 0x2c, 0x05, 0x23, 0x84, 0x80, 0x40, 0x70, 0x70, 0x2c, 0x05, 0x2b, 0xc5, 0x00, 0x92, 0x30, 0x00, 0x2c, 0x05, 0x23, 0x64, 0x02, 0x8b, 0x2d, 0xd5, 0x2c, 0x05, 0x2b, 0x84, 0x00, 0x03, 0x09, 0x0d, 0x2c, 0x25, 0x23, 0x84, 0x57, 0x57, 0x56, 0x5c, 0x5b, 0x87, 0x2b, 0xe5, 0x5c, 0xd5, 0x55, 0x55, 0x8b, 0x48, 0x2c, 0x05, 0x80, 0x58, 0x5c, 0x5c, 0x2c, 0x05, 0x2b, 0xc5, 0x00, 0x87, 0x00, 0x20, 0xa3, 0xa8, 0x2c, 0x05, 0x58, 0x55, 0x55, 0x5c, 0xa3, 0xc8, 0x83, 0x28, 0x55, 0x55, 0xff, 0x00, 0xa3, 0xc8, 0x83, 0x28, 0x55, 0x55, 0xff, 0x00, 0xa3, 0xc8, 0x7a, 0xe7, 0xaa, 0x55, 0xff, 0x00, 0xa3, 0xc8, 0x7a, 0xe7, 0xaa, 0x55, 0xff, 0x00, 0xa3, 0xc8, 0x83, 0x28, 0x55, 0x55, 0xff, 0x00, 0xa3, 0xc8, 0x83, 0x28, 0x55, 0x55, 0xff, 0x00, 0xa3, 0xc8, 0x7a, 0xe7, 0xaa, 0x55, 0xff, 0x00, 0xa3, 0xa8, 0x7a, 0xe7, 0xaa, 0x55, 0xff, 0x00, 0x2c, 0x25, 0x2b, 0xe5, 0xaa, 0x51, 0xa1, 0xe1, 0x2c, 0x25, 0x2b, 0xe5, 0x52, 0xa0, 0xc2, 0x40, 0x2c, 0x25, 0x2b, 0x84, 0x82, 0x02, 0xa0, 0x70, 0x2c, 0x25, 0x2b, 0xe5, 0x82, 0xe3, 0xaa, 0x08, 0x2c, 0x25, 0x2b, 0xc5, 0x2b, 0xbe, 0xaa, 0x08, 0x2c, 0x05, 0x2b, 0xc5, 0x0a, 0xc3, 0x88, 0x08, 0x2c, 0x05, 0x2b, 0xe5, 0x80, 0x4f, 0x8a, 0x01, 0x2c, 0x25, 0x2b, 0xe5, 0x06, 0x0a, 0xcf, 0xcd, 0x2c, 0x25, 0x2b, 0xe5, 0xa6, 0xca, 0x82, 0x2a, 0x2c, 0x05, 0x2b, 0xc5, 0x20, 0x00, 0x0a, 0x04, 0x2c, 0x25, 0x2b, 0xe5, 0xba, 0xb0, 0x8a, 0x8f, 0x2c, 0x05, 0x2b, 0xe5, 0x00, 0x38, 0x14, 0x02, 0x2c, 0x25, 0x23, 0x84, 0x05, 0x8d, 0x89, 0x01, 0x2c, 0x05, 0x23, 0x84, 0x5c, 0x54, 0xd6, 0x55, 0x2c, 0x05, 0x2b, 0xe5, 0x21, 0x00, 0x80, 0x42, 0x2c, 0x05, 0x23, 0x84, 0x55, 0x95, 0x35, 0x25, 0x2b, 0xe5, 0x23, 0x84, 0x05, 0x35, 0x1d, 0xd5, 0x2c, 0x25, 0x23, 0x84, 0x58, 0x70, 0x60, 0xc0, 0x2c, 0x05, 0x23, 0x84, 0x57, 0x5c, 0x58, 0x70, 0x2c, 0x25, 0x2b, 0xe5, 0xeb, 0x26, 0x0a, 0x01, 0x2c, 0x25, 0x2b, 0xc5, 0xba, 0x22, 0x2a, 0xa8, 0xab, 0xa8, 0x2c, 0x05, 0x5c, 0x55, 0x55, 0x5c, 0x2c, 0x05, 0x2b, 0xc5, 0x88, 0x08, 0x38, 0x2c, 0xa3, 0xa8, 0x2c, 0x05, 0x58, 0x55, 0x55, 0x55, 0xa3, 0xc8, 0x7a, 0xe7, 0xaa, 0x55, 0xff, 0x00, 0xa3, 0xc8, 0x7a, 0xe7, 0xaa, 0x55, 0xff, 0x00, 0x93, 0x47, 0x73, 0x07, 0x00, 0x7f, 0xaa, 0xaa, 0x93, 0x47, 0x7a, 0xe7, 0x00, 0x55, 0xaa, 0xaa, 0xa3, 0xc8, 0x7a, 0xe7, 0xaa, 0x55, 0xff, 0x00, 0xa3, 0xc8, 0x7a, 0xe7, 0xaa, 0x55, 0xff, 0x00, 0x93, 0x47, 0x7a, 0xe7, 0x00, 0x55, 0xaa, 0xaa, 0x93, 0x47, 0x7a, 0xe7, 0x00, 0x55, 0xaa, 0xaa };
-u8 l_pos[0x2e8] = { 0x37, 0xb8, 0x8c, 0xa4, 0x41, 0x6e, 0xc3, 0xf7, 0xc2, 0xb3, 0xf6, 0xf9, 0xc2, 0x9b, 0xda, 0xa2, 0x41, 0x6e, 0xc3, 0xf7, 0xc2, 0x33, 0xf6, 0xfe, 0xc2, 0x9b, 0xda, 0xa3, 0x41, 0x6e, 0xc3, 0xf7, 0x42, 0x33, 0xf6, 0xf6, 0xb7, 0x06, 0x37, 0xbd, 0x41, 0x6e, 0xc3, 0xf7, 0x42, 0xb3, 0xf6, 0xf7, 0x42, 0x9b, 0xda, 0xa1, 0x41, 0x6e, 0xc3, 0xf7, 0x42, 0x33, 0xf6, 0xf8, 0x42, 0x9b, 0xda, 0xa1, 0x41, 0x6e, 0xc3, 0xf7, 0xc2, 0x33, 0xf6, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x42, 0xac, 0x37, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x42, 0x40, 0x4b, 0x91, 0x42, 0x03, 0x2c, 0x64, 0xc2, 0xa6, 0x88, 0x4d, 0xc2, 0x40, 0x4b, 0x86, 0x42, 0x03, 0x2c, 0x64, 0xc2, 0xa6, 0x88, 0x4f, 0xc2, 0xc0, 0x4b, 0x8a, 0x42, 0x03, 0x2c, 0x64, 0xb7, 0x7b, 0xa8, 0x82, 0xc2, 0x40, 0x4b, 0x8b, 0x42, 0x03, 0x2c, 0x64, 0x42, 0xa6, 0x88, 0x4d, 0x42, 0x40, 0x4b, 0x87, 0x42, 0x03, 0x2c, 0x64, 0x42, 0xa6, 0x88, 0x4d, 0x42, 0xc0, 0x4b, 0x89, 0x42, 0x03, 0x2c, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xbd, 0x95, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3b, 0x22, 0xd7, 0x42, 0x87, 0x96, 0x71, 0xc2, 0xa2, 0x10, 0x84, 0xc2, 0x3b, 0x22, 0xcc, 0x42, 0x87, 0x96, 0x71, 0xc2, 0xa2, 0x10, 0x86, 0xc2, 0xbb, 0x22, 0xd1, 0x42, 0x87, 0x96, 0x71, 0xb7, 0x7b, 0xa8, 0x82, 0xc2, 0x3b, 0x22, 0xd2, 0x42, 0x87, 0x96, 0x71, 0x42, 0xa2, 0x10, 0x84, 0x42, 0x3b, 0x22, 0xcf, 0x42, 0x87, 0x96, 0x71, 0x42, 0xa2, 0x10, 0x84, 0x42, 0xbb, 0x22, 0xd0, 0x42, 0x87, 0x96, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xd2, 0xc8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0xe7, 0x0f, 0x01, 0x42, 0xc5, 0x3b, 0x61, 0xc2, 0x48, 0x1a, 0x3c, 0xc1, 0xe7, 0x0e, 0xf5, 0x42, 0xc5, 0x3b, 0x61, 0xc2, 0x48, 0x1a, 0x42, 0xc2, 0x67, 0x0e, 0xf9, 0x42, 0xc5, 0x3b, 0x61, 0xb7, 0x16, 0xfe, 0xb5, 0xc1, 0xe7, 0x0e, 0xfb, 0x42, 0xc5, 0x3b, 0x61, 0x42, 0x48, 0x1a, 0x3c, 0x41, 0xe7, 0x0e, 0xf6, 0x42, 0xc5, 0x3b, 0x61, 0x42, 0x48, 0x1a, 0x3c, 0x42, 0x67, 0x0e, 0xf7, 0x42, 0xc5, 0x3b, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xda, 0x1f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x42, 0x24, 0xf5, 0x0b, 0x3f, 0x96, 0x3e, 0xc9, 0xc2, 0x8e, 0xdb, 0x67, 0xc2, 0x24, 0xf5, 0x01, 0x3f, 0x96, 0x3e, 0xc9, 0xc2, 0x8e, 0xdb, 0x69, 0xc2, 0xa4, 0xf5, 0x05, 0x3f, 0x96, 0x3e, 0xc9, 0xb7, 0x5a, 0x1a, 0x93, 0xc2, 0x24, 0xf5, 0x06, 0x3f, 0x96, 0x3e, 0xc9, 0x42, 0x8e, 0xdb, 0x67, 0x42, 0x24, 0xf5, 0x02, 0x3f, 0x96, 0x3e, 0xc9, 0x42, 0x8e, 0xdb, 0x67, 0x42, 0xa4, 0xf5, 0x03, 0x3f, 0x96, 0x3e, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x8c, 0x89, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x37, 0xd1, 0xb7, 0x17, 0x42, 0x4b, 0x3d, 0xf5, 0xc2, 0xc3, 0x63, 0xe0, 0xc2, 0xa9, 0x36, 0x7a, 0x42, 0x4b, 0x3d, 0xf5, 0xc2, 0x43, 0x63, 0xe4, 0xc2, 0xa9, 0x36, 0x7d, 0x42, 0x4b, 0x3d, 0xf5, 0x42, 0x43, 0x63, 0xdc, 0xb7, 0x27, 0xc5, 0xac, 0x42, 0x4b, 0x3d, 0xf5, 0x42, 0xc3, 0x63, 0xde, 0x42, 0xa9, 0x36, 0x7a, 0x42, 0x4b, 0x3d, 0xf5, 0x42, 0x43, 0x63, 0xdf, 0x42, 0xa9, 0x36, 0x7a, 0x42, 0x4b, 0x3d, 0xf5, 0xc2, 0x43, 0x63, 0xde, 0x00, 0x00, 0x00, 0x00, 0x42, 0xcc, 0x24, 0x67, 0x00, 0x00, 0x00, 0x00, 0x37, 0xb0, 0x29, 0x28, 0x42, 0xa4, 0x8f, 0x40, 0xc2, 0xa0, 0x12, 0x3e, 0xc2, 0x8a, 0xa0, 0x33, 0x42, 0xa4, 0x8f, 0x40, 0xc2, 0x20, 0x12, 0x43, 0xc2, 0x8a, 0xa0, 0x35, 0x42, 0xa4, 0x8f, 0x40, 0x42, 0x20, 0x12, 0x3d, 0xb7, 0x06, 0x37, 0xbd, 0x42, 0xa4, 0x8f, 0x40, 0x42, 0xa0, 0x12, 0x3f, 0x42, 0x8a, 0xa0, 0x33, 0x42, 0xa4, 0x8f, 0x40, 0x42, 0x20, 0x12, 0x3f, 0x42, 0x8a, 0xa0, 0x33, 0x42, 0xa4, 0x8f, 0x40, 0xc2, 0x20, 0x12, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x42, 0xda, 0x0b, 0x81, 0x00, 0x00, 0x00, 0x00, 0x40, 0x50, 0x61, 0xdd, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xbd, 0x7d, 0x44, 0x40, 0x50, 0x61, 0xdd, 0x00, 0x00, 0x00, 0x00, 0x40, 0xbd, 0x7d, 0x44, 0xc0, 0xa5, 0x2c, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xea, 0x44, 0xc8, 0x41, 0x3c, 0x67, 0x6f, 0xbe, 0x7f, 0x13, 0x8c, 0xbf, 0x5c, 0xeb, 0xbc, 0x41, 0x9e, 0x08, 0x97, 0x41, 0x09, 0x94, 0x81, 0xc1, 0x15, 0xb8, 0x96, 0x41, 0x9c, 0xac, 0xef, 0x41, 0x34, 0x4a, 0xd4, 0xc1, 0x01, 0x4e, 0x1d, 0x41, 0x9e, 0x11, 0x4d, 0x40, 0x44, 0x75, 0x2e, 0xc0, 0x0e, 0x33, 0x37, 0x41, 0x98, 0x13, 0x05, 0xc1, 0x01, 0x2a, 0x2c, 0xc1, 0x18, 0x08, 0xee, 0x41, 0x98, 0x13, 0x05, 0xc0, 0x80, 0xc7, 0x39, 0xc1, 0x06, 0xa2, 0x25, 0x41, 0x98, 0x13, 0x05, 0xc1, 0x40, 0x57, 0xb5, 0x41, 0x57, 0x63, 0xee, 0x41, 0xb0, 0x33, 0x7c, 0x3f, 0xc9, 0xad, 0xb0, 0x40, 0xb1, 0xf3, 0x9f, 0x41, 0xb0, 0x33, 0x7c, 0x40, 0x87, 0x54, 0x2a, 0x40, 0xb5, 0x00, 0x0f, 0x41, 0xb0, 0x33, 0x7c, 0xc0, 0x6f, 0xf7, 0xe4 };
-u8 l_color[0x50] = { 0x7f, 0x7f, 0x7f, 0xff, 0x98, 0x98, 0x99, 0xff, 0x99, 0x99, 0x99, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0x66, 0x66, 0x66, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xab, 0xab, 0xab, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0x73, 0x73, 0x73, 0xff, 0x43, 0x43, 0x43, 0xff, 0x9a, 0x9a, 0x9a, 0xff };
-u8 l_texCoord[0x50] = { 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x80, 0x00, 0x00, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x80, 0x00, 0x00, 0x3e, 0xe9, 0x5d, 0xb3, 0x3f, 0x80, 0x00, 0x00, 0x3f, 0x40, 0x00, 0x00, 0x3f, 0x34, 0xae, 0xda, 0x3f, 0x40, 0x00, 0x00, 0x3f, 0x75, 0x5e, 0x6c, 0x3f, 0x80, 0x00, 0x00, 0x3f, 0x4a, 0xf9, 0x55, 0x3f, 0x40, 0x00, 0x00, 0x3f, 0x75, 0x5e, 0x6c, 0x3f, 0x40, 0x00, 0x00, 0x3f, 0x4a, 0xf9, 0x55, 0x3f, 0x80, 0x00, 0x00 };
-u8 l_Oba_swood_bDL[0x11c] ALIGN_DECL(32) = { 0x98, 0x00, 0x05, 0x2a, 0x07, 0x02, 0x2f, 0x07, 0x01, 0x30, 0x07, 0x00, 0x2e, 0x07, 0x02, 0x2d, 0x07, 0x01, 0x98, 0x00, 0x05, 0x2d, 0x07, 0x01, 0x2c, 0x07, 0x02, 0x30, 0x07, 0x00, 0x2b, 0x07, 0x01, 0x2a, 0x07, 0x02, 0x98, 0x00, 0x05, 0x23, 0x06, 0x02, 0x28, 0x06, 0x01, 0x29, 0x06, 0x00, 0x27, 0x06, 0x02, 0x26, 0x06, 0x01, 0x98, 0x00, 0x05, 0x26, 0x06, 0x01, 0x25, 0x06, 0x02, 0x29, 0x06, 0x00, 0x24, 0x06, 0x01, 0x23, 0x06, 0x02, 0x98, 0x00, 0x05, 0x1c, 0x05, 0x02, 0x21, 0x05, 0x01, 0x22, 0x05, 0x00, 0x20, 0x05, 0x02, 0x1f, 0x05, 0x01, 0x98, 0x00, 0x05, 0x1f, 0x05, 0x01, 0x1e, 0x05, 0x02, 0x22, 0x05, 0x00, 0x1d, 0x05, 0x01, 0x1c, 0x05, 0x02, 0x98, 0x00, 0x05, 0x15, 0x04, 0x02, 0x1a, 0x04, 0x01, 0x1b, 0x04, 0x00, 0x19, 0x04, 0x02, 0x18, 0x04, 0x01, 0x98, 0x00, 0x05, 0x18, 0x04, 0x01, 0x17, 0x04, 0x02, 0x1b, 0x04, 0x00, 0x16, 0x04, 0x01, 0x15, 0x04, 0x02, 0x98, 0x00, 0x05, 0x0e, 0x03, 0x02, 0x13, 0x03, 0x01, 0x14, 0x03, 0x00, 0x12, 0x03, 0x02, 0x11, 0x03, 0x01, 0x98, 0x00, 0x05, 0x11, 0x03, 0x01, 0x10, 0x03, 0x02, 0x14, 0x03, 0x00, 0x0f, 0x03, 0x01, 0x0e, 0x03, 0x02, 0x98, 0x00, 0x05, 0x07, 0x02, 0x02, 0x0c, 0x02, 0x01, 0x0d, 0x01, 0x00, 0x0b, 0x02, 0x02, 0x0a, 0x02, 0x01, 0x98, 0x00, 0x05, 0x0a, 0x02, 0x01, 0x09, 0x02, 0x02, 0x0d, 0x01, 0x00, 0x08, 0x02, 0x01, 0x07, 0x02, 0x02, 0x98, 0x00, 0x05, 0x00, 0x00, 0x02, 0x05, 0x00, 0x01, 0x06, 0x00, 0x00, 0x04, 0x00, 0x02, 0x03, 0x00, 0x01, 0x98, 0x00, 0x05, 0x03, 0x00, 0x01, 0x02, 0x00, 0x02, 0x06, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 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 };
-u8 l_Oba_swood_b_cutDL[0xcb] ALIGN_DECL(32) = { 0x98, 0x00, 0x04, 0x31, 0x13, 0x06, 0x32, 0x11, 0x09, 0x3b, 0x0d, 0x08, 0x3c, 0x0b, 0x07, 0x98, 0x00, 0x04, 0x3b, 0x0d, 0x07, 0x3d, 0x0c, 0x08, 0x31, 0x13, 0x09, 0x34, 0x00, 0x06, 0x98, 0x00, 0x04, 0x31, 0x13, 0x06, 0x34, 0x00, 0x09, 0x38, 0x0a, 0x08, 0x39, 0x08, 0x07, 0x98, 0x00, 0x04, 0x33, 0x12, 0x06, 0x31, 0x13, 0x09, 0x3a, 0x09, 0x08, 0x38, 0x0a, 0x07, 0x98, 0x00, 0x04, 0x3a, 0x09, 0x07, 0x39, 0x08, 0x08, 0x33, 0x12, 0x09, 0x34, 0x00, 0x06, 0x98, 0x00, 0x04, 0x36, 0x0e, 0x08, 0x33, 0x12, 0x06, 0x37, 0x0f, 0x07, 0x34, 0x00, 0x09, 0x98, 0x00, 0x04, 0x33, 0x12, 0x09, 0x36, 0x0e, 0x07, 0x32, 0x11, 0x06, 0x35, 0x10, 0x08, 0x98, 0x00, 0x04, 0x32, 0x11, 0x06, 0x34, 0x00, 0x09, 0x3c, 0x0b, 0x08, 0x3d, 0x0c, 0x07, 0x98, 0x00, 0x04, 0x32, 0x11, 0x09, 0x35, 0x10, 0x07, 0x34, 0x00, 0x06, 0x37, 0x0f, 0x08, 0x98, 0x00, 0x03, 0x36, 0x0e, 0x03, 0x37, 0x0f, 0x04, 0x35, 0x10, 0x05, 0x98, 0x00, 0x03, 0x3c, 0x0b, 0x03, 0x3d, 0x0c, 0x04, 0x3b, 0x0d, 0x05, 0x98, 0x00, 0x03, 0x39, 0x08, 0x03, 0x3a, 0x09, 0x04, 0x38, 0x0a, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-u8 l_matDL[0xa3] ALIGN_DECL(32) = { 0x61, 0x80, 0x00, 0x01, 0x3a, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0xe0, 0xfc, 0x3f, 0x61, 0x94, ((int)l_Txa_swood_bTEX >> 21) & 0xFF, ((int)l_Txa_swood_bTEX >> 13) & 0xFF, ((int)l_Txa_swood_bTEX >> 5) & 0xFF, 0x61, 0x30, 0x00, 0x00, 0x40, 0x61, 0x31, 0x00, 0x00, 0x40, 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, 0x05, 0x43, 0x61, 0x28, 0x3c, 0x00, 0x00, 0x61, 0xc0, 0x08, 0x24, 0xaf, 0x61, 0xc1, 0x08, 0xff, 0xf0, 0x61, 0x28, 0x3c, 0x00, 0x00, 0x61, 0xc2, 0x08, 0xf0, 0x8f, 0x61, 0xc3, 0x08, 0xee, 0x70, 0x61, 0x40, 0x00, 0x00, 0x17, 0x61, 0xf3, 0x64, 0x00, 0x00, 0x61, 0xf3, 0x64, 0xfe, 0xfe, 0x10, 0x00, 0x00, 0x10, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x04, 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 };
+
+u8 l_Txa_swood_bTEX[] ALIGN_DECL(32) = {
+ 0x34, 0x66, 0x3C, 0xE7, 0xFF, 0xFF, 0x55, 0x80, 0x3C, 0x86, 0x3C, 0xE7, 0xFF, 0xFF, 0x5B, 0x95,
+ 0x2C, 0x05, 0x2B, 0xC4, 0x2D, 0xA0, 0xA0, 0x00, 0x3C, 0xC7, 0x2C, 0x05, 0x78, 0x57, 0x55, 0x55,
+ 0x00, 0x00, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0x7F, 0x3C, 0xA7, 0x3D, 0x07, 0xFF, 0xFF, 0xFA, 0x81,
+ 0x2C, 0x25, 0x3C, 0xC7, 0x5D, 0x55, 0x95, 0x24, 0x3C, 0xE7, 0x2B, 0xE5, 0x0A, 0x37, 0xD5, 0x75,
+ 0x3C, 0xC7, 0x3C, 0xE7, 0xFF, 0xFF, 0x3F, 0x4F, 0x00, 0x00, 0x3C, 0xC7, 0xFF, 0xFF, 0xFF, 0xFD,
+ 0x3C, 0xA7, 0x3C, 0xE7, 0xAF, 0x5D, 0x55, 0x14, 0x3C, 0xC7, 0x2C, 0x05, 0x00, 0x00, 0x0B, 0xD5,
+ 0x00, 0x00, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0x57, 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x34, 0x46, 0x3C, 0xE7, 0x57, 0x57, 0x17, 0x17, 0x3C, 0xC7, 0x3C, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x3C, 0xC7, 0x3C, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3C, 0xE7, 0xFF, 0xFD, 0xF5, 0xF5,
+ 0x3C, 0xC7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0x95, 0x34, 0x25, 0x3C, 0xE7, 0xF5, 0xD5, 0xD6, 0xD4,
+ 0x3C, 0xC7, 0x3C, 0xE7, 0xFF, 0x7F, 0x87, 0x55, 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x3C, 0xC7, 0x2B, 0xE5, 0xE0, 0x5C, 0x56, 0x5F, 0x3C, 0xA7, 0x3C, 0xE7, 0x7F, 0x7F, 0x5D, 0x95,
+ 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x2C, 0x25, 0x3C, 0xC7, 0xF5, 0x55, 0x56, 0x40, 0x3C, 0xC7, 0x2B, 0xC5, 0x00, 0x00, 0xFF, 0x5D,
+ 0x2C, 0x25, 0x2B, 0xE5, 0xAE, 0x38, 0x03, 0x3E, 0x2C, 0x25, 0x2B, 0xC5, 0x80, 0xA0, 0x72, 0xAE,
+ 0x2C, 0x25, 0x2B, 0xC5, 0x2A, 0xE2, 0xE0, 0x62, 0x2C, 0x05, 0x23, 0x84, 0x05, 0xA5, 0x25, 0x85,
+ 0x2C, 0x25, 0x2B, 0xE5, 0xE1, 0x9A, 0xFC, 0x3A, 0x2C, 0x05, 0x2B, 0xE5, 0x82, 0xC3, 0x00, 0xC2,
+ 0x2C, 0x05, 0x23, 0x84, 0x80, 0x60, 0x58, 0x56, 0x2C, 0x05, 0x2B, 0xC5, 0x80, 0x03, 0xF0, 0x0E,
+ 0x3C, 0xE7, 0x2C, 0x05, 0x81, 0x85, 0xF7, 0x55, 0x34, 0x46, 0x2B, 0xE5, 0xFB, 0xE9, 0xFA, 0xB4,
+ 0x2C, 0x05, 0x23, 0x84, 0x00, 0x28, 0xD0, 0x58, 0x3C, 0xE7, 0x2B, 0xE5, 0x54, 0x5C, 0x77, 0x5D,
+ 0x34, 0x86, 0x3C, 0xE7, 0x17, 0x17, 0x9F, 0x5F, 0x3C, 0xE7, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x2C, 0x05, 0x3C, 0xC7, 0x5F, 0x55, 0x95, 0x01, 0x00, 0x00, 0x3C, 0xE7, 0xFD, 0x5D, 0x5F, 0x5F,
+ 0x3C, 0xC7, 0x3C, 0xE7, 0xFF, 0xFF, 0xF9, 0x55, 0x3C, 0xC7, 0x3C, 0xE7, 0xFD, 0xFD, 0x59, 0x41,
+ 0x3C, 0xE7, 0x2B, 0xC5, 0x00, 0x0F, 0x0D, 0x01, 0x3C, 0xA7, 0x23, 0x84, 0x00, 0xFA, 0xEF, 0xF7,
+ 0x3C, 0xE7, 0x2C, 0x05, 0x00, 0x26, 0x25, 0x25, 0x3C, 0xE7, 0x2C, 0x05, 0x01, 0x0D, 0xF5, 0x55,
+ 0x3D, 0x07, 0x2C, 0x05, 0x25, 0xF5, 0x55, 0x55, 0x2C, 0x05, 0x23, 0x84, 0x00, 0x20, 0x00, 0x60,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x08, 0x00, 0x60, 0x82, 0x3C, 0xC7, 0x2B, 0xE5, 0xC2, 0x6D, 0x55, 0xF5,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x30, 0x02, 0x02, 0x00, 0x2C, 0x05, 0x23, 0x84, 0x0A, 0x0D, 0x0D, 0x15,
+ 0x2C, 0x25, 0x2B, 0xE5, 0x98, 0x5B, 0xA3, 0x89, 0x2C, 0x05, 0x2B, 0xC5, 0x20, 0x00, 0x02, 0x0C,
+ 0x2C, 0x05, 0x23, 0x64, 0xA8, 0x78, 0x58, 0xFC, 0x2C, 0x05, 0x2B, 0xE5, 0x20, 0x90, 0x09, 0x02,
+ 0x2C, 0x25, 0x2B, 0xC5, 0xA2, 0xB8, 0x98, 0x02, 0x2C, 0x25, 0x23, 0x84, 0x85, 0x2D, 0x3D, 0x89,
+ 0x2C, 0x25, 0x2B, 0xE5, 0x26, 0x76, 0x7A, 0x82, 0x2C, 0x05, 0x2B, 0xA4, 0x01, 0x02, 0x02, 0x02,
+ 0x2B, 0x84, 0x23, 0x64, 0x08, 0x00, 0x20, 0x00, 0x2C, 0x05, 0x23, 0x84, 0x03, 0x81, 0x49, 0x6D,
+ 0x23, 0x84, 0x23, 0x64, 0x00, 0x00, 0x02, 0x22, 0x23, 0x84, 0x23, 0x64, 0x02, 0x00, 0x00, 0x00,
+ 0x2C, 0x25, 0x23, 0x84, 0x58, 0x7A, 0x7A, 0x70, 0x2C, 0x05, 0x2B, 0xE5, 0xA0, 0x80, 0x00, 0x23,
+ 0x2C, 0x25, 0x23, 0x84, 0x78, 0x68, 0x60, 0xEF, 0x2C, 0x05, 0x2B, 0xC5, 0x02, 0x98, 0x20, 0x55,
+ 0x3C, 0xC7, 0x2C, 0x05, 0x5C, 0x50, 0x70, 0x40, 0x3C, 0xC7, 0x3C, 0xE7, 0x7F, 0xBF, 0xFF, 0x5F,
+ 0x3C, 0xC7, 0x2C, 0x05, 0x78, 0x55, 0x55, 0x55, 0x3C, 0xE7, 0x2B, 0xC5, 0x00, 0xE0, 0x58, 0xE0,
+ 0x34, 0x46, 0x3C, 0xE7, 0xD4, 0xF5, 0xFD, 0xFD, 0x3C, 0xE7, 0x2C, 0x05, 0x55, 0xD5, 0x0B, 0x03,
+ 0x2B, 0xE5, 0x3C, 0xE7, 0xD5, 0x58, 0x58, 0x56, 0x34, 0x46, 0x2B, 0xE5, 0x03, 0x5F, 0x7D, 0x7D,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x03, 0x08, 0x00, 0x82, 0x2C, 0x05, 0x23, 0x84, 0x5C, 0x56, 0xD5, 0xD5,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x02, 0x08, 0x88, 0x00, 0x2C, 0x25, 0x23, 0x84, 0x95, 0x35, 0x25, 0x2D,
+ 0x2C, 0x05, 0x23, 0x84, 0x08, 0x02, 0x03, 0x4D, 0x2B, 0xC5, 0x23, 0x84, 0x17, 0xFF, 0xFF, 0x75,
+ 0x2B, 0xC5, 0x23, 0x64, 0x8B, 0xFF, 0xFF, 0xAD, 0x23, 0x84, 0x23, 0x64, 0x00, 0x00, 0x08, 0x08,
+ 0x2C, 0x05, 0x23, 0x84, 0x5C, 0x5C, 0x58, 0x70, 0x2C, 0x05, 0x2B, 0xC5, 0xE0, 0x08, 0x00, 0x08,
+ 0x2C, 0x05, 0x23, 0x84, 0x60, 0xC2, 0xC0, 0x80, 0x2C, 0x25, 0x2B, 0xC5, 0x0A, 0x0A, 0xCA, 0x88,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x02, 0xA0, 0x00, 0x62, 0x2C, 0x05, 0x2B, 0xE5, 0x02, 0x00, 0xF0, 0x51,
+ 0x2C, 0x25, 0x2B, 0xC5, 0x60, 0x0B, 0x28, 0xF0, 0x2C, 0x25, 0x2B, 0xC5, 0x8B, 0x7E, 0xAA, 0x82,
+ 0x2C, 0x05, 0x23, 0x84, 0xD5, 0x35, 0x25, 0x09, 0x23, 0x84, 0x23, 0x64, 0x80, 0x00, 0x00, 0x00,
+ 0x2C, 0x05, 0x23, 0x84, 0x01, 0x02, 0x00, 0x03, 0x2B, 0xE5, 0x23, 0x84, 0x55, 0x57, 0xD5, 0x15,
+ 0x23, 0x84, 0x23, 0x64, 0x02, 0x00, 0x00, 0x80, 0x2C, 0x05, 0x23, 0x84, 0x55, 0x56, 0x50, 0x80,
+ 0x2C, 0x05, 0x23, 0x84, 0x78, 0x70, 0x50, 0x58, 0x2C, 0x05, 0x2B, 0xC5, 0x0E, 0x00, 0x00, 0x02,
+ 0x34, 0x86, 0x2B, 0xE5, 0x5E, 0xDC, 0x7D, 0x5F, 0x2C, 0x25, 0x3D, 0x07, 0x97, 0x7F, 0x9F, 0x27,
+ 0x34, 0x46, 0x2B, 0xC5, 0xA7, 0xFA, 0xDB, 0xE2, 0x3C, 0xE7, 0x2C, 0x05, 0x70, 0x58, 0x5C, 0x5C,
+ 0x3C, 0xC7, 0x3C, 0xE7, 0xD5, 0xFD, 0xFF, 0xFF, 0x2C, 0x05, 0x3C, 0xE7, 0x80, 0x58, 0xD4, 0x50,
+ 0x3C, 0xC7, 0x3C, 0xE7, 0xFF, 0x7E, 0x7D, 0x3D, 0x3C, 0xE7, 0x2C, 0x05, 0x25, 0x25, 0x3D, 0x00,
+ 0x2C, 0x05, 0x23, 0x84, 0x00, 0x00, 0x0B, 0x35, 0x2C, 0x05, 0x23, 0x84, 0x09, 0xB5, 0x55, 0x55,
+ 0x3C, 0x86, 0x23, 0x84, 0x95, 0xEF, 0xEE, 0x00, 0x2C, 0x05, 0x23, 0x84, 0x75, 0x05, 0x0D, 0x05,
+ 0x23, 0x84, 0x23, 0x64, 0x00, 0x80, 0x80, 0x02, 0x2B, 0xE5, 0x23, 0x84, 0x57, 0x54, 0xDC, 0x50,
+ 0x23, 0x84, 0x23, 0x64, 0x02, 0x00, 0x80, 0x02, 0x2C, 0x05, 0x23, 0x64, 0xF0, 0x60, 0x40, 0xC0,
+ 0x2C, 0x25, 0x2B, 0xE5, 0x0A, 0xBA, 0xAB, 0xB8, 0x8B, 0x28, 0x2C, 0x05, 0x55, 0x57, 0x58, 0xE0,
+ 0x83, 0x28, 0x2C, 0x05, 0x57, 0x5C, 0x60, 0x80, 0x8B, 0x28, 0x83, 0x48, 0x4F, 0xBF, 0xFF, 0xFF,
+ 0x2C, 0x25, 0x2B, 0xA4, 0xE0, 0x2A, 0xAA, 0xA2, 0x2C, 0x25, 0x2B, 0xE5, 0x3C, 0x3E, 0x16, 0x3B,
+ 0x2C, 0x05, 0x2B, 0xA4, 0x08, 0x24, 0x08, 0x00, 0x2C, 0x05, 0x2B, 0xC5, 0x03, 0x00, 0x00, 0x28,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x07, 0x00, 0x00, 0x02, 0x2C, 0x05, 0x23, 0x84, 0x35, 0x25, 0x0D, 0x09,
+ 0x2C, 0x25, 0x2B, 0xE5, 0x82, 0x82, 0xEB, 0xA2, 0x2C, 0x05, 0x23, 0x84, 0x81, 0x02, 0x08, 0x00,
+ 0x2C, 0x25, 0x23, 0x84, 0x5C, 0x5C, 0x54, 0x56, 0x2C, 0x05, 0x2B, 0xC5, 0x32, 0x02, 0x0E, 0x80,
+ 0x2B, 0xE5, 0x23, 0x84, 0x57, 0x54, 0x94, 0x3C, 0x3C, 0xA7, 0x2B, 0xE5, 0x75, 0xD6, 0x58, 0xE0,
+ 0x2C, 0x05, 0x3C, 0xE7, 0x25, 0x25, 0x17, 0x17, 0x3C, 0xC7, 0x3C, 0xE7, 0x85, 0x55, 0xFF, 0xFF,
+ 0x3C, 0xC7, 0x3C, 0xE7, 0x1F, 0x5F, 0xBF, 0x5F, 0x3C, 0xE7, 0x3D, 0x07, 0xFF, 0xFF, 0xFC, 0xFD,
+ 0x3C, 0xC7, 0x3C, 0xE7, 0x3F, 0x7F, 0xFF, 0xFF, 0x3C, 0xC7, 0x3C, 0xE7, 0x55, 0xFF, 0xFF, 0xFF,
+ 0x2B, 0xE5, 0x3C, 0xC7, 0xFF, 0x57, 0x55, 0x49, 0x00, 0x00, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0x7F,
+ 0x3C, 0xA7, 0x3C, 0xE7, 0x5D, 0xFE, 0xF4, 0xF6, 0x2C, 0x25, 0x23, 0x84, 0x25, 0x25, 0x25, 0x25,
+ 0x3C, 0x86, 0x3C, 0xE7, 0xF4, 0xF6, 0xFE, 0x55, 0x3C, 0xC7, 0x23, 0x84, 0xF5, 0xFD, 0xBD, 0x2F,
+ 0x2C, 0x05, 0x23, 0x84, 0x55, 0x56, 0x5C, 0x58, 0x8B, 0x28, 0x33, 0xE5, 0x56, 0x58, 0x60, 0x80,
+ 0x83, 0x28, 0x2B, 0xA4, 0x56, 0x58, 0x60, 0xC0, 0xA4, 0x2C, 0x83, 0x28, 0x55, 0x55, 0x55, 0x54,
+ 0x8B, 0x49, 0x83, 0x08, 0x80, 0x00, 0x02, 0x0C, 0xA4, 0x2C, 0x83, 0x28, 0x55, 0x55, 0x55, 0x25,
+ 0xEE, 0x73, 0x83, 0x28, 0x56, 0x70, 0xC0, 0x00, 0xEE, 0x73, 0x8B, 0x48, 0x0D, 0x01, 0x01, 0x01,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x07, 0x28, 0x80, 0x00, 0x2C, 0x25, 0x2B, 0xE5, 0x28, 0x28, 0xD6, 0x6A,
+ 0x2C, 0x25, 0x2B, 0xE5, 0x8A, 0xEA, 0xE8, 0xE0, 0x2C, 0x05, 0x2B, 0xE5, 0x00, 0x80, 0xA2, 0xB0,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x02, 0x20, 0x08, 0x01, 0x2C, 0x25, 0x2B, 0xC5, 0x2A, 0xA5, 0x8A, 0x68,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x20, 0x02, 0x03, 0x20, 0x2C, 0x05, 0x2B, 0xC5, 0x08, 0x02, 0x20, 0xE0,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x00, 0x00, 0x09, 0x02, 0x34, 0x25, 0x2B, 0xE5, 0x00, 0x28, 0xE4, 0x8F,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x0A, 0xC1, 0x88, 0x20, 0x2C, 0x05, 0x2B, 0xA5, 0x02, 0xC0, 0x0A, 0x0D,
+ 0x3C, 0xE7, 0x2C, 0x05, 0x80, 0x70, 0x56, 0x75, 0x2C, 0x05, 0x3C, 0xE7, 0xF5, 0x76, 0x54, 0x58,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x82, 0x22, 0x00, 0x00, 0x3C, 0xA7, 0x2C, 0x05, 0x85, 0x55, 0x5D, 0x55,
+ 0x34, 0x86, 0x2B, 0xE5, 0xF4, 0x5C, 0xDE, 0xDF, 0x34, 0x46, 0x3C, 0xE7, 0x7D, 0x55, 0x55, 0x54,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x0A, 0xE0, 0x0E, 0x08, 0x45, 0x07, 0x2C, 0x05, 0x8D, 0xE5, 0x55, 0x55,
+ 0x3C, 0xE7, 0x2C, 0x05, 0x02, 0x2D, 0xD7, 0x55, 0x83, 0x28, 0x2C, 0x25, 0x57, 0x5C, 0x70, 0x40,
+ 0x8B, 0x28, 0x2B, 0xE5, 0x55, 0x56, 0x5C, 0x58, 0x83, 0x28, 0x6B, 0x67, 0x40, 0x00, 0x00, 0x00,
+ 0x93, 0x89, 0x83, 0x07, 0xFF, 0xFF, 0xFD, 0xFC, 0xEE, 0x73, 0x83, 0x08, 0x5C, 0x70, 0xC0, 0x00,
+ 0xBC, 0xCE, 0x83, 0x28, 0x54, 0x54, 0x57, 0x55, 0xEE, 0x74, 0x83, 0x28, 0x00, 0x00, 0x80, 0x5F,
+ 0xEE, 0x94, 0xE6, 0x52, 0x1E, 0x60, 0x80, 0x02, 0xEE, 0x93, 0x83, 0x08, 0x09, 0x09, 0x09, 0x09,
+ 0xEE, 0x74, 0xAC, 0x8D, 0x00, 0x00, 0x00, 0x55, 0xEE, 0x74, 0x83, 0x08, 0x0D, 0x0D, 0x25, 0xD5,
+ 0x2C, 0x25, 0x2B, 0xC5, 0x0B, 0xAB, 0x98, 0x08, 0x2C, 0x25, 0x2B, 0xE5, 0xAF, 0xA8, 0x22, 0xAC,
+ 0x2C, 0x25, 0x2B, 0xE5, 0xEE, 0x7B, 0xDA, 0xAC, 0x2C, 0x05, 0x2B, 0xC5, 0x1C, 0x22, 0x0C, 0x0A,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x01, 0x50, 0xE2, 0x80, 0x2C, 0x05, 0x2B, 0xE5, 0x80, 0x20, 0xE2, 0x8B,
+ 0x2C, 0x25, 0x2B, 0xE5, 0x6E, 0xA6, 0xB8, 0x8A, 0x2C, 0x25, 0x2B, 0xC5, 0x3A, 0x3E, 0x0A, 0x00,
+ 0x2C, 0x05, 0x2B, 0xA4, 0x20, 0x00, 0x20, 0x24, 0x2C, 0x05, 0x23, 0x84, 0x01, 0x23, 0x03, 0x08,
+ 0x2C, 0x25, 0x2B, 0xE5, 0x96, 0xF0, 0xA0, 0x8F, 0x2C, 0x05, 0x2B, 0xC5, 0x40, 0x80, 0x02, 0x02,
+ 0x2B, 0xE5, 0x23, 0x84, 0xC0, 0x70, 0x5C, 0xF6, 0x2C, 0x25, 0x2B, 0xE5, 0x28, 0xBE, 0xB8, 0xAD,
+ 0x2B, 0xE5, 0x23, 0x84, 0x9D, 0x35, 0x25, 0x07, 0x2C, 0x05, 0x23, 0x84, 0x80, 0x40, 0x70, 0x70,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x00, 0x92, 0x30, 0x00, 0x2C, 0x05, 0x23, 0x64, 0x02, 0x8B, 0x2D, 0xD5,
+ 0x2C, 0x05, 0x2B, 0x84, 0x00, 0x03, 0x09, 0x0D, 0x2C, 0x25, 0x23, 0x84, 0x57, 0x57, 0x56, 0x5C,
+ 0x5B, 0x87, 0x2B, 0xE5, 0x5C, 0xD5, 0x55, 0x55, 0x8B, 0x48, 0x2C, 0x05, 0x80, 0x58, 0x5C, 0x5C,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x00, 0x87, 0x00, 0x20, 0xA3, 0xA8, 0x2C, 0x05, 0x58, 0x55, 0x55, 0x5C,
+ 0xA3, 0xC8, 0x83, 0x28, 0x55, 0x55, 0xFF, 0x00, 0xA3, 0xC8, 0x83, 0x28, 0x55, 0x55, 0xFF, 0x00,
+ 0xA3, 0xC8, 0x7A, 0xE7, 0xAA, 0x55, 0xFF, 0x00, 0xA3, 0xC8, 0x7A, 0xE7, 0xAA, 0x55, 0xFF, 0x00,
+ 0xA3, 0xC8, 0x83, 0x28, 0x55, 0x55, 0xFF, 0x00, 0xA3, 0xC8, 0x83, 0x28, 0x55, 0x55, 0xFF, 0x00,
+ 0xA3, 0xC8, 0x7A, 0xE7, 0xAA, 0x55, 0xFF, 0x00, 0xA3, 0xA8, 0x7A, 0xE7, 0xAA, 0x55, 0xFF, 0x00,
+ 0x2C, 0x25, 0x2B, 0xE5, 0xAA, 0x51, 0xA1, 0xE1, 0x2C, 0x25, 0x2B, 0xE5, 0x52, 0xA0, 0xC2, 0x40,
+ 0x2C, 0x25, 0x2B, 0x84, 0x82, 0x02, 0xA0, 0x70, 0x2C, 0x25, 0x2B, 0xE5, 0x82, 0xE3, 0xAA, 0x08,
+ 0x2C, 0x25, 0x2B, 0xC5, 0x2B, 0xBE, 0xAA, 0x08, 0x2C, 0x05, 0x2B, 0xC5, 0x0A, 0xC3, 0x88, 0x08,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x80, 0x4F, 0x8A, 0x01, 0x2C, 0x25, 0x2B, 0xE5, 0x06, 0x0A, 0xCF, 0xCD,
+ 0x2C, 0x25, 0x2B, 0xE5, 0xA6, 0xCA, 0x82, 0x2A, 0x2C, 0x05, 0x2B, 0xC5, 0x20, 0x00, 0x0A, 0x04,
+ 0x2C, 0x25, 0x2B, 0xE5, 0xBA, 0xB0, 0x8A, 0x8F, 0x2C, 0x05, 0x2B, 0xE5, 0x00, 0x38, 0x14, 0x02,
+ 0x2C, 0x25, 0x23, 0x84, 0x05, 0x8D, 0x89, 0x01, 0x2C, 0x05, 0x23, 0x84, 0x5C, 0x54, 0xD6, 0x55,
+ 0x2C, 0x05, 0x2B, 0xE5, 0x21, 0x00, 0x80, 0x42, 0x2C, 0x05, 0x23, 0x84, 0x55, 0x95, 0x35, 0x25,
+ 0x2B, 0xE5, 0x23, 0x84, 0x05, 0x35, 0x1D, 0xD5, 0x2C, 0x25, 0x23, 0x84, 0x58, 0x70, 0x60, 0xC0,
+ 0x2C, 0x05, 0x23, 0x84, 0x57, 0x5C, 0x58, 0x70, 0x2C, 0x25, 0x2B, 0xE5, 0xEB, 0x26, 0x0A, 0x01,
+ 0x2C, 0x25, 0x2B, 0xC5, 0xBA, 0x22, 0x2A, 0xA8, 0xAB, 0xA8, 0x2C, 0x05, 0x5C, 0x55, 0x55, 0x5C,
+ 0x2C, 0x05, 0x2B, 0xC5, 0x88, 0x08, 0x38, 0x2C, 0xA3, 0xA8, 0x2C, 0x05, 0x58, 0x55, 0x55, 0x55,
+ 0xA3, 0xC8, 0x7A, 0xE7, 0xAA, 0x55, 0xFF, 0x00, 0xA3, 0xC8, 0x7A, 0xE7, 0xAA, 0x55, 0xFF, 0x00,
+ 0x93, 0x47, 0x73, 0x07, 0x00, 0x7F, 0xAA, 0xAA, 0x93, 0x47, 0x7A, 0xE7, 0x00, 0x55, 0xAA, 0xAA,
+ 0xA3, 0xC8, 0x7A, 0xE7, 0xAA, 0x55, 0xFF, 0x00, 0xA3, 0xC8, 0x7A, 0xE7, 0xAA, 0x55, 0xFF, 0x00,
+ 0x93, 0x47, 0x7A, 0xE7, 0x00, 0x55, 0xAA, 0xAA, 0x93, 0x47, 0x7A, 0xE7, 0x00, 0x55, 0xAA, 0xAA,
+};
+
+Vec l_pos[] = {
+ {0.000022f, 14.922843f, -89.982368f},
+ {-77.927017f, 14.922843f, -44.991203f},
+ {-77.927025f, 14.922843f, 44.991173f},
+ {-0.000008f, 14.922843f, 89.982353f},
+ {77.92701f, 14.922843f, 44.99118f},
+ {77.92701f, 14.922843f, -44.99118f},
+ {0.0f, 86.107872f, 0.0f},
+ {48.073795f, 32.79335f, -83.266212f},
+ {-48.073753f, 32.79335f, -83.266228f},
+ {-96.147537f, 32.79335f, -0.000015f},
+ {-48.073772f, 32.79335f, 83.266212f},
+ {48.073757f, 32.79335f, 83.266212f},
+ {96.14753f, 32.79335f, 0.0f},
+ {0.0f, 94.79158f, 0.0f},
+ {46.784023f, 67.793831f, -81.032257f},
+ {-46.783981f, 67.793831f, -81.032272f},
+ {-93.568001f, 67.793831f, -0.000015f},
+ {-46.784004f, 67.793831f, 81.032257f},
+ {46.783993f, 67.793831f, 81.032257f},
+ {93.567993f, 67.793831f, 0.0f},
+ {0.0f, 105.391602f, 0.0f},
+ {28.882326f, 98.615974f, -50.02562f},
+ {-28.882303f, 98.615974f, -50.025642f},
+ {-57.764622f, 98.615974f, -0.000009f},
+ {-28.882315f, 98.615974f, 50.02562f},
+ {28.882305f, 98.615974f, 50.02562f},
+ {57.764614f, 98.615974f, 0.0f},
+ {0.0f, 109.061028f, 0.0f},
+ {41.2393f, 1.173791f, -71.42852f},
+ {-41.239262f, 1.173791f, -71.428535f},
+ {-82.478554f, 1.173791f, -0.000013f},
+ {-41.239281f, 1.173791f, 71.42852f},
+ {41.239265f, 1.173791f, 71.42852f},
+ {82.478539f, 1.173791f, 0.0f},
+ {0.0f, 70.268173f, 0.0f},
+ {0.000025f, 50.810505f, -97.695068f},
+ {-84.6064f, 50.810505f, -48.847549f},
+ {-84.606422f, 50.810505f, 48.847519f},
+ {-0.00001f, 50.810505f, 97.695053f},
+ {84.6064f, 50.810505f, 48.84753f},
+ {84.6064f, 50.810505f, -48.847527f},
+ {0.0f, 102.071098f, 0.0f},
+ {0.000021f, 82.279785f, -80.035629f},
+ {-69.312889f, 82.279785f, -40.017834f},
+ {-69.312904f, 82.279785f, 40.017811f},
+ {-0.000008f, 82.279785f, 80.035637f},
+ {69.312889f, 82.279785f, 40.017818f},
+ {69.312889f, 82.279785f, -40.017815f},
+ {0.0f, 109.022469f, 0.0f},
+ {3.255973f, 0.0f, -5.921541f},
+ {3.255973f, 0.0f, 5.921541f},
+ {-5.16166f, 0.0f, 0.0f},
+ {0.114389f, 11.775252f, -0.249098f},
+ {-0.862972f, 19.754194f, 8.598756f},
+ {-9.357565f, 19.58444f, 11.268269f},
+ {-8.081571f, 19.758448f, 3.069652f},
+ {-2.221876f, 19.009287f, -8.072796f},
+ {-9.50218f, 19.009287f, -4.024319f},
+ {-8.414586f, 19.009287f, -12.021413f},
+ {13.461897f, 22.025139f, 1.575613f},
+ {5.560989f, 22.025139f, 4.229024f},
+ {5.656257f, 22.025139f, -3.749505f},
+};
+
+GXColor l_color[] = {
+ {0x7F, 0x7F, 0x7F, 0xFF},
+ {0x98, 0x98, 0x99, 0xFF},
+ {0x99, 0x99, 0x99, 0xFF},
+ {0xCC, 0xCC, 0xCC, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0x66, 0x66, 0x66, 0xFF},
+ {0xB2, 0xB2, 0xB2, 0xFF},
+ {0xE5, 0xE5, 0xE5, 0xFF},
+ {0xF4, 0xF4, 0xF4, 0xFF},
+ {0xAB, 0xAB, 0xAB, 0xFF},
+ {0xFC, 0xFC, 0xFC, 0xFF},
+ {0xF7, 0xF7, 0xF7, 0xFF},
+ {0xF8, 0xF8, 0xF8, 0xFF},
+ {0xC3, 0xC3, 0xC3, 0xFF},
+ {0xA1, 0xA1, 0xA1, 0xFF},
+ {0xF5, 0xF5, 0xF5, 0xFF},
+ {0xFB, 0xFB, 0xFB, 0xFF},
+ {0x73, 0x73, 0x73, 0xFF},
+ {0x43, 0x43, 0x43, 0xFF},
+ {0x9A, 0x9A, 0x9A, 0xFF},
+};
+
+cXy l_texCoord[] = {
+ {0.5f, 1.0f},
+ {1.0f, 0.0f},
+ {0.0f, 0.0f},
+ {1.0f, 0.455793f},
+ {1.0f, 0.75f},
+ {0.705793f, 0.75f},
+ {0.958472f, 1.0f},
+ {0.792867f, 0.75f},
+ {0.958472f, 0.75f},
+ {0.792867f, 1.0f},
+};
+
+u8 l_Oba_swood_bDL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x05, 0x2A, 0x07, 0x02, 0x2F, 0x07, 0x01, 0x30, 0x07, 0x00, 0x2E, 0x07, 0x02, 0x2D,
+ 0x07, 0x01, 0x98, 0x00, 0x05, 0x2D, 0x07, 0x01, 0x2C, 0x07, 0x02, 0x30, 0x07, 0x00, 0x2B, 0x07,
+ 0x01, 0x2A, 0x07, 0x02, 0x98, 0x00, 0x05, 0x23, 0x06, 0x02, 0x28, 0x06, 0x01, 0x29, 0x06, 0x00,
+ 0x27, 0x06, 0x02, 0x26, 0x06, 0x01, 0x98, 0x00, 0x05, 0x26, 0x06, 0x01, 0x25, 0x06, 0x02, 0x29,
+ 0x06, 0x00, 0x24, 0x06, 0x01, 0x23, 0x06, 0x02, 0x98, 0x00, 0x05, 0x1C, 0x05, 0x02, 0x21, 0x05,
+ 0x01, 0x22, 0x05, 0x00, 0x20, 0x05, 0x02, 0x1F, 0x05, 0x01, 0x98, 0x00, 0x05, 0x1F, 0x05, 0x01,
+ 0x1E, 0x05, 0x02, 0x22, 0x05, 0x00, 0x1D, 0x05, 0x01, 0x1C, 0x05, 0x02, 0x98, 0x00, 0x05, 0x15,
+ 0x04, 0x02, 0x1A, 0x04, 0x01, 0x1B, 0x04, 0x00, 0x19, 0x04, 0x02, 0x18, 0x04, 0x01, 0x98, 0x00,
+ 0x05, 0x18, 0x04, 0x01, 0x17, 0x04, 0x02, 0x1B, 0x04, 0x00, 0x16, 0x04, 0x01, 0x15, 0x04, 0x02,
+ 0x98, 0x00, 0x05, 0x0E, 0x03, 0x02, 0x13, 0x03, 0x01, 0x14, 0x03, 0x00, 0x12, 0x03, 0x02, 0x11,
+ 0x03, 0x01, 0x98, 0x00, 0x05, 0x11, 0x03, 0x01, 0x10, 0x03, 0x02, 0x14, 0x03, 0x00, 0x0F, 0x03,
+ 0x01, 0x0E, 0x03, 0x02, 0x98, 0x00, 0x05, 0x07, 0x02, 0x02, 0x0C, 0x02, 0x01, 0x0D, 0x01, 0x00,
+ 0x0B, 0x02, 0x02, 0x0A, 0x02, 0x01, 0x98, 0x00, 0x05, 0x0A, 0x02, 0x01, 0x09, 0x02, 0x02, 0x0D,
+ 0x01, 0x00, 0x08, 0x02, 0x01, 0x07, 0x02, 0x02, 0x98, 0x00, 0x05, 0x00, 0x00, 0x02, 0x05, 0x00,
+ 0x01, 0x06, 0x00, 0x00, 0x04, 0x00, 0x02, 0x03, 0x00, 0x01, 0x98, 0x00, 0x05, 0x03, 0x00, 0x01,
+ 0x02, 0x00, 0x02, 0x06, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 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,
+};
+
+u8 l_Oba_swood_b_cutDL[] ALIGN_DECL(32) = {
+ 0x98, 0x00, 0x04, 0x31, 0x13, 0x06, 0x32, 0x11, 0x09, 0x3B, 0x0D, 0x08, 0x3C, 0x0B, 0x07, 0x98,
+ 0x00, 0x04, 0x3B, 0x0D, 0x07, 0x3D, 0x0C, 0x08, 0x31, 0x13, 0x09, 0x34, 0x00, 0x06, 0x98, 0x00,
+ 0x04, 0x31, 0x13, 0x06, 0x34, 0x00, 0x09, 0x38, 0x0A, 0x08, 0x39, 0x08, 0x07, 0x98, 0x00, 0x04,
+ 0x33, 0x12, 0x06, 0x31, 0x13, 0x09, 0x3A, 0x09, 0x08, 0x38, 0x0A, 0x07, 0x98, 0x00, 0x04, 0x3A,
+ 0x09, 0x07, 0x39, 0x08, 0x08, 0x33, 0x12, 0x09, 0x34, 0x00, 0x06, 0x98, 0x00, 0x04, 0x36, 0x0E,
+ 0x08, 0x33, 0x12, 0x06, 0x37, 0x0F, 0x07, 0x34, 0x00, 0x09, 0x98, 0x00, 0x04, 0x33, 0x12, 0x09,
+ 0x36, 0x0E, 0x07, 0x32, 0x11, 0x06, 0x35, 0x10, 0x08, 0x98, 0x00, 0x04, 0x32, 0x11, 0x06, 0x34,
+ 0x00, 0x09, 0x3C, 0x0B, 0x08, 0x3D, 0x0C, 0x07, 0x98, 0x00, 0x04, 0x32, 0x11, 0x09, 0x35, 0x10,
+ 0x07, 0x34, 0x00, 0x06, 0x37, 0x0F, 0x08, 0x98, 0x00, 0x03, 0x36, 0x0E, 0x03, 0x37, 0x0F, 0x04,
+ 0x35, 0x10, 0x05, 0x98, 0x00, 0x03, 0x3C, 0x0B, 0x03, 0x3D, 0x0C, 0x04, 0x3B, 0x0D, 0x05, 0x98,
+ 0x00, 0x03, 0x39, 0x08, 0x03, 0x3A, 0x09, 0x04, 0x38, 0x0A, 0x05, 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,
+};
+
+u8 l_matDL[] ALIGN_DECL(32) = {
+ 0x61, 0x80, 0x00, 0x01, 0x3A, 0x61, 0x84, 0x00, 0x00, 0x00, 0x61, 0x88, 0xE0, 0xFC, 0x3F, 0x61,
+ 0x94,
+ IMAGE_ADDR(&l_Txa_swood_bTEX),
+ 0x61, 0x30, 0x00, 0x00, 0x40, 0x61, 0x31, 0x00, 0x00, 0x40, 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, 0x05, 0x43, 0x61,
+ 0x28, 0x3C, 0x00, 0x00, 0x61, 0xC0, 0x08, 0x24, 0xAF, 0x61, 0xC1, 0x08, 0xFF, 0xF0, 0x61, 0x28,
+ 0x3C, 0x00, 0x00, 0x61, 0xC2, 0x08, 0xF0, 0x8F, 0x61, 0xC3, 0x08, 0xEE, 0x70, 0x61, 0x40, 0x00,
+ 0x00, 0x17, 0x61, 0xF3, 0x64, 0x00, 0x00, 0x61, 0xF3, 0x64, 0xFE, 0xFE, 0x10, 0x00, 0x00, 0x10,
+ 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00,
+ 0x00, 0x04, 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,
+};
// .rodata
-const Attr_c L_attr = {
- {{{
- 0x00C8,
- 0x50,
- 0x5DC,
- 0x32,
- 0.6
- }, {
- 0x00B4,
- 0x1E,
- 0xC80,
- 0xA,
- 0.2,
- }}, {{
- 0x01f4,
- 0x96,
- 0x4B0,
- 0x96,
- 0.6,
- }, {
- 0x02BC,
- 0x32,
- 0x898,
- 0x1E,
- 0.2,
- }}, {{
- 0x0258,
- 0xC8,
- 0x898,
- 0x12C,
- 0.6,
- }, {
- 0x01BC,
- 0x1E,
- 0xFA0,
- 0x32,
- 0.2,
- }}, {{
- 0x0258,
- 0xC8,
- 0x1838,
- 0x1F4,
- 0.6,
- }, {
- 0x01BC,
- 0x1E,
- 0x3E8,
- 0x32,
- 0.2,
- }}
- }, 0x14, 0x14, 0x0e, 18.0f, -3.0f, 2.5f, 200, 1.5f, 0.3f, 80.0f, 15.0f, 80.0f, 15.0f, 100.0f, 40.0f, 0x23, 0x80
+const Attr_c L_attr = {
+ /* kSways */ {
+ /* SWAY_LIGHT */ {
+ {
+ /* phaseVelY */ 0x00C8,
+ /* ampY */ 0x0050,
+ /* phaseVelX */ 0x05DC,
+ /* ampX */ 0x0032,
+ /* phaseBiasX */ 0.6f,
+ },
+ {
+ /* phaseVelY */ 0x00B4,
+ /* ampY */ 0x001E,
+ /* phaseVelX */ 0x0C80,
+ /* ampX */ 0x000A,
+ /* phaseBiasX */ 0.2f,
+ },
+ },
+ /* SWAY_MEDIUM */ {
+ {
+ /* phaseVelY */ 0x01F4,
+ /* ampY */ 0x0096,
+ /* phaseVelX */ 0x04B0,
+ /* ampX */ 0x0096,
+ /* phaseBiasX */ 0.6f,
+ },
+ {
+ /* phaseVelY */ 0x02BC,
+ /* ampY */ 0x0032,
+ /* phaseVelX */ 0x0898,
+ /* ampX */ 0x001E,
+ /* phaseBiasX */ 0.2f,
+ },
+ },
+ /* SWAY_STRONG */ {
+ {
+ /* phaseVelY */ 0x0258,
+ /* ampY */ 0x00C8,
+ /* phaseVelX */ 0x0898,
+ /* ampX */ 0x012C,
+ /* phaseBiasX */ 0.6f,
+ },
+ {
+ /* phaseVelY */ 0x01BC,
+ /* ampY */ 0x001E,
+ /* phaseVelX */ 0x0FA0,
+ /* ampX */ 0x0032,
+ /* phaseBiasX */ 0.2f,
+ },
+ },
+ /* SWAY_PUSH */ {
+ {
+ /* phaseVelY */ 0x0258,
+ /* ampY */ 0x00C8,
+ /* phaseVelX */ 0x1838,
+ /* ampX */ 0x01F4,
+ /* phaseBiasX */ 0.6f,
+ },
+ {
+ /* phaseVelY */ 0x01BC,
+ /* ampY */ 0x001E,
+ /* phaseVelX */ 0x03E8,
+ /* ampX */ 0x0032,
+ /* phaseBiasX */ 0.2f,
+ },
+ },
+ },
+ /* kCutCooldown */ 0x14,
+ /* kCutFadeStart */ 0x14,
+ /* kCutAlphaFadeSpeed */ 0x0E,
+ /* kCutInitVelY */ 18.0f,
+ /* kCutYAccel */ -3.0f,
+ /* kCutZVel */ 2.5f,
+ /* kCutPitchVel */ 0x00C8,
+ /* kUncutShadowScale */ 1.5f,
+ /* kCutShadowScale */ 0.3f,
+ /* kCollisionRad */ 80.0f,
+ /* kCollisionRadCut */ 15.0f,
+ /* kCollisionHeight */ 80.0f,
+ /* kCollisionHeightCut */ 15.0f,
+ /* kClipRadius */ 100.0f,
+ /* kClipCenterYOffset */ 40.0f,
+ /* kPushBackCountdown */ 0x23,
+ /* L_Alpha_Cutoff */ 0x80,
};
} // namespace
} // namespace dWood
@@ -145,13 +455,11 @@ const Attr_c L_attr = {
// Constants
//-----------------------------------------
const s32 L_Room_Max = 64;
-const float l_Ground_check_y_offset = 100.0f;
-const double l_Ground_check_unk1 = 0.5;
-const double l_Ground_check_unk2 = 3.0;
-const float kGroundHeightBias = 1.0f;
+const f32 l_Ground_check_y_offset = 100.0f;
+const f32 kGroundHeightBias = 1.0f;
-const u32 l_Oba_swood_bDL_SIZE = 0x100;
-const u32 l_Oba_swood_b_cutDL_SIZE = 0xc0;
+const u32 l_Oba_swood_bDL_SIZE = 0x100;
+const u32 l_Oba_swood_b_cutDL_SIZE = 0xc0;
s32 dWood::Anm_c::M_init_num = 0;
@@ -223,7 +531,7 @@ void dWood::Anm_c::copy_angamp(const dWood::Anm_c *other) {
/* 800BD848-800BD8BC .text mode_cut_init__Q25dWood5Anm_cFPCQ25dWood5Anm_cs
*/
-void dWood::Anm_c::mode_cut_init(const dWood::Anm_c *, short targetAngle) {
+void dWood::Anm_c::mode_cut_init(const dWood::Anm_c *, s16 targetAngle) {
for (u32 i = 0; i < 2; i++) {
mPhaseY[i] = 0;
mPhaseX[i] = 0;
@@ -251,7 +559,7 @@ void dWood::Anm_c::mode_cut(dWood::Packet_c *) {
mPosOffsetZ = mPosOffsetZ + L_attr.kCutZVel;
mPhaseX[0] = mPhaseX[0] - L_attr.kCutPitchVel;
- mDoMtx_YrotS(mDoMtx_stack_c::now, (int)mForceDir);
+ mDoMtx_YrotS(mDoMtx_stack_c::now, mForceDir);
mDoMtx_stack_c::transM(0.0f, mPosOffsetY, mPosOffsetZ);
mDoMtx_XrotM(mDoMtx_stack_c::now, mPhaseX[0]);
mDoMtx_YrotM(mDoMtx_stack_c::now, -mForceDir);
@@ -273,8 +581,7 @@ void dWood::Anm_c::mode_cut(dWood::Packet_c *) {
}
/* 800BD9E4-800BDA38 .text mode_push_into_init__Q25dWood5Anm_cFPCQ25dWood5Anm_cs */
-void dWood::Anm_c::mode_push_into_init(const dWood::Anm_c *anm,
- short targetAngle) {
+void dWood::Anm_c::mode_push_into_init(const dWood::Anm_c *anm, s16 targetAngle) {
copy_angamp(anm);
mForceDir = targetAngle;
mAlphaScale = 0xff;
@@ -288,16 +595,15 @@ void dWood::Anm_c::mode_push_into(dWood::Packet_c *packet) {
mode_push_back_init();
}
else {
- float rotY = 0.0f;
- float rotX = rotY;
+ f32 rotY = 0.0f;
+ f32 rotX = rotY;
for (s32 i = 0; i < 2; i++) {
- const AttrSway_c* sway = &attr().kSways[SWAY_PUSH][i];
- s32 phaseVelX = sway->phaseVelX;
- s32 ampY = sway->ampY;
- s32 ampX = sway->ampX;
- float phaseBiasX = sway->phaseBiasX;
+ s32 phaseVelX = attr_sway(SWAY_PUSH, i).phaseVelX;
+ s32 ampY = attr_sway(SWAY_PUSH, i).ampY;
+ s32 ampX = attr_sway(SWAY_PUSH, i).ampX;
+ f32 phaseBiasX = attr_sway(SWAY_PUSH, i).phaseBiasX;
- mPhaseY[i] += sway->phaseVelY;
+ mPhaseY[i] += attr_sway(SWAY_PUSH, i).phaseVelY;
cLib_chaseAngleS(&mPhaseX[i], 0, phaseVelX);
cLib_chaseS(&mAmpY[i], ampY/4, 0x14);
cLib_addCalcAngleS(&mAmpX[i], ampX, 8, 0x14, 5);
@@ -326,18 +632,17 @@ void dWood::Anm_c::mode_push_back(dWood::Packet_c *packet) {
mode_to_norm_init(animIdx);
}
else {
- float t = mCountdown * (1.0f / L_attr.kPushBackCountdown);
+ f32 t = mCountdown * (1.0f / L_attr.kPushBackCountdown);
- float rotY = 0.0;
- float rotX = rotY;
+ f32 rotY = 0.0;
+ f32 rotX = rotY;
for (s32 i = 0; i < 2; i++) {
- const AttrSway_c* sway = &attr().kSways[SWAY_PUSH][i];
- s32 phaseVelX = sway->phaseVelX;
- s16 ampY = t * sway->ampY;
- s16 ampX = t * sway->ampX;
- float phaseBiasX = sway->phaseBiasX;
+ s32 phaseVelX = attr_sway(SWAY_PUSH, i).phaseVelX;
+ s16 ampY = t * attr_sway(SWAY_PUSH, i).ampY;
+ s16 ampX = t * attr_sway(SWAY_PUSH, i).ampX;
+ f32 phaseBiasX = attr_sway(SWAY_PUSH, i).phaseBiasX;
- mPhaseY[i] += sway->phaseVelY;
+ mPhaseY[i] += attr_sway(SWAY_PUSH, i).phaseVelY;
mPhaseX[i] += phaseVelX;
cLib_chaseS(&mAmpY[i], (s32)ampY, 0x14);
cLib_chaseS(&mAmpX[i], (s32)ampX, 0x14);
@@ -385,16 +690,15 @@ void dWood::Anm_c::mode_norm(dWood::Packet_c *packet) {
}
}
- float rotY = 0.0f;
- float rotX = rotY;
+ f32 rotY = 0.0f;
+ f32 rotX = rotY;
for (s32 i = 0; i < 2; i++) {
- const AttrSway_c *sway = &attr_sway(swayID, i);
- s32 phaseVelX = sway->phaseVelX;
- s16 ampY = sway->ampY;
- s16 ampX = sway->ampX;
- float phaseBiasX = sway->phaseBiasX;
+ s32 phaseVelX = attr_sway(swayID, i).phaseVelX;
+ s16 ampY = attr_sway(swayID, i).ampY;
+ s16 ampX = attr_sway(swayID, i).ampX;
+ f32 phaseBiasX = attr_sway(swayID, i).phaseBiasX;
- mPhaseY[i] += sway->phaseVelY;
+ mPhaseY[i] += attr_sway(swayID, i).phaseVelY;
mPhaseX[i] += phaseVelX;
cLib_chaseS(&mAmpY[i], ampY, 2);
cLib_chaseS(&mAmpX[i], ampX, 2);
@@ -409,13 +713,14 @@ void dWood::Anm_c::mode_norm(dWood::Packet_c *packet) {
}
/* 800BE148-800BE154 .text mode_norm_set_wind__Q25dWood5Anm_cFfs */
-void dWood::Anm_c::mode_norm_set_wind(float windPow, short windDir) {
+void dWood::Anm_c::mode_norm_set_wind(f32 windPow, s16 windDir) {
mWindPow = windPow;
mForceDir = windDir;
}
+
/* 800BE154-800BE1F0 .text mode_to_norm_init__Q25dWood5Anm_cFQ25dWood7AnmID_e */
void dWood::Anm_c::mode_to_norm_init(dWood::AnmID_e anm_id_norm) {
- JUT_ASSERT(0x4d7, (anm_id_norm >= 0) && (anm_id_norm < AnmID_Norm_Max));
+ JUT_ASSERT(1239, (anm_id_norm >= 0) && (anm_id_norm < AnmID_Norm_Max));
mode_to_norm_set_AnmID(anm_id_norm);
mAlphaScale = 0xff;
@@ -440,15 +745,14 @@ void dWood::Anm_c::mode_to_norm(dWood::Packet_c *packet) {
cLib_chaseAngleS(&mForceDir, normAnim->mForceDir, 3000);
- float rotY = 0.0f;
- float rotX = rotY;
+ f32 rotY = 0.0f;
+ f32 rotX = rotY;
for (s32 i = 0; i < 2; i++) {
- const AttrSway_c *sway = &attr_sway(swayID, i);
- float phaseBiasX = sway->phaseBiasX;
- s32 phaseVelX = sway->phaseVelX;
+ f32 phaseBiasX = attr_sway(swayID, i).phaseBiasX;
+ s32 phaseVelX = attr_sway(swayID, i).phaseVelX;
s16 rotXStep = phaseVelX + 3000;
- cLib_chaseS(&mPhaseY[i], normAnim->mPhaseY[i], sway->phaseVelY + 3000);
+ cLib_chaseS(&mPhaseY[i], normAnim->mPhaseY[i], attr_sway(swayID, i).phaseVelY + 3000);
cLib_chaseS(&mPhaseX[i], normAnim->mPhaseX[i], rotXStep);
cLib_chaseS(&mAmpY[i], normAnim->mAmpY[i], 0xf);
cLib_chaseS(&mAmpX[i], normAnim->mAmpX[i], 0xf);
@@ -468,7 +772,7 @@ void dWood::Anm_c::mode_to_norm(dWood::Packet_c *packet) {
/* 800BE428-800BE4DC .text __ct__Q25dWood6Unit_cFv */
dWood::Unit_c::Unit_c() {
- clear();
+ clear();
}
/* 800BE4DC-800BE93C .text set_ground__Q25dWood6Unit_cFv */
@@ -485,10 +789,10 @@ bool dWood::Unit_c::set_ground() {
cM3dGPla *triPla = dComIfG_Bgsp()->GetTriPla(gndChk);
cXyz gndNorm = *triPla->GetNP();
- float unkFloat = std::sqrtf(1.0f - gndNorm.x * gndNorm.x);
+ f32 unkFloat = std::sqrtf(1.0f - gndNorm.x * gndNorm.x);
- float scaledNormY;
- float scaledNormZ;
+ f32 scaledNormY;
+ f32 scaledNormZ;
if (unkFloat != 0.0f) {
scaledNormY = gndNorm.y * unkFloat;
scaledNormZ = -gndNorm.z * unkFloat;
@@ -536,14 +840,13 @@ void dWood::Unit_c::set_mtx(dWood::Anm_c *anim) {
mDoMtx_stack_c::now[0][3] = mPos.x;
mDoMtx_stack_c::now[1][3] = mPos.y;
mDoMtx_stack_c::now[2][3] = mPos.z;
- mDoMtx_concat(j3dSys.getViewMtx(), mDoMtx_stack_c::get(),
- mTrunkModelViewMtx);
+ mDoMtx_concat(j3dSys.getViewMtx(), mDoMtx_stack_c::get(), mTrunkModelViewMtx);
mDoMtx_concat(j3dSys.getViewMtx(), mShadowModelMtx, mShadowModelViewMtx);
}
/* 800BEA28-800BEA50 .text clear__Q25dWood6Unit_cFv */
-void dWood::Unit_c::clear() {
+void dWood::Unit_c::clear() {
cLib_memSet(this, 0, 0x18c);
}
@@ -658,8 +961,7 @@ void dWood::Unit_c::cc_hit_before_cut(dWood::Packet_c *packet) {
mDoAud_seStart(JA_SE_OBJ_CUT_L_TREE_DOWN, &mPos, 0, 0);
- float newShadowScale =
- L_attr.kCutShadowScale / L_attr.kUncutShadowScale;
+ f32 newShadowScale = L_attr.kCutShadowScale / L_attr.kUncutShadowScale;
mDoMtx_copy(mShadowModelMtx, mDoMtx_stack_c::get());
mDoMtx_stack_c::scaleM(newShadowScale, 1.0f, newShadowScale);
@@ -702,12 +1004,11 @@ void dWood::Unit_c::proc(dWood::Packet_c *packet) {
}
/* 800BEF78-800BEF84 .text __ct__Q25dWood6Room_cFv */
-dWood::Room_c::Room_c() {
- mpUnit = NULL;
+dWood::Room_c::Room_c() {
+ mpUnit = NULL;
}
-/* 800BEF84-800BEF94 .text entry_unit__Q25dWood6Room_cFPQ25dWood6Unit_c
- */
+/* 800BEF84-800BEF94 .text entry_unit__Q25dWood6Room_cFPQ25dWood6Unit_c */
void dWood::Room_c::entry_unit(dWood::Unit_c *unit) {
unit->mpNext = mpUnit;
mpUnit = unit;
@@ -731,6 +1032,7 @@ dWood::Packet_c::Packet_c() {
}
}
+/* 800BF110-800BF194 .text __dt__Q25dWood8Packet_cFv */
dWood::Packet_c::~Packet_c() {};
/* 800BF194-800BF1C8 .text delete_room__Q25dWood8Packet_cFi */
@@ -740,7 +1042,7 @@ void dWood::Packet_c::delete_room(int room_no) {
/* 800BF1C8-800BF2D4 .text put_unit__Q25dWood8Packet_cFRC4cXyzi */
s32 dWood::Packet_c::put_unit(const cXyz &pos, int room_no) {
- JUT_ASSERT(0x6e0, (room_no >= 0) && (room_no < L_Room_Max));
+ JUT_ASSERT(1760, (room_no >= 0) && (room_no < L_Room_Max));
const s32 unitCount = ARRAY_SIZE(mUnit);
s32 unitIdx = search_empty_UnitID();
@@ -792,7 +1094,7 @@ void dWood::Packet_c::calc() {
calc_cc();
cXyz *windDir = dKyw_get_wind_vec();
- float windVel = dKyw_get_wind_pow();
+ f32 windVel = dKyw_get_wind_pow();
s16 windAngle = cM_atan2s(windDir->x, windDir->z);
for (s32 i = 0; i < (s32)8; i++) {
@@ -813,10 +1115,8 @@ void dWood::Packet_c::update() {
s32 i = 0;
for (Unit_c *unit = mUnit; i < (s32)ARRAY_SIZE(mUnit); i++, unit++) {
if (cLib_checkBit(unit->mFlags, Unit_c::STATE_ACTIVE)) {
- cXyz clipPos(unit->mPos.x, unit->mPos.y + L_attr.kClipCenterYOffset,
- unit->mPos.z);
- s32 res = mDoLib_clipper::clip(j3dSys.getViewMtx(), clipPos,
- L_attr.kClipRadius);
+ cXyz clipPos(unit->mPos.x, unit->mPos.y + L_attr.kClipCenterYOffset, unit->mPos.z);
+ s32 res = mDoLib_clipper::clip(j3dSys.getViewMtx(), clipPos, L_attr.kClipRadius);
if (res != 0) {
cLib_onBit(unit->mFlags, Unit_c::STATE_FRUSTUM_CULLED);
@@ -852,9 +1152,9 @@ void dWood::Packet_c::draw() {
{GX_VA_NULL, GX_NONE},
};
static GXVtxAttrFmtList l_shadowVtxAttrFmtList[] = {
- {GX_VA_POS, GX_CLR_RGBA, GX_RGB8},
- {GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8},
- {GX_VA_NULL, GX_CLR_RGBA, GX_RGB8},
+ {GX_VA_POS, GX_CLR_RGBA, GX_RGB8, 0x00},
+ {GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0x00},
+ {GX_VA_NULL, GX_CLR_RGBA, GX_RGB8, 0x00},
};
static GXVtxDescList l_vtxDescList[] = {
{GX_VA_POS, GX_INDEX8},
@@ -863,10 +1163,10 @@ void dWood::Packet_c::draw() {
{GX_VA_NULL, GX_NONE},
};
static GXVtxAttrFmtList l_vtxAttrFmtList[] = {
- {GX_VA_POS, GX_CLR_RGBA, GX_F32},
- {GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8},
- {GX_VA_TEX0, GX_CLR_RGBA, GX_F32},
- {GX_VA_NULL, GX_CLR_RGBA, GX_RGB8},
+ {GX_VA_POS, GX_CLR_RGBA, GX_F32, 0x00},
+ {GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0x00},
+ {GX_VA_TEX0, GX_CLR_RGBA, GX_F32, 0x00},
+ {GX_VA_NULL, GX_CLR_RGBA, GX_RGB8, 0x00},
};
static GXColor l_shadowColor = {0x00, 0x00, 0x00, 0x64};
@@ -896,12 +1196,11 @@ void dWood::Packet_c::draw() {
GXColor alphaColor = {0xff, 0xff, 0xff, 0xff};
GFSetVtxDescv(l_vtxDescList);
GFSetVtxAttrFmtv(GX_VTXFMT0, l_vtxAttrFmtList);
- GFSetArray(GX_VA_POS, l_pos, 0xc);
- GFSetArray(GX_VA_CLR0, l_color, 4);
- GFSetArray(GX_VA_TEX0, l_texCoord, 8);
+ GFSetArray(GX_VA_POS, l_pos, sizeof(*l_pos));
+ GFSetArray(GX_VA_CLR0, l_color, sizeof(*l_color));
+ GFSetArray(GX_VA_TEX0, l_texCoord, sizeof(*l_texCoord));
GXCallDisplayList(l_matDL, 0xa0);
- GFSetAlphaCompare(GX_GREATER, L_attr.L_Alpha_Cutoff, GX_AOP_OR, GX_GREATER,
- L_attr.L_Alpha_Cutoff);
+ GFSetAlphaCompare(GX_GREATER, L_attr.L_Alpha_Cutoff, GX_AOP_OR, GX_GREATER, L_attr.L_Alpha_Cutoff);
GFSetTevColor(GX_TEVREG2, alphaColor);
// Draw the trunk and body for each active unit
@@ -941,7 +1240,10 @@ void dWood::Packet_c::draw() {
}
}
}
- J3DShape::sOldVcdVatCmd = 0;
+
+#if VERSION != VERSION_JPN
+ J3DShape::sOldVcdVatCmd = NULL;
+#endif
}
/* 800BF900-800BF938 .text search_empty_UnitID__Q25dWood8Packet_cCFv */
@@ -965,7 +1267,7 @@ s32 dWood::Packet_c::search_empty_UnitID() const {
dWood::AnmID_e dWood::Packet_c::search_anm(dWood::Anm_c::Mode_e i_mode) {
u32 animIdx;
- JUT_ASSERT(0x80d, (i_mode >= 0) && (i_mode < Anm_c::Mode_Max));
+ JUT_ASSERT(VERSION_SELECT(2059, 2061, 2061), (i_mode >= 0) && (i_mode < Anm_c::Mode_Max));
if (i_mode == Anm_c::Mode_Norm) {
static s32 anm_norm_num = 0;