#include <sys/file.h>
#include <sys/types.h>
#include <libapi.h>
#include <libetc.h>
#include <libgte.h>
#include <libgpu.h>
#include <libgs.h>
#include <libcd.h>
#include <libds.h>
#include <libsnd.h>
#include "COMMON.H"
#include "SYSTEM.H"
#include "SOUND.H"
#include "KAZU.H"
#include "SPMGR.H"
#include "TASKMGR.H"
#include "SPCONT.H"
#include "THOU.H"
#define THOU_GAME_TIM_POS 0+4
#define THOU_GAME_TIM_NUM 9
#define THOU_EVENT_TIM_POS 0+4
#define THOU_EVENT_TIM_NUM 5
#define TIM_POS_THOU_EVENT_FONT 0
#define TIM_POS_THOU_EVENT_YORNO 1
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_GAME_S1_
#define TIM_POS_THOU_EVENT_C2_
#define TIM_POS_THOU_EVENT_C2_
#define TIM_POS_THOU_EVENT_C2_
#define TIM_POS_THOU_EVENT_C2_
#define TIM_POS_THOU_EVENT_C2_
#define THOU_CHAR_GAME_BASS 0
#define THOU_CHAR_GAME_TRAIN 1
#define THOU_CHAR_GAME_TAXI 2
#define THOU_CHAR_GAME_BASS_STATION_
#define THOU_CHAR_GAME_TAXI_STATION_
#define THOU_CHAR_GAME_TRAIN_STATION 5
#define THOU_CHAR_GAME_TRAIN_STATION_PLATE_
#define THOU_CHAR_GAME_SCORE_PLATE 7
#define THOU_CHAR_GAME_VISITOR_NUM_
#define THOU_CHAR_GAME_VISITOR_NUM_
#define THOU_CHAR_GAME_VISITOR_NUM_1
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_HISCORE_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_COUNTER_NUM_
#define THOU_CHAR_GAME_BASS_STATION_
#define THOU_CHAR_GAME_TAXI_STATION_
#define THOU_CHAR_GAME_TRAIN_STATION_PLATE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_WINDOW_SCENE_
#define THOU_CHAR_GAME_GAKUDANIN_FUUSEN_B_
#define THOU_CHAR_GAME_GAKUDANIN_FUUSEN_B_
#define THOU_CHAR_GAME_GAKUDANIN_HATA_T_
#define THOU_CHAR_GAME_GAKUDANIN_HATA_T_
#define THOU_CHAR_GAME_GAKUDANIN_HATA_Y_
#define THOU_CHAR_GAME_GAKUDANIN_HATA_Y_
#define THOU_CHAR_GAME_DANTYOU_
#define THOU_CHAR_GAME_DANTYOU_
#define THOU_CHAR_GAME_GAKUDANIN_FUUSEN_O_
#define THOU_CHAR_GAME_GAKUDANIN_FUUSEN_O_
#define THOU_CHAR_GAME_LION_
#define THOU_CHAR_GAME_LION_
#define THOU_CHAR_GAME_LION_
#define THOU_CHAR_GAME_LION_
#define THOU_CHAR_GAME_LION_
#define THOU_CHAR_GAME_BIG_LION_
#define THOU_CHAR_GAME_BIG_LION_
#define THOU_CHAR_GAME_BIG_LION_
#define THOU_CHAR_GAME_BIG_LION_
#define THOU_CHAR_GAME_BG_
#define THOU_CHAR_GAME_BG_
#define THOU_CHAR_EVENT_CLEAR_
#define THOU_CHAR_EVENT_CLEAR_
#define THOU_CHAR_EVENT_CLEAR_
#define THOU_CHAR_EVENT_FALSE_
#define THOU_CHAR_EVENT_FALSE_
#define THOU_CHAR_EVENT_FALSE_
#define THOU_CHAR_EVENT_PLATE_
#define THOU_CHAR_EVENT_PLATE_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_PLATE_NUM_
#define THOU_CHAR_EVENT_SELECT_CONTINUE_PLATE 18
#define THOU_CHAR_EVENT_SELECT_CONTINUE_YES_DARK 19
#define THOU_CHAR_EVENT_SELECT_CONTINUE_NO_DARK 20
#define THOU_CHAR_EVENT_SELECT_CONTINUE_YES_LIGHT 21
#define THOU_CHAR_EVENT_SELECT_CONTINUE_NO_LIGHT 22
#define THOU_CHAR_EVENT_SELECT_CONTINUE_BUPE_
#define THOU_CHAR_EVENT_SELECT_CONTINUE_BUPE_
#define THOU_CHAR_EVENT_SELECT_CONTINUE_RETRY_H 25
#define THOU_CHAR_EVENT_SELECT_CONTINUE_END_H 26
#define THOU_CHAR_EVENT_SELECT_CONTINUE_CONTINUE_H 27
#define THOU_CHAR_EVENT_SELECT_CONTINUE_CURSOR 28
#define THOU_CHAR_EVENT_SELECT_CONTINUE_ERABU 29
#define THOU_CHAR_EVENT_SELECT_CONTINUE_KETEI 30
#define THOU_CHAR_EVENT_SELECT_CONTINUE_MENU 31
extern u_long pad;
extern u_long NewPad;
extern u_long OldPad;
extern u_long JstPad;
extern u_long WorkPad;
extern u_long font_image[];
extern u_long YorN_image[];
extern u_long name_image[];
extern u_long MMENU_image[];
extern u_long font_clut[];
extern u_long YorN_clut[];
extern u_long name_clut[];
extern u_long MMENU_clut[];
extern u_long S1_01_image[];
extern u_long S1_01_clut[];
extern u_long S1_02_image[];
extern u_long S1_02_clut[];
extern u_long S1_03_image[];
extern u_long S1_03_clut[];
extern u_long S1_04_A_image[];
extern u_long S1_04_A_clut[];
extern u_long S1_04_B_image[];
extern u_long S1_04_B_clut[];
extern u_long S1_04_C_image[];
extern u_long S1_04_C_clut[];
extern u_long S1_04_D_image[];
extern u_long S1_04_D_clut[];
extern u_long S1_05_A_image[];
extern u_long S1_05_A_clut[];
extern u_long S1_05_B_image[];
extern u_long S1_05_B_clut[];
extern u_long C2_01_A_image[];
extern u_long C2_01_A_clut[];
extern u_long C2_01_B_image[];
extern u_long C2_01_B_clut[];
extern u_long C2_02_A_image[];
extern u_long C2_02_A_clut[];
extern u_long C2_02_B_image[];
extern u_long C2_02_B_clut[];
extern u_long C2_02_C_image[];
extern u_long C2_02_C_clut[];
extern u_long help_00_image[];
extern u_long help_00_clut[];
extern int active;
extern GsOT Wot[2];
static GsBOXF Box;
static GsBOXF BoxDataBlack[] = {0x00000000, 0, 0,320,240,0x00,0x00,0x00};
static GsBOXF BoxDataWhite[] = {0x00000000, 0, 0,320,240,0xFF,0xFF,0xFF};
static TIMD ThouGameTextureFile[] = {
{ "RCUBE3", "\\TIM\\THOUGD.B;1"},
};
static TIMD ThouEventTextureFile[] = {
{ "RCUBE2", "\\TIM\\THOUED.B;1"},
};
static GsIMAGE ThouGameTextureImage[]=
{
{ TIM_COLOR_16, 384,0, 64,256, font_image, 16,480, 16,6, font_clut },
{ TIM_COLOR_16, 448,0, 64,256, YorN_image, 0,480, 16,16, YorN_clut },
{ TIM_COLOR_16, 512,0, 64,256, help_00_image, 0,496, 16,2, help_00_clut },
{ TIM_COLOR_16, 320,0, 64,256, MMENU_image, 16,489, 16,7, MMENU_clut },
{ TIM_COLOR_16, 576,0, 64,256, S1_01_image, 144,480, 16,11, S1_01_clut },
{ TIM_COLOR_16, 896,0, 64,256, S1_02_image, 160,480, 16,12, S1_02_clut },
{ TIM_COLOR_16, 960,0, 64,256, S1_03_image, 112,480, 16,1, S1_03_clut },
{ TIM_COLOR_16, 640,0, 64,256, S1_04_A_image, 96,480, 16,1, S1_04_A_clut },
{ TIM_COLOR_16, 704,0, 64,256, S1_04_B_image, 80,480, 16,1, S1_04_B_clut },
{ TIM_COLOR_16, 704,256, 64,256, S1_04_C_image, 128,480, 16,1, S1_04_C_clut },
{ TIM_COLOR_16, 768,256, 64,256, S1_04_D_image, 64,480, 16,1, S1_04_D_clut },
{ TIM_COLOR_256, 576,256, 128,256, S1_05_A_image, 0,510, 256,1, S1_05_A_clut },
{ TIM_COLOR_256, 768,0, 128,256, S1_05_B_image, 0,509, 256,1, S1_05_B_clut },
};
static GsIMAGE ThouEventTextureImage[]=
{
{ TIM_COLOR_16, 384,0, 64,256, font_image, 16,480, 16,6, font_clut },
{ TIM_COLOR_16, 448,0, 64,256, YorN_image, 0,480, 16,16, YorN_clut },
{ TIM_COLOR_16, 512,0, 64,256, help_00_image, 0,496, 16,2, help_00_clut },
{ TIM_COLOR_16, 320,0, 64,256, MMENU_image, 16,489, 16,7, MMENU_clut },
{ TIM_COLOR_256, 768,0, 128,256, C2_01_A_image, 0,511, 256,1, C2_01_A_clut },
{ TIM_COLOR_256, 896,0, 128,256, C2_01_B_image, 0,510, 256,1, C2_01_B_clut },
{ TIM_COLOR_256, 640,0, 128,256, C2_02_A_image, 0,509, 256,1, C2_02_A_clut },
{ TIM_COLOR_256, 704,256, 128,256, C2_02_B_image, 0,508, 256,1, C2_02_B_clut },
{ TIM_COLOR_16, 832,256, 64,256, C2_02_C_image, 64,480, 16,2, C2_02_C_clut },
};
static ENTRY_SPRITE_DATA ThouGameSpriteData[] =
{
{ TIM_POS_THOU_GAME_S1_01, 0, 0, 36, 58, 0 },
{ TIM_POS_THOU_GAME_S1_01, 60, 0, 38, 124, 0 },
{ TIM_POS_THOU_GAME_S1_01, 186, 0, 26, 44, 0 },
{ TIM_POS_THOU_GAME_S1_01, 0, 40, 58, 26, 1 },
{ TIM_POS_THOU_GAME_S1_01, 28, 40, 38, 42, 3 },
{ TIM_POS_THOU_GAME_S1_01, 72, 40, 42, 80, 5 },
{ TIM_POS_THOU_GAME_S1_01, 154, 40, 28, 60, 6 },
{ TIM_POS_THOU_GAME_S1_01, 154, 72, 64, 96, 9 },
{ TIM_POS_THOU_GAME_S1_01, 28, 84, 14, 10, 8 },
{ TIM_POS_THOU_GAME_S1_01, 0, 100, 22, 38, 8 },
{ TIM_POS_THOU_GAME_S1_01, 40, 84, 78, 72, 8 },
{ TIM_POS_THOU_GAME_S1_01, 0, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 16, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 32, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 48, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 64, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 80, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 96, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 112, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 128, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 144, 168, 12, 12, 10 },
{ TIM_POS_THOU_GAME_S1_01, 0, 184, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 20, 184, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 40, 184, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 60, 184, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 80, 184, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 100, 184, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 120, 184, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 140, 184, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 0, 204, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 20, 204, 18, 18, 10 },
{ TIM_POS_THOU_GAME_S1_01, 0, 40, 58, 26, 2 },
{ TIM_POS_THOU_GAME_S1_01, 28, 40, 38, 42, 4 },
{ TIM_POS_THOU_GAME_S1_01, 154, 40, 28, 60, 7 },
{ TIM_POS_THOU_GAME_S1_02, 0, 0, 48, 78, 0 },
{ TIM_POS_THOU_GAME_S1_02, 80, 0, 48, 78, 1 },
{ TIM_POS_THOU_GAME_S1_02, 160, 0, 48, 78, 2 },
{ TIM_POS_THOU_GAME_S1_02, 0, 52, 48, 78, 3 },
{ TIM_POS_THOU_GAME_S1_02, 80, 52, 48, 78, 4 },
{ TIM_POS_THOU_GAME_S1_02, 160, 52, 48, 78, 5 },
{ TIM_POS_THOU_GAME_S1_02, 0, 104, 48, 78, 6 },
{ TIM_POS_THOU_GAME_S1_02, 80, 104, 48, 78, 7 },
{ TIM_POS_THOU_GAME_S1_02, 160, 104, 48, 78, 8 },
{ TIM_POS_THOU_GAME_S1_02, 0, 156, 34, 38, 9 },
{ TIM_POS_THOU_GAME_S1_02, 40, 156, 34, 38, 9 },
{ TIM_POS_THOU_GAME_S1_02, 80, 156, 34, 38, 9 },
{ TIM_POS_THOU_GAME_S1_02, 120, 156, 34, 38, 9 },
{ TIM_POS_THOU_GAME_S1_02, 160, 156, 34, 38, 11 },
{ TIM_POS_THOU_GAME_S1_02, 200, 156, 34, 38, 11 },
{ TIM_POS_THOU_GAME_S1_02, 0, 192, 42, 48, 9 },
{ TIM_POS_THOU_GAME_S1_02, 50, 192, 42, 48, 9 },
{ TIM_POS_THOU_GAME_S1_02, 0, 156, 34, 38, 10 },
{ TIM_POS_THOU_GAME_S1_02, 40, 156, 34, 38, 10 },
{ TIM_POS_THOU_GAME_S1_03, 0, 0, 64, 64, 0 },
{ TIM_POS_THOU_GAME_S1_03, 66, 0, 64, 64, 0 },
{ TIM_POS_THOU_GAME_S1_03, 132, 0, 64, 64, 0 },
{ TIM_POS_THOU_GAME_S1_03, 0, 66, 64, 64, 0 },
{ TIM_POS_THOU_GAME_S1_03, 66, 66, 64, 64, 0 },
{ TIM_POS_THOU_GAME_S1_04_A, 0, 0, 200, 218, 0 },
{ TIM_POS_THOU_GAME_S1_04_B, 0, 0, 200, 218, 0 },
{ TIM_POS_THOU_GAME_S1_04_C, 0, 0, 200, 218, 0 },
{ TIM_POS_THOU_GAME_S1_04_D, 0, 0, 200, 218, 0 },
{ TIM_POS_THOU_GAME_S1_05_A, 0, 0, 240, 256, 0 },
{ TIM_POS_THOU_GAME_S1_05_B, 0, 0, 240, 64, 0 },
{ ENTRY_SPRITE_DATA_END,0,0,0,0,0 }
};
static ENTRY_SPRITE_DATA ThouEventSpriteData[] =
{
{ TIM_POS_THOU_EVENT_C2_01_A, 0, 0, 240, 256, 0 },
{ TIM_POS_THOU_EVENT_C2_01_B, 0, 0, 240, 64, 0 },
{ TIM_POS_THOU_EVENT_C2_01_B, 68, 0, 88, 78, 0 },
{ TIM_POS_THOU_EVENT_C2_02_A, 0, 0, 240, 256, 0 },
{ TIM_POS_THOU_EVENT_C2_02_B, 0, 0, 240, 64, 0 },
{ TIM_POS_THOU_EVENT_C2_02_B, 68, 0, 92, 78, 0 },
{ TIM_POS_THOU_EVENT_C2_02_C, 0, 0, 88, 204, 0 },
{ TIM_POS_THOU_EVENT_C2_02_C, 0, 88, 88, 204, 0 },
{ TIM_POS_THOU_EVENT_C2_02_C, 0, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 28, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 56, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 84, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 112, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 140, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 168, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 196, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 224, 176, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_C2_02_C, 0, 214, 36, 26, 1 },
{ TIM_POS_THOU_EVENT_YORNO, 0, 0, 115, 186, 0 },
{ TIM_POS_THOU_EVENT_YORNO, 0, 115, 40, 38, 1 },
{ TIM_POS_THOU_EVENT_YORNO, 38, 115, 40, 44, 1 },
{ TIM_POS_THOU_EVENT_YORNO, 82, 115, 40, 44, 2 },
{ TIM_POS_THOU_EVENT_YORNO, 126, 115, 40, 44, 2 },
{ TIM_POS_THOU_EVENT_YORNO, 186, 0, 69, 58, 3 },
{ TIM_POS_THOU_EVENT_YORNO, 186, 69, 69, 58, 3 },
{ TIM_POS_THOU_EVENT_YORNO, 0, 155, 14, 148, 4 },
{ TIM_POS_THOU_EVENT_YORNO, 0, 170, 14, 148, 4 },
{ TIM_POS_THOU_EVENT_YORNO, 20, 20, 14, 148, 4 },
{ TIM_POS_THOU_EVENT_FONT, 24, 200, 24, 26, 2 },
{ TIM_POS_THOU_EVENT_FONT, 0, 232, 15, 52, 4 },
{ TIM_POS_THOU_EVENT_FONT, 52, 232, 15, 52, 4 },
{ TIM_POS_THOU_EVENT_FONT, 104, 232, 15, 52, 4 },
{ ENTRY_SPRITE_DATA_END,0,0,0,0,0 }
};
static int GameLionSpriteTable[]=
{
THOU_CHAR_GAME_LION_00,
THOU_CHAR_GAME_LION_01,
THOU_CHAR_GAME_LION_02,
THOU_CHAR_GAME_LION_02,
THOU_CHAR_GAME_LION_03,
THOU_CHAR_GAME_LION_04,
};
static LION_WAIT_POS GameLionWaitPosTable[]=
{
{ 134, 48 },
{ 216, 51 },
{ 31, 31 },
{ 189, 134 },
};
static int VisitorScoreSpriteTable[]=
{
THOU_CHAR_GAME_COUNTER_NUM_00,
THOU_CHAR_GAME_COUNTER_NUM_01,
THOU_CHAR_GAME_COUNTER_NUM_02,
THOU_CHAR_GAME_COUNTER_NUM_03,
THOU_CHAR_GAME_COUNTER_NUM_04,
THOU_CHAR_GAME_COUNTER_NUM_05,
THOU_CHAR_GAME_COUNTER_NUM_06,
THOU_CHAR_GAME_COUNTER_NUM_07,
THOU_CHAR_GAME_COUNTER_NUM_08,
THOU_CHAR_GAME_COUNTER_NUM_09,
};
static int HighScoreSpriteTable[]=
{
THOU_CHAR_GAME_HISCORE_NUM_00,
THOU_CHAR_GAME_HISCORE_NUM_01,
THOU_CHAR_GAME_HISCORE_NUM_02,
THOU_CHAR_GAME_HISCORE_NUM_03,
THOU_CHAR_GAME_HISCORE_NUM_04,
THOU_CHAR_GAME_HISCORE_NUM_05,
THOU_CHAR_GAME_HISCORE_NUM_06,
THOU_CHAR_GAME_HISCORE_NUM_07,
THOU_CHAR_GAME_HISCORE_NUM_08,
THOU_CHAR_GAME_HISCORE_NUM_09,
};
static int FalseScoreSpriteTable[]={
THOU_CHAR_EVENT_PLATE_NUM_00,
THOU_CHAR_EVENT_PLATE_NUM_01,
THOU_CHAR_EVENT_PLATE_NUM_02,
THOU_CHAR_EVENT_PLATE_NUM_03,
THOU_CHAR_EVENT_PLATE_NUM_04,
THOU_CHAR_EVENT_PLATE_NUM_05,
THOU_CHAR_EVENT_PLATE_NUM_06,
THOU_CHAR_EVENT_PLATE_NUM_07,
THOU_CHAR_EVENT_PLATE_NUM_08,
THOU_CHAR_EVENT_PLATE_NUM_09,
};
static int SceneSpriteTable[]=
{
34,
35,
36,
37,
38,
39,
40,
41,
42,
};
static int PlateSpriteTable[]={
THOU_CHAR_EVENT_PLATE_00,
THOU_CHAR_EVENT_PLATE_01,
};
static int ReverseTable[]={
NOREVERS,
HREVERS,
};
static THOU_GAME TGameMgr;
#define INIT_PLAY_DEMO_SCRIPT_BASE 0
#define INIT_PLAY_DEMO_SCRIPT_NUM 2
#define PLAY_START_SCRIPT_BASE 2
#define PLAY_START_SCRIPT_NUM 2
#define PLAY_CLEAR_SCRIPT_BASE 4
#define PLAY_CLEAR_SCRIPT_NUM 3
#define PLAY_FALSE_1_SCRIPT_BASE 7
#define PLAY_FALSE_1_SCRIPT_NUM 1
#define PLAY_FALSE_2_SCRIPT_BASE 8
#define PLAY_FALSE_2_SCRIPT_NUM 1
#define PLAY_FALSE_UP_SCRIPT_BASE 9
#define PLAY_FALSE_UP_SCRIPT_NUM 1
#define PLAY_GAME_END_SCRIPT_BASE 10
#define PLAY_GAME_END_SCRIPT_NUM 1
static SCRIP_DATA ThouScript[]=
{
{
0,
NamePlatePuupe,
XA_FILE_THOU00,
0,
"初消音時06やぁ、わたしは プーペ。待120終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU00,
1,
"初消音時06パニポニナンバーズフェスティバルに、改おきゃくさんを いっぱい いれよう!待400終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU00,
3,
"初消音時06さっそく やってきましたよ。待120終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU00,
2,
"初消音時06がんばろうね。待120終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU01,
5,
"初消音時061000にん、たっせい! ありがとう。待150終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU01,
7,
"初消音時06きみの おかげで、フェスティバルは改ちょうまんいん!待220終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU01,
8,
"初消音時06つぎも、この ちょうしで改がんばろう~!待240終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU01,
2,
"初消音時06さぁ、なんにん、はいったかな?待280終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU01,
3,
"初消音時06つぎもがんばろう~待240終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU01,
4,
"初消音時06おおっ! いままでの 改さいこうきろくですね。待240終"
},
{
0,
NamePlatePuupe,
XA_FILE_THOU01,
1,
"初消音時06きょうは これで おしまいで~す。待180終"
},
};
static CALLCOUNT CallCountData[]=
{
{ 1, {XA_FILE_YOMI01, 0 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 1 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 2 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 3 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 4 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 5 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 6 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 7 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 8 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 9 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 10 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 11 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 12 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 13 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 14 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI01, 15 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 0 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 1 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 2 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 3 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 4 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 5 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 6 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 7 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 8 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 9 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 10 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 11 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 12 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 13 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 14 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI02, 15 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 0 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 1 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 2 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 3 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 4 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 5 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 6 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 7 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 8 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 9 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 10 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 11 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 12 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 13 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 14 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI03, 15 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 0 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 1 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 2 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 3 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 4 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 5 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 6 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 7 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 8 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 9 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 10 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 11 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 12 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 13 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 14 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI04, 15 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 0 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 1 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 2 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 3 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 4 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 5 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 6 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 7 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 8 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 9 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 10 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 11 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 12 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 13 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 14 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI05, 15 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 0 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 1 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 2 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 3 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 4 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 5 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 6 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 7 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 8 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 9 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 10 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 11 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 12 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 13 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 14 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI06, 15 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI07, 0 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI07, 1 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI07, 2 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI07, 3 }, {-1, -1 } },
{ 1, {XA_FILE_YOMI07, 4 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 4 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 5 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 5 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 6 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 6 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 7 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 7 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 8 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 8 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 9 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 9 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 10 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 10 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 11 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 11 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 12 }, {-1, -1 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 1 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 2 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 3 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 4 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 5 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 6 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 7 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 8 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 9 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 10 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 11 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 12 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 13 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 14 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI01, 15 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 0 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 1 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 2 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 3 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 4 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 5 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 6 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 7 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 8 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 9 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 10 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 11 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 12 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 13 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 14 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI02, 15 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 0 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 1 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 2 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 3 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 4 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 5 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 6 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 7 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 8 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 9 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 10 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 11 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 12 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 13 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 14 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI03, 15 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 0 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 1 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 2 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 3 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 4 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 5 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 6 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 7 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 8 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 9 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 10 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 11 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 12 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 13 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 14 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI04, 15 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 0 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 1 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 2 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 3 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 4 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 5 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 6 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 7 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 8 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 9 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 10 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 11 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 12 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 13 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 14 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI05, 15 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 0 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 1 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 2 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 3 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 4 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 5 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 6 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 7 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 8 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 9 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 10 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 11 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 12 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 13 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 14 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI06, 15 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI07, 0 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI07, 1 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI07, 2 } },
{ 2, {XA_FILE_YOMI07, 12 }, {XA_FILE_YOMI07, 3 } },
{ 1, {XA_FILE_YOMI07, 13 }, {-1, -1 } },
};
int Thou(GAMEMGR * ip_GameMgr)
{
SPRITE_DATA SpData;
TASK Task;
switch( ip_GameMgr->SubMode )
{
case INIT:
ip_GameMgr->SubMode = MAIN;
InitSprite();
InitTaskMgr();
srand(ip_GameMgr->Timer);
TGameMgr.SceneNo = 0;
TGameMgr.VisitorScore = 0;
TGameMgr.HighScore = ip_GameMgr->Level[GAME_THOU];
TGameMgr.HighScoreFlag = 0;
TGameMgr.Timer = 0;
TGameMgr.TimerFlag = 0;
TGameMgr.ContinureFlag = 0;
TGameMgr.TimeUpFlag = 0;
TGameMgr.ClearFlag = 0;
TGameMgr.EventTimer = 0;
TGameMgr.ClearEndFlag = 0;
TGameMgr.ExitFlag = 0;
SfileRead2(THOU_SOUNDFILE);
HelpInit();
GameMgr.WaitFlag = ON;
#ifdef __DEBUG_THOU__
if( NewPad & PADL1 )
{
Task.func = DebugGameSpriteTask;
Task.priority = TASK_NO_DEBUG;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_DEBUG;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "DebugGameSpriteTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}else
if(NewPad & PADL2){
Task.func = DebugEventSpriteTask;
Task.priority = TASK_NO_DEBUG;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_DEBUG;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "DebugEventSpriteTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}else
if(NewPad & PADR1){
Task.func = ClearGameEventTask;
Task.priority = TASK_NO_CLEAR_EVENT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_CLEAR_EVENT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ClearGameEventTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}else
if(NewPad & PADR2){
TGameMgr.VisitorScore = 888;
Task.func = ThouFalseEventTask;
Task.priority = TASK_NO_FALSE_EVENT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_FALSE_EVENT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ThouFalseEventTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}else
{
Task.func = GameControllTask;
Task.priority = TASK_NO_GAME_CONTROLL;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CONTROLL;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "GameControllTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}
#else
Task.func = GameControllTask;
Task.priority = TASK_NO_GAME_CONTROLL;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CONTROLL;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "GameControllTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
#endif
break;
case MAIN:
FntPrint("");
ExecuteTask();
TransSprite();
SpraitControl();
if(TGameMgr.ExitFlag) ip_GameMgr->SubMode = EXIT;
break;
case EXIT:
SpraitCharClr();
SpraitControl();
GameMgr.WaitFlag = ON;
ssStopAll();
ssCloseVab();
ip_GameMgr->Level[GAME_THOU] = TGameMgr.HighScore;
ip_GameMgr->MainMode = MAIN_MODE_TOP_MENU;
ip_GameMgr->SubMode = INIT;
break;
default:
}
return TRUE;
}
static int GameControllTask(TASK* ip_task)
{
TASK Task;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
if((file_read(ThouGameTextureFile[0].fn,LoadAddress)) == -1)
{
return FALSE;
}
TexInit( THOU_GAME_TIM_NUM, &ThouGameTextureImage[THOU_GAME_TIM_POS] );
TimImgData = ThouGameTextureImage;
EntrySprite( ThouGameSpriteData );
TGameMgr.SceneNo = 0;
TGameMgr.VisitorScore = 0;
TGameMgr.HighScoreFlag = 0;
TGameMgr.Timer = 0;
TGameMgr.TimerFlag = 0;
TGameMgr.TimeUpFlag = 0;
TGameMgr.ClearFlag = 0;
TGameMgr.EventTimer = 0;
TGameMgr.ClearEndFlag = 0;
TGameMgr.ExitFlag = 0;
GaidoInit();
if(!TGameMgr.ContinureFlag)
{
Task.func = LionAppearTask;
Task.priority = TASK_NO_GAME_LION_APPEAR;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_LION_APPEAR;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "LionAppearTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}else
{
Task.func = LionTask;
Task.priority = TASK_NO_GAME_LION;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_LION;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "LionTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}
Task.func = GameBgTask;
Task.priority = TASK_NO_GAME_BG;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_BG;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "GameBgTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
Task.func = HighScoreTask;
Task.priority = TASK_NO_GAME_HIGH_SCORE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_HIGH_SCORE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "HighScoreTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
break;
case TASK_MODE_MAIN:
#ifdef
FntPrint("TGameMgr.CallCount.Flag[%d]\n",TGameMgr.CallCount.Flag);
#endif
if( TGameMgr.ClearEndFlag || TGameMgr.TimeUpFlag ) ip_task->mode = TASK_MODE_EXIT;
break;
case TASK_MODE_EXIT:
ssStopBgm(THOU_BGM_00);
RemoveTask(TASK_NO_GAME_PAUSE);
RemoveTask(TASK_NO_GAME_SCRIPT);
RemoveTask(TASK_NO_GAME_TIMER_EXIT);
RemoveTask(TASK_NO_GAME_LION_APPEAR);
RemoveTask(TASK_NO_GAME_LION);
RemoveTask(TASK_NO_GAME_TAXI);
RemoveTask(TASK_NO_GAME_BASS);
RemoveTask(TASK_NO_GAME_TRAIN);
RemoveTask(TASK_NO_GAME_WINDOWS_SCENE);
RemoveTask(TASK_NO_GAME_VISITOR_SCORE);
RemoveTask(TASK_NO_GAME_VISITOR);
RemoveTask(TASK_NO_GAME_HIGH_SCORE);
RemoveTask(TASK_NO_GAME_BG);
if(TGameMgr.VisitorScore>TGameMgr.HighScore){
TGameMgr.HighScore = TGameMgr.VisitorScore;
TGameMgr.HighScoreFlag=1;
}
ReleaseSprite();
SpraitCharClr();
MetuseijiFlag=OFF;
if(TGameMgr.TimeUpFlag)
{
Task.func = ThouFalseEventTask;
Task.priority = TASK_NO_FALSE_EVENT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_FALSE_EVENT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ThouFalseEventTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}else
{
Task.func = ThouClearEventTask;
Task.priority = TASK_NO_CLEAR_EVENT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_CLEAR_EVENT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ThouClearEventTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int LionAppearTask(TASK* ip_task)
{
static int BigLionSpriteTable[]={
THOU_CHAR_GAME_BIG_LION_00,
THOU_CHAR_GAME_BIG_LION_00,
THOU_CHAR_GAME_BIG_LION_00,
THOU_CHAR_GAME_BIG_LION_01,
THOU_CHAR_GAME_BIG_LION_02,
THOU_CHAR_GAME_BIG_LION_03,
};
SPRITE_DATA SpData;
TASK Task;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
ip_task->user[0] = 0;
ip_task->user[1] = 0;
ip_task->user[2] = 0;
ip_task->user[3] = 0;
ip_task->user[4] = 0;
ip_task->user[5] = 80;
ip_task->user[6] = 340;
ip_task->user[7] = 0;
ip_task->user[8] = 0;
GameMgr.FadeFlag = FadeIn;
ip_task->user[1] = BigLionSpriteTable[ ip_task->user[3] + ip_task->user[2] ];
ssPlaySe(THOU_SE_01);
break;
case TASK_MODE_MAIN:
switch(ip_task->user[0])
{
case 0:
ip_task->user[6] -= 3;
if(ip_task->user[6] <= 4)
{
ip_task->user[0] = 1;
}
break;
case 1:
ip_task->user[6] += 2;
if(ip_task->user[6] >= 20)
{
ip_task->user[0] = 2;
ip_task->user[6] = 20;
ip_task->user[2] = 0;
ip_task->user[3] = 2;
ip_task->user[4] = THOU_BIG_LION_SPEAK_WAIT_TIME;
Task.func = ScriptTask;
Task.priority = TASK_NO_GAME_SCRIPT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_SCRIPT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ScriptTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = SCRIPT_LINE_2;
Task.user[1] = INIT_PLAY_DEMO_SCRIPT_BASE;
Task.user[2] = INIT_PLAY_DEMO_SCRIPT_NUM;
CreateTask(&Task);
}
break;
case 2:
if(++ip_task->user[7] > THOU_BIG_LION_SPEAK_WAIT_TIME)
{
ip_task->user[0] = 3;
ip_task->user[2] = 0;
ip_task->user[3] = 4;
ip_task->user[4] = THOU_BIG_LION_SPEAK_WAIT_TIME;
}
break;
case 3:
ip_task->user[5]+=2;
if(ip_task->user[5] > 400){
ip_task->user[5]=500;
if(!ip_task->user[8]){
ip_task->user[8]=1;
Task.func = EventFadeOutTask;
Task.priority = TASK_NO_GAME_FADE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_FADE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "EventFadeOutTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = ip_task->id;
CreateTask(&Task);
}
}
break;
default:
}
if(++ip_task->user[4] > THOU_LION_ANM_WAIT_TIME){
ip_task->user[4] = 0;
ip_task->user[2] ^= 1;
ip_task->user[1] = BigLionSpriteTable[ ip_task->user[3] + ip_task->user[2] ];
}
SpData.No = ip_task->user[1];
SpData.PosX = ip_task->user[5];
SpData.PosY = ip_task->user[6];
SpData.PosZ = PRIORITY_THOU_GAME_LION;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
case TASK_MODE_EXIT:
MetuseijiFlag=OFF;
Task.func = LionTask;
Task.priority = TASK_NO_GAME_LION;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_LION;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "LionTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int LionTask(TASK* ip_task)
{
SPRITE_DATA SpData;
TASK Task;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
TGameMgr.Lion.Character.Status = LION_APPEAR;
TGameMgr.Lion.Character.Anm.Data.no = 0;
TGameMgr.Lion.Character.Anm.Data.wt = 0;
TGameMgr.Lion.Character.Anm.Index = 0;
TGameMgr.Lion.Character.Pos.x = THOU_GAME_LION_INIT_POS_X;
TGameMgr.Lion.Character.Pos.y = THOU_GAME_LION_INIT_POS_Y;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_LION;
TGameMgr.Lion.Character.OPos.x = 0;
TGameMgr.Lion.Character.OPos.y = 0;
TGameMgr.Lion.Character.OPos.z = 0;
TGameMgr.Lion.Character.Spd.dx = THOU_GAME_LION_APPEAR_DIRECT_X;
TGameMgr.Lion.Character.Spd.dy = THOU_GAME_LION_APPEAR_DIRECT_Y;
TGameMgr.Lion.Character.Spd.sx = THOU_GAME_LION_APPEAR_SPEED_X;
TGameMgr.Lion.Character.Spd.sy = THOU_GAME_LION_APPEAR_SPEED_Y;
TGameMgr.Lion.AnmBase = LION_ANM_BASE_RUN;
TGameMgr.Lion.WaitPlace = PLACE_BASE;
TGameMgr.Lion.WaitTimer = 0;
TGameMgr.Lion.Character.Anm.Data.no = GameLionSpriteTable[TGameMgr.Lion.AnmBase + TGameMgr.Lion.Character.Anm.Index];
GameMgr.FadeFlag = FadeIn;
Task.func = ScriptTask;
Task.priority = TASK_NO_GAME_SCRIPT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_SCRIPT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ScriptTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = SCRIPT_LINE_2;
Task.user[1] = PLAY_START_SCRIPT_BASE;
Task.user[2] = PLAY_START_SCRIPT_NUM;
CreateTask(&Task);
break;
case TASK_MODE_MAIN:
switch(TGameMgr.Lion.Character.Status)
{
case LION_APPEAR:
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_LION;
TGameMgr.Lion.Character.Pos.x += TGameMgr.Lion.Character.OPos.x + TGameMgr.Lion.Character.Spd.dx * TGameMgr.Lion.Character.Spd.sx;
TGameMgr.Lion.Character.Pos.y += TGameMgr.Lion.Character.OPos.y + TGameMgr.Lion.Character.Spd.dy * TGameMgr.Lion.Character.Spd.sy;
if(TGameMgr.Lion.Character.Pos.y >= GameLionWaitPosTable[PLACE_BASE].PosY)
{
TGameMgr.Lion.Character.Status = LION_APPEAR_WAIT;
TGameMgr.Lion.Character.Anm.Index = 0;
TGameMgr.Lion.Character.Anm.Data.wt = THOU_LION_ANM_WAIT_TIME;
TGameMgr.Lion.AnmBase = LION_ANM_BASE_HATA;
TGameMgr.Lion.Character.Pos.x = GameLionWaitPosTable[TGameMgr.Lion.WaitPlace].PosX;
TGameMgr.Lion.Character.Pos.y = GameLionWaitPosTable[TGameMgr.Lion.WaitPlace].PosY;
TGameMgr.Lion.WaitTimer = THOU_GAME_LION_APPEAR_WAIT_TIME;
}
break;
case LION_APPEAR_WAIT:
if(--TGameMgr.Lion.WaitTimer <= 0 )
{
TGameMgr.Lion.Character.Status = LION_BASE_WAIT;
TGameMgr.Lion.WaitTimer = THOU_GAME_LION_BASE_WAIT_TIME;
Task.func = PauseTask;
Task.priority = TASK_NO_GAME_PAUSE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_PAUSE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "PauseTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
Task.func = BassTask;
Task.priority = TASK_NO_GAME_BASS;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_BASS;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "BassTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
Task.func = TaxiTask;
Task.priority = TASK_NO_GAME_TAXI;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_TAXI;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "TaxiTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
Task.func = TrainTask;
Task.priority = TASK_NO_GAME_TRAIN;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_TRAIN;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "TrainTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
Task.func = WindowSceneTask;
Task.priority = TASK_NO_GAME_WINDOWS_SCENE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_WINDOWS_SCENE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "WindowSceneTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
Task.func = VisitorScoreTask;
Task.priority = TASK_NO_GAME_VISITOR_SCORE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_VISITOR_SCORE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "VisitorScoreTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = -40;
CreateTask(&Task);
ssPlayBgm(THOU_BGM_00);
}
break;
case LION_BASE_WAIT:
if(--TGameMgr.Lion.WaitTimer <= 0)
{
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_LION;
if(JstPad & PADLdown){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_TRAIN_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_TRAIN + 1;
TGameMgr.Lion.WaitPlace = PLACE_TRAIN_STATION;
}else
if(JstPad & PADLleft){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_TAXI_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_TAXI + 1;
TGameMgr.Lion.WaitPlace = PLACE_TAXI_STATION;
}else
if(JstPad & PADLright){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_BASS_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_BASS + 1;
TGameMgr.Lion.WaitPlace = PLACE_BASS_STATION;
}else{
}
}
if(--TGameMgr.Lion.WaitTimer == 0){
GameMgr.WaitFlag = OFF;
}
break;
case LION_TAXI_STATION_WAIT:
if(JstPad & PADLdown){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_TRAIN_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_TRAIN + 1;
TGameMgr.Lion.WaitPlace = PLACE_TRAIN_STATION;
}else
if(JstPad & PADLright){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_BASS_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_BASS + 1;
TGameMgr.Lion.WaitPlace = PLACE_BASS_STATION;
}else
if(JstPad & PADLleft){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_TRAIN_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_TRAIN + 1;
TGameMgr.Lion.WaitPlace = PLACE_TRAIN_STATION;
}else{
}
break;
case LION_BASS_STATION_WAIT:
if(JstPad & PADLdown){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_TRAIN_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_TRAIN + 1;
TGameMgr.Lion.WaitPlace = PLACE_TRAIN_STATION;
}else
if(JstPad & PADLleft){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_TAXI_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_TAXI + 1;
TGameMgr.Lion.WaitPlace = PLACE_TAXI_STATION;
}else
if(JstPad & PADLright){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_TRAIN_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_TRAIN + 1;
TGameMgr.Lion.WaitPlace = PLACE_TRAIN_STATION;
}else
{
}
break;
case LION_TRAIN_STATION_WAIT:
if(JstPad & PADLleft){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_BASS_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_BASS + 1;
TGameMgr.Lion.WaitPlace = PLACE_BASS_STATION;
}else
if(JstPad & PADLright){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_TAXI_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_TAXI + 1;
TGameMgr.Lion.WaitPlace = PLACE_TAXI_STATION;
}else
if(JstPad & PADLup){
ssPlaySe(BUTONSE_LEVER);
TGameMgr.Lion.Character.Status = LION_BASS_STATION_WAIT;
TGameMgr.Lion.Character.Pos.z = PRIORITY_THOU_GAME_BASS + 1;
TGameMgr.Lion.WaitPlace = PLACE_BASS_STATION;
}else
{
}
break;
case LION_WELCOME_WAIT:
break;
case LION_DISAPPEAR:
break;
case LION_WAIT:
break;
default:
}
if(++TGameMgr.Lion.Character.Anm.Data.wt > THOU_LION_ANM_WAIT_TIME)
{
TGameMgr.Lion.Character.Anm.Data.wt = 0;
TGameMgr.Lion.Character.Anm.Index ^= 1;
TGameMgr.Lion.Character.Anm.Data.no = GameLionSpriteTable[TGameMgr.Lion.AnmBase + TGameMgr.Lion.Character.Anm.Index];
}
if(TGameMgr.Lion.Character.Status != LION_APPEAR)
{
TGameMgr.Lion.Character.Pos.x = GameLionWaitPosTable[TGameMgr.Lion.WaitPlace].PosX;
TGameMgr.Lion.Character.Pos.y = GameLionWaitPosTable[TGameMgr.Lion.WaitPlace].PosY;
}
SpData.No = TGameMgr.Lion.Character.Anm.Data.no;
SpData.PosX = TGameMgr.Lion.Character.Pos.x + TGameMgr.Lion.Character.OPos.x;
SpData.PosY = TGameMgr.Lion.Character.Pos.y + TGameMgr.Lion.Character.OPos.y;
SpData.PosZ = TGameMgr.Lion.Character.Pos.z + TGameMgr.Lion.Character.OPos.z;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
case TASK_MODE_EXIT:
Task.func = ClearGameEventTask;
Task.priority = TASK_NO_GAME_CLEAR_EVENT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CLEAR_EVENT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ClearGameEventTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int TaxiTask(TASK* ip_task)
{
SPRITE_DATA SpData;
TASK Task;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
TGameMgr.Taxi.Character.Status = VEHICLE_APPEAR;
TGameMgr.Taxi.Character.Anm.Data.no = THOU_CHAR_GAME_TAXI;
TGameMgr.Taxi.Character.Anm.Data.wt = 0;
TGameMgr.Taxi.Character.Anm.Index = 0;
TGameMgr.Taxi.Character.Pos.x = INIT_POSX_TAXI;
TGameMgr.Taxi.Character.Pos.y = 84;
TGameMgr.Taxi.Character.Pos.z = PRIORITY_THOU_GAME_TAXI;
TGameMgr.Taxi.Character.OPos.x = 0;
TGameMgr.Taxi.Character.OPos.y = 0;
TGameMgr.Taxi.Character.OPos.z = 0;
TGameMgr.Taxi.Character.Spd.dx = 1;
TGameMgr.Taxi.Character.Spd.dy = 0;
TGameMgr.Taxi.Character.Spd.sx = VEHICLE_SPEED_X;
TGameMgr.Taxi.Character.Spd.sy = 0;
TGameMgr.Taxi.CheckStopX = CHECK_POSX_WELCOME_TAXI;
TGameMgr.Taxi.Reverse = 1;
TGameMgr.Taxi.BirthWaitTime = 0;
TGameMgr.Taxi.VisitorFlag = 1;
break;
case TASK_MODE_MAIN:
switch(TGameMgr.Taxi.Character.Status)
{
case VEHICLE_APPEAR:
if(--TGameMgr.Taxi.BirthWaitTime<0)
{
TGameMgr.Taxi.Character.Status = VEHICLE_MOVE;
TGameMgr.Taxi.Character.Pos.x = INIT_POSX_TAXI;
TGameMgr.Taxi.Character.Spd.dx = 1;
TGameMgr.Taxi.Reverse = 1;
TGameMgr.Taxi.VisitorFlag = 1;
ssPlaySe(THOU_SE_03);
}
break;
case VEHICLE_MOVE:
TGameMgr.Taxi.Character.Pos.x += TGameMgr.Taxi.Character.Spd.sx * TGameMgr.Taxi.Character.Spd.dx;
if(TGameMgr.Taxi.VisitorFlag){
if(TGameMgr.Taxi.Character.Pos.x >= CHECK_POSX_WELCOME_TAXI)
{
if(TGameMgr.Lion.WaitPlace == PLACE_TAXI_STATION)
{
GameMgr.WaitFlag = ON;
TGameMgr.Taxi.Character.Status = VEHICLE_STOP;
TGameMgr.Lion.Character.Status = LION_WELCOME_WAIT;
Task.func = VisitorTask;
Task.priority = TASK_NO_GAME_VISITOR;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_VISITOR;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "VisitorTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = VISITOR_TYPE_TAXI;
CreateTask(&Task);
TGameMgr.Taxi.VisitorFlag = 0;
}else{
TGameMgr.Taxi.Character.Status = VEHICLE_RETURN;
TGameMgr.Taxi.Character.Spd.dx = -1;
TGameMgr.Taxi.Reverse = 0;
}
}
}
break;
case VEHICLE_RETURN:
TGameMgr.Taxi.Character.Pos.x += TGameMgr.Taxi.Character.Spd.sx * TGameMgr.Taxi.Character.Spd.dx;
if(TGameMgr.Taxi.Character.Pos.x <= INIT_POSX_TAXI){
TGameMgr.Taxi.Character.Status = VEHICLE_DISAPPEAR;
}
break;
case VEHICLE_STOP:
break;
case VEHICLE_DISAPPEAR:
TGameMgr.Taxi.Character.Status = VEHICLE_APPEAR;
TGameMgr.Taxi.BirthWaitTime = rand()%120 + 60;
break;
default:
}
SpData.No = TGameMgr.Taxi.Character.Anm.Data.no;
SpData.PosX = TGameMgr.Taxi.Character.Pos.x + TGameMgr.Taxi.Character.OPos.x;
SpData.PosY = TGameMgr.Taxi.Character.Pos.y + TGameMgr.Taxi.Character.OPos.y;
SpData.PosZ = TGameMgr.Taxi.Character.Pos.z + TGameMgr.Taxi.Character.OPos.z;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = ReverseTable[TGameMgr.Taxi.Reverse];
DrawSprite( &SpData );
break;
case TASK_MODE_EXIT:
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int BassTask(TASK* ip_task)
{
SPRITE_DATA SpData;
TASK Task;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
TGameMgr.Bass.Character.Status = VEHICLE_APPEAR;
TGameMgr.Bass.Character.Anm.Data.no = THOU_CHAR_GAME_BASS;
TGameMgr.Bass.Character.Anm.Data.wt = 0;
TGameMgr.Bass.Character.Anm.Index = 0;
TGameMgr.Bass.Character.Pos.x = INIT_POSX_BASS;
TGameMgr.Bass.Character.Pos.y = 106;
TGameMgr.Bass.Character.Pos.z = PRIORITY_THOU_GAME_BASS;
TGameMgr.Bass.Character.OPos.x = 0;
TGameMgr.Bass.Character.OPos.y = 0;
TGameMgr.Bass.Character.OPos.z = 0;
TGameMgr.Bass.Character.Spd.dx = -1;
TGameMgr.Bass.Character.Spd.dy = 0;
TGameMgr.Bass.Character.Spd.sx = VEHICLE_SPEED_X;
TGameMgr.Bass.Character.Spd.sy = 0;
TGameMgr.Bass.CheckStopX = CHECK_POSX_WELCOME_BASS;
TGameMgr.Bass.Reverse = 0;
TGameMgr.Bass.BirthWaitTime = 0;
TGameMgr.Bass.VisitorFlag = 1;
break;
case TASK_MODE_MAIN:
switch(TGameMgr.Bass.Character.Status)
{
case VEHICLE_APPEAR:
if(--TGameMgr.Bass.BirthWaitTime<0)
{
TGameMgr.Bass.Character.Status = VEHICLE_MOVE;
TGameMgr.Bass.Character.Pos.x = INIT_POSX_BASS;
TGameMgr.Bass.Character.Spd.dx = -1;
TGameMgr.Bass.Reverse = 0;
TGameMgr.Bass.VisitorFlag = 1;
ssPlaySe(THOU_SE_00);
}
break;
case VEHICLE_MOVE:
TGameMgr.Bass.Character.Pos.x += TGameMgr.Bass.Character.Spd.sx * TGameMgr.Bass.Character.Spd.dx;
if(TGameMgr.Bass.VisitorFlag){
if(TGameMgr.Bass.Character.Pos.x <= CHECK_POSX_WELCOME_BASS)
{
if(TGameMgr.Lion.WaitPlace == PLACE_BASS_STATION)
{
GameMgr.WaitFlag = ON;
TGameMgr.Bass.Character.Status = VEHICLE_STOP;
TGameMgr.Lion.Character.Status = LION_WELCOME_WAIT;
Task.func = VisitorTask;
Task.priority = TASK_NO_GAME_VISITOR;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_VISITOR;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "VisitorTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = VISITOR_TYPE_BASS;
CreateTask(&Task);
TGameMgr.Bass.VisitorFlag = 0;
TGameMgr.Bass.Character.Pos.x = CHECK_POSX_WELCOME_BASS+1;
}else{
TGameMgr.Bass.Character.Status = VEHICLE_RETURN;
TGameMgr.Bass.Character.Spd.dx = 1;
TGameMgr.Bass.Reverse = 1;
}
}
}
break;
case VEHICLE_RETURN:
TGameMgr.Bass.Character.Pos.x += TGameMgr.Bass.Character.Spd.sx * TGameMgr.Bass.Character.Spd.dx;
if(TGameMgr.Bass.Character.Pos.x > INIT_POSX_BASS){
TGameMgr.Bass.Character.Status = VEHICLE_DISAPPEAR;
}
break;
case VEHICLE_STOP:
break;
case VEHICLE_DISAPPEAR:
if(TGameMgr.VisitorScore>=990){
ip_task->mode=TASK_MODE_EXIT;
}else{
TGameMgr.Bass.Character.Status = VEHICLE_APPEAR;
TGameMgr.Bass.BirthWaitTime = rand()%120 + 120;
}
break;
default:
}
SpData.No = TGameMgr.Bass.Character.Anm.Data.no;
SpData.PosX = TGameMgr.Bass.Character.Pos.x + TGameMgr.Bass.Character.OPos.x;
SpData.PosY = TGameMgr.Bass.Character.Pos.y + TGameMgr.Bass.Character.OPos.y;
SpData.PosZ = TGameMgr.Bass.Character.Pos.z + TGameMgr.Bass.Character.OPos.z;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = ReverseTable[TGameMgr.Bass.Reverse];
DrawSprite( &SpData );
break;
case TASK_MODE_EXIT:
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int TrainTask(TASK* ip_task)
{
SPRITE_DATA SpData;
TASK Task;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
TGameMgr.Train.Character.Status = VEHICLE_APPEAR;
TGameMgr.Train.Character.Anm.Data.no = THOU_CHAR_GAME_TRAIN;
TGameMgr.Train.Character.Anm.Data.wt = 0;
TGameMgr.Train.Character.Anm.Index = 0;
TGameMgr.Train.Character.Pos.x = INIT_POSX_TRAIN;
TGameMgr.Train.Character.Pos.y = 172;
TGameMgr.Train.Character.Pos.z = PRIORITY_THOU_GAME_TRAIN;
TGameMgr.Train.Character.OPos.x = 0;
TGameMgr.Train.Character.OPos.y = 0;
TGameMgr.Train.Character.OPos.z = 0;
TGameMgr.Train.Character.Spd.dx = 1;
TGameMgr.Train.Character.Spd.dy = 0;
TGameMgr.Train.Character.Spd.sx = VEHICLE_SPEED_X;
TGameMgr.Train.Character.Spd.sy = 0;
TGameMgr.Train.CheckStopX = CHECK_POSX_WELCOME_TRAIN;
TGameMgr.Train.Reverse = 1;
TGameMgr.Train.BirthWaitTime = 0;
break;
case TASK_MODE_MAIN:
switch(TGameMgr.Train.Character.Status)
{
case VEHICLE_APPEAR:
if(--TGameMgr.Train.BirthWaitTime<0)
{
TGameMgr.Train.Character.Status = VEHICLE_MOVE;
TGameMgr.Train.Character.Pos.x = INIT_POSX_TRAIN;
TGameMgr.Train.Character.Spd.dx = -1;
TGameMgr.Train.Reverse = 0;
ssPlaySe(THOU_SE_04);
}
break;
case VEHICLE_MOVE:
TGameMgr.Train.Character.Pos.x += TGameMgr.Train.Character.Spd.sx * TGameMgr.Train.Character.Spd.dx;
if(TGameMgr.Train.Character.Pos.x == CHECK_POSX_WELCOME_TRAIN)
{
if(TGameMgr.Lion.WaitPlace == PLACE_TRAIN_STATION)
{
GameMgr.WaitFlag = ON;
TGameMgr.Train.Character.Status = VEHICLE_STOP;
TGameMgr.Lion.Character.Status = LION_WELCOME_WAIT;
Task.func = VisitorTask;
Task.priority = TASK_NO_GAME_VISITOR;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_VISITOR;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "VisitorTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = VISITOR_TYPE_TRAIN;
CreateTask(&Task);
}else{
ssPlaySe(THOU_SE_04);
}
}
if(TGameMgr.Train.Character.Pos.x <= STOP_POSX_TRAIN)
{
TGameMgr.Train.Character.Status = VEHICLE_DISAPPEAR;
}
break;
case VEHICLE_STOP:
break;
case VEHICLE_DISAPPEAR:
if(TGameMgr.VisitorScore>850){
ip_task->mode=TASK_MODE_EXIT;
}else{
TGameMgr.Train.Character.Status = VEHICLE_APPEAR;
TGameMgr.Train.BirthWaitTime = rand()%180 + 180;
}
break;
default:
}
SpData.No = TGameMgr.Train.Character.Anm.Data.no;
SpData.PosX = TGameMgr.Train.Character.Pos.x + TGameMgr.Train.Character.OPos.x;
SpData.PosY = TGameMgr.Train.Character.Pos.y + TGameMgr.Train.Character.OPos.y;
SpData.PosZ = TGameMgr.Train.Character.Pos.z + TGameMgr.Train.Character.OPos.z;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
case TASK_MODE_EXIT:
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int VisitorTask(TASK* ip_task)
{
static int VisitorSpriteTable[]={
THOU_CHAR_GAME_VISITOR_NUM_001,
THOU_CHAR_GAME_VISITOR_NUM_010,
THOU_CHAR_GAME_VISITOR_NUM_100,
};
static int VisitorNumTable[]={
1,
10,
100
};
static VISITOR_POS VisitorInitPosTable[]={
{ 104, 88 },
{ 154, 104 },
{ 124, 124 },
};
static int VisitorTaskNoTable[]={
TASK_NO_GAME_TAXI,
TASK_NO_GAME_BASS,
TASK_NO_GAME_TRAIN,
};
SPRITE_DATA SpData;
TASK Task;
TASK *pTask;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
ip_task->user[1] = VisitorInitPosTable[ ip_task->user[0] ].PosX;
ip_task->user[2] = VisitorInitPosTable[ ip_task->user[0] ].PosY;
ip_task->user[3] = 0; break;
case TASK_MODE_MAIN:
if(ip_task->user[3] == 0)
{
switch(ip_task->user[0])
{
case VISITOR_TYPE_TAXI:
ip_task->user[1] += 1;
ip_task->user[2] -= 1;
if(ip_task->user[2]<-50)
{
ip_task->user[3]=1;
TGameMgr.VisitorScore += VisitorNumTable[ ip_task->user[0] ];
TGameMgr.CallCount.Flag = 1;
Task.func = CallCountTask;
Task.priority = TASK_NO_GAME_CALL_COUNT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CALL_COUNT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "CallCountTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = TGameMgr.VisitorScore;
CreateTask(&Task);
}
break;
case VISITOR_TYPE_BASS:
ip_task->user[2] -= 1;
if(ip_task->user[2]<-50)
{
ip_task->user[3]=1;
TGameMgr.VisitorScore += VisitorNumTable[ ip_task->user[0] ];
TGameMgr.CallCount.Flag = 1;
Task.func = CallCountTask;
Task.priority = TASK_NO_GAME_CALL_COUNT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CALL_COUNT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "CallCountTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = TGameMgr.VisitorScore;
CreateTask(&Task);
}
break;
case VISITOR_TYPE_TRAIN:
ip_task->user[2] -= 1;
if(ip_task->user[2]<-50)
{
ip_task->user[3]=1;
TGameMgr.VisitorScore += VisitorNumTable[ ip_task->user[0] ];
TGameMgr.CallCount.Flag = 1;
Task.func = CallCountTask;
Task.priority = TASK_NO_GAME_CALL_COUNT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CALL_COUNT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "CallCountTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = TGameMgr.VisitorScore;
CreateTask(&Task);
}
break;
default:
}
SpData.No = VisitorSpriteTable[ ip_task->user[0] ];
SpData.PosX = ip_task->user[1];
SpData.PosY = ip_task->user[2];
SpData.PosZ = PRIORITY_THOU_GAME_VISITOR;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
}else
{
if(TGameMgr.CallCount.Flag==0){
ip_task->mode = TASK_MODE_EXIT;
}
}
break;
case TASK_MODE_EXIT:
if(TGameMgr.VisitorScore>=1000){
TGameMgr.VisitorScore = 1000;
GameMgr.WaitFlag = ON;
TGameMgr.ClearFlag = 1;
RemoveTask(TASK_NO_GAME_LION);
RemoveTask(TASK_NO_GAME_TAXI);
RemoveTask(TASK_NO_GAME_BASS);
RemoveTask(TASK_NO_GAME_TRAIN);
SleepTask(TASK_NO_GAME_WINDOWS_SCENE);
RemoveTask(TASK_NO_GAME_PAUSE);
Task.func = ClearGameEventTask;
Task.priority = TASK_NO_GAME_CLEAR_EVENT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CLEAR_EVENT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ClearGameEventTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}else
{
TGameMgr.Lion.Character.Status = LION_BASE_WAIT;
TGameMgr.Lion.WaitTimer = THOU_GAME_LION_BASE_WAIT_TIME;
TGameMgr.Lion.WaitPlace = PLACE_BASE;
TGameMgr.Lion.Character.Anm.Index = 0;
TGameMgr.Lion.Character.Anm.Data.wt = THOU_LION_ANM_WAIT_TIME;
TGameMgr.Lion.AnmBase = LION_ANM_BASE_HATA;
TGameMgr.Lion.Character.Pos.x = GameLionWaitPosTable[TGameMgr.Lion.WaitPlace].PosX;
TGameMgr.Lion.Character.Pos.y = GameLionWaitPosTable[TGameMgr.Lion.WaitPlace].PosY;
switch(ip_task->user[0])
{
case VISITOR_TYPE_TAXI:
TGameMgr.Taxi.Character.Status = VEHICLE_RETURN;
TGameMgr.Taxi.Character.Spd.dx = -1;
TGameMgr.Taxi.Reverse = 0;
break;
case VISITOR_TYPE_BASS:
TGameMgr.Bass.Character.Status = VEHICLE_RETURN;
TGameMgr.Bass.Character.Spd.dx = 1;
TGameMgr.Bass.Reverse = 1;
ssPlaySe(THOU_SE_04);
break;
case VISITOR_TYPE_TRAIN:
TGameMgr.Train.Character.Status = VEHICLE_MOVE;
break;
default:
}
}
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int WindowSceneTask(TASK* ip_task)
{
SPRITE_DATA SpData;
TASK Task;
static int Counter=0;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
TGameMgr.SceneNo = 0;
TGameMgr.Timer = 0;
TGameMgr.TimerFlag = 0;
break;
case TASK_MODE_MAIN:
#ifdef __DEBUG_THOU_TIME__
TGameMgr.Timer += 80;
#else
++TGameMgr.Timer;
#endif
if(!TGameMgr.TimerFlag)
{
if( TGameMgr.Timer >= TYOU_GAME_CHANGE_SCENE_TIME )
{
TGameMgr.Timer=0;
if(++TGameMgr.SceneNo >= TYOU_GAME_SCENE_NUM-1)
{
TGameMgr.TimerFlag = 1;
TGameMgr.SceneNo = TYOU_GAME_SCENE_NUM-1;
Task.func = ScriptTask;
Task.priority = TASK_NO_GAME_SCRIPT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_SCRIPT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ScriptTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = SCRIPT_LINE_2;
Task.user[1] = PLAY_GAME_END_SCRIPT_BASE;
Task.user[2] = PLAY_GAME_END_SCRIPT_NUM;
CreateTask(&Task);
Task.func = TaskModeExitTimerTask;
Task.priority = TASK_NO_GAME_TIMER_EXIT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_TIMER_EXIT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "TaskModeExitTimerTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = ip_task->id;
Task.user[1] = TIME_UP_SCRIPT_WAIT_TIME;
CreateTask(&Task);
TGameMgr.Lion.Character.Status = LION_WAIT;
TGameMgr.Taxi.Character.Status = VEHICLE_STOP;
TGameMgr.Bass.Character.Status = VEHICLE_STOP;
TGameMgr.Train.Character.Status = VEHICLE_STOP;
RemoveTask(TASK_NO_GAME_VISITOR);
RemoveTask(TASK_NO_GAME_PAUSE);
}
}
}
SpData.No = SceneSpriteTable[TGameMgr.SceneNo];
SpData.PosX = 13;
SpData.PosY = 20;
SpData.PosZ = PRIORITY_THOU_GAME_WINDOW_SCENE;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
case TASK_MODE_EXIT:
GameMgr.WaitFlag = ON;
TGameMgr.TimeUpFlag=1;
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int GameBgTask(TASK* ip_task)
{
static int TaxiStationPlateSpriteTable[]={
THOU_CHAR_GAME_TAXI_STATION_00,
THOU_CHAR_GAME_TAXI_STATION_01,
};
static int BassStationPlateSpriteTable[]={
THOU_CHAR_GAME_BASS_STATION_00,
THOU_CHAR_GAME_BASS_STATION_01,
};
static int TrainStationPlateSpriteTable[]={
THOU_CHAR_GAME_TRAIN_STATION_PLATE_00,
THOU_CHAR_GAME_TRAIN_STATION_PLATE_01,
};
SPRITE_DATA SpData;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
break;
case TASK_MODE_MAIN:
if(TGameMgr.Lion.WaitPlace == PLACE_TAXI_STATION) SpData.No = TaxiStationPlateSpriteTable[1];
else SpData.No = TaxiStationPlateSpriteTable[0];
SpData.PosX = 74;
SpData.PosY = 68;
SpData.PosZ = PRIORITY_THOU_GAME_BG-1;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
if(TGameMgr.Lion.WaitPlace == PLACE_BASS_STATION) SpData.No = BassStationPlateSpriteTable[1];
else SpData.No = BassStationPlateSpriteTable[0];
SpData.PosX = 198;
SpData.PosY = 80;
SpData.PosZ = PRIORITY_THOU_GAME_BG-1;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
if(TGameMgr.Lion.WaitPlace == PLACE_TRAIN_STATION) SpData.No = TrainStationPlateSpriteTable[1];
else SpData.No = TrainStationPlateSpriteTable[0];
SpData.PosX = 128;
SpData.PosY = 126;
SpData.PosZ = PRIORITY_THOU_GAME_STATION-1;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = THOU_CHAR_GAME_TRAIN_STATION;
SpData.PosX = 119;
SpData.PosY = 154;
SpData.PosZ = PRIORITY_THOU_GAME_STATION;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = THOU_CHAR_GAME_BG_00;
SpData.PosX = 0;
SpData.PosY = 0;
SpData.PosZ = PRIORITY_THOU_GAME_BG;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = THOU_CHAR_GAME_BG_01;
SpData.PosX = 256;
SpData.PosY = 0;
SpData.PosZ = PRIORITY_THOU_GAME_BG;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
case TASK_MODE_EXIT:
ExitTask(ip_task->id);
break;
default:
}
}
static int VisitorScoreTask(TASK* ip_task)
{
SPRITE_DATA SpData;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
break;
case TASK_MODE_MAIN:
if(ip_task->user[0] != 0){
if(++ip_task->user[0] > 0) ip_task->user[0]=0;
}
DrawScore( TGameMgr.VisitorScore,
VISITOR_SCORE_NUM_WIDE,
VisitorScoreSpriteTable,
121,
ip_task->user[0]+35,
PRIORITY_THOU_GAME_VISITOR_SCORE-1);
SpData.No = THOU_CHAR_GAME_SCORE_PLATE;
SpData.PosX = 112;
SpData.PosY = ip_task->user[0];
SpData.PosZ = PRIORITY_THOU_GAME_VISITOR_SCORE;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
case TASK_MODE_EXIT:
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int HighScoreTask(TASK* ip_task)
{
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
break;
case TASK_MODE_MAIN:
DrawScore(TGameMgr.HighScore,
HIGH_SCORE_NUM_WIDE,
HighScoreSpriteTable,
250,
33,
PRIORITY_THOU_GAME_HIGH_SCORE);
break;
case TASK_MODE_EXIT:
ExitTask(ip_task->id);
break;
default:
}
}
static int PauseTask(TASK* ip_task)
{
TASK Task;
int ret;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
ip_task->user[0] = 0;
GameMgr.WaitFlag = OFF;
break;
case TASK_MODE_MAIN:
if( !ip_task->user[0] )
{
ret = MainMenuCheck10();
if(ret==ON)
{
ip_task->user[0] = 1;
SleepTask(TASK_NO_GAME_LION);
SleepTask(TASK_NO_GAME_BASS);
SleepTask(TASK_NO_GAME_TAXI);
SleepTask(TASK_NO_GAME_TRAIN);
SleepTask(TASK_NO_GAME_WINDOWS_SCENE);
SleepTask(TASK_NO_GAME_VISITOR);
}else{
}
}else
{
ret = MainMenuCheck10();
if(ret==OFF)
{
ip_task->user[0] = 0;
WakeupTask(TASK_NO_GAME_LION);
WakeupTask(TASK_NO_GAME_BASS);
WakeupTask(TASK_NO_GAME_TAXI);
WakeupTask(TASK_NO_GAME_TRAIN);
WakeupTask(TASK_NO_GAME_WINDOWS_SCENE);
WakeupTask(TASK_NO_GAME_VISITOR);
}else
if(ret==MEIN_MENU_OWARI)
{
Task.func = PauseMenuFadeOutTask;
Task.priority = TASK_NO_GAME_FADE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_FADE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "PauseMenuFadeOutTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
ip_task->mode = TASK_MODE_EXIT;
}else{
}
}
break;
case TASK_MODE_EXIT:
GameMgr.WaitFlag = ON;
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int EventFadeOutTask(TASK* ip_task)
{
TASK* pTask;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
GameMgr.FadeFlag = FadeOut;
break;
case TASK_MODE_MAIN:
if(GameMgr.FadeFlag==FadeOutOk){
ip_task->mode = TASK_MODE_EXIT;
}
break;
case TASK_MODE_EXIT:
pTask = SearchTask(ip_task->user[0]);
if(pTask!=NULL){
pTask->mode = TASK_MODE_EXIT;
}
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int PauseMenuFadeOutTask(TASK* ip_task)
{
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
GameMgr.FadeFlag = FadeOut;
break;
case TASK_MODE_MAIN:
if(GameMgr.FadeFlag==FadeOutOk){
ip_task->mode = TASK_MODE_EXIT;
}
break;
case TASK_MODE_EXIT:
TGameMgr.ExitFlag = 1;
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int ScriptTask(TASK* ip_task)
{
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
TGameMgr.Script.Flag = 0;
TGameMgr.Script.Index = 0;
TGameMgr.Script.Line = ip_task->user[0];
TGameMgr.Script.Base = ip_task->user[1];
TGameMgr.Script.Num = ip_task->user[2];
break;
case TASK_MODE_MAIN:
if(MetuseijiFlag==OFF)
{
switch(TGameMgr.Script.Line)
{
case SCRIPT_LINE_1:
MenuMessageSet10(&ThouScript[TGameMgr.Script.Base + TGameMgr.Script.Index]);
break;
case SCRIPT_LINE_2:
MenuMessageSet20(&ThouScript[TGameMgr.Script.Base + TGameMgr.Script.Index]);
break;
case SCRIPT_LINE_3:
MenuMessageSet30(&ThouScript[TGameMgr.Script.Base + TGameMgr.Script.Index]);
break;
default:
}
if(++TGameMgr.Script.Index >= TGameMgr.Script.Num)
{
ip_task->mode = TASK_MODE_EXIT;
}
}
break;
case TASK_MODE_EXIT:
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int TaskModeExitTimerTask(TASK* ip_task)
{
TASK* pTask;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
break;
case TASK_MODE_MAIN:
if(--ip_task->user[1] <= 0){
pTask=SearchTask(ip_task->user[0]);
if(pTask!=NULL){
pTask->mode = TASK_MODE_EXIT;
}
ip_task->mode = TASK_MODE_EXIT;
}
break;
case TASK_MODE_EXIT:
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int CallCountTask(TASK* ip_task)
{
TASK* pTask;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
if(ip_task->user[0]>1000) ip_task->user[0] = 1000;
if(ip_task->user[0]<0) ip_task->user[0] = 0;
ip_task->user[1] = 0;
ip_task->user[2] = 0;
TGameMgr.CallCount.Flag = 1;
TGameMgr.CallCount.Num = CallCountData[ip_task->user[0]].FileNum;
TGameMgr.CallCount.Timer = GET_DA_STATUS_WAIT_TIME;
dsPlayXa( CallCountData[ip_task->user[0]].Xa1.FileNo,
CallCountData[ip_task->user[0]].Xa1.ChannelNo);
break;
case TASK_MODE_MAIN:
if(--TGameMgr.CallCount.Timer <= 0 )
{
if(ip_task->user[1]==0)
{
if(dSoundStatus == DslStatStandby)
{
if(--TGameMgr.CallCount.Num<=0)
{
ip_task->mode=TASK_MODE_EXIT;
}else{
dsPlayXa( CallCountData[ip_task->user[0]].Xa2.FileNo,
CallCountData[ip_task->user[0]].Xa2.ChannelNo);
TGameMgr.CallCount.Timer = GET_DA_STATUS_WAIT_TIME;
ip_task->user[1] = 1;
}
}else
if( (dSoundStatus & DslStatSeek) || (dSoundStatus & DslStatRead) )
{
#ifdef __DEBUG_THOU__
FntPrint("DslStatSeek or DslStatRead \n");
#endif
}else{
}
}else
{
if(dSoundStatus == DslStatStandby)
{
ip_task->mode = TASK_MODE_EXIT;
}else
if( (dSoundStatus & DslStatSeek) || (dSoundStatus & DslStatRead) )
{
#ifdef __DEBUG_THOU__
FntPrint("DslStatSeek or DslStatRead \n");
#endif
}else{
}
}
}
break;
case TASK_MODE_EXIT:
TGameMgr.CallCount.Flag = 0;
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int ClearGameEventTask(TASK* ip_task)
{
static int GakudaninSpriteTable[]={
THOU_CHAR_GAME_DANTYOU_00,
THOU_CHAR_GAME_DANTYOU_01,
THOU_CHAR_GAME_GAKUDANIN_FUUSEN_B_00,
THOU_CHAR_GAME_GAKUDANIN_FUUSEN_B_01,
THOU_CHAR_GAME_GAKUDANIN_HATA_T_00,
THOU_CHAR_GAME_GAKUDANIN_HATA_T_01,
THOU_CHAR_GAME_GAKUDANIN_HATA_Y_00,
THOU_CHAR_GAME_GAKUDANIN_HATA_Y_01,
THOU_CHAR_GAME_GAKUDANIN_FUUSEN_O_00,
THOU_CHAR_GAME_GAKUDANIN_FUUSEN_O_01,
};
int i;
SPRITE_DATA SpData;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
TGameMgr.ClearGame.Mode = 0;
TGameMgr.ClearGame.Index = 0;
TGameMgr.ClearGame.WaitTime = 0;
TGameMgr.ClearGame.Timer = 0;
TGameMgr.ClearGame.Pos[0].PosX = 330;
TGameMgr.ClearGame.Pos[0].PosY = 174;
TGameMgr.ClearGame.Pos[1].PosX = -98;
TGameMgr.ClearGame.Pos[1].PosY = 84;
TGameMgr.ClearGame.Pos[2].PosX = -58;
TGameMgr.ClearGame.Pos[2].PosY = 84;
TGameMgr.ClearGame.Pos[3].PosX = 354;
TGameMgr.ClearGame.Pos[3].PosY = 106;
TGameMgr.ClearGame.Pos[4].PosX = 394;
TGameMgr.ClearGame.Pos[4].PosY = 106;
ssStopBgm(THOU_BGM_00);
ssPlayBgm(THOU_BGM_00);
break;
case TASK_MODE_MAIN:
switch(TGameMgr.ClearGame.Mode)
{
case 0:
if(--TGameMgr.ClearGame.Pos[0].PosX <= 136 ){
TGameMgr.ClearGame.Mode = 1;
}
break;
case 1:
++TGameMgr.ClearGame.Pos[1].PosX;
++TGameMgr.ClearGame.Pos[2].PosX;
--TGameMgr.ClearGame.Pos[3].PosX;
--TGameMgr.ClearGame.Pos[4].PosX;
if(++TGameMgr.ClearGame.Timer > 130){
TGameMgr.ClearGame.Timer = 0;
TGameMgr.ClearGame.Mode = 2;
}
break;
case 2:
if(++TGameMgr.ClearGame.Timer > 300){
ip_task->mode = TASK_MODE_EXIT;
}
break;
default:
}
if(++TGameMgr.ClearGame.WaitTime>30){
TGameMgr.ClearGame.WaitTime=0;
TGameMgr.ClearGame.Index^=1;
}
for(i=0;i<5;i++)
{
SpData.No = GakudaninSpriteTable[ i*2 + TGameMgr.ClearGame.Index ];
SpData.PosX = TGameMgr.ClearGame.Pos[i].PosX;
SpData.PosY = TGameMgr.ClearGame.Pos[i].PosY;
SpData.PosZ = PRIORITY_THOU_GAME_GAKUDANIN;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
}
break;
case TASK_MODE_EXIT:
TGameMgr.ClearEndFlag = 1;
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int ThouClearEventTask(TASK* ip_task)
{
SPRITE_DATA SpData;
TASK Task;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
if((file_read(ThouEventTextureFile[0].fn,LoadAddress)) == -1)
{
return FALSE;
}
TexInit( THOU_EVENT_TIM_NUM, &ThouEventTextureImage[THOU_EVENT_TIM_POS] );
TimImgData = ThouEventTextureImage;
EntrySprite( ThouEventSpriteData );
ip_task->user[0] = 0;
ip_task->user[1] = 0;
ip_task->user[2] = 0;
ip_task->user[3] = 0;
TGameMgr.EventTimer = 0;
TGameMgr.EventEndFlag = 0;
TGameMgr.SelectContinue.Val = 0;
TGameMgr.SelectContinue.Type = SELECT_RETRY_H;
TGameMgr.SelectContinue.No = 0;
TGameMgr.SelectContinue.Wt = 0;
TGameMgr.SelectContinue.FadeFlag = 0;
#ifdef __DEBUG_THOU__
GameMgr.FadeFlag = FadeIn;
#endif
dsPlayXa( XA_FILE_THOU02,5);
ip_task->user[3] = GET_DA_STATUS_WAIT_TIME;
break;
case TASK_MODE_MAIN:
if(++TGameMgr.EventTimer>=TOUH_GAME_CLEAR_EVENT_END_TIME){
TGameMgr.EventEndFlag = 1;
}
if(--ip_task->user[3]<=0){
if(!ip_task->user[2]){
if(dSoundStatus == DslStatStandby){
ip_task->user[2]=1;
Task.func = ScriptTask;
Task.priority = TASK_NO_GAME_SCRIPT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_SCRIPT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ScriptTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = SCRIPT_LINE_2;
Task.user[1] = PLAY_CLEAR_SCRIPT_BASE;
Task.user[2] = PLAY_CLEAR_SCRIPT_NUM;
CreateTask(&Task);
}
}
}
if(++ip_task->user[0]>30){
ip_task->user[0] = 0;
ip_task->user[1] ^=1;
}
if(ip_task->user[1]){
SpData.No = THOU_CHAR_EVENT_CLEAR_02;
SpData.PosX = 144;
SpData.PosY = 104;
SpData.PosZ = PRIORITY_THOU_EVENT_BG-2;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
}
SpData.No = THOU_CHAR_EVENT_CLEAR_00;
SpData.PosX = 0;
SpData.PosY = 0;
SpData.PosZ = PRIORITY_THOU_EVENT_BG;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = THOU_CHAR_EVENT_CLEAR_01;
SpData.PosX = 256;
SpData.PosY = 0;
SpData.PosZ = PRIORITY_THOU_EVENT_BG-1;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
if(TGameMgr.EventEndFlag)
{
if(SelectContinue())
{
if(!TGameMgr.SelectContinue.FadeFlag)
{
if((TGameMgr.SelectContinue.Val==0) && (TGameMgr.SelectContinue.Type==SELECT_RETRY_H))
{
TGameMgr.SelectContinue.FadeFlag = 1;
Task.func = EventFadeOutTask;
Task.priority = TASK_NO_GAME_FADE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_FADE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "EventFadeOutTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = ip_task->id;
CreateTask(&Task);
}else
if( (TGameMgr.SelectContinue.Val==1) && (TGameMgr.SelectContinue.Type==SELECT_RETRY_H))
{
TGameMgr.SelectContinue.Type = SELECT_END_H;
TGameMgr.SelectContinue.Val = 0;
}else
if((TGameMgr.SelectContinue.Type==SELECT_END_H) && (TGameMgr.SelectContinue.Val==0))
{
TGameMgr.SelectContinue.FadeFlag = 1;
Task.func = EventFadeOutTask;
Task.priority = TASK_NO_GAME_FADE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_FADE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "EventFadeOutTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = ip_task->id;
CreateTask(&Task);
}else
if((TGameMgr.SelectContinue.Type==SELECT_END_H) && (TGameMgr.SelectContinue.Val==1))
{
TGameMgr.SelectContinue.Type = SELECT_RETRY_H;
TGameMgr.SelectContinue.Val = 0;
}else
{
}
}
}else{
}
}
break;
case TASK_MODE_EXIT:
ReleaseSprite();
TGameMgr.ContinureFlag = 1;
if((TGameMgr.SelectContinue.Type==SELECT_END_H) && (TGameMgr.SelectContinue.Val==0))
{
TGameMgr.ExitFlag=1;
}else
{
Task.func = GameControllTask;
Task.priority = TASK_NO_GAME_CONTROLL;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CONTROLL;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "GameControllTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static int ThouFalseEventTask(TASK* ip_task)
{
TASK Task;
SPRITE_DATA SpData;
switch( ip_task->mode )
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
if((file_read(ThouEventTextureFile[0].fn,LoadAddress)) == -1)
{
return FALSE;
}
TexInit( THOU_EVENT_TIM_NUM, &ThouEventTextureImage[THOU_EVENT_TIM_POS] );
TimImgData = ThouEventTextureImage;
EntrySprite( ThouEventSpriteData );
ip_task->user[0] = 0;
ip_task->user[1] = 0;
ip_task->user[2] = 0;
ip_task->user[3] = 0;
ip_task->user[4] = 0;
ip_task->user[5] = 0;
ip_task->user[6] = 0;
ip_task->user[7] = 0;
TGameMgr.EventTimer = 0;
TGameMgr.EventEndFlag = 0;
TGameMgr.SelectContinue.Val = 0;
TGameMgr.SelectContinue.Type = SELECT_RETRY_H;
TGameMgr.SelectContinue.No = 0;
TGameMgr.SelectContinue.Wt = 0;
TGameMgr.SelectContinue.FadeFlag = 0;
#ifdef __DEBUG_THOU__
GameMgr.FadeFlag = FadeIn;
#endif
Task.func = ScriptTask;
Task.priority = TASK_NO_GAME_SCRIPT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_SCRIPT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ScriptTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = SCRIPT_LINE_2;
Task.user[1] = PLAY_FALSE_1_SCRIPT_BASE;
Task.user[2] = PLAY_FALSE_1_SCRIPT_NUM;
CreateTask(&Task);
break;
case TASK_MODE_MAIN:
if(++TGameMgr.EventTimer > TOUH_GAME_FALSE_EVENT_END_TIME){
TGameMgr.EventEndFlag=1;
}
if(TGameMgr.EventTimer==TOUH_GAME_FALSE_CALL_COUNT_TIME)
{
ip_task->user[4] = 1;
TGameMgr.CallCount.Flag = 1;
Task.func = CallCountTask;
Task.priority = TASK_NO_GAME_CALL_COUNT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CALL_COUNT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "CallCountTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = TGameMgr.VisitorScore;
CreateTask(&Task);
}
if(!ip_task->user[5]){
if(ip_task->user[4] && (TGameMgr.CallCount.Flag==0)){
dsPlayXa( XA_FILE_THOU02,5);
ip_task->user[5]=1;
ip_task->user[7]=GET_DA_STATUS_WAIT_TIME;
}
}
if(TGameMgr.HighScoreFlag){
if(ip_task->user[5]){
if(--ip_task->user[7]<=0){
if(!ip_task->user[6]){
if(dSoundStatus == DslStatStandby){
ip_task->user[6]=1;
Task.func = ScriptTask;
Task.priority = TASK_NO_GAME_SCRIPT;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_SCRIPT;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "ScriptTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = SCRIPT_LINE_2;
Task.user[1] = PLAY_FALSE_UP_SCRIPT_BASE;
Task.user[2] = PLAY_FALSE_UP_SCRIPT_NUM;
CreateTask(&Task);
}
}
}
}
}
if(++ip_task->user[0]>30){
ip_task->user[0] = 0;
ip_task->user[1] ^=1;
}
if(++ip_task->user[2]>20){
ip_task->user[2] = 0;
ip_task->user[3] ^=1;
}
SpData.No = PlateSpriteTable[ ip_task->user[3] ];
SpData.PosX = 31;
SpData.PosY = 10;
SpData.PosZ = PRIORITY_THOU_EVENT_BG-2;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
DrawScore( TGameMgr.VisitorScore,
FALSE_EVENT_SCORE_NUM_WIDE,
FalseScoreSpriteTable,
58,
42,
PRIORITY_THOU_EVENT_BG-3);
if(ip_task->user[1]){
SpData.No = THOU_CHAR_EVENT_FALSE_02;
SpData.PosX = 146;
SpData.PosY = 112;
SpData.PosZ = PRIORITY_THOU_EVENT_BG-2;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
}
SpData.No = THOU_CHAR_EVENT_FALSE_00;
SpData.PosX = 0;
SpData.PosY = 0;
SpData.PosZ = PRIORITY_THOU_EVENT_BG;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = THOU_CHAR_EVENT_FALSE_01;
SpData.PosX = 256;
SpData.PosY = 0;
SpData.PosZ = PRIORITY_THOU_EVENT_BG-1;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
if(TGameMgr.EventEndFlag)
{
if(SelectContinue())
{
if(!TGameMgr.SelectContinue.FadeFlag)
{
if((TGameMgr.SelectContinue.Val==0) && (TGameMgr.SelectContinue.Type==SELECT_RETRY_H))
{
TGameMgr.SelectContinue.FadeFlag = 1;
Task.func = EventFadeOutTask;
Task.priority = TASK_NO_GAME_FADE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_FADE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "EventFadeOutTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = ip_task->id;
CreateTask(&Task);
}else
if( (TGameMgr.SelectContinue.Val==1) && (TGameMgr.SelectContinue.Type==SELECT_RETRY_H))
{
TGameMgr.SelectContinue.Type = SELECT_END_H;
TGameMgr.SelectContinue.Val = 0;
}else
if((TGameMgr.SelectContinue.Type==SELECT_END_H) && (TGameMgr.SelectContinue.Val==0))
{
TGameMgr.SelectContinue.FadeFlag = 1;
Task.func = EventFadeOutTask;
Task.priority = TASK_NO_GAME_FADE;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_FADE;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "EventFadeOutTask";
Task.mode = TASK_MODE_INIT;
Task.user[0] = ip_task->id;
CreateTask(&Task);
}else
if((TGameMgr.SelectContinue.Type==SELECT_END_H) && (TGameMgr.SelectContinue.Val==1))
{
TGameMgr.SelectContinue.Type = SELECT_RETRY_H;
TGameMgr.SelectContinue.Val = 0;
}else
{
}
}
}else{
}
}
break;
case TASK_MODE_EXIT:
ReleaseSprite();
TGameMgr.ContinureFlag = 1;
if((TGameMgr.SelectContinue.Type==SELECT_END_H) && (TGameMgr.SelectContinue.Val==0))
{
TGameMgr.ExitFlag=1;
}else
{
Task.func = GameControllTask;
Task.priority = TASK_NO_GAME_CONTROLL;
Task.attribute = ATTR_USER;
Task.status = TASK_NEW_ENTRY;
Task.id = TASK_NO_GAME_CONTROLL;
Task.wait_time = 0;
Task.buf = NULL;
Task.name = "GameControllTask";
Task.mode = TASK_MODE_INIT;
CreateTask(&Task);
}
ExitTask(ip_task->id);
break;
default:
}
return TRUE;
}
static void DrawScore(int i_num,int i_wsize,int *ip_numtbl,int i_x,int i_y,int i_z)
{
int i,bx,by;
int numarr[4];
SPRITE_DATA SpData;
if(i_num>1000) i_num=1000;
if(i_num<0) i_num=0;
numarr[0] = i_num / 1000;
numarr[1] = (i_num - numarr[0]*1000)/100;
numarr[2] = (i_num - numarr[0]*1000 - numarr[1]*100)/10;
numarr[3] = (i_num - numarr[0]*1000 - numarr[1]*100 - numarr[2]*10);
bx=i_x;
by=i_y;
for(i=0;i<4;i++)
{
SpData.No = ip_numtbl[ numarr[i] ];
SpData.PosX = bx;
SpData.PosY = by;
SpData.PosZ = i_z;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
bx+=i_wsize;
}
}
static int SelectContinue(void)
{
static int BupeAnmTable[] ={
THOU_CHAR_EVENT_SELECT_CONTINUE_BUPE_00,
THOU_CHAR_EVENT_SELECT_CONTINUE_BUPE_01,
};
static int MaruBatuTable[]={
THOU_CHAR_EVENT_SELECT_CONTINUE_YES_LIGHT, THOU_CHAR_EVENT_SELECT_CONTINUE_NO_DARK,
THOU_CHAR_EVENT_SELECT_CONTINUE_YES_DARK, THOU_CHAR_EVENT_SELECT_CONTINUE_NO_LIGHT,
};
SPRITE_DATA SpData;
int o_ret;
o_ret=FALSE;
if(JstPad & PADRright){
o_ret=TRUE;
ssPlaySe(BUTONSE_MARU);
}
if(JstPad & PADLright || JstPad & PADLleft){
TGameMgr.SelectContinue.Val^=1;
ssPlaySe(BUTONSE_LEVER);
}
SpData.No = MaruBatuTable[TGameMgr.SelectContinue.Val*2];
SpData.PosX = 68+72;
SpData.PosY = 73+57;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU-2;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = MaruBatuTable[TGameMgr.SelectContinue.Val*2+1];
SpData.PosX = 68+126;
SpData.PosY = 73+57;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU-2;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
switch(TGameMgr.SelectContinue.Type)
{
case SELECT_RETRY_H:
SpData.No = THOU_CHAR_EVENT_SELECT_CONTINUE_RETRY_H;
SpData.PosX = 68+20;
SpData.PosY = 73+20;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU-2;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
case SELECT_END_H:
SpData.No = THOU_CHAR_EVENT_SELECT_CONTINUE_END_H;
SpData.PosX = 68+20;
SpData.PosY = 73+20;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU-2;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
case SELECT_CONTINUE_H:
SpData.No = THOU_CHAR_EVENT_SELECT_CONTINUE_CONTINUE_H;
SpData.PosX = 68+20;
SpData.PosY = 73+20;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU-2;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
break;
default:
}
if(++TGameMgr.SelectContinue.Wt>SELECT_LEVEL_PUPE_ANM_TIME){
TGameMgr.SelectContinue.No^=1;
TGameMgr.SelectContinue.Wt=0;
}
SpData.No = BupeAnmTable[TGameMgr.SelectContinue.No];
SpData.PosX = 68+12;
SpData.PosY = 73+34;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU-10;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = THOU_CHAR_EVENT_SELECT_CONTINUE_PLATE;
SpData.PosX = 68;
SpData.PosY = 73;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = THOU_CHAR_EVENT_SELECT_CONTINUE_ERABU;
SpData.PosX = (320-130)/2;
SpData.PosY = 206;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU-1;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
SpData.No = THOU_CHAR_EVENT_SELECT_CONTINUE_KETEI;
SpData.PosX = (320-130)/2+78;
SpData.PosY = 206;
SpData.PosZ = PRIORITY_THOU_EVENT_MENU-1;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
return o_ret;
}
#ifdef __DEBUG_THOU__
static int DebugGameSpriteTask(TASK* ip_task)
{
static int SpIndex;
static int SpEntryNum;
static int Counter;
static int FlushFlag;
SPRITE_DATA SpData;
switch(ip_task->mode)
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
if((file_read(ThouGameTextureFile[0].fn,LoadAddress)) == -1)
{
return FALSE;
}
TexInit( THOU_GAME_TIM_NUM, &ThouGameTextureImage[THOU_GAME_TIM_POS] );
TimImgData = ThouGameTextureImage;
EntrySprite( ThouGameSpriteData );
GameMgr.FadeFlag = FadeIn;
SpIndex = 0;
SpEntryNum = GetEntrySpriteNum();
Counter = 0;
FlushFlag = 0;
break;
case TASK_MODE_MAIN:
if( JstPad & PADLdown ){
SpIndex++;
if(SpIndex > SpEntryNum-1) SpIndex = 0;
}else
if( JstPad & PADLup ){
SpIndex--;
if( SpIndex < 0 ) SpIndex = SpEntryNum-1;
}else{
}
if(JstPad & PADRright)
{
FlushFlag^=1;
}
if(FlushFlag) GsSortBoxFill(&BoxDataBlack, &Wot[active], 4);
else GsSortBoxFill(&BoxDataWhite, &Wot[active], 4);
SpData.No = SpIndex;
SpData.PosX = (320 - ThouGameSpriteData[SpIndex].Width) / 2;
SpData.PosY = (240 - ThouGameSpriteData[SpIndex].Height) / 2;
SpData.PosZ = 10;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
FntPrint("SNO=%d/%d\n", SpIndex,SpEntryNum-1 );
FntPrint("OfX=%d\n", ThouGameSpriteData[SpIndex].OffSetX );
FntPrint("OfY=%d\n", ThouGameSpriteData[SpIndex].OffSetY );
FntPrint("W__=%d\n", ThouGameSpriteData[SpIndex].Width );
FntPrint("H__=%d\n", ThouGameSpriteData[SpIndex].Height );
FntPrint("PNO=%d\n", ThouGameSpriteData[SpIndex].PaletteNo );
FntPrint("CNT=%d\n", ++Counter );
break;
case TASK_MODE_EXIT:
break;
default:
break;
}
}
static int DebugEventSpriteTask(TASK* ip_task)
{
static int SpIndex;
static int SpEntryNum;
static int Counter;
static int FlushFlag;
SPRITE_DATA SpData;
switch(ip_task->mode)
{
case TASK_MODE_INIT:
ip_task->mode = TASK_MODE_MAIN;
if((file_read(ThouEventTextureFile[0].fn,LoadAddress)) == -1)
{
return FALSE;
}
TexInit( THOU_EVENT_TIM_NUM, &ThouEventTextureImage[THOU_EVENT_TIM_POS] );
TimImgData = ThouEventTextureImage;
EntrySprite( ThouEventSpriteData );
GameMgr.FadeFlag = FadeIn;
SpIndex = 0;
SpEntryNum = GetEntrySpriteNum();
Counter = 0;
FlushFlag = 0;
break;
case TASK_MODE_MAIN:
if( JstPad & PADLdown ){
SpIndex++;
if(SpIndex > SpEntryNum-1) SpIndex = 0;
}else
if( JstPad & PADLup ){
SpIndex--;
if( SpIndex < 0 ) SpIndex = SpEntryNum-1;
}else{
}
if(JstPad & PADRright)
{
FlushFlag^=1;
}
if(FlushFlag) GsSortBoxFill(&BoxDataBlack, &Wot[active], 4);
else GsSortBoxFill(&BoxDataWhite, &Wot[active], 4);
SpData.No = SpIndex;
SpData.PosX = (320 - ThouEventSpriteData[SpIndex].Width) / 2;
SpData.PosY = (240 - ThouEventSpriteData[SpIndex].Height) / 2;
SpData.PosZ = 10;
SpData.ScaleX = SCALE10;
SpData.ScaleY = SCALE10;
SpData.Rotate = ROTATE000;
SpData.Reverse = NOREVERS;
DrawSprite( &SpData );
FntPrint("SNO=%d/%d\n", SpIndex,SpEntryNum-1 );
FntPrint("OfX=%d\n", ThouEventSpriteData[SpIndex].OffSetX );
FntPrint("OfY=%d\n", ThouEventSpriteData[SpIndex].OffSetY );
FntPrint("W__=%d\n", ThouEventSpriteData[SpIndex].Width );
FntPrint("H__=%d\n", ThouEventSpriteData[SpIndex].Height );
FntPrint("PNO=%d\n", ThouEventSpriteData[SpIndex].PaletteNo );
FntPrint("CNT=%d\n", ++Counter );
break;
case TASK_MODE_EXIT:
break;
default:
break;
}
}
#endif