the cutting room mirror

MR 17 V.BIN

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

This is a sub-page of Kinniku Banzuke Vol.2: Aratanaru Genkai he no Chousen!.

0x3BA00#

URU\FGT_K00.VAG    
    { 0x004a5000/0x800+VOFS13,  (0x000030f0+0x7ff)/0x800, FLG1 },   //FURU\FGT_K01.VAG  
    { 0x004a8800/0x800+VOFS13,  (0x00004570+0x7ff)/0x800, FLG1 },   //FURU\FGT_K02.VAG  
    { 0x004ad000/0x800+VOFS13,  (0x00007a40+0x7ff)/0x800, FLG1 },   //FURU\FGT_K03.VAG  
    { 0x004b5000/0x800+VOFS13,  (0x000072a0+0x7ff)/0x800, FLG1 },   //FURU\FGT_K04.VAG  
    { 0x004bc800/0x800+VOFS13,  (0x00004d30+0x7ff)/0x800, FLG1 },   //FURU\FGT_K20.VAG  
    { 0x004c1800/0x800+VOFS13,  (0x000071f0+0x7ff)/0x800, FLG1 },   //FURU\FGT_K24.VAG  
    { 0x004c9000/0x800+VOFS13,  (0x000025e0+0x7ff)/0x800, FLG1 },   //FURU\FGT_K06.VAG  
    { 0x004cb800/0x800+VOFS13,  (0x00003680+0x7ff)/0x800, FLG1 },   //FURU\FGT_K07.VAG  
    { 0x004cf000/0x800+VOFS13,  (0x000032c0+0x7ff)/0x800, FLG1 },   //FURU\FGT_K08.VAG  
    { 0x004d2800/0x800+VOFS13,  (0x00003a00+0x7ff)/0x800, FLG1 },   //FURU\FGT_K09.VAG  
    { 0x004d6800/0x800+VOFS13,  (0x00004890+0x7ff)/0x800, FLG1 },   //FURU\FGT_K10.VAG  
    { 0x004db800/0x800+VOFS13,  (0x00002b50+0x7ff)/0x800, FLG1 },   //FURU\FGT_K11.VAG  
    { 0x004de800/0x800+VOFS13,  (0x00001f90+0x7ff)/0x800, FLG1 },   //FURU\FGT_K12.VAG  
    { 0x004e0800/0x800+VOFS13,  (0x00001d00+0x7ff)/0x800, FLG1 },   //FURU\FGT_K13.VAG  
    { 0x004e2800/0x800+VOFS13,  (0x000031b0+0x7ff)/0x800, FLG1 },   //FURU\FGT_K14.VAG  
    { 0x004e6000/0x800+VOFS13,  (0x00004480+0x7ff)/0x800, FLG1 },   //FURU\FGT_K15.VAG  
    { 0x004ea800/0x800+VOFS13,  (0x00003f40+0x7ff)/0x800, FLG1 },   //FURU\FGT_K16.VAG  
    { 0x004ee800/0x800+VOFS13,  (0x00002220+0x7ff)/0x800, FLG1 },   //FURU\FGT_K17.VAG  
    { 0x004f1000/0x800+VOFS

0xDBE00#

hort                   work3;
    short                   work4;
    short                   work5;
    short                   work6;
    short                   speed;
    short                   power;

    Uchar                   pclip;                              /* 0:画面内 1:画面外          */
    Uchar                   noclip_fg;                      /* 絶対表示フラグ                  */
    Ushort              key_w;                              /* 0xffff=CPU                           */
    Ushort              key_trg;
    Ushort              key_w_old;
} CLASS_W;


/*--------------------------------------------------------------------------*/
/*                  (単独物体用)                                                                                                 */
/*----------------------------------------------------

0x1E5C00#

e Microsoft Exchange"

mes run better and more reliably.
High-quality multimedia performance will dazzle you.

MS Sans Serif
WIN95

Plug and Play

Just plug it in and turn it on. That's how easy it is to install and use Plug and Play devices in Windows 95.
Windows 95 automatically sets up Plug and Play-compatible devices (such as printers, CD-ROM drives, modems, and video and soun

0x2AAA00#

vレッシャーか!?」*/
/*エキストラモード専用*/
/*障害物に当たった時*/
    FP_E48,                             /*「おーっと、これはピンを倒す以前の問題だ!」*/
    FP_E49,                             /*「あーっと、ここで障害物に邪魔されてしまった!」*/
    FP_E50,                             /*「球(ボール)はイメージと異なる方向に転がっていきます」*/
    FP_E51,                             /*「あーっと、罠にはまってしまった?!」*/
    FP_E52,                             /*「あーっ、やっぱりひどい!  このレーンは鬼だ!」*/
};

/*************************************************************
    リプレイ
*************************************************************/
enum {
/*成功*/
    FP_F00 = (FP_E52+1),    /*「(選手名)」「イメージ通りのボールコントロールであります」*/
    FP_F01,                             /*「狙い通りのピンアクションです」*/
    FP_F02,                             /*「(選手名)」「きっちり倒します。すばらしいテクニックです」*/
    FP_F03,                             /*「まさに神業、絶妙なコントロール」*/
    FP_F04,                             /*「絶妙なピンアクションはイメージ通りです」*/
    FP_F05,                             /*「イメージがそのまま現実となりました」*/
    FP_F06,                             /*「理想的な球筋で見事クリアしました」*/

    FP_F07,                             /*「ピンアクションに助けられたようです」*/
    FP_F08,                             /*「まさに奇蹟か。なかなか魅せてくれます」*/
    FP_F09,                             /*「驚異のピンアクションで辛くもクリアしました」*/
    FP_F10,                             /*「九死に一生を得ました」*/
/*失敗*/
    FP_F11,                             /*「球はピンにかすりもしません」*/
    FP_F12,                             /*「どうしたんでしょうか」*/
    FP_F13,                             /*「かすりもしません」*/
    FP_F14,                             /*「狙いが外れたのか緊張したのか」*/
    FP_F15,                             /*「狙いすぎたんでありましょうか」*

0x448400#

        "GALLON THROW",
        "50M",
        "SPRAY HITTER",
        "GAME MAKER",
        "DEAD MAN",
        "LONG SHOOT",
    };


    SetVideoMode ( MODE_NTSC );
    SetDispMask(0);
    ResetCallback();
    ResetGraph(0);  
    SetGraphDebug(0);

#if SD_CD
    CdInit();
#if !SD_VAB_CD
    PCinit();
#endif
#else
    PCinit();
#endif

    g_PadInit();        /*パッドの初期化*/

    FntLoad(960, 256);  
    SetDumpFnt(FntOpen(16, 32, 320, 240, 0, 512));

    SetDefDrawEnv(&draw[0], 0,   0, 320, 240);
    SetDefDispEnv(&disp[0], 0, 240, 320, 240);
    SetDefDrawEnv(&draw[1], 0, 240, 320, 240);
    SetDefDispEnv(&disp[1], 0,   0, 320, 240);

    draw[0].isbg = draw[1].isbg = 1;
    setRGB0(&draw[0], 0, 0, 50);    /* (R,G,B)=(0,0,50) */
    setRGB0(&draw[1], 0, 0, 50);    /* (R,G,B)=(0,0,50) */


        /*サウンドシステム起動*/
    SsInit();
    EV=OpenEvent(RCntCNT3,EvSpINT,EvMdINTR,v_int);
    SetRCnt(RCntCNT3,1,RCntMdINTR);
    EnableEvent(EV);
    StartRCnt(RCntCNT3);
    ExitCriticalSection();

    SD_start_up();
    Kyougi = 0;     /*ここに競技#を入れる*/
    SE_kind = 2;    /*ここにはSEの種�

0x453200#

チてしまったー!」*/
    FK4_C43,                                /*「最後の最後が決められないっ」*/
};

/*************************************************************
    成功
*************************************************************/
enum {
/*汎用*/
    FK3_F00 = (FK4_C43+1),  /*「決めたっ」「*番!」*/
    FK3_F01,                                /*「取ったー!」「*番!」*/
    FK3_F02,                                /*「*番!」「鮮やかっ!」*/
    FK3_F03,                                /*「*番!」「ゲット!」*/
/*宣言どおり*/
    FK3_F04,                                /*「*番、」「宣言通りだー!」*/
    FK3_F05,                                /*「*番」「宣言どーりっ」*/
    FK3_F06,                                /*「宣言通り!命中!」「*番!」*/
    FK3_F07,                                /*「取ったーっ、宣言通り!」「*番!」*/
    FK3_F08,                                /*「宣言通り!」「*番!」*/
    FK3_F09,                                /*「決めたっ、宣言どーりっ」*/
    FK3_F10,                                /*「行った、宣言どーりっ」*/
    FK3_F11,                                /*「宣言通りだー!」*/
    FK3_F12,                                /*「狙った通り!」*/
    FK3_F13,                                /*「とりました、宣言通り!」*/
    FK3_F14,                                /*「どうだ、宣言通り!」*/
    FK3_F15,                                /*「宣言通り!スナイパーだー!」*/
/*記録更新*/
    FK3_F16,                                /*「行ったーっ、ついに記録更新だっ」*/
    FK3_F17,                                /*「決めたーっ、また記録更新だーっ」*/
    FK3_F18,                                /*「行ったーっ、まだ記録を伸ばして行くっ」*/
/*パーフェクト*/
    FK3_F19,                                /*「行ったーーっ、ついにパーーフェクト達成ーーっ」*/
    FK3_F20,                                /*「パーーーーフェクト、ついにパーーーフェクトっ」*/
    FK3_F21,                                /*「最後を決めたーーっ、パーフェクトだーーっ」*/

/*感嘆詞*/
    FK4_D00,                                /*「おおーっ!」*/
    FK4_D01,                                /*「おーっ!」*/
    FK4_D02,                                /*「

0x455400#

ヤです、4番を」*/
    FK2_E05,                                /*「5番です、5番を」*/
    FK2_E06,                                /*「6番です、6番を」*/
    FK2_E07,                                /*「7番です、7番を」*/
    FK2_E08,                                /*「8番です、8番を」*/
    FK2_E09,                                /*「9番です、9番を」*/

/*通常テンション*/
    FK3_K01,                                /*「1番」*/
    FK3_K02,                                /*「2番」*/
    FK3_K03,                                /*「3番」*/
    FK3_K04,                                /*「4番」*/
    FK3_K05,                                /*「5番」*/
    FK3_K06,                                /*「6番」*/
    FK3_K07,                                /*「7番」*/
    FK3_K08,                                /*「8番」*/
    FK3_K09,                                /*「9番」*/
/*ハイテンション*/
    FK2_F01,                                /*「1番!」*/
    FK2_F02,                                /*「2番!」*/
    FK2_F03,                                /*「3番!」*/
    FK2_F04,                                /*「4番!」*/
    FK2_F05,                                /*「5番!」*/
    FK2_F06,                                /*「6番!」*/
    FK2_F07,                                /*「7番!」*/
    FK2_F08,                                /*「8番!」*/
    FK2_F09,                                /*「9番!」*/

/*ハイテンション*/
    FK2_G01,                                /*「1枚!」*/
    FK2_G02,                                /*「2枚!」*/
    FK2_G03,                                /*「3枚!」*/
    FK2_G04,                                /*「4枚!」*/

/*通常テンション*/
    FK3_H01,                                /*「1枚!」*

0x457600#

v*/
    DUMa4,      /*武豊*/
    DUMa5,      /*舞の海*/
    DUMa6,      /*うしおくん*/
    FZ_10K,                                 /*「金剛くんの」*/
    FZ_10H,                                 /*「ゴン中山の」*/
    FZ_10I,                                 /*「井原正巳の」*/

/*フルネームの ハイテンション*/
    FZ_11F,                                 /*「松井秀喜の」*/
    FZ_11P,                                 /*「ラモス瑠偉の」*/
    FZ_11R,                                 /*「大森晃の」*/
    DUMb2,      /*松坂大輔*/
    FZ_11L,                                 /*「秋山幸二の」*/
    FZ_11W,                                 /*「工藤公康の」*/
    FZ_11H2,                                /*「中山雅史の」*/
    FZ_11B,                                 /*「池谷直樹の」*/
    FZ_11A,                 

0x458C00#

uそれではリプレイを見てみましょう」*/
    SY_007,                                 /*「リプレイで振り返ってみましょう」*/
};

/*************************************************************
    選手名 ものすごくダミー
*************************************************************/
enum {
/*通常テンション*/
    SN_00F = (SY_007+1),        /*「松井選手」*/
    SN_00P,                                 /*「ラモス選手」*/
    sDUM01,     /*大森*/
    sDUM02,     /*松坂*/
    SN_00L,                                 /*「秋山選手」*/
    sDUM03,     /*工藤*/
    SN_00H,                                 /*「中山選手」*/
    SN_00B,                                 /*「池谷選手」*/
    SN_00A,                                 /*「ケイン選手」*/
    SN_00D,                                 /*「古田選手」*/
    sDUM04,     /*武*/
    sDUM05,     /*舞の海*/
    sDUM06,     /*うしおくん*/
    SN_00K,                                 /*「金剛くん」*/

/*ハイテンション*/
    SG_NAF,                                 /*「松井」*/
    SG_NAP,                                 /*「ラモス」*/
    sDUM11,     /*大森*/
    sDUM12,     /*松坂*/
    sDUM13,     /*秋山*/
    sDUM14,     /*工藤*/
    SG_NAH,                                 /*「中山」*/
    SG_NAB,                                 /*「池谷」*/
    SG_NAA,                                 /*「ケイン」*/
    SG_NAD,                                 /*「古田」*/
    sDUM15,     /*武*/
    sDUM16,     /*舞

0x45A600#

/
    HK1_B40,                                /*「何かやってくれそうな予感がします」*/
    HK1_B41,                                /*「パーフェクトの達成を期待しております」*/
    HK1_B42,                                /*「あまり無理はしないと話しておりました」*/
    HK1_B43,                                /*「決して、体格的にはこの競技に向きません」*/

/*集中力について*/
/*特徴の「かみ」から続く「しも」の部分*/
    HK1_B45,                                /*「集中力も重要なポイントの一つです」*/
    HK1_B46,                                /*「かなりの集中力を必要とします、この競技」*/
    HK1_B47,                                /*「繊細な神経とそこから生まれる集中力が結果を左右いた

0x45BE00#

」*/
};
/*************************************************************
宣言後
*************************************************************/
enum {
    HK2_C00 = (HK2_B19+1),  /*「*番を」「宣言しました」 */
    HK2_C01,                                /*「*番を」「狙います」*/
    HK2_C02,                                /*「*番を」「狙っています」*/

    HK2_C03,                                /*「狙うのは、」「*番!」*/
    HK2_C04,                                /*「*番を」「宣言!」 */
    HK2_C05,                                /*「*番を」「狙っている!」*/

/*共通 しも*/
    HK2_C06,                                /*「宣言通りにいくでしょうか!?」*/

0x45D600#

                               /*「あぁーっと、これも失敗!どうした」「(選手名!)」*/
    HK2_F14,                                /*「ダメだ、外したーっ」*/
    HK2_F15,                                /*「外してしまったーっ」*/
    HK2_F16,                                /*「わずかに外れました!」*/
    HK2_F17,                                /*「外れたー!」*/
    HK2_F18,                                /*「駄目だー!」*/
    HK2_F19,                                /*「駄目だこりゃー!」*/
    HK2_F20,                                /*「はずした、はずした、はずしたー!」*/
    HK2_F21,                                /*「外した!外したー!」*/
    HK2_F22,                                /*「大きく外してしまったーっ」*/
    HK2_F23,                                /*「全く見当違いの所

0x45FA00#

/*「1番を」*/
    HK2_O02,                                /*「2番を」*/
    HK2_O03,                                /*「3番を」*/
    HK2_O04,                                /*「4番を」*/
    HK2_O05,                                /*「5番を」*/
    HK2_O06,                                /*「6番を」*/
    HK2_O07,                                /*「7番を」*/
    HK2_O08,                                /*「8番を」*/
    HK2_O09,                                /*「9番を」*/

    HK2_P01,                                /*「1球目」*/
    HK2_P02,                                /*「2球目」*/
    HK2_P03,                                /*「3球目」*/
    HK2_P04,                                /*「4球目」*/
    HK2_P05,                                /*「5球目」*/
    HK2_P06,                                /*「6球目」*/
    HK2_P07,                                /*「7球目」*/
    HK2_P08,                                /*「8球目」*/
    HK2_P09,                                /*「9球目」*/
    HK2_P10,                                /*「10球目」*/
    HK2_P11,                                /*「11球目」*/
    HK2_P12,                                /*「12球目」*/
    HK2_P13,                                /*「13球目」*/

    HK2_Q02,                                /*「2連続」*/
    HK2_Q03,                                /*「3連続」*/
    HK2_Q04,                                /*「4連続」*/
    HK2_Q05,                                /*「5連続」*/
    HK2_Q06,                                /*「6連続」*/
    HK2_Q07,                                /*「7連続」*/
    HK2_Q08,                                /*「8連続」*/
    /*通常テンション*/
    HK2_R00,                                /*「0枚」*/
    HK2_R01,                                /*「1枚」*/
    HK2_R02,                                /*「2枚」*/
    HK2_R03,                                /*「3枚」*/
    HK2_R04,                                /*「4枚」*/
    HK2_R05,                                /*「5枚」*/
    HK2_R06,                                /*「6枚」*/
    HK2_R07,                                /*「7枚」*/
    HK2_R08,                                /*「8枚」*/
    HK2_R09,                                /*「9枚」*/
    /*通常テンション*/
    HK2_S00,                                /*「ゼロ」*/
    HK2_S01,                                /*「1つ」*/
    HK2_S02,                                /*「2つ」*/
    HK2_S03,                                /*「3つ」*/
    HK2_S04,                                /*「4つ」*/
    HK2_S05,                                /*「5つ」*/
    HK2_S06,                                /*「6つ」*/
    HK2_S07,                                /*「7つ」*/
    HK2_S08,                                /*「8つ」*/
    HK2

0x461D30#

jend
 800A9518  _pchild03_sbss_obj
 800A9518  _pchild03_bss_org
 800A9518  _pchild03_bss_obj
 800A951C  NameSetED
 800A95C4  So_K9_Stage_Clear
 800A95D4  EditYaSet
 800A9728  sgt_replay
 800A9748  So_H藤も」*/
    HZ_12H,                             /*「中山も」*/
    HZ_12B,                             /*「池谷も」*/
    HZ_12A,                             /*「ケインも」*/
    HZ_12D,                             /*「古田も」*/
    HZ_12T,                             /*「武も」*/
    HZ_12U,                             /*「舞も海も」*/
    HZ_12V,                             /*「うしおくんも」*/
    HZ_12K,                             /*「金剛くんも」*/
    HZ_12R2,                            /*「おさるも」*/
};



#endif  /*_MR_CMN2_H*/
    .type   0xb;    .endef
    .def    HK2_J09;    .val    4223;   .scl    16; .type   0xb;    .endef
    .def    HK2_K01;    .val    4224;   .scl    16; .type   0xb;    .endef
    .def    HK2_K02;    .val    4225;   .scl    16; .t

0x48AE00#

/0x800, 1  },   
   { 0x0025a800/0x800+ (13000- 0 ) ,   (0x00004120+0x7ff)/0x800, 1  },  
   { 0x0025f000/0x800+ (13000- 0 ) ,   (0x00003740+0x7ff)/0x800, 1  },  
   { 0x00262800/0x800+ (13000- 0 ) ,   (0x00006e90+0x7ff)/0x800, 1  },  
   { 0x00269800/0x800+ (13000- 0 ) ,   (0x00004990+0x7ff)/0x800, 1  },  
   { 0x0026e800/0x800+ (13000- 0 ) ,   (0x00003a90+0x7ff)/0x800, 1  },  
   { 0x00272800/0x800+ (13000- 0 ) ,   (0x00004bd0+0x7ff)/0x800, 1  },  
   { 0x00277800/0x800+ (13000- 0 ) ,   (0x000066b0+0x7ff)/0x800, 1  },  
   { 0x

0x48D600#

0x00450800/0x800+ (13000- 0 ) ,    (0x00005820+0x7ff)/0x800, 1  },  
   { 0x00456800/0x800+ (13000- 0 ) ,   (0x00004eb0+0x7ff)/0x800, 1  },  
   { 0x0045b800/0x800+ (13000- 0 ) ,   (0x00003710+0x7ff)/0x800, 1  },  
   { 0x0045f000/0x800+ (13000- 0 ) ,   (0x00004b30+0x7ff)/0x800, 1  },  
   { 0x00464000/0x800+ (13000- 0 ) ,   (0x00003480+0x7ff)/0x800, 1  },  
   { 0x00467800/0x800+ (13000- 0 ) ,   (0x00004560+0x7ff)/0x800, 1  },  
   { 0x0046c000/0x800+ (13000- 0 ) ,   (0x00005350+0x7ff)/0x800, 1  },  
   { 0x00471800/0x800+ (130

0x490200#








 











 












 




# 233 "c:/sony/psx/include\\r3000.h" 3












# 11 "c:/sony/psx/include\\kernel.h" 2 3




# 1 "c:/sony/psx/include\\asm.h" 1 3
 


 







































# 77 "c:/sony/psx/include\\asm.h" 3



 







































 




































# 15 "c:/sony/psx/include\\kernel.h" 2 3



  











































































struct ToT {
    unsigned long *head;
    long size;
};

struct TCBH {
    struct TCB *entry;   
    long flag;
};

struct TCB {
    long status;
    long mode;
    unsigned long reg[40 ];  
    long system[6];          
};

struct EvCB {
    unsigned long desc; 
    long status;
    long spec;
    long mode;
    long (*FHandler)();
    long system[2];          
};


struct EXEC {                   
        unsigned long pc0;      
        unsigned long gp0;      
        unsigned long t_addr;   
        unsigned long t_size;   
        unsigned long d_addr;   
        unsigned long d_size;   
        unsigned long b_addr;   
        unsigned long b_size;   
    unsigned long s_addr;
    unsigned long s_size;
    unsigned long sp,fp,gp,ret,base;
};


struct XF_HDR {
    char key[8];
    unsigned long text;
    unsigned long data;
    s

0x491A00#

x0(MATRIX *m0,MATRIX *m1);
extern MATRIX *MulMatrix(MATRIX *m0,MATRIX *m1);
extern MATRIX *MulMatrix2(MATRIX *m0,MATRIX *m1);
extern MATRIX *MulRotMatrix(MATRIX *m0);
extern MATRIX *SetMulMatrix(MATRIX *m0,MATRIX *m1);
extern MATRIX *SetMulRotMatrix(MATRIX *m0);
extern VECTOR *ApplyMatrix(MATRIX *m,SVECTOR *v0,VECTOR *v1);
extern VECTOR *ApplyRotMatrix(SVECTOR *v0,VECTOR *v1);
extern VECTOR *ApplyRotMatrixLV(VECTOR *v0,VECTOR *v1);
extern VECTOR *ApplyMatrixLV(MATRIX *m,VECTOR *v0,VECTOR *v1);
extern SVECTOR *ApplyMatrixSV(MATRIX *m,SVECTOR *v0,SVECTOR *v1);
extern VECTOR *ApplyTransposeMatrixLV(MATRIX *m,VECTOR *v0,VECTOR *v1);
extern MATRIX *RotMatrix(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrixXZY(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrixYXZ(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrixYZX(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrixZXY(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrixZYX(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrix_gte(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrixYXZ_gte(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrixZYX_gte(SVECTOR *r,MATRIX *m);
extern MATRIX *RotMatrixX(long r,MATRIX *m);
extern MATRIX *RotMatrixY(long r,MATRIX *m);
extern MATRIX *RotMatrixZ(long r,MATRIX *m);
extern MATRIX *RotMatrixC(SVECTOR *r,MATRIX *m);
extern MATRIX *TransMatrix(MATRIX *m,VECTOR *v);
extern MATRIX *ScaleMatrix(MATRIX *m,VECTOR *v);
extern MATRIX *ScaleMatrixL(MATRIX *m,VECTOR *v);
extern MATRIX *TransposeMatrix(MATRIX *m0,MATRIX *m1);
extern MATRIX *Com

0x493E00#

d RotPMD_F4(long *pa,u_long *ot,int otlen,int id,int backc);
extern void RotPMD_G4(long *pa,u_long *ot,int otlen,int id,int backc);
extern void RotPMD_FT4(long *pa,u_long *ot,int otlen,int id,int backc);
extern void RotPMD_GT4(long *pa,u_long *ot,int otlen,int id,int backc);

extern void RotPMD_SV_F3(long *pa,long *va,u_long *ot,int otlen,int id,
           int backc);
extern void RotPMD_SV_G3(long *pa,long *va,u_long *ot,int otlen,int id,
           int backc);
extern void RotPMD_SV_FT3(long *pa,long *va,u_long *

0x495A00#

int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_G4(long *pa,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_FT4(long *pa,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_GT4(long *pa,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        

extern void RotRMD_SV_F3(long *pa,long *va,u_long *ot,int otlen,int id, 
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_SV_G3(long *pa,long *va,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_SV_FT3(long *pa,long *va,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_SV_GT3(long *pa,long *va,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_SV_F4(long *pa,long *va,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_SV_G4(long *pa,long *va,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_SV_FT4(long *pa,long *va,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        
extern void RotRMD_SV_GT4(long *pa,long *va,u_long *ot,int otlen,int id,
            int sclip, int hclip, int vclip, int nclipmode);        

extern long p2otz(long p, long projection);
extern long otz2p(long otz, long projection)

0x497E00#

, u_long *p);
extern int MargePrim(void *p0, void *p1);
extern int MoveImage(RECT *rect, int x, int y);
extern int OpenTIM(u_long *addr);
extern int OpenTMD(u_long *tmd, int obj_no);
extern int ResetGraph(int mode);
extern int SetGraphDebug(int level);
extern int StoreImage(RECT *rect, u_long *p);
extern u_long *ClearOTag(u_long *ot, int n);
extern u_long *ClearOTagR(u_long *ot, int n);
extern u_long *FntFlush(int id);
extern u_long *KanjiFntFlush(int id);
extern u_long DrawSyncCallback(void (*f

0x49AC00#

    
    u_long  norn;            
    u_long *primtop;         
    u_long  primn;           
    u_long  scale;           
};

 












typedef struct {
    short   vx, vy, vz;
    u_char  tu, tv;
}       VERT;

typedef struct {
    short   vx, vy, vz;
    u_char  tu, tv;
    CVECTOR col;
}       VERTC;


typedef struct {
    u_long  limit;       
    long    hwd, vwd;    
    int     shift;       
    u_long *org;         
    u_long *pk;      
    long    otz;         
    long    adivz;       
    short   adivw, adivh;    
    long    flg0;        
    long    flg;         
    short   minx, miny, maxx, maxy;  
    short   hwd0, vwd0;  
    u_long *tag;         
    POLY_FT4 si;         
}       GsADIV_FT4;

typedef struct {
    VERT    vt[4];
}       GsADIV_P_FT4;



typedef struct {
    u_long  limit;       
    long    hwd, vwd;    
    int     shift;       
    u_long *org;         
    u_long *pk;      
    long    otz;         
    long    adivz;       
    short   adivw, adivh;    
    long    flg0;        
    long    flg;         
    short   minx, miny, maxx, maxy;  
    short   hwd0, vwd0;  
    u_long *tag;         
    POLY_GT4 si

0x49EE00#

*np, PACKET *pk, 
                        int n, int shift, GsOT *ot, u_long *scratch);
    PACKET *GsTMDfastTF4MFG(TMD_P_TF4 *op, VERT *vp, VERT *np, PACKET *pk, 
                        int n, int shift, GsOT *ot, u_long *scratch);







 
extern RECT CLIP2;       
extern short PSDBASEX[2], PSDBASEY[2];   
extern short PSDIDX;         
extern u_long PSDCNT;        
extern _GsPOSITION POSITION;     
extern DRAWENV GsDRAWENV;    
extern DISPENV GsDISPENV;    
extern MATRIX GsLSMATRIX;    
extern MATRIX GsWSMATRIX;    
extern MATRIX GsWSMATRIX_ORG;    

0x4A2E00#

1,                              
    FK3_H02,                                 
    FK3_H03,                                 
    FK3_H04,                                 
    FK3_H05,                                 
    FK3_H06,                                 
    FK3_H07,                                 
    FK3_H08,                                 

 
    FK3_I01,                                 
    FK3_I02,                                 
    FK3_I03,                                 
    FK3_I04,                                 
    FK3_I05,                                 
    FK3_I06,                                 
    FK3_I07,                                 
    FK3_I08,                                 

 
    FK3_J01,                                 
    FK3_J02,                                 
    FK3_J03,                                 
    FK3_J04,                                 
    FK3_J05,                                 
    FK3_J06,                                 
    FK3_J07,                                 
    FK3_J08,                                 
    FK3_J09,                                 
    FK3_J10,

0x4A5D20#

0,0xf0,0x0050,0xfff3,0x04},        // P
#endif
};
SPD_W   _data4_spd[]={  /*  データ情報4 */
            // パンチアウト  パンチアウト EX
    {END,0x28,0x08,0x58,0x08,0x0033,0xfff8,0x04},       // "レーン"
        // ナインフープス
    {END,0x10,0x10,0x00,0x30,0x0036,0xff;
 



enum {
    HK2_E00 = (HK2_D28+1),   
    HK2_E01,                                 
    HK2_E02,                                 
    HK2_E03,                                 
    HK2_E04,                                 
    HK2_E05,                                 
    HK2_E06,                                 
    HK2_E07,                                 
    HK2_E08,                                 
    HK2_E09,                                 
    HK2_E10,                                 
    HK2_E11,                                 
    HK2_E12,                                 
    HK2_E13,                                 
    HK2_E14,                                 
    HK2_E15,                                 
    HK2_E16,                                 
    HK2_E17,                                 
    HK2_E18,                                 
    HK2_E19,                                 
    HK2_E20,                                 
    HK2_E21,                                 
    HK2_E22,                                 
 
    HK2_E23,                                 
    H

0x4AB200#

            
    O_NG4,                               
    O_NG5,                               

    O_200,                               
    O_ATO,                               
    O_NIMAI,                             

 
    B_SEL_1,                             
    B_SEL_2,                             
    B_EDT_1,                             
    B_EDT_2,                             
    B_PRF_1,                             
    B_PRF_2,                             

    B_REP1_1,                            
    B_REP1_2,                            
    B_REP2_1,                            
    B_REP2_2,                            
    B_REP3_1,                            
    B_REP3_2,                            
    B_REP4_1,                            
    B_REP4_2,                            
    B_REP5_1,                            
    B_REP5_2,                            
    B_REP6_1,                            
    B_REP6_2,                            

    B_MAE_1,                             
    B_MAE_2,                             
    B_MAE_3,                             
    B_MAE_4,                             
    B_MAE_5,                             
    B_MAE_6,                             

    B_PSEL_1,                            
    B_PSEL_2,                            
    B_PTHE_1,                            
    B_PTHE_2,                            

    B_FIN_1,                             
    B_FIN_2,                             
    B_FIN_3,                             

    B_YAMABA1,                       
    B_YAMABA2,                       
    B_PFCT,                              
    B_RESULT,                            
    B_RANK,                              
    B_HYO_1,                             
    B_HYO_2,                             
};





 



enum {
 
    I_LARGE1 = ((2048 +1000) +2000) ,        
    I_LARGE2,                                    
    I_MID1,                                      
    I_MID2,                                      
    I_SMALL1,                                    

    I_NG4,                                       
 
    O_LARGE1,                                    
    O_MID1,                                      
    O_SMALL1,                                    


 
    B_SELECT3,                               
    B_OPTION,                                    

    B_BRAIN01,                               
    B_INTRO,                                     
    B_B_OK1,                                     
    B_B_NG1,                                     

    B_MR_RPL1A,                              
    B_MR_RPL1C,                              
    B_MR_RPL3B,                              
    B_MR_RPL4A,                              
    B_MR_REPMC,                              

    B_SK_INTRO,                              

    B_SYURYOU,                               
    B_JNG_PFCT,                              
    B_D_SEIHA,                               
    B_MR_RPL6,                               


    B_H_INTRO,                               
    B_H_THEORY,                              
    B_H_REP3,       

0x4B1E00#

f  RVECTOR;    .scl    13; .tag    .6fake; .size   24; .type   0x8;    .endef
   .def    .7fake; .scl    10; .type   0x8;    .size   88; .endef
   .def    r01;    .val    0;  .scl    8;  .tag    .6fake; .size   24; .type   0x8;    .endef
   .def    r12;    .val    24; .scl    8;  .tag    .6fake; .size   24; .type   0x8;    .endef
   .def    r20;    .val    48; .scl    8;  .tag    .6fake; .size   24; .type   0x8;    .endef
   .def    r0; .val    72; .scl    8;  .tag    .6fake; .size   24; .type   0x18;   .endef
   .def    r1; .val    76; .scl    8;  .tag    .6fake; .size   24; .type   0x18;   .endef
   .def    r2; .val    80; .scl    8;  .tag    .6fake; .size   24;

0x4B7A00#

f
    .def    r3; .val    28; .scl    8;  .type   0xc;    .endef
    .def    g3; .val    29; .scl    8;  .type   0xc;    .endef
    .def    b3; .val    30; .scl    8;  .type   0xc;    .endef
    .def    p3; .val    31; .scl    8;  .type   0xc;    .endef
    .def    x3; .val    32; .scl    8;  .type   0x3;    .endef
    .def    y3; .val    34; .scl    8;  .type   0x3;    .endef
    .def    pad;    .val    36; .scl    8;  .type   0xf;    .endef
    .def    .eos;   .val    40; .scl    102;    .tag    .36fake;    .size   40; .endef
    .def    LINE_G4;    .scl    13; .tag    .36fake;    .size   40; .type   0x8;    .endef
    .def    .37fake;    .scl    10; .type   0x8;    .size   20; .endef
    .def    tag;    .val    0;  .scl    8;  .type   0xf;    .endef
    .def    r0; .val    4;  .scl    8;  .type   0xc;    .endef
    .def    g0; .val    5;  .scl    8;  .type   0xc;    .endef
    .def    b0; .val    6;  .scl    8;  .type   0xc;    .endef
    .def    code;   .val    7;  .scl    8;  .type   0xc;    .endef
    .def    x0; .val    8;  .scl    8;  .type   0x3;    .endef
    .def    y0; .val    10; .scl    8;  .type   0x3;    .endef
    .def    u0; .val    12; .scl    8;  .type   0xc;    .endef
    .def    v0; .val    13; .scl    8;  .type   0xc;    .endef
    .def    clut;   .val    14; .scl    8;  .type   0xd;    .endef
    .def    w;  .val    16; .scl    8;  .type   0x3;    .endef
    .def    h;  .val    18; .scl    8;  .type   0x3;    .endef
    .def    .eos;   .val    20; .scl    102;    .tag    .37fake;    .size   20; .endef
    .def    SPRT;   .scl    13; .tag    .37fake;    .size   20; .type   0x8;    .endef
    .def    .38fake;    .scl    10; .type   0x8;    .size   16; .endef
    .def    tag;    .val    0;  .scl    8;  .type   0xf;    .endef
    .def    r0; .val    4;  .scl    8;  .type   0xc;    .endef
    .def    g0; .val    5;  .scl    8;  .type   0xc;    .endef
    .def    b0; .val    6;  .scl    8;  .type   0xc;    .endef
    .def    code;   .val    7;  .scl    8;  .type   0xc;    .endef
    .def    x0; .val    8;  .scl    8;  .type   0x3;    .endef
    .def    y0; .val    10; .scl    8

0x4BF600#

4fake; .size   32; .endef
    .def    TMD_P_F4G;  .scl    13; .tag    .84fake;    .size   32; .type   0x8;    .endef
    .def    .85fake;    .scl    10; .type   0x8;    .size   36; .endef
    .def    out;    .val    0;  .scl    8;  .type   0xc;    .endef
    .def    in; .val    1;  .scl    8;  .type   0xc;    .endef
    .def    dummy;  .val    2;  .scl    8;  .type   0xc;    .endef
    .def    cd; .val    3;  .scl    8;  .type   0xc;    .endef
    .def    r0; .val    4;  .scl    8;  .type   0xc;    .endef
    .def    g0; .val    5;  .scl    8;  .type   0xc;    .endef
    .def    b0; .val    6;  .scl    8;  .type   0xc;    .endef
    .def    code;   .val    7;  .scl    8;  .type   0xc;    .endef

0x4C4E00#

e  0xf;    .endef
    .def    hwd;    .val    4;  .scl    8;  .type   0x5;    .endef
    .def    vwd;    .val    8;  .scl    8;  .type   0x5;    .endef
    .def    shift;  .val    12; .scl    8;  .type   0x4;    .endef
    .def    org;    .val    16; .scl    8;  .type   0x1f;   .endef
    .def    pk; .val    20; .scl    8;  .type   0x1f;   .endef
    .def    otz;    .val    24; .scl    8;  .type   0x5;    .endef
    .def    adivz;  .val    28; .scl    8;  .type   0x5;    .endef
    .def    adivw;  .val    32; .scl    8;  .type   0x3;    .endef
    .def    adivh;  .val    34; .scl    8;  .type   0x3;    .endef
    .def    flg;    .val    36; .scl    8;  .type   0x5;    .endef
    .def    minx;   .val    40;

0x4C7600#

.def   pos;    .val    0;  .scl    11; .dim    4;  .size   4;  .type   0x3c;   .endef
   .def    .eos;   .val    4;  .scl    102;    .tag    .127fake;   .size   4;  .endef
   .def    XA_POS_S;   .scl    13; .tag    .127fake;   .size   4;  .type   0x9;    .endef
   .def    .128fake;   .scl    12; .type   0x9;    .size   8;  .endef
   .def    posl;   .val    0;  .scl    11; .type   0xe;    .endef
   .def    pos;    .val    0;  .scl    11; .dim    8;  .size   8;  .type   0x3c;   .endef
   .def    .eos;   .val    8;  .scl    102;    .tag    .128fake;   .size   8;  .endef
   .def    XA_POS2_S;  .scl    13; .tag    .128fake;   .size   8;  .type   0x9;    .endef
   .file   1 "..\\inc\\sd

0x4CD200#

.val   3437;   .scl    16; .type   0xb;    .endef
    .def    FK3_J05;    .val    3438;   .scl    16; .type   0xb;    .endef
    .def    FK3_J06;    .val    3439;   .scl    16; .type   0xb;    .endef
    .def    FK3_J07;    .val    3440;   .scl    16; .type   0xb;    .endef
    .def    FK3_J08;    .val    3441;   .scl    16; .type   0xb;    .endef
    .def    FK3_J09;    .val    3442;   .scl    16; .type   0xb;    .endef
    .def    FK3_J10;    .val    3443;   .scl    16; .type   0xb;    .endef
    .def    FK3_J11;    .val    3444;   .scl    16; .type   0xb;    .endef
    .def    FK3_J12;    .val    3445;   .scl    16; .type   0xb;    .endef
    .def    FK3_J13;    .val    3446;   .scl    16; .type   0xb;    .endef
    .def    FK3_J14;    .val    3447;   .scl    16; .type   0xb;    .endef
    .def    FK4_F01;    .val    3448;   .scl    16; .type   0xb;    .endef
    .def    FK4_F02;    .val    3449;   .scl    16; .type   0xb;    .endef
    .def    FK4_F03;    .val    3450;   .scl    16; .type   0xb;    .endef
    .def    FK4_F04;    .val    3451;   .scl    16; .type   0xb;    .endef
    .def    FK4_F05;    .val    3452;   .scl    16; .type   0xb;    .endef
    .def    FK4_F06;    .val    3453;   .scl    16; .type   0xb;    .endef
    .def    FK4_F07;    .val    3454;   .scl    16; .type   0xb;    .endef
    .def    FK4_F08;    .val    3455;   .scl    16; .type   0xb;    .endef
    .def    FK4_F09;    .val    3456;   .scl    16; .type   0xb;    .endef
    .def    FK4_F10;    .val    3457;   .scl    16; .type   0xb;    .endef
    .def    FK4_F11;    .val    3458;   .scl    16; .type   0xb;    .endef
    .def    FK4_F12;    .val    3459;   .scl    16; .type   0xb;    .endef
    .def    FK4_F13;    .val    3460;   .scl    16; .type   0xb;    .endef
    .def    FK4_F14;    .val    3461;   .scl    16; .type   0xb;    .endef
    .def    .eos;   .val    4;  .scl    102;    .tag    .140fake;   .size   4;  .endef
    .def    .141fake;   .scl    15; .type   0xa;    .size   4;  .endef
    .def    FZ_00F; .val    3462;   .scl    16; .type   0xb;    .endef
    .def    FZ_00P; .val    3463;   .scl    16;

0x4D2A00#

scl    15; .type   0xa;    .size   4;  .endef
    .def    HK1_A00;    .val    3855;   .scl    16; .type   0xb;    .endef
    .def    .eos;   .val    4;  .scl    102;    .tag    .144fake;   .size   4;  .endef
    .def    .145fake;   .scl    15; .type   0xa;    .size   4;  .endef
    .def    HK1_B00;    .val    3856;   .scl    16; .type   0xb;    .endef
    .def    HK1_B01;    .val    3857;   .scl    16; .type   0xb;    .endef
    .def    HK1_B02;    .val    3858;   .scl    16; .type   0xb;    .endef
    .def    HK1_B03;    .val    3859;   .scl    16; .type   0xb;    .endef
    .def    HK1_B04;    .val    3860;   .scl    16; .type   0xb;    .endef
    .def    HK1_B05;    .val    3861;   .scl    16; .type   0xb;    .endef
    .def    HK1_B06;    .val    3862;   .scl    16; .type   0xb;    .endef
    .def    HK1_B07;    .val    3863;   .scl    16; .type   0xb;    .endef
    .def    HK1_B08;    .val    3864;   .scl    16; .type   0xb;    .endef
    .def    HK1_B09;    .val    3865;   .scl    16; .type   0xb;    .endef
    .def    HK1_B14;    .val    3866;   .scl    16; .type   0xb;    .endef
    .def    HK1_B15;    .val    3867;   .scl    16; .type   0xb;    .endef
    .def    HK1_B16;    .val    3868;   .scl    16; .type   0xb;    .endef
    .def    HK1_B17;    .val    3869;   .scl    16; .type   0xb;    .endef
    .def    HK1_B22;    .val    3870;   .scl    16; .type   0xb;    .endef
    .def    HK1_B23;    .val    3871;   .scl    16; .type   0xb;    .endef
    .def    HK1_B24;    .val    3872;   .scl    16; .type   0xb;    .endef
    .def    HK1_B25;    .val    3873;   .scl    16; .type   0xb;    .endef
    .def    HK1_B30;    .val    3874;   .scl    16; .type   0xb;    .endef
    .def    HK1_B31;    .val    3875;   .scl    16; .type   0xb;    .endef
    .def    HK1_B32;    .val    3876;   .scl    16; .type   0xb;    .endef
    .def    HL_A00; .val    3877;   .scl    16; .type   0xb;    .endef
    .def    HK1_B10;    .val    3878;   .scl    16; .type   0xb;    .endef
    .def    HK1_B11;    .val    3879;   .scl    16; .type   0xb;    .endef
    .def    HK1_B35;    .val    3880;   .scl    16; .

0x4D6600#

pe 0xb;    .endef
    .def    HK2_F24;    .val    4124;   .scl    16; .type   0xb;    .endef
    .def    HK2_F25;    .val    4125;   .scl    16; .type   0xb;    .endef
    .def    HK2_F26;    .val    4126;   .scl    16; .type   0xb;    .endef
    .def    HK2_F27;    .val    4127;   .scl    16; .type   0xb;    .endef
    .def    HK2_F28;    .val    4128;   .scl    16; .type   0xb;    .endef
    .def    HK2_F29;    .val    4129;   .scl    16; .type   0xb;    .endef
    .def    HK2_F30;    .val    4130;   .scl    16; .type   0xb;    .endef
    .def    HK2_F31;    .val    4131;   .scl    16; .type   0xb;    .endef
    .def    HK2_F32;    .val    4132;   .scl    16; .type   0xb;    .endef
    .def    HK2_

0x57AE00#

280 ;
    Voice = (3049) ;
    Ouen = ((2048 +1000) +2000) ;
 
 

 
 
    SetDispMask(1);
    while(1){
        PutDrawEnv(frame%2? &draw[0]:&draw[1]);
        PutDispEnv(frame%2? &disp[0]:&disp[1]);

 
                 
 
 
 

        switch ( Jrept1 ){
                 
            case (1<<12)  | (1<< 0)  :
                if ( ++Voice > (((3049) +1488) +voice_max[Kyougi]-1) ){
                    Voice = (3049) ;
                }
                break;
            case (1<<14)  | (1<< 0)  :
                if ( --Voice < (3049)  ){
                    Voice = ((3049) +1488) +voice_max[Kyougi]-1;
                }
                break;

                

0x584C00#

f
    .def    x0; .val    8;  .scl    8;  .type   0x3;    .endef
    .def    y0; .val    10; .scl    8;  .type   0x3;    .endef
    .def    u0; .val    12; .scl    8;  .type   0xc;    .endef
    .def    v0; .val    13; .scl    8;  .type   0xc;    .endef
    .def    clut;   .val    14; .scl    8;  .type   0xd;    .endef
    .def    x1; .val    16; .scl    8;  .type   0x3;    .endef
    .def    y1; .val    18; .scl    8;  .type   0x3;    .endef
    .def    u1; .val    20; .scl    8;  .type   0xc;    .endef
    .def    v1; .val    21; .scl    8;  .type   0xc;    .endef
    .def    tpage;  .val    22; .scl    8;  .type   0xd;    .endef
    .def    x2; .val    24; .scl    8;  .type   0x3;    .endef
    .def    y2; .val    26; .scl    8;  .type   0x3;    .endef
    .def    u2; .val    28; .scl    8;  .type   0xc;    .endef
    .def    v2; .val    29; .scl    8;  .type   0xc;    .endef
    .def    pad1;   .val    30; .scl    8;  .type   0xd;    .endef
    .def    x3; .val    32; .scl    8;  .type   0x3;    .endef
    .def    y3; .val    34; .scl    8;  .type   0x3;    .endef
    .def    u3; .val    36; .scl    8;  .type   0xc;    .endef
    .def    v3; .val    37; .scl    8;  .type   0xc;    .endef
    .def    pad2;   .val    38; .scl    8;  .type   0xd;    .endef
    .def    .eos;   .val    40; .scl    102;    .tag    .26fake;    .size   40; .endef
    .def    POLY_FT4;   .scl    13; .tag    

0x5E3A00#

cl 16; .type   0xb;    .endef
    .def    HZ_11A; .val    4502;   .scl    16; .type   0xb;    .endef
    .def    HZ_11D; .val    4503;   .scl    16; .type   0xb;    .endef
    .def    HZ_11T; .val    4504;   .scl    16; .type   0xb;    .endef
    .def    HZ_11U; .val    4505;   .scl    16; .type   0xb;    .endef
    .def    HZ_11V; .val    4506;   .scl    16; .type   0xb;    .endef
    .def    HZ_11K; .val    4507;   .scl    16; .type   0xb;    .endef
    .def    HZ_11R2;    .val    4508;   .scl    16; .type   0xb;    .endef
    .def    HZ_12F; .val    4509;   .scl    16; .type   0xb;    .endef
    .def    HZ_12P; .val    4510;   .scl    16; .type   0xb;    .endef
    .def    HZ_12R; .val    4511;   .scl    16; .type   0xb;    .endef
    .def    HZ_12S; .val    4512;   .scl    16; .type   0xb;    .endef
    .def    HZ_12L; .val    4513;   .scl    16; .type   0xb;    .endef
    .def    HZ_12W; .val    4514;   .scl    16; .type   0xb;    .endef
    .def    HZ_12H; .val    4515;   .scl    16; .type   0xb;    .endef
    .def    HZ_12B; .val    4516;   .scl    16; .type   0xb;    .endef
    .def    HZ_12A; .val    4517;   .scl    16; .type   0xb;    .endef
    .def    HZ_12D; .val    4518;   .scl    16; .type   0xb;    .endef
    .def    HZ_12T; .val    4519;   .scl    16; .type   0xb;    .endef
    .def    HZ_12U; .val    4520;   .scl    16; .type   0xb;    .endef
    .def    HZ_12V; .val    4521;   .scl    16; .type   0xb;    .endef
    .def    HZ_12K; .val    4522;   .scl    16; .type   0xb;    .endef
    .def    HZ_12R2;    .val    4523;   .scl    16; .type   0xb;    .endef
    .def    .eos;   .val    4;  .scl    102;    .tag    .156fake;   .size   4;  .endef
    .file   1 "MAIN.C"
    .file   1 "..\\inc\\mr_18.h"
    .def    .157fake;   .scl    15; .type   0xa;    .size   4;  .endef
    .def    FL_A00; .val    4537;   .scl    16; .type   0xb;    .endef
    .def    FL_A01; .val    4538;   .scl    16; .type   0xb;    .endef
    .def    .eos;   .val    4;  .scl    102;    .tag    .157fake;   .size   4;  .endef
    .def    .158f

0x5E6200#

pe 0xb;    .endef
    .def    FL_G01; .val    4684;   .scl    16; .type   0xb;    .endef
    .def    FL_G02; .val    4685;   .scl    16; .type   0xb;    .endef
    .def    FL_G03; .val    4686;   .scl    16; .type   0xb;    .endef
    .def    FL_G04; .val    4687;   .scl    16; .type   0xb;    .endef
    .def    FL_G05; .val    4688;   .scl    16; .type   0xb;    .endef
    .def    FL_G06; .val    4689;   .scl    16; .type   0xb;    .endef
    .def    FL_G07; .val    4690;   .scl    16; .type   0xb;    .endef
    .def    FL_G08; .val    4691;   .scl    16; .type   0xb;    .endef
    .def    FL_G09; .val    4692;   .scl    16; .type   0xb;    .endef
    .def    .eos;   .val    4;  .scl    102;    .tag    .166fake;   .size   4;  .endef
    .def    .167fake;   .scl    15; .type   0xa;    .size   4;  .endef
    .def    FL_H00; .val    4693;   .scl    16; .type   0xb;    .endef
    .def    FL_I01; .val    4694;   .scl    16; .type   0xb;    .endef
    .def    FL_I02; .val    4695;   .scl    16; .type   0xb;    .endef
    .def    FL_I03; .val    4696;   .scl    16; .type   0xb;    .endef
    .def    FL_I04; .val    4697;   .scl    16; .type   0xb;    .endef
    .def    FL_I05; .val    4698;   .scl    16; .type   0xb;    .endef
    .def    FL_I06; .val    4699;   .scl    16; .type   0xb;    .endef
    .def    FL_I07; .val    4700;   .scl    16; .type   0xb;    .endef
    .def    FL_I08; .val    4701;   .scl    16; .type   0xb;    .endef
    .def    .eos;   .val    4;  .scl    102;    .tag    .167fake;   .size   4;  .endef
    .def    .168fake;   .scl    15; .type   0xa;    .size   4;  .endef
    .def    SL_001; .val    4702;   .scl    16; .type   0xb;    .endef
    .def    SL_002; .val    4703;   .scl    16; .type   0xb;    .endef
    .def    SL_006; .val    4704;   .scl    16; .type   0xb;    .endef
    .def    .eos;   .val    4;  .scl    102;    .tag    .168fake;   .size   4;  .endef
    .def    .169fake;   .scl    15; .type   0xa;    .size   4;  .endef
    .def    SL_007; .val    4705;   .scl    16; .type   0xb;    .endef
    .def    SL_

0x5EA600#

val    4984;   .scl    16; .type   0xb;    .endef
   .def    HL_G39; .val    4985;   .scl    16; .type   0xb;    .endef
   .def    HL_G40; .val    4986;   .scl    16; .type   0xb;    .endef
   .def    HL_G41; .val    4987;   .scl    16; .type   0xb;    .endef
   .def    HL_G42; .val    4988;   .scl    16; .type   0xb;    .endef
   .def    HL_G45; .val    4989;   .scl    16; .type   0xb;    .endef
   .def    HL_G52; .val    4990;   .scl    16; .type   0xb;    .endef
   .def    HL_G54; .val    4991;   .scl    16; .type   0xb;    .endef
   .def    HL_G55; .val    4992;   .scl    16; .type   0xb;    .endef
   .def    HL_G56; .val    4993;   .scl    16; .type   0xb;    .ende

0x6C9E00#

ic void sgt_normal_skip(void);
static void sgt_skip_jump(void);
static short CPU_report(Uchar r_num, Uchar m_num);
static void CPU_Report_Main(void);
static void make_jumpdata(void);
static Uchar CPU_jump(CLASS_W *cls);
static Uchar CPU_switch(CLASS_W *cls);
static Uchar CPU_press_cnt(short len);

/*test*/
#ifdef TEST
static void came_edit2(void);
void came_edit(void);
#endif

void came_playback(void);
void init_light_sgt(void);
void set_light_sgt(void);


extern volatile short XA_play;

0x6CE200#

の初期化*/
void sgt_all_init(void)
{
    int i;
    int j;
    sys_w;

//  init_light_sgt();                       /*ライトの設定*/

    obj_pos_init3();                            /*オブジェクトの初期化*/
    init_fist(&s->classw[0]);           /*手の状態初期化(両手パー)*/
    SGT_Clear_Replay();                     /*リプレイの保存領域クリア*/

    /*2d関連の初期化*/
    init_report_meter();
    init_s_meter();
    init_shinkoku();
    init_kage();
    init_ball_kage();
    init_swmark();
    init_sw_effect();
    init_footmark();
    init_smoke();
    init_bsmoke();
    clearset_sw_effect();
    clearset_swmark();

    sgt_init_edit_data();                   /*エディトキャラのデータを構築*/
    set_entrybox_inf();                     /*エントリーボックスのデータを移す*/

    sgtp->skip = OFF;
    for(i=0; i<entry_num; i++){     /*競技の記録領域初期化*/
        sgtp->try_len[i] = 990;
        sgtp->suc_len[i] = 0;
        sgtp->my_point[i] = 0;
        sgtp->try_suc[i] = 0;
        sgtp->best_clear[i] = 0;
        for(j=0; j<REPORT_NUM; j++){
            sgtp->trylen2[i][j] = 0;
            sgtp->trysuc2[i][j] = 0;
        }
    }
}


/*エディットキャラの能力からジャンプのパターンを決める*/
static void sgt_init_edit_data(void)
{
    int chr=CR_ED1;

    do{
        /*ジャンプの高さを決める*/
        if(PD_AB_SH(chr)>=7 || PD_PREM1(chr)==3 || PD_PREM2(chr)){
            motion_tbl[chr][0] = MOT_TAKE_L;
        }
        else{
            motion_tbl[chr][0] = MOT_TAKE_H;
        }
        /*自己記録を入れる*/
        mybest[chr] = 1000 + ( PD_AB_SH(chr) + PD_SPEED(chr)*2 )*10;

        /*両手か片手かの確率を求める*/
        motion_tbl[chr][1] = (PD_AGE(chr)+PD_JOB(chr)+PD_BLOOD(chr)+PD_HAND(chr)+PD_FOOT(chr)*10+
                                                    PD_HEIGHT(chr)+PD_WEIG

0x6D5400#

FF);       /*念のため*/
            }
            sgtp->time++;
            break;
        case 1:
            SD_call(B_TOTYU);
            sgtp->time++;
            break;
        case 2:                                                     /*フェードイン*/
            if(MenuFadeIn(32)){
                sgtp->time++;
            }
            break;
        case 3:                                                     /*ボタン入力で終了*/
//          MenuFadeIn(32);
//          if((pad->joytrg & P_RRIGHT) && sgtp->skip == OFF){
            if(pad->joytrg & P_RRIGHT){
                sgtp->time++;
            }
            break;
        default:                                                /*フェードアウト*/
            if(MenuFadeOut(32, 0)){
                sgtp->play_no = 0;
                sgtp->hit = 0;
                bpos->time = 0;
                for(i=0; i<entry_num; i++){
                    if(sgtp->try_suc[i]==1){
                        sgtp->try_suc[i]=0;
                    }
                }
                s->classw[0].pclip = OFF;
                SD_call(SD_CTL_XAKILL2);
                SD_call(SD_CTL_ALLOFF);     /*念のため*/

                sp_step0_set( SGT_SUCCESS );
                sp_step1_set( 0 );
                sp->step3 = 0;
                sgtp->time=0;                           /*SGT_SUCCESSとセット*/
                return;
            }
            g_MAEjun( 0, 1 );
            break;
    }
    g_MAEjun( 1, 1 );
}


/*終了ランキング*/
static void sgt_Finish_Rank(void)
{

0x6D7C00#

discuss==1 && !sgtp->bound){
                        sgtp->discuss = 2;
                    }
                }
                if((sgtp->hit==0)&&(sgtp->minlen>len)){
                    sgtp->minlen = len;     /*当たりはずれに関係なく最少距離確保*/
                }
            }
            body_sp++;
        }
    }

    if(hit_flg){
        cls1->yposi = ball_pos.vy;
        hit_move_init(&init_pos, &min_bpos, cls, cls1, min_oldlen, hit_size, 0);
        return 1;
    }
    return 0;
}



/**********************************************/
/*手に当たったかどうか                                                */
/*--------------------------------------------*/
/*引数        w_3d :obj3D_wのインデックス                    */
/*              coord:pCoordSectのインデックス         */
/*返り値     0:手でない    1:手である                      */
/**********************************************/
static int hand_hit(int w_3d, int coord)
{
    if(w_3d == PARTS_BODY){
        switch(coord){
            case R_KATA:    case R_UDE: case L_KATA:    case L_UDE:
                return 1;
            break;
        }
    }
    switch(w_3d){
        case PARTS_RHAND:       case PARTS_LHAND:
            return 1;
        break;
    }
    return 0;
}


/**************************************/
/*パ

0x6DEC00#


                SD_call(SD_CTL_XAKILL2);                    /*実況を止める*/
//              SD_call(SD_CTL_BGMOFF);                     /*BGMを止める*/
                str_se_off22();                                     /*BGMを止める*/

                g_RRset( rsgt->char_no, 3, (mm<<7)|cm );        /* ←例は 金剛/ショットガン/12m70cm */
                g_RSinit( (Uchar *)rsgt, sizeof(SGT_REPLAY_WORK) );
                PAUSE_FLAG = RSAVE_STEP;                                        /* 中身は sp->pause_fg = 2 */
                sgtp->rstep = 0xff;
            }
            else{
                sgtp->rstep = 0xff;
            }
            break;

#ifdef TEST
        case 10:        /*カメラエディット*/
            came_edit();
            break;
        case 11:        /*カメラ再生*/
            came_playback();
            break;
#endif

        default:                        /*リプレイの終了*/
            if(MenuFadeOut(64, 0)){
                sgtp->camera = 1;
                sgtp->rtime =0;

                if(sp->mode_fg==3){                 /*リプレイモード*/
                    sp->step0++;
                }
                else{
                    sp_step0_set( SGT_PLAY_AFTER );
                    sp_step1_set(0);
                }

                sgtp->rstep = 0;
                sgtp->rtime=0;
                sgtp->rcnt=0;
                sgtp->swit=S_WAIT;
                sgtp->rstep=0;
                DelG2fRepPlate03();
                SD_call(SD_CTL_XAKILL2);
                cle

0x6E4400#

   sgtp->rj_num++;

            rsgt->sd_time[sgtp->rj_num] = sgtp->rtime;
            rsgt->sd_jikkyo[sgtp->rj_num] = FG_H00 + 16 + Random(4);
            SD_call(rsgt->sd_jikkyo[sgtp->rj_num]);
            sgtp->rj_num++;

//          SD_call(FG_H00 + 11 + Random(5));
//          SD_call(FG_H00 + 16 + Random(4));
        }
        else                Pose_Change(cls);
    }

    switch(cls->anime_no){
        case MOT_BEFORE:
            cls->xposi = -runup_tbl[(cls->pose)+32][0];
            cls->zposi = cls1->zposi - runup_tbl[(cls->pose)+32][1];
            break;
        case MOT_JUST:
            cls->xposi = -runup_tbl[(cls->pose)+35][0];
            cls->zposi = cls1->zposi - runup_tbl[(cls->pose)+35][1];
            break;
        case MOT_AFTER:
            cls->xposi = -runup_tbl[(cls->pose)+37][0];
            cls->zposi = cls1->zposi - runup_tbl[(cls->pose)+37][1];
            break;
        case MOT_RUNUP:
        case MOT_RUNUP_IIDA:
            cls->xposi = -runup_tbl[cls->pose][0];
            cls->zposi = cls1->zposi - runup_tbl[cls->pose][1]; 
            break;
        case MOT_RUN:
            Move_char(cls, 100);
            break;
        default:
            break;
    }

    /*パッド入力 この時点ではため

0x6EE200#

gtp->trysuc2[sgtp->play_no][sgtp->report] = sgtp->try*2+1;
                    }
                    else{
//                      sgtp->trysuc2[sgtp->play_no][sgtp->report] = sgtp->try*2+2;
                        set_trysuc2_miss();
                    }
                }

                /*最高記録の更新*/
                if(sgtp->suc_len[sgtp->play_no] > sgtp->best_record){
                    sgtp->best_record = sgtp->suc_len[sgtp->play_no];
                    mybest[sp->chara[0]] = sgtp->suc_len[sgtp->play_no];
                    sgtp->best_clear[sgtp->play_no] = sgtp->report + 1;
                }
                else if(sgtp->suc_len[sgtp->play_no] > mybest[sp->chara[0]]){
                    mybest[sp->chara[0]] = sgtp->suc_len[sgtp->play_no];
                }
                sp_step0_set( SGT_NEXT_PLAYER );                    /*試技回数の更新*/
                sp_step1_set( 0 );
                sgtp->time = 0;
            }
            break;
    }
    set_motion_se(&s->classw[0]);                           /*モーションによるSE*/
    After_camera(cls);
}


static void After_camera(CLASS_W *cls)
{
    if(cls->zposi >=1800*BAIRITU  && cls->zposi < 2200*BAIRITU){
        Set_Move_Camera(&came_tbl[3],&came_tbl[14], 1800*BAIRITU, 2200*BAIRITU, cls, 0);
    }
    else if(cls->zposi < 1800*BAIRITU){
        Set_Move_Camera(&came_tbl[6],&came_tbl[3], 1500*BAIRITU, 1800*BAIRITU, cls, 0);
    }
}


/*強制ショートリプレイ*/
static void sgt_Playback(void)
{
    sys_w;

    if(sgtp->e_playback>0 && sgtp->e_playback<70){
        playback_switch();
        /*実質的にリプレイだが連打の取込みとスピードゲージの表示を行う*/
        Press_cnt();

        set_motion_se(&s->classw[0]);
    }
    else{
//      clearset_s_meter();
        playback_jump();
    }
    disp_shinkoku();
}


/**********************************/
/*ショートリプレイ