This is a sub-page of Kinniku Banzuke Vol.1: Ore ga Saikyou no Otoko da!.
0x261200#
xc0,0x70,0x0000,0xfff8-20,0x01},
{DAT,0x10,0x10,0x80,0x60,0xff96,0x0010-20,0x01},
{DAT,0x10,0x10,0x90,0x60,0xffa6,0x0010-20,0x01},
{DAT,0x10,0x10,0x60,0x80,0xffb6,0x0010-20,0x01},
{DAT,0x10,0x10,0x00,0x70,0xffd6,0x0010-20,0x01},
{DAT,0x10,0x10,0xe0,0x60,0xfff6,0x0010-20,0x01},
{DAT,0x10,0x10,0x70,0x30,0x0006,0x0010-20,0x01},
{DAT,0x10,0x10,0x00,0x10,0x002a,0x0010-20,0x01},
{DAT,0x10,0x10,0x00,0x40,0x003a,0x0010-20,0x01},
{DAT,0x10,0x10,0x10,0x00,0x004a,0x0010-20,0x01},
{DAT,0x10,0x10,0xd0,0x00,0x005a,0x0010-20,0x01},
{DAT,0x10,0x10,0x00,0x20,0xffa8,0x0020-20,0x01},
{END,0x10,0x10,0x10,0x00,0xffb8,0x0020-20,0x01},
};
SPD_W _warn052_spd[]={
{DAT,0x10,0x10,0x40,0x70,0xfff0,0xfff8-20,0x01},
{DAT,0x10,0x10,0x20,0x40,0x0010,0xfff8-20,0x01},
{DAT,0x10,0x10,0x40,0x70,0xffc6,0x0010-20,0x01},
{DAT,0x10,0x10,0x40,0x70,0xffe6,0x0010-20,0x01},
{DAT,0x10,0x10,0x30,0x40,0x0018,0x0010-20,0x01},
{DAT,0x10,0x10,0xa0,0x20,0xff96,0x0020-20,0x01},
{END,0x10,0x10,0x40,0x60,0xffc8,0x0020-20,0x01},
};
/* (確認) カードなし */
SPD_W _warn061_spd[]={
{DAT,0x10,0x10,0xf0,0x10,0xffc8,0xfff8-20,0x01},
{DAT,0x10,0x10,0x10,0x40,0xffd7,0xfff8-20,0x01},
{DAT,0x10,0x10,0x80,0x60,0xffe7,0xfff8-20,0x01},
{DAT,0x10,0x10,0x90,0x60,0xfff7,0xfff8-20,0x01},
{DAT,0x10,0x10,0x60,0x80,0x0007,0xfff8-20,0x01},
{DAT,0x10,0x10,0x00,0x70,0x0027,0xfff8-20,0x01},
{DAT,0x10,0x10,0xe0,0x60,0x0047,0xfff8-20,0x01},
{DAT,0x10,0x10,0x50,0x40,0x0057,0xfff8-20,0x01},
{DAT,0x10,0x10,0x00,0x20,0xffce,0x0008-20,0x0
0x278200#
{END,0x10,0x10,0x00,0xc0,0x0020,0xffd8,0x01},
};
SPD_W verBP12_spd[]={ /* ブレインパニック Ⅰ-A B */
{END,0x08,0x10,0x78,0x80,0xffda,0xffd8,0x01},
};
SPD_W verBP21_spd[]={ /* ブレインパニック Ⅱ-A A */
{DAT,0x10,0x10,0x00,0x90,0xffea,0xffe8,0x01},
{DAT,0x10,0x10,0x10,0x60,0xfffc,0xffe8,0x01},
{DAT,0x10,0x10,0xc0,0x80,0x000e,0xffe8,0x01},
{END,0x10,0x10,0x00,0xc0,0x0020,0xffe8,0x01},
};
SPD_W verBP22_spd[]={ /* ブレインパニック Ⅱ-A B */
{END,0x10,0x10,0x70,0xf0,0xffd6,0xffe8,0x01},
};
SPD_W verBP31_spd[]={ /* ブレインパニック Ⅰ-B A */
{DAT,0x10,0x10,0x00,0x90,0xffea,0xfff8,0x01},
{DAT,0x10,0x10,0x10,0x60,0xfffc,0xfff8,0x01},
{DAT,0x10,0x10,0xc0,0x80,0x000e,0xfff8,0x01},
{END,0x10,0x10,0x10,0xc0,0x0020,0xfff8,0x01},
};
SPD_W verBP32_spd[]={ /* ブレインパニック Ⅰ-B B */
{END,0x08,0x10,0x78,0x80,0xffda,0xfff8,0x01},
};
SPD_W verBP41_spd[]={ /* ブレインパニック Ⅱ-B A */
{DAT,0x10,0x10,0x00,0x90,0xffea,0x0008,0x01},
{DAT,0x10,0x10,0x10,0x60,0xfffc,0x0008,0x01},
{DAT,0x10,0x10,0xc0,0x80,0x000e,0x0008,0x01},
{END,0x10,0x10,0x10,0xc0,0x0020,0x0008,0x01},
};
SPD_W verBP42_spd[]={ /* ブレインパニック Ⅱ-B B */
{END,0x10,0x10,0x70,0xf0,0xffd6,0x0008,0x01},
};
SPD_W verKSO1_spd[]={ /* ストラックアウト EX-A */
{DAT,0x10,0x10,0x00,0x90,0xffd9,0xffd8,0x01},
{DAT,0x10,0x10,0x10,0x60,0xffea,0xffd8,0x01},
{DAT,0x10,0x10,0xc0,0x80,0xfffb,0xffd8,0x01},
{END,0x10,0x10,0x00,0xc0,0x001a,0xffd8,0x01},
};
SPD_W verKSO2_spd[]={ /* ストラックアウト EX-B */
{DAT,0x10,0x10,0x00,0x90,0xffd9,0xffe8,0x01},
{DAT,0x10,0x10,0x10,0x60,0
0x284A00#
wear2*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*wear3*/
{ WEARCOL_BK, WEARCOL_WT, WEARCOL_RD, WEARCOL_BL, WEARCOL_YL, WEARCOL_GR, WEARCOL_PP, WEARCOL_OG }, /*weard1*/
{ WEARCOL_WT, WEARCOL_BL, WEARCOL_WT, WEARCOL_WT, WEARCOL_BK, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT }, /*weard2*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*weard3*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*wear4*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*no21*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*_21s*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*rogo*/
},
/*#R*/
{
-1,-1,-1,
{ WEARCOL_BK, WEARCOL_WT, WEARCOL_RD, WEARCOL_BL, WEARCOL_YL, WEARCOL_GR, WEARCOL_PP, WEARCOL_OG }, /*wear1*/
{ WEARCOL_OG, WEARCOL_BK, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT, WEARCOL_BK, WEARCOL_WT }, /*wear2*/
{ WEARCOL_OG, WEARCOL_BK, WEARCOL_BK, WEARCOL_RD, WEARCOL_GR, WEARCOL_BK, WEARCOL_BK, WEARCOL_BL }, /*wear3*/
{ WEARCOL_BK, WEARCOL_BK, WEARCOL_BK, WEARCOL_BK, WEARCOL_BK, WEARCOL_BK, WEARCOL_BK, WEARCOL_BK }, /*weard1*/
{ WEARCOL_BK, WEARCOL_WT, WEARCOL_RD, WEARCOL_BL, WEARCOL_YL, WEARCOL_GR, WEARCOL_PP, WEARCOL_OG }, /*weard2*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*weard3*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*wear4*/
{ WEARCOL_WT, WEARCOL_BL, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT }, /*no21*/
{ -1, -1, -1, -1, -1, -1, -1, -1 }, /*_21s*/
{ WEARCOL_WT, WEARCOL_BL, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT, WEARCOL_WT }, /*rogo*/
},
/*#S*/
{
-1,SKINCOL_BK,-1
0x28BE00#
) {
if( wkt == 0 ) {
wkt = 1;
}
else if( wkt == 1 ) {
tno = MES_NOWCH;
g_SetMsg( 1, sv_mess[tno].sno, sv_mess[tno].cur );
wkt = 0xff;
fst = 1;
}
}
else {
if( wkt == 0xff ) {
rs_step = 10;
wkt = 2;
SVLD = 0;
mcAutoCheck( 1 );
/* リプレイデータ(データなし) 毎回内容更新! */
SWK.rp[0] = SWK.rp[1] = 0;
SWK.rp[2] = SWK.rp[3] = 0;
}
}
break;
case 10:
if( SVLD ) { /* セーブ時のみ */
g_SaveWIN( 0xff );
}
msg = mc
0x295E00#
UNDL, MODE16, 0, 0, TPAGEB, 0x03, 1, Pri1 );
g_set2dN( PITEM8, SPD_SOUNDR, MODE16, 0, 0, TPAGEB, 0x03, 1, Pri1 );
cls0 = SETCLS0( PITEM8 ); spd = (SPD_W *)cls0->chara;
spd[0].ysize = (OP_SD==0)? 0x08:0x00;
spd[1].ysize = (OP_SD==0)? 0x00:0x08;
rs_step = 31;
g_set2dN( SELCUR, SPD_C_PAUSE, STP05P05, 0, PAcpos[1]*0x10, TPAGEB, 0xd0, 1, Pri2 );
g_pPAL( 2 );
g_PauseWIN( 0xff, wsiz );
break;
case 31: /* キー入力監視 */
if( pad & P_LUP ) { /* 上 */
PAcpos[1] = (PAcpos[1]==0)? 3:
0x29CE00#
}
else {
if( SP_MAT ) {
PAcpos[4] = 2;
}
else {
PAcpos[4] = 3;
}
}
}
}
else if( (keylr[1]==3)&&(PAcpos[4]==1) ) {
if( SP_KUM ) {
PAcpos[4] = 1;
}
else {
if( SP_MAT ) {
PAcpos[4] = 2;
}
else {
if( SP_KON ) {
PAcpos[4] = 3;
}
else {
PAcpos[4] = 0;
}
}
}
}
else if( (keylr[
0x2B0A00#
ulation
8009B310 So_Camera_Homing
8009B400 So_Camera_Kaiten
8009C294 So_Camera_Parfect
8009B37C So_Camera_Player
8009B2D8 So_Camera_Set
8009B518 So_Camera_Zoom
80095674 So_Continuation_Check
8009743C So_Cpu
80090988 So_Data_Read
800921B0 So_Declaration_Operation
80092C40 So_Declaration_Random
80092628 So_Declaration_Scanx
800927AC So_Declaration_Scany
80092944 So_Declaration_Set
80092098 So_Declaration_Start
8009CCA8 So_Direction_Board_Draw
800A0E00 So_Draw
8009FE24 So_Draw_Arrow
800A0BFC So_Draw_Ball_Shadow
800A1D10 So_Draw_Board_Light
8009C720 So_Draw_Box
8009F768 So_Draw_Control_Gauge
800A1804 So_Draw_Frame_Hit_Ef
800A161C So_Draw_Ground_Bound_Ef
8009E490 So_Draw_Hangle_Gauge
800A0808 So_Draw_Hit_Positin
8009D1E4 So_Draw_Information
8009D348 So_Draw_NDeclaration_Panel
800A1530 So_Draw_Panel_Hit_Ef
800A0A1C So_Draw_Player_Shadow
8009F100 So_Draw_Rest_Ball
800A0328 So_Draw_Sky
8009DBFC So_Draw_TDeclaration_Panel
800A10D4 So_Ef_Smoke
800A1904 So_Ef_Spark
8009F6E8 So_Fade_Col
8009F5DC So_Fade_In
8009F668 So_Fade_Out
8009F594 So_Fade_Set
80090F34 So_First_Init
8009D0B8 So_Flush
80094FB8 So_Frame_Hit_Check
800971BC So_Furutachi_Entry
80096B48 So_Gameover
8009C79C So_Gssprite_Init
8009791C So_Gstep_Up
80092E3C So_Hangle_Operation
800A0EE8 So_HorizonY
8009C854 So_Illusion_Draw
80092F54 So_Impact_Operation
80096E7C So_Init
800907A0 So_IsTouchRect
800A6A50 So_K9
0x2B6A00#
_obj
800A8084 _pchild03_sbss_objend
800A8084 _pchild03_sbss_org
800A8084 _pchild03_sbss_orgend
00000000 _pchild03_sbss_size
800A8084 _pchild03_sdata_obj
800A8084 _pchild03_sdata_objend
800A8084 _pchild03_sdata_org
800A8084 _pchild03_sdata_orgend
00000000 _pchild03_sdata_size
0001A4D8 _pchild03_size
80090630 _pchild03_text_obj
800A7244 _pchild03_text_objend
80090630 _pchild03_text_org
800A7244 _pchild03_text_orgend
00016C14 _pchild03_text_size
800A8F08 _pchild04_bss_obj
800ACC6A _pchild04_bss_objend
800A8F08 _pchild04_bss_org
800ACC6A _pchild04_bss_orgend
00003D62 _pchild04_bss_size
800ACC78 _pchild04_ctors_obj
800ACC78 _pchild04_ctors_objend
800ACC78 _pchild04_ctors_org
800ACC78 _pchild04_ctors_orgend
00000000 _pchild04_ctors_size
800A7B30 _pchild04_data_obj
800A8EF9 _pchild04_data_objend
800A7B30 _pchild04_data_org
800A8EF9 _pchild04_data_orgend
000013C9 _pchild04_data_size
800ACC78 _pchild04_dtors_obj
800ACC78 _pchild04_dtors_objend
800ACC78 _pchild04_dtors_org
800ACC78 _pchild04_dtors_orgend
00000000 _pchild04_dtors_size
80090000 _pchild04_obj
800ACC78 _pchild04_objend
80090000 _pchild04_org
800ACC78 _pchild04_orgend
80090004 _pchild04_rdata_obj
80090384 _pchild04_rdata_objend
80090004 _pchild04_rdata_org
80090384 _pchild04_rdata_orgend
00000380 _pchild04_rdata_size
800A8F04 _pchild04_sbss_obj
800A8F04 _pchild04_sbss_objend
800A8F04 _pchild04_sbss_org
800A8F04 _pchil
0x2C8400#
CdControl
8003954C CdControlF
80039680 CdControlB
800397CC CdMix
800397EC CdGetSector
8003980C CdGetSector2
8003982C CdDataCallback
80039850 CdDataSync
80039870 CdIntToPos
80039974 CdPosToInt
80039F50 CD_sync
8003A1D0 CD_ready
8003A498 CD_cw
8003A8A4 CD_vol
8003A92C CD_flush
8003AA00 CD_initvol
8003AAF0 CD_initintr
8003AB3C CD_init
8003AD1C CD_datasync
8003AE84 CD_getsector
8003AF84 CD_getsector2
8003B070 CD_set_test_parmnum
8003B15C puts
8003B6D4 CdReadBreak
8003B874 CdRead
8003BA10 CdReadSync
8003BB14 CdReadCallback
8003BB28 CdReadMode
8003BB44 CdRead2
8003BBF4 StClearRing
8003BC54 StUnSetRing
8003BCD4 data_ready_callback
8003BD60 StGetBackloc
8003BDC4 StSetStream
8003BE54 StFreeRing
8003BF04 init_ring_status
8003BF44 StGetNext
8003C004 StSetMask
8003C024 StCdInterrupt
8003CB14 VSync
8003CD24 ChangeClearRCnt
8003CD34 ResetCallback
8003CD64 InterruptCallback
8003CD94 DMACallback
0x2CE600#
80098688 rank_point7_spd
80098700 rank_point8_spd
80098778 end_cnt_spd
80098790 s_yaji_spd
800987F0 t_rnk1_1_spd
80098814 SetG2dMiss01
80098844 t_rnk1_2_spd
80098898 rank_s_g_spd
800988DC SetG2dResult01
800988EC rank_s_p_spd
80098940 rank_s_s_spd
80098964 rank_s_e_spd
800989A0 rank_s_n_spd
800989DC c_rank_spd
800989EC Runup_Move
80098A54 rank_gam1_spd
80098A94 InitG2dRepPlate04
80098ACC rank_gam2_spd
80098AF4 SetG2dPerfect00
80098B50 rank_gam3_spd
0x301A00#
case CS_KEY:
cp = CurChk( cp );
SelCurSet( cp, S_CUR, S_PMK );
PartsChk();
MaskChk( cp );
CInfoSet( cp );
res = OX_Chk( &cp );
if( res == 0xff ) {
DataSet( TOP2, 12, DT_OFF );
if( ss ) {
wkt = 3*2;
cs_step = CS_SECRET_OUT;
}
else {
wkt = 16*2;
cs_step = CS_PARTS_O1;
}
}
else if( res == 1 ) {
cs_step = CS_WIN;
wkt = 0;
AutoSel = 0;
back = 0;
KETTEIChk(); /* 暫定版 */
}
break;
case CS_WIN:
BackFade( (wkt==1)?0:(wkt==2)?1:0xff, 9 );
if( SetWIN( S_WIN, 0x308f, wkt, 22, 5+2, -56 ) ) {
if( wkt == 0 ) {
wkt = 1;
SC_disp( 0 );
wopen = 0;
}
else if( wkt == 1 ) {
wkt = 0xff;
SetMsg( 1, MSG_1, 0x308b, 0, 0 );
}
else {
// JOYTRG0 = P_RDOWN;
// res = OX_Chk( &cp );
// ↑のかわりに直接内容を実行↓
//----------------------------------------------------------------------
cp = HumComChk( 0, cp );
SelCnt--; // カウントダウンは HumComChk() 後に
c = (cp < 8)? 0:1;
p = (cp < 8)? cp:cp-8;
wkPos = 0x00;
for( i=0; i<8; i++ ) {
wkPos |= (i==p)? ((SelPos[c]>>i)&0x0)<<i:((SelPos[c]>>i)&0x1)<<i;
}
SelPos[c] = wkPos;
SD_call( SD_CANCEL );
//----------------------------------------------------------------------
wkt = 0;
cs_step = CS_KEY;
}
}
else {
if( wopen == 0 ) {
SD_call( SD_WINDOW );
wopen = 1;
}
stc = MCurPos( MSG_C );
if( (wkt==0xff) && (stc!=0xff) ) {
if( stc == 0 )
0x311A00#
->b>sp)? cls0->b-sp:0;
if( (cls0->r+cls0->g+cls0->b) == 0 ) {
cls0->kind = ((io&0x3)<2)? 0:1;
fade_chk++;
}
}
}
return( (fade_chk==cnt)? 1:0 );
}
/* ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ */
/* 対象をテーブルで指定する版 */
/* ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ */
Uchar Fade2( Uchar io, Uchar *tbl, Uchar cnt )
{
sys_w;
Uchar i, sp;
CLASS0_W *cls0;
fade_chk = 0;
sp = (io>>4)/2;
for( i=0; i<cnt; i++ ) {
cls0 = SETCLS0( *(tbl+i) );
if( (io&0x3) == 0 ) { // フェードイン
cls0->r = (cls0->r<0x80-sp)? cls0->r+sp:0x80;
cls0->g = (cls0->g<0x80-sp)? cls0->g+sp:0x80;
cls0->b = (cls0->b<0x80-sp)? cls0->g+sp:0x80;
if( (cls0->r+cls0->g+cls0->b)/3 == 0x80 ) {
fade_chk++;
}
}
else { // フェードアウト
cls0->r = (cls0->r>sp)? cls0->r-sp:0;
cls0->g = (cls0->g>sp)? cls0->g-sp:0;
cls0->b = (cls0->b>sp)? cls0->b-sp:0;
if( (cls0->r+cls0->g+cls0->b) == 0 ) {
cls0->kind = ((io&0x3)<2)? 0:1;
fade_chk++;
}
}
}
return( (fade_chk==cnt)? 1:0 );
}
//==============================================================================
// カーソル設定
//------------------------------------------------------------------------------
// パラメータ
// pos : カーソルタイプ / 選択位置番号 4ビットずつ使用
// cno : カーソル登録パーツ番号
// top : 選択項目登録パーツ番号(先頭) 選択項目パレットチェンジ用
// cnt : (選択項目)パーツ数(topから連続で) 選択項目パレットチェンジ用
//==============================================================================
void CurSet( Uchar pos, Uchar cno, Uc
0x323200#
pos,MODE256,0,0,(curpos%4<2)? 0x17:0x18,0xe2+curpos,1,PR7 );
cls0 = SETCLS0( GIMG );
cls0->r = cls0->g = cls0->b = 0; /* 輝度を下げる */
set2dN( G_BG,0x306e,MODE256,0,0,0x17,0xe2,1,PRA );
op_step++;
break;
case 3: /* ゲームイメージフェードイン */
CurSet( curpos|(SC(5)<<4),CURS,COMN,SC(4) );
if( Fade( (8<<4)|0, GIMG, 1 ) ) {
op_step++;
}
break;
case 4: /* キー入力監視 */
CurSet( curpos|(SC(5)<<4),CURS,COMN,SC(4) );
if( (JOYTRG0) & (P_LUP) ) { /* 上 */
curpos = (curpos==0)? (SC(4)-1):(curpos-1);
SD_call( SD_MOVE );
}
else if( (JOYTRG0) & (P_LDOWN) ) { /* 下 */
curpos = (curpos==(SC(4)-1))? 0:(curpos+1);
SD_call( SD_MOVE );
}
else if( (JOYTRG0) & (P_LLEFT|P_LRIGHT) ) { /* 左右 */
curpos = (curpos < SC(4)/2)? (curpos+4):(curpos-4);
SD_call( SD_MOVE );
}
else {
keychk = 0;
if( JOYTRG0 & P_RRIGHT ) {
keychk = P_RRIGHT; /* 決定 */
op_step++;
SD_call( SD_DECIDE );
}
else if( JOYTRG0 & P_RDOWN ) {
keychk = P_RDOWN; /* キャンセル */
op_step++;
SD_call( SD_CANCEL );
}
}
set2dN( GIMG,0x3035+curpos,MODE256,0,0,(curpos%4<2)? 0x17:0x18,0xe2+curpos,1,PR7 );
break;
case 5: /* ゲームイメージフェードアウト */
CurSet( curpos|(SC(5)<<4),CURS,COMN,SC(4) );
if( Fade( (8<<4)|1, GIMG, 1 ) ) {
PartsOFF( G_BG );
op_mod_step = OCOM; /* 共通処理へ */
op_step = OPT_SOUT; /* スライドアウトへ */
}
break;
}
}
/*==============================================================================*/
/* キーコ
0x329E00#
画面消去コマンド抑制*/
GsSortClear(sp->back_r,sp->back_g,sp->back_b,&SepOT[0].ot[ACTIVE_SIDE]);
}
/* 他のOTの割付 */
GsSortOt(&SepOT[0].ot2[ACTIVE_SIDE],&SepOT[0].ot[ACTIVE_SIDE]);
GsSortOt(&ana_ot[ACTIVE_SIDE],&SepOT[0].ot[ACTIVE_SIDE]); /*アナウンサー用*/
/* オフセット、クリップ領域、描画リクエスト */
GsDrawOt(&SepOT[0].ot[ACTIVE_SIDE]);
#ifdef DEBUG
packet_size = ( Ulong ) GsGetWorkBase () - ( Ulong ) GPUADDRESS;
/* 使用パケットサイズの表示 */
if( PACKETMAX < packet_size ) FntPrint( "PA
0x332200#
oid )
{
switch( wk_step ) {
case WARN: Warning(); break;
case MODE: ModeSelect(); break;
case CSEL: CharacterSelect(); break;
case OPTN: Option(); break;
}
}
//==============================================================================
// セレクト 後処理
//==============================================================================
static void Sel_Over( void )
{
sys_w;
sp_w;
// STEPW = 0x04; // ゲームへ
// STEPW_S = 0;
md_step = 0;
STEPW = GAME_STEP;
STEPW_S = 0;
sp->ovrlay_step = 0;
//************************************************************
// TEST MENU PARAMETER SET
//************************************************************
sp->stage_no = sp->ModSel.game;
// sp->chara[0] = sp->ModSel.chara[0];
// sp->chara[1] = (sp->ModSel.game==4)? sp->ModSel.chara[1]:0;
sp->mode_fg = sp->ModSel.mode;
if( sp->ModSel.mode == 0 ) {
if( sp->ModSel.mustype > 0 ) {
sp->mode_no = (sp->ModSel.game==0)? sp->ModSel.ver[0]:
(sp->ModSel.game==1)? sp->ModSel.ver[1]:
(sp->ModSel.game==6)? sp->ModSel.ver[2]:
(sp->ModSel.game==7)? sp->ModSel.ver[3]:0;
}
else {
sp->mode_no = sp->ModSel.ver[0];
}
}
else {
sp->mode_no = sp->ModSel.ver[0];
}
sp->motion_no = sp->stage_no;
//************************************************************
#if (BGM_CALL)
SD_call( SD_CTL_FADEOUTX ); /* BGMおしまい(フェードアウト) */
#endif
/* 実況 ON/OFF チェック */
SD_call( (OP_VO==0)? SD_TYPEA:SD_TYPEB );
}
//===========================
0x338A00#
クリア
verpos[0] = verpos[1] = 0;
verpos[2] = verpos[3] = 0;
}
break;
//===============
// バージョン設定
//===============
case VERSION_ALL:
if( key == P_RRIGHT ) {
if( pos == 4 ) { // 設定終了を選択
res = CHARACTER_SELECT; // キャラクターセレクトへ
pos_sav[sts] = 0; // カーソル位置クリア
}
}
else {
res = RANKING_SELECT; // マッスルランキングモード選択へ(無条件)
pos_sav[sts] = 0; // カーソル位置クリア
verpos[0] = verpos[1] = 0;
verpos[2] = verpos[3] = 0;
}
break;
//==============
// キャラクターセレクト
//==============
case CHARACTER_SELECT:
if( key == P_RRIGHT ) {
}
else {
if( pos_sav[MODE_SELECT] == 2 ) { // エキストラモードの場合
if( (pos_sav[EXTRA_GAME] < 2) || // バージョンあり競技
(pos_sav[EXTRA_GAME] == 4) ) {
res = EXTRA_VERSION; // バージョン選択へ
pos_sav[sts] = 0; // カーソル位置クリア
}
else {
res = EXTRA_GAME; // ゲームセレクトへ
pos_sav[sts] = 0; // カーソル位置クリア
}
}
else {
if( pos_sav[RANKING_SELECT] > 0 ) { // 個人/タッグ全競技の場合
res = VERSION_ALL; // バージョン設定へ
pos_sav[sts] = 0; // カーソル位置クリア
}
else {
if( (pos_sav[GAME_SELECT] < 2) || // バージョンあり競技
(pos_sav[GAME_SELECT] > 5) ) {
res = VERSION_ONE; // バージョン選択へ
pos_sav[sts] = 0; // カーソル位置クリア
}
else {
res = GAME_SELECT; // ゲームセレクトへ
pos_sav[sts] = 0; // カーソル位置クリア
}
}
}
}
break;
//============
// データ選択
//============
c
0x344C00#
},
{END,0x10,0x10,0xf0,0xa0,0xffa4,0x0048,0x10},
};
SPD_W t_data1_spd[]={ // 画面タイトル
// DATA SELECT
{DAT,0x18,0x18,0x40,0x00,0xff5c,0xffa4,0x10},
{DAT,0x18,0x18,0x00,0x00,0xff6d,0xffa4,0x10},
{DAT,0x18,0x18,0x00,0x48,0xff7e,0xffa4,0x10},
{DAT,0x18,0x18,0x00,0x00,0xff8e,0xffa4,0x10},
{DAT,0x10,0x18,0x70,0x30,0xffa8,0xffa4,0x10},
{DAT,0x10,0x18,0x58,0x00,0xffb8,0xffa4,0x10},
{DAT,0x10,0x18,0x58,0x18,0xffc8,0xffa4,0x10},
{DAT,0x10,0x18,0x58,0x00,0xffd8,0xffa4,0x10},
{DAT,0x18,0x18,0x28,0x00,0xffe4,0xffa4,0x10},
{END,0x18,0x18,0x00,0x48,0xfff4,0xffa4,0x10},
};
SPD_W t_data2_spd[]={ // 画面タイトル
// データの選択
{DAT,0x10,0x10,0xf0,0x50,0x0012,0xffa8,0x02},
{DAT,0x10,0x10,0x90,0x30,0x0020,0xffa8,0x02},
{DAT,0x10,0x10,0xe0,0x30,0x002e,0xffa8,0x02},
{DAT,0x10,0x10,0xd0,0x20,0x003c,0xffa8,0x02},
{DAT,0x10,0x10,0x80,0x00,0x004b,0xffa8,0x02},
{END,0x10,0x10,0x90,0x00,0x005a,0xffa8,0x02},
};
SPD_W font02_1_spd[]={ // フォント(tp:06)
{DAT,0x10,0x10,0x90,0x80,0xff5e,0xffc2,0x
0x34FC00#
entry_count_spd[]={ // エントリー人数
{END,0x10,0x10,0x10,0x70,0x005d,0xffd4,0x31},
};
SPD_W c_chasel_spd[]={ // カーソル
{END,0x28,0x30,0x80,0xb0,0xff5d,0x0002,0x10},
};
SPD_W c_pmark_spd[]={ // プレイヤーマーク(カーソル)
{END,0x28,0x10,0x58,0x00,0xff5d,0x0022,0x22},
};
SPD_W c_kmark_spd[]={ // 決定マーク(カーソル) ysize:0
{DAT,0x28,0x00,0x58,0x00,0xff5d,0x0022,0x22},
{DAT,0x28,0x00,0x58,0x10,0xff86,0x0022,0x22},
{DAT,0x28,0x00,0x58,0x20,0xffaf,0x0022,0x22},
{DAT,0x28,0x00,0x58,0x30,0xffd8,0x0022,0x22},
{DAT,0x28,0x00,0x58,0x40,0x0001,0x0022,0x22},
{DAT,0x28,0x00,0x58,0x50,0x002a,0x0022,0x22},
{DAT,0x28,0x00,0x58,0x60,0x0053,0x0022,0x22},
{DAT,0x28,0x00,0x58,0x70,0x007c,0x0022,0x22},
{DAT,0x28,0x00,0x30,0x00,0xff5d,0x0053,0x22},
{DAT,0x28,0x00,0x30,0x10,0xff86,0x0053,0x22},
{DAT,0x28,0x00,0x30,0x20,0xffaf,0x0053,0x22},
{DAT,0x28,0x00,0x30,0x30,0xffd8,0x0053,0x22},
{DAT,0x28,0x00,0x30,0x40,0x0001,0x0053,0x22},
{DAT,0x28,0x00,0x30,0x50,0x002a,0x0053,0x22},
{DAT,0x28,0x00,0x30,0x60,0x0
0x357C00#
0bb */ /* デュアル */
(Ulong)con2_DDR_spd, /* 0x30bc */ /* DDR */
(Ulong)con2_BURU1_spd, /* 0x30bd */ /* 振動あり */
(Ulong)con2_BURU0_spd, /* 0x30be */ /* 振動なし */
(Ulong)con_ya_spd, /* 0x30bf */ /* 選択矢印 */
(Ulong)t_con1_spd, /* 0x30c0 */ /* CONT・・・ */
(Ulong)t_con2_spd, /* 0x30c1 */ /* コントローラ設定 */
(Ulong)c_con_spd, /* 0x30c2 */ /* カーソル */
(Ulong)tmp_spd, /* 0x30c3 */ /* 予備 */
/* リプレイ */
(Ulong)t_replay1_spd, /* 0x30c4 */ /* REPLAY */
(Ulong)t_replay2_spd, /* 0x30c5 */ /* リプレイ */
(Ulong)font07_1_spd, /* 0x30c6 */ /* フォント(tp:06) */
(Ulong)font07_2_spd, /* 0x30c7 */ /* フォント(tp:07) */
(Ulong)rep_name1_spd, /* 0x30c8 */ /* 選手名1 */
(Ulong)rep_name2_spd, /* 0x30c9 */ /* 2 */
(Ulong)rep_name3_spd, /* 0x30ca */ /* 3 */
(Ulong)rep_name4_spd, /* 0x30cb */ /* 4 */
(Ulong)rep_mdgm1_spd, /* 0x30cc */ /* モード/競技名1*/
(Ulong)rep_mdgm2_spd, /* 0x30cd */ /* 2*/
(Ulong)rep_mdgm3_spd, /* 0x30ce */ /*
0x3679F0#
*/
FS_J27, -= FLSC; // アップの2倍量で落下
}
}
if( ++d_wk[0] == WT_FL ) { // 落下完了時
for( i=0; i<5; i++ ) { // 各パーツに対して処理
cls0 = SETCLS0( cno + Rchg[1][UpdNo] + 8*i );
cls0->pri = (i==0)? PR7:PR6; // プライオリティーを戻す
}
cls0 = SETCLS0( cno + Rchg[1][UpdNo] + 16 );
spd = (SPD_W *)cls0->chara;
spd[0].ysize = 0x10; // 対象の順位を表示
PointSet( cno+32+Rchg[1][UpdNo], 0, Rsum[1][Rchg[1][UpdNo]] ); // 対象ポイントセット
}
return( 0 );
}
else { // 拡縮/フラッシュ
if( d_wk[1] < BANG ) {
for( i=LOGO; i<(GTI2+1); i++ ) { // 背景等
cls0 = SETCLS0( i );
cls0->scalex = cls0->scaley = SB[ d_wk[1] ];
cls0->r = cls0->g = cls0->b = (d_wk[1]==0)? 0xff:(0xf0-0x8*(d_wk[1]-1));
}
cls0 = SETCLS0( ENDT ); // ○競技終了
cls0->scalex = cls0->scaley = SB[ d_wk[1] ];
cls0->r = cls0->g = cls0->b = (d_wk[1]==0)? 0xff:(0xf0-0x8*(d_wk[1]-1));
for( i=0; i<8; i++ ) { // 8人分チェック
for( n=0; n<5; n++ ) { // 各パーツに対して処理
cls0 = SETCLS0( cno + i + 8*n );
cls0->scalex = cls0->scaley = SB[ d_wk[1] ];
cls0->r = cls0->g = cls0->b = (d_wk[1]==0)? 0xff:(0xf0-0x8*(d_wk[1]-1));
}
}
d_wk[1]++;
return( 0 );
}
else {
if( d_wk[1] < (BANG+60) ) { // 適当にウェイト
d_wk[1]++;
return( 0 );
}
else {
d_wk[0] = d_wk[1] = 0;
return( 1 );
}
}
}
}
//==============================================================================
// トータルランキング演出 ポジション移動 (推移矢印表示含む)
//---------------
0x375600#
_SA)==0 ) {
r_wk[1] = (r_wk[1]<cnt)? r_wk[1]+1:cnt;
}
}
r_wk[0]++;
return( 0 );
}
//==============================================================================
// データ内容 選択項目パレットチェンジ
//------------------------------------------------------------------------------
// パラメータ
// pos : 選択位置番号
// cno : データ内容登録パーツ番号
// cnt : パーツ数(cnoから連続で 3セットの数)
//==============================================================================
void RPdatPal( Ucha
0x38D600#
tno = 0;
blk = 0;
fst = 0;
timer = 0;
rk_step++;
mcFileSet( 0x00, 2 );
mcInit();
mcDataGet( (u_char *)&SWK, ofsT[3], sizT[3], sizT[0], 3 );
mcRepDataGo( 0 ); /* リプレイデータ本体処理なし */
break;
case 1:
if( SetWIN( S_WIN, 0x4091, wkt, mess[MES_NOWCH].wc, mess[MES_NOWCH].hc, 0x20 ) ) {
if( wkt == 0 ) {
wkt = 1;
wopen = 0;
}
else if( wkt == 1 ) {
tno = MES_NOWCH;
SetMsg( 1, MSG_1, mess[tno].sno, mess[tno].cur, 0x20 );
wkt = 0xff;
fst
0x3A7A00#
*/0xffc8,0x0b},
{DAT,0x38,0x10,0x00,0xd0,0x0024,/*0x000c*/0xffc8,0x0b},
{DAT,0x28,0x10,0x38,0xd0,0x0058,/*0x000c*/0xffc8,0x0b},
/* 6段目 */
{DAT,0x18,0x10,0x80,0x70,0xff8e,/*0x001d*/0xffc8,0x0b},
{DAT,0x10,0x10,0x70,0xe0,0xffa6,/*0x001d*/0xffc8,0x0b},
{DAT,0x70,0x10,0x00,0xe0,0xffb4,/*0x001d*/0xffc8,0x0b},
{DAT,0x38,0x10,0x00,0xd0,0x0024,/*0x001d*/0xffc8,0x0b},
{DAT,0x28,0x10,0x38,0xd0,0x0058,/*0x001d*/0xffc8,0x0b},
/* 7段目 */
{DAT,0x18,0x10,0x80,0x70,0xff8e,/*0x002e*/0xffc8,0x0b},
{DAT,0x10,0x10,0x70,0xe0,0xffa6,/*0x002e*/0xffc8,0x0b},
{DAT,0x70,0x10,0x00,0xe0,0xffb4,/*0x002e*/0xffc8,0x0b},
{DAT,0x38,0x10,0x00,0xd0,0x0024,/*0x002e*/0xffc8,0x0b},
{DAT,0x28,0x10,0x38,0xd0,0x0058,/*0x002e*/0xffc8,0x0b},
/* 8段目 */
{DAT,0x18,0x10,0x80,0x70,0xff8e,/*0x003f*/0xffc8,0x0b},
{DAT,0x10,0x10,0x70,0xe0,0xffa6,/*0x003f*/0xffc8,0x0b},
{DAT,0x70,0x10,0x00,0xe0,0xffb4,/*0x003f*/0xffc8,0x0b},
{DAT,0x38,0x10,0x00,0xd0,0x0024,/*0x003f*/0xffc8,0x0b},
{DAT,0x28,0x10,0x38,0xd0,0x0058,/*0x003f*/0xffc8,0x0b},
/* 9段目 */
{DAT,0x18,0x10,0x80,0x70,0xff8e,/*0x0050*/0xffc8,0x0b},
{DAT,0x10,0x10,0x70,0xe0,0xffa6,/*0x0050*/0xffc8,0x0b},
{DAT,0x70,0x10,0x00,0xe0,0xffb4,/*0x0050*/0xffc8,0x0b},
{DAT,0x38,0x10,0x00,0xd0,0x0024,/*0x0050*/0xffc8,0x0b},
{DAT,0x28,0x10,0x38,0xd0,0x0058,/*0x0050*/0xffc8,0x0b},
/* 10段目 */
{DAT,0x18,0x10,0x80,0x70,0xff8e,/*0x0061*/0xffc8,0x0b},
{DAT,0x10,0x10,0x70,0xe0,0xffa6,/*0x0061*/0xffc8,0x0b},
{DAT,0x70,0x10,0x00,0xe0,0xffb4,/*0x0061*/0xffc8,0x0b},
0x3BC600#
0x2a},
{DAT,0x10,0x10,0x90,0x10,0xffe2,0x0000,0x2a},
{DAT,0x10,0x10,0xa0,0x10,0x0036,0x0000,0x2a},
{DAT,0x10,0x10,0x60,0x60,0xffcb,0x0010,0x2a},
{DAT,0x10,0x10,0x70,0x60,0xffda,0x0010,0x2a},
{DAT,0x10,0x10,0xb0,0x10,0x0052,0x0000,0x2a},
{DAT,0x10,0x10,0xc0,0x10,0x002f,0x0010,0x2a},
{END,0x10,0x10,0x00,0x60,0xfff8,0x0028,0x2a},
};
/* カーソル OK/再チェック */
SPD_W wc_check09_spd[]={
{DAT,0x38,0x18,0xa8,0xb0,0xffb6,0x0026,0x01},
{END,0x58,0x18,0xa8,0xc8,0xfff4,0x0026,0x10},
};
/* (----) フォーマット
0x3CE200#
03},
{DAT,0x10,0x10,0x50,0x50,0xfff2,0x0044,0x03},
{DAT,0x10,0x10,0x70,0x50,0x0000,0x0044,0x03},
{DAT,0x10,0x10,0x00,0x40,0x0009,0x0044,0x03},
{DAT,0x10,0x10,0x50,0x50,0x0016,0x0044,0x03},
{DAT,0x10,0x10,0x00,0x50,0x001e,0x0044,0x03},
{END,0x10,0x10,0x20,0x40,0x0025,0x0044,0x03},
};
SPD_W c_rankga_spd[]={ // カーソル
// STRUCK OUT
{DAT,0x70,0x10,0x80,0xa0,0xffb8,0xffd4,0x10},
{DAT,0x18,0x10,0xe8,0xa0,0x0028,0xffd4,0x10},
// KICK TARGET
{DAT,0x70,0x10,0x80,0xa0,0xffb8,0xffe4,0x10},
{DAT,0x20,0x10,0xe0,0xa0,0x0028,0xffe4,0x10},
// MONSTER BOX
{DAT,0x70,0x10,0x80,0xa0,0xffb8,0xfff4,0x10},
{DAT,0x18,0x10,0xe8,0xa0,0x0028,0xfff4,0x10},
// SHOT-GUN-TOUCH
{DAT,0x70,0x10,0x80,0xa0,0xffb8,0x0004,0x10},
{DAT,0x28,0x10,0xd8,0xa0,0x0028,0x0004,0x10},
// THE TUG-OF-WAR
{DAT,0x70,0x10,0x80,0xa0,0xffb8,0x0014,0x10},
{DAT,0x28,0x10,0xd8,0xa0,0x0028,0x0014,0x10},
// HUSTLER
{DAT,0x60,0x10,0x80,0xa0,0xffb8,0x0024,0x10},
{DAT,0x10,0x10,0xf0,0xa0,0x0018,0x0024,0x10},
// DARUMA
{DAT,0x60,0x10,0x80,0xa0,0xffb8,0x0034,0x10},
{DAT,0x10,0x10,0xf0,0xa0,0x0018,0x0034,0x10},
// BRAIN PANIC
{DAT,0x18,0x10,0xe8,0xa0,0x0028,0x0044,0x10},
{END,0x70,0x10,0x80,0xa0,0xffb8,0x0044,0x10},
};
SPD_W t_rnk2_1_spd[]={ // 画面タイトル
// RANKING
{DAT,0x18,0x18,0x58,0x30,0xff5b,0xffa4,0x19},
{DAT,0x18,0x18,0x00,0x00,0xff6b,0xffa4,0x19},
{DAT,0x18,0x18,0x00,0x30,0xff7d,0xffa4,0x19},
{DAT,0x18,0x18,0x40,0x18,0xff8f,0xffa4,0x19},
{DAT,0x08,0x18,0x78,0x00,0xffa3,0xffa4,0x19},
{DAT,0x1
0x3D5400#
と[コンマ]分をダミーで入れる!
// また、ポイント用にパターンの先頭から5個を固定にしておく!!
//----------------------------------------------------------
{DAT,0x10,0x10,0x00,0x80,0x0026,0x002f,0x05}, // ポイント数字 百位
{DAT,0x10,0x10,0x00,0x80,0x002f,0x002f,0x05}, // 十位
{DAT,0x10,0x10,0x00,0x80,0x0038,0x002f,0x05}, // 一位
{DAT,0x10,0x10,0x00,0x80,0xfff4,0x002f,0x05}, // 順位数字
{DAT,0x10,0x10,0x70,0x70,0x0004,0x002f,0x05}, // 位
{DAT,0x10,0x10,0x00,0x80,0x004d,0x002f,0x05}, // 記録数字
{END,0x28,0x10,0x00,0xf0,0x005b,0x002f,0x05}, // テーブル
};
SPD_W moj_kig7_spd[]={ // (7段目)
{DAT,0x00,0x00,0x00,0x00,0x0000,0x0000,0x00},
{DAT,0x00,0x00,0x00,0x00,0x0000,0x0000,0x00},
//----------------------------------------------------------
// PointSet() 使用のため、[千位]と[コンマ]分をダミーで入れる!
// また、ポイント用にパターンの先頭から5個を固定にしておく!!
//----------------------------------------------------------
{DAT,0x10,0x10,0x00,0x80,0x0026,0x0040,0x05}, // ポイント数字 百位
0x452400#
HOMEMODEL_TABLE }, /* 1f 05 井原1*/
{ 0x0007e000/0x800+CD_DATA00, (0x00007c85+0x7ff)/0x800, (Ulong)AWAYMODEL_TABLE }, /* 20 井原2*/
{ 0x00086000/0x800+CD_DATA00, (0x00007518+0x7ff)/0x800, (Ulong)TIM_TABLE2 }, /* 21 テクスチャ */
{ 0x0008d800/0x800+CD_DATA00, (0x00007cbd+0x7ff)/0x800, (Ulong)HOMEMODEL_TABLE }, /* 22 06 中山1*/
{ 0x00095800/0x800+CD_DATA00, (0x00007cbd+0x7ff)/0x800, (Ulong)AWAYMODEL_TABLE }, /* 23 中山2*/
{ 0x0009d800/0x800+CD_DATA00, (0x0000784c+0x7ff)/0x800, (Ulong)TIM_TABLE2 }, /* 24 テクスチャ */
{ 0x000a5800/0x800+CD_DATA00, (0x00007cad+0x7ff)/0x800, (Ulong)HOMEMODEL_TABLE }, /* 25 07 池谷1*/
{ 0x000ad800/0x800+CD_DATA00, (0x00007cad+0x7ff)/0x800, (Ulong)AWAYMODEL_TABLE }, /* 26 池谷2*/
{ 0x000b5800/0x800+CD_DATA00, (0x000076f0+0x7ff)/0x800, (Ulong)TIM_TABLE2 }, /* 27 テクスチャ */
{ 0x000bd000/0x800+CD_DATA00, (0x00007b65+0x7ff)/0x800, (Ulong)HOMEMODEL_TABLE }, /* 28 08 ケイン1*/
{ 0x000c5000/0x800+CD_DATA00, (0x00007b65+0x7ff)/0x8
0x455400#
ng)MODEL_TABLE }, /* 98 ハスラー */
{ 0x00082000/0x800+CD_DATA03, (0x00008f1c+0x7ff)/0x800, (Ulong)TIM_TABLE }, /* 99 */
{ 0x0008b000/0x800+CD_DATA03, (0x00004f4d+0x7ff)/0x800, (Ulong)MODEL_TABLE }, /* 9a ダルマ */
{ 0x00090000/0x800+CD_DATA03, (0x000068e8+0x7ff)/0x800, (Ulong)TIM_TABLE }, /* 9b */
{ 0x00097000/0x800+CD_DATA03, (0x00006b4d+0x7ff)/0x800, (Ulong)MODEL_TABLE }, /* 9c */
{ 0x0009e000/0x800+CD_DATA03, (0x00008230+0x7ff)/0x800, (Ulong)TIM_TABLE }, /* 9d */
{ 0x000a6800/0x800+CD_DATA03, (0x000069b5+0x7ff)/0x800, (Ulong)MODEL_TABLE }, /* 9e */
{ 0x000ad800/0x800+CD_DATA03, (0x000089dc+0x7ff)/0x800, (Ulong)TIM_TABLE }, /* 9f */
{ 0x000b6800/0x800+CD_DATA03, (0x00006939+0x7ff)/0x800, (Ulong)MODEL_TABLE }, /* a0 */
{ 0x000bd800/0x800+CD_DATA03, (0x0000a220+0x7ff)/0x800, (Ulong)TIM_TABLE }, /* a1 */
{ 0x000c8000/0x800+CD_DATA03, (0x00003ce9+0x7ff)/0x800, (Ulong)MODEL_TABLE }, /* a2 ブレイン */
{ 0x000cc000/0x800+CD_DATA03, (0x00007f90+0x7ff)
0x45C400#
2D*/
"..\\bin\\cmn_00.bin", /* 0xb0 ストラックアウト */
"..\\bin\\cmn_01.bin", /* 0xb1 キックターゲット */
"..\\bin\\cmn_02.bin", /* 0xb2 モンスターボックス */
"..\\bin\\cmn_03.bin", /* 0xb3 ショットガンタッチ */
"..\\bin\\cmn_04.bin", /* 0xb4 タッグオブウォー */
"..\\bin\\cmn_05.bin", /* 0xb5 ハスラー */
"..\\bin\\cmn_06.bin", /* 0xb6 だるま */
"..\\bin\\cmn_07.bin", /* 0xb7 ブレインパニック */
/*ブレインパニック用テクスチャ*/
"..\\bin\\itm070tx.bin", /* 0xb8 通常ブレインパニック テクスチャ */
"..\\bin\\itm071tx.bin", /* 0xb9 コナミモード01番 テクスチャ */
"..\\bin\\itm072tx.bin", /* 0xba コナミモード02番 テクスチャ */
"..\\bin\\itm073tx.bin", /* 0xbb コナミモード03番 テクスチャ */
"..\\bin\\itm074tx.bin", /* 0xbc コナミモード04番 テクスチャ */
"..\\bin\\itm075tx.bin", /* 0xbd コナミモード05番 テクスチャ */
"..\\bin\\itm076tx.bin", /* 0xbe コナミモード06番 テクスチャ */
"..\\bin\\itm077tx.bin", /* 0xbf コナミモード07番 テクスチャ */
"..\\bin\\itm078tx.bin", /* 0xc0
0x460E00#
*/
/*--------------------------------------------------*/
/* data_no : -1 sp->chara[]の内容 0~13 選手NO */
/* side : 使う CLASS_W の指定 (0,1) */
/* ret : 0 読み込み中 1 終了 */
/*--------------------------------------------------*/
u_char CharTrans( short data_no, u_char side )
{
sp_w;
sys_w;
static Uchar uniform; /* ユニフォーム用切換え */
switch( TRANS_STEP_S ){
case 0:
if( ! side ) { /* 0側 */
TRANS_STEP_S = 1;
} else {
0x46AA00#
$(CFLAGS_CHILD04) st04\$&.c -o$<
..\obj\tkm_sp.obj: st04\tkm_sp.c $(HDRS)
$(CC) $(CFLAGS_CHILD04) st04\$&.c -o$<
..\obj\tugofwar.obj: st04\tugofwar.c st04\child04.h $(HDRS)
$(CC) $(CFLAGS_CHILD04) st04\$&.c -o$<
..\obj\beholder.obj: st04\beholder.c st04\child04.h $(HDRS)
$(CC) $(CFLAGS_CHILD04) st04\$&.c -o$<
..\obj\rope.obj: st04\rope.c st04\child04.h $(HDRS)
$(CC) $(CFLAGS_CHILD04) st04\$&.c -o$<
..\obj\tug_cpu.obj: st04\tug_cpu.c st04\child04.h $(HDRS)
$(CC) $(CFLAGS_CHILD04) st04\$&.c -o$<
# ハスラー
..\obj\child05.obj: st05\child05.c $(HDRS)
$(CC) $(CFLAGS_CHILD05) st05\$&.c -o$<
..\obj\g2d_05.obj: st05\g2d_05.c $(HDRS)
$(CC) $(CFLAGS_CHILD05) st05\$&.c -o$<
..\obj\g3d_05.obj: st05\g3d_05.c $(HDRS)
$(CC) $(CFLAGS_CHILD05) st05\$&.c -o$<
# ダルマ
..\obj\child06.obj: st06\child06.c $(HDRS) ..\inc\daruma.h
$(CC) $(CFLAGS_CHILD06) st06\$&.c -o$<
..\obj\g2d_06.obj: st06\g2d_06.c $(HDRS) ..\inc\daruma.h
$(CC) $(CFLAGS_CHILD06) st06\$&.c -o$<
..\obj\g3d_06.obj: st06\g3d_06.c $(HDRS) ..\inc\daruma.h
$(CC) $(CFLAGS_CHILD06) st06\$&.c -o$<
..\obj\drmplay.obj: st06\drmplay.c $(HDRS) ..\inc\daruma.h
$(CC) $(CFLAGS_CHILD06) st06\$&.c -o$<
..\obj\drmcam.obj: st06\drmcam.c $(HDRS) ..\inc\daruma.h
$(CC) $(CFLAGS_CHILD06) st06\$&.c -o$<
..\obj\drmcamdt.obj: st06\drmcamdt.c $(HDRS) ..\inc\daruma.h
$(CC) $(CFLAGS_CHILD06) st06\$&.c -o$<
..\obj\drmreply.obj: st06\drmreply.c $(HDRS) ..\inc\daruma.h
$(CC) $(CFLAGS_CHILD06) st06\$&.c -o$<
..\obj\smoke
0x470400#
999.08.25 中山 ボタン待ちパターン変更
1999.08.17 中山 一部パターン変更
1999.08.14 中山 エントリーボックスのテスト部分をカット
1999.08.07 中山 結合
1999.07.27 松尾 だるまのコナミモード追加に伴い、進藤さん説明データ追加
1999.07.23 中山 模様変更
1999.07.21 中山 タイトルコール組み込み。半透明修正
1999.07.16 中山 模様変更その2&サンプル用仕掛け
1999.07.14 中山 模様変更
1999.07.05 中山 サウンド組み込み<実験的SEコール>
*************************************************************************/
/*------------------------------------------------------------------*/
/* include */
/*------------------------------------------------------------------*/
#include "ps000.h"
#include "gbl_data.h" /* Global Data definition Header */
#include "taka.h"
#include "game.h"
#include "lt_cd.h"
#include "sd_vx150.h"
#include "sdcall.h"
#include "g2d.h"
/***************************************************************************
define
************************************<pre>
=={{hex|0x472C00}}==
<pre>RAIN:
voice_tbl = bp_v_head[ sp->mode_no ];
break;
default:
return;
}
/*音声をどんどんリクエスト*/
i=0;
while( voice_tbl[i] != -1 ){
// if ( voice_tbl[i] == 0 && GAMEMODE == GM_PRACTICE ){
if ( voice_tbl[i] == 0 && sp->ModSel.mode == 1 ){
break;
}else{
SD_call( voice_tbl[i] );
}
i++;
}
}
/***************************************************************************
パターン定義
***************************************************************************/
/*共通*/
/*背景 上*/
SPD_W back01_spd[]={
/* ccode,xsize,ysize,u,v,offset_x,offset_y palette */
{DAT,0x10,0x20,0x30,0x60,0x00a4,0xffc8,0x52},
{DAT,0x10,0x20,0x30,0x60,0xff4c,0xffc8,0x52},
{DAT,0x10,0x40,0x10,0x40,0x00a4,0xff88,0x54},
{DAT,0x10,0x40,0x10,0x40,0xff4c,0xff88,0x54},
{DAT,0x40,0x18,0x00,0x00,0xff40,0xff88,0x51},
{DAT,0x40,0x18,0x00,0x00,0xff80,0xff88,0x51},
{DAT,0x40,0x18,0x00,0x00,0xffc0,0xff88,0x51},
{DAT,0x40,0x18,0x00,0x00,0x0000,0xff88,0x51},
{DAT,0x40,0x18,0x00,0x00,0x0040,0x
0x475A00#
,0xa0,0xff7c,0x001b,0x1c},
{DAT,0x10,0x10,0x10,0xa0,0xff8c,0x001b,0x1d},
{DAT,0x10,0x10,0x20,0xa0,0xff9c,0x001b,0x1e},
{DAT,0x18,0x08,0x68,0xf8,0xffac,0x001f,0x5e},
{DAT,0x10,0x10,0x50,0xc0,0xffaa,0x002a,0x01},
{DAT,0x48,0x20,0x00,0x80,0xff78,0x000e,0x01},
{DAT,0x08,0x20,0x78,0x80,0xffc0,0x000e,0x01},
{DAT,0x10,0x10,0x30,0xa0,0xfffa,0x001b,0x1f},
{DAT,0x10,0x10,0x40,0xc0,0xfff0,0x002a,0x01},
{DAT,0x48,0x20,0x00,0x80,0xffda,0x000e,0x01},
{DAT,0x08,0x20,0x78,0x80,0x0022,0x000e,0x01},
{DAT,0x10,0x10,0x30,0xa0,0x005c,0x001b,0x1f},
{DAT,0x10,0x10,0x50,0xc0,0x0070,0x002a,0x01},
{DAT,0x40,0x20,0x00,0x80,0x0040,0x000e,0x01},
{END,0x08,0x20,0x78,0x80,0x0080,0x000e,0x01},
};
/*---------------------------------------------*/
/*04/タッグオブウォー*/
/*競技ロゴ*/
SPD_W tg_rogo_spd[]={
/* ccode,xsize,ysize,u,v,offset_x,offset_y palette */
{DAT,0x80,0x40,0x00,0x80,0xff5a,0xff9c,0x44},
{DAT,0x80,0x40,0x80,0x80,0xffda,0xff9c,0x44},
{END,0x50,0x40,0x00,0xc0,0x005a,0xff9c,0x44},
};
/*金剛くん*/
SPD_W tg_kon_spd[]={
/* ccode,xsize,ysize,u,v,offset_x,offset_y palette */
{DAT,0x18,0x10,0x80,0xe0,0xff82,0x000f,0x01},
{DAT,0x18,0x10,0x80,0xd0,0xff9a,0x000f,0x01},
{DAT,0x18,0x10,0xe0,0xf0,0xffb6,0x000f,0x01},
{DAT,0x18,0x10,0x80,0xd0,0xffce,0x000f,0x01},
{DAT,0x28,0x28,0xb0,0xc0,0xff9a,0x002e,0x3d},
{DAT,0x20,0x08,0xe0,0xe8,0xffa0,0x0050,0x01},
{DAT,0x30,0x10,0x80,0xf0,0x0004,0x000f,0x01},
{DAT,0x28,0x28,0xd8,0xc0,0x0006,0x002f,0x3d},
{DAT,0x20,0x08,0xe0,0xe8,0x000a,0x0051,0x01},
{DAT,0x30,0x
0x481600#
-g -c -O2 -G0 -I..\inc -Wall -Wa,spchild01 st01\c1_human.c -o..\obj\c1_human.obj
ccpsx -kanji -g -c -O2 -G0 -I..\inc -Wall -Wa,spchild01 st01\c1_func.c -o..\obj\c1_func.obj
ccpsx -kanji -g -c -O2 -G0 -I..\inc -Wall -Wa,spchild01 st01\c1_obj.c -o..\obj\c1_obj.obj
ccpsx -kanji -g -c -O2 -G0 -I..\inc -Wall -Wa,spchild01 st01\c1_other.c -o..\obj\c1_other.obj
ccpsx -kanji -g -c -O2 -G0 -I..\inc -Wall -Wa,spchild02 st02\child02.c -o..\obj\child02.obj
ccpsx -kanji -g -c -O2 -G0 -I..\inc -Wall -Wa,spchild
0x489600#
匀サ*/
/*NO.1の全体文字の初期化*/
set2d( G_CLS_W_NO1, SPD_W_NO1, MODE16, 0,0, 14, 0, 9, 0 ); /*NO1ロゴ全体 表示はしない*/
em_no1[0].step = 0;
em_no1[0].cls = G_CLS_W_NO1;
em_no1[0].flag = 0;
em_no1[0].func = Em_func00;
/*ローレル*/
set2d( G_CLS_W_LEAVES, SPD_W_LEAVES, MODE16, 0,0, 14, 0, 10, 0 ); /*はっぱ 表示はしない*/
em_no1[1].step = 0;
em_no1[1].flag = 0;
em_no1[1].cls = G_CLS_W_LEAVES;
em_no1[1].func = Em_func01;
/*マッスルランキングL*/
s
0x515600#
.def b0; .val 6; .scl 8; .type 0xc; .endef
.def code; .val 7; .scl 8; .type 0xc; .endef
.def n0; .val 8; .scl 8; .type 0xd; .endef
.def v0; .val 10; .scl 8; .type 0xd; .endef
.def v1; .val 12; .scl 8; .type 0xd; .endef
.def v2; .val 14; .scl 8; .type 0xd; .endef
.def .eos; .val 16; .scl 102; .tag .76fake; .size 16; .endef
.def TMD_P_F3; .scl 13; .tag .76fake; .size 16; .type 0x8; .endef
.def .77fake; .scl 10; .type 0x8; .size 20; .endef
.def out; .val 0; .scl 8; .type 0xc; .endef
.def i
0x52E920#
,0x18,0x00,0x30,0xffb6,0xffa4,0x10},
{DAT,0x10,0x18,0x70,0x30,0xffcf,0xffa4,0x10},
{DAT,0x10,0x18,0x58,0x00,0xffdf,0xffa4,0x10},
{DAT,0x18,0x18,0x00,0x48,0xffeb,0xffa4,0x10},
{DAT,0x18,0x18,0x18,0x48,0x0000,0xffa4,0x
0x5ABC00#
f noclip_fg; .val 1155; .scl 8; .type 0xc; .endef
.def key_w; .val 1156; .scl 8; .type 0xd; .endef
.def key_trg; .val 1158; .scl 8; .type 0xd; .endef
.def key_w_old; .val 1160; .scl 8; .type 0xd; .endef
.def .eos; .val 1164; .scl 102; .tag _CLASS_W; .size 1164; .endef
.def CLASS_W; .scl 13; .tag _CLASS_W; .size 1164; .type 0x8; .endef
.def _CLASS1_W; .scl 10; .type 0x8; .size 184; .endef
.def kind; .val 0; .scl 8; .type 0xc; .endef
.def rot_flg; .val 1; .scl 8; .type 0xc; .endef
.def xposi; .val 2; .scl 8; .type 0x3; .endef
.def yposi; .val 4; .scl 8; .type 0x3; .endef
.def zposi; .val 6; .scl 8; .type 0x3; .endef
.def rot; .val 8; .scl 8; .tag .2fake; .size 8; .type 0x8; .endef
.def scale; .val 16; .scl 8; .tag .1fake; .size 16; .type 0x8; .endef
.def DWorld; .val 32; .scl 8; .tag _GsCOORDUNIT; .size 80; .type 0x8; .endef
.def obj3D_w; .val 112; .scl 8; .tag _OBJ3D_W; .dim 1; .size 16; .type 0x38; .endef
.def ls; .val 128; .scl 8; .tag .0fake; .size 32; .type 0x8; .endef
.de
0x5BA600#
[0][0]+cls->oldmatrix[obj_cnt].m[0][0])>>1;
coord2->matrix.m[0][1]=(coord2->matrix.m[0][1]+cls->oldmatrix[obj_cnt].m[0][1])>>1;
coord2->matrix.m[0][2]=(coord2->matrix.m[0][2]+cls->oldmatrix[obj_cnt].m[0][2])>>1;
coord2->matrix.m[1][0]=(coord2->matrix.m[1][0]+cls->oldmatrix[obj_cnt].m[1][0])>>1;
coord2->matrix.m[1][1]=(coord2->matrix.m[1][1]+cls->oldmatrix[obj_cnt].m[1][1])>>1;
coord2->matrix.m[1][2]=(coord2->matrix.m[1][2]+cls->oldmatrix[obj_cnt].m[1][2])>>1;
coord2->matr
0x5E0400#
LASS.C
#tabs
04 00 00 00 00 00 00 00
#history
00 80200000
00 80200000
00 80193000
00 80190000
00 80065070
00 80065070
00 out_packet2
01 807fffff
01 807fffff
01 80195fff
01 8019ffff
01 8006d070
01 8006d070
01 out_packet2[0x4000]
02 p_class.c
02 p_trans.c
02 p_trans.c
02 p_trans
02 p_1.c
02 p_1.c
02 p_2.c
02 gameinf.c
07 100
07 -800
07 -2000
07 -1000
07 0
07 0
07 0
07 0
0A SD_se_str
0A v_int
0A SD_se_str
0A CdReadSync
0A CdReadSync
0A strSetDefDecEnv
0A Movie
0A main
0B 0
0B 0
0B 0
0B 0
0B 0
0B 0
0B 0
0C ret
12 sub_status
12 read_end_p
12 read_end
12 ret
12 sec_secnt
12 spw.inter_c
12 sec_cnt
12 inter_suu
14 80200000
14 80200000
14 80200000
15 7fffff
15 7fffff
15 7fffff
16 movW.dec.imgbuf[0]
16 spw.pause_fg
16 spw.pause_fg
16 sys.classw[3].anime
16 sys.classw[3].anime
16 sys.classw[3].anime
16 sys.classw[3].anime
c0,0x08,0x63,
0x05,0x86,0xaa,0x02,0x60,0x7b,0x05,0xff,0x12,
0x6F0A10#
//------------------------------------------------------------------------------
// グローバル変数
//------------------------------------------------------------------------------
Uchar cs_step; // 処理ステップ
//------------------------------------------------------------------------------
// 外部変数
//------------------------------------------------------------------------------
extern Uchar wk_step;
extern Uchar md_step;
extern Uchar NowSts;
extern Uchar pos_sav[];
extern Uchar wopen;
#define KOJIN1 ( (pos_sav[MODE_SELECT]==0) && (pos_sav[RANKING_SELECT]==0) )
#define TUG ( pos_sav[GAME_SELECT]==4 )
#define E_MES1 ( KOJIN1 && !TUG )
#define E_MES2 ( KOJIN1 && TUG )
#define E_MES3 ( (pos_sav[MODE_SELECT]==0) && (pos_sav[RANKING_SELECT]==1) )
#define E_MES4 ( (pos_sav[MODE_SELECT]==1) && (pos_sav[GAME_SELECT]==4) )
#define E_MES5 ( (pos_sav[MODE_SELECT]==0) && (pos_sav[RANKING_SELECT]==2) )
#define E_MES6 ( (pos_sav[MODE_SELECT]==0) && (pos_sav[RANKING_SELECT]==3) )
#define ALLOFF ( (pos_sav[MODE_SELECT]==1) || (pos_sav[MODE_SELECT]==2) )
//------------------------------------------------------------------------------
// プロトタイプ宣言
//------------------------------------------------------------------------------
void CharacterSelect( void );
static void DataSet( Uchar, Uchar, Uchar );
static void SelCurSet( Uchar, Uchar, Uchar );
static Uchar CurChk( Uchar );
static Uchar OX_Chk( Uchar * );
static Uchar HumComChk( Uchar, Uchar );
static void M
0x6F5600#
======================
// パーツ出力チェック
//==============================================================================
static void PartsChk( void )
{
sys_w;
Uchar i, cnt;
CLASS0_W *cls0;
SPD_W *spd;
if( !ALLOFF ) { // 「プラクティス・エキストラ」の場合は表示無し
// エントリーメッセージ(カウント人数)/PRESS START 出力チェック
cnt = (HCnow)? (!(E_MES5||E_MES6))? 1:
(E_MES5 && (HCcnt[ HCnow ]%2==0))? 1:
(E_MES6 && (HCcnt[ HCnow ]%4==0))? 1:
0:
0;
if( cnt ) {
cls0 = SETCL
0x766290#
;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
} TMD_P_TG3;
typedef struct {
u_char out, in, dummy, cd;
u_char tu0, tv0;
u_short clut;
u_char tu1, tv1;
u_short tpage;
u_char tu2, tv2;
u_short p0;
u_char r0, g0, b0, p1;
u_short v0, v1;
u_short v2, p2;
} TMD_P_TNF3;
typedef struct {
u_char out, in, dummy, cd;
0x848200#
の追加
CreateCell() InitBg() SetBg() DispBg()
*===========================================================================*/
/*===========================================================================*/
/*===========================================================================*/
/* include */
/*---------------------------------------------------------------------------*/
#include "ps000.h"
#include "gbl_data.h" /* Global Data definition Header */
#include "game.h"
#include "taka.h"
#include "g2d.h"
/*===========================================================================*/
/* extern */
/*---------------------------------------------------------------------------*/
extern Ushort fPat;
/*===========================================================================*/
/* 関数プロトタイプ宣言 */
/*---------------------------------------------------------------------------*/
Uchar MenuFadeIn(Uchar);
Uchar MenuFadeOut(Uchar,Uchar);
void MenuClassReset(void);
Ushort menu_key(Uchar);
Ushort mode_key(void);
Uchar RGB_SUB(Uchar);
Uchar RGB_ADD(Uchar);
void RGB_SET();
void SetMenuFade(void);
void frame_lighten(Uchar);
void frame_lighten2(Uchar,Uchar,Uchar);
/*99.06.03 nakayama*/
void disp2dName( Uchar, Ushort, Uchar* ); /*エディットキャラの名前表示*/
void disp2dPoint( Uchar, Ushort, Uchar, Ushort, Uchar, Ushort, Ushort ); /*競技中ポイント表示*/
/*1999.01.18 中山*/
void CreateCell( MAP_INF*, GsCE
0x850A00#
LASSW_SUU; i++, cls++) { */
for (i=0; i<CLASSW_SUU-2; i++, cls++) {
if (cls->kind) {
class_gs3d(cls); /* 人間モデル表示 <disp3d.c> */
}
}
#if 1
(* class1SetFunc)();
#else
cls1 = &s->classw1[CLASSW1_SUU - 1];
for (i = CLASSW1_SUU - 1; i >= 0; i--, cls1--) {
if (cls1->kind) {
class1_gs3d(cls1); /* 単体モデル表示 <disp3d.c> */
}
}
#endif
/* fade用boxの表示 ---------------------------------------------- */
if (sp->fade_fg==ON){
SetMenuFade(); /* <func_2d.c> */
}
/* スプライトの表示 --------------------------------------------------- */
cls0=SETCLS0(0);
for(i=0;i<CLASSW0_SUU;i++,cls0++){
if (cls0->kind && cls0->chara!=NULL_PNT){
class_sprite(cls0); /* <disp2d.c> */
}
}
if( s->func ) {
s->func();
}
}
void set_class1_func(int flag)
{
if (flag == 1) class1SetFunc = setClass1Daruma;
else class1SetFunc = setClass1Normal;
}
static void setClass1Normal(void)
{
sys_w;
register int i;
register CLASS1_W *cls1;
cls1 = &s->classw1[CLASSW1_SUU - 1];
for (i = CLASSW1_SUU - 1; i >= 0; i--, cls1--) {
if (cls1->kind) {
class1_gs3d(cls1); /* 単体モデル表示 <disp3d.c> */
}
}
}
static void setClass1Daruma(void)
{
sp_w;
sys_w;
register int i;
register CLASS1_W *cls1;
cls1 = &s->classw1[CLASSW1_SUU - 1];
sp->amb_r = sp->amb_g = sp->amb_b = ONE*6/10;
GsSetAmbient(sp->amb_r, sp->amb_g, sp->amb_b);
if (cls1->kind)
{
class1_gs3d(cls1);
0x8D9C00#
-----------------------------------------------------------------*/
static void g_NameSet( Uchar no )
{
sys_w;
Uchar i, sc;
CLASS0_W *cls0;
SPD_W *spd;
cls0 = SETCLS0( NAME0 + no );
spd = (SPD_W *)cls0->chara;
if( no == 0 ) { /* 選手名のみ */
sc = (NowRep>>1)&0xf;
}
else { /* データ有無により分岐 */
if( !g_RepExist(no) ) {
for( i=0; i<7; i++ ) {
spd[i].ysize = 0;
}
spd[6].ccode = DAT;
return; /* データがありません表示 */
}
else {
for( i=0; i<7; i++ ) {
spd[i].ysize = 0x10;
}
spd[6].ccode = END;
sc = ((s->OptDat.rp[no-1])>>1)&0xf; /* キャラコード取得 */
}
}
/* テクスチャページ切り替え (ケイン・おさる・金剛・エディット) */
cls0->tpage = ((sc==8)||(sc==10)||(sc==13)||(sc==14)||(sc==15))? TPAGEA:TPAGEB;
for( i=0; i<7; i++ ) {
spd[i].u = NameCode[sc][i] & 0xf0;
spd[i].v = (NameCode[sc][i] & 0x0f)<<4;
}
}
/*------------------------------------------------------------------------------*/
/* データ情報セット */
0x8DCE00#
MODE16, 0, -0x20, TPAGEB, 0x03, 1, Pri1 );
g_set2dN( PITEM7, SPD_GMDM, MODE16, 0, -0x20, TPAGEB, 0x03, 1, Pri1 );
g_set2dN( PITEM8, SPD_GMBP, MODE16, 0, -0x20, TPAGEB, 0x03, 1, Pri1 );
}
rs_step = 21;
g_set2dN( SELCUR, SPD_C_PGAME, STP05P05, 0, 0, TPAGEB, 0xd0, 1, Pri2 );
cls0 = SETCLS0( SELCUR );
if( (sp->ModSel.mode==2)&&(PAcpos[1]>3) ) {
cls0->yposi = PAcpos[1]*0x0f-0x20;
}
else {
cls0->yposi = PAcpos[1]*0x0f;
}
g_pPAL( 1 );
g_PauseWIN( 0xff, wsiz );
break
0x8E0400#
}
}
}
else if( PAcpos[3] == 1 ) {
if( !SP_KUM ) {
if( !SP_OSA ) {
if( !SP_KON ) {
PAcpos[3] = 2;
}
else {
PAcpos[3] = 3;
}
}
else {
PAcpos[3] = 0;
}
}
}
else if( PAcpos[3] == 2 ) {
if( !SP_MAT ) {
if( !SP_KUM ) {
if( !SP_OSA ) {
PAcpos[3] = 3;
}
else {
PAcpos[3] = 0;
}
}
else {
PAcpos[3] = 1;
}
}
}
else if( PAcpos[3] == 3 ) {
if( !SP_KON ) {
if( !SP_MAT ) {
if( !SP_KUM ) {
PAcpos[3] = 0;
}
else {
PAcpos[3] = 1;
}
}
else {
PAcpos[3] = 2;
}
}
}
}
cls0 = SETCLS0( SELCUR );
cls0->yposi = PAcpos[3]*0x10;
}
else if( pad & P_LDOWN ) { /* 下 */
PAcpos[3] = (PAcpos[3]==3)? 0:(PAcpos[3]+1);
/* エディットキャラ選択チェック (判定順(1->2)重要!) */
if( keylr[0] == 2 ,/pre>
=={{hex|0x8E3600}}==
<pre>10:(sp->stimer%10);
if( CHA == 2 ) { /* 欠番 */
CHA = 8; /* 強制ケイン */
}
}
else if( CHA == 11 ) { /* 組長 */
CHA = (SP_KUM)? 11:(sp->stimer%10);
if( CHA == 2 ) { /* 欠番 */
CHA = 8; /* 強制ケイン */
}
}
else if( CHA == 12 ) { /* 松坂 */
CHA = (SP_MAT)? 12:(sp->stimer%10);
if( CHA == 2 ) { /* 欠番 */
CHA = 8; /* 強制ケイン */
}
}
else if( CHA == 13 ) { /* 金剛 */
CHA = (SP_KON)? 13:(sp->stimer%10);
0x8E5A00#
); cls0->palette = 0x04;
}
else {
if( PAcpos[1] == 6 ) {
cls0 = SETCLS0( PITEM1+PAcpos[2] ); cls0->palette = 0x04;
}
else {
cls0 = SETCLS0( PITEM1+2*PAcpos[2] ); cls0->palette = 0x04;
cls0 = SETCLS0( PITEM1+2*PAcpos[2]+1 ); cls0->palette = 0x04;
}
}
break;
case 4:
for( i=0; i<4; i++ ) {
cls0 = SETCLS0( PITEM1+i );
cls0->palette = 0x03;
}
cls0 = SETCLS0( PITEM1+PAcpos[3] ); cls0->palette = 0x04;
break;
case 5:
for( i=0; i<4; i++ ) {
cls0 = SETCLS0( PITEM1+i );
cls0->palette = 0x03;
}
cls0 = SETCLS0( PITEM1+PAcpos[4] ); cls0->palette = 0x04;
break;
}
/* パレットアニメーション */
if( c_wk[0] == 0 ) {
if( (++c_wk[1])/PANM == 0xf ) {
c_wk[0] = 1;
}
}
else {
if( (--c_wk[1])/PANM == 0x0 ) {
c_wk[0] = 0;
}
}
cls0 = SETCLS0( SELCUR );
cls0->palette = 0xd0+c_wk[1]/PANM;
}
/*------------------------------------------------------------------------------*/
/* ポーズウィンドウ */
/*------------------------------------------------------------------------------*/
/* パラメータ */
/* type : 処理タイプ(0:表示開始 1:イン 2:アウト) */
/* size : ウィンドウサイズ */
/*------------------------------------------------------------------------------*/
/* 戻り値 : 0(処理中)/1(処理終了) */
/*------------------------------------------------------------------------------*/
static Uchar g_PauseWIN( Uchar type, Uchar size )
{
sp_w;
Uchar result = 0, st, ss;
s
0x8EB400#
*/
/*------------------------------------------------------------------------------*/
static void g_SetOBI( void )
{
sp_w;
GsBOXF bg;
bg.x = -256; bg.y = -68; bg.w = 512; bg.h = 164;
bg.attribute = STP05P05;
bg.r = 0; bg.g = 0; bg.b = 0;
GsSortBoxFill( (GsBOXF *)&bg, &(SepOT[0].ot[sp->active_side]), Pri3 );
}
/*------------------------------------------------------------------------------*/
/* ポイント/記録 セット (タッグオブウォー以外) */
/*------------------------------------------------------------------------------*/
/* パラメータ */
/* wn : 何人目(エントリーテーブル登録順の) */
/* pt : 取得ポイント */
/* rc : 競技記録 (ショットガンのみ : ex. 10m50cm -> (10<<7)|(50) とする) */
/* ------------------------------------------------------ */
/* ※モンスターボックスとショットガンタッチは脱落者情報も */
/* 付加して下さい。↓こんな感じで or すればOKさ! */
/* rc に既に記録が入っているとして(同じになった!) */
/*
0x8F1600#
Cnt
80014CEC CharTrans
80094300 CharacterSelect
8002FC68 CheckCallback
8001C5F8 CheckCameraAnime
800938C4 CheckTugEntry
80013200 Child
80019FCC Classw0_Clear
80019F8C Classw1_Clear
8001A058 Classw_Clear
800200A4 ClearImage
80020134 ClearImage2
80020344 ClearOTag
8002040C ClearOTagR
8001E5A4 CloseEvent
800C05E8 Comn_wkInit
8009B600 ConKindSet
8009B170 ConSet
8009B3A8 ConSio
800C11B0 CurHin
800C03B0 CurSet
801EC774 DA_status
8002FB74 DMACallbac
0x8F7400#
R4_spd
80181F80 _SB0_spd
80182010 _SB1_spd
801820A0 _SB2_spd
80182130 _SB3_spd
801821C0 _SB4_spd
80030744 _SN_read
80182D54 _SO0_spd
80182DCC _SO1_spd
80182E44 _SO2_spd
80182EBC _SO3_spd
80182F34 _SO4_spd
80184410 _SO_N0_spd
8018441C _SO_N1_spd
80184428 _SO_N2_spd
80184434 _SO_N3_spd
80184440 _SO_N4_spd
801834D4 _ST0_spd
80183594 _ST1_spd
80183654 _ST2_spd
80183714 _ST3_spd
801837D4 _ST4_spd
80184500 _ST_N0_spd
80184530 _ST_N1_spd
80184560 _ST_N2_spd
80184590 _ST_N3_spd
801845C0 _ST_N4_spd
801F7568 _SpuDataCallback
801F68C8 _SpuInit
801F82C8 _SpuIsInAllocateArea
801F8348 _SpuIsInAllocateArea_
801F7DE8 _SpuSetAnyVoice
801F14D8 _SsGetSeqData
801F1B48 _SsInit
801FBA28 _SsMarkCallback
801F1888 _SsReadDeltaValue
801F1294 _SsSeqGetEof
801F1198 _SsSeqPlay
801F0EB8 _SsSndCrescendo
801F1938 _SsSndNextSep
801F10C8 _SsSndPause
801F1168 _SsSndPlay
801F1A38 _SsSndReplay
801F2538 _SsSndSetVol
8
0x8FAA00#
ranking_org
8009B224 _ranking_orgend
80090004 _ranking_rdata_obj
800900E4 _ranking_rdata_objend
80090004 _ranking_rdata_org
800900E4 _ranking_rdata_orgend
000000E0 _ranking_rdata_size
8009AFAC _ranking_sbss_obj
8009AFAC _ranking_sbss_objend
8009AFAC _ranking_sbss_org
8009AFAC _ranking_sbss_orgend
00000000 _ranking_sbss_size
8009AFAC _ranking_sdata_obj
8009AFAC _ranking_sdata_objend
8009AFAC _ranking_sdata_org
8009AFAC _ranking_sdata_orgend
00000000 _ranking_sdata_size
0000B224 _ranking_size
800900E4 _ranking_text_obj
800979DC _ranking_text_objend
800900E4 _ranking_text_org
800979DC _ranking_text_orgend
000078F8 _ranking_text_size
80033DBC _remove_ChgclrPAD
800B11E0 _safety_bss_obj
800B11F0 _safety_bss_objend
800B11E0 _safety_bss_org
800B11F0 _safety_bss_orgend
00000010 _safety_bss_size
800B1150 _safety_data_obj
800B11E0 _safety_data_objend
800B1150 _safety_data_org
800B11E0 _safety_data_orgend
00000090 _safety_data_size
800B0000 _safety_obj
800B11F0 _safety_objend
800B0000 _safety_org
800B11F0 _safety_orgend
800B0000 _safety_rdata_obj
800B00A0 _safety_rdata_objend
800B0000 _safety_rdata_org
800B00A0 _safety_rdata_orgend
000000A0 _safety_rdata_size
800B11E0 _safety_sbss_obj
800B11E0 _safety_sbss_objend
800B11E0 _safety_sbss_org
800B11E0 _safety_sbss_orgend
00000000 _safety_sbss_size
800B11E0 _safety_sdata_obj
800B11E0 _safety_sdata_objend
800B11E0 _safety_sdata_org
0x8FD600#
da_start
80037704 dan_spd
8009EAA8 data1_spd
8009EAE4 data2_spd
8009EB20 data3_spd
8009EB5C data4_spd
8002EAB4 data_ready_callback
800410C0 debug_cause
80014AC0 decode
80016368 decrease_rgb_classw0
80016584 decrease_size_classw0
800373C8 def_demo_hand
801FB7E8 def_vol
800424E5 demo_count
800424E6 demo_step
80015D04 disp2d
8001AEE8 disp2dName
8001AFDC disp2dPoint
80017508 disp3d
80017BE8 disp3d_ana
80017880 disp4d
8001792C disp4d_BOT
80017A88
0x90D600#
d
8009FAF8 KDemo_Set
8009FBC0 KDemo_Play
8009FBD0 ver_set3_spd
8009FC3C ver_set4_spd
8009FC88 KBoard_System
8009FD14 ver_set5_spd
8009FD44 ver_kind1_spd
8009FDA4 ver_kind2_spd
8009FDBC ver_kind3_spd
8009FDD0 KBoard_Mset
8009FDE0 ver_kind4_spd
8009FE40 ver_kind5_spd
8009FE4C ver_ya_spd
8009FE64 c_verset_spd
8009FEDC t_verset1_spd
8009FF6C t_verset2_spd
8009FFCC font03_1_spd
800A0010 KBoard_Mplay
800A0038 font03_2_spd
800A005C vimg01_spd
800A0068
0x931A00#
s0->g<0x80-sp)? cls0->g+sp:0x80;
cls0->b = (cls0->b<0x80-sp)? cls0->g+sp:0x80;
if( (cls0->r+cls0->g+cls0->b)/3 == 0x80 ) {
fade_chk++;
}
}
else { // フェードアウト
cls0->r = (cls0->r>sp)? cls0->r-sp:0;
cls0->g = (cls0->g>sp)? cls0->g-sp:0;
cls0->b = (cls0->b>sp)? cls0->b-sp:0;
if( (cls0->r+cls0->g+cls0->b) == 0 ) {
cls0->kind = ((io&0x3)<2)? 0:1;
fade_chk++;
}
}
}
return( (fade_chk==cnt)? 1:0 );
}
/* ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ */
/* 対象をテーブルで指定する版 */
/* ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ */
Uchar Fade2( Uchar io, Uchar *tbl, Uchar cnt )
{
sys_w;
Uchar i, sp;
CLASS0_W *cls0;
fade_chk = 0;
sp = (io>>4)/2;
for( i=0; i<cnt; i++ ) {
cls0 = SETCLS0( *(tbl+i) );
if( (io&0x3) == 0 ) { // フェードイン
cls0->r = (cls0->r<0x80-sp)? cls0->r+sp:0x80;
cls0->g = (cls0->g<0x80-sp)? cls0->g+sp:0x80;
cls0->b = (cls0->b<0x80-sp)? cls0->g+sp:0x80;
if( (cls0->r+cls0->g+cls0->b)/3 == 0x80 ) {
fade_chk++;
}
}
else { // フェードアウト
cls0->r = (cls0->r>sp)? cls0->r-sp:0;
cls0->g = (cls0->g>sp)? cls0->g-sp:0;
cls0->b = (cls0->b>sp)? cls0->b-sp:0;
if( (cls0->r+cls0->g+cls0->b) == 0 ) {
cls0->kind = ((io&0x3)<2)? 0:1;
fade_chk++;
}
}
}
return( (fade_chk==cnt)? 1:0 );
}
//==============================================================================
// カーソル設定
//------------------------------------------------------------------------------
// パラメータ
// pos : カーソルタイプ / 選択位置番号 4
0x933C00#
ったら表示OFF */
PartsOFF( cno+i );
PartsOFF( cno+tcnt+i );
if( ++end == tcnt ) {
return( 1 );
}
}
// 選択位置でカーソル移動
if( pos < tcnt ) {
if( i == pos ) {
cls0 = SETCLS0( cur );
cls0->xposi -= MJ_SP;
}
}
else {
if( i == (pos-tcnt) ) {
cls0 = SETCLS0( cur );
cls0->xposi += MJ_SP;
}
}
}
}
if( (m_wk[0]*MJ_SP%sa)==0 ) {
m_wk[1] = (m_wk[1]<tcnt)? m_wk[1]+1:tcnt;
}
}
m_wk[0]++;
return( 0 );
}
//==============================================================================
// 画面タイトル 表示初期位置設定
//------------------------------------------------------------------------------
// パラメータ
// cno : 画面タイトル登録パーツ番号
// sno : 画面タイトルSPD番号
// pal : パレット指定
// pri : 優先度
//==============================================================================
void MojiSetT( Uchar cno, Ushort sno, Uchar pal, Uchar pri )
{
sys_w;
Uchar mx;
CLASS0
0x936400#
nmc : 選手名/データなし登録パーツ番号
// cnt : パーツ数(cnoから連続で)
//------------------------------------------------------------------------------
// 戻り値 : 0(処理中)/1(処理終了)
//==============================================================================
Uchar LdatSio( Uchar io, Uchar cno, Uchar nmc, Uchar cnt )
{
sys_w;
Uchar i, end;
CLASS0_W *cls0, *nam0;
if( io == 0 ) { // スライドイン
for( i=0; i<cnt; i++ ) {
cls0 = SETCLS0( cno+i );
nam0 = SETCLS0( nmc+i );
if( (MJ_SP*MJ_MX/2+MJ_SA*i) > ((l_wk[0]/2)*MJ_SP) ) {
/*cls0->xposi -= MJ_SP;*/
/*nam0->xposi -= MJ_SP;*/
cls0->yposi += MJ_SP/2;
nam0->yposi += MJ_SP/2;
}
else {
/* スライド音コールチェック */
if( (sbit&(1<<i)) == 0 ) {
sbit |= (1<<i);
SD_call( SD_SLIDEIN );
}
if( i == cnt-1 ) {
sbit = 0;
cls0 = SETCLS0( cno );
SetPF4( 0xff8a+cls0->xposi, 0xffdc+cls0->yposi, 0xec, 0x2c, 0x40, 0x50, 0x58, PR8, 1 );
return( 1 );
}
}
}
}
else { // ス
0x93A600#
m % 10;
// 一の位セット
spd[spdtop+4].u = (num<5)? 0x80+num*0x10:0x80+(num-5)*0x10;
spd[spdtop+4].v = (num<5)? 0x00:0x10;
spd[spdtop+4].ysize = 0x10;
}
}
}
//==============================================================================
// 選手名セット
//------------------------------------------------------------------------------
// パラメータ
// cno : 選手名登録パーツ番号
// lno : 対象キャラ番号(ローカル番号)
// top : 対象SPD位置 (タイプ確認 0xff:全キャラ(通常) 以外:固定キャラのみ)
/
0x941A00#
if ((Padbuf[1][1] == 0x73) && ((Padbuf[1][2]&0xf0) == 0xf0)) {
joy->anacon_fg = 1;
joy->anacon_l_x = anacon_caribrate(Padbuf[1][6]);/* 98.9.01 sugi*/
joy->anacon_l_y = anacon_caribrate(Padbuf[1][7]);/* 98.9.01 sugi*/
} else {
joy->anacon_fg = 0;
joy->anacon_l_x = 0;
joy->anacon_l_y = 0;
}
// if (PAUSE_OK_FLAG){
// for(i=0;i<2;i++){
// if (CheckTrg(i+JOY1,P_START)){
// if (PAUSE_FLAG==OFF){
// if (PLAYMODE==P1vsCP && i==1){
// break;
// }
// pause_no=i;
// SD_call(SD_CTL_PAUSE);
// PAUSE_FLAG=ON;
// s->pause_step=0;
// s->pause_step_s=0;
// set_pause(0x0c);
// }
// }
// }
// }
}
/* 98.9.01 sugi 新規作成のアナコン用の関数*/
signed char anacon_caribrate(unsigned char buf)
{
/*遊びの範囲内の場合は*/
if ((buf > ANACON_ASOBI_MIN) && (buf < ANACON_ASOBI_MAX)) return(0);
return(buf - ANACON_NEUTRAL); /*それ以外は、中間値からの差分を取る*/
}
/*#############################################################################
;
; キー入力チェック
;
#############################################################################*/
int joy_check(int id,int mode,long check_trg)
{
sp_w;
register Ushort j_tmp;
j_tmp = (mode==SCAN) ? (sp->joyw[id].joy_w) : (sp->joyw[id].joytrg);
if ((j_tmp&check_trg)>=check_trg){
return(ON);
}else{
return(OFF);
}
}
/*/////////////////////////////////////////////////////////////////////////////
//振動機能 内部関数
/////////////////////////////////////
0x949200#
ポーター*/
};
/*肌4 5タイプ/8color*/
short skin4_pal_v[][2] = { /*size w=8,h=1 肌色*/
{ EPV_P3_X+0xd0, EPV_P3_Y }, /*黄色*/
{ EPV_P3_X+0xd8, EPV_P3_Y }, /*白色*/
{ EPV_P3_X+0xe0, EPV_P3_Y }, /*赤褐色*/
{ EPV_P3_X+0xe8, EPV_P3_Y }, /*黒色*/
{ EPV_P3_X+0xf0, EPV_P3_Y }, /*リストバンド*/
};
/*服1 8タイプ/32color*/
short wear1_pal_v[][2] = { /*size w=32,h=1 服色*/
{ EPV_P4_X+0x00, EPV_P4_Y }, /*黒色*/
{ EPV_P4_X+0x20, EPV_P4_Y }, /*白色*/
{ EPV_P4_X+0x40, EPV_P4_Y }, /*赤色*/
{ EPV_P4_X+0x60, EPV_P4_Y }, /*青色*/
{ EPV_P4_X+0x80, EPV_P4_Y }, /*黄色*/
{ EPV_P4_X+0xa0, EPV_P4_Y }, /*緑色*/
{ EPV_P4_X+0xc0, EPV_P4_Y }, /*紫色*/
{ EPV_P4_X+0xe0, EPV_P4_Y }, /*橙色*/
};
/*服2、服3 8タイプ/16color*/
short wear23_pal_v[][2] = { /*size w=16,h=1 服色*/
{ EPV_P5_X+0x00, EPV_P5_Y }, /*黒色*/
{ EPV_P5_X+0x10, EPV_P5_Y }, /*白色*/
{ EPV_P5_X+0x20, EPV_P5_Y }, /*赤色*/
{ EPV_P5_X+0x30, EPV_P5_Y }, /*青色*/
{ EPV_P5_X+0x40, EPV_P5_Y }, /*黄色*/
{ EPV_P5_X+0x50, EPV_P5_Y }, /*緑色*/
{ EPV_P5_X+0x60, EPV_P5_Y }, /*紫色*/
{ EPV_P5_X+0x70, EPV_P5_Y }, /*橙色*/
};
/*服4、21番、21s、ロゴ 8タイプ/8color*/
short wear4_pal_v[][2] = { /*size w=8,h=1 服色*/
{ EPV_P5_X+0x80, EPV_P5_Y }, /*黒色*/
{ EPV_P5_X+0x88, EPV_P5_Y }, /*白色*/
{ EPV_P5_X+0x90, EPV_P5_Y }, /*赤色*/
{ EPV_P5_X+0x98, EPV_P5_Y }, /*青色*/
{ EPV_P5_X+0xa0, EPV_P5_Y }, /*黄色*/
{ EPV_P5_X+0xa8, EPV_P5_Y }, /*緑色*/
{ EPV_P5_X+0xb0, EPV_P5_Y }, /*紫色*/
{ EP
0x953C00#
key_w_old;
} CLASS_W;
/*--------------------------------------------------------------------------*/
/* (単独物体用) */
/*--------------------------------------------------------------------------*/
typedef struct _CLASS1_W {
Uchar kind;
Uchar rot_flg; /* 回転マトリクスの算出フラグ(0:Z-Y-X 1:Z-X-Y) */
short xposi,yposi,zposi;
SVECTOR rot; /* 現在のローテーション値 */
VECTOR scale; /* 現在のスケール値 */
GsCOORDUNIT DWorld;
/*1999.04.14 深野*/
OBJ3D_W obj3D_w [ 1 ];
MATRIX ls; /* ローカルスクリーンマトリクス */
/* Free Work */
Uchar step0;
Uchar step1;
Uchar step2;
Uchar pclip; /* OFF:表示 ON:非表示 */
short time0;
short time1;
short time2;
short work0;
short work1;
short work2;
short work3;
short work4;
short work5;
short work6;
} CLASS1_W;
/*******************************************
0x956E00#
snd_effect; /* effect SOUND ( 8*4段階 ) */
Uchar bgm_volume; /* BGM volume ( 8*4段階 ) */
Uchar voice_volume; /* 解説 volume ( 8*4段階 ) */
Uchar snd_real; /* real condition 1:オン 0:オフ */
Uchar snd_audio; /* audio 0/ステレオ 1/モノラル */
Uchar view_type; /* view type 0-3 */
short option_flag;
/*振動スイッチ*/
Uchar buru_buru[2]; /*セーブ可能なデータ*/
} SYS0_W;
/************
0x959A00#
= num % 10;
// 一の位セット
spd[spdtop+4].u = num*0x10;
spd[spdtop+4].ysize = 0x10;
}
// 百の位なし
else {
// 十の位セット
spd[spdtop+3].u = (num/10)*0x10;
spd[spdtop+3].ysize = (num/10)? 0x10:0;
num = num % 10;
// 一の位セット
spd[spdtop+4].u = num*0x10;
spd[spdtop+4].ysize = 0x10;
}
}
}
//==============================================================================
// ポイントセット (tp:0x0f/option09.csr)
//------------------------------------------------------------------------------
// パラメータ
// cno : ポイント登録パーツ番号
// spdtop : spd内でのポイント開始位置
// point : 対象ポイント値
//==============================================================================
void PointSet2( Uchar cno, Uchar spdtop, Ushort point )
{
sys_w;
Ushort num;
CLASS0_W *cls0;
SPD_W *spd;
cls0 = SETCLS0( cno );
spd = (SPD_W *)cls0->chara;
// 千の位チェック
spd[spdtop+0].u = ((point/1000)<5)? 0x80+(point/1000)*0x10:0x80+((point/1000)-5)*0x10;
spd[spdtop+0].v = ((point/1000)<5)? 0x00:0x10;
spd[spdtop+0].ysize = (point/1000)? 0x10:0;
num = point%1000;
// 千の位あり
if( spd[spdtop+0].ysize ) {
// コンマ表示
spd[spdtop+1].ysize = 0x10;
// 百の位セット
spd[spdtop+2].u = ((num/100)<5)? 0x80+(num/100)*0x10:0x80+((num/100)-5)*0x10;
spd[spdtop+2].v = ((num/100)<5)? 0x00:0x10;
spd[spdtop+2].ysize = 0x10;
num = num % 100;
// 十の位セット
spd[spdtop+3].u
0x960600#
v; /*CSR番号,UV(上位4bitV,下位4bitU) */
Uchar pw,ph; /*幅,高さ */
Uchar col,hv; /*予備用 */
} OPD_PATTERN_HEADER;
/************************/
/*アニメ実データ構造体 */
/************************/
typedef struct _OPD_ANM_W {
short ptn; /*パターン番号 */
short time; /*表示時間 */
} OPD_ANM_W;
/****************************/
/*アニメ管理パラメータ構造体*/
/****************************/
typedef struct{
Ushort anm; /*動作番
0x968600#
イルテーブル用の定義を追加
LOAD_P1_MODEL LOAD_P2_MODEL LOAD_PL_TEX LOAD_MOTION_DATA1 LOAD_MOTION_DATA2
LOAD_GROUND_MODEL LOAD_GROUND_CSR LOAD_ITEM_MODEL LOAD_ITEM_CSR
1999.01.07 中山 少しファイルテーブル用定義の掃除
******************************************************************************/
/* 1ブロック2048バイト */
#define BL 2048
/*読み込み関数の引数*/
#define LOAD_MC_PROGRAM (0x00) /*MODチップ対策プログラム*/
#define LOAD_CH00_PROGRAM (0x01) /*ストラック*/
0x975600#
:0x20; /* キックターゲット */
spd[2].ysize = (EX_MB)? 0x00:0x20; /* モンスターボックス */
spd[3].ysize = (EX_HL)? 0x00:0x20; /* ハスラー */
spd[4].ysize = (EX_DM)? 0x00:0x20; /* ダルマ */
spd[5].ysize = (EX_BP)? 0x00:0x20; /* ブレインパニック */
}
}
else if( NowSts == EXTRA_VERSION ) {
set2dN( GIMG,0x30fa+pos_sav[EXTRA_GAME],MODE256,0x3e,0,
// テクスチャページ
(pos_sav[EXTRA_GAME]==3)? 0x1a:0x19,
// パレット
(pos_sav[EXTRA_GAME]<3)?
0xe2+po
0x979600#
/**/
f_dum16, /**/
f_dum17, /**/
f_dum18, /**/
f_dum19, /**/
f_dum1a, /**/
F_E_a, /*a*/
F_E_b, /*b*/
F_E_c, /*c*/
F_E_d, /*d*/
F_E_e, /*e*/
F_E_f, /*f*/
F_E_g, /*g*/
F_E_h, /*h*/
F_E_i, /*i*/
F_E_j, /*j*/
F_E_k, /*k*/
F_E_l, /*l*/
F_E_m, /*m*/
F_E_n, /*n*/
F_E_o, /*o*/
F_E_p, /*p*/
F_E_q, /*q*/
F_E_r, /*r
0x980C00#
f0,0xc0,0x00b0,0xffb8,0x0f},
};
SPD_W bg_uu_spd[]={ // BG U 上
{DAT,0x40,0x40,0x00,0x00,0xff40,0xff88,0x0e},
{DAT,0x40,0x40,0x40,0x00,0xff80,0xff88,0x0e},
{DAT,0x40,0x40,0x00,0x40,0xffc0,0xff88,0x0e},
{DAT,0x40,0x40,0x40,0x40,0x0000,0xff88,0x0e},
{DAT,0x40,0x40,0x80,0x00,0x0040,0xff88,0x0e},
{END,0x40,0x40,0xc0,0x00,0x0080,0xff88,0x0e},
};
SPD_W bg_ud_spd[]={ // BG U 下
{DAT,0x18,0x18,0x60,0xa0,0xff40,0x0060,0x0e},
{DAT,0x40,0x18,0x80,0x40,0xff58,0x0060,0x0e},
{DAT,0x40,0x18,0xc0,0x40,0xff98,0x0060,0x0e},
{DAT,0x40,0x18,0x80,0x58,0xffd8,0x0060,0x0e},
{DAT,0x40,0x18,0xc0,0x58,0x0018,0x0060,0x0e},
{DAT,0x28,0x10,0x30,0xf0,0x0058,0x0068,0x0e},
{END,0x28,0x10,0x58,0xf0,0x0080,0x0068,0x0e},
};
SPD_W bg_ur_spd[]={ // BG U 右
{DAT,0x18,0x30,0x60,0xb8,0x00a8,0xff98,0x0e},
{DAT,0x18,0x40,0x18,0x80,0x00a8,0xffc8,0x0e},
{DAT,0x18,0x40,0x18,0xc0,0x00a8,0x0008,0x0e},
{END,0x20,0x30,0x30,0x80,0x00a0,0x0048,0x0e},
};
SPD_W bg_ul_spd[]={ // BG U 左
{DAT,0x18,0x20,0x60,0
0x988C00#
#define PD_BLOOD(NUM) ( pl_data[NUM][3]%10 ) /*血液型*/
#define PD_HAND(NUM) ( pl_data[NUM][4]/10 ) /*利き手*/
#define PD_FOOT(NUM) ( pl_data[NUM][4]%10 ) /*利き足*/
#define PD_YEAR(NUM) ( pl_data[NUM][5] ) /*生まれた年*/
#define PD_MONTH(NUM) ( pl_data[NUM][6] ) /*生まれた月*/
#define PD_DAY(NUM) ( pl_data[NUM][7] ) /*生まれた日*/
#define PD_STAMI(NUM) ( pl_data[NUM][8]/10 ) /*スタミナ*/
#define PD_POWER(NUM) ( pl_data[NUM][8]%10 ) /*パワー*/
#define PD_SPEED(NUM) ( pl_data[NUM][9]/10 ) /*スピード*/
#define PD_TYPE(NUM) ( pl_data[NUM][9]%10 ) /*タイプ*/
#define PD_AB_SO(NUM) ( pl_data[NUM][10]/10 ) /*ストラックアウトのアビリティ*/
#define PD_AB_KT(NUM) ( pl_data[NUM][10]%10 ) /*キックターゲットのアビリティ*/
#define PD_AB_MB(NUM) ( pl_data[NUM][11]/10 ) /*モンスターボックスのアビリティ*/
#define PD_AB_SH(NUM) ( pl_data[NUM][11]%10 ) /*ショットガンタッチのアビリティ*/
#define PD_AB_TW(NUM) ( pl_data[NUM][12]/10 ) /*タッグオブウォーのアビリティ*/
#define P
0x98DC00#
,0x70,0xf8,0xffc2,0x0028,0x20},
{DAT,0x08,0x08,0x60,0xf8,0xffc2,0x0018,0x20},
{DAT,0x08,0x08,0x68,0xf8,0xffc2,0x0020,0x20},
{DAT,0x10,0x08,0x60,0x78,0xffb2,0x0038,0x20},
{DAT,0x08,0x18,0x68,0x88,0xffca,0x0018,0x20},
{END,0x10,0x08,0x70,0x40,0xffc2,0x0010,0x20},
};
//-----------------------------------------------
// キャラクターセレクト
//-----------------------------------------------
SPD_W face1_spd[]={ // キャラ顔(上段)
{DAT,0x28,0x30,0x00,0x00,(+0x14)+0xff86,0x0002,0x90}, /* 00(1/1) */ /* 9人仕様対応 */
{DAT,0x28,0x30,0x28,0x00,(+0x14)+0xffaf,0x0002,0x90}, /* 01(1/1) */ /* 9人仕様対応 */
{DAT,0x28,0x00,0x50,0x00,0xffd8,0x0002,0x90}, /* 02(1/1) */ /* 欠番 */ /* 9人仕様対応 */
{DAT,0x28,0x30,0x00,0x30,(-0x15)+0x0001,0x0002,0x90}, /* 03(1/1) */ /* 9人仕様対応 */
{DAT,0x28,0x30,0x28,0x30,(-0x15)+0x002a,0x0002,0x90}, /* 04(1/1) */ /* 9人仕様対応 */
{DAT,0x28,0x30,0x50,0x30,(-0x15)+0x0053,0x0002,0x90}, /* 05(1/1) */ /* 9人仕様対応 */
{DAT,0x28,0x00,0x28,0x90,(+0x14)+0xff5d+0x29,0x
0x990400#
disp2d()のプロトタイプ宣言の修正
==================================================================*/
/*p_1.c*/
int main(void);
/*inter.c*/
long v_int(void);
/*p_init.c*/
void system_init(void);
void cold_reset_init(void);
void warm_reset_init(void);
void Graph_Init(void);
void Screen_Set2(Ushort, Ushort);
void rview_init ( void );
void ligit_init ( void );
void BackColorSet(Uchar,Uchar,Uchar);
/*p_2.c*/
void step(void);
void Init(void);
void Init_Trans(void);
void Init_Demo(void);
void Demo(void);
void Select(void);
void Game(void);
void Ending(void);
void step_up(void);
void step_set(Uchar);
void sstep_up(void);
void sstep_set(Uchar);
void ssstep_up(void);
void ssstep_set(Uchar);
void gstep_up(void);
void gstep_set(Uchar);
void sp_gstep_set(u_char);
void sp_step0_set(u_char);
void sp_step0_up (void);
void sp_step1_set(u_char);
void sp_step1_up (void);
/*p_io.c*/
void joy_init();
void joy_read(void);
int joy_check(int, int, long
0x993200#
クアウト
{END,0x60,0x40,0x00,0x00,0xffd2,0x0000,0x10},
};
SPD_W exgimg2_spd[]={ // イメージ画面(ゲーム選択)
// キックターゲット
{END,0x60,0x40,0x00,0x40,0xffd2,0x0000,0x10},
};
SPD_W exgimg3_spd[]={ // イメージ画面(ゲーム選択)
// モンスターボックス
{END,0x60,0x40,0x00,0xc0,0xffd2,0x0000,0x10},
};
SPD_W exgimg4_spd[]={ // イメージ画面(ゲーム選択)
// ハスラー
{DAT,0x20,0x40,0x60,0x00,0xffd2,0x0000,0x10},
{DAT,0x20,0x40,0x60,0x40,0xfff2,0x0000,0x10},
{END,0x20,0x40,0x60,0x80,0x0012,0x0000,0x10},
};
SPD_W exgimg5_spd[]={ // イメージ画面(ゲーム選択)
// ダルマ
{END,0x60,0x40,0x00,0x80,0xffd2,0x0000,0x10},
};
SPD_W exgimg6_spd[]={ // イメージ画面(ゲーム選択)
// ブレインパニック
{DAT,0x20,0x40,0x60,0x00,0xffd2,0x0000,0x10},
{DAT,0x20,0x40,0x60,0x40,0xfff2,0x0000,0x10},
{END,0x20,0x40,0x60,0x80,0x0012,0x0000,0x10},
};
SPD_W exver_so0_spd[]={ // 文字
// STRUCK OUT
{DAT,0x10,0x10,0x20,0x60,0xff8c,0xffd8,0x04},
{DAT,0x10,0x10,0x30,0x60,0xff95,0xffd8,0x04},
{DAT,0x10,0x10,0x10,0x60,0xffa0,0xffd8,0x04},
{DAT,0x10,0x10,0x40,0x60,0xffaa,0xffd8,0x04},
{DAT,0x10,0x10,0x20,0x40,0xffb5,0xffd8,0x04},
{DAT,0x10,0x10,0x20,0x50,0xffc0,0xffd8,0x04},
{DAT,0x10,0x10,0x60,0x50,0xffce,0xffd8,0x04},
{DAT,0x10,0x10,0x40,0x60,0xffd9,0xffd8,0x04},
{DAT,0x10,0x10,0x30,0x60,0xffe4,0xffd8,0x04},
// ストラックアウト
{DAT,0x10,0x10,0x70,0x80,0xff8d,0xffe4,0x04},
{DAT,0x10,0x10,0x20,0x90,0xff98,0xffe4,0x04},
{DAT,0x10,0x10,0x60,0x90,0xffa4,0xffe4,0x04},
{DAT,0x10,0x10,0x60,0xb0,0xffaf,0xffe4,0x04},
{DAT,0x10,0x10,0x50,0x80,0xffbb,0xff
0x998600#
me1_spd, /* 0x30c8 */ /* 選手名1 */
(Ulong)rep_name2_spd, /* 0x30c9 */ /* 2 */
(Ulong)rep_name3_spd, /* 0x30ca */ /* 3 */
(Ulong)rep_name4_spd, /* 0x30cb */ /* 4 */
(Ulong)rep_mdgm1_spd, /* 0x30cc */ /* モード/競技名1*/
(Ulong)rep_mdgm2_spd, /* 0x30cd */ /* 2*/
(Ulong)rep_mdgm3_spd, /* 0x30ce */ /* 3*/
(Ulong)rep_mdgm4_spd, /* 0x30cf */ /* 4*/
(Ulong)rep_data1_spd, /* 0x30d0 */ /* データ情報1 */
(Ulong)rep_data2_spd, /* 0x30d1 */ /* 2 */
(Ulong)rep
0x9A1E00#
0xff ); // プレート設定(spd操作リセット)
PMarkSet( cno+8+i, 0xff, r_info[type][i].Sousa ); // プレイヤーマークセット
JunSet( cno+16+i, 0xff, r_info[type][i].Rank ); // 順位数字セット
NameSet( cno+24+i, r_info[type][i].Chara, 0xff ); // 選手名セット
PointSet( cno+32+i, 0, Rsum[type][i] ); // ポイントセット
RecordSet( cno+32+i, 0xff, i ); // 競技ランキング成績設定(spd操作リセット)
}
rbit = 0;
}
//==============================================================================
// ランキング スライドイン・アウト
//----
0x9A4600#
==============
void RecordSet( Uchar cno, Uchar gam, Uchar no )
{
sys_w;
CLASS0_W *cls0;
SPD_W *spd;
cls0 = SETCLS0( cno );
spd = (SPD_W *)cls0->chara;
spd[4].ccode = DAT;
spd[5].ysize = spd[6].ysize = 0x00;
spd[7].ysize = spd[8].ysize = 0x00;
switch( gam ) {
case 0: // ストラックアウト
case 1: // キックターゲット
spd[5].ysize = 0x10;
spd[5].u = (gam==0)? 0x10*NI(grinf[0][no]).SO:
0x10*NI(grinf[0][no]).KT;
spd[5].offset_x = 0x0062;
spd[9].xsize = 0x10;
spd[9].
0x9A9600#
f( n < 16 ) { // 勝数0回 (フェーズ1)
spd[n].ysize = 0x08; // 常時固定値
}
else if( n < 32 ) { // 勝数1回 (フェーズ2)
for( i=0; i<8; i++ ) {
spd[16+2*i].xsize = (TOW(i) > 0)? 0x08:0x00;
spd[17+2*i].xsize = (TOW(i) > 0)? 0x08:0x00;
}
}
else if( n < 44 ) { // 勝数1回 (フェーズ3)
for( i=0; i<4; i++ ) {
up4[i] = (TOW(2*i) > TOW(2*i+1))? TOW(2*i):TOW(2*i+1);
spd[32+3*i].ysize = (up4[i] > 0)? 0x08:0x00;
spd[33+3*i].ysize = (up4[i] > 0)? 0x08:0x00;