the cutting room mirror

MR 03 V.BIN

This article has a talk page!
view on tcrf.net

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;