Merge pull request #43 from Cuyler36/m_titledemo

Implement (nonmatching) m_titledemo.c
This commit is contained in:
Cuyler36
2023-05-28 23:02:13 -04:00
committed by GitHub
22 changed files with 1800 additions and 447 deletions
+11
View File
@@ -133,3 +133,14 @@ sys_dynamic.c:
# ac_aprilfool_control/aPC_actor_dt.c: common_data is pure bs,
# .text: [0x805153f0, 0x8051542C]
# dataobject.obj files
data/titledemo/pact0.c:
.data: [0x80C411D8, 0x80C42038]
data/titledemo/pact1.c:
.data: [0x80C42038, 0x80C42E98]
data/titledemo/pact2.c:
.data: [0x80C42E98, 0x80C43D18]
data/titledemo/pact3.c:
.data: [0x80C43D18, 0x80C44B98]
data/titledemo/pact4.c:
.data: [0x80C44B98, 0x80C45A08]
+1
View File
@@ -10,6 +10,7 @@ extern "C" {
extern void mBGM_reset();
extern void mBGMPsComp_make_ps_lost_fanfare(u8 bgm_no, u16 unk);
extern void mBGMPsComp_scene_mode(int scene_mode);
extern void mBGMPsComp_make_ps_wipe(u16 ps_wipe);
#ifdef __cplusplus
}
+9 -1
View File
@@ -179,7 +179,15 @@ typedef struct common_data_s {
/* 0x02887C */ u8 save_error_type; /* set to one of the mFRm_ERROR_* states when save is invalid */
/* 0x02887D */ u8 train_coming_flag; /* set when the train is coming */
/* 0x02887E */ u8 buried_treasure_flag; /* when set, treasure cannot be buried */
/* 0x02887F */ u8 tmp2[0x288A0 - 0x2887F];
/* 0x02887F */ u8 spnpc_first_talk_flags;
/* 0x028880 */ u8 needlework_first_talk_flags;
/* 0x028882 */ u16 event_notification_active;
/* 0x028884 */ lbRTC_time_c newly_set_time; /* time set by player in time adjust menu */
/* 0x02888C */ lbRTC_time_c old_time; /* time before being changed by the player */
/* 0x028894 */ s16 balloon_state; /* balloon's current state */
/* 0x028896 */ s16 balloon_last_spawn_min; /* last minute the balloon was spawned */
/* 0x028898 */ f32 balloon_spawn_percent; /* chance that a balloon will spawn */
/* 0x02889C */ int nook_shop_state; /* adjusted based on any current events happening to Nook's shop */
/* 0x0288A0 */ u8 pad_connected; /* is gamepad 0 connected? */
/* 0x0288A1 */ u8 _288a1[0x02DB40 - 0x0288A1];
/* 0x02DB40 */ u8 auto_nwrite_set; /* when true, saved nwrite time will be utilized. Seems to be used to keep same date for fishing tourney stuff. */
+12 -16
View File
@@ -3,34 +3,30 @@
#include "types.h"
#include "PR/mbi.h"
typedef struct {
/* 0x0 */ f32 x;
/* 0x4 */ f32 y;
} TransitionTileVtxData; // size = 0x8
#include "m_lib.h"
typedef struct {
/* 0x00 */ int cols;
/* 0x04 */ int rows;
/* 0x08 */ int frame;
/* 0x0C */ TransitionTileVtxData* vtxData;
/* 0x0C */ xy_t* vtxData;
/* 0x10 */ Vtx* vtxFrame1;
/* 0x14 */ Vtx* vtxFrame2;
/* 0x18 */ Mtx projection;
/* 0x58 */ Mtx modelView;
/* 0x98 */ Mtx unk_98;
/* 0x58 */ Mtx modelView1;
/* 0x98 */ Mtx modelView2;
/* 0xD8 */ Gfx* gfx; // "gfxtbl"
/* 0xDC */ u16* zBuffer;
} TransitionTile; // size = 0xE0
} fbdemo; // size = 0xE0
extern void fbdemo_init_gfx(TransitionTile*);
extern void fbdemo_init_data(TransitionTile*);
extern void fbdemo_cleanup(TransitionTile*);
extern TransitionTile* fbdemo_init(TransitionTile*, int, int);
extern void fbdemo_update(TransitionTile*);
extern void fbdemo_draw(TransitionTile*, Gfx**);
extern void fbdemo_move(void);
extern void fbdemo_init_gfx(fbdemo*);
extern void fbdemo_init_data(fbdemo*);
extern void fbdemo_cleanup(fbdemo*);
extern fbdemo* fbdemo_init(fbdemo*, int, int);
extern void fbdemo_update(fbdemo*);
extern void fbdemo_draw(fbdemo*, Gfx**);
extern void fbdemo_move(fbdemo*);
#endif
+7 -7
View File
@@ -13,14 +13,14 @@ typedef struct {
/* 0x008 */ s16 frame;
/* 0x00A */ u16 unkA;
/* 0x00C */ u16 timer;
} TransitionFade; // size = 0x10
} fbdemo_fade; // size = 0x10
extern TransitionFade* fbdemo_fade_init(TransitionFade*);
extern void fbdemo_fade_move(TransitionFade*, int);
extern void fbdemo_fade_startup(TransitionFade*);
extern void fbdemo_fade_settype(TransitionFade*, int);
extern void fbdemo_fade_setcolor_rgba8888(TransitionFade*, u32);
extern u8 fbdemo_fade_is_finish(TransitionFade*);
extern fbdemo_fade* fbdemo_fade_init(fbdemo_fade*);
extern void fbdemo_fade_move(fbdemo_fade*, int);
extern void fbdemo_fade_startup(fbdemo_fade*);
extern void fbdemo_fade_settype(fbdemo_fade*, int);
extern void fbdemo_fade_setcolor_rgba8888(fbdemo_fade*, u32);
extern u8 fbdemo_fade_is_finish(fbdemo_fade*);
#endif
+7 -7
View File
@@ -16,14 +16,14 @@ typedef struct {
/* 0x0E*/ u8 temp2[2];
/* 0x10 */ Mtx perspmtx;
/* 0x50 */ Mtx lookatmtx;
} TransitionTriforce; // size = 0x90;
} fbdemo_triforce; // size = 0x90;
extern void fbdemo_triforce_startup(TransitionTriforce*);
extern TransitionTriforce* fbdemo_triforce_init(TransitionTriforce*);
extern void fbdemo_triforce_move(TransitionTriforce*, int);
extern void fbdemo_triforce_draw(TransitionTriforce*, Gfx**);
extern s8 fbdemo_triforce_is_finish(TransitionTriforce*);
extern void fbdemo_triforce_settype(TransitionTriforce*, int);
extern void fbdemo_triforce_startup(fbdemo_triforce*);
extern fbdemo_triforce* fbdemo_triforce_init(fbdemo_triforce*);
extern void fbdemo_triforce_move(fbdemo_triforce*, int);
extern void fbdemo_triforce_draw(fbdemo_triforce*, Gfx**);
extern s8 fbdemo_triforce_is_finish(fbdemo_triforce*);
extern void fbdemo_triforce_settype(fbdemo_triforce*, int);
extern void fbdemo_fade_setcolor_rgba8888(void);
+51
View File
@@ -0,0 +1,51 @@
#ifndef M_FBDEMO_WIPE_H
#define M_FBDEMO_WIPE_H
#include "types.h"
#include "m_fbdemo.h"
#include "m_fbdemo_wipe1.h"
#include "m_fbdemo_fade.h"
#include "m_fbdemo_triforce.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef union fbdemo_wipe_union {
fbdemo_wipe1 fbdemo_wipe1;
fbdemo_triforce fbdemo_triforce;
fbdemo_fade fbdemo_fade;
} fbdemo_wipe_u;
typedef fbdemo_wipe_u* (*FBDEMO_INIT_PROC)(fbdemo_wipe_u*);
typedef void (*FBDEMO_CLEANUP_PROC)(fbdemo_wipe_u*);
typedef void (*FBDEMO_MOVE_PROC)(fbdemo_wipe_u*, int);
typedef void (*FBDEMO_DRAW_PROC)(fbdemo_wipe_u*, Gfx**);
typedef void (*FBDEMO_STARTUP_PROC)(fbdemo_wipe_u*);
typedef void (*FBDEMO_SETTYPE_PROC)(fbdemo_wipe_u*, int);
typedef void (*FBDEMO_SETCOLOR_PROC)(fbdemo_wipe_u*, u32);
typedef int (*FBDEMO_ISFINISHED_PROC)(fbdemo_wipe_u*);
typedef struct {
FBDEMO_INIT_PROC init_proc;
FBDEMO_CLEANUP_PROC cleanup_proc;
FBDEMO_MOVE_PROC move_proc;
FBDEMO_DRAW_PROC draw_proc;
FBDEMO_STARTUP_PROC startup_proc;
FBDEMO_SETTYPE_PROC settype_proc;
FBDEMO_SETCOLOR_PROC setcolor_proc;
void* unused_proc; // unknown
FBDEMO_ISFINISHED_PROC isfinished_proc;
} fbdemo_wipe_proc_c;
typedef struct {
fbdemo_wipe_u wipe_data;
int wipe_type;
fbdemo_wipe_proc_c wipe_procs;
} fbdemo_wipe;
#ifdef __cplusplus
}
#endif
#endif
+8 -8
View File
@@ -16,14 +16,14 @@ typedef struct {
/* 0x018 */ Mtx projection;
/* 0x058 */ Mtx lookAt;
/* 0x098 */ Mtx modelView[2][3];
} TransitionWipe; // size = 0x218
} fbdemo_wipe1; // size = 0x218
extern TransitionWipe* fbdemo_wipe1_init(TransitionWipe*);
extern void fbdemo_wipe1_move(TransitionWipe*, int);
extern void fbdemo_wipe1_draw(TransitionWipe*, Gfx**);
extern void fbdemo_wipe1_startup(TransitionWipe*);
extern void fbdemo_wipe1_settype(TransitionWipe*, int);
extern void fbdemo_wipe1_setcolor_rgba8888(TransitionWipe*, u32);
extern u8 fbdemo_wipe1_is_finish(TransitionWipe*);
extern fbdemo_wipe1* fbdemo_wipe1_init(fbdemo_wipe1*);
extern void fbdemo_wipe1_move(fbdemo_wipe1*, int);
extern void fbdemo_wipe1_draw(fbdemo_wipe1*, Gfx**);
extern void fbdemo_wipe1_startup(fbdemo_wipe1*);
extern void fbdemo_wipe1_settype(fbdemo_wipe1*, int);
extern void fbdemo_wipe1_setcolor_rgba8888(fbdemo_wipe1*, u32);
extern u8 fbdemo_wipe1_is_finish(fbdemo_wipe1*);
#endif
+1
View File
@@ -329,6 +329,7 @@ extern int mNT_check_unknown(mActor_name_t item_no);
#define ITM_AXE 0x2201
#define ITM_SHOVEL 0x2202
#define ITM_ROD 0x2203
#define ITM_GELATO_UMBRELLA 0x2204
#define ITM_DUST0_EMPTY_CAN 0x250E
#define ITM_DUST1_BOOT 0x250F
+6 -1
View File
@@ -17,7 +17,12 @@ typedef struct game_play_s {
/* 0x1DA0 */ int isPause;
/* 0x1DA4 */ u8 _temp[0x268];
/* 0x200C */ MtxF matrix;
/* 0x204C */ u8 _204C[0x2600-0x204C];
/* 0x204C */ u8 _204C[0x20D0-0x204C];
/* 0x20D0 */ u8 fb_fade_type;
/* 0x20D1 */ u8 fb_wipe_type;
/* 0x20D2 */ u8 fb_mode;
/* 0x20D3 */ u8 fb_wipe_mode;
/* 0x20D4 */ u8 _20D4[0x2600 - 0x20D4];
} GAME_PLAY;
extern void play_init(GAME_PLAY* play);
+3
View File
@@ -9,6 +9,9 @@ extern "C" {
#endif
extern PLAYER_ACTOR* get_player_actor_withoutCheck(GAME_PLAY* play);
extern void mPlib_SetData1_controller_data_for_title_demo(f32 stick_x, f32 stick_y, int btn_a, int btn_b);
extern void mPlib_SetData2_controller_data_for_title_demo(mActor_name_t tool);
extern void mPlib_request_main_invade_type1(GAME_PLAY* play);
#ifdef __cplusplus
}
+19 -1
View File
@@ -9,8 +9,26 @@ extern "C" {
#define mTD_TITLE_DEMO_NUM 5
extern int mTD_get_titledemo_no();
/* key presses for title screen */
extern u16 pact0_key_data[];
extern u16 pact1_key_data[];
extern u16 pact2_key_data[];
extern u16 pact3_key_data[];
extern u16 pact4_key_data[];
/* initial state for title screen */
extern u16 pact0_head_table[];
extern u16 pact1_head_table[];
extern u16 pact2_head_table[];
extern u16 pact3_head_table[];
extern u16 pact4_head_table[];
extern int mTD_demono_get();
extern void title_demo_move(GAME_PLAY* play);
extern void mTD_rtc_set();
extern void mTD_rtc_reserve();
extern int mTD_get_titledemo_no();
extern int mTD_tdemo_button_ok_check();
#ifdef __cplusplus
}
+225
View File
@@ -0,0 +1,225 @@
#include "types.h"
u16 pact0_head_table[] = {
0x0884, 0x00C8, 0x0338, /* position */
0xB77D, /* angle (258.03039550781 deg) */
0x0000, /* tool */
0x0721 /* scale/size? */
};
/**
* Key data format:
* XXXXXXXB YYYYYYYA
*
* That is to say,
* 1 bit for A press
* 7 bits for stick Y angle
* 1 bit for B press
* 7 bits for stick X angle
**/
u16 pact0_key_data[] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02EC, 0x04EA, 0x06E4,
0x06E4, 0x06E4, 0x06E4, 0x06E4, 0x06E4, 0x06E4, 0x06E4, 0x06E4, 0x0AE4,
0x0EE4, 0x10E4, 0x12E4, 0x12E4, 0x14E4, 0x16E4, 0x18E4, 0x1AE6, 0x1CE8,
0x1EEC, 0x24EE, 0x26F2, 0x2CF4, 0x30F8, 0x32FC, 0x36FC, 0x36FE, 0x36FE,
0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE,
0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE,
0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE,
0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE, 0x36FE,
0x36FE, 0x36FE, 0x36F8, 0x36F4, 0x36F2, 0x36EE, 0x36EC, 0x36E8, 0x36E4,
0x34DE, 0x32DA, 0x30D6, 0x2ED4, 0x2ED4, 0x2CD2, 0x2CD2, 0x2CD0, 0x2CD0,
0x28CE, 0x24CE, 0x20CE, 0x16CE, 0x0ACE, 0x0ACE, 0x0ACE, 0x0ACE, 0x0ACE,
0x0ACE, 0x0ACE, 0x0ACE, 0x0ACE, 0x0ACE, 0x0ACE, 0x08CC, 0x06CC, 0x06CA,
0x06CA, 0x06CA, 0x06CA, 0x04CA, 0x04CA, 0x04CA, 0x04CA, 0x04C8, 0x02C8,
0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8,
0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8,
0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0x02C8, 0xFEC8, 0xF6C8, 0xE6CA,
0xDACA, 0xD8CA, 0xD6CA, 0xD6CA, 0xD6CA, 0xD6CA, 0xD6CC, 0xD4CC, 0xD4CC,
0xD4CE, 0xD2D0, 0xD2D0, 0xD0D4, 0xD0D4, 0xCED8, 0xCEDE, 0xCEE4, 0xCEEA,
0xCEF0, 0xCEF2, 0xCEF6, 0xCEF8, 0xCCF8, 0xCCF8, 0xCCF8, 0xCCF8, 0xCCF8,
0xCCFA, 0xCAFA, 0xCAFA, 0xCAFA, 0xCAFC, 0xCAFC, 0xCAFC, 0xCAFC, 0xCAFC,
0xCAFC, 0xCAFC, 0xCAFC, 0xCAFC, 0xCAFC, 0xCAFC, 0xCAFC, 0xCAFC, 0xCA00,
0xCA04, 0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06,
0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06, 0xCA06,
0xCA0A, 0xCA0C, 0xCA10, 0xCC12, 0xCC14, 0xCE16, 0xD018, 0xD21C, 0xD21C,
0xD41C, 0xD61E, 0xDA20, 0xDE24, 0xDE26, 0xDE26, 0xDE26, 0xDE26, 0xDE26,
0xE026, 0xE226, 0xE226, 0xE626, 0xF026, 0xFA26, 0xFE26, 0xFE26, 0xFE26,
0xFE26, 0xFE26, 0xFE26, 0xFE26, 0xFE26, 0x0026, 0x0024, 0x0224, 0x0224,
0x0220, 0x021A, 0x0014, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0xF8E8, 0xF8E6, 0xF8E4, 0xF8E4, 0xF8E4,
0xF8E4, 0xF8E4, 0xF8E4, 0xF8E4, 0xF8E4, 0xF8E4, 0xF8E4, 0xF8E4, 0xF8E4,
0xF8E0, 0xF8DC, 0xF8DA, 0xF8D8, 0xF8D8, 0xF6D4, 0xF6D4, 0xF6D0, 0xF2CE,
0xEECE, 0xEACE, 0xE6CE, 0xE4CE, 0xE0CE, 0xDECE, 0xDECE, 0xDCCE, 0xDACE,
0xD4CC, 0xD2CC, 0xCCCA, 0xC8C8, 0xC8C8, 0xC8C8, 0xC8C8, 0xC8C8, 0xC8C8,
0xC8CA, 0xC8D4, 0xC8D8, 0xC6E2, 0xC4EA, 0xC2EE, 0xC0F4, 0xC0F6, 0xBAF8,
0xB8FA, 0xB8FA, 0xB8FA, 0xB8FA, 0xB8FA, 0xB8FA, 0xB8FA, 0xB8FA, 0xB8FA,
0xB8FA, 0xB8FA, 0xB8FA, 0xB8FA, 0xB8FC, 0xB8FC, 0xB8FC, 0xB8FC, 0xB8FC,
0xB8FC, 0xB200, 0xAC04, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06,
0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06,
0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06, 0xAC06,
0xAC06, 0xAC06, 0xAC06, 0xA806, 0xA406, 0xA406, 0xA406, 0xA406, 0xA406,
0xA406, 0xA406, 0xA406, 0xA406, 0xA406, 0xA406, 0xA406, 0xA406, 0xA406,
0xA606, 0xA406, 0xAA06, 0xAE06, 0xB008, 0xB00A, 0xB20A, 0xB20A, 0xB20A,
0xB20A, 0xB20E, 0xB414, 0xB61A, 0xB61C, 0xB61C, 0xB61C, 0xB61C, 0xB61C,
0xB61C, 0xB61C, 0xB61C, 0xB61C, 0xB61C, 0xB61C, 0xB61C, 0xB61C, 0xB61C,
0xB618, 0xB612, 0xB40C, 0xB206, 0xB206, 0xB206, 0xB206, 0xB206, 0xB206,
0xB206, 0xB206, 0xB206, 0xB204, 0xB200, 0xB200, 0xB200, 0xB200, 0xB2FE,
0xB2FE, 0xB2FE, 0xB2FC, 0xB4FC, 0xB6F6, 0xB6F0, 0xB6EA, 0xB8E6, 0xB8E6,
0xB8E2, 0xBADE, 0xBADA, 0xBCDA, 0xBCD8, 0xBCD6, 0xC0D4, 0xC4D0, 0xC6CC,
0xC6CA, 0xC6CA, 0xC6CA, 0xC6CA, 0xC6CA, 0xC6CA, 0xC6C8, 0xC6C8, 0xC6C8,
0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8,
0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8, 0xC6C8,
0xC6C6, 0xC6C6, 0xC6C6, 0xC6C6, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4,
0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4,
0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4,
0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4, 0xC6C4,
0xC6C4, 0xC6C4, 0xC6C4, 0xC4C4, 0xC4D0, 0xC4E0, 0xC4E6, 0xC4EC, 0xC4F0,
0xC4F0, 0xC2F4, 0xBEF8, 0xBEF8, 0xBEF8, 0xBEF8, 0xBEF8, 0xBEF8, 0xBCF8,
0xBCF8, 0xBCF8, 0xBCFA, 0xBCFA, 0xBCFA, 0xBCFA, 0xBCFA, 0xBAFA, 0xBAFA,
0xB6FC, 0xB4FC, 0xAC00, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02,
0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02,
0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA02, 0xAA04,
0xB210, 0xB212, 0xB212, 0xB212, 0xB414, 0xB416, 0xB61A, 0xB61C, 0xBA20,
0xBC24, 0xBE28, 0xBE28, 0xBE28, 0xBE28, 0xBE2A, 0xBE2C, 0xC030, 0xC030,
0xC032, 0xC034, 0xC234, 0xC236, 0xC236, 0xC236, 0xC236, 0xC236, 0xC236,
0xC236, 0xC236, 0xC236, 0xC236, 0xC236, 0xC034, 0xC030, 0xBE28, 0xBA20,
0xB61C, 0xB416, 0xB214, 0xB212, 0xB212, 0xB210, 0xB00E, 0xB00C, 0xAE0A,
0xAE08, 0xA800, 0xA2FE, 0xA2FC, 0xA2FC, 0xA2FC, 0xA2FC, 0xA2FC, 0xA2FC,
0xA2FC, 0xA2FC, 0xA2FC, 0xA2FC, 0xA2FC, 0xA2FC, 0xA6FE, 0xA8FE, 0xA8FE,
0xAAFE, 0xAA00, 0xAA00, 0xAA00, 0xAE02, 0xB004, 0xB004, 0xB204, 0xB406,
0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406,
0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406,
0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406,
0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406,
0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406, 0xB406,
0xB406, 0xB406, 0xB406, 0xB608, 0xB80E, 0xBA10, 0xBC12, 0xBC14, 0xBC14,
0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14,
0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14, 0xBC14,
0xBC14, 0xC01A, 0xC21E, 0xC420, 0xC420, 0xC420, 0xC420, 0xC420, 0xC420,
0xC420, 0xC420, 0xC420, 0xC220, 0xC21A, 0xC212, 0xC008, 0xBE04, 0xBE00,
0xBE00, 0xBEFE, 0xBEFC, 0xBEFA, 0xBEF4, 0xC6E6, 0xCCDE, 0xCED6, 0xD0D0,
0xD0CE, 0xD0CE, 0xD0CE, 0xD0CC, 0xD2CC, 0xD2CC, 0xD2CA, 0xD2CA, 0xD2CA,
0xD2CA, 0xD2CA, 0xD2C8, 0xD2C8, 0xD4C6, 0xD4C6, 0xD6C4, 0xD6C4, 0xD8C0,
0xDCBE, 0xE0BC, 0xE4BC, 0xE4BA, 0xE4BA, 0xE4BA, 0xE4BA, 0xE4BA, 0xE4B8,
0xE4B8, 0xE4B6, 0xE4B6, 0xE4B6, 0xE6B2, 0xE6B0, 0xEAAE, 0xECAE, 0xECAC,
0xECAC, 0xECAC, 0xECAC, 0xECAA, 0xECAA, 0xECAA, 0xECAA, 0xECAA, 0xECA8,
0xEEA6, 0xF2A2, 0xF6A0, 0xF69E, 0xF69E, 0xF69E, 0xF89E, 0xFA9C, 0xFA9A,
0xFA96, 0xFC92, 0xFC8E, 0xFC8E, 0xFC8E, 0xFC8E, 0xFC8E, 0xFC8E, 0xFC8E,
0xFC8E, 0xFC8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE90, 0x0090, 0x0092, 0x0092,
0x0094, 0x0094, 0x0096, 0x0096, 0x0096, 0x0098, 0x0098, 0x009A, 0x009A,
0x009A, 0x009A, 0x009A, 0x009A, 0x009A, 0x009A, 0x009A, 0x009A, 0x009A,
0x009A, 0x009A, 0xFE9C, 0xFEA0, 0xF6A0, 0xF6A0, 0xF6A0, 0xF6A0, 0xF6A0,
0xF6A0, 0xF6A0, 0xF6A0, 0xF2A4, 0xF2A4, 0xF0A4, 0xEEA6, 0xECAA, 0xECAA,
0xECAA, 0xECAA, 0xECAA, 0xECAA, 0xECAA, 0xECAA, 0xECAA, 0xECAA, 0xECAA,
0xECAA, 0xECAA, 0xECAA, 0xECAA, 0xEEAA, 0xEEAA, 0xEEAA, 0xEEAA, 0xEEAA,
0xEEAA, 0xEEAA, 0xEEAA, 0xEEAA, 0xEEAA, 0xEEAA, 0xEEAA, 0xEEAA, 0xEEAA,
0xEEAA, 0xEEAA, 0xEEAA, 0xF0AA, 0xF0AA, 0xF0AA, 0xF4AA, 0xF6AA, 0xF6AA,
0xF6AA, 0xF6AA, 0xF6AA, 0xF6AA, 0xF6AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA,
0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA,
0xF8AA, 0xF8AA, 0xFAAA, 0xFAAA, 0xFAAA, 0xFAAA, 0xFAAA, 0xFCAA, 0xFCAA,
0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA,
0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA,
0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA,
0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA, 0xFCAA,
0xFCAA, 0xFCAA, 0xFCA8, 0xFEA8, 0xFEA8, 0xFEA8, 0xFEA8, 0xFEA8, 0xFEA6,
0xFEA6, 0x00A6, 0x02A6, 0x02A6, 0x02A6, 0x02A6, 0x02A6, 0x02A6, 0x02A4,
0x02A2, 0x02A0, 0x02A0, 0x02A0, 0x02A0, 0x02A0, 0x02A0, 0x02A0, 0x00A0,
0x00A0, 0x00A0, 0x00A0, 0x00A0, 0xFE9C, 0xFC98, 0xF696, 0xF696, 0xF696,
0xF696, 0xF694, 0xF892, 0xF890, 0xF88E, 0xF88E, 0xF88E, 0xF88E, 0xF88E,
0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E,
0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E,
0xFA8E, 0xFA8E, 0xFA8E, 0xFA8E, 0xFC90, 0xFE92, 0x0094, 0x0698, 0x0A9C,
0x10A2, 0x1AA8, 0x2CB2, 0x3CBA, 0x3CBC, 0x40BE, 0x44BE, 0x4ABE, 0x50C0,
0x60C4, 0x6AC8, 0x6CCC, 0x6ECE, 0x6ECE, 0x6ECE, 0x6ECE, 0x6ECE, 0x6ECE,
0x6ECE, 0x6ECE, 0x6ECE, 0x6ECE, 0x6ECE, 0x6ECE, 0x6ECE, 0x6ECE, 0x6CCA,
0x6AC4, 0x66BE, 0x60B8, 0x5CB2, 0x5AB0, 0x54AA, 0x52A6, 0x4EA4, 0x4CA2,
0x4CA2, 0x4CA2, 0x48A0, 0x3C96, 0x2E90, 0x268E, 0x1E8A, 0x1488, 0x1488,
0x1488, 0x1488, 0x1488, 0x1488, 0x1488, 0x1488, 0x1488, 0x1488, 0x1488,
0x1088, 0x0E88, 0x0E88, 0x0E88, 0x0E88, 0x0E88, 0x0E88, 0x0E88, 0x0E88,
0x0E88, 0x0E88, 0x0E88, 0x0E88, 0x0E88, 0x0E88, 0x1288, 0x1C8A, 0x1E8A,
0x1E8A, 0x1E8A, 0x1E8A, 0x1E8A, 0x1E8A, 0x1E8A, 0x1E8A, 0x1E8A, 0x1E8A,
0x1E8C, 0x1E8C, 0x208C, 0x208C, 0x248E, 0x288E, 0x2C90, 0x2E94, 0x2E98,
0x2E9C, 0x2E9C, 0x2E9E, 0x2EA2, 0x30A6, 0x30A6, 0x30A6, 0x30A6, 0x30A6,
0x30A6, 0x30A6, 0x30A8, 0x30A8, 0x30A8, 0x30A8, 0x2CAA, 0x24AA, 0x24AC,
0x1EAC, 0x16AC, 0x16AC, 0x14AC, 0x10AC, 0x0AAC, 0x08AC, 0x08AC, 0x08AC,
0x08AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC,
0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC,
0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC,
0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC,
0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC,
0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AC, 0x06AE,
0x0EB2, 0x14B6, 0x1CBC, 0x20C4, 0x24CA, 0x26CC, 0x26CE, 0x26CE, 0x26D0,
0x26D0, 0x26D0, 0x26D0, 0x26D0, 0x26D0, 0x26D0, 0x26D0, 0x26D0, 0x26D0,
0x26D2, 0x26D4, 0x26D4, 0x28D6, 0x28D6, 0x28D6, 0x28D6, 0x28D6, 0x28D6,
0x2ADA, 0x2ADC, 0x2ADC, 0x2ADC, 0x2ADC, 0x2ADC, 0x2ADC, 0x28DA, 0x28D8,
0x28D6, 0x28D2, 0x26CE, 0x28C8, 0x28BE, 0x26B0, 0x1AA8, 0x18A6, 0x109C,
0x0E98, 0x0E98, 0x0C96, 0x0C96, 0x0C96, 0x0C96, 0x0C96, 0x0C96, 0x0C96,
0x0C96, 0x0C96, 0x0C96, 0x0C96, 0x0C96, 0x0C96, 0x0C96, 0x0C96, 0x0A96,
0x0A96, 0x0A96, 0x0A96, 0x0A96, 0x0A98, 0x0898, 0x0898, 0x0898, 0x0898,
0x0898, 0x0898, 0x069A, 0x069C, 0x069E, 0x06A0, 0x06A4, 0x06A4, 0x06A6,
0x06A8, 0x04AA, 0x02AE, 0xFEB2, 0xF6B8, 0xF0BC, 0xE2C6, 0xDEC8, 0xDACA,
0xDACE, 0xDAD0, 0xDAD2, 0xDAD6, 0xDAD8, 0xDADA, 0xDADE, 0xDADE, 0xD8E2,
0xD6EA, 0xD6EC, 0xD6EE, 0xD4F2, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4,
0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD0F4, 0xD0F4,
0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4,
0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4, 0xD0F4,
0xD0F4, 0xD0F4, 0xD0F2, 0xD0EE, 0xD0EC, 0xD0E4, 0xD0DC, 0xD0D6, 0xD0D0,
0xD0D0, 0xD0CE, 0xD0CE, 0xD0CE, 0xCECA, 0xCEC8, 0xCEC8, 0xCEC4, 0xCEBA,
0xD8B4, 0xDEAC, 0xE6A8, 0xF49E, 0xF49E, 0xF49E, 0xF49E, 0xF49E, 0xF49E,
0xF49E, 0xF49E, 0xF49E, 0xF49E, 0xF49E, 0xF49E, 0xF49E, 0xF49E, 0xF69E,
0xF0A4, 0xDAB0, 0xCCB8, 0xC8BA, 0xC8BA, 0xC8BC, 0xC8BE, 0xC6C0, 0xC6C0,
0xC8C0, 0xC8C0, 0xC8C0, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2,
0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2,
0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCCC0, 0xCCBE, 0xD2BA, 0xD6B6,
0xD6B0, 0xD6B0, 0xD6B0, 0xD6B0, 0xE0AE, 0xE4AC, 0xE6AC, 0xE6AC, 0xE6AC,
0xE6AC, 0xE8AA, 0xECA8, 0xEEA6, 0xF0A4, 0xF2A4, 0xF2A2, 0xF4A2, 0xF6A0,
0xF89E, 0xFA9E, 0xFC9C, 0xFE9C, 0xFE9C, 0xFE9C, 0xFE9C, 0xFE9C, 0x009A,
0x0898, 0x0C96, 0x0C96, 0x0E96, 0x1094, 0x1290, 0x128C, 0x148C, 0x148A,
0x148A, 0x148A, 0x148A, 0x148A, 0x148C, 0x148C, 0x148C, 0x128C, 0x128E,
0x1294, 0x1294, 0x1296, 0x1296, 0x1298, 0x129A, 0x129C, 0x12A0, 0x12A4,
0x12A4, 0x12A4, 0x12A4, 0x12A4, 0x12A4, 0x12A4, 0x12A4, 0x12A4, 0x12A4,
0x12A4, 0x12A4, 0x0AA8, 0x08A8, 0x06AC, 0x06AC, 0x04AE, 0x04AE, 0x04AE,
0x04AE, 0x02AE, 0xFEAE, 0xFCAE, 0xF2B0, 0xE6B6, 0xD8BE, 0xD2C0, 0xD0C0,
0xCEC2, 0xCEC4, 0xCEC6, 0xCECA, 0xCECC, 0xCECC, 0xCECE, 0xCED2, 0xCED4,
0xCED8, 0xCEDC, 0xCEDE, 0xCEE0, 0xCEE0, 0xCEE0, 0xCEE2, 0xCEE2, 0xCEE2,
0xCEE2, 0xCEE2, 0xCEE2, 0xCEE2, 0xCEE2, 0xCEE2, 0xCEE2, 0xCEE2, 0xCEE2,
0xCEE2, 0xCEE2, 0xCEE2, 0xCEE0, 0xD4DE, 0xD6DC, 0xD6DC, 0xD6DC, 0xD6DA,
0xD6DA, 0xD8DA, 0xD8DA, 0xDAD8, 0xDAD8, 0xDAD8, 0xDAD6, 0xDAD6, 0xDAD4,
0xDAD4, 0xDCD4, 0xDCD4, 0xDAD2, 0xDACE, 0xDACC, 0xDACA, 0xDACA, 0xDACA,
0xDAC8, 0xDAC8, 0xDAC8, 0xDAC6, 0xDAC4, 0xDAC4, 0xDAC4, 0xDAC4, 0xDAC4,
0xDAC4, 0xDAC4, 0xDAC4, 0xDAC4, 0xDAC4, 0xDAC4, 0xDAC2, 0xDAC2, 0xDAC2,
0xDAC2, 0xDAC2, 0xDAC2, 0xDAC2, 0xDAC2, 0xDAC2, 0xD6C0, 0xD6BE, 0xD4BC,
0xD4BC, 0xD4BA, 0xD4BA, 0xD4BA, 0xD4BA, 0xD4BA, 0xD4BA, 0xD4BA, 0xDAB6,
0xDCB6, 0xE6B4, 0xF2B0, 0xFAAE, 0xFAAC, 0xFCAC, 0xFEAA, 0x06A8, 0x06A8,
0x06A8, 0x06A8, 0x06A8, 0x06A8, 0x06A8, 0x06A8, 0x06A8, 0x08A8, 0x10A8,
0x12A6, 0x12A6, 0x12A6, 0x12A6, 0x12A6, 0x16A6, 0x18A6, 0x1AA6, 0x1CA6,
0x1EA6, 0x24A6, 0x26A6, 0x26A6, 0x2AA6, 0x2CA6, 0x32A8, 0x38AA, 0x3AAC,
0x3EAE, 0x3EB0, 0x40B2, 0x40B4, 0x42B6, 0x42BA, 0x42BC, 0x42C0, 0x42C2,
0x42C4, 0x42C6, 0x42C6, 0x42CC, 0x42D2, 0x42DC, 0x42E4, 0x42E6, 0x42E6,
0x42E8, 0x42EA, 0x42EE, 0x42F2, 0x42F8, 0x42FC, 0x42FE, 0x42FE, 0x42FE,
0x42FE, 0x42FE, 0x42FE, 0x42FE, 0x42FE, 0x42FE, 0x42FE, 0x4200, 0x4200,
0x4200, 0x4200, 0x4200, 0x4200, 0x4200, 0x4200, 0x4204, 0x4208, 0x420E,
0x3C16, 0x361C, 0x3220, 0x3022, 0x3024, 0x2E24, 0x2E24, 0x2C26, 0x2A28,
0x2628, 0x2028, 0x1E28, 0x1C28, 0x1A28, 0x1428, 0x042A, 0x022A, 0x022A,
0x022A, 0x022A, 0x022A, 0x022A, 0x022A, 0x022A, 0x022A, 0x022A, 0x022A,
0x002A, 0x002A, 0x002A, 0xFE2A, 0xFE2A, 0xFE2A, 0xFE2A, 0xFE2A, 0xFE2A,
0xFA2A, 0xF228, 0xEC28, 0xEC28, 0xEC28, 0xEC26, 0xEC26, 0xEC26, 0xEC26,
0xEC26, 0xEC26, 0xEC24, 0xEC20, 0xF018, 0x0000, 0x0000, 0x0000, 0x0000,
0x00D8, 0x06C0, 0x0EBE, 0x0EBA, 0x0EB8, 0x0EB8, 0x0EB8, 0x0EB8, 0x0EBE,
0x10E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000,
};
+215
View File
@@ -0,0 +1,215 @@
#include "types.h"
u16 pact1_head_table[] = {
0x0C92, 0x0028, 0x0C02, /* position */
0x5893, /* angle (124.55749511719 deg) */
0x2204, /* tool (gelato umbrella) */
0x0722 /* scale/size? */
};
u16 pact1_key_data[] = {
0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x19FE,
0x4300, 0x6F02, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900,
0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900,
0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900,
0x6BFA, 0xC302, 0x8900, 0x89F6, 0x89F6, 0x89F6, 0x89F6, 0x89F6, 0x89F6,
0x89F6, 0x89F6, 0x89F6, 0x89F6, 0x89F6, 0x89F6, 0x89F4, 0x89EE, 0x8BEA,
0x8DE2, 0x8FD8, 0x91D4, 0x95CC, 0x9FBA, 0xA7B0, 0xA9AE, 0xADAA, 0xB3A4,
0xBDA4, 0xBDA4, 0xC5A4, 0xCFA4, 0xD3A2, 0xD79E, 0xD79C, 0xD79C, 0xD79C,
0xD79C, 0xD79C, 0xD79C, 0xD79C, 0xD79C, 0xD79C, 0xD79C, 0xD79C, 0xDD98,
0xED94, 0xED94, 0xED94, 0xED94, 0xED94, 0xED94, 0xED94, 0xED94, 0xED94,
0xED96, 0xED96, 0xF198, 0xF79A, 0xF79A, 0xF79A, 0xF99A, 0xFD9A, 0x0B9A,
0x179C, 0x1B9C, 0x239E, 0x31A6, 0x33A6, 0x35A8, 0x3BAC, 0x3DB0, 0x3FB4,
0x3FB4, 0x3FB4, 0x3FB6, 0x3FB8, 0x3FBC, 0x3FC2, 0x3FC4, 0x3FC4, 0x3FC4,
0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4,
0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4,
0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4,
0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3FC4, 0x3DC4, 0x3BC4, 0x39C4,
0x39C4, 0x39C4, 0x39C4, 0x39C4, 0x39C4, 0x39C2, 0x37C0, 0x37BE, 0x33BA,
0x23B6, 0x21B6, 0x21B6, 0x21B6, 0x21B6, 0x21B6, 0x21B6, 0x21B6, 0x21B6,
0x21B6, 0x1BB0, 0x0FAC, 0x0BAA, 0x07AA, 0x07AA, 0xFDAA, 0xFDAA, 0xFDAA,
0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA,
0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAA, 0xFDAC,
0xFDAE, 0x13B4, 0x1FB6, 0x2DBE, 0x2FC0, 0x31C6, 0x33D2, 0x35E0, 0x37E4,
0x37E4, 0x37E4, 0x37E4, 0x37E4, 0x37E4, 0x37E4, 0x37E4, 0x37E4, 0x37E4,
0x37E4, 0x37E4, 0x37E4, 0x37E4, 0x37E4, 0x37E2, 0x37DC, 0x37D4, 0x37D2,
0x37CE, 0x37CC, 0x37C8, 0x37C6, 0x39C2, 0x39BE, 0x39BE, 0x39BC, 0x39BA,
0x39BA, 0x39B8, 0x39B6, 0x39B4, 0x2FAE, 0x2BAC, 0x27A8, 0x23A4, 0x1FA0,
0x1B9C, 0x0F96, 0x0D94, 0x0B92, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590,
0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590,
0x0594, 0x059C, 0x059C, 0x059C, 0x059C, 0x05A6, 0x05AC, 0x05B6, 0x05B6,
0x05B8, 0x05B8, 0x05B8, 0x05B8, 0x05B8, 0x05B8, 0x05B8, 0x05B8, 0x17BA,
0x2BBC, 0x2FBC, 0x2FBC, 0x2FBC, 0x2FBC, 0x2FBC, 0x2FBC, 0x2FBC, 0x2FBC,
0x2FBC, 0x2FBC, 0x2FBC, 0x2FBC, 0x2FBC, 0x31BC, 0x31BC, 0x23BC, 0x14BC,
0x14BC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC,
0x0CBC, 0x0CBC, 0x0CBC, 0x0CBA, 0x0CBA, 0x0CBA, 0x0CBA, 0x0CBA, 0x0CBA,
0xFEB8, 0xFEB8, 0xFEB8, 0xFEB6, 0xFEB6, 0xFEB6, 0xFEB6, 0xF8B6, 0xF6B6,
0xF6B6, 0xF6B6, 0xF6B6, 0xF6B6, 0xF6B6, 0xF6B6, 0xF2B6, 0xF0B6, 0xF0B6,
0xF0B6, 0xF0B6, 0xF0B6, 0xE6B6, 0xE2B6, 0xE2B6, 0xE2B6, 0xE2B6, 0xE2B6,
0xE2B6, 0xE2B6, 0xE2B6, 0xE2B6, 0xE2B6, 0xE2B6, 0xE2B6, 0xE2BC, 0xE2BE,
0xE2C0, 0xE2C4, 0xE0C6, 0xDEC8, 0xDCCE, 0xDCD0, 0xDCD0, 0xDCD0, 0xDCD0,
0xDCD0, 0xDCD0, 0xDCD0, 0xDAD6, 0xDAD6, 0xDCDA, 0xE2E0, 0xE6E8, 0xEAEA,
0xECEC, 0xEEEE, 0xEEF2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xEAFC, 0xE6FC, 0xE6FC, 0xE6FC, 0xE6FC, 0xE6FE, 0xE600, 0xE608,
0xE608, 0xE608, 0xE608, 0xE608, 0xE608, 0xE60E, 0xE612, 0xE612, 0xE416,
0xDE22, 0xD62C, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234,
0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234,
0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234,
0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xD234, 0xCE30,
0xCE30, 0xCE30, 0xCE30, 0xCA2C, 0xCA2C, 0xCA2A, 0xC828, 0xC424, 0xC220,
0xC218, 0xC214, 0xC214, 0xC214, 0xC214, 0xC20C, 0xC206, 0xC204, 0xC202,
0xC202, 0xC2FE, 0xC2FC, 0xC2FC, 0xC2FC, 0xC2FA, 0xC2F4, 0xC2F4, 0xC2F4,
0xC2F4, 0xC2F4, 0xC2F4, 0xC2F4, 0xC2F4, 0xC2F4, 0xC2F4, 0xC2F4, 0xC2F4,
0xC2F4, 0xC0F4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4,
0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4,
0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF0, 0xBCE8, 0xBCE6, 0xBCE6,
0xBCDE, 0xBCD6, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4,
0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4,
0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4,
0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4,
0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4,
0xBCD4, 0xBCD4, 0xBCD4, 0xBCD4, 0xBCDA, 0xBCDE, 0xBCE4, 0xBCF0, 0xBCF4,
0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF4, 0xBCF8, 0xBCFC, 0xBC02, 0xBC04,
0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04,
0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04,
0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC04, 0xBC02,
0xBC02, 0xBC00, 0xBCFE, 0xB4FC, 0xB2FC, 0xB0FC, 0xAAFC, 0xAAFC, 0xAAFC,
0x9EFC, 0x9AFC, 0x9AFC, 0x9AFC, 0x9AFC, 0x9AFC, 0x9AFC, 0x9AFC, 0x9AFC,
0x9AFC, 0xAEFC, 0xB2FC, 0xB2FC, 0xB8FC, 0xBEFE, 0xC002, 0xC204, 0xC204,
0xC204, 0xC204, 0xC204, 0xC204, 0xC204, 0xC204, 0xC204, 0xC204, 0xC204,
0xC204, 0xC204, 0xC204, 0xC20E, 0xC21C, 0xC228, 0xC228, 0xC228, 0xC228,
0xC228, 0xC228, 0xC228, 0xC228, 0xC22E, 0xC238, 0xC238, 0xC238, 0xC238,
0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238,
0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238,
0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238,
0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238, 0xC238,
0xC238, 0xC238, 0xC238, 0xC234, 0xC230, 0xC22E, 0xC22E, 0xC22E, 0xC22A,
0xC22A, 0xC22A, 0xC22A, 0xC222, 0xC222, 0xC222, 0xC222, 0xC222, 0xC222,
0xC222, 0xC222, 0xC222, 0xC222, 0xC222, 0xC222, 0xC222, 0xC222, 0xC222,
0xC222, 0xC222, 0xC222, 0xC01A, 0xBE1A, 0xBE1A, 0xBE1A, 0xBC12, 0xBC0C,
0xBC0C, 0xBC0C, 0xBC08, 0xBC08, 0xBC08, 0xBC08, 0xBC08, 0xC010, 0xC418,
0xC420, 0xC424, 0xC42A, 0xC432, 0xC432, 0xC434, 0xC434, 0xC434, 0xC434,
0xC434, 0xC434, 0xC434, 0xC434, 0xC434, 0xC434, 0xC434, 0xC434, 0xC434,
0xC434, 0xC434, 0xC434, 0xC434, 0xC434, 0xC434, 0xC42E, 0xC426, 0xC426,
0xC222, 0xC01C, 0xBE18, 0xBC10, 0xB806, 0xB606, 0xB606, 0xB604, 0xB604,
0xB604, 0xB604, 0xB604, 0xB604, 0xB604, 0xB604, 0xB604, 0xAC00, 0xA800,
0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800,
0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800,
0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800,
0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800,
0xA800, 0xA800, 0xA8FE, 0xA8FA, 0xAAFA, 0xAAFA, 0xAAF8, 0xAAE6, 0xAAE2,
0xAADE, 0xAADC, 0xAECE, 0xB0CC, 0xB0CC, 0xB0CC, 0xB0CC, 0xB0CC, 0xB0CC,
0xB0CC, 0xB0CC, 0xB0CC, 0xB0CC, 0xB0CC, 0xAED2, 0xA8DA, 0xA8DA, 0xA8DA,
0xA2E2, 0x96F4, 0x94F6, 0x94F6, 0x94F6, 0x94F6, 0x96F6, 0x96F6, 0x96F6,
0x96F6, 0x96F6, 0x96F6, 0x96F6, 0x96F6, 0x96F6, 0x96F6, 0x96F6, 0xA0F8,
0xACFC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC,
0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FC, 0xB2FA,
0xB2F8, 0xB2F2, 0xB2EE, 0xB2E8, 0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6,
0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6,
0xB2E6, 0xB2E6, 0xB2E6, 0xB2E6, 0xB2EA, 0xB2EE, 0xB2F0, 0xB2F4, 0xB2F8,
0xB2FA, 0xB200, 0xB206, 0xB20C, 0xB210, 0xB210, 0xB210, 0xB210, 0xB210,
0xB210, 0xB210, 0xB214, 0xB21A, 0xB21A, 0xB21A, 0xB21A, 0xB21A, 0xB218,
0xB214, 0xB20A, 0xB202, 0xB0FE, 0xB0F8, 0xB0EE, 0xB0E2, 0xB0D4, 0xB0D2,
0xB0D2, 0xB0D2, 0xB0D2, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4,
0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4,
0xB0D4, 0xB0D4, 0xB0D4, 0xB0D4, 0xB0DC, 0xB0DC, 0xB0DE, 0xB0DE, 0xB0DE,
0xB0DE, 0xB0EA, 0xB0EA, 0xB0EA, 0xB0F2, 0xB0F6, 0xB0FC, 0xB000, 0xB002,
0xB00A, 0xB00A, 0xB00A, 0xAE0C, 0xAE0E, 0xAE0E, 0xAE0E, 0xAE0E, 0xAE0E,
0xAE0E, 0xAE0E, 0xAE0E, 0xAE0E, 0xAE0E, 0xAE14, 0xAE20, 0xAE2E, 0xAE30,
0xAE32, 0xAE32, 0xAE32, 0xAE32, 0xAE32, 0xAE32, 0xAE32, 0xAE32, 0xAE2C,
0xAE1E, 0xAE10, 0xAEF6, 0xAEF4, 0xAEEA, 0xAED8, 0xAEC2, 0xB0BA, 0xB0BA,
0xB0BA, 0xB2BA, 0xB2BA, 0xB2B8, 0xB2B6, 0xB4B4, 0xB4B4, 0xB4B4, 0xB4B4,
0xB4B4, 0xB4B4, 0xB4B4, 0xB4B4, 0xB4B4, 0xB4B4, 0xB4B4, 0xB4B4, 0xB4B6,
0xB4B8, 0xB4B8, 0xB4BC, 0xB4C0, 0xB4C8, 0xB4C8, 0xB4D0, 0xB4D4, 0xB4D8,
0xB4DC, 0xB4E0, 0xB4E2, 0xB4E2, 0xB4E2, 0xB4E2, 0xB4E2, 0xB4E2, 0xB4E2,
0xB4E2, 0xB4E2, 0xB4E2, 0xB4E2, 0xB4EC, 0xB4EE, 0xB4EE, 0xB4F0, 0xB4F4,
0xB4FA, 0xB408, 0xB40C, 0xB40C, 0xB40C, 0xB40C, 0xB40C, 0xB40C, 0xAE08,
0xAC04, 0xAC04, 0x9E00, 0x9E00, 0x9E00, 0x9E00, 0x9E00, 0x9E00, 0xA000,
0xA000, 0xA000, 0xA202, 0xA608, 0xAC0E, 0xAC12, 0xAC12, 0xAC12, 0xAC12,
0xAE12, 0xB016, 0xB016, 0xB016, 0xB016, 0xB016, 0xB216, 0xB216, 0xB216,
0xB216, 0xB216, 0xB216, 0xB014, 0xAE0E, 0xAE0C, 0xAE0C, 0xAE0C, 0xAE0C,
0xAE0C, 0xAE0C, 0xAE0C, 0xAE0C, 0xAE0C, 0xAE0C, 0xAE0C, 0xAE0C, 0xAE0C,
0xAE14, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16,
0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16,
0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xAE16, 0xB01C, 0xB424, 0xB424,
0xB62A, 0xBA30, 0xBC38, 0xC23A, 0xC23C, 0xC440, 0xC844, 0xCA48, 0xCE4C,
0xD04C, 0xD04C, 0xD250, 0xD250, 0xDE54, 0xE258, 0xE45A, 0xE45A, 0xF05A,
0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A,
0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A,
0xF05A, 0xEC5A, 0xD654, 0xBC50, 0xBA50, 0xB850, 0xB850, 0xB850, 0xB850,
0xB24C, 0xB24C, 0xB24C, 0xB24C, 0xB24C, 0xB24A, 0xB248, 0xB248, 0xB248,
0xB246, 0xB244, 0xB242, 0xB236, 0xB228, 0xB216, 0xB210, 0xB202, 0xB2FA,
0xB2F6, 0xB2F2, 0xB2EA, 0xB2DA, 0xB6CA, 0xB6CA, 0xB6CA, 0xB6C2, 0xB6C0,
0xB6C0, 0xB6C0, 0xB6C0, 0xB6C0, 0xB6BA, 0xB6B6, 0xB6B6, 0xB6B6, 0xB6B6,
0xB6B6, 0xB6B6, 0xB6B6, 0xB6B6, 0xB6B6, 0xB6B6, 0xB6B6, 0xB6B6, 0xB6B6,
0xB6B6, 0xB6B8, 0xB6B8, 0xB6B8, 0xB6B8, 0xB6BA, 0xB6BA, 0xB6BC, 0xB6BC,
0xB6BC, 0xB6BE, 0xB6BE, 0xB6BE, 0xB6BE, 0xB6BE, 0xB6BE, 0xB6BE, 0xB6BE,
0xB6C0, 0xB6C0, 0xB6C0, 0xB6C4, 0xB6C4, 0xB6C4, 0xB6C6, 0xB6CA, 0xB6D8,
0xBCF0, 0xBEF6, 0xBE02, 0xBE0A, 0xBE1C, 0xBE24, 0xBE28, 0xBE28, 0xBE32,
0xBE34, 0xBE36, 0xBE3A, 0xBE3C, 0xC040, 0xC040, 0xC040, 0xC040, 0xC040,
0xC040, 0xC040, 0xC042, 0xC244, 0xC444, 0xC446, 0xC446, 0xCA4A, 0xCC4C,
0xCE4C, 0xCE4E, 0xCE4E, 0xD452, 0xDC54, 0xEA5A, 0xEA5A, 0xF05A, 0xF05A,
0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF05A, 0xF45E,
0xF45E, 0xF45E, 0xF45E, 0xF45E, 0xF45E, 0xFE5E, 0x025E, 0x025E, 0x025E,
0x025E, 0x025E, 0x025E, 0x025E, 0x025E, 0x025E, 0x025E, 0x025E, 0x025E,
0x025E, 0x0260, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262,
0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262,
0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262, 0x0262,
0x0262, 0x045E, 0x045E, 0x045C, 0x045C, 0x045C, 0x045C, 0x045C, 0x045C,
0x045C, 0x045C, 0x045A, 0x045A, 0x0458, 0xFC56, 0xFC56, 0xFC56, 0xFC56,
0xFC56, 0xFC56, 0xFC56, 0xFC56, 0xFC56, 0xFC56, 0xDC52, 0xDA52, 0xDA52,
0xDA52, 0xDA52, 0xDA52, 0xDA52, 0xDA52, 0xDA52, 0xDA52, 0xDA52, 0xE652,
0xE452, 0xEE52, 0xF052, 0xF252, 0xF252, 0xFC52, 0x0252, 0x0252, 0x0252,
0x0252, 0x0252, 0x0252, 0x0252, 0x0252, 0x0252, 0x0252, 0x0252, 0x0252,
0x0252, 0x0252, 0x0252, 0x0252, 0x0252, 0x0252, 0x0252, 0x0252, 0x0252,
0x0452, 0x0652, 0x0652, 0x0652, 0x0E52, 0x0E52, 0x0E52, 0x0E52, 0x0E52,
0x1452, 0x1452, 0x1452, 0x1C52, 0x2252, 0x2252, 0x2252, 0x2252, 0x2252,
0x2250, 0x364A, 0x3A4A, 0x3A4A, 0x3A4A, 0x3A4A, 0x3C48, 0x3C48, 0x3C46,
0x3E42, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C,
0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C,
0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3E3C, 0x3A3C, 0x3A3C, 0x363C,
0x323C, 0x303C, 0x303C, 0x303C, 0x2E3C, 0x2E3C, 0x2E3C, 0x2E3C, 0x2A3C,
0x2A3C, 0x2A3C, 0x2A3C, 0x2A3C, 0x1E3C, 0x1A3C, 0x1A3C, 0x1A3C, 0x1A3C,
0x1A3C, 0x183C, 0x123C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C,
0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C,
0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C, 0x0E3C,
0x0E3C, 0x0E3C, 0x163C, 0x263C, 0x2A3C, 0x2C3C, 0x323C, 0x323C, 0x323C,
0x323C, 0x323C, 0x323C, 0x323C, 0x323C, 0x323C, 0x323C, 0x323C, 0x323C,
0x323C, 0x323C, 0x383C, 0x383A, 0x3838, 0x3836, 0x3832, 0x3830, 0x3830,
0x382A, 0x3826, 0x3824, 0x3824, 0x3824, 0x3824, 0x3824, 0x3824, 0x3E1E,
0x3E1E, 0x3E1C, 0x3E1C, 0x3E1A, 0x3E14, 0x3E14, 0x3E14, 0x3E14, 0x3E12,
0x3E10, 0x440A, 0x420A, 0x420A, 0x420A, 0x420A, 0x420A, 0x420A, 0x420A,
0x420A, 0x420A, 0x420A, 0x420A, 0x4202, 0x4202, 0x4202, 0x4202, 0x4202,
0x4202, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC,
0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC,
0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FC,
0x42FC, 0x42FC, 0x42FC, 0x42FC, 0x42FA, 0x42FA, 0x42F8, 0x42F4, 0x42F4,
0x42F4, 0x42F4, 0x42F4, 0x42F4, 0x42F4, 0x42F4, 0x42F4, 0x42F4, 0x42F4,
0x42F2, 0x42E4, 0x42D6, 0x42D2, 0x42D2, 0x42D2, 0x42D2, 0x42D2, 0x42D2,
0x42D2, 0x42D2, 0x42CC, 0x42CC, 0x42CC, 0x42CA, 0x3EC6, 0x3EC6, 0x3EC4,
0x3CC0, 0x3CC0, 0x3CC0, 0x3CC0, 0x3CC0, 0x3AC0, 0x3AC0, 0x3AC0, 0x36C0,
0x2AC2, 0x24C4, 0x20C8, 0x1ECE, 0x1CD0, 0x1CD0, 0x16D8, 0x0EE4, 0x0CEC,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000
};
+217
View File
@@ -0,0 +1,217 @@
#include "types.h"
u16 pact2_head_table[] = {
0x0845, 0x00A0, 0x05D0, /* position */
0x1A8C, /* angle (37.33154296875 deg) */
0x2203, /* tool (fishing rod) */
0x0733 /* scale/size? */
};
u16 pact2_key_data[] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0EEA, 0x10EA,
0x10EA, 0x10EA, 0x10EA, 0x10EA, 0x10EA, 0x10EA, 0x10EA, 0x10EA, 0x10E8,
0x10E8, 0x10E6, 0x10E4, 0x10E4, 0x10E4, 0x10E2, 0x10DE, 0x10DC, 0x10DC,
0x10DC, 0x10DC, 0x10DA, 0x10DA, 0x10DA, 0x10DA, 0x10D8, 0x10D4, 0x10D0,
0x10CE, 0x10CC, 0x10CA, 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8,
0x10C8, 0x10C8, 0x10C8, 0x12C8, 0x16C6, 0x18C6, 0x1CC6, 0x1CC6, 0x1CC6,
0x1EC6, 0x1EC6, 0x1EC6, 0x1EC6, 0x1EC6, 0x1EC6, 0x1EC6, 0x1EC6, 0x1EC6,
0x20C6, 0x22C6, 0x24C6, 0x24C6, 0x26C6, 0x26C6, 0x26C6, 0x26C6, 0x26C6,
0x28C6, 0x28C6, 0x28C6, 0x2AC6, 0x2CC6, 0x2CC6, 0x2EC6, 0x30C6, 0x30C6,
0x30C6, 0x32C6, 0x34CA, 0x34CC, 0x36CE, 0x36D0, 0x36D0, 0x36D2, 0x36D4,
0x36D4, 0x3ADA, 0x3CDE, 0x3EE4, 0x42EC, 0x44F2, 0x44F6, 0x46FC, 0x46FE,
0x46FE, 0x48FE, 0x48FE, 0x4800, 0x4806, 0x4810, 0x481A, 0x4822, 0x4824,
0x4824, 0x4826, 0x4826, 0x4828, 0x482E, 0x3E36, 0x3E3A, 0x3C3E, 0x3C3E,
0x3C3E, 0x3C3E, 0x3C3E, 0x3C40, 0x3C40, 0x3C40, 0x3C40, 0x3C40, 0x3C40,
0x3C40, 0x3C40, 0x3C40, 0x3C40, 0x3C40, 0x3C40, 0x3C40, 0x3C40, 0x3E40,
0x3E42, 0x3E42, 0x4042, 0x4444, 0x4644, 0x4A44, 0x4C44, 0x4E44, 0x5044,
0x5444, 0x563E, 0x563C, 0x563A, 0x5834, 0x5A28, 0x5E20, 0x5E1A, 0x6214,
0x6210, 0x640E, 0x640C, 0x6406, 0x6406, 0x6406, 0x6406, 0x6406, 0x6406,
0x6406, 0x6406, 0x6406, 0x6406, 0x6406, 0x6406, 0x6406, 0x6406, 0x6406,
0x6406, 0x6406, 0x6406, 0x6406, 0x6406, 0x6404, 0x6402, 0x6602, 0x6602,
0x6602, 0x6A00, 0x6C00, 0x6C00, 0x6C00, 0x6E00, 0x7400, 0x7600, 0x7600,
0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00,
0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00,
0x7A00, 0x7A00, 0x7A00, 0x7800, 0x7800, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804,
0x7804, 0x7804, 0x7804, 0x7802, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800,
0x7800, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800,
0x7800, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800, 0x7800,
0x7800, 0x7800, 0x7800, 0x7800, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00,
0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00,
0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7A00, 0x7B00,
0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00,
0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7900, 0x7900, 0x7900,
0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7900,
0x7900, 0x7900, 0x7900, 0x7900, 0x7900, 0x7B00, 0x7B00, 0x7B00, 0x7B00,
0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7B00, 0x7902, 0x7902, 0x7902,
0x7902, 0x7902, 0x7902, 0x7902, 0x7902, 0x7902, 0x7902, 0x7902, 0x7902,
0x7902, 0x7902, 0x7902, 0x7902, 0x7902, 0x7900, 0x7B00, 0x7B00, 0x79F8,
0x79F0, 0x79F0, 0x79EE, 0x79EE, 0x79EE, 0x79EE, 0x79EE, 0x79EE, 0x79EE,
0x79EE, 0x79F0, 0x79F0, 0x79F0, 0x79F2, 0x79F2, 0x79F2, 0x79F2, 0x79F4,
0x79F6, 0x79F6, 0x79F8, 0x79F8, 0x79F8, 0x79F8, 0x79F8, 0x79FA, 0x79FA,
0x77FC, 0xDD06, 0x8900, 0x89FE, 0x89FE, 0x89FE, 0x89FE, 0x89FE, 0x89FE,
0x89F6, 0x89EE, 0x8BE8, 0x8BE8, 0x8BE8, 0x8BE8, 0x8DE0, 0x8ED8, 0x90D0,
0x92CC, 0x94C8, 0x9CBE, 0xA2B4, 0xACAE, 0xACAE, 0xAEAE, 0xAEAC, 0xB2AC,
0xB4AC, 0xBAAC, 0xC0AC, 0xC8AC, 0xD2AA, 0xDAAA, 0xE2AA, 0xE6AA, 0xF0AA,
0xF2AA, 0xF2AA, 0xF2AA, 0xF2AA, 0xF2AA, 0xF2AA, 0xF2AA, 0xF2AA, 0xF2AA,
0xF2AA, 0xF2AA, 0xF6AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA,
0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xF8AA, 0xFAAA, 0xFAAA,
0xFCA8, 0xFCA6, 0xFCA6, 0xFCA6, 0xFCA6, 0xFCA6, 0xFCA6, 0xFCA6, 0xFCA6,
0xFCA4, 0xFCA4, 0xFCA4, 0xFCA4, 0xFCA4, 0xFCA4, 0xFCA4, 0xFCA4, 0xFCA4,
0xFEA4, 0xFEA4, 0xFEA4, 0xFEA4, 0xFAA4, 0xF8A4, 0xF8A4, 0xF8A4, 0xF8A4,
0xF4A4, 0xF0A4, 0xF0A4, 0xF0A4, 0xF0A4, 0xF0A4, 0xF0A4, 0xECA4, 0xE2A4,
0xD6A4, 0xD4A4, 0xD2A4, 0xD0A6, 0xCCA6, 0xC6AA, 0xC4AC, 0xC2AC, 0xBEAC,
0xBCAC, 0xBAAC, 0xBAAC, 0xBAAC, 0xBAAC, 0xBAAC, 0xBAAC, 0xBAAC, 0xBAAC,
0xBAAC, 0xBAAC, 0xC4A8, 0xD49E, 0xD49A, 0xD698, 0xE690, 0xEE88, 0xEE88,
0xF688, 0xFA88, 0xFA88, 0xFA88, 0xFA88, 0xFA88, 0xFA88, 0xFA88, 0xFC88,
0xFA88, 0xFA8C, 0xFA8E, 0xFA90, 0xFA92, 0xFC94, 0xFC96, 0xFC96, 0xFC96,
0xFC96, 0xFC96, 0xFC96, 0xFC96, 0xFC96, 0xFC96, 0xFC96, 0xFC96, 0xFC96,
0xFC96, 0xFC96, 0xFC96, 0xFC96, 0xFC96, 0xFC98, 0xFC9A, 0xF69C, 0xF49C,
0xF49C, 0xF29C, 0xE29E, 0xD8A0, 0xD6A0, 0xD6A0, 0xD6A2, 0xD6A2, 0xD6A2,
0xD6A2, 0xD6A2, 0xD6A2, 0xD6A2, 0xD6A2, 0xDAA2, 0xDCA2, 0xE0A2, 0xE2A2,
0xE4A2, 0xE4A2, 0xE4A2, 0xE4A2, 0xE4A2, 0xE4A4, 0xE4A4, 0xE0A8, 0xDCAA,
0xDAAC, 0xDAAC, 0xDAAC, 0xDAAC, 0xDAAC, 0xD8AC, 0xD6AC, 0xD2AC, 0xD0AC,
0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC,
0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AC, 0xD0AE, 0xD0AE,
0xD0AE, 0xD0AE, 0xD0B0, 0xD0B0, 0xD0B2, 0xD0B2, 0xD0B2, 0xD0B2, 0xD0B2,
0xD0B2, 0xCEB4, 0xCEB4, 0xCEB4, 0xCEB4, 0xCEB4, 0xCEB4, 0xCCB4, 0xCCB4,
0xCAB4, 0xC6B6, 0xC4B6, 0xC4B8, 0xC2BC, 0xC2BE, 0xC2C2, 0xC2C6, 0xC2CA,
0xC2CE, 0xBED4, 0xBEDA, 0xBEDC, 0xBEDC, 0xBEDC, 0xBEDC, 0xBEDC, 0xBEDC,
0xBEDC, 0xBEDC, 0xBEDC, 0xBCDE, 0xB4E4, 0xB2E4, 0xB2E6, 0xB0E8, 0xAEEA,
0xAAEC, 0xA2F0, 0x9CF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4,
0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4,
0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF4, 0x9AF0, 0x9AEC,
0x9AE8, 0x9CE6, 0x9CE4, 0x9CE4, 0x9CE4, 0x9CE2, 0x9CDE, 0x9EDE, 0xA4D6,
0xB0CA, 0xC2BE, 0xCABC, 0xD2BC, 0xDABA, 0xE4BA, 0xE4BA, 0xE4BA, 0xE4BA,
0xE4BA, 0xE4BA, 0xE4BA, 0xE4BA, 0xE4BA, 0xE4BA, 0xE4B8, 0xE4B6, 0xE2B6,
0xD8B4, 0xC4B4, 0xBEB4, 0xB8B4, 0xB6B4, 0xB4B4, 0xB0B2, 0xA8B2, 0xA4B0,
0x9EBA, 0x94C8, 0x92D0, 0x8CDC, 0x8CE0, 0x8AEA, 0x88F4, 0x88F8, 0x88F8,
0x88F8, 0x88FA, 0x88FA, 0x88FA, 0x88FA, 0x88FA, 0x88F8, 0x88F8, 0x88F8,
0x88F8, 0x88F8, 0x8EF6, 0x92F6, 0x92F6, 0x92F6, 0x94F6, 0x94F6, 0x94F6,
0x94F6, 0x94F6, 0x94F6, 0x94F6, 0x94F6, 0x94F6, 0x94F6, 0x94F6, 0x94F6,
0x94F6, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8,
0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8,
0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x94F8,
0x94F8, 0x94F8, 0x94F8, 0x94F8, 0x96F8, 0xA2F8, 0xA6F6, 0xA6F6, 0xA8F4,
0xAAF0, 0xAAF0, 0xAEEC, 0xB2E6, 0xB2E4, 0xB6E0, 0xC4DA, 0xC8D8, 0xC8D8,
0xC8D8, 0xC8D8, 0xC8D8, 0xC8D8, 0xC8D8, 0xBED8, 0xBED8, 0xB8D8, 0xB2DA,
0xAEDA, 0xACDC, 0xACDC, 0xACDC, 0xACDC, 0xACDC, 0xACDC, 0xACDC, 0xACDC,
0xACDC, 0xAADE, 0xA6E0, 0xA4E4, 0xA2E6, 0xA2E6, 0xA2E6, 0xA2E6, 0xA2E6,
0xA2E6, 0xA2E6, 0xA2E6, 0xA2E6, 0xA2E6, 0xA2E6, 0xA2E6, 0xA2E6, 0xA2E6,
0xA2E6, 0xA2E6, 0xA2E6, 0xA0E6, 0xA0E4, 0xA0E4, 0xA0E4, 0xA0E4, 0xA0E4,
0xA0E4, 0xA0DC, 0xA4D2, 0xAEC4, 0xC6B6, 0xC6B4, 0xC4AA, 0xC49E, 0xC696,
0xC894, 0xC894, 0xC894, 0xD092, 0xD68E, 0xDA8E, 0xDC8E, 0xE48C, 0xEA8C,
0xEC8C, 0xEE8C, 0xF088, 0xF888, 0xFA88, 0xFA88, 0xFA88, 0xFA88, 0xFA88,
0xFA88, 0xFA88, 0xFA88, 0xFC88, 0x008C, 0x0894, 0x0E9A, 0x14A0, 0x14A0,
0x14A0, 0x14A0, 0x14A2, 0x14A2, 0x14A2, 0x14A4, 0x14A4, 0x14A4, 0x14A6,
0x14A6, 0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8,
0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8, 0x14A8,
0x14A4, 0x14A2, 0x14A2, 0x149E, 0x149C, 0x1296, 0x1294, 0x1294, 0x1294,
0x1294, 0x1294, 0x1294, 0x1094, 0x0E94, 0x0A94, 0x0A94, 0x0A94, 0x0A94,
0x0A94, 0x0A94, 0x0A94, 0x0A94, 0x0A94, 0x0A94, 0x0A96, 0x0898, 0x069A,
0x049C, 0x029C, 0x029C, 0xFCA0, 0xFCA0, 0xFCA0, 0xFCA0, 0xFCA0, 0xFAA0,
0xECA4, 0xE4A6, 0xD8AA, 0xD8AA, 0xD8AA, 0xD8AA, 0xD8AA, 0xD8AA, 0xE0AA,
0xE4AA, 0xF8A4, 0xF8A4, 0xF8A4, 0xF8A4, 0xF8A4, 0xF89E, 0xF89C, 0xF89C,
0xF89C, 0xF89C, 0xF89C, 0xF89C, 0xF89C, 0xFA9C, 0xFC9C, 0xFE9C, 0x089C,
0x14A0, 0x1CA2, 0x20A4, 0x20A4, 0x20A4, 0x20A4, 0x20A4, 0x1EA4, 0x1EA2,
0x1EA2, 0x1EA2, 0x1EA0, 0x1E9E, 0x1E9C, 0x1A9A, 0x1A9A, 0x1698, 0x1696,
0x1696, 0x1494, 0x1494, 0x1492, 0x1290, 0x128E, 0x128C, 0x128C, 0x128C,
0x128C, 0x128C, 0x128C, 0x128C, 0x128C, 0x128C, 0x128C, 0x128C, 0x128C,
0x128C, 0x108C, 0x0E8C, 0x148C, 0x1E8E, 0x1E8E, 0x1E8E, 0x1E8E, 0x1E8E,
0x1E8E, 0x1E8E, 0x1E8E, 0x1E8E, 0x1E8A, 0x1C8A, 0x1A8A, 0x0C88, 0x0088,
0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088,
0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088,
0x0088, 0x028A, 0x028E, 0x028E, 0x028E, 0x0290, 0x0492, 0x0492, 0x0492,
0x0492, 0x0492, 0x0492, 0x048E, 0x048A, 0x0488, 0x0488, 0x0488, 0x0488,
0x0488, 0x0488, 0x0488, 0x0488, 0x0488, 0x0488, 0x0488, 0x0488, 0x0488,
0x0488, 0x0488, 0x0488, 0x0488, 0x0488, 0x0288, 0x0288, 0x0288, 0x0288,
0x0288, 0xFC88, 0xFC88, 0xF888, 0xF288, 0xEE8A, 0xE68E, 0xE68E, 0xE68E,
0xE68E, 0xE690, 0xE690, 0xE692, 0xE692, 0xE692, 0xE692, 0xE692, 0xE692,
0xE694, 0xE694, 0xE496, 0xE498, 0xE29A, 0xE29A, 0xE29A, 0xE09C, 0xE09C,
0xE09C, 0xE09C, 0xE09C, 0xD8A4, 0xD6A4, 0xD4A6, 0xCEAA, 0xC8B0, 0xC6B4,
0xC6BA, 0xC6BE, 0xC6C4, 0xC6C8, 0xC6CE, 0xC6D8, 0xC6E2, 0xC6E6, 0xC6E8,
0xC6EA, 0xC6EC, 0xC6EC, 0xC6EE, 0xC6F0, 0xC6F6, 0xC6F8, 0xC6F8, 0xC6FC,
0xC6FE, 0xC606, 0xC60E, 0xC610, 0xC614, 0xC614, 0xC614, 0xC614, 0xC614,
0xC214, 0xBC16, 0xBA16, 0xBA16, 0xBA16, 0xB816, 0xB416, 0xB216, 0xB216,
0xAE16, 0xAC16, 0xAC16, 0xA816, 0xA416, 0xA216, 0xA216, 0xA216, 0xA216,
0xA216, 0xA216, 0xA216, 0xA218, 0xA21A, 0xA21C, 0xA21E, 0xA21E, 0xA21E,
0xA21E, 0xA21E, 0xA21E, 0xA21E, 0xA21E, 0xA21E, 0xA21E, 0xA01E, 0x9E1E,
0x9E1C, 0x9C18, 0x9C16, 0x9A12, 0x9810, 0x960C, 0x9206, 0x9002, 0x8CFE,
0x88FE, 0x88FA, 0x88FA, 0x88FA, 0x88FA, 0x88FA, 0x88FA, 0x88FA, 0x88FA,
0x88FA, 0x88FA, 0x88FA, 0x88F8, 0x88F8, 0x88F8, 0x88F8, 0x88F6, 0x8AF6,
0x8CF6, 0x90F6, 0x90F6, 0x90F6, 0x90F6, 0x90F6, 0x90F6, 0x90F6, 0x90F6,
0x90F6, 0x90F6, 0x90F6, 0x92F6, 0x94F6, 0x94F6, 0x94F6, 0x94F6, 0x96F6,
0x9CF4, 0xA0F2, 0xA6EA, 0xA6EA, 0xA6E8, 0xA6E8, 0xA6E8, 0xA6E6, 0xA6E2,
0xA8DC, 0xAAD6, 0xB4CC, 0xBAC8, 0xBAC6, 0xBEC4, 0xBEC4, 0xBEC4, 0xBEC4,
0xC2C4, 0xC2C4, 0xC4C2, 0xC8C2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2, 0xCAC2,
0xCAC2, 0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0,
0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0, 0xCAC0, 0xC8C0, 0xC8C0,
0xC6C0, 0xC6C0, 0xC6C0, 0xC6C0, 0xC6C0, 0xC6C0, 0xC6C0, 0xC4C0, 0xC4C0,
0xC4C0, 0xC4C0, 0xC2C0, 0xC2C0, 0xC2C0, 0xC0C0, 0xBCC0, 0xBAC0, 0xBAC0,
0xBAC0, 0xB8C2, 0xB8C4, 0xB6C6, 0xB0CE, 0xAED0, 0xAED0, 0xAAD6, 0xA6DA,
0xA6DC, 0xA6E0, 0xA6E4, 0xA6E4, 0xA6E6, 0xA6E8, 0xA6E8, 0xA6E8, 0xA6E8,
0xA6EA, 0xA6EE, 0xA6F0, 0xA6F2, 0xA6F6, 0xA6F6, 0xA6F8, 0xA6F8, 0xA6F8,
0xA6F8, 0xA6F8, 0xA6F8, 0xA6F8, 0xA6F8, 0xA6F8, 0xA6F8, 0xA6F8, 0xA6F8,
0xA6F8, 0xA6F8, 0xA6F8, 0xA6F8, 0xA6F8, 0xA6F4, 0xB8D4, 0xBACA, 0xBAC8,
0xBAC8, 0xBCC8, 0xBEC6, 0xC2C6, 0xC6C6, 0xCAC6, 0xCCC6, 0xCEC6, 0xCEC6,
0xCEC6, 0xCEC6, 0xCEC6, 0xCEC6, 0xCEC6, 0xCEC6, 0xCEC6, 0xCEC6, 0xCAC6,
0xC8C6, 0xC6C6, 0xC6C6, 0xC6C6, 0xC6C4, 0xC6C4, 0xC4C4, 0xC0C4, 0xC0C4,
0xBACA, 0xAED6, 0xA8E0, 0xA6EE, 0xA6F6, 0xA6F8, 0xA6FA, 0xA6FE, 0xA606,
0xA612, 0xA622, 0xA82A, 0xA82C, 0xAA30, 0xAC32, 0xAC34, 0xAC34, 0xAC34,
0xAC34, 0xAC34, 0xAC34, 0xAC34, 0xAC34, 0xAC34, 0xAA34, 0xAA2C, 0xA626,
0xA420, 0xA01A, 0x9A12, 0x9610, 0x9610, 0x9610, 0x940E, 0x920C, 0x920A,
0x8E02, 0x8E02, 0x8E00, 0x8CFE, 0x8CFE, 0x8AFE, 0x88FC, 0x88FA, 0x88F8,
0x88F6, 0x88F4, 0x88F0, 0x88F0, 0x88F0, 0x88F0, 0x88F0, 0x88F0, 0x88F0,
0x88F0, 0x88F0, 0x88F2, 0x88F2, 0x88F2, 0x88F2, 0x88F4, 0x88F6, 0x88F6,
0x88F6, 0x88F6, 0x88F6, 0x88F6, 0x88F6, 0x8CF4, 0x94F0, 0x9CEE, 0xA4E8,
0xA4E8, 0xA4E8, 0xA4E8, 0xA4E8, 0xA4E8, 0xA4E8, 0xA4E8, 0xA4E8, 0xA4E6,
0xA4E6, 0xA4E6, 0xA4E6, 0xA8E4, 0xAAE2, 0xAAE2, 0xAAE2, 0xAAE2, 0xACE2,
0xACE2, 0xACE2, 0xAEE2, 0xB4E2, 0xB8E4, 0xBEEC, 0xC0EC, 0xC2F0, 0xC4F6,
0xC4F8, 0xC600, 0xD212, 0xD61C, 0xD81C, 0xDA1E, 0xDA20, 0xDA20, 0xDA20,
0xDC22, 0xDC24, 0xDC24, 0xDC24, 0xDC24, 0xDC24, 0xDC24, 0xDC26, 0xDC26,
0xDC28, 0xDC28, 0xDC28, 0xDC28, 0xDA2E, 0xD830, 0xD830, 0xD832, 0xD832,
0xD832, 0xD832, 0xD832, 0xD832, 0xD832, 0xD832, 0xD832, 0xD832, 0xD832,
0xDA32, 0xDC30, 0xDC30, 0xDC30, 0xDC2E, 0xDC2E, 0xDC2C, 0xDC2C, 0xDC2C,
0xDC2C, 0xDC2A, 0xDC2A, 0xDC2A, 0xDC2A, 0xDC2A, 0xDC2A, 0xDC2A, 0xDC2A,
0xDC2A, 0xDC2A, 0xDC28, 0xDC28, 0xDC26, 0xDC26, 0xDC26, 0xDC24, 0xDE22,
0xDE22, 0xDE22, 0xDE22, 0xDE22, 0xDE22, 0xE020, 0xE21E, 0xE61C, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000
};
+217
View File
@@ -0,0 +1,217 @@
#include "types.h"
u16 pact3_head_table[] = {
0x0B53, 0x00A0, 0x044D, /* position */
0xE400, /* angle (320.625 deg) */
0x0000, /* tool */
0x0731 /* scale/size? */
};
u16 pact3_key_data[] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xEAF4, 0xEAF4, 0xEAF4,
0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4,
0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4, 0xEAF4,
0xEAF4, 0xEAF4, 0xEAFC, 0xEAFC, 0xEAFC, 0xEAFC, 0xEAFC, 0xEAFC, 0xEAFC,
0xEAFC, 0xEA02, 0xEA00, 0xEA08, 0xEA0C, 0xEA10, 0xE814, 0xE816, 0xE81A,
0xE81E, 0xE81E, 0xE81E, 0xE81E, 0xE824, 0xE824, 0xE826, 0xE828, 0xE828,
0xE828, 0xE828, 0xE828, 0xE82C, 0xE82C, 0xE82C, 0xE82E, 0xE830, 0xE832,
0xE834, 0xEE36, 0xF638, 0xFA3C, 0xFA3C, 0x003C, 0x003C, 0x003C, 0x003C,
0x003C, 0x003C, 0x003C, 0x003C, 0x003C, 0x003E, 0x003E, 0x003E, 0x003E,
0x003E, 0x003E, 0x003E, 0x003E, 0x043E, 0x043E, 0x043E, 0x043E, 0x103E,
0x143E, 0x1840, 0x1A40, 0x2040, 0x2640, 0x2A40, 0x2A40, 0x2A40, 0x2E40,
0x2E40, 0x3040, 0x3040, 0x3440, 0x3640, 0x3A40, 0x3C3E, 0x3E3E, 0x3E3E,
0x3E3E, 0x443E, 0x443E, 0x443E, 0x443E, 0x443E, 0x443E, 0x443E, 0x443E,
0x443E, 0x443E, 0x443E, 0x443E, 0x443E, 0x443E, 0x443E, 0x443E, 0x443E,
0x443E, 0x443E, 0x4436, 0x4436, 0x4436, 0x4436, 0x4430, 0x442E, 0x442E,
0x442A, 0x4426, 0x4422, 0x441A, 0x4410, 0x4408, 0x4402, 0x44FE, 0x44FE,
0x44FE, 0x44FA, 0x44F4, 0x44F0, 0x44EE, 0x44EE, 0x44EE, 0x44EE, 0x44EE,
0x44E6, 0x44E2, 0x44DE, 0x44D8, 0x44D4, 0x44D2, 0x44D2, 0x44D2, 0x44D2,
0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2,
0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2, 0x44D2,
0x44D2, 0x44D2, 0x44D2, 0x44D4, 0x46D8, 0x48DC, 0x48DE, 0x48DE, 0x48DE,
0x48E8, 0x48EE, 0x48F2, 0x48F2, 0x48F2, 0x48FC, 0x48FE, 0x48FE, 0x48FE,
0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE,
0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE, 0x48FE,
0x48FE, 0x5AFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC,
0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC,
0x5CFC, 0x4CFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE,
0x48F2, 0x3EE6, 0x30DC, 0x2EDA, 0x2EDA, 0x2EDA, 0x2CD8, 0x2CD8, 0x2CD6,
0x2CD6, 0x2CD6, 0x2CD2, 0x2CD2, 0x2CD2, 0x2CD0, 0x2CD0, 0x2ACE, 0x2ACC,
0x2ACC, 0x28CA, 0x28CA, 0x26C6, 0x22C4, 0x22C4, 0x22C4, 0x1EBE, 0x1EBE,
0x1EBE, 0x18B8, 0x18B6, 0x18B6, 0x18B6, 0x0EB4, 0x0CB2, 0x0CB2, 0x0CB2,
0x0CB2, 0x0CB2, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE,
0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE,
0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE,
0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE,
0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE,
0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE,
0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEA6,
0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0,
0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0, 0xFEA0,
0xFEA0, 0xFEA0, 0x00A4, 0x02A6, 0x0CAA, 0x1EAC, 0x2CAC, 0x30AE, 0x34B0,
0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x34B0,
0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x34B0, 0x36B0, 0x36B0,
0x36B0, 0x36B0, 0x36B0, 0x36B0, 0x36B0, 0x36B0, 0x36B0, 0x36B0, 0x36B0,
0x32B0, 0x2EB0, 0x28B0, 0x24B0, 0x20B0, 0x1AB0, 0x1AB0, 0x1AB0, 0x1AB0,
0x1AB0, 0x1AB0, 0x1AB0, 0x1AB0, 0x1AB0, 0x1AB0, 0x1AB0, 0x18B0, 0x18B0,
0x18B0, 0x1CB4, 0x24B8, 0x2EBC, 0x30BE, 0x30BE, 0x32BE, 0x34C0, 0x34C0,
0x34C0, 0x34C6, 0x34C6, 0x34C8, 0x34CA, 0x34CA, 0x34CE, 0x34CE, 0x34D0,
0x34D4, 0x34D8, 0x34D8, 0x34D8, 0x34E8, 0x34EA, 0x34EA, 0x34F0, 0x34F2,
0x34F6, 0x34F6, 0x34FA, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC,
0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC,
0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC,
0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x34FC, 0x38FE, 0x38FE, 0x38FE,
0x38FE, 0x38FE, 0x38FE, 0x38FE, 0x38FE, 0x38FE, 0x38FE, 0x38FE, 0x44FE,
0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE,
0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE,
0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE, 0x44FE,
0x44FE, 0x44FE, 0x44FE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE,
0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE,
0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AFE, 0x4AF8, 0x4AF6, 0x4AF0, 0x4AEC,
0x4AE6, 0x4AE2, 0x4ADA, 0x48D2, 0x46CC, 0x44C6, 0x44C6, 0x44C4, 0x40C2,
0x3EC0, 0x3EBE, 0x3CBE, 0x3CBC, 0x3ABC, 0x38BA, 0x34BA, 0x2EBA, 0x26BA,
0x22BA, 0x1EB8, 0x1EB8, 0x18B6, 0x10B4, 0x0CB2, 0x0CB2, 0x0CB2, 0x0CB2,
0x0CB2, 0x0CB2, 0x0CB2, 0x0CB2, 0x0CB2, 0x0CAA, 0x0CA8, 0x0CA8, 0x0CA8,
0x0CA8, 0x0CA8, 0x0CA8, 0x0CA8, 0xFAA8, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6,
0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6,
0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6,
0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6, 0xFAA6,
0xFAA6, 0xFAA6, 0xF8AC, 0xF2B2, 0xEEB4, 0xEEB6, 0xE8B8, 0xE8B8, 0xE8B8,
0xE4BA, 0xDABE, 0xD6BE, 0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2,
0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2, 0xC2C2,
0xC2C0, 0xC2C0, 0xC2C0, 0xC2C0, 0xC2C0, 0xC2C0, 0xC8BE, 0xCCBE, 0xCEBE,
0xCEBE, 0xCEBE, 0xCEBE, 0xCEBE, 0xCEBE, 0xCEBE, 0xDAB8, 0xE0B8, 0xE4B8,
0xE6B8, 0xE6B8, 0xE6B8, 0xEEB4, 0xEEB4, 0xF4B0, 0xF8AE, 0xF8AE, 0xF8AE,
0xF8AE, 0xF8AE, 0xF8AE, 0xF8AE, 0xF8AE, 0xF8AE, 0xF8AE, 0xF8AE, 0xFAAE,
0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE,
0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE,
0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE,
0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE,
0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE,
0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE,
0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE,
0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFAAE, 0xFCB0, 0xFEB0, 0x00B0, 0x00B0,
0x00B0, 0x00B0, 0x00B0, 0x0AB2, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4, 0x0AB4,
0x0ABA, 0x12C2, 0x18D6, 0x18D8, 0x18DA, 0x18DE, 0x18DE, 0x18E0, 0x18E2,
0x18E6, 0x18EC, 0x18F0, 0x18F0, 0x18F2, 0x18F6, 0x18FE, 0x18FE, 0x18FE,
0x18FE, 0x18FE, 0x18FE, 0x18FE, 0x18FE, 0x18FE, 0x18FE, 0x18FE, 0x18FE,
0x18FE, 0x18FE, 0x1800, 0x1802, 0x1802, 0x1802, 0x1802, 0x1804, 0x1802,
0x1806, 0x1806, 0x180A, 0x180A, 0x180E, 0x180E, 0x180E, 0x180E, 0x180E,
0x180E, 0x180E, 0x180E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF8EA, 0xF8E6, 0xF8E6,
0xF8E6, 0xF8DE, 0xF8DC, 0xF8DC, 0xF8DC, 0xF8D4, 0xF8D4, 0xF8D4, 0xF8D4,
0xF8D4, 0xF8D4, 0xF8D4, 0xF8D4, 0xF8CC, 0xF8C8, 0xF4C4, 0xF2C0, 0xF0BE,
0xF0BE, 0xE6BC, 0xE0BC, 0xD4BA, 0xD2BA, 0xD0BA, 0xD0BA, 0xD0BA, 0xD0BA,
0xD0BA, 0xD0BA, 0xD0BA, 0xD0BA, 0xD0BA, 0xD0BA, 0xD0BA, 0xD0BA, 0xD0BA,
0xD0BA, 0xDABA, 0xE6B8, 0xEAB8, 0xEEB6, 0xEEB6, 0xEEB6, 0xEEB6, 0xEEB6,
0xEEB0, 0xEEA6, 0xEEA6, 0xEEA6, 0xEEA6, 0xEEA6, 0xEEA6, 0xEEA6, 0xEEA6,
0xF0A6, 0xF0A6, 0xF0A8, 0xF0A8, 0xF0A8, 0xF0A8, 0xF0A8, 0xF0A8, 0xF0A8,
0xF0A8, 0xF0A8, 0xF0A8, 0xF0A8, 0xF0A8, 0xF0A8, 0xF2A8, 0xF4A8, 0xF4A8,
0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8,
0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8, 0xF4A8,
0xF4A8, 0xF4A8, 0xF4A8, 0xF8A8, 0xFCA8, 0xFEA8, 0x06A8, 0x0CAA, 0x14AC,
0x18AC, 0x20AE, 0x24B0, 0x26B0, 0x26B0, 0x26B0, 0x26B0, 0x26B0, 0x26B0,
0x26B0, 0x26B0, 0x26B0, 0x26B0, 0x26B0, 0x28B0, 0x28B0, 0x28B0, 0x24B0,
0x20B0, 0x1AB0, 0x10B0, 0x0CB0, 0x0AB0, 0x0AB0, 0x08B0, 0x08B0, 0x08B0,
0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x02B0,
0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x02B0, 0x00B6, 0xF4C8,
0xF0CC, 0xECD0, 0xE8D2, 0xE0D6, 0xE0D6, 0xD8D8, 0xD8D8, 0xD8DC, 0xD8DE,
0xD8DE, 0xD8E2, 0xD6E4, 0xD6E6, 0xD6E8, 0xD6E8, 0xD6E8, 0xD6F0, 0xD6EC,
0xD6EE, 0xD6F0, 0xD6FA, 0xD6FA, 0xD6FA, 0xD6FE, 0xD604, 0xD604, 0xD604,
0xD604, 0xD604, 0xD604, 0xD604, 0xD604, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xFEE6, 0x04D4, 0x06CE, 0x06CE, 0x06CE, 0x06CE, 0x06CE, 0x06CE,
0x06CE, 0x06CE, 0x06CE, 0x06CE, 0x0ACE, 0x0ECE, 0x16CE, 0x20CE, 0x26CE,
0x2CCE, 0x30CE, 0x32CE, 0x32CE, 0x34CE, 0x34CE, 0x34CE, 0x34CE, 0x34CE,
0x34CE, 0x34CE, 0x34CE, 0x34CE, 0x34CC, 0x34CC, 0x34CC, 0x34CA, 0x34C8,
0x34C6, 0x36C4, 0x36C2, 0x36BE, 0x36BA, 0x36B4, 0x36B0, 0x32AC, 0x30AA,
0x2EA8, 0x2EA8, 0x2AA4, 0x2AA4, 0x2AA2, 0x28A2, 0x26A0, 0x249E, 0x229E,
0x1E9C, 0x189C, 0x149C, 0x149C, 0x149C, 0x149C, 0x149C, 0x149C, 0x149C,
0x0A9C, 0x0A9C, 0x089C, 0x089C, 0x089C, 0x089C, 0x089C, 0x089C, 0x089C,
0x089C, 0x089C, 0x089C, 0x0898, 0x0898, 0x0898, 0x0898, 0x0898, 0x0898,
0x0898, 0x0898, 0x0898, 0x0898, 0x0892, 0x088A, 0x088A, 0x088A, 0x0888,
0x0688, 0x0688, 0x0688, 0x0688, 0x0688, 0x0688, 0x0688, 0x0688, 0x0688,
0x0688, 0x0688, 0x0688, 0x0688, 0x0688, 0x0688, 0x0688, 0x0688, 0x0688,
0x0688, 0x0688, 0x0888, 0x088A, 0x088C, 0x088C, 0x088C, 0x088C, 0x088C,
0x0890, 0x0894, 0x0894, 0x0894, 0x0894, 0x0896, 0x0896, 0x0896, 0x0896,
0x089A, 0x089E, 0x089E, 0x08A2, 0x06A6, 0x06A8, 0x06A8, 0x06A8, 0x06A8,
0x06A8, 0x06A8, 0x06A8, 0x06A8, 0x06A8, 0x06A8, 0x06A8, 0x04A8, 0x04A8,
0x04AA, 0x04AC, 0x06AE, 0x10B8, 0x20CA, 0x24D0, 0x28D0, 0x2CD2, 0x2CD2,
0x2CD2, 0x2CD2, 0x2CD2, 0x2CD2, 0x2ED6, 0x2ED6, 0x2ED6, 0x2ED6, 0x2EDC,
0x2EE2, 0x2EE6, 0x2EE6, 0x2EEC, 0x2EF4, 0x2CFE, 0x2CFE, 0x2C02, 0x2A08,
0x280A, 0x280A, 0x280A, 0x280A, 0x1C0A, 0x140A, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02EC, 0x02E8,
0x02E4, 0x02E2, 0x02DE, 0x02DA, 0x00D8, 0xFED6, 0xFAD4, 0xFAD2, 0xFAD2,
0xFAD2, 0xF6D0, 0xECCC, 0xECC8, 0xECC6, 0xEAC0, 0xEAC0, 0xEAC0, 0xEAC0,
0xEAC0, 0xEAC0, 0xEAC0, 0xEAC0, 0xEAC0, 0xEAC0, 0xEAC0, 0xEAC0, 0xEAC0,
0xEAC0, 0xEAC0, 0xEAC0, 0xE8C0, 0xE8BC, 0xE8BC, 0xE8BC, 0xE8BC, 0xE8BC,
0xE8BC, 0xEAB8, 0xEAB8, 0xF6B6, 0xF6B6, 0xF6B6, 0xF8B6, 0xF8B6, 0xF8B6,
0xFAB8, 0xFEBC, 0x02BE, 0x08C2, 0x08C2, 0x08C2, 0x0AC4, 0x0EC8, 0x18CE,
0x1EDA, 0x1EDA, 0x20DC, 0x20DC, 0x20DC, 0x20DC, 0x20DE, 0x20DE, 0x20DE,
0x20DE, 0x20DE, 0x20DE, 0x22E0, 0x22E0, 0x22E0, 0x22E0, 0x22E0, 0x22E0,
0x22E0, 0x22E0, 0x22E0, 0x22E0, 0x22E0, 0x2AE0, 0x2AE0, 0x2AE0, 0x2AE0,
0x2AE0, 0x2AE0, 0x2AE0, 0x2AE0, 0x2AE0, 0x20E6, 0x14F0, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xF4F0, 0xF2EE, 0xF2EE, 0xF2EE, 0xF2EE, 0xF2EE, 0xF2EE, 0xF2EE,
0xF2EE, 0xF2EE, 0xF2EE, 0xECE8, 0xECE8, 0xECE8, 0xECE8, 0xE8E4, 0xE8E4,
0xE8E4, 0xE8E4, 0xE8E4, 0xE8E4, 0xE8E4, 0xE8E4, 0xE8E4, 0xE8E4, 0xE8E4,
0xECEA, 0x0000, 0x0000, 0x0000, 0x0101, 0x0101, 0x0101, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x00E8, 0x00E6, 0x00E6, 0x00E6, 0x00E6, 0x00DE, 0x00D4, 0x00CE, 0x00CE,
0x00CE, 0x00CE, 0x00CE, 0x00CE, 0x00CE, 0x00CE, 0x00CE, 0x00CE, 0x00CE,
0x00D0, 0x02D0, 0x06D2, 0x0CD4, 0x16DA, 0x1CE2, 0x1EE8, 0x1EEA, 0x1EEA,
0x1EEA, 0x1EEA, 0x1EF6, 0x1EF8, 0x1EF8, 0x1EFE, 0x1EFE, 0x1E00, 0x1E00,
0x1E00, 0x1E00, 0x1E04, 0x1E04, 0x1E04, 0x1E04, 0x1E04, 0x1E04, 0x1E04,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0101, 0x0101, 0x0101, 0x0101,
0x0101, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000
};
+216
View File
@@ -0,0 +1,216 @@
#include "types.h"
u16 pact4_head_table[] = {
0x062A, 0x0028, 0x09A8, /* position */
0xBE9F, /* angle (258.03039550781 deg) */
0x2201, /* tool (axe) */
0x072A /* scale/size? */
};
u16 pact4_key_data[] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xE6FC, 0xE4FC,
0xE2FC, 0xE2FA, 0xE2FA, 0xDAFA, 0xD8FA, 0xD4FA, 0xD2FA, 0xD2FA, 0xD2FA,
0xD2FA, 0xD0FA, 0xD0FA, 0xD0FA, 0xD0FA, 0xD0FA, 0xD0FA, 0xD0FA, 0xD0FA,
0xC8FA, 0xC4FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA,
0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC2FA, 0xC4FA,
0xC4FA, 0xC4FA, 0xC4FA, 0xC4FA, 0xC4FA, 0xC4FE, 0xC402, 0xC60E, 0xC818,
0xCA1C, 0xCE22, 0xD026, 0xD026, 0xD026, 0xD026, 0xD028, 0xD228, 0xD22A,
0xD42C, 0xD62C, 0xD62C, 0xD62C, 0xD62C, 0xD82C, 0xD82C, 0xDC2E, 0xDE2E,
0xE02E, 0xE42E, 0xE62E, 0xE62E, 0xE62E, 0xE82E, 0xE82E, 0xEA2E, 0xEA2E,
0xEA2E, 0xEA2E, 0xEA2E, 0xEA2E, 0xEA2E, 0xEA2E, 0xEA2E, 0xEA2E, 0xEA2E,
0xEA2E, 0xEA2E, 0xEA2C, 0xEA28, 0xEA26, 0xEA26, 0xEA24, 0xEA24, 0xEA24,
0xEA22, 0xEA22, 0xE822, 0xE822, 0xE822, 0xE820, 0xE620, 0xE620, 0xE61E,
0xE41E, 0xE21A, 0xE016, 0xDE14, 0xDC10, 0xDC0E, 0xDA0A, 0xDA0A, 0xD808,
0xD802, 0xD800, 0xD8FC, 0xD8FC, 0xD8FC, 0xD8FC, 0xD8FC, 0xD8FC, 0xD8FC,
0xD8FC, 0xD8FC, 0xD8FC, 0xD8FC, 0xE0FA, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0xF6EE, 0xF2EC, 0xF2EA, 0xF2EA, 0xF2EA, 0xF2EA, 0xF2EA,
0xF2EA, 0xF2EA, 0xF2EA, 0xF2E8, 0xF2E8, 0xF2E8, 0xF2E8, 0xF2E6, 0xF2E6,
0xF2E4, 0xF2E4, 0xF0E2, 0xF0DE, 0xF0D8, 0xF0D6, 0xF0D0, 0xF0CE, 0xF0CE,
0xF0CE, 0xF0CC, 0xF0CC, 0xF0CC, 0xF0CA, 0xEECA, 0xE0CA, 0xDACA, 0xD6CA,
0xD4CA, 0xD2CA, 0xD0CA, 0xD0CA, 0xCECA, 0xCCCA, 0xCCCA, 0xCACE, 0xCAD4,
0xC8E2, 0xC4EE, 0xC0F6, 0xC00C, 0xC01C, 0xC02C, 0xC034, 0xC040, 0xC040,
0xC044, 0xC044, 0xC044, 0xC044, 0xC044, 0xC044, 0xBE44, 0xBE44, 0xBC44,
0xB044, 0x9E38, 0x8C24, 0x8A1A, 0x880E, 0x8806, 0x8806, 0x8806, 0x8806,
0x8806, 0x8806, 0x8806, 0x8806, 0x8806, 0x8806, 0x8806, 0x8806, 0x8806,
0x8806, 0x8806, 0x8806, 0x8806, 0x8806, 0x8808, 0x880A, 0x880C, 0x880C,
0x880C, 0x880E, 0x880E, 0x8810, 0x8C14, 0x8E14, 0x9016, 0x9016, 0x9016,
0x9016, 0x9016, 0x9016, 0x9016, 0x9016, 0x9016, 0x9016, 0x9016, 0x9016,
0x9016, 0x9016, 0x9016, 0x9016, 0x9016, 0x9016, 0x9016, 0x9016, 0x9016,
0x9216, 0x981C, 0xA024, 0xB236, 0xB43A, 0xB63C, 0xB840, 0xBA42, 0xBC46,
0xBE4A, 0xC04C, 0xC050, 0xC858, 0xD05E, 0xD260, 0xD262, 0xD262, 0xD464,
0xD466, 0xD466, 0xDA68, 0xE268, 0xE868, 0xEA68, 0xEA68, 0xEE68, 0xF868,
0xFA68, 0xFA68, 0xFE68, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068,
0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A,
0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A,
0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A, 0x026A,
0x026A, 0x026A, 0x026A, 0x0268, 0x0268, 0x0266, 0x0266, 0x0266, 0x0264,
0x0264, 0x0264, 0x0264, 0x0264, 0x0264, 0x0264, 0x0264, 0x0264, 0x0264,
0x0264, 0x0264, 0x0264, 0x0462, 0x0462, 0x0462, 0x0462, 0x0660, 0x165A,
0x2054, 0x2652, 0x304C, 0x3848, 0x3846, 0x3846, 0x3844, 0x3A44, 0x3A42,
0x3C40, 0x3C3E, 0x3C3E, 0x3C3C, 0x3C36, 0x3C32, 0x3A28, 0x3A22, 0x3A16,
0x3A0E, 0x3A0C, 0x3A0C, 0x3A0C, 0x3A0C, 0x3A0C, 0x3A0C, 0x3A0C, 0x3A0C,
0x3A0A, 0x3C08, 0x3C08, 0x3C08, 0x3E02, 0x3E00, 0x4000, 0x4200, 0x4200,
0x4200, 0x42FE, 0x42FE, 0x42FC, 0x40F8, 0x3EF0, 0x3AEA, 0x38E8, 0x38E8,
0x38E8, 0x38E6, 0x38E2, 0x38E2, 0x38E2, 0x38E0, 0x36DC, 0x36DC, 0x36DC,
0x36DC, 0x36DC, 0x36DC, 0x36DC, 0x36DC, 0x36DC, 0x36DC, 0x36DE, 0x36E6,
0x36F2, 0x36F2, 0x36F2, 0x36F2, 0x36F2, 0x36F2, 0x36F2, 0x36F2, 0x36F4,
0x36F6, 0x36F8, 0x36FC, 0x36FC, 0x34FC, 0x32FD, 0x32FD, 0x30FD, 0x16FF,
0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x06EC, 0x06EA,
0x06EA, 0x06E8, 0x06E6, 0x06E2, 0x06DE, 0x06DC, 0x06DA, 0x06DA, 0x06DA,
0x06DA, 0x06DA, 0x06DA, 0x06D8, 0x06D6, 0x06D4, 0x06D2, 0x06D0, 0x06CC,
0x08CA, 0x1AC8, 0x1CC8, 0x20C8, 0x2CC8, 0x2CC8, 0x30CA, 0x32CE, 0x36D2,
0x38D6, 0x3EE2, 0x44EA, 0x4EFE, 0x52FE, 0x54FE, 0x5A00, 0x5E04, 0x6606,
0x6E06, 0x6E06, 0x6E06, 0x7006, 0x7006, 0x7006, 0x7006, 0x7006, 0x6E04,
0x6CFE, 0x68FE, 0x68FE, 0x66FA, 0x66F4, 0x64EA, 0x64E8, 0x64E4, 0x62E4,
0x62E4, 0x62E4, 0x62E4, 0x62E4, 0x62E4, 0x62E4, 0x62E4, 0x62E4, 0x62E4,
0x62E4, 0x62E4, 0x62E2, 0x60DE, 0x5EDA, 0x5AD4, 0x58CE, 0x52C6, 0x4CC2,
0x48C0, 0x46BE, 0x42BC, 0x42BC, 0x40BA, 0x3ABA, 0x38BA, 0x38BA, 0x38B8,
0x38B8, 0x38B8, 0x38B6, 0x38B6, 0x38B6, 0x38B6, 0x38B6, 0x38B6, 0x38B6,
0x38B6, 0x38B6, 0x38B6, 0x38B6, 0x38B6, 0x38B6, 0x3AB6, 0x3CB6, 0x3EB6,
0x40B6, 0x44B6, 0x46B6, 0x46B6, 0x48B8, 0x4CBC, 0x4CC0, 0x4EC4, 0x52CE,
0x54D0, 0x56D4, 0x58DE, 0x5AE8, 0x5AEA, 0x5AEA, 0x5AEC, 0x5CEE, 0x5CF0,
0x5CF4, 0x5CF6, 0x5CFA, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC, 0x5CFC,
0x5CFC, 0x5AFC, 0x5AFC, 0x5AFC, 0x5AFE, 0x5AFE, 0x5AFE, 0x5AFE, 0x5AFE,
0x5A04, 0x5612, 0x501C, 0x501C, 0x501C, 0x501C, 0x501C, 0x501C, 0x501C,
0x501C, 0x501C, 0x501C, 0x501C, 0x501C, 0x501C, 0x501C, 0x501C, 0x501C,
0x501C, 0x501C, 0x501C, 0x501C, 0x501C, 0x501C, 0x501D, 0x5015, 0x4603,
0x4201, 0x4001, 0x3800, 0x14FE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0214, 0x041A, 0x042E, 0x0436, 0x0444, 0x0446,
0x0446, 0x0448, 0x0448, 0x0448, 0x0448, 0x024C, 0x0250, 0x0058, 0xFA62,
0xF270, 0xEC78, 0xE876, 0xE876, 0xE876, 0xE876, 0xE876, 0xE876, 0xE876,
0xEA76, 0xEA76, 0xEE78, 0xF278, 0xF878, 0xFC78, 0xFE78, 0x0078, 0x007A,
0x007A, 0x0478, 0x0678, 0x0678, 0x0678, 0x0678, 0x0878, 0x0C78, 0x1876,
0x1876, 0x1876, 0x2074, 0x2672, 0x2672, 0x2872, 0x2E70, 0x306E, 0x306E,
0x306E, 0x306E, 0x306E, 0x306E, 0x306E, 0x306E, 0x306E, 0x306E, 0x306E,
0x306E, 0x306E, 0x306E, 0x306E, 0x306E, 0x306E, 0x306E, 0x306E, 0x306E,
0x306E, 0x306E, 0x326E, 0x346E, 0x346E, 0x346E, 0x346E, 0x346C, 0x346C,
0x386A, 0x386A, 0x3A6A, 0x3A6A, 0x3C68, 0x4860, 0x4C5E, 0x4C5E, 0x4C5E,
0x4C5E, 0x4E5C, 0x505C, 0x505A, 0x5258, 0x5258, 0x5258, 0x5456, 0x5A52,
0x5A52, 0x5A50, 0x5E4C, 0x5E4C, 0x5E4C, 0x604A, 0x6248, 0x6640, 0x683C,
0x6A3A, 0x6C34, 0x6C34, 0x6C34, 0x6C34, 0x6C34, 0x6C34, 0x6C34, 0x6E32,
0x6E32, 0x6E2E, 0x6E2C, 0x6E2C, 0x6E2C, 0x6E2C, 0x6E2A, 0x6E2A, 0x6E2A,
0x6E2A, 0x6E2A, 0x6E2A, 0x6C2A, 0x6826, 0x6422, 0x6216, 0x620C, 0x6204,
0x6204, 0x6204, 0x6204, 0x6204, 0x6202, 0x6200, 0x6200, 0x6200, 0x6200,
0x6200, 0x62FF, 0x6201, 0x3A01, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001,
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0E16, 0x1222, 0x122A, 0x1A2E, 0x1A30, 0x1A30, 0x1A30, 0x1A36,
0x1A38, 0x1A3A, 0x1842, 0x1846, 0x164C, 0x0854, 0x025C, 0xF266, 0xDE6C,
0xBE66, 0xB65E, 0xB05A, 0xAE58, 0xAE58, 0xAC58, 0xAC58, 0xAC58, 0xAC58,
0xAC58, 0xAC58, 0xAC56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56,
0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56,
0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56,
0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56,
0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56, 0xAA56,
0xAA56, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54,
0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54,
0xAA54, 0xA854, 0xA854, 0xA854, 0xA852, 0xA650, 0xA650, 0xA650, 0xA44E,
0xA44C, 0xA44C, 0xA44C, 0xA44C, 0xA44C, 0xA44C, 0xA44C, 0xA44C, 0xA44C,
0xA44C, 0xA44C, 0xA44C, 0xA44C, 0xA44E, 0xA650, 0xA650, 0xA650, 0xA650,
0xA650, 0xA650, 0xA852, 0xA854, 0xA854, 0xA854, 0xAA54, 0xAA54, 0xAA54,
0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA54, 0xAA55, 0xAA55, 0xAA55,
0xAC57, 0xAC57, 0xAC56, 0xB44E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF4EE, 0xF6EC, 0xF4E6,
0xF4DE, 0xF4D2, 0xF4CC, 0xF2CC, 0xEECA, 0xEAC6, 0xEAC6, 0xEAC6, 0xEAC6,
0xEAC6, 0xEAC6, 0xEAC6, 0xEAC6, 0xEAC6, 0xE8C0, 0xE8BC, 0xE8B4, 0xE4B0,
0xDEB0, 0xD8B0, 0xCAB0, 0xC6B2, 0xC4B4, 0xC2BE, 0xC2CE, 0xC2E0, 0xC0F8,
0xC00A, 0xC00C, 0xC00C, 0xC00C, 0xC00D, 0xC40B, 0xD809, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0xF8E6, 0xF6D4, 0xF6CC, 0xF6C6, 0xF6C6, 0xF6C6, 0xF6C6, 0xFAC4, 0xFCC2,
0xFCC2, 0xFEC2, 0x00C0, 0x02C0, 0x08C0, 0x16BE, 0x28BA, 0x36B8, 0x3CB6,
0x3EB6, 0x3EB6, 0x3EB6, 0x3EB6, 0x3EB6, 0x3EB6, 0x3EB6, 0x42B6, 0x46B6,
0x4EB4, 0x54B2, 0x5CB0, 0x5EB4, 0x60B6, 0x64BC, 0x66C0, 0x66C0, 0x68C2,
0x68C4, 0x6AC8, 0x6ECC, 0x6ECE, 0x6ED0, 0x70D2, 0x70D2, 0x70D2, 0x70D4,
0x72D6, 0x72D8, 0x72D8, 0x74DC, 0x74E0, 0x76E8, 0x76E8, 0x76E8, 0x76EA,
0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA,
0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA,
0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x76EA, 0x78F4, 0x78F2, 0x78F2,
0x78F2, 0x78F2, 0x78F2, 0x78F2, 0x78F2, 0x78F2, 0x78F2, 0x78F2, 0x78F2,
0x78F2, 0x78F2, 0x78F2, 0x78F4, 0x78F6, 0x78F4, 0x78F4, 0x78F4, 0x78F4,
0x78F4, 0x78F4, 0x78F4, 0x78F4, 0x78F4, 0x78F4, 0x78F4, 0x78F4, 0x76EA,
0x70D2, 0x6CCC, 0x68C2, 0x64BC, 0x60B6, 0x58AE, 0x56AA, 0x56AA, 0x48AA,
0x46AA, 0x42AA, 0x3EAA, 0x28A9, 0x20A9, 0x1CA9, 0x0EAB, 0x06AF, 0x06B3,
0x06C3, 0x06E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0CF0, 0x10EC, 0x10EC, 0x10EC, 0x10EC, 0x10EA, 0x10EA, 0x16E6,
0x1EE2, 0x22E2, 0x22E2, 0x24E0, 0x24E0, 0x24E0, 0x28E0, 0x2AE0, 0x2AE0,
0x2AE0, 0x2CDC, 0x34D6, 0x38D4, 0x4AD2, 0x60D0, 0x70D2, 0x72D8, 0x72DA,
0x74DE, 0x74E0, 0x78F6, 0x78FE, 0x78FE, 0x78FE, 0x78FE, 0x78FE, 0x78FE,
0x78FE, 0x78FE, 0x7800, 0x780A, 0x780A, 0x780A, 0x780A, 0x780A, 0x7810,
0x761C, 0x5E2A, 0x4E34, 0x4C3A, 0x4C3E, 0x4A3E, 0x4A40, 0x4840, 0x4840,
0x4840, 0x4842, 0x4842, 0x4842, 0x4842, 0x4842, 0x4842, 0x4842, 0x4842,
0x4842, 0x4842, 0x4842, 0x4842, 0x4842, 0x4840, 0x4840, 0x483E, 0x483C,
0x4C2E, 0x4E2A, 0x4E24, 0x4E1E, 0x4E1A, 0x4E16, 0x4E14, 0x4E14, 0x4E10,
0x4E0E, 0x4E0C, 0x4E0C, 0x4E0C, 0x4E0C, 0x4E0C, 0x4E0C, 0x4E0C, 0x4E0C,
0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A,
0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A, 0x4E0A, 0x4C0E, 0x4A10, 0x4216,
0x3E18, 0x341E, 0x2E20, 0x2A20, 0x2620, 0x2020, 0x1C20, 0x1A20, 0x1620,
0x1620, 0x1220, 0x0A20, 0x0820, 0x0820, 0x0820, 0x0420, 0xF820, 0xF620,
0xEE22, 0xEC24, 0xEC24, 0xEC24, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428,
0xE428, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428,
0xE428, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428, 0xE428,
0xE622, 0xEC1E, 0xEC1C, 0xF218, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000
};
+161 -158
View File
@@ -1,204 +1,207 @@
#include "m_fbdemo.h"
#include "libultra/gu.h"
#include "libc64/malloc.h"
#include "libc64/sleep.h"
#include "libultra/gu.h"
Gfx fbdemo_gfx_init[] ={
Gfx fbdemo_gfx_init[] = {
gsDPPipeSync(),
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG |
G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR |
G_LOD | G_SHADING_SMOOTH),
gsDPSetCombineMode(G_CC_DECALRGB, G_CC_DECALRGB),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_1PRIMITIVE, G_AC_NONE | G_ZS_PIXEL | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2),
gsDPSetOtherMode(
G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP |
G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE |
G_PM_1PRIMITIVE,
G_AC_NONE | G_ZS_PIXEL | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2),
gsSPEndDisplayList(),
};
extern void fbdemo_init_gfx(TransitionTile* this) {
int col;
int col2;
int colTex;
int rowTex;
int row;
int frame;
Vtx* vtx;
Gfx* gfx;
extern void fbdemo_init_gfx(fbdemo* this) {
int col;
int col2;
int colTex;
int rowTex;
guMtxIdent(&this->modelView);
guMtxIdent(&this->unk_98);
guOrtho(&this->projection, 0.0f, 320, 240, 0.0f, -1000.0f, 1000.0f, 1.0f);
int row;
int frame;
for (frame = 0; frame < 2; frame++) {
this->frame = frame;
vtx = (this->frame == 0) ? this->vtxFrame1 : this->vtxFrame2;
for (rowTex = 0, row = 0; row < (this->rows + 1);rowTex += 0x20 ,row++) {
for (colTex = 0, col = 0; col < (this->cols + 1); colTex += 0x20, col++) {
Vtx_tn* vtxn = &vtx->n;
vtx++;
vtxn->ob[0] = col * 0x20;
vtxn->ob[1] = row * 0x20;
vtxn->ob[2] = -5;
vtxn->flag = 0;
vtxn->tc[0] = colTex << 6;
vtxn->tc[1] = rowTex << 6;
vtxn->n[0] = 0;
vtxn->n[1] = 0;
vtxn->n[2] = 120;
vtxn->a = 255;
}
}
Vtx* vtx;
Gfx* gfx;
guMtxIdent(&this->modelView1);
guMtxIdent(&this->modelView2);
guOrtho(&this->projection, 0.0f, 320, 240, 0.0f, -1000.0f, 1000.0f, 1.0f);
for (frame = 0; frame < 2; frame++) {
this->frame = frame;
vtx = (this->frame == 0) ? this->vtxFrame1 : this->vtxFrame2;
for (rowTex = 0, row = 0; row < (this->rows + 1); rowTex += 0x20, row++) {
for (colTex = 0, col = 0; col < (this->cols + 1); colTex += 0x20, col++) {
Vtx_tn* vtxn = &vtx->n;
vtx++;
vtxn->ob[0] = col * 0x20;
vtxn->ob[1] = row * 0x20;
vtxn->ob[2] = -5;
vtxn->flag = 0;
vtxn->tc[0] = colTex << 6;
vtxn->tc[1] = rowTex << 6;
vtxn->n[0] = 0;
vtxn->n[1] = 0;
vtxn->n[2] = 120;
vtxn->a = 255;
}
}
}
gfx = this->gfx;
for (rowTex = 0, row = 0; row < this->rows; rowTex += 0x20,row++) {
gSPVertex(gfx++, SEGMENT_ADDR(0xA, (u32)row * (this->cols + 1) * sizeof(Vtx)), 2 * (this->cols + 1), 0);
colTex = 0;
col = 0;
col2 = 0;
while (col < this->cols) {
gDPPipeSync(gfx++);
gfx = this->gfx;
for (rowTex = 0, row = 0; row < this->rows; rowTex += 0x20, row++) {
gSPVertex(gfx++,
SEGMENT_ADDR(0xA, (u32)row * (this->cols + 1) * sizeof(Vtx)),
2 * (this->cols + 1), 0);
gDPLoadTextureTile(gfx++, SEGMENT_ADDR(0xB, 0), G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, 240,
colTex, rowTex, colTex + 0x20, rowTex + 0x20, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
colTex = 0;
col = 0;
col2 = 0;
while (col < this->cols) {
gDPPipeSync(gfx++);
gSP1Quadrangle(gfx++, col2, col2 + 1, + (this->cols) + 2 + col2 , this->cols + 1 + col2, 0);
gDPLoadTextureTile(gfx++, SEGMENT_ADDR(0xB, 0), G_IM_FMT_RGBA,
G_IM_SIZ_16b, 320, 240, colTex, rowTex, colTex + 0x20,
rowTex + 0x20, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
colTex += 0x20;
col2++;
col++;
}
gSP1Quadrangle(gfx++, col2, col2 + 1, +(this->cols) + 2 + col2,
this->cols + 1 + col2, 0);
colTex += 0x20;
col2++;
col++;
}
}
gDPPipeSync(gfx++);
gSPEndDisplayList(gfx++);
gDPPipeSync(gfx++);
gSPEndDisplayList(gfx++);
}
extern void fbdemo_init_data(TransitionTile* this) {
int col;
int row;
extern void fbdemo_init_data(fbdemo* this) {
int col;
int row;
for (row = 0; row < this->rows + 1; row++) {
for (col = 0; col < this->cols + 1; col++) {
(this->vtxData + col + row * (this->cols + 1))->x = col * 0x20;
(this->vtxData + col + row * (this->cols + 1))->y = row * 0x20;
}
for (row = 0; row < this->rows + 1; row++) {
for (col = 0; col < this->cols + 1; col++) {
(this->vtxData + col + row * (this->cols + 1))->x = col * 0x20;
(this->vtxData + col + row * (this->cols + 1))->y = row * 0x20;
}
}
}
extern void fbdemo_cleanup(TransitionTile* this){
msleep(100);
extern void fbdemo_cleanup(fbdemo* this) {
msleep(100);
if (this->vtxData != NULL) {
free(this->vtxData);
this->vtxData = NULL;
}
if (this->vtxFrame1 != NULL) {
free(this->vtxFrame1);
this->vtxFrame1 = NULL;
}
if (this->vtxFrame2 != NULL) {
free(this->vtxFrame2);
this->vtxFrame2 = NULL;
}
if (this->gfx != NULL) {
free(this->gfx);
this->gfx = NULL;
}
}
extern fbdemo* fbdemo_init(fbdemo* this, int cols, int rows) {
s32 gridsize;
bzero(this, sizeof(fbdemo));
this->cols = cols;
this->rows = rows;
this->frame = 0;
this->vtxData = malloc((cols + 1) * sizeof(xy_t) * (rows + 1));
this->vtxFrame1 = malloc((cols + 1) * sizeof(Vtx) * (rows + 1));
this->vtxFrame2 = malloc((cols + 1) * sizeof(Vtx) * (rows + 1));
this->gfx = malloc(((this->cols * 9 + 1) * this->rows + 2) * sizeof(Gfx));
if ((this->vtxData == NULL) || (this->vtxFrame1 == NULL) ||
(this->vtxFrame2 == NULL) || (this->gfx == NULL)) {
if (this->vtxData != NULL) {
free(this->vtxData);
this->vtxData = NULL;
free(this->vtxData);
this->vtxData = NULL;
}
if (this->vtxFrame1 != NULL) {
free(this->vtxFrame1);
this->vtxFrame1 = NULL;
free(this->vtxFrame1);
this->vtxFrame1 = NULL;
}
if (this->vtxFrame2 != NULL) {
free(this->vtxFrame2);
this->vtxFrame2 = NULL;
free(this->vtxFrame2);
this->vtxFrame2 = NULL;
}
if (this->gfx != NULL) {
free(this->gfx);
this->gfx = NULL;
}
}
extern TransitionTile* fbdemo_init(TransitionTile* this, int cols, int rows){
s32 gridsize;
bzero(this, sizeof(TransitionTile));
this->cols = cols;
this->rows = rows;
this->frame = 0;
this->vtxData = malloc((cols + 1) * sizeof(TransitionTileVtxData) * (rows + 1));
this->vtxFrame1 = malloc((cols + 1) * sizeof(Vtx) * (rows + 1));
this->vtxFrame2 = malloc((cols + 1) * sizeof(Vtx) * (rows + 1));
this->gfx = malloc(((this->cols * 9 + 1) * this->rows + 2) * sizeof(Gfx));
if ((this->vtxData == NULL) || (this->vtxFrame1 == NULL) ||
(this->vtxFrame2 == NULL) || (this->gfx == NULL)) {
if (this->vtxData != NULL) {
free(this->vtxData);
this->vtxData = NULL;
}
if (this->vtxFrame1 != NULL) {
free(this->vtxFrame1);
this->vtxFrame1 = NULL;
}
if (this->vtxFrame2 != NULL) {
free(this->vtxFrame2);
this->vtxFrame2 = NULL;
}
if (this->gfx != NULL) {
free(this->gfx);
this->gfx = NULL;
}
return NULL;
free(this->gfx);
this->gfx = NULL;
}
fbdemo_init_gfx(this);
fbdemo_init_data(this);
this->frame = 0;
return NULL;
}
return this;
fbdemo_init_gfx(this);
fbdemo_init_data(this);
this->frame = 0;
return this;
}
extern void fbdemo_update(TransitionTile* this) {
int col;
int row;
Vtx* vtx;
extern void fbdemo_update(fbdemo* this) {
int col;
int row;
Vtx* vtx;
for (row = 0; row < this->rows + 1; row++) {
for (col = 0; col < this->cols + 1; col++) {
vtx = (this->frame == 0) ? this->vtxFrame1 : this->vtxFrame2;
(vtx + col + row * (this->cols + 1))->n.ob[0] = (this->vtxData + col + row * (this->cols + 1))->x;
for (row = 0; row < this->rows + 1; row++) {
for (col = 0; col < this->cols + 1; col++) {
vtx = (this->frame == 0) ? this->vtxFrame1 : this->vtxFrame2;
(vtx + col + row * (this->cols + 1))->n.ob[0] =
(this->vtxData + col + row * (this->cols + 1))->x;
vtx = (this->frame == 0) ? this->vtxFrame1 : this->vtxFrame2;
(vtx + col + row * (this->cols + 1))->n.ob[1] = (this->vtxData + col + row * (this->cols + 1))->y;
}
vtx = (this->frame == 0) ? this->vtxFrame1 : this->vtxFrame2;
(vtx + col + row * (this->cols + 1))->n.ob[1] =
(this->vtxData + col + row * (this->cols + 1))->y;
}
}
}
void fbdemo_draw(TransitionTile* this, Gfx** gfxP) {
Gfx* gfx = *gfxP;
void fbdemo_draw(fbdemo* this, Gfx** gfxP) {
Gfx* gfx = *gfxP;
gSPDisplayList(gfx++, fbdemo_gfx_init);
fbdemo_update(this);
gSPMatrix(gfx++, &this->projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gfx++, &this->modelView, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfx++, 0xA, this->frame == 0 ? this->vtxFrame1 : this->vtxFrame2);
gSPSegment(gfx++, 0xB, this->zBuffer);
gSPDisplayList(gfx++, fbdemo_gfx_init);
gSPDisplayList(gfx++, this->gfx);
gDPPipeSync(gfx++);
this->frame ^= 1;
*gfxP = gfx;
gSPDisplayList(gfx++, fbdemo_gfx_init);
fbdemo_update(this);
gSPMatrix(gfx++, &this->projection,
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gfx++, &this->modelView1,
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfx++, 0xA, this->frame == 0 ? this->vtxFrame1 : this->vtxFrame2);
gSPSegment(gfx++, 0xB, this->zBuffer);
gSPDisplayList(gfx++, fbdemo_gfx_init);
gSPDisplayList(gfx++, this->gfx);
gDPPipeSync(gfx++);
this->frame ^= 1;
*gfxP = gfx;
}
extern void fbdemo_move(void){
}
extern void fbdemo_move(fbdemo* this) {}
+63 -80
View File
@@ -1,105 +1,88 @@
#include "m_fbdemo_fade.h"
#include "libultra/libultra.h"
#include "libultra/gu.h"
#include "m_common_data.h"
#include "libultra/gu.h"
#include "libultra/libultra.h"
#include "m_common_data.h"
Gfx fbdemo_fade_gfx_init[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_1PRIMITIVE, G_AC_NONE | G_ZS_PIXEL | G_RM_CLD_SURF | G_RM_CLD_SURF2),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG |
G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR |
G_LOD | G_SHADING_SMOOTH),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT |
G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP |
G_TP_NONE | G_CYC_1CYCLE | G_PM_1PRIMITIVE,
G_AC_NONE | G_ZS_PIXEL | G_RM_CLD_SURF | G_RM_CLD_SURF2),
gsDPSetCombineMode(G_CC_PRIMITIVE, G_CC_PRIMITIVE),
gsSPEndDisplayList(),
};
TransitionFade* fbdemo_fade_init(TransitionFade* this){
bzero(this, sizeof(TransitionFade));
return this;
fbdemo_fade* fbdemo_fade_init(fbdemo_fade* this) {
bzero(this, sizeof(fbdemo_fade));
return this;
}
void fbdemo_fade_move(TransitionFade* this, int rate){
void fbdemo_fade_move(fbdemo_fade* this, int rate) {
f32 ftimer;
int alpha;
f32 ftimer;
int alpha;
if(this->timer != 0){
this->timer -= 1;
return;
}
if(this->type != 7){
this->frame += rate;
if( this->frame >= Common_Get(transFadeDuration)){
this->frame = Common_Get(transFadeDuration);
this->isDone = 1;
}
ftimer = (f32) this->frame;
if(ftimer < 0.0f){
ftimer = 0.0f;
}
if (this->timer != 0) {
this->timer -= 1;
return;
}
alpha = (255.0f * ftimer) / Common_Get(transFadeDuration);
if (this->type == 1) {
this->color.a = 255 - alpha;
}
else {
this->color.a = alpha;
}
}
if (this->type != 7) {
this->frame += rate;
if (this->frame >= Common_Get(transFadeDuration)) {
this->frame = Common_Get(transFadeDuration);
this->isDone = 1;
}
ftimer = (f32)this->frame;
if (ftimer < 0.0f) {
ftimer = 0.0f;
}
void fbdemo_fade_draw(TransitionFade* this, Gfx** gfxP){
Gfx* gfx;
if (this->color.a != 0) {
gfx = *gfxP;
gSPDisplayList(gfx++, fbdemo_fade_gfx_init);
gDPSetPrimColor(gfx++, 0, 0, this->color.r, this->color.g, this->color.b, this->color.a);
gDPFillRectangle(gfx++, 0, 0, N64_SCREEN_WIDTH * 2, N64_SCREEN_HEIGHT * 2);
gDPPipeSync(gfx++);
*gfxP = gfx;
alpha = (255.0f * ftimer) / Common_Get(transFadeDuration);
if (this->type == 1) {
this->color.a = 255 - alpha;
} else {
this->color.a = alpha;
}
}
}
void fbdemo_fade_startup(TransitionFade* this){
static s8 start_frame[] = {0x00, 0xFA, 0x00, 0x00,
0x00, 0x00, 0xAB, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
static u8 start_color[] = {0x00, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
this->color.a = start_color[this->type];
this->frame = start_frame[this->type];
this->isDone = 0;
if (this->type == 1){
this->timer = 10;
}
void fbdemo_fade_draw(fbdemo_fade* this, Gfx** gfxP) {
Gfx* gfx;
if (this->color.a != 0) {
gfx = *gfxP;
gSPDisplayList(gfx++, fbdemo_fade_gfx_init);
gDPSetPrimColor(gfx++, 0, 0, this->color.r, this->color.g, this->color.b,
this->color.a);
gDPFillRectangle(gfx++, 0, 0, N64_SCREEN_WIDTH * 2, N64_SCREEN_HEIGHT * 2);
gDPPipeSync(gfx++);
*gfxP = gfx;
}
}
void fbdemo_fade_settype(TransitionFade* this, int type){
void fbdemo_fade_startup(fbdemo_fade* this) {
static s8 start_frame[] = {0x00, 0xFA, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
this->type = type;
static u8 start_color[] = {0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
this->color.a = start_color[this->type];
this->frame = start_frame[this->type];
this->isDone = 0;
if (this->type == 1) {
this->timer = 10;
}
}
void fbdemo_fade_setcolor_rgba8888(TransitionFade* this, u32 color){
this->color.rgba = color;
void fbdemo_fade_settype(fbdemo_fade* this, int type) { this->type = type; }
void fbdemo_fade_setcolor_rgba8888(fbdemo_fade* this, u32 color) {
this->color.rgba = color;
}
u8 fbdemo_fade_is_finish(TransitionFade* this){
return this->isDone;
}
u8 fbdemo_fade_is_finish(fbdemo_fade* this) { return this->isDone; }
+72 -78
View File
@@ -1,99 +1,93 @@
#include "m_fbdemo_triforce.h"
#include "dataobject.h"
#include "libultra/libultra.h"
#include "libultra/gu.h"
#include "m_rcp.h"
#include "gfxalloc.h"
#include "libultra/gu.h"
#include "libultra/libultra.h"
#include "m_rcp.h"
void fbdemo_triforce_startup(TransitionTriforce* this){
this->finished = 0;
void fbdemo_triforce_startup(fbdemo_triforce* this) {
this->finished = 0;
if(this->direction != 0){
this->txt = 0;
}
else{
this->txt = 0x224;
}
if (this->direction != 0) {
this->txt = 0;
} else {
this->txt = 0x224;
}
guPerspective(&this->perspmtx, &this->normal, 60.0f, 4.0f/3.0f, 10.0f, 12800.0f, 1.0f);
guLookAt(&this->lookatmtx, 0.0f,0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f,1.0f, 0.0f);
guPerspective(&this->perspmtx, &this->normal, 60.0f, 4.0f / 3.0f, 10.0f,
12800.0f, 1.0f);
guLookAt(&this->lookatmtx, 0.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f,
0.0f);
}
TransitionTriforce* fbdemo_triforce_init(TransitionTriforce* this){
bzero(this, sizeof(TransitionTriforce));
return this;
fbdemo_triforce* fbdemo_triforce_init(fbdemo_triforce* this) {
bzero(this, sizeof(fbdemo_triforce));
return this;
}
void fbdemo_triforce_move(TransitionTriforce* this, int updaterate){
int d;
f32 t;
t = (1.0f - (this->txt / 548.0f));
if((this->textureno == 1) || (this->textureno == 2)){
d = 0.5f * (14.0f + (12.0f * t));
void fbdemo_triforce_move(fbdemo_triforce* this, int updaterate) {
int d;
f32 t;
t = (1.0f - (this->txt / 548.0f));
if ((this->textureno == 1) || (this->textureno == 2)) {
d = 0.5f * (14.0f + (12.0f * t));
} else {
d = 0.5f * (16.0f + (12.0f * t));
}
if (this->direction != 0) {
this->txt += d;
if (this->txt >= 548) {
this->txt = 548;
this->finished = TRUE;
}
else{
d = 0.5f * (16.0f + (12.0f * t));
}
if(this->direction != 0){
this->txt += d;
if(this->txt >= 548){
this->txt = 548;
this->finished = TRUE;
}
}
else {
this->txt -= d;
if(this->txt <= 0){
this->txt = 0;
this->finished = TRUE;
}
} else {
this->txt -= d;
if (this->txt <= 0) {
this->txt = 0;
this->finished = TRUE;
}
}
}
void fbdemo_triforce_draw(TransitionTriforce* this, Gfx** gfxP){
Gfx* gfx = *gfxP;
Gfx* t;
Gfx* scroll;
void fbdemo_triforce_draw(fbdemo_triforce* this, Gfx** gfxP) {
Gfx* gfx = *gfxP;
Gfx* t;
Gfx* scroll;
gDPPipeSync(gfx++);
scroll = gfx_tex_scroll2(&gfx, this->txt, 0, 16, 4);
gSPSegment(gfx++, 0x9, scroll);
gSPMatrix(gfx++, &this->perspmtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(gfx++, this->normal);
gSPMatrix(gfx++, &this->lookatmtx, G_MTX_MUL | G_MTX_PROJECTION);
t = gfxalloc(&gfx, 0x40);
guScale((Mtx*)t, 0.019f, 0.019f, 1.0f);
gDPPipeSync(gfx++);
scroll = gfx_tex_scroll2(&gfx, this->txt, 0, 16, 4);
gSPSegment(gfx++, 0x9, scroll);
gSPMatrix(gfx++, &this->perspmtx,
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(gfx++, this->normal);
gSPMatrix(gfx++, &this->lookatmtx, G_MTX_MUL | G_MTX_PROJECTION);
t = gfxalloc(&gfx, 0x40);
guScale((Mtx*)t, 0.019f, 0.019f, 1.0f);
gSPMatrix(gfx++, t, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gfx++, t, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
switch(this->textureno){
case 0:
gSPDisplayList(gfx++, ef_wipe1_modelT);
break;
case 1:
gSPDisplayList(gfx++, ef_wipe2_modelT);
break;
case 2:
gSPDisplayList(gfx++, ef_wipe3_modelT);
break;
}
gDPPipeSync(gfx++);
*gfxP = gfx;
switch (this->textureno) {
case 0:
gSPDisplayList(gfx++, ef_wipe1_modelT);
break;
case 1:
gSPDisplayList(gfx++, ef_wipe2_modelT);
break;
case 2:
gSPDisplayList(gfx++, ef_wipe3_modelT);
break;
}
gDPPipeSync(gfx++);
*gfxP = gfx;
}
s8 fbdemo_triforce_is_finish(TransitionTriforce* this){
return this->finished;
s8 fbdemo_triforce_is_finish(fbdemo_triforce* this) { return this->finished; }
void fbdemo_triforce_settype(fbdemo_triforce* this, int type) {
this->textureno = ((type & 0x80) != 0) ? 1 : ((type & 0x40) != 0 ? 2 : 0);
this->direction = (type & 0xF) != 1;
}
void fbdemo_triforce_settype(TransitionTriforce* this, int type){
this->textureno = ((type & 0x80) != 0) ? 1 : ((type & 0x40) != 0 ? 2 : 0);
this->direction = (type & 0xF) != 1;
}
void fbdemo_triforce_setcolor_rgba8888(void){
}
void fbdemo_triforce_setcolor_rgba8888(void) {}
+92 -90
View File
@@ -1,28 +1,38 @@
#include "m_fbdemo_wipe1.h"
#include "m_common_data.h"
#include "libultra/libultra.h"
#include "libultra/gu.h"
#include "m_rcp.h"
#include "libultra/gu.h"
#include "libultra/libultra.h"
#include "m_common_data.h"
#include "m_rcp.h"
Vtx wipe1_v[] = {
#include "assets/wipe1_v.inc"
};
u8 g_wipe1_txt[] = {
#include "assets/g_wipe1_txt.inc"
#include "assets/g_wipe1_txt.inc"
};
Gfx wipe1_modelT[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG |
G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR |
G_LOD | G_SHADING_SMOOTH),
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_1PRIMITIVE, G_AC_NONE | G_ZS_PRIM | G_RM_PASS | G_RM_AA_ZB_TEX_EDGE2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, COMBINED, 0, PRIMITIVE, 0, COMBINED, 0, PRIMITIVE, 0),
gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT |
G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP |
G_TP_PERSP | G_CYC_2CYCLE | G_PM_1PRIMITIVE,
G_AC_NONE | G_ZS_PRIM | G_RM_PASS | G_RM_AA_ZB_TEX_EDGE2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0,
PRIM_LOD_FRAC, TEXEL0, COMBINED, 0, PRIMITIVE, 0,
COMBINED, 0, PRIMITIVE, 0),
gsDPSetPrimDepth(0, 0),
gsDPLoadTextureBlock_4b(g_wipe1_txt, G_IM_FMT_I, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 6, 6, 11, G_TX_NOLOD),
gsDPLoadMultiBlock_4b(g_wipe1_txt, 0x0100, 1, G_IM_FMT_I, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 6, 6, 11, 1),
gsDPLoadTextureBlock_4b(g_wipe1_txt, G_IM_FMT_I, 64, 64, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP,
6, 6, 11, G_TX_NOLOD),
gsDPLoadMultiBlock_4b(g_wipe1_txt, 0x0100, 1, G_IM_FMT_I, 64, 64, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 6,
6, 11, 1),
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPDisplayList(0x08000000),
@@ -36,95 +46,87 @@ Gfx wipe1_modelT[] = {
gsSPEndDisplayList(),
};
TransitionWipe* fbdemo_wipe1_init(TransitionWipe* this){
bzero(this, sizeof(TransitionWipe));
return this;
fbdemo_wipe1* fbdemo_wipe1_init(fbdemo_wipe1* this) {
bzero(this, sizeof(fbdemo_wipe1));
return this;
}
void fbdemo_wipe1_move(TransitionWipe* this, int rate){
if (this->direction != 0) {
this->texY += (((void)0, Common_Get(transWipeSpeed)) * 3) / rate;
if (this->texY >= (int)(153 * (1 << 2))) {
this->texY = (int)(153 * (1 << 2));
this->finished = 1;
}
} else {
this->texY -= (((void)0, Common_Get(transWipeSpeed)) * 3) / rate;
if (this->texY <= (int)(83.25f * (1 << 2))) {
this->texY = (int)(83.25f * (1 << 2));
this->finished = 1;
}
void fbdemo_wipe1_move(fbdemo_wipe1* this, int rate) {
if (this->direction != 0) {
this->texY += (((void)0, Common_Get(transWipeSpeed)) * 3) / rate;
if (this->texY >= (int)(153 * (1 << 2))) {
this->texY = (int)(153 * (1 << 2));
this->finished = 1;
}
}
void fbdemo_wipe1_draw(TransitionWipe* this, Gfx** gfxP){
Gfx* gfx = *gfxP;
Mtx* modelView;
int pad[4];
Gfx* texScroll;
modelView = this->modelView[this->frame];
this->frame ^= 1;
guScale(&modelView[0], 0.56f, 0.56f, 1.0f);
guRotate(&modelView[1], 0.0f, 0.0f, 0.0f, 1.0f);
guTranslate(&modelView[2], 0.0f, 0.0f, 0.0f);
gDPPipeSync(gfx++);
texScroll = gfx_tex_scroll2(&gfx, this->texX, this->texY, 0, 0);
gSPSegment(gfx++, 8, texScroll);
gDPSetPrimColor(gfx++, 0, 0x80, this->color.r, this->color.g, this->color.b, 255);
gSPMatrix(gfx++, &this->projection, G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(gfx++, this->normal);
gSPMatrix(gfx++, &this->lookAt, G_MTX_MUL | G_MTX_PROJECTION);
gSPMatrix(gfx++, &modelView[0], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gfx++, &modelView[1], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gfx++, &modelView[2], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gfx++, wipe1_modelT);
gDPPipeSync(gfx++);
*gfxP = gfx;
}
void fbdemo_wipe1_startup(TransitionWipe* this) {
this->finished = 0;
if (this->direction != 0) {
this->texY = (int)(83.25f * (1 << 2));
} else {
this->texY = (int)(153.0f * (1 << 2));
} else {
this->texY -= (((void)0, Common_Get(transWipeSpeed)) * 3) / rate;
if (this->texY <= (int)(83.25f * (1 << 2))) {
this->texY = (int)(83.25f * (1 << 2));
this->finished = 1;
}
guPerspective(&this->projection, &this->normal, 60.0f, 1.33333337307f, 10.0f, 12800.0f, 1.0f);
guLookAt(&this->lookAt, 0.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
}
}
void fbdemo_wipe1_settype(TransitionWipe* this, int type) {
void fbdemo_wipe1_draw(fbdemo_wipe1* this, Gfx** gfxP) {
Gfx* gfx = *gfxP;
Mtx* modelView;
int pad[4];
Gfx* texScroll;
if(type == 1){
this->direction = 1;
this->texY = 0x14D;
return;
}
this->direction = 0;
this->texY = 0x264;
modelView = this->modelView[this->frame];
this->frame ^= 1;
guScale(&modelView[0], 0.56f, 0.56f, 1.0f);
guRotate(&modelView[1], 0.0f, 0.0f, 0.0f, 1.0f);
guTranslate(&modelView[2], 0.0f, 0.0f, 0.0f);
gDPPipeSync(gfx++);
texScroll = gfx_tex_scroll2(&gfx, this->texX, this->texY, 0, 0);
gSPSegment(gfx++, 8, texScroll);
gDPSetPrimColor(gfx++, 0, 0x80, this->color.r, this->color.g, this->color.b,
255);
gSPMatrix(gfx++, &this->projection, G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(gfx++, this->normal);
gSPMatrix(gfx++, &this->lookAt, G_MTX_MUL | G_MTX_PROJECTION);
gSPMatrix(gfx++, &modelView[0], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gfx++, &modelView[1], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gfx++, &modelView[2], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gfx++, wipe1_modelT);
gDPPipeSync(gfx++);
*gfxP = gfx;
}
void fbdemo_wipe1_setcolor_rgba8888(TransitionWipe* this, u32 color){
void fbdemo_wipe1_startup(fbdemo_wipe1* this) {
this->finished = 0;
this->color.rgba = color;
if (this->direction != 0) {
this->texY = (int)(83.25f * (1 << 2));
} else {
this->texY = (int)(153.0f * (1 << 2));
}
guPerspective(&this->projection, &this->normal, 60.0f, 1.33333337307f, 10.0f,
12800.0f, 1.0f);
guLookAt(&this->lookAt, 0.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f,
0.0f);
}
u8 fbdemo_wipe1_is_finish(TransitionWipe* this){
return this->finished;
void fbdemo_wipe1_settype(fbdemo_wipe1* this, int type) {
if (type == 1) {
this->direction = 1;
this->texY = 0x14D;
return;
}
this->direction = 0;
this->texY = 0x264;
}
void fbdemo_wipe1_setcolor_rgba8888(fbdemo_wipe1* this, u32 color) {
this->color.rgba = color;
}
u8 fbdemo_wipe1_is_finish(fbdemo_wipe1* this) { return this->finished; }
+187
View File
@@ -0,0 +1,187 @@
#include "m_titledemo.h"
#include "m_player.h"
#include "m_player_lib.h"
#include "m_event.h"
#include "m_name_table.h"
#include "m_bgm.h"
#include "m_common_data.h"
#define mTD_HEADER_POSX 0
#define mTD_HEADER_POSY 1
#define mTD_HEADER_POSZ 2
#define mTD_HEADER_ROTATION 3
#define mTD_HEADER_TOOL 4
#define mTD_HEADER_SIZE 5
static int S_now_demono = -1;
static int S_tdemo_frame;
static u16 S_titledemo_to_play;
static u16 get_demo_header(int titledemo_no, int key) {
static u16* pact_data_header_pt[mTD_TITLE_DEMO_NUM] = {
pact0_head_table, pact1_head_table, pact2_head_table, pact3_head_table, pact4_head_table
};
return pact_data_header_pt[titledemo_no][key];
}
extern int mTD_demono_get() {
if (S_now_demono == -1) {
S_now_demono = 1;
}
else {
S_now_demono++;
if (S_now_demono > mTD_TITLE_DEMO_NUM) {
S_now_demono = 1;
}
}
return S_now_demono;
}
static void mTD_player_keydata_init(GAME_PLAY* play) {
PLAYER_ACTOR* player = get_player_actor_withoutCheck(play);
if (mEv_CheckTitleDemo() > 0) {
u16 angle;
mActor_name_t tool = get_demo_header(mEv_CheckTitleDemo() - 1, mTD_HEADER_TOOL);
if (tool == ITM_AXE) {
tool = ITM_AXE;
}
else if (tool == ITM_ROD) {
tool = ITM_ROD;
}
else if (tool == ITM_GELATO_UMBRELLA) {
tool = ITM_GELATO_UMBRELLA;
}
mPlib_SetData2_controller_data_for_title_demo(tool);
angle = get_demo_header(mEv_CheckTitleDemo() - 1, mTD_HEADER_ROTATION);
player->actor_class.shape_info.rotation.y = angle;
player->actor_class.world_rotation.y = angle;
}
S_tdemo_frame = 0;
}
static u16 get_tdemo_keydata(int frame) {
/* BUG: this was probably meant to be marked as static */
u16* pact_data_keydata_pt[mTD_TITLE_DEMO_NUM] = { pact0_key_data, pact1_key_data, pact2_key_data, pact3_key_data, pact4_key_data };
return pact_data_keydata_pt[mEv_CheckTitleDemo() - 1][frame];
}
#define mTD_KEYDATA_A(d) ((d) & 1)
#define mTD_KEYDATA_B(d) (((d) >> 8) & 1)
#define mTD_KEYDATA_STICKX(d) (((s16)(d) & 0xFE00) / 512)
#define mTD_KEYDATA_STICKY(d) (((s16)((d) << 8) & 0xFE00) / 512)
/* @nonmatching */
static void set_player_demo_keydata(int frame) {
u16 keydata0;
u16 keydata1;
int k0_sx;
int k0_sy;
int k1_sx;
int k1_sy;
f32 stick_x;
f32 stick_y;
int btn_a;
int btn_b;
int f0;
int f1;
/* convert 60fps framerate to 30fps input */
f0 = frame / 2;
f1 = f0 + (frame % 2);
if (f0 != f1 && f1 < 1800) {
keydata0 = get_tdemo_keydata(f0);
keydata1 = get_tdemo_keydata(f1);
k0_sx = (s16)(keydata0 & 0xFE00) / 512;
k0_sy = (s16)((keydata0 & 0x00FE) << 8) / 512;
k1_sx = (s16)(keydata1 & 0xFE00) / 512;
k1_sy = (s16)((keydata1 & 0x00FE) << 8) / 512;
/* blend stick inputs between the current frame & next frame */
stick_x = ((f32)(s8)k0_sx + (f32)(s8)k1_sx) / 2.0f;
stick_y = ((f32)(s8)k0_sy + (f32)(s8)k1_sy) / 2.0f;
btn_a = mTD_KEYDATA_A(keydata0);
btn_b = mTD_KEYDATA_B(keydata0);
}
else {
keydata0 = get_tdemo_keydata(f0);
k0_sx = (s16)(keydata0 & 0xFE00) / 512;
k0_sy = (s16)((keydata0 & 0x00FE) << 8) / 512;
// single line does not make it any better
stick_x = (f32)(s8)k0_sx;
stick_y = (f32)(s8)k0_sy;
btn_a = keydata0 & 1;
btn_b = (keydata0 >> 8) & 1;
}
mPlib_SetData1_controller_data_for_title_demo(stick_x, stick_y, btn_a, btn_b);
}
static void mTD_game_end_init(GAME_PLAY* play) {
play->fb_fade_type = 10; // TODO: enum/define
play->fb_wipe_type = 3; // TODO: enum/define
mPlib_request_main_invade_type1(play);
mBGMPsComp_make_ps_wipe(0x521C); // TODO: enum/define
}
extern void title_demo_move(GAME_PLAY* play) {
if (mEv_CheckTitleDemo() > 0) {
set_player_demo_keydata(S_tdemo_frame);
S_tdemo_frame++;
if (S_tdemo_frame >= 3600) {
mTD_game_end_init(play);
}
}
}
extern void mTD_rtc_set() {
if (S_titledemo_to_play == TRUE) {
S_titledemo_to_play = FALSE;
if (Common_Get(time.rtc_crashed) == TRUE) {
lbRTC_TimeCopy(Common_GetPointer(time.rtc_time), Common_GetPointer(newly_set_time));
}
else {
lbRTC_GetTime(Common_GetPointer(time.rtc_time));
}
Common_Set(time.rtc_enabled, TRUE);
mTM_set_season();
}
}
extern void mTD_rtc_reserve() {
S_titledemo_to_play = TRUE;
}
extern int mTD_get_titledemo_no() {
int titledemo_no = S_now_demono;
if (titledemo_no <= 0) {
titledemo_no = 1;
}
return titledemo_no - 1;
}
extern int mTD_tdemo_button_ok_check() {
int res = TRUE;
if (S_tdemo_frame >= 3530) {
res = FALSE;
}
return res;
}