This is a sub-page of Kinniku Banzuke Vol.1: Ore ga Saikyou no Otoko da!.
0x2FA00#
6
sw $0,16($sp)
.set noreorder
.set nomacro
jal disp4d_BOT
sw $0,20($sp)
.set macro
.set reorder
.loc 1 723
LM167:
addu $4,$18,11452
li $5,19 # 0x00000013
move $6,$0
move $7,$6
sw $0,16($sp)
.set noreorder
.set nomacro
jal disp4d_BOT
sw $0,20($sp)
.set macro
.set reorder
.loc 1 724
LM168:
addu $4,$18,11636
li $5,20 # 0x00000014
move $6,$0
move $7,$6
sw $0,16($sp)
.set noreorder
.set nomacro
jal disp4d_BOT
sw $0,20($sp)
.set macro
.set reorder
.loc 1 728
LM169:
$Le9:
.bend $Le9 62
li $2,32 # 0x00000020
$L66:
sb $2,249($21)
li $2,192 # 0x000000c0
sb $0,248($21)
sb $2,250($21)
.loc 1 731
LM170:
.set noreorder
.set nomacro
jal So_Gstep_Up
sb $16,312($18)
.set macro
.set reorder
.loc 1 734
LM171:
lw $31,48($sp)
lw $21,44($sp)
lw $20,40($sp)
lw $19,36($sp)
lw $18,32($sp)
lw $17,28($sp)
lw $16,24($sp)
.loc 1 733
LM172:
move $2,$0
.loc 1 734
LM173:
.set noreorder
.set nomacro
j $31
addu $sp,$sp,56
.set macro
.set reorder
.loc 1 734
LM174:
.end So_Model_Init
.align 2
.def So_First_Init; .val So_First_Init; .scl 2; .type 0x24; .endef
.globl So_First_Init
.loc 1 741
LM175:
.loc 1 741
LM176:
.ent So_First_Init
So_First_Init:
.frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, extra= 0
.mask 0x80070000,-4
.fmask 0x00000000,0
$Lb10:
.begin $Lb10 1
.def sp; .val 17; .scl 4; .tag .143fake; .size 520; .type 0x18; .endef
.def s;
0x47400#
addu $16,$16,-10
addu $2,$2,1
lui $3,%hi(panel) # high
addiu $3,$3,%lo(panel) # low
mult $16,$2
sll $2,$20,2
addu $2,$2,$20
sll $5,$18,1
addu $5,$5,$18
sll $5,$5,3
addu $5,$5,$18
addu $5,$5,$2
sll $5,$5,4
addu $5,$5,$3
.loc 1 1851
LM939:
lui $6,%hi(ball) # high
addiu $6,$6,%lo(ball) # low
.loc 1 1848
LM940:
mflo $7
#nop
#nop
subu $2,$0,$7
sh $2,34($5)
.loc 1 1851
LM941:
lh $3,2($6)
#nop
sll $4,$3,1
addu $4,$4,$3
sll $4,$4,3
addu $3,$3,-1
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
addu $2,$2,$6
lhu $2,12($2)
addu $4,$4,$6
addu $2,$2,$19
sh $2,12($4)
.loc 1 1852
LM942:
lh $3,2($6)
#nop
sll $4,$3,1
addu $4,$4,$3
sll $4,$4,3
addu $3,$3,-1
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
addu $2,$2,$6
lhu $2,14($2)
addu $4,$4,$6
subu $2,$2,$17
sh $2,14($4)
.loc 1 1854
LM943:
sw $19,16($5)
.loc 1 1855
LM944:
sw $17,20($5)
.loc 1 1856
LM945:
lw $31,36($sp)
lw $20,32($sp)
lw $19,28($sp)
lw $1
0x55200#
161($4)
#nop
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
subu $2,$2,$3
sll $2,$2,3
addu $2,$2,$17
sh $0,8150($2)
lbu $3,161($4)
#nop
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
subu $2,$2,$3
sll $2,$2,3
addu $2,$2,$17
sh $0,8152($2)
$L606:
.loc 1 2501
LM1374:
lui $2,%hi(ball+2428) # high
$L612:
lw $2,%lo(ball+2428)($2)
#nop
slt $2,$19,$2
.set noreorder
.set nomacro
beq $2,$0,$L610
lui $2,%hi(so) # high
.set macro
.set reorder
.loc 1 2503
LM1375:
lw $4,%lo(so)($2)
#nop
lbu $3,161($4)
#nop
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
subu $2,$2,$3
sll $2,$2,3
addu $2,$2,$17
sh $0,8142($2)
lbu $3,161($4)
#nop
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
subu $2,$2,$3
sll $2,$2,3
addu $2,$2,$17
sh $0,8144($2)
lbu $3,161($4)
#nop
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
subu $2,$2,$3
sll $2,$2,3
addu $2,$2,$17
sh $0,8146($2)
.loc 1 2504
LM1376:
lbu $3,161($4)
#nop
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
subu $2,$2,$3
sll $2,$2,3
addu $2,$2,$17
sh $0,8148($2)
lbu $3,161($4)
#nop
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
subu $2,$2,$3
sll $2,$2,3
addu $2,$2,$17
sh $0,8150($2)
lbu $3,161($4)
#nop
sll $2,$3,1
addu $2,$2,$3
sll $2,$2,3
subu $2,$2,$3
sll $2,$2,3
addu $2,$2,$17
sh $0,8152($2)
$L610:
.loc 1 2506
LM1377:
$Le49:
.bend $Le49 46
lw $31,36($sp)
lw $20,32($sp)
lw $19,28($sp)
lw $18,24($sp)
lw $17,20($sp)
lw $16,16($sp)
#nop
.set noreorder
0x60600#
レス参照
HM_PARTS_TABLE[],HM_HEAD_TABLE[],
AM_PARTS_TABLE[],AM_HEAD_TABLE[]
************************************************************************/
#ifndef
#define
/************************************************************************
* include file declarations *
***********************************************************************/
/******************************************************************
0x9DE00#
}
adr[cnt] = opd;
return cnt;
}
void DelOpd(short no)
{
if(opcnt == 0)
{
return;
}
opcnt--;
adr[no] = (0) ;
}
void InitOpdAnm(OPD_ANM *anm, short anm_no, short frm_no, short pri)
{
anm->anm = anm_no;
anm->frm = frm_no-1;
anm->pri = pri;
anm->time = 0;
anm->ptn = 0;
anm->xx = 0;
0xADBF8#
GsADIV_8; .type 0xc; .endef
.def b0; .val 6; .scl 8; .type 0xc; .endef
.def code; .val 7; .scl 8; .type 0xc; .endef
.def r1; .val 8; .scl 8; .type 0xc; .endef
.def g1; .val 9; .scl 8; .type 0xc; .endef
.def b1; .val 10; .scl 8; .type 0xc; .endef
.def dummy1; .val 11; .scl 8; .type 0xc; .endef
.def r2; .val 12; .scl 8; .type 0xc; .endef
.def g2; .val 13; .scl 8; .type 0xc; .endef
.def b2; .val 14; .scl 8; .type 0xc; .endef
.def dummy2; .val 15; .scl 8; .type 0xc; .endef
.def n0; .val 16; .scl 8; .type 0xd; .endef
.def v0; .val 18; .scl 8; .type 0xd; .endef
.def v1; .val 20; .scl 8; .type 0xd; .endef
.def v2; .val 22; .scl 8; .type 0xd; .endef
.def .eos; .val 24; .scl 102; .tag .78fake; .size 24; .endef
.def TMD_P_F3G; .scl 13; .tag .78fake; .size 24; .type 0x8; .endef
.def .79fake; .scl 10; .type 0x8; .size 28; .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; .t
0xECA00#
RGUNIT *);
extern u_long *GsU_00020016(GsARGUNIT *);
extern u_long *GsU_00020017(GsARGUNIT *);
extern u_long *GsU_0102000e(GsARGUNIT *);
extern u_long *GsU_0102000f(GsARGUNIT *);
extern u_long *GsU_01020016(GsARGUNIT *);
extern u_long *GsU_01020017(GsARGUNIT *);
extern u_long *GsU_0000020b(GsARGUNIT *);
extern u_long *GsU_0000020f(GsARGUNIT *);
extern u_long *GsU_00000213(GsARGUNIT *);
extern u_long *GsU_00000217(GsARGUNIT *);
extern u_long *GsU_00020209(GsARGUNIT *);
extern u_long *GsU_0002020b(GsARGUNIT *);
extern u_long *GsU_0002020d(GsARGUNIT *);
extern u_long *GsU_0002020f(GsARGUNIT *);
extern u_long *GsU_00020211(GsARGUNIT *);
extern u_long *GsU_00020213(GsARGUNIT *);
extern u_long *GsU_00020215(GsARGUNIT *);
extern u_long *GsU_00020217(GsARGUNIT *);
extern u_long *GsU_00040249(GsARGUNIT *);
extern u_long *GsU_0004024d(GsARGUNIT *);
extern u_long *GsU_00040251(GsARGUNIT *);
extern u_long *GsU_00040255(GsARGUNIT *);
extern u_long *GsU_00100209(GsARGUNIT *);
extern u_long *GsU_0010020b(GsARGUNIT *);
extern u_long *GsU_0010020d(GsARGUNIT *);
extern u_long *GsU_0010020f(GsARGUNIT *);
extern u_long *GsU_00100211(GsARGUNIT *);
extern u_long *GsU_00100213(GsARGUNIT *);
extern u_long *GsU_00100215(GsARGUNIT *);
extern u_long *GsU_00100217(GsARGUNIT *);
extern u_long *GsU_00200209(GsARGUNIT *);
extern u_long *GsU_0020020d(GsARGUNIT *);
extern u_long *GsU_00200211(GsARGUNIT *);
extern u_long *GsU_00200215(GsARGUNIT *);
extern u_long *GsU_00
0x137D80#
e for stdio initialization
R6025
- pure virtual function call
R6024
- not enough space for _onexit/atexit table
; .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 v0; .val 8; .scl 8; .type 0xd; .endef
.def v1; .val 10; .scl 8; .type 0xd; .endef
.def v2; .val 12; .scl 8; .type 0xd; .endef
.def v3; .val 14; .scl 8; .type 0xd; .endef
.def .eos; .val 16; .scl 102; .tag .86fake; .size 16; .endef
.def TMD_P_NF4; .scl 13; .tag .86fake; .size 16; .type 0x8; .endef
.def .87fake; .scl 10; .type 0
0x13D400#
; .scl 10; .type 0x8; .size 84; .endef
.def limit; .val 0; .scl 8; .type 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; .scl 8; .type 0x3; .endef
.def miny; .val 42; .scl 8; .type 0x3; .endef
.def maxx; .val 44; .scl 8; .type 0x3; .endef
.def maxy; .val 46; .scl 8; .type 0x3; .endef
.def hwd0; .val 48; .scl 8; .type 0x3; .endef
.def vwd0; .val 50; .scl 8; .type 0x3; .endef
.def tag; .val 52; .scl 8; .type 0x1f; .endef
.def si; .val 56; .scl 8; .tag .27fake; .size 28; .type 0x8; .endef
.def .eos; .val 84; .scl 102; .tag .110fake; .size 8
0x16D200#
TOR *v2,
short *uv0,short *uv1,short *uv2,EVECTOR **evmx);
extern long Clip4FT(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,SVECTOR *v3,
short *uv0,short *uv1,short *uv2,short *uv3,EVECTOR **evmx);
extern long Clip4FTP(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,SVECTOR *v3,
short *uv0,short *uv1,short *uv2,short *uv3,EVECTOR **evmx);
extern long Clip3G(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
CVECTOR *rgb0,CVECTOR *rgb1,CVECTOR *rgb2,EVECTOR **evmx);
extern long Clip3GP(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
CVECTOR *rgb0,CVECTOR *rgb1,CVECTOR *rgb2,EVECTOR **evmx);
extern long Clip4G(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,SVECTOR *v3,
CVECTOR *rgb0,CVECTOR *rgb1,CVECTOR *rgb2,CVECTOR *rgb3,
EVECTOR **evmx);
extern long Clip4GP(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,SVECTOR *v3,
CVECTOR *rgb0,CVECTOR *rgb1,CVECTOR *rgb2,CVECTOR *rgb3,
EVECTOR **evmx);
extern long Clip3GT(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
short *uv0,short *uv1,short *uv2,
CVECTOR *rgb0,CVECTOR *rgb1,CVECTOR *rgb2,
EVECTOR **evmx);
extern long Clip3GTP(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
short *uv0,short *uv1,short *uv2,
CVECTOR *rgb0,CVECTOR *rgb1,CVECTOR *rgb2,
EVECTOR **evmx);
extern long Clip4GT(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,SVECTOR *v3,
short *uv0,short *uv1,short *uv2,short *uv3,
CVECTOR *rgb0,CVECTOR *rgb1,CVECTOR *rgb2,CVECTOR *rgb3,
EVECTOR **evmx);
extern long Clip4GTP(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,SVECTOR *v3,
short *uv0,short *uv1,short *uv2,short *uv3,
CVECTOR *rgb0,CVECTOR *r,/pre>
=={{hex|0x175200}}==
<pre>d GsMulCoord2(MATRIX * m1, MATRIX * m2);
void GsMulCoord3(MATRIX * m1, MATRIX * m2);
void GsGetLw(GsCOORDINATE2 * m, MATRIX * out);
void GsGetLs(GsCOORDINATE2 * m, MATRIX * out);
void GsGetLws(GsCOORDINATE2 * m, MATRIX * outw, MATRIX * outs);
u_long GsLinkObject3(unsigned long pmd_base, GsDOBJ3 * objp);
void GsLinkObject4(unsigned long tmd_base, GsDOBJ2 * objp, int n);
void GsLinkObject5(unsigned long tmd_base, GsDOBJ5 * objp, int n);
void GsSetLightMatrix(MATRIX * mp);
void GsSetLightMatrix2(MATRIX * mp);
int GsSetRefView2(GsRVIEW2 * pv);
int GsSetRefView2L(GsRVIEW2 * pv);
int GsSetView2(GsVIEW2 * pv);
void GsSetLsMatrix(MATRIX * mp);
void GsSetClip2D(RECT * rectp);
void GsInitVcount();
long GsGetVcount();
void GsClearVcount();
void GsDefDispBuff2(u_short x0, u_short y0, u_short x1, u_short y1);
void GsDrawOtIO(GsOT *ot);
PACKET *GsGetWorkBase();
void GsInitGraph2( u_short x, u_short y, u_short intmode, u_short dith, u_short vrammode);
void GsSortObject4J(GsDOBJ2 *objp, GsOT *otp, int shift, u_long *scratch);
void GsClearDispArea(unsigned char r, unsigned char g, unsigned char b);
u_long *GsPresetObject(GsDOBJ5 * objp, u_long * base_addr);
void GsScaleScreen(SVECTOR * scale);
PACKET *GsA4divF3L(TMD_P_F3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divF3LFG(TMD_P_F3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
0x17EA00#
GUNIT_ANIM *);
extern int GsU_03002032(GsARGUNIT_ANIM *);
extern int GsU_03002033(GsARGUNIT_ANIM *);
extern int GsU_03002039(GsARGUNIT_ANIM *);
extern int GsU_0300203a(GsARGUNIT_ANIM *);
extern int GsU_0300203b(GsARGUNIT_ANIM *);
extern int GsU_03002111(GsARGUNIT_ANIM *);
extern int GsU_03002112(GsARGUNIT_ANIM *);
extern int GsU_03002119(GsARGUNIT_ANIM *);
extern int GsU_0300211a(GsARGUNIT_ANIM *);
extern int GsU_03002910(GsARGUNIT_ANIM *);
extern int GsU_03002911(GsARGUNIT_ANIM *);
extern int GsU_03002912(GsARGUNIT_ANIM *);
extern int GsU_03002919(GsARGUNIT_ANIM *);
extern int GsU_0300291a(GsARGUNIT_ANIM *);
extern int GsU_03003010(GsARGUNIT_ANIM *);
extern int GsU_03003011(GsARGUNIT_ANIM *);
extern int GsU_03003012(GsARGUNIT_ANIM *);
extern int GsU_03003013(GsARGUNIT_ANIM *);
extern int GsU_03003019(GsARGUNIT_ANIM *);
extern int GsU_0300301a(GsARGUNIT_ANIM *);
extern int GsU_0300301b(GsARGUNIT_ANIM *);
extern int GsU_03003020(GsARGUNIT_ANIM *);
extern int GsU_03003021(GsARGUNIT_ANIM *);
extern int GsU_03003022(GsARGUNIT_ANIM *);
extern int GsU_03003023(GsARGUNIT_ANIM *);
extern int GsU_03003029(GsARGUNIT_ANIM *);
extern int GsU_0300302a(GsARGUNIT_ANIM *);
extern int GsU_0300302b(GsARGUNIT_ANIM *);
extern int GsU_03003030(GsARGUNIT_ANIM *);
extern int GsU_03003031(GsARGUNIT_ANIM *);
extern int GsU_03003032(GsARGUNIT_ANIM *);
extern int GsU_03003033(GsARGUNIT_ANIM *);
extern int GsU_03003039(GsARGUNIT_ANIM *);
extern int GsU_0300303a(GsARGUNIT_
0x186E00#
col = 0;
kongou[i].opd.dflag = 1;
kongou[i].opd.tpos = 0;
kongou[i].opd.tx = anime_vram[0];
kongou[i].opd.ty = anime_vram[1];
kongou[i].pal=0x2d;
kongou[i].opd.cx = (s->palet[ kongou[i].pal ].s[1 ]) ;
kongou[i].opd.cy = (s->palet[ kongou[i].pal ].s[0 ]) ;
kongou[i].opd.aw = load_kongo_anm[sp->kongoupat ];
kongou[i].opd.ph = load_kongo_ptn[sp->kongoupat ];
kongou[i].anm.opd = AddOpd(&kongou[i].opd);
kongou[i].func = wait_func[sp->kongoupat ][i];
kongou[i].step = 0;
0x1D65FE#
fl70; .scl 16; .type 0xb; .endef
.def AS_H29C; .val 4071; .scl 16; .type 0xb; .endef
.def AS_H31B; .val 4072; .scl 16; .type 0xb; .endef
.def AS_H27; .val 4073; .scl 16; .type 0xb; .endef
.def AS_H28; .val 4074; .scl 16; .type 0xb; .endef
.def AS_H30B; .val 4075; .scl 16; .type 0xb; .endef
.def AS_H32B; .val 4076; .scl 16; .type 0xb; .endef
.def AS_H33A; .val 4077; .scl 16; .type 0xb; .endef
.def AS_H33B; .val 4078; .scl 16; .type 0xb; .endef
.def .eos; .val 4; .scl 102; .tag .222fake; .size
0x29F400#
102; .tag .176fake; .size 4; .endef
.def .177fake; .scl 15; .type 0xa; .size 4; .endef
.def FS_F00; .val 3391; .scl 16; .type 0xb; .endef
.def FS_F01; .val 3392; .scl 16; .type 0xb; .endef
.def FS_F02; .val 3393; .scl 16; .type 0xb; .endef
.def FS_F03; .val 3394; .scl 16; .type 0xb; .endef
.def FS_F04; .val 3395; .scl 16; .type 0xb; .endef
.def FS_F05; .val 3396; .scl 16; .type 0xb; .endef
.def FS_F06a; .val 3397; .scl 16; .type 0xb; .endef
.def FS_F06b; .val 3398; .scl 16; .type 0xb; .endef
.def FS_F07; .val 3399; .scl 16; .type 0xb; .endef
.def FS_F08; .val 3400; .scl 16; .type 0xb; .endef
.def FS_F09; .val 3401; .scl 16; .type 0xb; .endef
.def FS_F10; .val 3402; .scl 16; .type 0xb; .endef
.def FS_F11; .val 3403; .scl 16; .type 0xb; .endef
.def FS_F12; .val 3404; .scl 16; .type 0xb; .endef
.def FS_F13; .val 3405; .scl 16; .type 0xb; .endef
.def .eos; .val 4; .scl 102; .tag .177fake; .size 4; .endef
.def .178fake; .scl 15; .type 0xa; .size 4; .endef
.def FS_G; .val 3406;
0x2B6E00#
LM232:
sra $3,$4,16
.set noreorder
.set nomacro
beq $3,$0,$L75
li $2,715784192 # 0x2aaa0000
.set macro
.set reorder
.loc 1 485
LM233:
ori $2,$2,0xaaab
mult $3,$2
.loc 1 484
LM234:
lui $2,%hi(konami_pos) # high
sh $0,%lo(konami_pos)($2)
.loc 1 487
LM235:
li $2,-112 # 0xffffff90
sh $2,6($16)
.loc 1 488
LM236:
li $2,16 # 0x00000010
.loc 1 485
LM237:
sra $4,$4,31
.loc 1 488
LM238:
sh $2,8($16)
.loc 1 489
LM239:
sh $2,20($16)
.loc 1
0x2BF200#
n 2
.def SetG2dSTAGE_infK00; .val SetG2dSTAGE_infK00; .scl 2; .type 0x24; .endef
.globl SetG2dSTAGE_infK00
.loc 1 883
LM555:
.loc 1 883
LM556:
.ent SetG2dSTAGE_infK00
SetG2dSTAGE_infK00:
.frame $sp,72,$31 # vars= 0, regs= 8/0, args= 40, extra= 0
.mask 0x807f0000,-4
.fmask 0x00000000,0
.def num; .val 4; .scl 17; .type 0x3; .endef
$Lb34:
.begin $Lb34 1
.def sp; .val 19; .scl 4; .tag .143fake; .size 520; .type 0x18; .endef
.def s; .val 22; .scl 4; .tag _SYS_W; .size 21168; .type 0x18; .endef
.def spd; .val 18; .scl 4; .tag _SPD_W; .size 12; .type 0x18; .endef
subu $sp,$sp,72
sw $18,48($sp)
move $18,$4
.loc 1 884
LM557:
lui $2,%hi(spw) # high
.loc 1 883
LM558:
sw $19,52($sp)
.loc 1 884
LM559:
addiu $19,$2,%lo(spw) # low
.loc 1 885
LM560:
lui $2,%hi(sys) # high
.loc 1 883
LM561:
sw $31,68($sp)
sw $22,64($sp)
sw $21,60($sp)
sw $20,56($sp)
sw $17,44($sp)
sw $16,40($sp)
.loc 1 888
LM562:
lbu $3,430($19)
.loc 1 888
LM563:
#nop
.set noreorder
.set nomacro
bne $3,$0,$L148
addiu $22,$2,%lo(sys) # low
.set macro
.set reorder
.loc 1 889
LM564:
sll $20,$18,16
sra $21,$20,16
.set noreorder
.set nomacro
blez $21,$L149
li $4,12 # 0x0000000c
.set macro
.set reorder
.loc 1 890
LM565:
li $5,4109 # 0x0000100d
move $6,$0
move $7,$6
move $17,$4
li $2,10 # 0x0000000a
li $16,1 # 0x00000001
sw $0,16($sp)
sw $17,20($sp)
sw $0,24($sp)
sw $2,28($sp)
.set noreorder
.set
0x2C6C00#
7,10($3)
.loc 1 1296
LM849:
$L256:
addu $5,$5,1
slt $2,$5,5
.set noreorder
.set nomacro
bne $2,$0,$L257
addu $3,$3,12
.set macro
.set reorder
.loc 1 1300
LM850:
li $4,4 # 0x00000004
li $5,38 # 0x00000026
move $6,$0
move $7,$6
li $2,11 # 0x0000000b
sw $2,20($sp)
li $2,10 # 0x0000000a
li $16,1 # 0x00000001
sw $0,16($sp)
sw $0,24($sp)
sw $2,28($sp)
.set noreorder
.set nomacro
jal set2d
sw $16,32($sp)
.set macro
.set reorder
.loc 1 1301
LM851:
.set noreorder
.set nomacro
jal GetSpd
li $4,38 # 0x00000026
.set macro
.set reorder
move $4,$2
.loc 1 1302
LM852:
sll $2,$19,16
.set noreorder
.set nomacro
beq $2,$0,$L261
li $2,3 # 0x00000003
.set macro
.set reorder
.set noreorder
.set nomacro
j $L262
sb $16,10($4)
.set macro
.set reorder
$L261:
sb $2,10($4)
$L262:
.loc 1 1303
LM853:
sll $2,$19,16
.set noreorder
.set nomacro
bne $2,$0,$L271
li $2,1 # 0x00000001
.set
0x2CEA00#
# 0x000001e0
.loc 1 1427
LM651:
.set noreorder
.set nomacro
jal Random
sh $2,68($3)
.set macro
.set reorder
lw $3,%lo(kt)($16)
subu $2,$0,$2
lw $3,524($3)
addu $2,$2,-160
sh $2,72($3)
.loc 1 1430
LM652:
lui $16,%hi(kt) # high
$L453:
lw $2,%lo(kt)($16)
#nop
lw $2,14224($2)
#nop
lbu $4,18($2)
.set noreorder
.set nomacro
jal KTalk_Order
addu $4,$4,11
.set macro
.set reorder
.loc 1 1431
LM653:
.set noreorder
.set nomacro
jal SD_call
li $4,1299 # 0x00000513
.set macro
.set reorder
.loc 1 1432
LM654:
lw $2,%lo(kt)($16)
#nop
lw $3,796($2)
li $2,1 # 0x00000001
sb $2,254($3)
.loc 1 1433
LM655:
lw $3,%lo(kt)($16)
$L436:
lbu $2,2($3)
#nop
addu $2,$2,1
.loc 1 1435
LM656:
.set noreorder
.set nomacro
j $L351
sb $2,2($3)
.set macro
.set reorder
$L414:
.loc 1 1440
LM657:
lw $2,64($6)
#nop
lbu $2,1116($2)
#nop
.set noreorder
.set nomacro
bne $2,$0,$L450
lui $2,%hi(kt) # high
.set macro
.set reorder
.loc 1 1442
LM658:
lbu $2,22($6)
#nop
bne $2,$0,$L416
.loc 1 1445
LM659:
lw $2,40($6)
#nop
lhu $2,0($2)
#nop
andi $2,$2,0x8000
beq $2,$0,$L417
lbu $2,23($6)
lw $4,316($6)
addu $2,$2,3
lw $3,20($4)
sra $2,$2,1
addu $3,$3,$2
sw $3,20($4)
$L417:
.loc 1 1446
LM660:
lw $4,%lo(kt)($17)
#nop
lw $2,40($4)
#nop
lhu $2,0($2)
#nop
andi $2,$2,0x2000
beq $2,$0,$L415
lbu $3,23($4)
li $2,-1431655765 # 0xaaaaaaab
multu
0x305A00#
rDpq3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
SVECTOR *v3,SVECTOR *v4,SVECTOR *v5,CVECTOR *v6);
extern void RotAverageNclipColorCol3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
SVECTOR *v3,SVECTOR *v4,SVECTOR *v5,CVECTOR *v6);
extern void RotColorDpq_nom(SVECTOR *v0,SVECTOR *v1,CVECTOR *v2);
extern long RotColorDpq3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
SVECTOR *v3,SVECTOR *v4,SVECTOR *v5,CVECTOR *v6);
extern void NormalColor_nom(SVECTOR *v0);
extern void NormalColor3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2);
extern void NormalColorDpq_nom(SVECTOR *v0,CVECTOR *v1,long p);
extern void NormalColorDpq3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
CVECTOR *v3,long p);
extern void NormalColorCol_nom(SVECTOR *v0,CVECTOR *v1);
extern void NormalColorCol3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
CVECTOR *v3);
extern void RotSMD_F3(long *pa,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_G3(long *pa,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_FT3(long *pa,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_GT3(long *pa,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_F4(l
0x30F400#
G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastF4GLFG(TMD_P_F4G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastF4GNL(TMD_P_F4G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastG4GL(TMD_P_G4G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastG4GLFG(TMD_P_G4G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastG4GNL(TMD_P_G4G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastG4M(TMD_P_G4 *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastG4MFG(TMD_P_G4 *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastTG4M(TMD_P_TG4 *op, VERT *vp, VERT *np,
0x316C00#
U_03002912(GsARGUNIT_ANIM *);
extern int GsU_03002919(GsARGUNIT_ANIM *);
extern int GsU_0300291a(GsARGUNIT_ANIM *);
extern int GsU_03003010(GsARGUNIT_ANIM *);
extern int GsU_03003011(GsARGUNIT_ANIM *);
extern int GsU_03003012(GsARGUNIT_ANIM *);
extern int GsU_03003013(GsARGUNIT_ANIM *);
extern int GsU_03003019(GsARGUNIT_ANIM *);
extern int GsU_0300301a(GsARGUNIT_ANIM *);
extern int GsU_0300301b(GsARGUNIT_ANIM *);
extern int GsU_03003020(GsARGUNIT_ANIM *);
extern int GsU_03003021(GsARGUNIT_ANIM *);
extern int GsU_03003022(GsARGUNIT_ANIM *);
extern int GsU_03003023(GsARGUNIT_ANIM *);
extern int GsU_03003029(GsARGUNIT_ANIM *);
extern int GsU_0300302a(GsARGUNIT_ANIM *);
extern int GsU_0300302b(GsARGUNIT_ANIM *);
extern int GsU_03003030(GsARGUNIT_ANIM *);
extern int GsU_03003031(GsARGUNIT_ANIM *);
extern int GsU_03003032(GsARGUNIT_ANIM *);
extern int GsU_03003033(GsARGUNIT_ANIM *);
extern int GsU_03003039(GsARGUNIT_ANIM *);
extern int GsU_0300303a(GsARGUNIT_ANIM *);
ex
0x3A8400#
now_x,short speed){
sp_w;
register Uchar i;
if(abs(now_x-next_x)<speed){
return(next_x);
}
return(now_x+SGN(next_x-now_x)*speed);
}
//////////////////////////////////////////////////////////////////
b,0x31,0x00,0x04,0x7f,0x98,0xba,
0xcb,0x08,0x3f,0xfe,0xf1,0x0c,0x41,0xbc,0xab,0x89,0x14,0x81,0x01,0x80,0xc8,0xa9,
0xcb,0xcc,0xcc,0x8a,0x36,0x02,0x00,0x00,0x20,0x63,0xa8,0xcc,0xcc,0xbc,0x9a,0x31,
0x80,0x20,0x11,0x22,0x54,0x86,0xa9,0x0c,0x3f,0xee,0xff,0xe2,0xff,0x10,0x41,0x9a,
0x68,0x45,0
0x3B0400#
***********************************************************/
SPD_W fade_spd[] = { //99.5.24 nakayama
/* ccode,xsize,ysize,u,v,offset_x,offset_y palette */
{DAT, 0x20, 0x20, 0xc8, 0x60, -0x20 , -0x20 , COL_FADE},
{DAT, 0x20, 0x20, 0xc8, 0x60, +0x00 , -0x20 , COL_FADE},
{DAT, 0x20, 0x20, 0xc8, 0x60, -0x20 , +0x00 , COL_FADE},
{END, 0x20, 0x20, 0xc8, 0x60, +0x00 , +0x00 , COL_FADE},
};
/******************************************************************************
;
; ゲーム中のSPDデータ g_com.opd
;
******************************************************************************/
SPD_W plate01_spd[]={
/* ccode,xsize,ysize,u,v,offset_x,offset_y palette */
{DAT,0x28,0x10,0x00,0x00,0xff23,0x0052,0x5b},
{DAT,0x38,0x18,0x80,0x20,0xff20,0x0050,0x5f},
{END,0x80,0x18,0x80,0x00,0xff58,0x0050,0x5f},
};
SPD_W name01_spd[]={
/* ccode,xsize,ysize,u,v,offset_x,offset_y palette */
{DAT,0x10,0x10,0x00,0x00,0xff58,0x0052,0x01},
{DAT,0x10,0x10,0x00,0x00,0xff69,0x0052,0x01},
{DAT,0x10,0x
0x3C1A00#
((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);
}
}
/*/////////////////////////////////////////////////////////////////////////////
//振動機能 内部関数
/////////////////////////////////////////////
0x5D8200#
x800 }, /*06 だるま*/
{ VTOFS07, (1644+0x7ff)/0x800 }, /*07 ブレインパニック*/
#else
{ "v_00.bin", 7064 }, /*00 ストラックアウト*/
{ "v_00.bin", 7064 }, /*01 キックターゲット*/
{ "v_02.bin", 4372 }, /*02 モンスターボックス*/
{ "v_03.bin", 2796 }, /*03 ショットガンタッチ*/
{ "v_04.bin", 2608 }, /*04 タッグオブウォー*/
{ "v_05.bin", 3136 }, /*05 ハスラー*/
{ "v_06.bin", 2604 }, /*06 だるま*/
{ "v_07.bin", 1644 }, /*07 ブレインパニック*/
#endif
};
0x632E00#
_sound_ctors_size
80030A54 _sound_data_obj
800313BD _sound_data_objend
80030A54 _sound_data_org
800313BD _sound_data_orgend
00000969 _sound_data_size
800326B0 _sound_dtors_obj
800326B0 _sound_dtors_objend
800326B0 _sound_dtors_org
800326B0 _sound_dtors_orgend
00000000 _sound_dtors_size
8002B7A8 _sound_obj
800326B0 _sound_objend
8002B7A8 _sound_org
800326B0 _sound_orgend
8002B7A8 _sound_rdata_obj
8002BBEA _sound_rdata_objend
8002B7A8 _sound_rdata_org
8002B
0x845200#
A描画リクエスト */
GsDrawOt(&SepOT[0].ot[ACTIVE_SIDE]);
#ifdef DEBUG
packet_size = ( Ulong ) GsGetWorkBase () - ( Ulong ) GPUADDRESS;
/* 使用パケットサイズの表示 */
if( PACKETMAX < packet_size ) FntPrint( "PACKET OVERRRR");
#endif
// SD_vsync(); /*1999.07.03 nakayama サウンド*/
ShockON(); /* 振動機能のタスク */
STIMER++; /* システムタイマー sp_w */
#if SAMPLE_FLG
if ( font_switch ){
#else
if ( INTER_MODE != INT_GAME ){
#endif
// FntPrint(buff);
// FntFlush(-1);
}
}
}
0x8A4400#
, (0x0000d7c0+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 63 選手別DEMO */
{ 0x0016c800/0x800+CD_DATA01, (0x0000d7c0+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 64 選手別DEMO */
{ 0x0017a000/0x800+CD_DATA01, (0x0000d7c0+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 65 選手別DEMO */
{ 0x00187800/0x800+CD_DATA01, (0x0000d7c0+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 66 選手別DEMO */
{ 0x00195000/0x800+CD_DATA01, (0x0000d090+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 67 選手別DEMO */
{ 0x001a2800/0x800+CD_DATA01, (0x0000d428+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 68 選手別DEMO */
{ 0x001b0000/0x800+CD_DATA01, (0x0000d7c0+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 69 選手別DEMO */
{ 0x001bd800/0x800+CD_DATA01, (0x0000d7c0+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 6a 選手別DEMO */
{ 0x001cb000/0x800+CD_DATA01, (0x0000d090+0x7ff)/0x800, (Ulong)ANIME_TABLE2 ,2}, /* 6b 選手別DEMO */
/*グラウンドモデル data02.bin*/
{ 0x00000000/0x800+CD_DATA02, (0x0000755d+0x7ff)/0x800, (Ulon
0x993200#
y_nothing1(short, short, unsigned char, unsigned char);
extern void dmy_SsNoteOn (short, short, unsigned char, unsigned char);
extern void dmy_SsSetProgramChange(short, short, unsigned char);
extern void dmy_SsGetMetaEvent(short, short, unsigned char);
extern void dmy_SsSetPitchBend(short, short);
extern void dmy_SsSetControlChange(short, short, unsigned char);
extern void dmy_SsContBankChange(short, short);
extern void dmy_SsContDataEntry(short, short, unsigned char);
extern void dmy_SsContMainVol(short, short, unsigned char);
extern void dmy_SsContPanpot(short, short, unsigned char);
extern void dmy_SsContExpression(short, short, unsigned char);
extern void dmy_SsContDamper(short, short, unsigned char);
extern void dmy_SsContExternal(short, short, unsigned char);
extern void dmy_SsContNrpn1(short, short, unsigned char);
extern void dmy_SsContNrpn2(short, short, unsigned char);
extern void dmy_SsContRpn1(short, short, unsigned char);
extern void dmy_SsContRpn2(short, short, unsigned char);
extern void dmy_SsContResetAll(short, short);
extern void dmy_SsSetNrpnVabAttr0(short, short, short, VagAtr, short, unsigned char);
extern void dmy_SsSetNrpnVabAttr1(short, short, short, VagAtr, short, unsigned char);
extern void dmy_SsSetNrpnVabAttr2(short, short, short, VagAtr, short, unsigned char);
extern void dmy_SsSetNrpnVabAttr3(short, short, short, VagAtr, short, unsigned char);
extern void dmy_SsSetNrpnVabAttr4(short, short, short, VagAtr, short, unsigned char);
extern void dmy_Ss
0x99D200#
iceAttr *arg);
extern void SpuLSetVoiceAttr (int num, SpuLVoiceAttr *argList);
extern void SpuSetVoiceVolume (int vNum, short volL, short volR);
extern void SpuSetVoiceVolumeAttr (int vNum, short volL, short volR,
short volModeL, short volModeR);
extern void SpuSetVoicePitch (int vNum, unsigned short pitch);
extern void SpuSetVoiceNote (int vNum, unsigned short note);
extern void SpuSetVoiceSampleNote (int vNum, unsigned short sampleNote);
extern void SpuSetVoiceStartAddr (int vNum, unsigned long startAddr);
extern void SpuSetVoiceLoopStartAddr (int vNum, unsigned long lsa);
extern void SpuSetVoiceAR (int vNum, unsigned short AR);
extern void SpuSetVoiceDR (int vNum, unsigned short DR);
extern void SpuSetVoiceSR (int vNum, unsigned short SR);
extern void SpuSetVoiceRR (int vNum, unsigned short RR);
extern void SpuSetVoiceSL (int vNum, unsigned short SL);
extern void SpuSetVoiceARAttr (int vNum, unsigned short AR, long ARmode);
extern void SpuSetVoiceSRAttr (int vNum, unsigned short SR, long SRmode);
extern void SpuSetVoiceRRAttr (int vNum, unsigned short RR, long RRmode);
extern void SpuSetVoiceADSR (int vNum, unsigned short AR, unsigned short DR,
unsigned short SR, unsigned short RR,
unsigned short SL);
extern void SpuSetVoiceADSRAttr (int vNum,
unsigned short AR, unsigned short DR,
unsigned short SR, unsigned short RR,
unsigned short SL,
long ARmode, long SRmode, long RRmode);
extern void SpuGetVoiceVolume (int vNum, short *volL, short
0x9A2200#
pe_se = SD_se_ouen [SD_stream1-2000].size_e ;
trans_cnt2 = 0;
SE_BGM_fade = 0;
} else {
fp_se = SD_se_stream[SD_stream1].size_s + 0 ;
fpe_se = SD_se_stream[SD_stream1].size_e ;
trans_cnt = 0;
}
str_se_size = fpe_se*0x800;
if(fpe_se <= 1) {
wait_x = 0;
SD_intse = 0;
break;
}
CdControlF(0x09 ,0);
wait_x = 0;
SD_intse++;
# 497 "SD_STRV.C"
break;
case 0x71 :
result = CdSync(1,sub_status);
if( result == 0x02 ) {
if( (sub_status[0] & 0x10) == 0x10) {
SD_intse = 0x7f ;
break;
}
param[0] = 0x80 | 0x20 ;
CdControl( 0x0e , param, 0 );
CdIntToPos(fp_se, &loc);
if ( CdControl(0x02 ,(u_char *)&loc, 0 ) ){
SD_intse++;
}else{
printf("check 2\n");
SD_intse = 0x70 ;
}
} else {
if ( result = 0x05 ){
printf("check 1\n");
se1_err++;
if(se1_err > 20) {
se1_err = 0;
SD_intse = 0x7f ;
}else{
SD_intse = 0x70 ;
}
}
}
# 542 "SD_STRV.C"
break;
case 0x71 +1:
result = CdSync(1,sub_status);
if( result == 0x02 ) {
if( (sub_status[0] & 0x10) == 0x10) {
SD_intse = 0x7f ;
break;
}
if ( KCdRead( fp_se, fpe_se, (void*)str_se_buf ) ){
sec_cnt = 0;
read_end = read_end_p = 0;
SD_intse++;
}
}else {
if ( result == 0x05 ){
printf("check 3\n");
SD_intse = 0x70 ;
break;
}
}
0xD08400#
x0c, 0x11, 1, PR3 },
{ S_BT2, 0x3077, 0, -SP*MV, 0x0c, 0x07, 1, PR3 },
{ S_BU1, 0x3078, 0, -SP*MV, 0x0c, 0x73, 1, PR3 },
{ S_BU2, 0x3079, 0, -SP*MV, 0x0c, 0x73, 1, PR3 },
{ GAGE1, 0x307a, 0, 0, 0x0c, 0x0a, 0, PR7 },
{ GAGE2, 0x307b, 0, 0, 0x0c, 0x0a, 0, PR7 },
{ GAGE3, 0x307c, 0, 0, 0x0c, 0x0a, 0, PR7 },
{ PMARK, 0x3085, 0, 0, 0x0c, 0x22, 0, PR7 },
{ PNAME, 0x3086, 0, 0, 0x07, 0x04, 0, PR7 },
{ S_CUR, 0x3088, 0x29, 0, 0x0d, 0xd0, 0, PR6 },
{ S_PMK, 0x3089, 0x29, 0, 0x0c, 0x22, 0, PR5 },
{ NINZU, 0x307f, 0, 0, 0x0c, 0x01, 1, PR7 },
{ KMARK, 0x308a, 0, 0, 0x0c, 0x22, 1, PR4 },
{ ENTRY, 0x307d, 0, 0, 0x0c, 0x12, 0, PR7 },
{ PRESS, 0x307e, 0, 0, 0x0c, 0x09, 0, PR7 },
{ ENT_C, 0x3087, 0, 0, 0x0c, 0x12, 0, PR7 },
};
enum { // 上記テーブル内容に対応
TOP1 = 0, // PA_TI~
TOP2 = 6, // GAGE1~
DT_ON = 0, // 表示ON
DT_BURU, // ブル!
DT_SLIDE, // スラ
0xD0D600#
spd[ 9].offset_y = ypos+0x10;
// spd[10].ysize = (wkt)? 0x10:0x00; spd[10].offset_y = ypos+0x20;
xp[0] = (0xff86+0x29)-((wkt<11)?(wkt*4):0x29);
xp[1] = (0x0053-0x29)+((wkt<11)?(wkt*4):0x29);
spd[ 7].offset_x = xp[0];
spd[ 8].offset_x = xp[1];
spd[ 9].offset_x = xp[1];
spd[10].offset_x = xp[1];
if( wkt > 0 ) {
if( (FaceOn[1]&0x40) == 0 ) {
// SetPF4(0xff86+2,ypos+2,0x28-4,0x30-4,0x00,0x00,0x00,PR6,1);
SetPF4(xp[0],0x0033,((wkt<11)?(wkt*4):0x28),0x30,0x00,0x00,0xff,PR6,1);
}
0xD0FC00#
_x = 0x0004; spd[3].offset_y = 0x0018;
cls0 = SETCLS0( wno+1 ); cls0->kind = 0; // Ì«ÝÄ(06) OFF
cls0 = SETCLS0( wno+2 ); cls0->kind = 0; // Ì«ÝÄ(07) OFF
}
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]
0xD1AA00#
J_SP*mx+sa*i);
set2dN( cno+tcnt+i,sno+tcnt+i,MODE16,0,0,0x0b,0x03,1,pri );
cls0 = SETCLS0( cno+tcnt+i );
if( type == 2 ) { // バージョン設定専用(項目数に注意!右項目も登録!)
cls0->xposi = -(MJ_SP*mx+sa*i);
}
else {
cls0->xposi = +(MJ_SP*mx+sa*i);
}
}
}
/* モードセレクトの場合 (コナミモード判別に使用) */
if( sno == 0x300b ) { /* SPD番号 変更時は要注意 */
for( i=0; i<5; i++ ) { /* 項目数 変更時は要注意 */
if( !EX_OK ) {
cls0 = SETCLS0( cno+i );
cls0->yposi = 24;
if( i == 2 ) {
cls0->kind = 0;
}
}
}
}
sbit = 0;
}
//==============================================================================
// 選択項目 スライドイン・アウト
//------------------------------------------------------------------------------
// パラメータ
// io : 0(イン)/1(アウト)
// cno : 選択項目登録パーツ番号
// cnt : パーツ数(cnoから連続で)
// pos : 選択位置番号
// cur : カーソル登録パーツ番号
// type : 設定タイプ(0:左→右/1:左→左/2:左→左(VerAll)/3:左右→左右)
// (4:タイプ2 左右版 Option)
//------------------------------------------------------------------------------
// 戻り値 : 0(処理中)/1(処理終了)
//==============================================================================
Uchar MojiSio( Uchar io, Uchar cno, Uchar cnt, Uchar pos, Uchar cur, Uchar type )
{
sys_w;
Uchar i, end, mx, sa, tcnt;
CLASS0_W *cls0;
tcnt = (type<3)?cnt:(type==4)?cnt:cnt/2; // パーツ数が偶数の場合用
sa = ((cnt==8)&&(type==0))? MJ_SA8:MJ_SA;
if( io == 0 ) { // スライ
0xD30400#
{ 60, 25, 160, 40, 150, 10, 30, 30, 0x4, (kSt4|kKi1|kDa2|kBr3) },
{ 120, 30, 240, 60, 0, 50, 80, 90, 0x7, (kSt3|kKi2|kDa2|kBr4) },
{ 35, 145, 80, 80, 150, 90, 155, 10, 0xc, (kSt1|kKi1|kDa3|kBr2) },
{ 85, 60, 140, 40, 100, 110, 35, 60, 0xd, (kSt2|kKi2|kDa1|kBr2) },
{ 55, 100, 160, 80, 0, 30, 145, 100, 0x2, (kSt1|kKi2|kDa3|kBr4) }, /* 同内容 8種類 */
{ 55, 100, 160, 80, 0, 30, 145, 100, 0x2, (kSt1|kKi2|kDa3|kBr4) },
{ 115, 180, 80, 100, 0, 70, 5, 20, 0x5, (kSt2|kKi1|kDa2|kBr1) },
{ 115, 180, 80, 100, 0, 70, 5, 20, 0x5, (kSt2|kKi1|kDa2|kBr1) },
{ 20, 35, 240, 40, 0, 80, 15, 70, 0x9, (kSt3|kKi2|kDa3|kBr4) },
{ 20, 35, 240, 40, 0, 80, 15, 70, 0x9, (kSt3|kKi2|kDa3|kBr4) },
{ 40, 220, 120, 20, 100, 90, 65, 50, 0x3, (kSt4|kKi2|kDa2|kBr2) },
{ 40, 220, 120, 20, 100, 90, 65, 50, 0x3, (kSt4|kKi2|kDa2|kBr2) },
{ 95, 150, 40, 140, 0, 110, 120, 90, 0x8, (kSt3|kKi1|kDa1|kBr3) },
{ 95, 150, 40, 140, 0, 110
0xD3B400#
E16,0,0,0x0a,0x0f,1,PRB ); // BG D
cls0 = SETCLS0( BG_0 );
cls0->r = cls0->g = cls0->b = 0; // 輝度を下げる
spd = (SPD_W *)cls0->chara;
spd[21].ccode = DAT;
// md_step = MOD_BG_FIN;
md_step = S_BGM_WAIT;
break;
case S_BGM_WAIT:
#if (BGM_CALL)
if( SD_status[22] == 1 ) { /* BGMが鳴り出したら */
md_step = MOD_BG_FIN;
}
#else
md_step = MOD_BG_FIN;
#endif
break;
case MOD_BG_FIN: // フェードイン
if( Fade( (4<<4)|0, LOGO, 2 ) ) {
md_step = MOD_BG_U1;
}
break;
case MOD_BG_U1: // BG(手前)出力 (画面外)
set2dN( BG_1,0x3006,MODE16,0,0,0x09,0x0e,1,PR6 ); // BG UU
cls0 = SETCLS0( BG_1 ); cls0->yposi -= BG_U_MV;
set2dN( BG_2,0x3007,MODE16,0,0,0x09,0x0e,1,PR6 ); // BG UD
cls0 = SETCLS0( BG_2 ); cls0->yposi += BG_U_MV;
set2dN( BG_3,0x3008,MODE16,0,0,0x09,0x0e,1,PR6 ); // BG UR
cls0 = SETCLS0( BG_3 ); cls0->xposi += BG_U_MV;
set2dN( BG_4,0x3009,MODE16,0,0,0x09,0x0e,1,PR6 ); // BG UL
cls0 = SETCLS0( BG_4 ); cls0->xposi -= BG_U_MV;
md_step = MO
0xD3FA00#
,0),FC(sts,2),FC(sts,3),0x06,PR7 ); // (tp:6)
FontSet( FNT2,FC(sts,1),FC(sts,2),FC(sts,4),0x07,PR7 ); // (tp:7)
result = 1;
break;
case 1: // フォントスライドイン
if( FCON( sts ) ) {
result |= FontSio( 0,FNT1,FC(sts,2),FC(sts,3),0 ) << 3; // (tp:6)
result |= FontSio( 0,FNT2,FC(sts,2),FC(sts,4),1 ) << 4; // (tp:7)
// result |= (sts == LOAD_SELECT)? 0<<5:1<<5;
result |= 1<<5;
}
else {
// result |= (1<<3)|(1<<4)|(1<<5);
result |= (sts==LOAD_SELECT)? (1<<3)|(1<<4):(1<<3)|(1<<4)|(1<<5);
}
break;
case 2: // フォントスライドアウト
if( FCON( sts ) ) {
result |= FontSio( 1,FNT1,FC(sts,2),FC(sts,3),0 ) << 3; // (tp:6)
result |= FontSio( 1,FNT2,FC(sts,2),FC(sts,4),1 ) << 4; // (tp:7)
// result |= (sts == LOAD_SELECT)? 0<<5:1<<5;
result |= 1<<5;
}
else {
// result |= (1<<3)|(1<<4)|(1<<5);
result |= (sts==LOAD_SELECT)? (1<<3)|(1<<4):(1<<3)|(1<<4)|(1<<5);
}
break;
case 3: // フォント座標リセット
FontReset( FNT1,FC(sts,2),FC(sts,3) ); // (tp:6)
FontReset( FNT2,FC(sts,2),FC(sts,4) ); // (tp:7)
result = 1;
break;
}
return( result );
}
//==============================================================================
// 状態ステータスチェック処理
//==============================================================================
static Uchar NS_CHK( Uchar sts, Uchar pos, short key )
{
Uchar res = 0;
switch( sts ) {
//============
// モードセレクト
//============
case MODE_SELECT:
if( key == P_RRIGHT ) {
if( pos == 0 ) { // マッスルランキング
0xD48A00#
xffb8,0x0f},
{DAT,0x10,0x40,0xf0,0xc0,0xff40,0xfff8,0x0f},
{DAT,0x10,0x40,0xf0,0xc0,0xff40,0x0038,0x0f},
{DAT,0x40,0x08,0xc0,0xf8,0xff50,0x0070,0x0f},
{DAT,0x40,0x08,0xc0,0xf8,0xff90,0x0070,0x0f},
{DAT,0x40,0x08,0xc0,0xf8,0xffd0,0x0070,0x0f},
{DAT,0x40,0x08,0xc0,0xf8,0x0010,0x0070,0x0f},
{DAT,0x40,0x08,0xc0,0xf8,0x0050,0x0070,0x0f},
{DAT,0x20,0x08,0xe0,0xf8,0x0090,0x0070,0x0f},
{DAT,0x10,0x40,0xf0,0xc0,0x00b0,0xfff8,0x0f},
{DAT,0x10,0x40,0xf0,0xc0,0x00b0,0x0038,0x0f},
{END,0x10,0x40,0xf0,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
0xD4CA00#
,
{DAT,0x10,0x10,0x00,0x40,0xff8c,0x0048,0x03},
{END,0x10,0x10,0xf0,0x20,0xff98,0x0048,0x03},
};
SPD_W c_data_spd[]={ // カーソル
// DATA1
{DAT,0x38,0x10,0x80,0xa0,0xff6c,0xffdc,0x10},
{DAT,0x10,0x10,0xf0,0xa0,0xffa4,0xffdc,0x10},
// DATA2
{DAT,0x38,0x10,0x80,0xa0,0xff6c,0x0000,0x10},
{DAT,0x10,0x10,0xf0,0xa0,0xffa4,0x0000,0x10},
// DATA3
{DAT,0x38,0x10,0x80,0xa0,0xff6c,0x0024,0x10},
{DAT,0x10,0x10,0xf0,0xa0,0xffa4,0x0024,0x10},
// DATA4
{DAT,0x38,0x10,0x80,0xa0,0xff6c,0x0048,0x10},
{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
0xD59E00#
8,0x80,0x000c,0xffe2,0x03},
// ストラックアウトⅠ Ver.2 → ストラックアウト Ver.2
{DAT,0x18,0x00/*0x08*/,0xa0,0x88,0xfff4,0xffe2,0x03},
{DAT,0x18,0x00/*0x08*/,0xb8,0x88,0x000c,0xffe2,0x03},
// ストラックアウトⅠ Ver.3 → ストラックアウト Ver.3
{DAT,0x18,0x00/*0x08*/,0xa0,0x90,0xfff4,0xffe2,0x03},
{DAT,0x18,0x00/*0x08*/,0xb8,0x90,0x000c,0xffe2,0x03},
// ストラックアウトⅡ → タートル
{DAT,0x30,0x00/*0x08*/,0x80,0xb0,0xfff4,0xffe2,0x03},
{END,0x00,0x00/*0x00*/,0x90,0x80,0x0004,0xffdc,0x03}, // ダミー(xsize:0)
// デフォルトは先頭以外 ysize
0xD5DC00#
DAT,0x10,0x20,0x60,0xa0,0x000a,0x0038,0x20},
{DAT,0x10,0x18,0x70,0xb8,0xfffa,0x0038,0x20},
{DAT,0x10,0x18,0x60,0xc0,0xffea,0x0038,0x20},
{DAT,0x08,0x08,0x78,0xd0,0xffe2,0x0050,0x20},
{DAT,0x08,0x08,0x70,0xd0,0xfffa,0x0050,0x20},
{DAT,0x08,0x08,0x60,0xd8,0xffea,0x0050,0x20},
{DAT,0x18,0x08,0x68,0xd8,0xffba,0x0008,0x20},
{DAT,0x18,0x08,0x68,0x50,0xffba,0x0030,0x20},
{DAT,0x20,0x18,0x60,0xe0,0xffca,0x0038,0x20},
{DAT,0x08,0x08,0x78,0xf8,0xffca,0x0000,0x20},
{DAT,0x08,0x08,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,0x
0xD62C00#
x10,0x10,0x50,0x50,0x007b,0x0031,0x03},
{DAT,0x10,0x10,0x00,0x50,0x0083,0x0031,0x03},
{DAT,0x10,0x10,0x20,0x40,0x008b,0x0031,0x03},
// ブレインパニック
{DAT,0x10,0x10,0x60,0xa0,0x0035,0x003d,0x03},
{DAT,0x10,0x10,0x70,0x90,0x0042,0x003d,0x03},
{DAT,0x10,0x10,0x10,0x80,0x004d,0x003d,0x03},
{DAT,0x10,0x10,0x00,0xa0,0x0059,0x003d,0x03},
{DAT,0x10,0x10,0x10,0xa0,0x0065,0x003d,0x03},
{DAT,0x10,0x10,0x50,0x90,0x0072,0x003d,0x03},
{DAT,0x10,0x10,0x60,0xb0,0x007d,0x003d,0x03},
{END,0x10,0x10,0x50,0x80,0x0089,0x003d,0x03},
};
SPD_W c_exgm_spd[]={ // カーソル
// ストラックアウト
{DAT,0x70,0x20,0x80,0x80,0xff56,0xffec,0x10},
{DAT,0x10,0x20,0xf0,0x80,0xffc6,0xffec,0x10},
// キックターゲット
{DAT,0x70,0x20,0x80,0x80,0xff56,0x000e,0x10},
{DAT,0x10,0x20,0xf0,0x80,0xffc6,0x000e,0x10},
// モンスターボックス
{DAT,0x70,0x20,0x80,0x80,0xff56,0x0030,0x10},
{DAT,0x10,0x20,0xf0,0x80,0xffc6,0x0030,0x10},
// ハスラー
{DAT,0x70,0x20,0x80,0x80,0x0030,0xffec,0x10},
{DAT,0x10,0x20,0xf0,0x80,0x00a0,0xffec,0x10},
// ダルマ
0xD71E00#
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;
}
//==============================================================================
// ランキング スライドイン・アウト
//----
0xD77600#
===========================================
// トータルランキング演出 落下/拡縮/フラッシュ
//------------------------------------------------------------------------------
// パラメータ
// cno : 登録パーツ番号(先頭 ~8人分固定)
//------------------------------------------------------------------------------
// 戻り値 : 0(処理中)/1(処理終了)
//==============================================================================
Uchar FallFL( Uchar cno )
{
sys_w;
Uchar i, n;
Ushort rnum;
CLASS0_W *cls0;
SPD_W
0xD7CC00#
00;
}
else {
spd[24].xsize = 0x08;
spd[25].xsize = 0x08;
spd[26].xsize = 0x08;
spd[27].xsize = u_wk[0]-0x18;
spd[28].xsize = 0x08;
spd[29].xsize = 0x08;
spd[30].xsize = 0x08;
spd[31].xsize = u_wk[0]-0x18;
}
if( u_wk[0] == PH3_4 ) {
u_wk[0] = 0;
u_wk[1]++;
}
else {
spd[23].ccode = DAT;
spd[31].ccode = END;
}
break;
case 4: // フェーズ4
u_wk[0]++;
if( u_wk[0] <= 0x08 ) {
spd[32].ysize = u_wk[0];
spd[33].ysize = 0x00;
spd[34].ysize = 0x00;
spd[35].ysize = 0x00;
spd[36].ysize = 0x00;
spd[37].ysize = 0x00;
spd[38].ysize = 0x00;
spd[39].ysize = 0x00;
spd[40].ysize = 0x00;
spd[41].ysize = u_wk[0];
spd[41].offset_y = (0x0028+0x08)-u_wk[0];
}
else if( u_wk[0] <= 0x10 ) {
spd[32].ysize = 0x08;
spd[33].ysize = u_wk[0]-0x08;
spd[34].ysize = 0x00;
spd[35].ysize = 0x00;
spd[36].ysize = 0x00;
spd[37].ysize = 0x00;
spd[
0xD85C00#
o+4 ); cls0->kind = 0;
return;
}
else {
spd[0].ccode = DAT; spd[0].ysize = 0x00;
cls0 = SETCLS0( cno ); cls0->kind = 1;
cls0 = SETCLS0( cno+4 ); cls0->kind = 1;
}
/* 選手名 */
NameSet( cno, PNO(lno), 0xff );
/* モード/競技名 */
cls0 = SETCLS0( cno+4 );
spd = (SPD_W *)cls0->chara;
for( i=0; i<6; i++ ) { /* モード名 */
for( n=0; n<mdTop[1][i]; n++ ) {
spd[ mdTop[0][i]+n ].ysize = (i==MDK(lno))? 0x08:0x00;
}
}
for( i=0; i<8; i++ ) { /* 競技名 */
for( n=0; n<gmTop[1][i]; n++ ) {
spd[ gmTop[0][i]+n ].ysize = (i==GMK(lno))? 0x08:0x00;
}
}
/* データ情報 */
cls0 = SETCLS0( cno+8 );
spd = (SPD_W *)cls0->chara;
for( i=0; i<8; i++ ) { /* データ情報 */
for( n=0; n<dtTop[1][i]; n++ ) {
spd[ dtTop[0][i]+n ].ysize = (i==GMK(lno))? 0x10:0x00;
}
if( i == GMK(lno) ) { /* 該当競技記録セット */
switch( i ) {
case 0: /* ストラックアウト */
case 1: /* キックターゲット */
spd[ dtTop[0][i] ].ysize = 0x10;
spd[ dtTop[0][i] ].u = 0x10*REC(lno);
0xD9DC00#
ss[tno].cur, 0x20 );
wkt = 0xff;
}
else {
rk_step = 10;
wkt = 0;
}
}
else {
if( wopen == 0 ) {
SD_call( SD_WINDOW );
wopen = 1;
}
if( wkt == 0xff ) {
rk_step = 12;
}
}
break;
case 12:
/* 確認待ち/接続チェック */
SetWIN( S_WIN, 0x4091, 0xff, mess[tno].wc, mess[tno].hc, 0x20 );
pos = MCurPos( MSG_C );
if( (JOYTRG0&P_RRIGHT) && (pos!=0xff) ) { /* ○ボタン押下時処理 */
switch( msg ) {
/* OKタイプ */
case MES_NOFILE2: /* (OK) データなし */
case MES_FORMAT2: /* (OK) 未フォーマット */
case MES_SVEND: /* (----) セーブ完了 */
case MES_LDEND: /* (----) ロード完了 */
mcWaitResult( RES_OK );
rk_step = 20;
wkt = 2;
next = 0xff;
break;
/* Yes/Noタイプ */
case MES_OVERWRT: /* (確認) 上書き */
case MES_NOFILE1: /* (確認) データなしセーブ */
case MES_FORMAT1: /* (確認) 未フォーマット */
case MES_FMEND: /* (確認) フォーマット完了 */
case MES_LDYN: /* (確認) ロード */
if( pos ) {
0xDA8600#
文字 */
/* SET UP */
{DAT,0x10,0x10,0x20,0x60,0xff98,0x0018,0x03},
{DAT,0x10,0x10,0x40,0x40,0xffa2,0x0018,0x03},
{DAT,0x10,0x10,0x30,0x60,0xffae,0x0018,0x03},
{DAT,0x10,0x10,0x40,0x60,0xffbf,0x0018,0x03},
{DAT,0x10,0x10,0x70,0x50,0xffc9,0x0018,0x03},
/* 設定 */
{DAT,0x10,0x10,0x80,0x70,0xff9a,0x0026,0x03},
{END,0x10,0x10,0x90,0x70,0xffa9,0x0026,0x03},
};
SPD_W opt_repl_spd[]={ /* 文字 */
/* REPLAY */
{DAT,0x10,0x10,0x10,0x60,0xff98,0x003c,0x03},
{DAT,0x10,0x10,0x40,0x40,0xffa2,0x
0xDAEE00#
0x08,0xa0,0x10,0xffb9,0x000c,0x03},
{DAT,0x08,0x08,0xa0,0x10,0xffc1,0x000c,0x03},
{DAT,0x08,0x08,0x88,0xc8,0xffcd,0x000c,0x03},
{DAT,0x08,0x08,0xa8,0x08,0xffd6,0x000c,0x03},
{DAT,0x08,0x08,0xa8,0x00,0xffde,0x000c,0x03},
{DAT,0x08,0x08,0xa8,0x00,0xffe6,0x000c,0x03},
{DAT,0x08,0x08,0xa0,0x10,0xffee,0x000c,0x03},
{DAT,0x08,0x08,0xa0,0x20,0xfff6,0x000c,0x03},
{DAT,0x08,0x08,0xa0,0x00,0xfffe,0x000c,0x03},
/* TEAM2 BATTLES */
{DAT,0x08,0x08,0xa8,0x00,0xffb1,0x000c,0x03},
{DAT,0x08,0x08,0xa0,
0xDB5200#
0x00,0x80,0x0025,0x004e,0x05}, /* 一位(m) */
{DAT,0x10,0x10,0x00,0x80,0x003a,0x004e,0x05}, /* 十位(cm) */
{DAT,0x10,0x10,0x00,0x80,0x0043,0x004e,0x05}, /* 一位(cm) */
{DAT,0x38,0x10,0x00,0xe0,0x002e,0x004e,0x05}, /* mcm */
/* THE TUG-OF-WAR */
{DAT,0x30,0x10,0x80,0x90,0x001d,0x004e,0x05}, /* 1回戦(2:y+0x10/決:y+0x20) */
/* HUSTLER */
{DAT,0x10,0x10,0x00,0x80,0x001c,0x004e,0x05}, /* 記録数字 */
{DAT,0x28,0x10,0x00,0xf0,0x002a,0x004e,0x05}, /* テーブル */
/* DARUMA */
{DAT,0x10,0x10,0x00,0x80,0x001c,0x004e,0x05}, /* 記録数字 */
{DAT,0x10,0x10,0x10,0xc0,0x002a,0x004e,0x05}, /* 段 */
/* BRAIN PANIC */
{DAT,0x10,0x10,0x00,0x80,0x001c,0x004e,0x05}, /* 記録数字 */
{END,0x30,0x10,0x00,0xd0,0x0026,0x004e,0x05}, /* ステージ */
};
SPD_W rpdt1_spd[]={ /* DATA1 */
{DAT,0x10,0x10,0x30,0x40,0xff70,0xffdc,0x03},
{DAT,0x10,0x10,0x00,0x40,0xff7a,0xffdc,0x03},
{DAT,0x10,0x10,0x30,0x60,0xff85,0xffdc,0x03},
{DAT,0x10,0x10,0x00,0x40,0xff8e,0xffdc,0x03},
{END,0x10,0x10,0xc0,0x20,0xff9a,0xffdc,0x03},
};
SPD_W rpdt2_spd[]={ /* DATA2 */
{DAT,0x10,0x10,0x30,0x40,0xff70,0x0000,0x03},
{DAT,0x10,0x10,0x00,0x40,0xff7a,0x0000,0x03},
{DAT,0x10,0x10,0x30,0x60,0xff85,0x0000,0x03},
{DAT,0x10,0x10,0x00,0x40,0xff8e,0x0000,0x03},
{END,0x10,0x10,0xd0,0x20,0xff9a,0x0000,0x03},
};
SPD_W rpdt3_spd[]={ /* DATA3 */
{DAT,0x10,0x10,0x30,0x40,0xff70,0x0024,0x03},
{DAT,0x10,0x10,0x00,0x40,0xff7a,0x0024,0x03},
{DAT,0x10,0x10,0x30,0x60,0xff85,0x0024,0x03},
{DAT,0x10,0x10
0xDC3E00#
------------------------------------------*/
/* セーブ/ロード時のデータ情報取得 */
/*------------------------------------------------------------------------------*/
/* パラメータ */
/* dat : データバッファ */
/* ofs : データオフセット */
/* siz : データサイズ */
/* max : データサイズMAX値 (新規作成時用に取得しておく) */
/* typ : データタイプ (データセット時の判断に使用 本当は嫌なんだけど...) */
/*-----------------------------------------------------------
0xDCAC00#
fd2,0x0008,0x2a},
{DAT,0x10,0x10,0xd0,0x40,0xffe0,0x0008,0x2a},
{DAT,0x10,0x10,0x30,0x30,0xffee,0x0008,0x2a},
{DAT,0x10,0x10,0x10,0x00,0xfffc,0x0008,0x2a},
{DAT,0x10,0x10,0x50,0x00,0x000a,0x0008,0x2a},
{DAT,0x10,0x10,0x30,0x20,0x0018,0x0008,0x2a},
{DAT,0x10,0x10,0x90,0x30,0x0026,0x0008,0x2a},
{DAT,0x10,0x10,0xe0,0xc0,0xffc0,0x0020,0x2a},
{DAT,0x10,0x10,0xa0,0xc0,0xffce,0x0020,0x2a},
{DAT,0x10,0x10,0x10,0x90,0x0007,0x0020,0x2a},
{DAT,0x10,0x10,0xd0,0x90,0x0016,0x0020,0x2a},
{DAT,0x10,0x10,0xd0,0xa0,0x0025,0x0020,0x2a},
{END,0x10,0x10,0x20,0x70,0x0034,0x0020,0x2a},
};
SPD_W warn062_spd[]={
{DAT,0x10,0x10,0x40,0x50,0xff9f,0xfff8,0x2a},
{DAT,0x10,0x10,0x50,0x50,0xffae,0xfff8,0x2a},
{DAT,0x10,0x10,0x60,0x50,0xffbd,0xfff8,0x2a},
{DAT,0x10,0x10,0x40,0x70,0x0012,0xfff8,0x2a},
{DAT,0x10,0x10,0x40,0x70,0x002e,0xfff8,0x2a},
{DAT,0x10,0x10,0x40,0x50,0xffc3,0x0008,0x2a},
{DAT,0x10,0x10,0xb0,0x10,0x0058,0xfff8,0x2a},
{DAT,0x10,0x10,0xc0,0x10,0x0034,0x0008,0x2a},
{END,0x10,0x10,0x
0xDCE400#
d5,0xffd0,0x2a},
{DAT,0x10,0x10,0x20,0x80,0xffe3,0xffd0,0x2a},
{DAT,0x10,0x10,0x80,0x80,0xfff1,0xffd0,0x2a},
{DAT,0x10,0x10,0xe0,0x70,0xffff,0xffd0,0x2a},
{DAT,0x10,0x10,0x60,0x80,0x000d,0xffd0,0x2a},
{DAT,0x10,0x10,0xb0,0xa0,0x001b,0xffd0,0x2a},
{DAT,0x10,0x10,0x10,0x80,0x0037,0xffd0,0x2a},
{DAT,0x10,0x10,0xc0,0xa0,0x0045,0xffd0,0x2a},
{DAT,0x10,0x10,0x90,0x90,0x0053,0xffd0,0x2a},
{DAT,0x10,0x10,0x40,0x70,0xffad,0xffe0,0x2a},
{DAT,0x10,0x10,0x90,0x90,0xffbb,0xffe0,0x2a},
{DAT,0x10,0x10,0x40,0x90,0xffc9,0xffe0,0x2a},
{DAT,0x10,0x10,0x90,0x80,0xffd7,0xffe0,0x2a},
{DAT,0x10,0x10,0x50,0x80,0xfff3,0xffe0,0x2a},
{DAT,0x10,0x10,0x70,0x30,0x0001,0xffe0,0x2a},
{DAT,0x10,0x10,0x20,0x20,0x002e,0xffe0,0x2a},
{DAT,0x10,0x10,0x70,0x20,0x003c,0xffe0,0x2a},
{DAT,0x10,0x10,0x40,0x60,0xff92,0xfff8,0x2a},
{DAT,0x10,0x10,0xc0,0x80,0xffa2,0xfff8,0x2a},
{DAT,0x10,0x10,0x10,0x80,0xffb2,0xfff8,0x2a},
{DAT,0x10,0x10,0xc0,0xa0,0xffc2,0xfff8,0x2a},
{DAT,0x10,0x10,0x90,0x90,0xffd2,0xfff8,0x2a},
0xDD2600#
-----------------------------------+ */
/* ------------------------------------------------------------ */
/* コントローラが差し替えられたり、端末種別が切り替えられ */
/* たりしてライブラリがコントローラ情報をアクセスしに行ったとき */
/* アクチュエータの設定位置情報送信済みフラグをクリアする */
/* ------------------------------------------------------------ */
if(initlevel == PadStateFindPad) ctrl->Send = 0;
/* ---------------------------------------------------- */
/* アクチュエー
0xDD8C00#
/*髪 4タイプ/32color*/
short hair_pal_v[][2] = { /*size w=32,h=1 髪色*/
{ EPV_P1_X+0x80, EPV_P1_Y }, /*黒色*/
{ EPV_P1_X+0xa0, EPV_P1_Y }, /*茶色*/
{ EPV_P1_X+0xc0, EPV_P1_Y }, /*金色*/
{ EPV_P1_X+0xe0, EPV_P1_Y }, /*赤色*/
};
/*アンチ 16タイプ/16collor*/
short anti_pal_v[][2] = { /*size w=16,h=1 肌色*4+髪色*/
{ EPV_P2_X+0x00, EPV_P2_Y }, /*黄黒*/
{ EPV_P2_X+0x10, EPV_P2_Y }, /*黄茶*/
{ EPV_P2_X+0x20, EPV_P2_Y }, /*黄金*/
{ EPV_P2_X+0x30, EPV_P2_Y }, /*黄赤*/
{ EPV_P2_X+0x40, EPV_P2_Y }, /*白黒*/
{ EPV_P2_X+0x50, EPV_P2_Y }, /*白茶*/
{ EPV_P2_X+0x60, EPV_P2_Y }, /*白金*/
{ EPV_P2_X+0x70, EPV_P2_Y }, /*白赤*/
{ EPV_P2_X+0x80, EPV_P2_Y }, /*褐黒*/
{ EPV_P2_X+0x90, EPV_P2_Y }, /*褐茶*/
{ EPV_P2_X+0xa0, EPV_P2_Y }, /*褐金*/
{ EPV_P2_X+0xb0, EPV_P2_Y }, /*褐赤*/
{ EPV_P2_X+0xc0, EPV_P2_Y }, /*黒黒*/
{ EPV_P2_X+0xd0, EPV_P2_Y }, /*黒茶*/
{ EPV_P2_X+0xe0, EPV_P2_Y }, /*黒金*/
{ EPV_P2_X+0xf0, EPV_P2_Y }, /*黒赤*/
};
/*肌1 4タイプ/32color*
0xDDCA00#
ear2*/
{ -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,
0xDE1E00#
======
//1999.01.18 中山
//BG表示関連
//===================================================================*/
#define BG_INF_MAX 4 /*BGハンドラの最大数(同時に表示できるBG面の最大数)*/
/*===================================================================*/
/* Macro define */
/*===================================================================*/
#define sys_w register SYS_W *s=&sys
#define sys0_w register SYS0_W *s0=&sys0
#define sp_w register SP_W *sp=&s
0xDE3E00#
d;
/*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;
/*******************************************
0xDE8200#
データ送信位置設定関数コール済みフラグ */
unsigned char Send;
} ACTU_CTRL;
/******************************************************************************
振動コントロール
1P 2P 二つ分のみ
******************************************************************************/
typedef struct {
ACTU_CTRL ActuCtrl;
SHOCK_INFO ShockInfo;
short timer[2];
char used[2];
char dcnt[2];
} SCK_W;
/*--------------------------------------------------------------------------*/
/* Player's work */
/*--------------------------------------------------------------------------*/
typedef struct _PLAY_NAME { /* キャラクタの名前他プロふぃーる管理*/
Schar name[16]; /* 名前 */
Uchar age; /* 年齢 */
Uchar job; /* 職業 */
Uchar modelType; /* 表示モデル(のインデックス) */
/* 性別は表示モデルから判定する */
Uchar dummy;
Ulong param; /* 能力パラメータ */
/* 1バイトで2値もてば8個 */
} PLAY_NAME;
typedef struct _EVENT_RANK { /* 各競技の記録保持者*/
Schar playerIndex; /* 名前へのインデックス */
Uchar dummy[3];
Ulong record; /* 記録 */
} EVENT_RANK;
typedef struct _POINT_RANK { /* 総合戦でのポイントランキング*/
Schar playerIndex; /* 名前へのインデックス */
Uchar dummy;
Ushort point; /* ポイント */
} POINT_RANK;
typedef struct _S_PLAY { /* 個人ランキング戦用*/
Schar playerIndex; /* 名前へのイン
0xDF0200#
[追加 OPD_ANM
1999/01/11 松尾 アニメの停止モード追加。半透明モードの内容変更。
1999/01/06 松尾 OPD表示テスト用
*************************************************************************/
#define OPD_MAX (512)
#define ANM_MAX (512)
#define AN_NONE 0x00 /*デフォルト値 */
#define AN_END 0x01 /*終了フラグON */
#define AN_STOP 0x02 /*終了時停止フラグON */
#define AN_COL 0x04 /*パレット番号(パターン+アニメ)モード */
#define AN_SEMI 0x08 /*透明フラグON */
#define AN_FREEZ 0x40 /*アニメの停止 */
#define AN_RATE0 0x00 /*半透明モード:0.5 x Back + 0.5 x Forward */
#define AN_RATE1 0x10 /* :1.0 x Back + 1.0 x Forward */
#define AN_RATE2 0x20 /* :1.0 x Back - 1.0 x Forward */
#define AN_RATE3 0x30 /* :1.0 x Back + 0.25 x Forward */
/* 詳しくは GetTPage() の解説参照*/
/************************/
/*パターン実データ構造体*/
/************************/
typedef struct {
short px,py; /*左上X,Y座標 */
Uchar csr,uv; /*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;
0xE7B400#
45, /*「これはすごい!」*/
AS_G47, /*「日本一!」*/
AS_G49, /*「お見事でした!」*/
AS_G57, /*「どうだ!宣言通り! 」*/
AS_G58, /*「どうだ!宣言通り! 」バリエーション*/
/*2枚抜き*/
AS_G40, /*「2枚抜きー!」*/
AS_G40B, /*「2枚抜きー!」バリエーション*/
AS_G38, /*「2枚抜きだー!」*/
AS_G38B, /*「2枚抜きだー!」バリエーション*/
AS_G37, /*「すごいぞ2枚抜きー!」*/
AS_G37B, /*「すごいぞ2枚抜きー!」バリエーション*/
AS_G35, /*「いった!2枚抜きー!」*/
AS_G36, /*「いった!2枚抜きー!」バリエーション*/
AS_G34, /*「抜いた!2枚抜き!」*/
AS_G34B, /*「抜いた!2枚抜き!」バリエーション*/
AS_G32, /*「やった!2枚抜きだー!」*/
AS_G28, /*「見事2枚抜きー!」*/
AS_G29, /*「見事に射抜いていったー!」*/
AS_G24, /*「お-っと、出た!2枚抜き。2枚抜きが出た-!」*/
AS_G25, /*「お-っと、出た!2枚抜き。2枚抜きが出た-!」バリエーション*/
AS
0xE88600#
I」*/
FM_C06, /*「挑戦者とともに成長を続けるという天井知らずのプレッシャーを与えてきます!」*/
FM_C07, /*「世界中の挑戦者たちに底知れぬ恐怖を与え続けてきたその雄姿はいまだ健在であります!」*/
FM_C08, /*「そして今日も命知らずの猛者たちが挑みます!」*/
FM_C09, /*「その巨大な難関こそ、モンスターボックスであります!」*/
FM_C10, /*「さあ、そして今また新たな挑戦者とともに不動の存在感を際立たせます」*/
};
/*=========================================================
0xE90200#
滑走路。その滑走路を進んでいきます」バリエーション*/
AM_G11, /*「さぁ筋肉の神風が行きます!」*/
AM_G11B, /*「この男の動きに、誰もが注目しています!」*/
AM_G11H, /*「さぁ筋肉の神風が行きます!」バリエーション*/
AM_G12, /*「モンスターボックスの向こう側、その楽園を目指して」*/
/*跳躍時*/
AM_H00, /*「いったか!」*/
AM_H01, /*「さぁ行きます。どうだ!」*/
AM_H02, /*「さぁどうだ!」*/
AM_H02B, /*「さぁどうでしょう!」*/
AM_H03, /*「人類の限界に!」*/
AM_H04, /*「雲に向かって!」*/
AM_H05, /*「さぁ、踏み出す!」*/
};
/*============================================================
==成否判定
============================================================*/
enum {
/*成功*/
AS_G93 = (AM_H05+1), /*「決めたーっ!」*/
AS_G92B, /*「いったーっ!」*/
AD_H14, /*「やったー!きめたー!」*/
AM_I00, /*「とんだー!」*/
AM_I00B, /*「とんだー!」バリエーション*/
/*失敗*/
AS_H09, /*「(*球)失敗!」*/
AS_H10, /*「(*球)失敗です!」*/
AS_H17, /*「駄目だー!」*/
AS_H17B, /*「駄目だー!」バリエーション*/
AM_I01, /*「乗ってしまった!」*/
AM_I02, /*「衝突ー!」*/
AM_I02B, /*「真正面からぶつかった!」*/
AM_I02C, /*「おおっと!激突!」*/
AM_I02D, /*「衝突ー!」バリエーション*/
/*微妙な判定*/
AM_K00, /*「微妙なところでしたが」*/
AM_K00C, /*「これはどうでしょう? 微妙なところです」*/
AM_K04, /*「かなり微妙
0xEAC400#
0A = (AH_E08+1), /*「(さあ)、(第3テーブルを)」*/
/*共通 しも*/
AH_F00B, /*「選びました」*/
AH_F01, /*「ここからが勝負です」*/
AH_F02, /*「難しくなってきました」*/
AH_F03, /*「さあここからです」*/
AH_F04, /*「この位置から狙っていくようです」*/
AH_F05, /*「パーフェクトまであとわずか」*/
AH_F06B, /*「さあいよいよファイナルテーブルです、パーフェクトなるでしょうか」*/
AH_F07, /*「集中力を高めています」*/
AH_F07Z, /*「コンセントレーションが高まってきました」*/
AH_F08, /*「集中しています」*/
AH_F08Z, /*「さぁ、集中」*/
};
/*============================================================
==ショット後
============================================================*/
enum {
/*ショット直後*/
AH_I00 = (AH_F08Z+1), /*「さぁ、決まるか!」*/
AH_I00B, /*「(選手名!)自信たっぷり!」*/
AH_I00C, /*「(選手名!)自信たっぷり!」バリエーション*/
AH_I00D, /*「いきました」*/
AH_I00E, /*「さぁ、
0xEC6600#
///////////////////////////////////////////
/*************************************************************
アナウンサー:進藤
*************************************************************/
/*============================================================
==競技説明
============================================================*/
enum {
SA_A20 = (FG_P90CM+1),/*「挑戦距離は10mからです。競技前に自分で挑戦距離を申告して下さい」*/
SA_A21, /*「距離の申告は3回です。その3回のうちにできるだけ距離を
0xEE5600#
YN) || (msg == MES_NOWLD) ) {
SetMsg( 0, MSG_1, mess[tno].sno, mess[tno].cur, 0 );
fst = 0;
}
if( msg > MES_NON ) {
tno = msg & 0xf;
op_step = 11;
}
else if( msg == MES_NOWLD ) {
op_step = 21;
}
else if( msg == MES_LDYN ) {
tno = 0x14;
op_step = 11;
}
if( blk || fst ) {
SetMsg( 1, MSG_1, mess[tno].sno, mess[tno].cur, 0 );
if( blk ) {
blk = 0;
}
}
break;
case 11:
/* ウィンドウ処理中 */
if( SetWIN( S_WIN, 0x308f, wkt, mess[tno].wc,
0xF0A200#
AS_G20B, /*「(*枚目!)決めたー!」バリエーション*/
AS_G19, /*「最高のスタートを切っています(選手名!)」(3枚連続)*/
AS_G19B, /*「最高のスタートを切っています(選手名!)」(3枚連続)バリエーション*/
AS_G18, /*「さぁ、これで合計(*枚!)」*/
AS_G18B, /*「これで合計(*枚!)」*/
AS_G17, /*「これで、(*枚!)」*/
AS_G17B, /*「これで、(*枚!)」バリエーション*/
AS_G15, /*「いいぞ、(選手名!) 」*/
AS_G16, /*「いいぞ、(選手名!) 」バリエーション*/
/*宣言どおり*/
AS_G67, /*「宣言通り!」*/
AS_G65, /*「狙った通り!」*/
AS_G66, /*「狙った通り!」バリエーション*/
AS_G63, /*「宣言通り!鮮やか!」*/
AS_G60, /*「宣言通り! 」*/
AS_G59, /*「(*番、)宣言通り!」*/
AS_G54, /*「宣言通りです! 」*/
AS_G54B, /*「宣言通りです! 」バリエーション*/
AS_G26, /*「宣言通り抜いて行ったぁ!」*/
AS_G45, /*「これはすごい!」*/
AS_G47, /*「日本一!」*/
AS_G49, /*「お見事でした!」*/
AS_G57, /*「どうだ!宣言通り! 」*/
AS_G58, /*「どうだ!宣言通り! 」バリエーション*/
/*2枚抜き*/
AS_G40, /*「2枚抜きー!」*/
AS_G40B, /*「2枚抜きー!」バリエーション*/
AS_G38, /*「2枚抜きだー!」*/
AS_G38B, /*「2枚抜きだー!」バリエーション*/
AS_G37, /*「すごいぞ2枚抜きー!」*/
AS_G37B, /*「すごいぞ2枚抜きー!」バリエーション*/
AS_G35, /*「いった!2枚抜きー!」*/
AS_G36,
0x11C8E00#
0; .val 5; .scl 8; .type 0xc; .endef
.def clut; .val 6; .scl 8; .type 0xd; .endef
.def tu1; .val 8; .scl 8; .type 0xc; .endef
.def tv1; .val 9; .scl 8; .type 0xc; .endef
.def tpage; .val 10; .scl 8; .type 0xd; .endef
.def tu2; .val 12; .scl 8; .type 0xc; .endef
.def tv2; .val 13; .scl 8; .type 0xc; .endef
.def p0; .val 14; .scl 8; .type 0xd; .endef
.def r0; .val 16; .scl 8; .type 0xc; .endef
.def g0; .val 17; .scl 8; .type 0xc; .endef
.def b0; .val 18; .scl 8; .type 0xc; .endef
.def p1
0x1217400#
9
LM64:
.loc 1 309
LM65:
.ent SD_sfx10_vol
SD_sfx10_vol:
.frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, extra= 0
.mask 0x80000000,-8
.fmask 0x00000000,0
.def i; .val 4; .scl 17; .type 0x3; .endef
subu $sp,$sp,24
.loc 1 310
LM66:
lui $2,%hi(sfx_vol+2) # high
.loc 1 311
LM67:
lui $3,%hi(s_attr1) # high
.loc 1 310
LM68:
sh $4,%lo(sfx_vol+2)($2)
.loc 1 311
LM69:
li $2,8388608 # 0x00800000
sw $2,%lo(s_attr1)($3)
addiu $3,$3,%lo(s_attr1) # low
.loc 1 312
LM70:
li $2,3 # 0x00000003
.loc 1 309
LM71:
sw $31,16($sp)
.loc 1 312
LM72:
sw $2,4($3)
.loc 1 313
LM73:
lui $2,%hi(spuvol) # high
addiu $2,$2,%lo(spuvol) # low
sll $4,$4,16
sra $4,$4,15
addu $4,$4,$2
lhu $2,0($4)
#nop
sll $2,$2,7
sh $2,8($3)
.loc 1 314
LM74:
lhu $2,0($4)
.loc 1 315
LM75:
move $4,$3
.loc 1 314
LM76:
sll $2,$2,7
.loc 1 315
LM77:
.set noreorder
.set nomacro
jal SpuSetVoiceAttr
sh $2,10($3)
.set macro
.set reorde
0x1293600#
ト
cls0 = SETCLS0( cno+i );
if( cls0->xposi > OUTPL ) {
cls0->xposi -= MJ_SP;
/* スライド音コールチェック */
if( (sbit&(1<<i)) == 0 ) {
sbit |= (1<<i);
SD_call( SD_SLIDEOUT );
}
}
else {
/* 見えなくなったら表示OFF */
PartsOFF( cno+i );
if( ++end == tcnt ) {
return( 1 );
}
}
// 選択位置でカーソル移動
if( i == pos ) {
cls0 = SETCLS0( cur );
cls0->xposi -= MJ_SP;
}
}
else if( type == 2 ) { //
0x1294E00#
i++ ) {
if( (bit>>(cnt-i-1))&0x1 ) {
spd[z].offset_y = 0xffc2-(FN_SP*FN_MX+FN_SA*i);
z++;
}
}
}
//==============================================================================
// フォント スライドイン・アウト
//------------------------------------------------------------------------------
// パラメータ
// io : 0(イン)/1(アウト)
// cno : フォント 登録パーツ番号
// cnt : 全フォント数(非表示分含む)
// bit : 表示ビット 0(なし)/1(あり)
// tbl : ワークテーブル番号
//-------------------------------------------
0x129E400#
AA4 CD_status
80022AA8 CD_status1
80022AAC CD_nopen
80022AB0 CD_pos
80022AB4 CD_mode
80022AB5 CD_com
80022AB8 DS_active
80022ABC CD_comstr
80022B3C CD_intstr
80022E10 Hcount
80023F40 Vcount
80023F90 _snd_vmask
80023FC0 _snd_seq_tick_env
80024118 _spu_EVdma
8002411C _spu_keystat
80024120 _spu_trans_mode
80024124 _spu_rev_flag
80024128 _spu_rev_reserve_wa
8002412C _spu_rev_offsetaddr
80024130 _spu_rev_attr
80024144 _spu_RQvoice
80024148 _spu_RQmask
8002414C _spu_voice_centerNote
8002417C _spu_env
80024180 _spu_isCalled
80024190 _spu_RXX
800241A8 _spu_tsa
800241AC _spu_transMode
800241B0 _spu_addrMode
800241B4 _spu_mem_mode
800241B8 _spu_mem_mode_plus
800241BC _spu_mem_mode_unit
800241C0 _spu_mem_mode_unitM
800241C4 _spu_inTransfer
800241C8 _spu_transferCallback
800241CC _spu_IRQCallback
800241F0 _spu_AllocBlockNum
800241F4 _spu_AllocLastNum
800241F8 _spu_memList
80024200 _spu_zerobuf
80024720
0x12E4380#
NE-----------------------------------------------*/
/*----------------------型宣言---------------------------------------------
0x12F3600#
ハ置に作られる
//8x8pixでモジュールを組んだ場合、CSR1枚につき最大$800バイトのメモリーが消費される
//あたり判定などの事情が無い限りはセルは16x16pixで組むのが望ましい
//
// in: mapマップ情報構造体 cellセルが展開される場所 palette(0~$ff) tpage(先頭テクスチャページ)
============================================================================*/
#if 0
void CreateCell( MAP_INF* map, GsCELL* cell, unsigned char palette, unsigned short tpage )
{
sys_w;
register unsigned short* index;
register unsigned
0x1330C00#
20, /* 7:だるま*/
15, /* 8:ぶれいんぱにっく*/
4 , /* 9:でも*/
#endif
};
static short anmNum = 0;
static short anmPlay = 0;
/*------------------------------------------------------------------*/
/* Func */
/*------------------------------------------------------------------*/
static void PC_StepSet( CLASS_W *cls, Uchar step )
{
cls->mainstep = step;
cls->substep = 0;
}
static void PC_SpeedSet( CLASS_W *cls, short speed,short num )
{
cls->speed += speed / num;
if(cls->speed > speed) cls->speed = speed;
}
/*------------- 動作処理 -------------------------------------------*/
void Character( void )
{
sp_w;
sys_w;
CLASS_W *cls;
short i,pc;
cls = &s->classw[0];
for(i=0; i<CLASSW_SUU; i++,cls++ ) {
if(! cls->kind)
continue;
sp->left_key = cls->key_w >> 12; /* なんかのおまじない*/
if(! cls->cpu) { /* PCの場合 */
PC_CheckKey( cls );
}
PC_Main(cls);
}
}
/*------------- 動作処
0x1333600#
/* 38 ケインスペシャルの着地 238 */
LAND_GON , /* 39 ゴン専用着地 239 */
PUSH_IKE , /* 40 池谷 超す 240 */
KAM_RUN_IKE , /* 41 池谷 構え 走り 241 */
RUN_IKE , /* 42 池谷 走り 242 */
FUMIKIRI_IKE , /* 43 池谷 踏み切り 243 */
HARAU , /* 44 手を払う 244 */
MAGURO_OTI , /* 45 着地 不様 245 */
LAND_NO , /* 46 着地 生 246 */
KONA2 , /* 47 粉つける2 247 */
LAND_OK2 , /* 48 着地 OK2 248 */
LAND_OK3 ,
0x1373320#
攻,Sカ,支,PS,JP, 人 頭の 国 利, 年 1.札幌
// 長,重,体,当,タ, 防,ST,トラ,HD,CV, 種 特徴 籍 足, 齢 Rk.A) 4-4-2A
{86,87,64,66,37,38,73,24,53,73,YEL|Y_HD8|JP|R_FOOT,41}, /* GK 1. 570926 */ /* ディド
0x14AC9E0#
K_2 */
{ 0,26, 60*256, SE_DEF_
0x14AFE30#
SD_def_vol_save();
SD_sfx00_vol(12);
SD_sfx10_vol(12);
bgm_vol = spuvol[12];
XA_lch = XA_rch = 0;
sec_secnt = sec_cnt = 0;
}
/*****************************************************
== VABデータをセットする
== ノンブロックリードを行うので終了を監視しておくこと
== in: int no VABテーブルへのオフセット 0~
== out: 0(継続中) 1(終了)
*****************************************************/
int VabTrans( int no )
{
#if !SD_CD
long fp,leng
0x14C4DC0#
if ( CdRead (fpe_se, (void *) str_se_buf, CdlModeSpeed) ){