This is a sub-page of Uchi ni Pochi ga Yattekita in my pocket.
0x9C00#
\\include/k_model.h" 2
# 1 "c:/psx/include/libetc.h" 1 3
extern int PadIdentifier;
int CheckCallback(void) ;
void PadInit(int mode);
int ResetCallback(void) ;
int RestartCallback(void) ;
int StopCallback(void) ;
int VSync(int mode);
int VSyncCallback(void (*f)()) ;
long GetVideoMode (void);
long SetVideoMode (long mode);
u_long PadRead(int id);
void PadStop(void);
# 12 "..\\include/k_model.h" 2
# 1 "c:/psx/include/libgte.h" 1 3
# 135 "c:/psx/include/libgte.h" 3
typedef struct {
short m[3][3];
long t[3];
} MATRIX;
typedef struct {
long vx, vy;
long vz, pad;
} VECTOR;
typedef struct {
short vx, vy;
short vz, pad;
} SVECTOR;
typedef struct {
u_char r, g, b, cd;
} CVECTOR;
typedef struct {
short vx, vy;
}
0xEA00#
ipmode);
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);
# 13 "..\\include/k_model.h" 2
# 1 "c:/psx/include/libgpu.h" 1 3
0x12A00#
TMD_P_F3;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
} TMD_P_G3;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1, b1, dummy1;
u_char r2, g2, b2, dummy2;
u_short n0, v0;
u_short v1, v2;
} TMD_P_F3G;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1, b1, dummy1;
u_char r2, g2, b2, dummy2;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
} TMD_P_G3G;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_short v0, v1;
u_short v2, p;
} TMD_P_NF3;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1, b1, p1;
u_char r2, g2, b2, p2;
u_short v0, v1;
u_short v2, p;
} TMD_P_NG3;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_short n0, v0;
u_short v1, v2;
u_short v3, p;
} TMD_P_F4;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
u_short n3, v3;
} TMD_P_G4;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1, b1, dummy1;
u_char r2, g2, b2, dummy2;
u_char r3, g3, b3, dummy3;
u_short n0, v0;
u_short v1, v2;
u_short v3, dummy4;
} TMD_P_F4G;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1,
0x15400#
d 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
0x17400#
PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastTG3MFG(TMD_P_TG3 *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastF4GL(TMD_P_F4G *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
0x1AC00#
ong *GsU_000c0050(GsARGUNIT *);
extern u_long *GsU_000c0051(GsARGUNIT *);
extern u_long *GsU_000c0054(GsARGUNIT *);
extern u_long *GsU_000c0055(GsARGUNIT *);
extern u_long *GsU_0100020d(GsARGUNIT *);
extern u_long *GsU_01000215(GsARGUNIT *);
extern u_long *GsU_00100008(GsARGUNIT *);
extern u_long *GsU_00100009(GsARGUNIT *);
extern u_long *GsU_0010000a(GsARGUNIT *);
extern u_long *GsU_0010000b(GsARGUNIT *);
extern u_long *GsU_0010000c(GsARGUNIT *);
extern u_long *GsU_0010000d(GsARGUNIT *);
extern u_long *GsU_0010000e(GsARGUNIT *);
extern u_long *GsU_0010000f(GsARGUNIT *);
extern u_long *GsU_00100010(GsARGUNIT *);
extern u_long *GsU_00100011(GsARGUNIT *);
extern u_long *GsU_00100012(GsARGUNIT *);
extern u_long *GsU_00100013(GsARGUNIT *);
extern u_long *GsU_00100014(GsARGUNIT *);
extern u_long *GsU_00100015(GsARGUNIT *);
extern u_long *GsU_00100016(GsARGUNIT *);
extern u_long *GsU_00100017(GsARGUNIT *);
extern u_long *GsU_00300008(GsARGUNIT *);
extern u_long *GsU_0
0x137C00#
_objend
800BB1C8 _ev_uesaka_bss_org
800BB1CC _ev_uesaka_bss_orgend
00000004 _ev_uesaka_bss_size
800BB1CC _ev_uesaka_ctors_obj
800BB1CC _ev_uesaka_ctors_objend
800BB1CC _ev_uesaka_ctors_org
800BB1CC _ev_uesaka_ctors_orgend
00000000 _ev_uesaka_ctors_size
800BAD04 _ev_uesaka_data_obj
800BB1C8 _ev_uesaka_data_objend
800BAD04 _ev_uesaka_data_org
800BB1C8 _ev_uesaka_data_orgend
000004C4 _ev_uesaka_data_size
800BB1CC _ev_uesaka_dtors_obj
800BB1CC _ev_uesaka_dtors_objend
800BB1CC _ev_uesaka_dtors_org
800BB1CC _ev_uesaka_dtors_orgend
00000000 _ev_uesaka_dtors_size
800B9000 _ev_uesaka_obj
800BB1CC _ev_uesaka_objend
800B9000 _ev_uesaka_org
800BB1CC _ev_uesaka_orgend
800B9004 _ev_uesaka_rdata_obj
800B9094 _ev_uesaka_rdata_objend
800B9004 _ev_uesaka_rdata_org
800B9094 _ev_uesaka_rdata_orgend
00000090 _ev_uesaka_rdata_size
800BB1C8 _ev_uesaka_sbss_obj
800BB1C8 _ev_uesaka_sbss_objend
800BB1C8 _ev_uesaka_sbss_org
800BB1C8 _ev_uesaka_
0x141E00#
puGetVoiceVolume
80036834 _SsVmAlloc
80036AC4 _SsVmDoAllocate
80036C94 _SsVmDamperOff
80036CA4 _SsVmDamperOn
80036CB4 _SsVmFlush
80037144 SpuSetNoiseVoice
80037174 _SpuSetAnyVoice
80037434 SpuSetReverbVoice
80037464 SpuSetKey
80037624 SpuGetVoiceEnvelope
80037644 _SsVmInit
80037994 SpuInitMalloc
800379F4 _spu_setInTransfer
80037A1C _spu_getInTransfer
80037A34 _SsVmKeyOn
80037F90 _SsVmKeyOff
800380F8 _SsVmSeKeyOn
800381E4 _SsVmSeKeyOff
80038218 KeyOnCh
0x14BA00#
, p3;
u_char r2, g2, b2, p4;
u_char r3, g3, b3, p5;
u_short v0, v1;
u_short v2, v3;
} TMD_P_TNG4;
struct TMD_STRUCT {
u_long *vertop;
u_long vern;
u_long *nortop;
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;
} GsADIV_GT4;
typedef struct {
VERTC vt[4];
} GsADIV_P_GT4;
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
0x14C400#
shift;
u_long *org;
u_long *pk;
long otz;
long adivz;
short adivw, adivh;
long flg;
short minx, miny, maxx, maxy;
short hwd0, vwd0;
u_long *tag;
POLY_GT3 si;
} GsADIV_GT3;
typedef struct {
VERTC vt[3];
} GsADIV_P_GT3;
typedef struct {
u_long limit;
long hwd, vwd;
int shift;
u_long *org;
u_long *pk;
long otz;
long adivz;
short adivw, adivh;
long flg;
short minx, miny, maxx, maxy;
short hwd0, vwd0;
u_long *tag;
POLY_G3 si;
} GsADIV_G3;
typedef struct {
VERTC vt[3];
} GsADIV_P_G3;
typedef struct {
u_long limit;
long hwd, vwd;
int shift;
u_long *org;
u_long *pk;
long otz;
long adivz;
short adivw, adivh;
long flg;
short minx, miny, maxx, maxy;
short hwd0, vwd0;
u_long *tag;
POLY_F3 si;
} GsADIV_F3;
typedef struct {
VERT
0x14CA00#
;
void GsSetWorkBase(PACKET * outpacketp);
void GsSortObject3(GsDOBJ3 * objp, GsOT * ot, int shift);
void GsSortObject4(GsDOBJ2 * objp, GsOT * ot, int shift, u_long * scratch);
void GsSortObject5(GsDOBJ5 * objp, GsOT * ot, int shift, u_long * scratch);
void GsSortObject5J(GsDOBJ5 * objp, GsOT * ot, int shift, u_long * scratch);
void GsSortSprite(GsSPRITE * sp, GsOT * ot, unsigned short pri);
void GsSortSpriteB(GsSPRITE * sp, GsOT * ot, unsigned short pri,
unsigned short flip);
void GsSortFastSprite(GsSPRITE * sp, GsOT * ot, unsigned short pri);
void GsSortFastSpriteB(GsSPRITE * sp, GsOT * ot, unsigned short pri,
unsigned short flip);
void GsSortFlipSprite(GsSPRITE * sp, GsOT * ot, unsigned short pri);
void GsSortBg(GsBG * bg, GsOT * ot, unsigned short pri);
void GsSortFastBg(GsBG * bg, GsOT * ot, unsigned short pri);
void GsInitFixBg16(GsBG * bg, u_long * work);
void GsSortFixBg16(GsBG * bg, u_long * work, GsOT * otp, unsigned short pri);
void GsInitFixBg32(GsBG * bg, u_long * work);
void GsSortFixBg32(GsBG * bg, u_long * work, GsOT * otp, unsigned short pri);
void GsSortLine(GsLINE * lp, GsOT * ot, unsigned short pri);
void GsSortGLine(GsGLINE * lp, GsOT * ot, unsigned short pri);
void GsSortBoxFill(GsBOXF * bp, GsOT * ot, unsigned short pri);
void GsSortPoly(void *pp, GsOT * ot, unsigned short pri);
void GsClearOt(unsigned short offset, unsigned short point, GsOT * otp);
GsOT *GsSortOt(
0x154E00#
T_ANIM *);
extern int GsU_03002030(GsARGUNIT_ANIM *);
extern int GsU_03002031(GsARGUNIT_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 *);
exte
0x155200#
1b(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 *);
extern int GsU_0300303b(GsARGUNIT_ANIM *);
extern int GsU_03003111(GsARGUNIT_ANIM *);
extern int GsU_03003112(GsARGUNIT_ANIM *);
extern int GsU_03003119(GsARGUNIT_ANIM *);
extern int GsU_0300311a(GsARGUNIT_ANIM *);
extern int GsU_03003910(GsARGUNIT_ANIM *);
extern int GsU_03003911(GsARGUNIT_ANIM *);
extern int GsU_03003912(GsARGUNIT_ANIM *);
extern int GsU_03003919(GsARGUNIT_ANIM *);
extern int GsU_0300391a(GsARGUNIT_ANIM *);
extern int GsU_03004010(GsARGUNIT_ANIM *);
extern int GsU_03004011(GsARGUNIT_ANIM *);
extern int GsU_03004012(GsARGUNIT_ANIM *);
extern int GsU_03004013(GsARGUNIT_ANIM *);
extern int GsU_03004019(GsARGUNIT_ANIM *);
extern int GsU_0300401a(GsARGUNIT_ANIM *);
extern int GsU_0300401b(GsARGUNIT_ANIM *);
extern int GsU_03004020(GsARGUNIT_ANIM *);
extern int GsU_03004021(GsARGUNIT_ANIM *);
extern int GsU_03004022(GsARGUNIT_ANIM *);
extern int GsU_03004023(GsA
0x155A00#
extern int GsU_03004112(GsARGUNIT_ANIM *);
extern int GsU_03004119(GsARGUNIT_ANIM *);
extern int GsU_0300411a(GsARGUNIT_ANIM *);
extern int GsU_03004910(GsARGUNIT_ANIM *);
extern int GsU_03004911(GsARGUNIT_ANIM *);
extern int GsU_03004912(GsARGUNIT_ANIM *);
extern int GsU_03004919(GsARGUNIT_ANIM *);
extern int GsU_0300491a(GsARGUNIT_ANIM *);
extern int GsU_03005010(GsARGUNIT_ANIM *);
extern int GsU_03005011(GsARGUNIT_ANIM *);
extern int GsU_03005012(GsARGUNIT_ANIM *);
extern int GsU_03005013(GsARGUNIT_ANIM *);
extern int GsU_03005019(GsARGUNIT_ANIM *);
extern int GsU_0300501a(GsARGUNIT_ANIM *);
extern int GsU_0300501b(GsARGUNIT_ANIM *);
extern int GsU_03005020(GsARGUNIT_ANIM *);
extern int GsU_03005021(GsARGUNIT_ANIM *);
extern int GsU_03005022(GsARGUNIT_ANIM *);
extern int GsU_03005023(GsARGUNIT_ANIM *);
extern int GsU_03005029(GsARGUNIT_ANIM *);
extern int GsU_0300502a(GsARGUNIT_ANIM *);
extern int GsU_0300502b(GsARGUNIT_ANIM *);
extern int GsU_03005030(GsARGUNIT_ANIM *);
extern int GsU_03005031(GsARGUNIT_ANIM *);
extern int GsU_03005032(GsARGUNIT_ANIM *);
extern int GsU_03005033(GsARGUNIT_ANIM *);
extern int GsU_03005039(GsARGUNIT_ANIM *);
extern int GsU_0300503a(GsARGUNIT_ANIM *);
extern int GsU_0300503b(GsARGUNIT_ANIM *);
extern int GsU_03005111(GsARGUNIT_ANIM *);
extern int GsU_03005112(GsARGUNIT_ANIM *);
extern int GsU_03005119(GsARGUNIT_ANIM *);
extern int GsU_0300511a(GsARGUNIT_ANIM *);
extern int GsU_03005910(GsARGUNIT_ANIM *);
exter
0x156400#
*);
extern int GsU_03010310(GsARGUNIT_ANIM *);
extern int GsU_03010311(GsARGUNIT_ANIM *);
extern int GsU_03010312(GsARGUNIT_ANIM *);
extern int GsU_03010321(GsARGUNIT_ANIM *);
extern int GsU_03010322(GsARGUNIT_ANIM *);
extern int GsU_03010341(GsARGUNIT_ANIM *);
extern int GsU_03010342(GsARGUNIT_ANIM *);
extern int GsU_03010371(GsARGUNIT_ANIM *);
extern int GsU_03010372(GsARGUNIT_ANIM *);
extern u_long *GsU_06000100(GsARGUNIT *sp);
extern u_long *GsU_0600100c(GsARGUNIT *sp);
extern u_long *GsU_06001014(GsARGUNIT *sp);
extern u_long *GsU_0600110c(GsARGUNIT *sp);
extern u_long *GsU_06001114(GsARGUNIT *sp);
extern u_long *GsU_0600200c(GsARGUNIT *sp);
extern u_long *GsU_06002014(GsARGUNIT *sp);
extern u_long *GsU_0600300c(GsARGUNIT *sp);
extern u_long *GsU_06003014(GsARGUNIT *sp);
extern u_long *GsU_0600400c(GsARGUNIT *sp);
extern u_long *GsU_06004014(GsARGUNIT *sp);
extern u_long *GsU_0600500c(GsARGUNIT *sp);
extern u_long *GsU_06005014(GsARGUNIT *sp);
ext
0x156C00#
nitRstVtxMIMe(u_long *primtop, u_long *hp);
extern void GsInitRstNrmMIMe(u_long *primtop, u_long *hp);
# 17 "..\\include/k_hmd.h" 2
typedef struct _MODEL_HMD{
signed int show;
signed long cnt_ani;
signed long cnt_blk;
VECTOR scale;
GsUNIT object[(32) ];
GsCOORDUNIT *coord;
GsSEQ *seq[32];
unsigned long address;
}MODEL_HMD;
extern void hmd_init(MODEL_HMD *,GsOT *);
extern void hmd_draw(MODEL_HMD *,GsOT *);
extern void hmd_init_ani(unsigned long int,GsSEQ **);
extern void hmd_link_driver_prim(unsigned long *,GsTYPEUNIT *,GsSEQ **);
extern void hmd_link_driver_ani(void);
extern void hmd_trans(GsCOORDUNIT *);
extern void hmd_scale(GsCOORDUNIT *,VECTOR *);
extern void hmd_link(GsUNIT *,unsigned long,unsigned long);
# 17 "..\\include/k_model.h" 2
extern void model_init(void);
extern void model_draw(GsOT *);
extern MODEL_HMD Hmd[18 ];
# 11 "m_move.c" 2
0x157400#
long amb[3];
}K_SCENE_VIEW;
extern K_SCENE_VIEW Scene;
extern GsF_LIGHT Light[3];
extern void k_scene_set(int);
extern int k_scene_load(int);
# 12 "m_move.c" 2
# 1 "..\\include/k_magic.h" 1
# 1 "c:/psx/include/sys\\types.h" 1 3
# 80 "c:/psx/include/sys\\types.h" 3
# 8 "..\\include/k_magic.h" 2
typedef struct _OBJ{
signed short x,y;
unsigned char size_x,size_y;
unsigned char u,v;
unsigned char num_csr,
num_pal;
unsigned short flag;
unsigned short tone_flag;
unsigned char tone_rate;
unsigned char red;
unsigned char green;
unsigned char blue;
unsigned char trans_flag;
unsigned char trans_rate;
unsigned short scale;
unsigned short rotate;
}K_ObjData;
typedef struct _PAT_DATA{
unsigned long cnt_obj;
signed short pivot_x;
signed
0x157C00#
igned char tone_ani_r;
unsigned char tone_ani_g;
unsigned char tone_ani_b;
unsigned char dummy;;
signed short x,
y,
z;
unsigned short no_ani;
unsigned short no_pat;
unsigned short trans_flag;
unsigned short trans_rate;
unsigned short ani;
unsigned short pat;
unsigned short timer;
signed short tone_pat;
signed short tone_ani;
unsigned short cx,
cy;
unsigned short cw,
ch;
unsigned long frame;
unsigned long tone_obj;
unsigned long priority;
unsigned long address_mp;
unsigned long address_tim[12 ];
unsigned long address_clt;
SVECTOR vect;
GsIMAGE tim[12 ];
}MAGIC;
extern void magic_load_tim(int no,MAGIC *);
extern void magic_load_clt(MAGIC *);
extern void magic_pat_draw2(GsOT *,MAGIC *,unsigned long);
extern int magic_draw2(GsOT *,MAGIC *);
extern void magic_set_tone_obj(MAGIC *,short,short obj,unsigned long);
ext
0x158400#
extern void heya_init(void);
extern Schar heya_main (Schar fu);
extern void kasoru_left(void);
extern void kasoru_down(void);
extern void pad(Uchar tmp0,Schar tmp1);
extern void pad2(Uchar tmp0);
extern void speed(Uchar i);
extern void komannd(void);
extern Schar coma_main (void);
extern void coma_init (void);
extern char fe_in_ic (int i,short max,short ryou);
extern char fe_in_ic (int i,short max,short ryou);
extern void ko_bu_me (void);
extern Schar pad_idou(Schar i);
extern Schar pad_idou2(Schar i);
extern Schar pad_idou3(Schar i);
extern void he_idou (void);
extern void he_idou2 (void);
extern void fed (Uchar fla,Uchar lv);
extern void unnti_init (Schar fu,Schar fu2);
extern void ste_init(void);
extern Schar seve (Ulong so_no,Uchar fu,Uchar fu2,Schar fu3);
extern Schar load_main (Ulong so_no);
extern Uchar format_msin (Uchar so_no);
extern void sin
0x158C00#
xist_check(Uchar so_no,Schar fu);
extern int GetCardEntry(int cnct, int slot,Schar fu);
extern Uchar format_main (Uchar so_no);
extern void clock_ch (Schar fu);
extern void clock_ch2 (Schar fu);
extern void tv_heya(void);
extern void ko_yo_init(void);
extern void gm_init(void);
extern void cad_init (void);
extern void T_dokuro(void);
extern void new_load (void);
extern Schar bat_ending_main(void);
extern void bat_end_init(void);
extern void set_data(Schar fu);
extern void get_data(Schar fu);
extern Schar sanpo_sele (void);
extern void toon_set(Schar fu);
extern void fed_init (Uchar fu);
extern Schar room_chn(Schar i);
extern void ko_bu_me_init (void);
extern void time_col (void);
extern void tousann (void);
extern Schar pda_main(void);
extern void pda_main_init(void);
extern Schar lo_roop(Schar fu,Schar fu2);
extern Schar lo_main_pad(Schar fu);
extern void lo_ain(void);
extern Schar pda_main(void);
extern void pda_init(void);
extern void lo_font(Schar fu);
extern Schar lo_fed_o
0x159200#
ed (Schar fu);
extern void yazi_init(void);
extern Schar aku_main (void);
extern void unnti_del_heya (void);
extern Schar seve_main (Ulong so_no,Uchar fu,Schar fu2);
extern Schar lo_main_saki(void);
extern Schar se_main(Schar fu);
extern void unnti_idou (void);
extern Schar card_stat_ch(void);
extern Schar nem_ent(Schar fu,Schar fu2);
extern Schar maiku_main_init(void);
extern void daays_hyou(void);
enum{
HEYA_INIT,
HEYA_FED_IN,
HEYA_MEIN,
HEYA_COMAN,
HEYA_IBEN,
HEYA_BUNNKI_INIT,
HEYA_BUNNKI_MAIN,
HEYA_IBOU_SENNTAKU,
HEYA_IBOU_HEYAKAE,
HEYA_TEL,
HEYA_EVE_INIT,
HEYA_EVE,
HEYA_DAY,
HEYA_SANPO_SELE,
HEYA_ACS_MAIN,
};
typedef struct _SME {
Sshort pry_name[7];
Sshort dog_name[7];
Sshort un_x[6][8];
Sshort un_y[6][8];
Sshort un_z[6][8];
Uchar un_ko[6];
Uchar un_fu[6][8];
Schar pry_hoppy[16];
char pry_sei;
Schar k_speed;
Schar ana;
Schar bgm;
Schar snd;
Schar setu;
Uchar speed ;
Uchar day;
Uchar hour;
Uchar fun;
Uchar eve_tou[8];
Uchar end_good;
long dog_kensyu;
Schar ikeda[4];
Uchar dog_h_no ;
Uchar dog_l_s ;
Uchar dog_lb_12;
Uchar dog_gk_12;
Uchar heya_no ;
Schar heya_idou ;
Schar angle_no;
0x159C00#
M_acs_t0[10][8][7];
extern signed short M_acs_t1[10][3];
extern signed short M_gp[150];
extern unsigned short M_hukuw[2][20];
extern unsigned short M_hukpal[3][24];
extern signed short Mn;
extern signed short Mnx;
extern signed short Mny;
extern signed short Mnv;
extern signed char M_gei_akic;
extern signed short M_inusize_tb[10];
extern signed short M_inuwait_tb[10];
extern signed short M_himan_tb[16];
extern signed short M_inusize_t;
extern signed short M_inu_maxsize;
extern signed short M_kensyu[4];
extern signed short M_tosi[4];
extern signed short M_seibetu[4];
extern signed short M_taityo[4];
extern signed short M_wait[4];
extern signed short M_dokyo[4];
extern signed short M_hitp[4];
extern signed short M_gaman[4];
extern signed short M_speed[4];
extern signed short M_syuchu[4];
extern signed short M_kiok[4];
extern signed short M_himan[4];
exter
0x15A400#
extern signed short M_lccnt[4][3];
extern signed short M_dogv[4];
extern signed short M_dogxy[8];
extern signed short M_dogoxy[8];
extern signed short M_dogvo[4];
extern signed short M_dogxyo[8];
extern signed short M_dogms[100];
extern signed short M_dogmc[4];
extern signed short M_dogmvs[40];
extern signed short M_xylock[16];
extern signed char M_mst[41];
extern signed char M_mstc[41];
extern signed short M_dogmm[4];
extern signed short M_hfrag[20];
extern signed short M_exhno[4][20];
extern signed short M_esabox[20];
extern signed short M_unth[10];
extern signed short M_cole_lock[20];
extern signed char M_hmdno[8];
extern signed short M_wasonde[10];
extern signed short M_heya_chok[10];
extern signed short M_
0x15AC00#
r M_tensu[5];
extern void M_demo_int(void);
extern void M_int(void);
extern void M_esahmd_set(void);
extern signed int M_hmd_int(int n);
extern void M_nxroom_ini(int rn);
extern void M_nxroom_chg(void);
extern void M_mosbrock_bchg(void);
extern void M_mosbrock_rchg(void);
extern void M_mosbrock_chg(void);
extern signed int M_heya_chg(int hno);
extern void M_heya_dli(int hno);
extern signed int M_neroom(int nh,int eh);
extern void M_hpxy_chg(int x,int y,int oh,int nh);
extern void M_dog_open(void);
extern void M_moning(void);
extern void M_liv0_set(void);
extern void M_liv1_set(void);
extern void M_kage_set(void);
extern void M_kage_set0(int d,int v,int nc);
extern void M_kage_set1(int d,int v);
extern void M_kage_set2(int d,int v,int nc);
extern void M_kage_set3(int d0,int d1,int v,int nc);
extern void M_kage_set4(void);
extern void M_dog_scale(void);
extern void M_hmd_cls(int n);
extern void M_mov_int(void);
extern void M_igint(void);
extern signed int M_konomi(int c);
e
0x15B600#
xtern void M_naderu_off(void);
extern void M_naderu2(void);
extern void M_situke_chkg(void);
extern void M_oko_cup(int c,int p);
extern void M_kanjyo_up(int lv);
extern void M_kanjyo_down(int lv);
extern void M_burasi(void);
extern void M_burasi_out(void);
extern void M_burasi_posset(void);
extern void M_burasi_pos(void);
extern void M_burasi_gejiw(void);
extern void M_oyatu(void);
extern void M_oyatu_s0(void);
extern signed int M_oyatu_s1(void);
extern void M_oyatu_s2(void);
extern void M_oy
0x15BE00#
id M_mosset40(int p);
extern signed int M_rndxymov(int px,int py,int sx,int sy);
extern signed int M_chturn(int x,int y);
extern signed int M_mosset40i(int p);
extern void M_mcset_sub(int c);
extern void M_mcend_sub(void);
extern void M_unti_set(void);
extern void Minu_comset(void);
extern void Move_hima(void);
extern void M_neru(void);
extern void Move_hima00(void);
extern void Move_hima10(void);
extern signed int Move_hima20(void);
extern void Move_hima30(void);
extern void M_haraheri(v
0x15C400#
t M_tvs0(int x,int y,int v);
extern void M_asonde(void);
extern void M_asonde_cls(void);
extern void M_cncount(void);
extern void M_byoki_main(void);
extern void M_byoki_mosset(void);
extern void M_upin(void);
extern void M_upout(void);
extern void M_upchout(void);
extern void M_up_kmchg(void);
extern signed int M_dogmt02(int c);
extern signed int M_dogmt33(int c);
extern signed int M_dpmov(int sx,int sy,int ex,int ey,int v);
extern void M_dpmovs0(int n,int ct,int hn,int yx,int yy);
extern signed int M_dogbakset(void);
extern void M_dogbbakset(int bs);
extern void M_pusxy(int c,int x,int y);
extern void M_setbpus(void);
extern void M_setbp(int kb,int sc,int nx,int ny);
extern void M_bpinit(void);
extern signed int M_xyh(int x0,int y0,int x1,int y1);
extern signed int M_movgom(int sx,int sy,int ex,int ey,int tv,int mh);
extern signed int M_poiv(int sx,int sy,int ex,int ey);
extern signed int M_v1v2(int v1,int v2);
extern signed int M_vset(int v);
extern void M_movexy(int nx
0x15CC00#
npo(void);
extern void M_ivch_sanpocls(void);
extern int M_ivch_unko(void);
extern void M_ivch_unkocls(void);
extern int M_ivch_like(void);
extern void M_ivch_likecls(void);
extern signed int M_ivch_unkos0(void);
extern signed int M_ivch_goch(void);
extern void M_cpad(void);
extern void M_set_ohrroom(void);
extern void M_pat_move(void);
extern void tuma_xy(int n);
extern void tuma_axy(int n,int md);
extern signed int M_pat_s00(void);
extern signed int M_rnd(int dmax);
extern void M_bgm_set(void);
extern int M_kigen_updown(int n);
extern int M_gei_chyarenge(int g);
extern int M_gei_updown(int g,int n);
extern void M_sanpo_set(void);
extern void M_rtxset_op(void);
extern void M_rtxset_rm(void);
extern void M_rtxchg_op(int p,int t);
extern void M_rtxchg_opg(void);
extern void M_rtxchg_rm(int t);
extern void M_rtxchg_col(int t);
extern void M_rtxchg_cols(int t);
extern void M_rtxcol_init(void);
extern void M_rtxcol_add(int b);
extern void M_rtxcol_del(int b);
extern void M_rtxc
0x15D200#
ys\\types.h" 1 3
# 80 "c:/psx/include/sys\\types.h" 3
# 8 "..\\include/t_pad.h" 2
extern void setPad(int port);
typedef struct _OBJ_PAD_SYS{
unsigned char flag,
type;
unsigned char data[32];
}OBJ_PAD_SYS;
typedef struct _OBJ_PAD_INP{
signed char flag;
unsigned char type;
unsigned char input[2];
signed char data[32];
}OBJ_PAD_INP;
typedef struct _OBJ_PAD_USE{
signed char flag;
unsigned char type;
unsigned short input;
unsigned short trg;
unsigned short weit;
unsigned short sin;
signed short history[16];
signed short mx,
my,
dx,
dy,
dz;
unsigned int time,
count;
}OBJ_PAD_USE;
extern void pad_init(void);
extern void pad_read(void);
extern void pad_watch(void);
extern OBJ_PAD_USE PadUse[8];
# 18 "m_move.c" 2
extern SME_W sme;
void M_moveinit(int m)
{
int l,nxp,ex,ey;
if(M_heyabb[Mn][0]==-1){
M_dogmvs[Mn*10]=-1;
M_dogmvs[Mn*10+1]=-1;
return;
}
if (m==3){
l=0;
while (l!=300){
if (M_heyabb[Mn][l*2]==-1){
break;
}
l+=1;
}
if (l>16){
M_dogmvs[Mn*10]=2;
}else{
M_dogmvs[Mn*10]=0;
}
}else{
M_dogmvs[Mn*10]=m;
}
m=M_dogmvs[Mn*10];
0x15DA00#
nxp=0;
ex=M_heyabb[Mn][nxp*2];
ey=M_heyabb[Mn][nxp*2+1];
if (M_dogmvs[Mn*10]==1){
M_dogmvs[Mn*10+1]=mmas_set(M_dogxy[Mn*2],M_dogxy[Mn*2+1],ex,ey,1);
}else{
M_dogmvs[Mn*10+1]=mmas_set(M_dogxy[Mn*2],M_dogxy[Mn*2+1],ex,ey,0);
}
M_dogmvs[Mn*10+2]=0;
M_dogmvs[Mn*10+3]=M_dogxy[Mn*2];
M_dogmvs[Mn*10+4]=M_dogxy[Mn*2+1];
M_msc[Mn][0]=0;
M_msc[Mn][1]=-1;
M_dogmvs[Mn*10+7]=0;
if ((M_seikak[Mn]==6)&&(M_kanjyo[Mn]!=3))M_dogmvs[Mn*10]=1;
}
void M_movetbinit(int x,int y)
{
M_dogmvs[Mn*10+1]=mmas_set(M_dogxy[Mn*2],M_dogxy[Mn*2+1],x,y,0);
if (M_dogmvs[Mn*10+1]==0) {
M_dogmvs[Mn*10]=-3;
M_dogmvs[Mn*10+1]=40;
}else{
M_dogmvs[Mn*10]=-2;
}
M_dogmvs[Mn*10+2]=0;
M_dogmvs[Mn*10+3]=M_dogxy[Mn*2];
M_dogmvs[Mn*10+4]=M_dogxy[Mn*2+1];
M_dogmvs[Mn*10+5]=x;
M_dogmvs[Mn*10+6]=y;
M_msc[Mn][0]=0;
M_msc[Mn][1]=-1;
M_dogmvs[Mn*10+7]=0;
}
void M_mtarn(int v)
{
M_dogmvs[Mn*10]=-4;
M_dogmvs[Mn*10+1]=40;
M_dogmvs[Mn*10+2]=0;
M_dogmvs[Mn*10+3]=M_dogxy[Mn*2];
M_dogmvs[Mn*10+4]=M_dogxy[Mn*2+1];
M_dogmvs[Mn*10+5]=v;
M_msc[Mn][0]=0;
M_msc[Mn][1]=-1;
M_dogmvs[Mn*10+7]=0;
}
void M_move(void)
{
int ox,oy,nx,ny,nxp,ex,ey,mc,nc,md,nv,ev,ov;
if ((M_dogmvs[Mn*10]==-1)||(M_dogmvs[Mn*10+1]==-1))return;
if (M_dogmvs[Mn*10]==-4){
if(M_cole_lock[7]>100){
M_dogmvs[Mn*10]=-1;
return;
}
mmc_set();
M_move_tr();
return;
}
if (M_dogmvs[Mn*10]==-3){
if(M_
0x15E400#
ogv[Mn],ov,1000)==-1)M_dogv[Mn]=ov;
M_dogxy[Mn*2]=ox+((ex-ox)*(nc+1))/mc;
M_dogxy[Mn*2+1]=oy+((ey-oy)*(nc+1))/mc;
if (M_pos[Mn]!=6){
md=0;
mmc_set2(10);
M_pos[Mn]=5;
}else{
md=1;
M_pos[Mn]=6;
if (M_cole_lock[9]==1){
mmc_set2(39);
}else{
mmc_set2(26);
}
}
nc+=1;
if (nc==mc){
nxp+=1;
M_dogmvs[Mn*10+5]=nxp;
if (M_heyabb[Mn][nxp*2]==-1){
M_ovecnt[Mn]=1;
M_dogmvs[Mn*10]=-1;
M_heyabb[Mn][0]=-1;
if (M_hfrag[1]==4){
M_hfrag[1]=0;
}
if (M_hfrag[1]==3){
M_nxroom_chg();
return;
}
if (M_exhno[Mn][1]==2){
M_exhno[Mn][1]=0;
return;
}
nextpoint();
M_movpt_chk();
return;
}
M_dogmvs[Mn*10+3]=M_dogxy[Mn*2];
M_dogmvs[Mn*10+4]=M_dogxy[Mn*2+1];
if (M_dogmvs[Mn*10]==2){
if (M_xyh(M_dogxy[Mn*2],M_dogxy[Mn*2+1],M_heyabb[Mn][nxp*2],M_heyabb[Mn][nxp*2+1])<20){
0x15EC00#
)
{
if (M_dogmvs[Mn*10+7]!=c){
M_motion_chg(c);
M_dogmvs[Mn*10+7]=c;
}
}
void M_move_t(void)
{
int mc,nc;
mc=M_dogmvs[Mn*10+1];
nc=M_dogmvs[Mn*10+2];
if ((M_mc[4]==1)||(M_mosbuff[2]==2)){
M_dogv[Mn]+=13;
}else{
M_dogv[Mn]+=25;
}
M_dogv[Mn]=M_vset(M_dogv[Mn]);
nc+=1;
if (nc==mc){
M_dogmvs[Mn*10]=-1;
M_ovecnt[Mn]=1;
return;
}
M_dogmvs[Mn*10+2]=nc;
M_ovecnt[Mn]=3;
M_movpt_chk();
}
void M_move_tr(void)
{
int md,nv,ev;
if (M_xylock[Mn*4]==0){
md=70;
}else{
md=70;
}
if ((M_mc[4]==1)||(M_mosbuff[2]==2))md=md/2;
ev=M_dogmvs[Mn*10+5];
nv=M_dogv[Mn];
if (nv>ev){
if ((nv-ev)<2048) md=(-md);
}else{
if ((ev-nv)>2047) md=(-md);
}
M_dogv[Mn]+=md;
M_dogv[Mn]=M_vset(M_dogv[Mn]);
if (abs(M_dogv[Mn]-ev)<abs(md)){
M_dogmvs[Mn*10]=-1;
M_ovecnt[Mn]=3;
M_motion_chg(10);
M_movpt_chk();
M_pos[Mn]=5;
retur
0x188200#
方法を説明しないで子供達のプレイを見ていると、カーソルを犬に当てて○ボタンを押していたり、移動したい所
にカーソルを持っていって○ボタンを押していたり、空の餌箱にカーソルをあわせて○ボタンを押してみたりをほぼ必ず行い
ます。これはカーソルがあって方向キーで動かせるから、「これで何かをするんだ」と思いこんでしまうようです。
現状でカーソルを使って行う作業は4つ。「お散歩に行く」「うんちをかたずける」「日記を開く」「電話をかける」です。
「お散歩に行く」に関しては「×ボタンで移動」に含めちゃっても良いと思います。別に犬アイコンに含めても良い。
「うんちをかたずける」に関しては犬アイコンの項目に「お掃除」というのを設けて、それを選択したらほうきとちりとりマー
クが出てうんちをかたづける。という風にした方が良いのでは。
「日記を開く」に関しても犬アイコンの項目としてあっても良いんじゃないでしょうか。
「電話をかける」に関しても同様です。それにこれはリビングでアップ画面になると画面左下にアイコンが出てきている時点で
「部屋にあるモノをクリックしてアクションする」と云うデザインからははずれていますよね。
・「ご飯は一回食べると全部無くなった方が良い」
今の仕様では3回食べないとご飯が無くなりませんが、一回食べただけで空になった方が分かり易いし「あれ?ちょっとしか
食べないよ?病気なのかな?」と云う誤解も生みません。「病気になってご飯をちょっとしか食べなくなる」という処理が入っ
ているなら分かりますが、現状のモノには無いようなので全部無くなった方が良いと思います。
それに、現状だと犬の方からプレイヤーに訴えかけてくる要素が少ないので、一回たべきりにする事で「腹減った」と訴えか
けてくる(餌箱を持ってくる)回数も増えて結果良
0x188C00#
て「あれっ?」
と云う顔をしているのを何回か見ました。せっかく楽しんで貰っているのを「ブツッ」と断ち切ってしまうのはちょっと可哀想です。
ついでに犬が寝ている画面をスキップ出来るようにもして欲しいです。
・「プレイヤーと犬にデフォルトの名前を」
デフォルトの名前はあった方が良いと思います。後、名前入力はSTARTボタンで「OK?」の画面までスキップできるようにして欲
しいです。これは最近では常識なのではないでしょうか。
ついでに言うとカーソルの動きはもっと早い方が良いと思います。
・「どこかに日付の表示が欲しい。時計に午前と午後の表記が欲しい。」
日付は次の日になるまで分かりません。午前、午後は全然分かりません。今は光の当たり方で午前、午後を表現しているみたいで
すが、全然分からないです。
・「ペットショップでアドバイスを」
ペットショップに電話をすると今の犬の状態を教えてくれるのですが、頑固、大人しい等マイナスイメージの状態の時は、「もっ
と○○してあげたら良いわね。」とかアドバイスをくれた方が良い。
・「ボールとぬいぐるみの明確な違いを」
「おもちゃで遊ぶ」時にボールとぬいぐるみとラッパが選べ
0x189400#
端な性格付けがあった方が良いと思います。
例えば、柴犬→シーズー→パグ→ヨークシャーテリア→ビーグルの順に難易度が設定されてるとか、柴犬はやたらなつきやすいけ
ど頭がよろしくなく芸を全然覚えてくれない、またシーズーは頭は非常に良いが愛想がない。等。
と、まぁ皆さんの苦労も考えずにずらずら書いてしまいましたが、これも一つの意見として快く受けとめてあげて下さい。
以上
0x1A0400#
id PadInit(int mode);
int ResetCallback(void) ;
int RestartCallback(void) ;
int StopCallback(void) ;
int VSync(int mode);
int VSyncCallback(void (*f)()) ;
long GetVideoMode (void);
long SetVideoMode (long mode);
u_long PadRead(int id);
void PadStop(void);
# 4 "m_mset0.c" 2
# 1 "c:/psx/include/libgte.h" 1 3
# 135 "c:/psx/include/libgte.h" 3
typedef struct {
short m[3][3];
long t[3];
} MATRIX;
typedef struct {
long vx, vy;
long vz, pad;
} VECTOR;
typedef struct {
short vx, vy;
short vz, pad;
} SVECTOR;
typedef struct {
u_char r, g, b, cd;
} CVECTOR;
typedef struct {
short vx, vy;
} DVECTOR;
typedef struct {
SVECTOR v;
VECTOR sxyz;
DVECTOR sxy;
CVECTOR rgb;
short txuv,pad;
long chx,chy;
} EVECTOR;
typedef struct {
SVECTOR v;
u_char uv[2]; u_short pad;
CVECTOR c;
DVECTOR sxy;
u_long sz;
0x1A0A00#
RVECTOR r0,r1,r2,r3;
CRVECTOR4 cr[5];
} DIVPOLYGON4;
typedef struct {
short xy[3];
short uv[2];
short rgb[3];
} SPOL;
typedef struct {
short sxy[4][2];
short sz[4][2];
short uv[4][2];
short rgb[4][3];
short code;
} POL4;
typedef struct {
short sxy[3][2];
short sz[3][2];
short uv[3][2];
short rgb[3][3];
short code;
} POL3;
typedef struct {
SVECTOR *v;
SVECTOR *n;
SVECTOR *u;
CVECTOR *c;
u_long len;
} TMESH;
typedef struct {
SVECTOR *v;
SVECTOR *n;
SVECTOR *u;
CVECTOR *c;
u_long lenv;
u_long lenh;
} QMESH;
extern void InitGeom();
extern void EigenMatrix(MATRIX *m, MATRIX *t);
extern int IsIdMatrix(MATRIX *m);
extern MATRIX *MulMatrix0(MATRIX *m0,MATRIX *m1,MATRIX *m2);
extern MATRIX *MulRotMatrix0(MATRIX *m0,MATRIX *m1);
extern MATRIX *M
0x1A1200#
*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 *CompMatrix(MATRIX *m0,MATRIX *m1,MATRIX *m2);
extern MATRIX *CompMatrixLV(MATRIX *m0,MATRIX *m1,MATRIX *m2);
extern void MatrixNormal(MATRIX *m, MATRIX *n);
extern void MatrixNormal_0(MATRIX *m, MATRIX *n);
extern void MatrixNormal_1(MATRIX *m, MATRIX *n);
extern void MatrixNormal_2(MATRIX *m, MATRIX *n);
extern void SetRotMatrix(MATRIX *m);
extern void SetLightMatrix(MATRIX *m);
extern void SetColorMatrix(MATRIX *m);
extern void SetTransMatrix(MATRIX *m);
extern void PushMatrix();
extern void PopMatrix();
extern void ReadRotMatrix(MAT
0x1A1E00#
ColorLight(VECTOR *v0,CVECTOR *v1,long p,CVECTOR *v2);
extern void DpqColor(CVECTOR *v0,long p,CVECTOR *v1);
extern void DpqColor3(CVECTOR *v0,CVECTOR *v1,CVECTOR *v2,
long p,CVECTOR *v3,CVECTOR *v4,CVECTOR *v5);
extern void Intpl(VECTOR *v0,long p,CVECTOR *v1);
extern VECTOR *Square12(VECTOR *v0,VECTOR *v1);
extern VECTOR *Square0(VECTOR *v0,VECTOR *v1);
extern VECTOR *SquareSL12(SVECTOR *v0,VECTOR *v1);
extern VECTOR *SquareSL0(SVECTOR *v0,VECTOR *v1);
extern SVECTOR *SquareSS12(SVECTOR *v0,SV
0x1A2600#
TOR *base);
extern long RotAverage3(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
long *sxy0,long *sxy1,long *sxy2,long *p,long *flag);
extern long RotAverage4(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,SVECTOR *v3,
long *sxy0,long *sxy1,long *sxy2,long *sxy3,
long *p,long *flag);
extern long RotNclip3(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,
long *sxy0,long *sxy1,long *sxy2,long *p,long *otz,
long *flag);
extern long RotNclip4(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2,SVECTOR *v3,
long *sxy0,long *sxy1,l
0x1A2C00#
OR *v5,CVECTOR *v6,
long *sxy0,long *sxy1,long *sxy2,
CVECTOR *v7,CVECTOR *v8,CVECTOR *v9,
long *otz,long *flag);
extern long RotColorMatDpq(SVECTOR *v0,SVECTOR *v1,CVECTOR *v2,long *sxy,
CVECTOR *v3,long matc,long flag);
extern void ColorMatDpq(SVECTOR *v0,CVECTOR *v1,long p,CVECTOR *v2,long matc);
extern void ColorMatCol(SVECTOR *v0,CVECTOR *v1,CVECTOR *v2,long matc);
extern void LoadAverage12(VECTOR *v0,VECTOR *v1,long p0,long p1,VECTOR *v2);
extern void LoadAverageShort12(SVECTOR *v0,SVECTOR *v1,long p0,long p1,
SVECTOR *v2);
extern void LoadAverage0(VECTOR *v0,VECTOR *v1,long p0,long p1,VECTOR *v2);
extern void LoadAverageShort0(SVECTOR *v0,SVECTOR *v1,long p0,long p1,
SVECTOR *v2);
extern void LoadAverageByte(u_char *v0,u_char *v1,long p0,long p1,u_char *v2);
extern void LoadAverageCol(u_char *v0,u_char *v1,long p0,long p1,u_char *v2);
extern long VectorNormal(VECTOR *v0, VECTOR *v1);
extern long VectorNormalS(VECTOR *v0, SVECTOR *v1);
extern long Vector
0x1A3400#
t 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 *ot,int otlen,int id,
int backc);
extern void RotPMD_SV_GT3(long *pa,long *va,u_long *ot,int otlen,int id,
int backc);
extern void RotPMD_SV_F4(long *pa,long *va,u_long *ot,int otlen,int id,
int backc);
extern void RotPMD_SV_G4(long *pa,long *va,u_long *ot,int otlen,int id,
int backc);
extern void RotPMD_SV_FT4(long *pa,long *va,u_long *ot,int otlen,int id,
int backc);
extern void RotPMD_SV_GT4(long *pa,long *va,u_long *ot,int otlen,int id,
int backc);
extern void InitClip(EVECTOR *evbfad,long hw,long vw,long h,long n
0x1AB200#
GsOT * ot, int shift, u_long * scratch);
void GsSortSprite(GsSPRITE * sp, GsOT * ot, unsigned short pri);
void GsSortSpriteB(GsSPRITE * sp, GsOT * ot, unsigned short pri,
unsigned short flip);
void GsSortFastSprite(GsSPRITE * sp, GsOT * ot, unsigned short pri);
void GsSortFastSpriteB(GsSPRITE * sp, GsOT * ot, unsigned short pri,
unsigned short flip);
void GsSortFlipSprite(GsSPRITE * sp, GsOT * ot, unsigned short pri);
void GsSortBg(GsBG * bg, GsOT * ot, unsigned short pri);
void GsSortFastBg(GsBG * bg, GsOT * ot, unsigned short pri);
void GsInitFixBg16(GsBG * bg, u_long * work);
void GsSortFixBg16(GsBG * bg, u_long * work, GsOT * otp, unsigned short pri);
void GsInitFixBg32(GsBG * bg, u_long * work);
void GsSortFixBg32(GsBG * bg, u_long * work, GsOT * otp, unsigned short pri);
void GsSortLine(GsLINE * lp, GsOT * ot, unsigned short pri);
void GsSortGLine(GsGLINE * lp, GsOT * ot, unsigned short pri);
void GsSortBoxFill(GsBOXF * bp, GsOT * ot, unsigned short pri);
void GsSortPoly(void *pp, GsOT * ot, unsigned short pri);
void GsClearOt(unsigned short offset, unsigned short point, GsOT * otp);
GsOT *GsSortOt(GsOT * ot_src, GsOT * ot_dest);
GsOT *GsCutOt(GsOT * ot_src, GsOT * ot_dest);
void GsDefDispBuff(unsigned short x0, unsigned short y0, unsigned short x1, unsigned short y1);
void GsSortClear(unsigned char, unsigned char, unsigned char, GsOT *);
void GsGetTimInfo(unsigned long *im, GsIMAGE * tim);
0x1ABC00#
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,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divF3NL(TMD_P_F3 *
0x1AC400#
atch);
PACKET *GsA4divG3NL(TMD_P_G3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divNG3(TMD_P_NG3 * op, VERT * vp, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divG4L(TMD_P_G4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divG4LFG(TMD_P_G4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divG4NL(TMD_P_G4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divNG4(TMD_P_NG4 * op, VERT * vp, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTF3L(TMD_P_TF3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTF3LFG(TMD_P_TF3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
0x1ACA00#
np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTF4NL(TMD_P_TF4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTNF4(TMD_P_TNF4 * op, VERT * vp, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTF4LM(TMD_P_TF4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTF4LFGM(TMD_P_TF4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTF4NLM(TMD_P_TF4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTNF4M(TMD_P_TNF4 * op, VERT * vp, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG3L(TMD_P_TG3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG3LFG(TMD_P_TG3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG3NL(TMD_P_TG3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTNG3(TMD_P_TNG3 * op, VERT * vp, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG4L(TMD_P_TG4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int s
0x1AD200#
k, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG4LFGM(TMD_P_TG4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG4NLM(TMD_P_TG4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTNG4M(TMD_P_TNG4 * op, VERT * vp, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsTMDfastF3GL(TMD_P_F3G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastF3GLFG(TMD_P_F3G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastF3GNL(TMD_P_F3G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastG3GL(TMD_P_G3G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastG3GLFG(TMD_P_G3G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsTMDfastG3GNL(TMD_P_G3G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsPrstF3GL(TMD_P_F3G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsPrstF3GLFG(TMD_P_F3G *op, VERT *vp, VERT *np, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PACKET *GsPrstF3GNL(TMD_P_F3G *op, VERT *vp, VERT *np, PACKET *pk
0x1ADC00#
t, 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, PACKET *pk,
int n, int shift, GsOT *ot, u_long *scratch);
PA
0x1AE400#
D_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;
extern long HWD0, VWD0;
extern MATRIX GsLIGHTWSMATRIX;
extern MATRIX GsIDMATRIX;
extern MATRIX GsIDMATRIX2;
extern PACKET *GsOUT_PACKET_P;
extern long GsADIVZ;
extern short GsADIVW, GsADIVH;
extern int GsLIGHT_MODE;
extern u_long GsMATE_C, GsLMODE, GsLIGNR, GsLIOFF, GsZOVER, GsBACKC, GsNDIV;
extern u_long GsTRATE, GsTON, GsDISPON;
# 1133 "c:/psx/include/libgs.h" 3
# 1244 "c:/psx/include/libgs.h" 3
# 1355 "c:/psx/include/libgs.h" 3
# 1466 "c:/psx/include/libgs.h" 3
# 7 "m_mset0.c" 2
# 1 "..\\include/k_file.h" 1
#
0x1AEA00#
# 233 "c:/psx/include/r3000.h" 3
# 11 "c:/psx/include/kernel.h" 2 3
# 1 "c:/psx/include/asm.h" 1 3
# 77 "c:/psx/include/asm.h" 3
# 15 "c:/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;
struct
0x1AF200#
* );
typedef void ( *DslRCB )( u_char, u_char*, u_long* );
typedef struct {
u_char minute;
u_char second;
u_char sector;
u_char track;
} DslLOC;
typedef struct {
u_char file;
u_char chan;
u_short pad;
} DslFILTER;
typedef struct {
u_char val0;
u_char val1;
u_char val2;
u_char val3;
} DslATV;
typedef struct {
DslLOC pos;
u_long size;
char name[ 16 ];
} DslFILE;
typedef struct {
u_short id;
u_short type;
u_short secCount;
u_short nSectors;
u_long frameCount;
u_long frameSize;
u_short width;
u_short height;
u_long dummy1;
u_long dummy2;
DslLOC loc;
} StHEADER;
void StSetRing( u_long* ring_addr, u_long ring_size );
void StClearRing( void );
void StUnSetRing( void );
void StSetStream( u_long mode, u_long start_frame, u_long end_frame,
void ( *func1 )(), void ( *func2 )() );
void StSetEmulate( u_long* addr, u_long mode, u_long start_frame,
u_long end_frame, void ( *func1 )(), void ( *func2 )() );
u_long StFreeRing( u_long* base );
u_long StGetNext( u_long** addr, u_long** header );
u_long StGetNextS( u_long** addr, u_long** header );
u_short StNextStatus( u_long** addr, u_long** header );
void StRingStatus( short* free_sectors, short* over_sectors );
void StSetMask( u_long mask, u_long start, u_long end );
void StCdInterrupt( void );
int StGetBackloc( DslLOC* loc );
int StSetChanne
0x1AFA00#
u_char DsStatus( void );
int DsShellOpen( void );
int DsMix( DslATV* vol );
int DsGetSector( void* madr, int size );
int DsGetSector2( void* madr, int size );
int DsGetToc( DslLOC* loc );
void ( *DsDataCallback( void ( *func )() ) );
int DsDataSync( int mode );
DslLOC* DsIntToPos( int i, DslLOC* p );
int DsPosToInt( DslLOC* p );
int DsSetDebug( int level );
DslLOC* DsLastPos( DslLOC* p );
u_char DsLastCom( void );
char* DsComstr( u_char com );
char* DsIntstr( u_char intr );
int DsStartReadySystem( DslRCB func, int count );
void DsEndReadySystem( void );
int DsReadySystemMode( int mode );
int DsControlF( u_char com, u_char* param );
int DsControl( u_char com, u_char* param, u_char* result );
int DsControlB( u_char com, u_char* param, u_char* result );
int DsRead( DslLOC* pos, int sectors, u_long* buf, int mode );
int DsReadSync( u_char* result );
DslCB DsReadCallback( DslCB func );
void DsReadBreak( void );
int DsRead2( DslLOC* pos, int mode );
DslFILE* DsSearchFile( DslFILE* fp, char* name );
int DsReadFile( char* file, u_long* addr, int nbyte );
struct EXEC* DsReadExec( char* file );
int DsPlay( int mode, int* tracks, int offset );
# 14 "..\\include/k_file.h" 2
typedef struct {
char name[32];
unsigned long size;
unsigned long address;
unsigned long offset;
unsigned long handle;
} FILE;
void file_init( void );
int load_file( int, unsigned long, unsigned long, unsigned long );
# 8 "m_mset0.c"
0x1B0200#
flg;
MATRIX matrix;
MATRIX workm;
SVECTOR rot;
struct _GsCOORDUNIT *super;
} GsCOORDUNIT;
typedef struct {
MATRIX view;
GsCOORDUNIT *super;
} GsVIEWUNIT;
typedef struct {
long vpx, vpy, vpz;
long vrx, vry, vrz;
long rz;
GsCOORDUNIT *super;
} GsRVIEWUNIT;
typedef struct {
GsCOORDUNIT *coord;
unsigned long *primtop;
} GsUNIT;
typedef struct {
unsigned long type;
unsigned long *ptr;
} GsTYPEUNIT;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
} GsARGUNIT;
typedef struct {
DVECTOR vec;
short otz;
short p;
} GsWORKUNIT;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
unsigned long *primtop;
SVECTOR *vertop;
SVECTOR *nortop;
} GsARGUNIT_NORMAL;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
unsigned long *primtop;
SVECTOR *vertop;
GsWORKUNIT *vertop2;
SVECTOR *nortop;
SVECTOR *nortop2;
} GsARGUNIT_SHARED;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
unsigned long *imagetop;
unsigned long *cluttop;
} GsARGUNIT_IMAGE;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
unsigned long *polytop;
unsigned long *boxtop;
unsigned long *pointtop;
SVECTOR *nortop;
} G
0x1B0A00#
;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
unsigned long *lparam;
GsCOORDUNIT *coord;
GsCOORDUNIT *rcoord;
} GsARGUNIT_LIGHT;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
u_long *coord_sect;
long *mimepr;
u_long mimenum;
u_short mimeid, reserved;
u_long *mime_diff_sect;
} GsARGUNIT_JntMIMe;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
u_long *coord_sect;
u_short mimeid, reserved;
u_long *mime_diff_sect;
} GsARGUNIT_RstJntMIMe;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
long *mimepr;
u_long mimenum;
u_short mimeid, reserved;
u_long *mime_diff_sect;
SVECTOR *orgs_vn_sect;
SVECTOR *vert_sect;
SVECTOR *norm_sect;
} GsARGUNIT_VNMIMe;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
u_short mimeid, reserved;
u_long *mime_diff_sect;
SVECTOR *orgs_vn_sect;
SVECTOR *vert_sect;
SVECTOR *norm_sect;
} GsARGUNIT_RstVNMIMe;
typedef struct {
unsigned long *primp;
GsOT *tagp;
int shift;
int offset;
PACKET *out_packetp;
long header_size;
unsigned long *htop;
unsigned long *ctop;
unsigned long *ptop;
} GsARGUNIT_ANIM;
typedef struct {
short idx;
u_char sid;
u_char pad;
} GsSEH;
typedef struct {
u_long rewrite_idx;
u_shor
0x1B1200#
extern u_long *GsU_00000008(GsARGUNIT *);
extern u_long *GsU_00000009(GsARGUNIT *);
extern u_long *GsU_0000000c(GsARGUNIT *);
extern u_long *GsU_0000000d(GsARGUNIT *);
extern u_long *GsU_00000010(GsARGUNIT *);
extern u_long *GsU_00000020(GsARGUNIT *);
extern u_long *GsU_00000011(GsARGUNIT *);
extern u_long *GsU_00000014(GsARGUNIT *);
extern u_long *GsU_00000015(GsARGUNIT *);
extern u_long *GsU_00020008(GsARGUNIT *);
extern u_long *GsU_00020009(GsARGUNIT *);
extern u_long *GsU_0002000c(GsARGUNIT *);
extern u_long *GsU_0002000d(GsARGUNIT *);
extern u_long *GsU_00020010(GsARGUNIT *);
extern u_long *GsU_00020011(GsARGUNIT *);
extern u_long *GsU_00020014(GsARGUNIT *);
extern u_long *GsU_00020015(GsARGUNIT *);
extern u_long *GsU_0000000a(GsARGUNIT *);
extern u_long *GsU_0000000b(GsARGUNIT *);
extern u_long *GsU_0000000e(GsARGUNIT *);
extern u_long *GsU_0000000f(GsARGUNIT *);
extern u_long *GsU_00000012(GsARGUNIT *);
extern u_long *GsU_00000013(GsARGUNIT *);
extern u_long *GsU_00000016(GsARGUNIT *);
extern u_long *GsU_00000017(GsARGUNIT *);
extern u_long *GsU_00030008(GsARGUNIT *);
extern u_long *GsU_00030009(GsARGUNIT *);
extern u_long *GsU_0003000c(GsARGUNIT *);
extern u_long *GsU_0003000d(GsARGUNIT *);
0x1B1C00#
long *GsU_0005004d(GsARGUNIT *);
extern u_long *GsU_00050050(GsARGUNIT *);
extern u_long *GsU_00050051(GsARGUNIT *);
extern u_long *GsU_00050054(GsARGUNIT *);
extern u_long *GsU_00050055(GsARGUNIT *);
extern u_long *GsU_00040058(GsARGUNIT *);
extern u_long *GsU_00040059(GsARGUNIT *);
extern u_long *GsU_0004005c(GsARGUNIT *);
extern u_long *GsU_0004005d(GsARGUNIT *);
extern u_long *GsU_01000000(GsARGUNIT *);
extern u_long *GsU_0100000c(GsARGUNIT *);
extern u_long *GsU_0100000d(GsARGUNIT *);
extern u_long *GsU_01000014(GsARGUNIT *);
extern u_long *GsU_01000015(GsARGUNIT *);
extern u_long *GsU_0102000c(GsARGUNIT *);
extern u_long *GsU_0102000d(GsARGUNIT *);
extern u_long *GsU_01020014(GsARGUNIT *);
extern u_long *GsU_01020015(GsARGUNIT *);
extern u_long *GsU_01040048(GsARGUNIT *);
extern u_long *GsU_01040049(GsARGUNIT *);
extern u_long *GsU_0104004c(GsARGUNIT *);
extern u_long *GsU_0104004d(GsARGUNIT *);
extern u_long *GsU_01040050(GsARGUNIT *);
extern u_long *GsU_01
0x1B2400#
UNIT *);
extern u_long *GsU_0020000d(GsARGUNIT *);
extern u_long *GsU_00200010(GsARGUNIT *);
extern u_long *GsU_00200011(GsARGUNIT *);
extern u_long *GsU_00200014(GsARGUNIT *);
extern u_long *GsU_00200015(GsARGUNIT *);
extern u_long *GsU_0120000c(GsARGUNIT *);
extern u_long *GsU_0120000d(GsARGUNIT *);
extern u_long *GsU_01200014(GsARGUNIT *);
extern u_long *GsU_01200015(GsARGUNIT *);
extern u_long *GsU_00240048(GsARGUNIT *);
extern u_long *GsU_00240049(GsARGUNIT *);
extern u_long *GsU_0024004c(GsARGUNIT *);
extern u_long *GsU_0024004d(GsARGUNIT *);
extern u_long *GsU_00240050(GsARGUNIT *);
extern u_long *GsU_00240051(GsARGUNIT *);
extern u_long *GsU_00240054(GsARGUNIT *);
extern u_long *GsU_00240055(GsARGUNIT *);
extern u_long *GsU_01240048(GsARGUNIT *);
extern u_long *GsU_01240049(GsARGUNIT *);
extern u_long *GsU_0124004c(GsARGUNIT *);
extern u_long *GsU_0124004d(GsARGUNIT *);
extern u_long *GsU_01240050(GsARGUNIT *);
extern u_long *GsU_01240051(GsARGUNIT *);
e
0x1B2C00#
*GsU_000c0051(GsARGUNIT *);
extern u_long *GsU_000c0054(GsARGUNIT *);
extern u_long *GsU_000c0055(GsARGUNIT *);
extern u_long *GsU_0100020d(GsARGUNIT *);
extern u_long *GsU_01000215(GsARGUNIT *);
extern u_long *GsU_00100008(GsARGUNIT *);
extern u_long *GsU_00100009(GsARGUNIT *);
extern u_long *GsU_0010000a(GsARGUNIT *);
extern u_long *GsU_0010000b(GsARGUNIT *);
extern u_long *GsU_0010000c(GsARGUNIT *);
extern u_long *GsU_0010000d(GsARGUNIT *);
extern u_long *GsU_0010000e(GsARGUNIT *);
extern u_long *GsU_0010000f(GsARGUNIT *);
extern u_long *GsU_00100010(GsARGUNIT *);
extern u_long *GsU_00100011(GsARGUNIT *);
extern u_long *GsU_00100012(GsARGUNIT *);
extern u_long *GsU_00100013(GsARGUNIT *);
extern u_long *GsU_00100014(GsARGUNIT *);
extern u_long *GsU_00100015(GsARGUNIT *);
extern u_long *GsU_00100016(GsARGUNIT *);
extern u_long *GsU_00100017(GsARGUNIT *);
extern u_long *GsU_00300008(GsARGUNIT *);
extern u_long *GsU_00300009(GsARGUNIT *);
extern u_long *GsU_0030
0x1B3400#
IT *);
extern u_long *GsU_0114004c(GsARGUNIT *);
extern u_long *GsU_0114004d(GsARGUNIT *);
extern u_long *GsU_01140050(GsARGUNIT *);
extern u_long *GsU_01140051(GsARGUNIT *);
extern u_long *GsU_01140054(GsARGUNIT *);
extern u_long *GsU_01140055(GsARGUNIT *);
extern u_long *GsU_01340048(GsARGUNIT *);
extern u_long *GsU_01340049(GsARGUNIT *);
extern u_long *GsU_0134004c(GsARGUNIT *);
extern u_long *GsU_0134004d(GsARGUNIT *);
extern u_long *GsU_01340050(GsARGUNIT *);
extern u_long *GsU_01340051(GsARGUNIT *);
extern u_long *GsU_01340054(GsARGUNIT *);
extern u_long *GsU_01340055(GsARGUNIT *);
extern u_long *GsU_0020000a(GsARGUNIT *);
extern u_long *GsU_0020000b(GsARGUNIT *);
extern u_long *GsU_0020000e(GsARGUNIT *);
extern u_long *GsU_0020000f(GsARGUNIT *);
extern u_long *GsU_00200012(GsARGUNIT *);
extern u_long *GsU_00200013(GsARGUNIT *);
extern u_long *GsU_00200016(GsARGUNIT *);
extern u_long *GsU_00200017(GsARGUNIT *);
extern u_long *GsU_0030000a(GsARGUNIT *);
e
0x1B3A00#
(GsARGUNIT *);
extern u_long *GsU_0120000f(GsARGUNIT *);
extern u_long *GsU_01200016(GsARGUNIT *);
extern u_long *GsU_01200017(GsARGUNIT *);
extern u_long *GsU_0002000a(GsARGUNIT *);
extern u_long *GsU_0002000b(GsARGUNIT *);
extern u_long *GsU_0002000e(GsARGUNIT *);
extern u_long *GsU_0002000f(GsARGUNIT *);
extern u_long *GsU_00020012(GsARGUNIT *);
extern u_long *GsU_00020013(GsARGUNIT *);
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_00000000(GsARGUNIT *);
extern u_long *GsU_05000000(GsARGUNIT *);
extern u_long *GsU_05000001(GsARGUNIT *);
extern u_long *GsU_07000100(GsARGUNIT *);
extern u_long *GsU_07010100(GsARGUNIT *);
extern u_long *GsU_07020100(GsARGUNIT *);
extern u_long *GsU_07030100(GsARGUNIT *);
extern u_long *GsU_07000200(GsARGUNIT *);
extern u_long *GsU_07010200(GsARGUNIT *);
extern u_long *GsU_07020200(GsARGUNIT *);
extern u_long *GsU_07030200(GsARGUNIT *);
extern u_long *GsU_03000000(GsARGUNIT_ANIM *);
extern int GsU_03000001(GsARGUNIT_ANIM *);
extern int GsU_03000002(GsARGUNIT_ANIM *);
extern int GsU_03000003(GsARGUNIT_ANIM *);
extern int GsU_03000009(GsARGUNIT_ANIM *);
extern int GsU_0300000a(GsARGUNIT_ANIM *);
extern int GsU_0300000b(GsARGUNIT_ANIM *);
extern int GsU_03000010(
0x1B4200#
;
extern int GsU_0300002a(GsARGUNIT_ANIM *);
extern int GsU_0300002b(GsARGUNIT_ANIM *);
extern int GsU_03000030(GsARGUNIT_ANIM *);
extern int GsU_03000031(GsARGUNIT_ANIM *);
extern int GsU_03000032(GsARGUNIT_ANIM *);
extern int GsU_03000033(GsARGUNIT_ANIM *);
extern int GsU_03000039(GsARGUNIT_ANIM *);
extern int GsU_0300003a(GsARGUNIT_ANIM *);
extern int GsU_0300003b(GsARGUNIT_ANIM *);
extern int GsU_03000100(GsARGUNIT_ANIM *);
extern int GsU_03000111(GsARGUNIT_ANIM *);
extern int GsU_03000112(GsARGUNIT_ANIM *);
extern int GsU_03000119(GsARGUNIT_ANIM *);
extern int GsU_0300011a(GsARGUNIT_ANIM *);
extern int GsU_03000901(GsARGUNIT_ANIM *);
extern int GsU_03000902(GsARGUNIT_ANIM *);
extern int GsU_03000909(GsARGUNIT_ANIM *);
extern int GsU_0300090a(GsARGUNIT_ANIM *);
extern int GsU_03000910(GsARGUNIT_ANIM *);
extern int GsU_03000911(GsARGUNIT_ANIM *);
extern int GsU_03000912(GsARGUNIT_ANIM *);
extern int GsU_03000919(GsARGUNIT_ANIM *);
extern int GsU_0300091a(GsARGUNIT_ANIM *);
extern int GsU_03001010(GsARGUNIT_ANIM *);
extern int GsU_03001011(GsARGUNIT_ANIM *);
extern int GsU_03001012(GsARGUNIT_ANIM *);
extern int GsU_03001013(GsARGUNIT_ANIM *);
extern int GsU_03001019(GsARGUNIT_ANIM *);
extern int GsU_0300101a(GsARGUNIT_ANIM *);
extern int GsU_0300101b(GsARGUNIT_ANIM *);
extern int GsU_03001020(GsARGUNIT_ANIM *);
extern int GsU_03001021(GsARGUNIT_ANIM *);
extern int GsU_03001022(GsARGUNIT_ANIM *);
extern int GsU_03001023(GsARGUNIT_ANIM *);
ex
0x1B4C00#
IM *);
extern int GsU_03002019(GsARGUNIT_ANIM *);
extern int GsU_0300201a(GsARGUNIT_ANIM *);
extern int GsU_0300201b(GsARGUNIT_ANIM *);
extern int GsU_03002020(GsARGUNIT_ANIM *);
extern int GsU_03002021(GsARGUNIT_ANIM *);
extern int GsU_03002022(GsARGUNIT_ANIM *);
extern int GsU_03002023(GsARGUNIT_ANIM *);
extern int GsU_03002029(GsARGUNIT_ANIM *);
extern int GsU_0300202a(GsARGUNIT_ANIM *);
extern int GsU_0300202b(GsARGUNIT_ANIM *);
extern int GsU_03002030(GsARGUNIT_ANIM *);
extern int GsU_03002031(GsARGUNIT_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(G
0x1B5600#
IT_ANIM *);
extern int GsU_03004011(GsARGUNIT_ANIM *);
extern int GsU_03004012(GsARGUNIT_ANIM *);
extern int GsU_03004013(GsARGUNIT_ANIM *);
extern int GsU_03004019(GsARGUNIT_ANIM *);
extern int GsU_0300401a(GsARGUNIT_ANIM *);
extern int GsU_0300401b(GsARGUNIT_ANIM *);
extern int GsU_03004020(GsARGUNIT_ANIM *);
extern int GsU_03004021(GsARGUNIT_ANIM *);
extern int GsU_03004022(GsARGUNIT_ANIM *);
extern int GsU_03004023(GsARGUNIT_ANIM *);
extern int GsU_03004029(GsARGUNIT_ANIM *);
ext
0x1BC400#
tern void M_asonde_cls(void);
extern void M_cncount(void);
extern void M_byoki_main(void);
extern void M_byoki_mosset(void);
extern void M_upin(void);
extern void M_upout(void);
extern void M_upchout(void);
extern void M_up_kmchg(void);
extern signed int M_dogmt02(int c);
extern signed int M_dogmt33(int c);
extern signed int M_dpmov(int sx,int sy,int ex,int ey,int v);
extern void M_dpmovs0(int n,int ct,int hn,int yx,int yy);
extern signed int M_dogbakset(void);
extern void M_dogbbakset(int bs);
extern void M_pusxy(int c,int x,int y);
extern void M_setbpus(void);
extern void M_setbp(int kb,int sc,int nx,int ny);
extern void M_bpinit(void);
extern signed int M_xyh(int x0,int y0,int x1,int y1);
extern signed int M_movgom(int sx,int sy,int ex,int ey,int tv,int mh);
extern signed int M_poiv(int sx,int sy,int ex,int ey);
extern signed int M_v1v2(int v1,int v2);
extern signed int M_vset(int v);
extern void M_movexy(int nx,int ny,int v,int h);
extern signed int M_lxyins(int x,int y)
0x1BCA00#
xtern signed int movbreak(int nx,int ny,int nv,int nxp);
extern signed int nextpoint(void);
extern signed int line_chk(void);
extern signed int mmas_set(int sx,int sy,int ex,int ey,int md);
extern int M_iv_chk(void);
extern int M_ivch_esa(void);
extern void M_ivch_esacls(void);
extern int M_ivch_byoki(void);
extern void M_ivch_byokicls(void);
extern int M_ivch_tataku(void);
extern void M_ivch_tatakucls(void);
extern int M_ivch_sanpo(void);
extern void M_ivch_sanpocls(void);
extern int M_ivch_unko(void);
extern void M_ivch_unkocls(void);
extern int M_ivch_like(void);
extern void M_ivch_likecls(void);
extern signed int M_ivch_unkos0(void);
extern signed int M_ivch_goch(void);
extern void M_cpad(void);
extern void M_set_ohrroom(void);
extern void M_pat_move(void);
extern void tuma_xy(int n);
extern void tuma_axy(int n,int md);
extern signed int M_pat_s00(void);
extern signed int M_rnd(int dmax);
extern void M_bgm_set(void);
extern int M_kigen_updown(int n);
extern int M_gei_chyarenge(int g);
extern int M_gei_updown(int g,int n);
extern void M_sanpo_set(void);
extern void M_rtxset_op(void);
extern void M_rtxset_rm(void);
extern void M_rtxchg_op(int p,int t);
extern void M_rtxchg_opg(void);
extern void M_rtxchg_rm(int t);
extern void M_rtxchg_col(int t);
extern void M_rtxchg_cols(int t);
extern void M_rtxcol_init(void);
extern void M_rtxcol_add(int b);
extern void M_rtxcol_del(int b);
extern void M_rtxcol_s0(void);
extern void M_acschg_col(int t);
extern void M_
0x1BD200#
# 17 "..\\include/i_table.h" 2
extern unsigned long _i_motbl1[];
extern unsigned long _i_motbl2[];
extern GsF_LIGHT i_light[6];
extern long i_amb[6];
extern unsigned long i_sys_tbl1[];
extern unsigned long i_sys_tbl2[];
# 17 "m_mset0.c" 2
# 1 "..\\include/i_work.h" 1
# 1 "c:/psx/include/sys\\types.h" 1 3
# 80 "c:/psx/include/sys\\types.h" 3
# 12 "..\\include/i_work.h" 2
extern unsigned short i_db_stat;
extern unsigned char i_body_tim1[4160];
extern unsigned char i_body_tim2[2112];
extern unsigned long i_hmd_adr[16 ];
extern unsigned long i_hmd_siz[16 ];
extern char i_kensyu[16 ];
extern char i_now_motion;
extern unsigned char i_f_tbl[89 ];
extern unsigned char i_mabataki;
extern int i_mot_num;
extern GsIMAGE i_f_tim;
extern int i_font_xy[4];
extern unsigned short i_font_pal;
extern unsigned char i_font_rts;
extern unsigned char i_font_wait[2];
extern unsigned short *i_f_str_adr;
extern char i_font_p[3];
extern char i_font_cnt[3];
extern GsSPRITE i_f_data1[16 * 8 ];
extern GsSPRITE i_f_data2[8];
extern GsSPRITE i_f_data3[1];
extern unsigned short i_font_stat;
extern unsigned c
0x1BDC00#
[hn]+1;
}
void M_mosset000(void)
{
if (M_rnd(30)>10){
switch (M_seikak[Mn]){
case 0:
M_mcset_sub(37);
break;
case 1:
M_mcset_sub(0);
M_mcset_sub(0);
break;
case 2:
M_mcset_sub(37);
break;
case 3:
M_mcset_sub(35);
break;
case 4:
if (M_rnd(10)>4){
M_mcset_sub(34);
M_mcset_sub(33);
}else{
M_mcset_sub(0);
M_mcset_sub(17);
}
break;
case 5:
M_mcset_sub(35);
break;
case 6:
M_mcset_sub(27);
break;
case 7:
M_mcset_sub(0);
break;
case 8:
if (M_rnd(20)>2){
M_mcset_sub(49);
}else{
M_mcset_sub(45);
M_mcset_sub(11);
M_mcset_sub(46);
}
break;
case 9:
M_mcset_sub(51);
break;
case 10:
M_mcset_sub(0);
break;
default:break;
}
}else{
M_mcset_sub(0);
}
}
void M_mosset10(void)
{
int nx,ny,ex,ey,nh,i;
nh=M_heyano[Mn];
i=0;
M_msc[Mn][0]=1;
nx=M_dogxy[Mn*2
0x1BE400#
eak;
case 1:M_mcset_sub(37);break;
case 2:M_mcset_sub(37);M_mcset_sub(41);M_mcset_sub(35);M_mcset_sub(41);break;
case 3:M_mcset_sub(37);break;
case 4:
if (M_hfrag[10]>120){
M_mcset_sub(45);M_mcset_sub(1);M_mcset_sub(18);M_mcset_sub(19);
M_mcset_sub(1);M_mcset_sub(62);M_mcset_sub(69);M_mcset_sub(67);
M_mcset_sub(67);
M_mcset_sub(67);M_mcset_sub(67);M_mcset_sub(67);M_mcset_sub(71);
M_mcset_sub(66);M_mcset_sub(46);M_mcset_sub(3);
M_hfrag[10]=-100;
}else{
if(M_rnd(4)==0){
M_mcset_sub(3);M_mcset_sub(0);
}else{
M_mcset_sub(0);M_mcset_sub(3);M_mcset_sub(0);
}
}
break;
case 5:
if (M_rnd(3)==0){
M_mcset_sub(0);M_mcset_sub(5);M_mcset_sub(0);
M_mcset_sub(22);M_mcset_sub(23);
}else{
M_mcset_sub(0);M_mcset_sub(29);M_mcset_sub(0);M_mcset_sub(35);
}
break;
case 6:
if (M_rnd(3)==0){
M_mcset_sub(17);M_mcset_s
0x1BEA00#
_sub(38);break;
case 2:M_mcset_sub(41);M_mcset_sub(22);M_mcset_sub(23);M_mcset_sub(41);break;
case 3:M_mcset_sub(37);break;
case 4:
if (M_hfrag[10]>120){
M_mcset_sub(45);M_mcset_sub(1);M_mcset_sub(18);M_mcset_sub(19);
M_mcset_sub(12);
M_mcset_sub(62);M_mcset_sub(69);M_mcset_sub(67);M_mcset_sub(67);
M_mcset_sub(67);M_mcset_sub(67);M_mcset_sub(71);
M_mcset_sub(66);M_mcset_sub(24);M_mcset_sub(25);
M_hfrag[10]=-100;
}else{
if(M_rnd(4)==0){
M_mcset_sub(22);M_mcset_sub(23);M_mcset_sub(0);
}else{
M_mcset_sub(0);M_mcset_sub(22);M_mcset_sub(23);M_mcset_sub(0);
}
}
break;
case 5:
if (M_rnd(3)==0){
M_mcset_sub(0);M_mcset_sub(0);M_mcset_sub(5);
M_mcset_sub(0);M_mcset_sub(22);M_mcset_sub(23);
}else{
M_mcset_sub(0);M_mcset_sub(29);M_mcset_sub(0);M_mcset_sub(35);
}
break;
case 6:
if (M_rnd(3)==0){
M_mcset_sub(17);M_mcset_sub(29);M_mcset_sub(27);M_mcset_sub(51);
}else{
M_mcset_sub(35);M_mcset_sub(22);M_mcset_sub(23);
M_mcset_sub(53);M_mcset_sub(27);
}
break;
case 7:
if (M_rnd(3)==0){
M_mcset_sub(3);
}else{
M_mcset_sub(29);M_mcset_sub(35);
}
break;
case 8:M_mcset_sub(3);M_mcset_sub(49);M_mcset_sub(35);break;
case 9:M_mcset_sub(0);M_mcset_sub(35);M_mcset_sub(3);M_mcset_sub(0);break;
default:break;
}
}
}e
0x1BF200#
(67);M_mcset_sub(67);M_mcset_sub(71);
M_mcset_sub(66);M_mcset_sub(46);M_mcset_sub(3);
M_hfrag[10]=-200;
}else{
if(M_rnd(4)==0){
M_mcset_sub(3);M_mcset_sub(0);
}else{
M_mcset_sub(0);M_mcset_sub(3);M_mcset_sub(0);
}
}
break;
case 5:M_mcset_sub(5);M_mcset_sub(0);M_mcset_sub(3);break;
case 6:M_mcset_sub(17);M_mcset_sub(35);M_mcset_sub(0);break;
case 7:M_mcset_sub(35);M_mcset_sub(0);break;
case 8:M_mcset_sub(49);M_mcset_sub(35);M_mcset_sub(49);M_mcset_sub(49);break;
case 9:M_mcset_sub(51);M_mcset_sub(35);M_mcset_sub(51);M_mcset_sub(51);break;
default:break;
}
}else{
switch (M_seikak[Mn]){
case 0:M_mcset_sub(37);break;
case 1:M_mcset_sub(38);break;
case 2:M_mcset_sub(37);break;
case 3:M_mcset_sub(37);break;
case 4:
if (M_hfrag[10]>60){
M_mcset_sub(45);M_mcset_sub(1);M_mcset_sub(18);M_mcset_sub(19);
M_mcset_sub(12);
M_mcset_sub(62);M_mcset_sub(69);M_mcset_sub(67);M_mcset_sub(67);
M_mcset_sub(67);M_mcset_sub(67);
M_mcset_sub(67);M_mcset_sub(67);M_mcset_sub(67);M_mcset_sub(71);
M_mcset_sub(66);M_mcset_sub(24);M_mcset_sub(25);
M_hfrag[10]=-200;
}else{
if(M_rnd(4)==0){
M_mcset_sub(22);M_mcset_sub(23);M_mcset_sub(0);
}else{
M_mcset_sub(0);M_mcset_sub(22);M_mcset_sub(23);M_mcset_sub(0);
}
}
break;
case 5:M_mcset_sub(5);M_mcset_sub(
0x1BFC00#
mcset_sub(15);M_mcset_sub(16);M_mcset_sub(14);M_mcset_sub(15);
M_mcset_sub(16);M_mcset_sub(14);M_mcset_sub(15);M_mcset_sub(16);
M_mcset_sub(2);M_mcset_sub(48);
M_mcset_sub(46);M_mcset_sub(3);break;
case 5:M_mcset_sub(2);M_mcset_sub(20);M_mcset_sub(21);M_mcset_sub(61);break;
case 6:M_mcset_sub(2);M_mcset_sub(2);M_mcset_sub(78);break;
case 7:M_mcset_sub(2);M_mcset_sub(2);M_mcset_sub(79);break;
case 8:M_mcset_sub(2);M_mcset_sub(78);M_mcset_sub(78);break;
case 9:M_mcset_sub(2);M_mcset_sub(79);M_mcset_sub(79);break;
}
}else{
switch (M_seikak[Mn]){
case 0:M_mcset_sub(64);M_mcset_sub(2);break;
case 1:M_mcset_sub(2);M_mcset_sub(64);M_mcset_sub(2);break;
case 2:M_mcset_sub(2);M_mcset_sub(64);M_mcset_sub(2);break;
case 3:M_mcset_sub(2);M_mcset_sub(64);break;
case 4:M_mcset_sub(2);M_mcset_sub(20);M_mcset_sub(21);break;
case 5:M_mcset_sub(2);M_mcset_sub(20);M_mcset_sub(21);M_mcset_sub(2);break;
case 6:M_mcset_sub(20);M_mcset_sub(21);
0x1C0400#
sub(1);M_mcset_sub(11);M_mcset_sub(1);break;
case 8:M_mcset_sub(50);M_mcset_sub(50);M_mcset_sub(36);M_mcset_sub(50);break;
case 9:M_mcset_sub(52);M_mcset_sub(52);M_mcset_sub(36);break;
default:break;
}
}else{
switch (M_seikak[Mn]){
case 0:M_mcset_sub(1);M_mcset_sub(1);M_mcset_sub(14);break;
case 1:M_mcset_sub(1);M_mcset_sub(8);M_mcset_sub(9);M_mcset_sub(1);
M_mcset_sub(18);M_mcset_sub(19);break;
case 2:M_mcset_sub(1);M_mcset_sub(6);M_mcset_sub(8);M_mcset_sub(9);
M_mcset_sub(6);break;
case 3:M_mcset_sub(1);M_mcset_sub(36);M_mcset_sub(4);M_mcset_sub(24);
M_mcset_sub(25);break;
case 4:M_mcset_sub(1);M_mcset_sub(4);M_mcset_sub(1);break;
case 5:M_mcset_sub(1);M_mcset_sub(4);M_mcset_sub(24);M_mcset_sub(25);break;
case 6:M_mcset_sub(50);M_mcset_sub(24);M_mcset_sub(25);M_mcset_sub(36);
M_mcset_sub(24);M_mcset_sub(25);M_mcset_sub(46);break;
case 7:M_mcset_sub(1);M_mcset_sub(18);M_mcset_sub(19);M_mcset_sub(1);brea
0x1C0E00#
|((ln>1)&&(mc<2)&&(M_heya_chok[3]==0))){
ex=M_xylock[Mn*4+1];
ey=M_xylock[Mn*4+2];
ev=M_xylock[Mn*4+3];
cn0=M_lxyins2(ex,ey,M_heyano[Mn]);
if ((cn0!=0)||(ex==0)||(ey==0)){
M_xylock[Mn*4]=0;
return;
}
nh=M_heyano[Mn];
i=0;
nx=M_dogxy[Mn*2];
ny=M_dogxy[Mn*2+1];
nv=M_dogv[Mn];
if ((abs(ex-nx)<210)&&(abs(ey-ny)<210)&&(M_v_chk(ev,nv,200)==0)){
M_motion_chg(0);
M_xylock[Mn*4]=0;
return;
}
M_msc[Mn][0]=1;
M_mosset40i(0);
0x1C1600#
if (M_dpmov(nx,ny,x,y,M_vset(nv+ev))==0){
M_mtarn(M_vset(nv+ev));
tf=1;
if (M_xylock[Mn*4]!=0) M_xylock[Mn*4]=3;
}
}else{
if (M_dpmov(nx,ny,x,y,M_vset(nv+ev))==0){
M_mtarn(M_vset(nv+ev));
tf=1;
if (M_xylock[Mn*4]!=0) M_xylock[Mn*4]=3;
}
}
if (tf==0){
if (M_xylock[Mn*4]!=0) M_xylock[Mn*4]=2;
if (M_dogbakset()==-1){
M_mtarn(M_vset(nv+1024));
}
}
M_noline[Mn]=0;
M_mcset_sub(
0x1C1A00#
;
case 3:M_mcset_sub(45);M_mcset_sub(47);M_mcset_sub(69);break;
case 4:M_mcset_sub(45);M_mcset_sub(47);M_mcset_sub(70);break;
case 5:return(-1);
case 6:M_mcset_sub(10);break;
case 10:M_mcset_sub(46);break;
case 12:M_mcset_sub(47);break;
case 13:M_mcset_sub(47);M_mcset_sub(69);break;
case 14:M_mcset_sub(47);M_mcset_sub(70);break;
case 15:M_mcset_sub(46);break;
case 16:M_mcset_sub(46);M_mcset_sub(10);break;
case 20:M_mcset_sub(48);M_mcset_sub(46);break;
case 21:M_mcset_sub(48);break;
case 23:M_mcset_sub(69);break;
case 24:M_mcset_sub(70);break;
case 25:M_mcset_sub(48);M_mcset_sub(46);break;
case 26:M_mcset_sub(48);M_mcset_sub(46);M_mcset_sub(10);break;
case 30:M_mcset_sub(71);M_mcset_sub(48);M_mcset_sub(46);break;
case 31:M_mcset_sub(71);M_mcset_sub(48);break;
case 32:M_mcset_sub(71);break;
case 34:M_mcset_sub(72);break;
case 35:M_mcset_sub(71);M_mcset_sub(48);M_mcset_sub(46);break;
case 36:M_mcset_sub(71);M_mcset_sub(48);M_mcset_sub(46);M_mcset_sub(10);break;
case 40:M_mcset_sub(73);M_mcset_sub(48);M_mcset_sub(46);break;
case 41:M_mcset_sub(73);M_mcset_sub(48);break;
case 42:M_mcset_sub(73);break;
case 43:M_mcset_sub(74);break;
case 45:M_mcset_sub(73);M_mcset_sub(48);M_mcset_sub(46);break;
case 46:M_mcset_sub(73);M_mcset_sub(48);M_mcset_sub(46);M_mcset_sub(10);break;
case 50:M_mcset_sub(0);break;
case 51:M_mcset_sub(45);break;
case 52:M_mcset_sub(45);M_mcset_sub(47);break;
case 53:M_mcset_sub(
0x1C2400#
>matrix.t[2]=hb2;
Hmd[0].coord->matrix.t[0]=hb0;
}
0x1C2600#
iu $2,$2,%lo(M_dogmm) # low
addu $2,$3,$2
sh $18,0($2)
.set noreorder
.set nomacro
j $L239
li $2,4 # 0x00000004
.set macro
.set reorder
$L217:
slt $2,$2,4
.set noreorder
.set nomacro
bne $2,$0,$L248
lui $2,%hi(M_dogmm) # high
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_rnd
li $4,3 # 0x00000003
.set macro
.set reorder
lh $3,%lo(Mn)($19)
#nop
sll $3,$3,1
addu $3,$3,$16
lh $16,0($3)
li $4,3 # 0x00000003
.set noreorder
.set nom
0x1C2A00#
i $2,4 # 0x00000004
sh $18,0($3)
$L239:
sh $2,10($17)
.set noreorder
.set nomacro
jal M_saisok_setp
sh $0,12($17)
.set macro
.set reorder
j $L194
$L218:
lui $3,%hi(M_ms) # high
addiu $3,$3,%lo(M_ms) # low
sll $2,$5,2
addu $2,$2,$5
sll $2,$2,2
addu $2,$2,$3
lb $3,0($2)
li $2,63 # 0x0000003f
.set noreorder
.set nomacro
beq $3,$2,$L246
lui $2,%hi(M_esabox+10) # high
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_rnd
li $4,10 # 0x0000000a
.set macro
.set reorder
slt $2,$2,4
.set noreorder
.set nomacro
bne $2,$0,$L221
lui $2,%hi(M_esabox+10) # high
.set macro
.set reorder
jal aisyu_set
j $L194
$L221:
$L246:
.set noreorder
.set nomacro
j $L194
sh $0,%lo(M_esabox+10)($2)
.set macro
.set reorder
$L215:
jal M_esabox_poschk
.set noreorder
.set nomacro
beq $2,$0,$L224
lui $2,%hi(M_dogxy) # high
.set macro
.set reorder
lh $3,%lo(M_dogxy)($2)
lh $4,22($17)
#nop
subu $3,$3,$4
bgez $3,1f
subu $3,$0,$3
1:
slt $3,$3,15
.set noreorder
.set nomacro
bne $3,$0,$L226
addiu $2,$2,%lo(M_dogxy) # low
.set macro
.set reorder
lh $2,2($2)
lh $3,24($17)
#nop
subu $2,$2,$3
bgez $2,1f
subu $2,$0,$2
1:
slt $2,$2,15
beq $2,$0,$L225
$L226:
jal M_dogbakset
li $3,-1 # 0xffffffff
.set noreorder
.set nomacro
bne $2,$3,$L247
lui $2,%hi(M_ovecnt) # high
.set macro
.set reorder
lui $2,%hi(M_dogv) # high
lh $3,%lo(Mn)($19)
addiu $2,$2,%lo(M_dogv)
0x1C3200#
t nomacro
jal M_msadd
li $4,60 # 0x0000003c
.set macro
.set reorder
j $L194
$L224:
jal esatabe_set
li $2,2 # 0x00000002
.set noreorder
.set nomacro
jal M_upin
sh $2,10($17)
.set macro
.set reorder
j $L194
$L214:
jal M_esapos_set
lui $2,%hi(M_esabox+10) # high
.set noreorder
.set nomacro
j $L194
sh $18,%lo(M_esabox+10)($2)
.set macro
.set reorder
$L230:
jal M_asonde_cls
jal M_upout
jal M_dogbakset
lui $2,%hi(M_esabox) # high
addiu $16,$2,%lo(M_esabox) # low
lui $2,%hi(Mn) # high
lui $3,%hi(M_dogmm) # high
addiu $3,$3,%lo(M_dogmm) # low
lh $2,%lo(Mn)($2)
lui $4,%hi(M_gei_akic) # high
sll $2,$2,1
addu $2,$2,$3
lbu $3,%lo(M_gei_akic)($4)
sh $0,10($16)
sh $0,0($2)
lui $2,%hi(M_unth+4) # high
sh $0,30($16)
sh $0,%lo(M_unth+4)($2)
sll $3,$3,24
sra $2,$3,24
srl $3,$3,31
addu $2,$2,$3
sra $2,$2,1
.set noreorder
.set nomacro
jal M_esahmd_set
sb $2,%lo(M_gei_akic)($4)
.set macro
.set reorder
lh $2,6($16)
#nop
bgez $2,$L194
.set noreorder
.set nomacro
j $L194
sh $0,6($16)
.set macro
.set reorder
$L232:
jal M_asonde_cls
lui $2,%hi(Mn) # high
lui $3,%hi(M_hang) # high
lh $2,%lo(Mn)($2)
addiu $3,$3,%lo(M_hang) # low
sll $2,$2,1
addu $2,$2,$3
lh $2,0($2)
#nop
.set noreorder
.set nomacro
bne $2,$0,$L233
move $4,$0
.set macro
.set reorder
lui $2,%hi(M_esabox) # high
addiu $2,$2,%lo(M_esabox) # low
li $3,4 # 0x00000004
sh $3,10($2)
.set noreorder
.s
0x1C3C00#
obl esatabe_set
.ent esatabe_set
esatabe_set:
.frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, extra= 0
.mask 0x80070000,-4
.fmask 0x00000000,0
subu $sp,$sp,32
li $4,33 # 0x00000021
lui $3,%hi(M_msc) # high
sw $16,16($sp)
lui $16,%hi(Mn) # high
lh $5,%lo(Mn)($16)
addiu $3,$3,%lo(M_msc) # low
sw $31,28($sp)
sw $18,24($sp)
sw $17,20($sp)
sll $2,$5,2
addu $2,$2,$5
sll $2,$2,3
addu $2,$2,$3
li $3,1 # 0x00000001
.set noreorder
.set nomacro
jal M_mcset_sub
sb $3,0($2)
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_mcset_sub
li $4,58 # 0x0000003a
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_mcset_sub
li $4,58 # 0x0000003a
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_mcset_sub
li $4,58 # 0x0000003a
.set macro
.set reorder
lui $3,%hi(M_esabox) # high
lui $2,%hi(i_f_tbl) # high
addiu $18,$2,%lo(i_f_tbl) # low
addiu $17,$3,%lo(M_esabox) # low
lbu $4,58($18)
lbu $3,33
0x1C4400#
/0, args= 16, extra= 0
.mask 0x80010000,-4
.fmask 0x00000000,0
lui $2,%hi(M_esabox+36) # high
lh $2,%lo(M_esabox+36)($2)
subu $sp,$sp,24
sw $31,20($sp)
.set noreorder
.set nomacro
beq $2,$0,$L262
sw $16,16($sp)
.set macro
.set reorder
lui $2,%hi(sme+420) # high
lbu $3,%lo(sme+420)($2)
li $2,3 # 0x00000003
.set noreorder
.set nomacro
bne $3,$2,$L263
move $16,$0
.set macro
.set reorder
jal M_esa_pakus
j $L262
$L263:
$L268:
.set noreorder
.set nomacro
jal M_esa_pakus
addu $16,$16,1
.set macro
.set reorder
slt $2,$16,10
bne $2,$0,$L268
$L262:
lw $31,20($sp)
lw $16,16($sp)
addu $sp,$sp,24
j $31
.end M_esa_paku
.align 2
.globl M_esa_pakus
.ent M_esa_pakus
M_esa_pakus:
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0
.mask 0x00000000,0
.fmask 0x00000000,0
lui $2,%hi(M_mc) # high
lhu $3,%lo(M_mc)($2)
#nop
addu $2,$3,-33
sltu $2,$2,2
.set noreorder
.set nomacro
bne $2,$0,$L316
lui $2,%hi(M_esabox)
0x1C4A00#
ddu $2,$2,1
addu $3,$3,10
sh $2,%lo(M_hang)($5)
.set noreorder
.set nomacro
j $L275
sh $3,12($4)
.set macro
.set reorder
$L271:
$L316:
addiu $3,$2,%lo(M_esabox) # low
lh $6,36($3)
#nop
beq $6,$0,$L270
lhu $2,34($3)
lh $5,38($3)
addu $4,$2,1
slt $2,$5,300
.set noreorder
.set nomacro
bne $2,$0,$L273
sh $4,34($3)
.set macro
.set reorder
li $5,1 # 0x00000001
move $9,$3
li $8,1717960704 # 0x66660000
ori $8,$8,0x6667
sll $2,$4,16
sra $7,$2,16
move $4,$6
$L277:
mult $4,$8
sra $3,$4,31
mfhi $10
#nop
#nop
sra $2,$10,2
subu $2,$2,$3
.set noreorder
.set nomacro
beq $2,$7,$L310
addu $5,$5,1
.set macro
.set reorder
slt $2,$5,11
.set noreorder
.set nomacro
bne $2,$0,$L277
addu $4,$4,$6
.set macro
.set reorder
$L275:
li $5,1 # 0x00000001
li $8,1431633920 # 0x55550000
ori $8,$8,0x5556
lui $2,%hi(M_esabox) # high
addiu $6,$2,%lo(M_esabox) # low
lh $4,36($6)
lh $7,34($6)
move $3,$4
$L283:
mult $3,$8
sra $2,$3,31
mfhi $10
#nop
#nop
subu $2,$10,$2
.set noreorder
.set nomacro
beq $2,$7,$L313
addu $5,$5,1
.set macro
.set reorder
slt $2,$5,4
.set noreorder
.set nomacro
bne $2,$0,$L283
addu $3,$3,$4
.set macro
.set reorder
.set noreorder
.set nomacro
j $L315
lui $2,%hi(M_esabox) # high
.set macro
.set reorder
$L312:
lui $5,%hi(M_hang) # high
lui $4,%hi(M_dayct) # high
addiu $4,$4,%lo(M_dayct) # low
sh $0,30($9)
lhu $2,%lo(M_hang)($5)
0x1C5200#
reorder
.set nomacro
beq $2,$7,$L312
addu $5,$5,1
.set macro
.set reorder
slt $2,$5,11
.set noreorder
.set nomacro
bne $2,$0,$L291
addu $4,$4,$6
.set macro
.set reorder
$L289:
li $5,1 # 0x00000001
lui $2,%hi(M_esabox) # high
addiu $6,$2,%lo(M_esabox) # low
lh $4,36($6)
lh $7,34($6)
move $3,$4
$L297:
srl $2,$3,31
addu $2,$3,$2
sra $2,$2,1
.set noreorder
.set nomacro
beq $2,$7,$L313
addu $5,$5,1
.set macro
.set reorder
slt $2,$5,3
.set noreorder
.set nomacro
bne $2,$0,$L297
addu $3,$3,$4
.set macro
.set reorder
.set noreorder
.set nomacro
j $L315
lui $2,%hi(M_esabox) # high
.set macro
.set reorder
$L313:
lhu $2,6($6)
#nop
addu $2,$2,-100
.set noreorder
.set nomacro
j $L286
sh $2,6($6)
.set macro
.set reorder
$L314:
lui $5,%hi(M_hang) # high
lui $4,%hi(M_dayct) # high
addiu $4,$4,%lo(M_dayct) # low
sh $0,30($7)
lhu $2,%lo(M_hang)($5)
lhu $3,12($4)
addu $2,$2,1
addu $3,$3,10
sh $2,%lo(M_hang)($5)
.set noreorder
.set nomacro
j $L302
sh $3,12($4)
.set macro
.set reorder
$L287:
move $7,$3
move $4,$6
$L304:
.set noreorder
.set nomacro
bgez $4,$L306
move $2,$4
.set macro
.set reorder
addu $2,$4,3
$L306:
lh $3,34($7)
sra $2,$2,2
.set noreorder
.set nomacro
beq $2,$3,$L314
addu $5,$5,1
.set macro
.set reorder
slt $2,$5,11
.set noreorder
.set nomacro
bne $2,$0,$L304
addu $4,$4,$6
.set macro
.set reorder
$L302:
lui $2,%
0x1C5E00#
´oreorder
.set nomacro
jal M_mcset_sub
li $4,1 # 0x00000001
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_mcset_sub
li $4,8 # 0x00000008
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_mcset_sub
li $4,9 # 0x00000009
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_mcset_sub
li $4,35 # 0x00000023
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_mcset_sub
li $4,1 # 0x00000001
.set macro
.set reor
0x1D5600#
S017) # low
.set macro
.set reorder
$L236:
.set noreorder
.set nomacro
bne $3,$2,$L240
li $2,11 # 0x0000000b
.set macro
.set reorder
lui $2,%hi(sme+386) # high
lbu $2,%lo(sme+386)($2)
#nop
.set noreorder
.set nomacro
bne $2,$0,$L241
li $2,13 # 0x0000000d
.set macro
.set reorder
sw $2,16($sp)
li $4,-42 # 0xffffffd6
li $5,-17 # 0xffffffef
lui $6,%hi(MES006) # high
.set noreorder
.set nomacro
j $L252
addiu $6,$6,%lo(MES006) # low
.set macro
.
0x1D5A00#
.set macro
.set reorder
li $2,13 # 0x0000000d
sw $2,16($sp)
li $4,-56 # 0xffffffc8
li $5,48 # 0x00000030
lui $6,%hi(MES013) # high
.set noreorder
.set nomacro
j $L250
addiu $6,$6,%lo(MES013) # low
.set macro
.set reorder
$L244:
.set noreorder
.set nomacro
bne $3,$2,$L246
li $2,13 # 0x0000000d
.set macro
.set reorder
sw $2,16($sp)
li $4,-56 # 0xffffffc8
li $5,48 # 0x00000030
lui $6,%hi(MES014) # high
.set noreorder
.set nomacro
j $L250
addiu $6,$6,%lo(MES014) # low
.set macro
.set reorder
$L246:
.set noreorder
.set nomacro
bne $3,$2,$L211
li $4,-56 # 0xffffffc8
.set macro
.set reorder
sw $3,16($sp)
li $5,48 # 0x00000030
lui $6,%hi(MES015) # high
addiu $6,$6,%lo(MES015) # low
$L250:
.set noreorder
.set nomacro
jal i_print
move $7,$0
.set macro
.set reorder
$L211:
lw $31,32($sp)
lw $17,28($sp)
lw $16,24($sp)
addu $sp,$sp,40
j $31
.end fuki
.rdata
.align 2
$LC3:
.byte 0
.byte 1
.byte 2
.byte 6
.byte 7
.align 2
$LC4:
.byte 0
.byte 0
.byte 3
.byte 2
.byte 2
.byte 0
.byte 0
.byte 5
.byte 4
.byte 4
.text
.align 2
.globl douraku
.ent douraku
douraku:
.frame $sp,112,$31 # vars= 64, regs= 8/0, args= 16, extra= 0
.mask 0x807f0000,-4
.fmask 0x00000000,0
subu $sp,$sp,112
sw $18,88($sp)
move $18,$4
sw $22,104($sp)
lui $2,%hi($LC3) # high
sw $31,108($sp)
sw $21,100($sp)
sw $20,96($sp)
sw $19,92($sp)
sw $17,84($sp)
sw $16,8
0x1D6200#
(mk+1)($3)
move $19,$2
sltu $2,$3,6
.set noreorder
.set nomacro
beq $2,$0,$L261
lui $2,%hi($L349) # high
.set macro
.set reorder
addiu $2,$2,%lo($L349) # low
sll $3,$3,2
addu $3,$3,$2
lw $2,0($3)
#nop
j $2
.rdata
.align 3
$L349:
.word $L262
.word $L280
.word $L287
.word $L290
.word $L331
.word $L342
.text
$L262:
li $4,2 # 0x00000002
.set noreorder
.set nomacro
jal fed
li $5,255 # 0x000000ff
.set macro
.set reorder
lui $3,%hi(mk+1) # high
li $2,1 # 0x00000001
sb $2,%lo(mk+1)($3)
sll $2,$18,24
sra $2,$2,24
slt $2,$2,2
.set noreorder
.set nomacro
beq $2,$0,$L263
lui $2,%hi(Magic) # high
.set macro
.set reorder
addiu $2,$2,%lo(Magic) # low
li $3,-210 # 0xffffff2e
sh $3,13476($2)
.set noreorder
.set nomacro
j $L351
li $3,-190 # 0xffffff42
.set macro
.set reorder
$L263:
move $17,$0
lui $2,%hi(new) # high
addiu $21,$2,%lo(new) # low
addu $16,$sp,16
lui $2,%hi(sp) # high
addiu $20,$2,%lo(sp) # low
$L268:
lui $2,%hi(sme+386) # high
lbu $2,%lo(sme+386)($2)
#nop
sll $3,$2,2
addu $3,$3,$2
addu $3,$3,$16
sll $2,$18,24
sra $2,$2,24
addu $3,$3,$2
lb $2,48($3)
#nop
sll $2,$2,4
addu $2,$2,$21
lw $4,8($2)
addu $5,$sp,24
.set noreorder
.set nomacro
jal GsGetTimInfo
addu $4,$4,4
.set macro
.set reorder
lw $5,36($sp)
lhu $2,28($sp)
lhu $3,30($sp)
lhu $6,32($sp)
lhu $7,34($sp)
move $4,$16
sh $2,16($sp)
sh $3,18($sp)
sh $6,20($sp)
.set n
0x1D6C00#
$2,16777216 # 0x01000000
sw $2,0($3)
li $2,128 # 0x00000080
sb $2,20($3)
sb $2,21($3)
sb $2,22($3)
li $2,30 # 0x0000001e
sh $2,24($3)
li $2,65 # 0x00000041
sh $2,26($3)
li $2,4096 # 0x00001000
sll $5,$5,24
sra $5,$5,24
slt $5,$5,2
sb $0,14($3)
sb $0,15($3)
sh $0,16($3)
sh $2,28($3)
sh $2,30($3)
.set noreorder
.set nomacro
bne $5,$0,$L268
sw $0,32($3)
.set macro
.set reorder
lui $2,%hi(Magic) # high
addiu $2,$2,%lo(Magic) # low
li $3,-160 # 0xffffff60
sh $3,13476($2)
li $3,-180 # 0xffffff4c
$L351:
sh $3,13478($2)
lui $16,%hi(Magic) # high
addiu $16,$16,%lo(Magic) # low
addu $4,$16,13456
move $5,$0
.set noreorder
.set nomacro
jal magic_chg_ani
sw $0,13508($16)
.set macro
.set reorder
lui $2,%hi(sme) # high
addiu $17,$2,%lo(sme) # low
lb $2,390($17)
#nop
.set noreorder
.set nomacro
bne $2,$0,$L271
sb $0,13456($16)
.set macro
.set reorder
li $4,33554432 # 0x02000000
.set noreorder
.set
0x1D7400#
tz $2,$L261
li $2,2 # 0x00000002
.set macro
.set reorder
.set noreorder
.set nomacro
j $L261
sb $2,1($16)
.set macro
.set reorder
$L287:
lui $2,%hi(Magic) # high
addiu $17,$2,%lo(Magic) # low
lb $3,13457($17)
li $2,-1 # 0xffffffff
.set noreorder
.set nomacro
bne $3,$2,$L354
sll $2,$19,3
.set macro
.set reorder
sll $2,$18,24
sra $16,$2,24
slt $2,$16,2
.set noreorder
.set nomacro
bne $2,$0,$L357
lui $2,%hi(mk+1) # high
.set macro
.set reorder
li $4,-43 # 0xffffffd5
li $5,-34 # 0xffffffde
lui $6,%hi(MES000) # high
addiu $6,$6,%lo(MES000) # low
.set noreorder
.set nomacro
jal i_print2n
move $7,$0
.set macro
.set reorder
sb $0,12992($17)
lui $2,%hi(mk+1) # high
$L357:
li $3,3 # 0x00000003
sb $3,%lo(mk+1)($2)
addu $2,$sp,$16
lb $4,56($2)
jal fuki
.set noreorder
.set nomacro
j $L354
sll $2,$19,3
.set macro
.set reorder
$L290:
lui $2,%hi(i_font_stat) # high
lhu $3,%lo(i_font_stat)($2)
#
0x1D7C00#
t_stat)($3)
$L295:
andi $2,$4,0x0020
.set noreorder
.set nomacro
beq $2,$0,$L261
lui $2,%hi(i_font_stat) # high
.set macro
.set reorder
lhu $2,%lo(i_font_stat)($2)
#nop
andi $2,$2,0x8000
.set noreorder
.set nomacro
beq $2,$0,$L297
lui $2,%hi(sme) # high
.set macro
.set reorder
addiu $16,$2,%lo(sme) # low
lb $2,390($16)
#nop
bne $2,$0,$L359
li $4,33554432 # 0x02000000
.set noreorder
.set nomacro
jal SoundCall
ori $4,$4,0x0001
.set macro
.set reorder
lb $2,390($16)
$L359:
li $16,1 # 0x00000001
bne $2,$16,$L301
.set noreorder
.set nomacro
jal SoundCall
li $4,33554432 # 0x02000000
.set macro
.set reorder
$L301:
li $4,1664876544 # 0x633c0000
.set noreorder
.set nomacro
jal SoundCall
ori $4,$4,0x6c12
.set macro
.set reorder
sll $2,$18,24
sra $4,$2,24
li $2,2 # 0x00000002
.set noreorder
.set nomacro
bne $4,$2,$L308
lui $2,%hi(mk+16) # high
.set macro
.set reorder
lh $3,%lo(mk+16)($2)
#
0x1EC600#
long flag);
extern void ColorMatDpq(SVECTOR *v0,CVECTOR *v1,long p,CVECTOR *v2,long matc);
extern void ColorMatCol(SVECTOR *v0,CVECTOR *v1,CVECTOR *v2,long matc);
extern void LoadAverage12(VECTOR *v0,VECTOR *v1,long p0,long p1,VECTOR *v2);
extern void LoadAverageShort12(SVECTOR *v0,SVECTOR *v1,long p0,long p1,
SVECTOR *v2);
extern void LoadAverage0(VECTOR *v0,VECTOR *v1,long p0,long p1,VECTOR *v2);
extern void LoadAverageShort0(SVECTOR *v0,SVECTOR *v1,long p0,long p1,
SVECTOR *v2);
extern voi
0x1ECC00#
xtern void RotPMD_G3(long *pa,u_long *ot,int otlen,int id,int backc);
extern void RotPMD_FT3(long *pa,u_long *ot,int otlen,int id,int backc);
extern void RotPMD_GT3(long *pa,u_long *ot,int otlen,int id,int backc);
extern void 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 *ot,int otlen,int id,
int backc);
extern void RotPMD_SV_GT3(long *pa,long *va,u_long *ot,int otlen,int id,
int backc);
extern void RotPMD_SV_F4(long *pa,long *va,u_long *ot,int otlen,int id,
int backc);
extern void RotPMD_SV_G4(long *pa,long *va,u_long *ot,int otlen,int
0x1ED400#
*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 *u
0x1EDA00#
extern void RotTrans_nom(SVECTOR *v0);
extern void RotAverage3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2);
extern void RotNclip3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2);
extern void RotAverageNclip3_nom(SVECTOR *v0,SVECTOR *v1,SVECTOR *v2);
extern void RotAverageNclipColorDpq3_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,
0x1EE400#
ong *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_SV_GT3(long *pa,long *va,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_SV_F4(long *pa,long *va,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_SV_G4(long *pa,long *va,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_SV_FT4(long *pa,long *va,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotSMD_SV_GT4(long *pa,long *va,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotRMD_F3(long *pa,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotRMD_G3(long *pa,u_long *ot,int otlen,int id,
int sclip, int hclip, int vclip, int nclipmode);
extern void RotRMD_FT3(long *pa,u_long *ot,int otlen,int id
0x1EEC00#
;
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);
# 13 "..\\include/k_model.h" 2
# 1 "c:/psx/include/libgpu.h" 1 3
0x1EF400#
g0, b0;
DR_ENV dr_env;
} DRAWENV;
typedef struct {
RECT disp;
RECT screen;
u_char isinter;
u_char isrgb24;
u_char pad0, pad1;
} DISPENV;
typedef struct {
unsigned addr: 24;
unsigned len: 8;
u_char r0, g0, b0, code;
} P_TAG;
typedef struct {
u_char r0, g0, b0, code;
} P_CODE;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
short x1, y1;
short x2, y2;
} POLY_F3;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
short x1, y1;
short x2, y2;
short x3, y3;
} POLY_F4;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
u_char u0, v0; u_short clut;
short x1, y1;
u_char u1, v1; u_short tpage;
short x2, y2;
u_char u2, v2; u_short pad1;
} POLY_FT3;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
u_char u0, v0; u_short clut;
short x1, y1;
u_char u1, v1; u_short tpage;
short x2, y2;
u_char u2,
0x1EFC00#
r3, g3, b3, p3;
short x3, y3;
u_char u3, v3; u_short pad3;
} POLY_GT4;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
short x1, y1;
} LINE_F2;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
u_char r1, g1, b1, p1;
short x1, y1;
} LINE_G2;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
short x1, y1;
short x2, y2;
u_long pad;
} LINE_F3;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
u_char r1, g1, b1, p1;
short x1, y1;
u_char r2, g2, b2, p2;
short x2, y2;
u_long pad;
} LINE_G3;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
short x1, y1;
short x2, y2;
short x3, y3;
u_long pad;
} LINE_F4;
typedef struct {
u_long tag;
u_char r0, g0, b0, code;
short x0, y0;
u_char r1, g1, b1, p1;
short x1, y1;
u_char r2, g2, b2, p2;
short x2, y2;
u_char r3, g3, b3, p3;
short x3, y3;
0x1F0400#
ag;
u_long code[2];
} DR_AREA;
typedef struct {
u_long tag;
u_long code[2];
} DR_OFFSET;
typedef struct {
u_long tag;
u_long code[5];
} DR_MOVE;
typedef struct {
u_long tag;
u_long code[3];
u_long p[13];
} DR_LOAD;
typedef struct {
u_long tag;
u_long code[1];
} DR_TPAGE;
typedef struct {
u_long tag;
u_long code[2];
} DR_STP;
typedef struct {
u_long id;
u_char r0, g0, b0, p0;
u_char r1, g1, b1, p1;
u_char r2, g2, b2, p2;
u_char r3, g3, b3, p3;
u_short tpage, clut;
u_char u0, v0, u1, v1;
u_char u2, v2, u3, v3;
SVECTOR x0, x1, x2, x3;
SVECTOR n0, n1, n2, n3;
SVECTOR *v_ofs;
SVECTOR *n_ofs;
u_short vert0, vert1;
u_short vert2, vert3;
u_short norm0, norm1;
u_short norm2, norm3;
} TMD_PRIM;
typedef struct {
u_long mode;
RECT *crect;
u_long *cad
0x1F0E00#
*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 (*func)());
extern u_short GetClut(int x, int y) ;
extern u_short GetTPage(int tp, int abr, int x, int y) ;
extern u_short LoadClut(u_long *clut, int x, int y);
extern u_short LoadClut2(u_long *clut, int x, int y);
extern u_short LoadTPage(u_long *pix, int tp, int abr, int x, int y, i
0x1F1600#
(POLY_G4 *p) ;
extern void SetPolyGT3(POLY_GT3 *p) ;
extern void SetPolyGT4(POLY_GT4 *p) ;
extern void SetSemiTrans(void *p, int abe) ;
extern void SetShadeTex(void *p, int tge) ;
extern void SetSprt(SPRT *p) ;
extern void SetSprt16(SPRT_16 *p) ;
extern void SetSprt8(SPRT_8 *p) ;
extern void SetTexWindow(DR_TWIN *p, RECT *tw);
extern void SetTile(TILE *p) ;
extern void SetTile1(TILE_1 *p) ;
extern void SetTile16(TILE_16 *p) ;
extern void SetTile8(TILE_8 *p) ;
extern void TermPrim(void *p) ;
ex
0x1F1C00#
GsVIEW2;
typedef struct {
long vpx, vpy, vpz;
long vrx, vry, vrz;
long rz;
GsCOORDINATE2 *super;
} GsRVIEW2;
typedef struct {
int vx, vy, vz;
unsigned char r, g, b;
} GsF_LIGHT;
typedef struct {
unsigned p:24;
unsigned char num:8;
} GsOT_TAG;
typedef struct {
unsigned long length;
GsOT_TAG *org;
unsigned long offset;
unsigned long point;
GsOT_TAG *tag;
} GsOT;
typedef struct {
unsigned long attribute;
GsCOORDINATE2 *coord2;
unsigned long *tmd;
unsigned long id;
} GsDOBJ2;
typedef struct {
unsigned long attribute;
GsCOORDINATE2 *coord2;
unsigned long *pmd;
unsigned long *base;
unsigned long *sv;
unsigned long id;
} GsDOBJ3;
typedef struct {
unsigned long attribute;
GsCOORDINATE2 *coord2;
unsigned long *tmd;
unsigned long id;
} GsDOBJ4;
typedef struct {
unsigned long attribute;
GsCOORDINATE2 *coord2;
unsigned long *tmd;
unsigned long *packe
0x1F2400#
unsigned char r1, g1, b1;
} GsGLINE;
typedef struct {
unsigned long attribute;
short x, y;
unsigned short w, h;
unsigned char r, g, b;
} GsBOXF;
typedef struct {
short dqa;
long dqb;
unsigned char rfc, gfc, bfc;
} GsFOGPARAM;
typedef struct {
unsigned long pmode;
short px, py;
unsigned short pw, ph;
unsigned long *pixel;
short cx, cy;
unsigned short cw, ch;
unsigned long *clut;
} GsIMAGE;
typedef struct {
short offx, offy;
} _GsPOSITION;
typedef struct {
GsDOBJ2 *top;
int nobj;
int maxobj;
} GsOBJTABLE2;
typedef struct {
PACKET
* (*f3[2][3]) ();
PACKET
* (*nf3[2]) ();
PACKET
* (*g3[2][3]) ();
PACKET
* (*ng3[2]) ();
PACKET
* (*tf3[2][3]) ();
PACKET
* (*ntf3[2]) ();
PACKET
* (*tg3[2][3]) ();
PACKET
* (*ntg3[2]) ();
PACKET
* (*f4[2][3]) ();
PACKET
* (*nf4[2]) ();
PACKET
* (*g4[2][3]) ();
PACKET
* (*ng4[2]) ();
PACKET
* (*tf4[2][3]) ();
PAC
0x1F2A00#
TMD_P_F3;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
} TMD_P_G3;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1, b1, dummy1;
u_char r2, g2, b2, dummy2;
u_short n0, v0;
u_short v1, v2;
} TMD_P_F3G;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1, b1, dummy1;
u_char r2, g2, b2, dummy2;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
} TMD_P_G3G;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_short v0, v1;
u_short v2, p;
} TMD_P_NF3;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1, b1, p1;
u_char r2, g2, b2, p2;
u_short v0, v1;
u_short v2, p;
} TMD_P_NG3;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_short n0, v0;
u_short v1, v2;
u_short v3, p;
} TMD_P_F4;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
u_short n3, v3;
} TMD_P_G4;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1, b1, dummy1;
u_char r2, g2, b2, dummy2;
u_char r3, g3, b3, dummy3;
u_short n0, v0;
u_short v1, v2;
u_short v3, dummy4;
} TMD_P_F4G;
typedef struct {
u_char out, in, dummy, cd;
u_char r0, g0, b0, code;
u_char r1, g1,
0x1F3200#
ypedef struct {
u_char out, in, dummy, cd;
u_char tu0, tv0;
u_short clut;
u_char tu1, tv1;
u_short tpage;
u_char tu2, tv2;
u_short p;
u_short n0, v0;
u_short v1, v2;
} TMD_P_TF3;
typedef struct {
u_char out, in, dummy, cd;
u_char tu0, tv0;
u_short clut;
u_char tu1, tv1;
u_short tpage;
u_char tu2, tv2;
u_short p;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
} TMD_P_TG3;
typedef struct {
u_char out, in, dummy, cd;
u_char tu0, tv0;
u_short clut;
u_char tu1, tv1;
u_short tpage;
u_char tu2, tv2;
u_short p0;
u_char r0, g0, b0, p1;
u_short v0, v1;
u_short v2, p2;
} TMD_P_TNF3;
typedef struct {
u_char out, in, dummy, cd;
u_char tu0, tv0;
u_short clut;
u_char tu1, tv1;
u_short tpage;
u_char tu2, tv2;
u_short p0;
u_char r0, g0, b0, p1;
u_char r1, g1, b1, p2;
u_char r2, g2, b2, p3;
u_short v0, v1;
u_short v2, p4;
} TMD_P_TNG3;
typedef struct {
u_char out, in, dummy, cd;
u_char tu0, tv0;
u_short clut;
u_char tu1, tv1;
u_short tpage;
u_char tu2, tv2;
u_short p0;
u_char tu3, tv3;
u_short p1;
u_short n0, v0;
u_short v1, v2;
u_short v3, p2;
} TMD_P_TF4;
typedef struct {
u_char out, in, dummy, cd;
u_char tu0, tv0;
u_short clut;
u_char tu1, tv1;
u_short tpage;
u_char tu2, tv2;
u_short p0;
u_char tu3, tv3;
u_short p1;
u_short n0, v0;
u_short n1, v1;
u_short n2, v2;
u_short n3, v3;
} TMD_P_TG4;
typedef struct
0x1F3A00#
g2, b2, p4;
u_char r3, g3, b3, p5;
u_short v0, v1;
u_short v2, v3;
} TMD_P_TNG4;
struct TMD_STRUCT {
u_long *vertop;
u_long vern;
u_long *nortop;
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;
} GsADIV_GT4;
typedef struct {
VERTC vt[4];
} GsADIV_P_GT4;
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
0x1F4200#
ruct {
VERT vt[4];
} GsADIV_P_F4;
typedef struct {
u_long limit;
long hwd, vwd;
int shift;
u_long *org;
u_long *pk;
long otz;
long adivz;
short adivw, adivh;
long flg;
short minx, miny, maxx, maxy;
short hwd0, vwd0;
u_long *tag;
POLY_FT3 si;
} GsADIV_FT3;
typedef struct {
VERT vt[3];
} GsADIV_P_FT3;
typedef struct {
u_long limit;
long hwd, vwd;
int shift;
u_long *org;
u_long *pk;
long otz;
long adivz;
short adivw, adivh;
long flg;
short minx, miny, maxx, maxy;
short hwd0, vwd0;
u_long *tag;
POLY_GT3 si;
} GsADIV_GT3;
typedef struct {
VERTC vt[3];
} GsADIV_P_GT3;
typedef struct {
u_long limit;
long hwd, vwd;
int shift;
u_long *org;
u_long *pk;
long otz;
long adivz;
short adivw, adivh;
long flg;
short minx, miny, maxx, maxy;
short hwd0, vwd0;
u_long *tag;
POLY_G3 si;
} GsADIV_G3;
typedef struct {
VERTC vt[3];
} GsADIV_P_G3;
typedef struct {
u_long limit;
long hwd, vwd;
int shift;
u_long *org;
u_long *pk;
long otz;
long adivz;
short adivw, adivh;
long flg;
short minx, miny, maxx, maxy;
short hwd0, vwd0;
u_long *tag;
POLY_F3 si;
} GsADIV_F3;
typedef struct {
VERT vt[3];
} GsA
0x1F4C00#
d GsSortFastSprite(GsSPRITE * sp, GsOT * ot, unsigned short pri);
void GsSortFastSpriteB(GsSPRITE * sp, GsOT * ot, unsigned short pri,
unsigned short flip);
void GsSortFlipSprite(GsSPRITE * sp, GsOT * ot, unsigned short pri);
void GsSortBg(GsBG * bg, GsOT * ot, unsigned short pri);
void GsSortFastBg(GsBG * bg, GsOT * ot, unsigned short pri);
void GsInitFixBg16(GsBG * bg, u_long * work);
void GsSortFixBg16(GsBG * bg, u_long * work, GsOT * otp, unsigned short pri);
void GsInitFixBg32(GsBG * bg, u_long * work);
void GsSortFixBg32(GsBG * bg, u_long * work, GsOT * otp, unsigned short pri);
void GsSortLine(GsLINE * lp, GsOT * ot, unsigned short pri);
void GsSortGLine(GsGLINE * lp, GsOT * ot, unsigned short pri);
void GsSortBoxFill(GsBOXF * bp, GsOT * ot, unsigned short pri);
void GsSortPoly(void *pp, GsOT * ot, unsigned short pri);
void GsClearOt(unsigned short offset, unsigned short point, GsOT * otp);
GsOT *GsSortOt(GsOT * ot_src, GsOT
0x1F5400#
d 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
0x1F5E00#
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divG4L(TMD_P_G4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divG4LFG(TMD_P_G4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divG4NL(TMD_P_G4 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divNG4(TMD_P_NG4 * op, VERT * vp, PACK
0x1F6600#
shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTNF4M(TMD_P_TNF4 * op, VERT * vp, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG3L(TMD_P_TG3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG3LFG(TMD_P_TG3 * op, VERT * vp, VERT * np, PACKET * pk, int n,
int shift, GsOT * ot, u_long * scratch);
PACKET *GsA4divTG3NL(TMD_P_TG3 * op, VERT * vp, VERT * np, PACKET *
0x202400#
rt M_lccnt[4][3];
extern signed short M_dogv[4];
extern signed short M_dogxy[8];
extern signed short M_dogoxy[8];
extern signed short M_dogvo[4];
extern signed short M_dogxyo[8];
extern signed short M_dogms[100];
extern signed short M_dogmc[4];
extern signed short M_dogmvs[40];
extern signed short M_xylock[16];
extern signed char M_mst[41];
extern signed char M_mstc[41];
extern signed short M_dogmm[4];
extern signed short M_hfrag[20];
extern signed short M_exhno[4][20];
extern signed short M_esabox[20];
extern signed short M_unth[10];
extern signed short M_cole_lock[20];
extern signed char M_hmdno[8];
extern signed short M_wasonde[10];
extern signed short M_heya_chok[10];
extern signed short M_oyatu_w0[10];
ext
0x202C00#
extern void M_demo_int(void);
extern void M_int(void);
extern void M_esahmd_set(void);
extern signed int M_hmd_int(int n);
extern void M_nxroom_ini(int rn);
extern void M_nxroom_chg(void);
extern void M_mosbrock_bchg(void);
extern void M_mosbrock_rchg(void);
extern void M_mosbrock_chg(void);
extern signed int M_heya_chg(int hno);
extern void M_heya_dli(int hno);
extern signed int M_neroom(int nh,int eh);
extern void M_hpxy_chg(int x,int y,int oh,int nh);
extern void M_dog_open(void);
extern void M_moning(void);
extern void M_liv0_set(void);
extern void M_liv1_set(void);
extern void M_kage_set(void);
extern void M_kage_set0(int d,int v,int nc);
extern void M_kage_set1(int d,int v);
extern void M_kage_set2(int d,int v,int nc);
extern void M_kage_set3(int d0,int d1,int v,int nc);
extern void M_kage_set4(void);
extern void M_dog_scale(void);
extern void M_hmd_cls(int n);
extern void M_mov_int(void);
extern void M_igint(void);
extern signed int M_konomi(int c);
extern signed int M_
0x203400#
(int c);
extern void M_gei_sic(void);
extern void M_gei_sicoff(void);
extern void M_ch_ls(void);
extern signed int M_situke_chk(void);
extern void M_exhno_sumi(void);
extern void M_tataku(void);
extern void M_tataku_off(void);
extern void M_tataku2(void);
extern void M_sumi_nigeru(void);
extern void M_othr_heya(void);
extern void M_run_maru(void);
extern void M_set_hmdpos(void);
extern void M_run_stop(void);
extern void M_run_stopr(void);
extern void M_naderu(void);
extern void M_naderu_off(void);
extern void M_naderu2(void);
extern void M_situke_chkg(void);
extern void M_oko_cup(int c,int p);
extern void M_kanjyo_up(int lv);
extern void M_kanjyo_down(int lv);
extern void M_burasi(void);
extern void M_burasi_out(void);
extern void M_burasi_posset(void);
extern void M_burasi_pos(void);
extern void M_burasi_gejiw(void);
extern void M_oyatu(void);
extern void M_oyatu_s0(void);
extern signed int M_oyatu_s1(void);
extern void M_oyatu_s2(void);
extern void M_oyatu_t2int(void);
e
0x203A00#
rn void imu_mov0(void);
extern int M_od_mov(void);
extern int M_unth_xychk(void);
extern void M_home_off(void);
extern void M_dogrun(void);
extern void M_doggo(void);
extern void M_tukami(void);
extern void Mnext_msetm(void);
extern void Mnext_mset(void);
extern void M_motion_chg(int mn);
extern void M_motion_gchg(void);
extern void pos_set(int cm);
extern void M_dsset(void);
extern signed int M_dp_hnchk(void);
extern void M_ln_set(void);
extern void tukami_over(void);
extern void M_sinset(int no);
extern void sim_set(int nt);
extern void M_seityo(void);
extern void M_right_set(void);
extern void M_right_set5(void);
extern void furi(int r);
extern void M_run_stopm(void);
extern void M_mosset00(void);
extern void Minu_comset(void);
extern void M_mosset000(void);
extern void M_mosset10(void);
extern void M_mosset20(void);
extern void M_mosset30(void);
extern void M_matiad(void);
extern void M_kubifuri(void);
extern void M_lockxy_set(void);
extern void M_mosset40(int p);
extern signed int M_rndxymov(int px,int py,int sx,int sy);
extern signed int M_chturn(int x,int y);
extern signed int M_mosset40i(int p);
extern void M_mcset_sub(int c);
extern void M_mcend_sub(void);
extern void M_unti_set(void);
extern void Minu_comset(void);
extern void Move_hima(void);
extern void M_neru(void);
extern void Move_hima00(void);
extern void Move_hima10(void);
extern signed int Move_hima20(void);
extern void Move_hima30(void);
extern void M_haraheri(void);
extern void
0x204400#
y,int v);
extern void M_asonde(void);
extern void M_asonde_cls(void);
extern void M_cncount(void);
extern void M_byoki_main(void);
extern void M_byoki_mosset(void);
extern void M_upin(void);
extern void M_upout(void);
extern void M_upchout(void);
extern void M_up_kmchg(void);
extern signed int M_dogmt02(int c);
extern signed int M_dogmt33(int c);
extern signed int M_dpmov(int sx,int sy,int ex,int ey,int v);
extern void M_dpmovs0(int n,int ct,int hn,int yx,int yy);
extern signed int M_dogbakset(void);
extern void M_dogbbakset(int bs);
extern void M_pusxy(int c,int x,int y);
extern void M_setbpus(void);
extern void M_setbp(int kb,int sc,int nx,int ny);
extern void M_bpinit(void);
extern signed int M_xyh(int x0,int y0,int x1,int y1);
extern signed int M_movgom(int sx,int sy,int ex,int ey,int tv,int mh);
extern signed int M_poiv(int sx,int sy,int ex,int ey);
extern signed int M_v1v2(int v1,int v2);
extern signed int M_vset(int v);
extern void M_movexy(int nx,int ny,int v,int h
0x204C00#
void M_ivch_sanpocls(void);
extern int M_ivch_unko(void);
extern void M_ivch_unkocls(void);
extern int M_ivch_like(void);
extern void M_ivch_likecls(void);
extern signed int M_ivch_unkos0(void);
extern signed int M_ivch_goch(void);
extern void M_cpad(void);
extern void M_set_ohrroom(void);
extern void M_pat_move(void);
extern void tuma_xy(int n);
extern void tuma_axy(int n,int md);
extern signed int M_pat_s00(void);
extern signed int M_rnd(int dmax);
extern void M_bgm_set(void);
extern int M_kigen_updown(int n);
extern int M_gei_chyarenge(int g);
extern int M_gei_updown(int g,int n);
extern void M_sanpo_set(void);
extern void M_rtxset_op(void);
extern void M_rtxset_rm(void);
extern void M_rtxchg_op(int p,int t);
extern void M_rtxchg_opg(void);
extern void M_rtxchg_rm(int t);
extern void M_rtxchg_col(int t);
extern void M_rtxchg_cols(int t);
extern void M_rtxcol_init(void);
extern void M_rtxcol_add(int b);
extern void M_rtxcol_del(int b);
extern void M_rtxcol_s0(void);
exter
0x205400#
struct VHB_DATA_Tag {
unsigned long offset;
unsigned long VHsize;
unsigned long VBsize;
};
typedef struct VHB_DATA_Tag VHB_DATA;
struct SEP_DATA_Tag {
unsigned long offset;
unsigned long size;
short max;
};
typedef struct SEP_DATA_Tag SEP_DATA;
typedef struct {
u_char hour, min, sec, cflag;
u_long vcount;
} TIME_W;
typedef struct _VOL_W {
short master, tmp;
} VOL_W;
typedef struct _FADE_W {
short time, cnt;
int (*func)();
} FADE_W;
typedef struct _VOICE_W {
signed char stat, vab, vol, pad0;
signed char no, prog, tone, note;
} VOICE_W;
struct BGM_WORK_Tag {
short on_off;
VOL_W vol;
FADE_W fade;
short vab, sep, scene;
signed char no, rep, i_vol, stat;
TIME_W time;
};
typedef struct BGM_WORK_Tag BGM_WORK;
struct SE_WORK_Tag {
short on_off;
short vab[2];
0x205E00#
extern int SndCtrl_ClearReverb( u_long arg );
extern int SndLoad_SE( u_long arg );
extern int SndLoad_SND( u_long arg );
extern int SndLoad_BGM( u_long arg );
extern int SndBGM_On( u_long arg );
extern int SndBGM_Off( u_long arg );
extern int SndBGM_FadeIn( u_long arg );
extern int SndBGM_FadeOut( u_long arg );
extern int SndBGM_Play( u_long arg );
extern int SndBGM_Stop( u_long arg );
extern int SndBGM_Pause( u_long arg );
extern int SndBGM_Replay( u_long arg );
extern int SndBGM_SetV
0x206600#
# 17 "..\\include/i_table.h" 2
extern unsigned long _i_motbl1[];
extern unsigned long _i_motbl2[];
extern GsF_LIGHT i_light[6];
extern long i_amb[6];
extern unsigned long i_sys_tbl1[];
extern unsigned long i_sys_tbl2[];
# 9 "m_ove00.c" 2
# 1 "..\\include/i_work.h" 1
# 1 "c:/psx/include/sys\\types.h" 1 3
# 80 "c:/psx/include/sys\\ty
0x206C00#
extern unsigned short is_stat;
extern short i_vab_id;
extern signed short i_gb_step[3];
typedef struct _i_fade16 {
unsigned short x;
unsigned short y;
unsigned char mode;
signed char count;
unsigned long clut[8];
} I_FADE16_T;
# 10 "m_ove00.c" 2
extern SME_W sme;
extern MST_W mst;
extern EVE_W eve;
void Minu_comset(void)
{
if (M_heya_chok[7]>2)return;
if (M_drmask[0]==0) {
M_neru();
M_unko();
M_haraheri();
M_yafu();
M_tel_mov();
M_oyatu_inu();
M_gei_main();
}
if (M_drmask[0]==0) M_otachi();
Move_hima();
}
void Move_hima(void)
{
if (M_drmask[0]==0){
M_us_heyaset();
M_matiad();
M_asonde();
Move_hima00();
Move_hima10();
Move_hima20
0x207400#
Mn];
tv[7]=0;
if (M_iq[Mn]<7) tv[7]=(7-M_iq[Mn])*3;
ts=M_rnd(60)+tv[0]+tv[1]-tv[2]-tv[3]-tv[4]-tv[5]+tv[6]-tv[7];
if (ts<0) ts=0;
if ((tl*240)<(ts*ts)){
M_mosset00();
M_msadd(1);
}
}
}
}
void Move_hima10(void)
{
int tl,ts,tm;
if ((M_ovecnt[Mn]==0)&&(M_xylock[0]==0)&&(M_esabox[5]==0)){
if (((M_pos[Mn]>0)&&(M_pos[Mn]<5))||(M_unth[1]!=0)||(M_exhno[Mn][1]==2))return;
tl=2;
if (M_tosi[Mn]>5) tl+=(M_tosi[Mn]-4)/2;
if ((M_odekake[Mn]==0)&&(M_rnd(tl)==1)&&(M_dp_hnchk()==0)){
tl= M_houch[Mn]-20;
ts=10;
tm=0;
if (M_seikak[Mn]==0) tl=tl-10;
if (M_seikak[Mn]==1) tl=tl-5;
if (M_seikak[Mn]==2) tl=tl+15;
if (M_seikak[Mn]==3) tl=tl+10;
if (M_seikak[Mn]==5) tl=tl+5;
if (M_seikak[Mn]==6) tl=tl+15;
if (M_seikak[Mn]==7) tl=tl-20;
if (M_seikak[Mn]==8) tl=tl+10;
if (M_seikak[Mn]==10) tl=tl-50;
if (M_iq[Mn]<7) tl+=(7-M_iq[Mn])*4;
if (M_himan[Mn]>10) ts+=(M_himan[Mn]-10)*10;
if (M_himan[Mn
0x207C00#
1,ot)==-1) return(0);
if ((M_pos[Mn]==0)||(M_pos[Mn]==5)||(M_pos[Mn]==6)){
rd=M_rnd(20);
if (((rd*3)<hi)||((si==1) && (M_rnd(10)<3))){
M_mosset40(2);
M_msadd(32);
return(0);
}
if ((rd<hi)||((si==1) && (M_rnd(10)<3))){
M_mosset40(1);
M_msadd(32);
return(0);
}
}
if (M_pos[Mn]==1){
if ((hi>9)&&(M_rnd(10)>3)){
M_mosset40(2);
M_msadd(32);
return(0);
}
if (((si==1) && (M_rnd(10)<3))||((si==0) && ((M_rnd(30)<2)))) {
if (M_rnd(10)>2){
M_mosset40(0);
M_msadd(33);
return(0);
} else {
M_mosset40(2);
M_msadd(32);
return(0);
}
}
}
if ((M_pos[Mn]==2)||(M_pos[Mn]==3)||(M_pos[Mn]==4)){
if ((hi>5)&&(M_rnd(10)>2)){
return(0);
}
if (((si==1) && (M_rnd(10)<4))||((si==0) && ((M_rnd(30)<2)))) {
if (M_rnd(10)>2){
M_mosset40(0);
M_msadd(40);
0x208400#
t0[M_seikak[Mn]])==0){
if (sme.heya_no==sme.dog_h_no){
M_sumi_nigeru();
return;
}else{
M_psheya(sme.heya_no);
M_exhno_sumi();
return;
}
}
break;
case 2:
case 3:
case 4:
case 5:
if (M_rnd(Move_hima30_t0[M_seikak[Mn]])==0){
if (sme.heya_no==sme.dog_h_no){
M_psheya(sme.heya_no);
return;
}else{
M_psheya(sme.heya_no);
return;
}
}
break;
case 6:
case 8:
case 9:
if (M_rnd(Move_hima30_t0[M_seikak[Mn]])==0){
if (sme.heya_no==sme.dog_h_no){
M_rnheya2();
return;
}else{
M_rnheya2();
return;
}
}
break;
case 7:
if (M_rnd(Move_hima30_t0[M_seikak[Mn]])==0){
if (sme.heya_no==sme.dog_h_no){
M_psheynr(0);
M_exhno[Mn][0]=2;
return;
}else{
M_psheynr(0);
M_exhno[Mn][0]=2;
0x208E00#
==3){
if (M_esabox[14]!=sme.heya_no){
M_exhno[Mn][0]=-1;
M_exhno[Mn][1]=0;
M_cole_lock[9]=0;
M_exhno[Mn][7]=1;
M_msc[Mn][0]=0;
M_xylock[0]=0;
M_ovecnt[Mn]=0;
}
if (M_esabox[3]>0){
M_esapos_set();
M_esabox[5]=1;
}
}
if(M_esabox[5]==4){
if (M_esabox[14]!=sme.heya_no){
if (M_esabox[6]>2)
M_esabox[6]=1;
M_exhno[Mn][0]=-1;
M_exhno[Mn][1]=0;
M_cole_lock[9]=0;
M_exhno[Mn][7]=1;
M_msc[M
0x209600#
if(M_dogbakset()==-1){
M_mtarn(M_dogv[Mn]+1024);
}
M_ovecnt[Mn]=10;
}else{
M_saisok_setp(0);
}
M_msadd(60);
return;
}
esatabe_set();
M_esabox[5]=2;
M_upin();
}
}else{
M_esapos_set();
M_esabox[5]=1;
return;
}
break;
case 2:
M_asonde_cls();
M_upout();
M_dogbakset();
0x209C00#
mcset_sub(34);
M_mcend_sub();
M_msadd(62);
M_esabox[17]=0;
M_esabox[19]=M_esabox[3];
}
void M_esa_paku(void)
{
int l;
if (M_esabox[18]!=0){
if (sme.heya_no==3){
M_esa_pakus();
}else{
for ( l = 0; l < 10; l++ ) {
M_esa_pakus();
}
}
}
}
void M_esa_pakus(void)
{
int m;
if ((M_mc[0]!=33)&&(M_mc[0]!=34)&&(M_mc[0]!=58)){
M_esabox[17]=0;
M_esabox[18]=0;
M_esabox[19]=0;
return;
}
if (M_esabox[18]!=0){
M_esabox[17]+=1;
if (M_esabox[19]>299){
for ( m = 1; m < 11; m++ ) {
if ((M_esabox[18]*m/10)==M_esabox[17]){
M_hang[0]+=1;
M_esabox[15]=0;
M_dayct[6]+=10;
break;
}
}
for ( m = 1; m < 4; m++ ) {
if ((M_esabox[18]*m/3)==M_esabox[17]){
M_esabox[3]-=100;
break;
}
}
}else if (M_esabox[19]>199){
for ( m = 1; m < 11; m++ ) {
if ((M_esabox[18]*m/7)==M_esabox[17]){
M_hang[0]+=1;
M_esabox[15]=0;
M_dayct[6]+=10;
0x20A400#
}
M_mcend_sub();
M_msadd(63);
}
void keikok_set(void)
{
switch(M_esabox[6]){
case 0:
if ((sme.heya_no==3)&&(M_heyano[Mn]==3)&&(M_esabox[4]==sme.heya_no)){
M_esabox[6]=5;
}else{
if(M_esabox_poschk()!=0){
if (M_esabox[2]==0){
M_saisok_setp(0);
M_esabox[6]=0;
}else{
M_saisok_setp(1);
M_esabox[6]=3;
}
M_msadd(60);
return;
}
M_msc[Mn][0]=1;
M_mcset_sub(33);
M_mcend_sub();
M_msadd(66);
M_esabox[6]=1;
}
break;
case 1:
if(M_esabox_poschk()!=0){
if (M_esabox[2]==0){
M_saisok_setp(0);
M_esabox[6]=0;
}else{
M_saisok_setp(1);
M_esabox[6]=3;
}
M_msadd(60);
return;
}
M_msc[Mn][0]=1;
M_mcset_sub(34);
M_mcend_sub();
M_esabox[2]=1;
M_esabox[6]=2;
break;
case 2:
if (M_unth[2]==0){
0x20AC00#
break;
case 6:
if(sme.un_ko[sme.dog_h_no]==8){
M_saisok_setp(1);
M_esabox[6]=3;
M_exhno[Mn][8]=0;
M_esabox[4]=M_exhno[Mn][0];
M_msadd(60);
M_unth[0]=0;
}else{
M_msc[Mn][0]=1;
M_mcset_sub(80);
M_mcend_sub();
M_msadd(66);
M_esabox[6]=7;
}
break;
case 7:
M_unti_set();
M_saisok_setp(1);
M_esabox[6]=3;
M_exhno[Mn][8]=0;
M_esabox[4]=M_exhno[Mn][0];
M_msadd(60);
M_unth[0]=0;
break;
default:break;
}
}
void saisok_set(void)
{
if ((M_msc[Mn][M_msc[Mn][0]]!=-1)&&(M_msc[Mn][0]!=0))return;
if(((M_rnd(5)>1)&&(M_esabox[6]==2))||(M_heya_ch1(M_heyano[Mn])!=sme.heya_no)){
if((M_heya_ch1(M_heyano[Mn])!=sme.heya_no)||(M_esabox[13]==0)){
M_saisok_setp(1);
}else{
M_saisok_setp(2);
}
M_esabox[6]=0;
}else if ((M_rnd(2)==1)&&(M_esabox[6]==2)){
saisok_setrv();
M_esabox[6]=0;
0x20B400#
xhno[Mn][8]=1;
M_esabox[14]=sme.heya_no;
}
void saisok_sets(void)
{
M_msc[Mn][0]=1;
if (M_byoki[0]>10){
if (M_rnd(3)==1){
M_mcset_sub(53);
M_mcset_sub(45);
M_mcset_sub(8);
M_mcset_sub(9);
M_mcset_sub(1);
M_mcset_sub(8);
M_mcset_sub(9);
M_mcset_sub(46);
M_mcset_sub(53);
}else if (M_rnd(2)==1){
M_mcset_sub(53);
M_mcset_sub(37);
M_mcset_sub(53);
M_mcset_sub(53);
}else{
M_mcset_sub(53);
M_mcset_sub(53);
M_mcset_sub(45);
M_mcset_sub(1);
M_mcset_sub(8);
M_mcset_sub(9);
M_mcset_sub(1);
M_mcset_sub(46);
M_mcset_sub(53);
}
}else if (M_byoki[0]>6){
if (M_rnd(3)==1){
M_mcset_sub(45);
M_mcset_sub(8);
M_mcset_sub(9);
M_mcset_sub(1);
M_mcset_sub(8);
M_mcset_sub(9);
M_mcset_sub(46);
M_mcset_sub(53);
}else if (M_rnd(2)==1){
M_mcset_sub(53);
M_mcset_sub(45);
M_mcset_sub(1);
M_mcset_sub(8);
M_mcset_sub(9);
M_mcset_sub(46);
}else{
M_mcse
0x20BC00#
_sub(1);
M_mcset_sub(8);
M_mcset_sub(9);
M_mcset_sub(46);
}else{
M_mcset_sub(29);
M_mcset_sub(35);
M_mcset_sub(37);
M_mcset_sub(0);
}
}else if(M_seikak[Mn]<6){
if (M_rnd(9)>5){
M_mcset_sub(37);
M_mcset_sub(45);
M_mcset_sub(63);
M_mcset_sub(46);
}else if (M_rnd(10)>4){
M_mcset_sub(0);
M_mcset_sub(37);
M_mcset_sub(37);
}else{
M_mcset_sub(37);
M_mcset_sub(0);
M_mcset_sub(37);
}
}else if(M_seikak[Mn]<8){
if (M_rnd(9)>5){
M_mcset_sub(49);
M_mcset_sub(0);
M_mcset_sub(49);
}else if (M_rnd(10)>4){
M_mcset_sub(49);
M_mcset_sub(38);
M_mcset_sub(0);
M_mcset_sub(49);
}else{
M_mcset_sub(49);
M_mcset_sub(49);
M_mcset_sub(38);
M_mcset_sub(0);
M_mcset_sub(49);
}
}else{
if (M_rnd(9)>5){
M_mcset_sub(49);
M_mcset_sub(49);
M_mcset_sub(51);
M_mcset_sub(49);
M_mcset_sub(49);
}else if (M_rnd(10)>4){
M_mcset_sub(51);
M_mcset
0x20C400#
M_rnheya2();
if ((M_esabox[4]==sme.heya_no)&&(M_esabox[2]==0)){
if(M_xyh(M_dogxy[0],M_dogxy[1],M_exhno[Mn][2],M_exhno[Mn][3])>500)break; }
}
sme.heya_no=i;
M_exhno[Mn][9]=3;
M_unth[1]=2;
M_msadd(66);
}
break;
case 2:
unkop(300);
M_unth[1]=3;
break;
case 3:
unkop(-600);
M_unth[1]=4;
break;
case 4:
unkop(300);
M_unth[1]=5;
break;
case 5:
M_msc[Mn][0]=1;
M_mcset_sub(0);
M_mcend_sub();
M_unth[1]=6;
break;
case 6:
unkop(300);
M_unth[1]=7;
break;
case 7:
unkop(-600);
M_unth[1]=8;
break;
case 8:
unkop(600);
M_unth[1]=9;
break;
case 9:
unkop(-300);
M_unth[1]=10;
break;
case 10:
M_msc[Mn][0]=1;
M_mcset_sub(80);
M_mcend_sub();
M_msadd(69);
M_unth[1]=11;
M_unth[8]=M_do
0x21A400#
et noreorder
.set nomacro
bne $2,$0,$L30
lui $2,%hi(M_exhno) # high
.set macro
.set reorder
addiu $2,$2,%lo(M_exhno) # low
sll $3,$4,2
addu $3,$3,$4
sll $3,$3,3
addu $3,$3,$2
lh $2,2($3)
li $21,2 # 0x00000002
.set noreorder
.set nomacro
beq $2,$21,$L30
lui $2,%hi(M_tosi) # high
.set macro
.set reorder
addiu $2,$2,%lo(M_tosi) # low
addu $2,$5,$2
lh $3,0($2)
#nop
slt $2,$3,6
.set noreorder
.set nomacro
bne $2,$0,$L34
move $16,$21
.set macro
.set reorder
addu $2,$3,-4
srl $3,$2,31
addu $2,$2,$3
sra $2,$2,1
addu $16,$2,2
$L34:
lui $2,%hi(M_odekake) # high
addiu $2,$2,%lo(M_odekake) # low
addu $2,$5,$2
lh $2,0($2)
#nop
bne $2,$0,$L30
.set noreorder
.set nomacro
jal M_rnd
move $4,$16
.set macro
.set reorder
move $18,$2
li $2,1 # 0x00000001
bne $18,$2,$L30
jal M_dp_hnchk
.set noreorder
.set nomacro
bne $2,$0,$L30
li $17,10 # 0x0000000a
.set macro
.set reorder
move $19,$0
lui $3,%hi(M_h
0x21AE00#
eorder
.set nomacro
bne $2,$0,$L67
slt $2,$4,5
.set macro
.set reorder
addu $3,$4,-10
sll $2,$3,2
addu $2,$2,$3
sll $2,$2,1
addu $17,$17,$2
slt $2,$4,5
$L67:
.set noreorder
.set nomacro
beq $2,$0,$L47
subu $3,$7,$4
.set macro
.set reorder
sll $2,$3,2
addu $2,$2,$3
sll $2,$2,1
addu $17,$17,$2
$L47:
lui $3,%hi(M_sym) # high
addiu $3,$3,%lo(M_sym) # low
addu $2,$5,$6
sll $2,$2,1
addu $2,$2,$3
lh $4,0($2)
#nop
slt $6,$4,11
.set noreorder
.set n
0x21B600#
56:
bgez $16,$L57
move $16,$0
$L57:
.set noreorder
.set nomacro
jal M_rnd
li $4,10 # 0x0000000a
.set macro
.set reorder
slt $2,$2,$16
beq $2,$0,$L30
bne $19,$0,$L30
.set noreorder
.set nomacro
jal M_rnd
move $4,$17
.set macro
.set reorder
slt $2,$2,10
.set noreorder
.set nomacro
beq $2,$0,$L30
lui $3,%hi(M_iflg) # high
.set macro
.set reorder
lh $2,0($22)
addiu $3,$3,%lo(M_iflg) # low
sll $2,$2,1
addu $2,$2,$3
lhu $2,0($2)
#nop
andi $2,$
0x21BE00#
$L76
lui $2,%hi(M_hirou) # high
.set macro
.set reorder
addiu $2,$2,%lo(M_hirou) # low
addu $2,$5,$2
lh $18,0($2)
lui $2,%hi(M_byoki) # high
lh $3,%lo(M_byoki)($2)
addiu $4,$2,%lo(M_byoki) # low
slt $2,$3,6
bne $2,$0,$L79
addu $18,$18,$3
$L79:
lh $3,2($4)
#nop
slt $2,$3,6
.set noreorder
.set nomacro
bne $2,$0,$L110
lui $2,%hi(M_seikak) # high
.set macro
.set reorder
addu $18,$18,$3
$L110:
addiu $2,$2,%lo(M_seikak) # low
addu $2,$5,$2
lh $17,0($2)
li
0x21C600#
eorder
move $16,$2
sll $2,$16,1
addu $2,$2,$16
slt $2,$2,$18
.set noreorder
.set nomacro
bne $2,$0,$L89
li $2,1 # 0x00000001
.set macro
.set reorder
.set noreorder
.set nomacro
bne $17,$2,$L112
slt $2,$16,$18
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_rnd
li $4,10 # 0x0000000a
.set macro
.set reorder
slt $2,$2,3
.set noreorder
.set nomacro
beq $2,$0,$L88
slt $2,$16,$18
.set macro
.set reorder
$L89:
li $4,2 # 0x000000
0x21CE00#
4,30 # 0x0000001e
.set macro
.set reorder
slt $2,$2,2
.set noreorder
.set nomacro
beq $2,$0,$L92
lui $2,%hi(Mn) # high
.set macro
.set reorder
$L95:
.set noreorder
.set nomacro
jal M_rnd
li $4,10 # 0x0000000a
.set macro
.set reorder
slt $2,$2,3
.set noreorder
.set nomacro
bne $2,$0,$L107
li $4,2 # 0x00000002
.set macro
.set reorder
.set noreorder
.set nomacro
jal M_mosset40
move $4,$0
.set macro
.set reorder
.set noreorder
.set nom
0x21D600#
0000001
.set macro
.set reorder
li $4,41 # 0x00000029
$L108:
jal M_msadd
$L76:
move $2,$0
$L109:
lw $31,32($sp)
lw $19,28($sp)
lw $18,24($sp)
lw $17,20($sp)
lw $16,16($sp)
addu $sp,$sp,40
j $31
.end Move_hima20
.globl Move_hima30_t0
.data
.align 2
Move_hima30_t0:
.byte 6
.byte 3
.byte 2
.byte 2
.byte 4
.byte 5
.byte 2
.byte 4
.byte 3
.byte 7
.globl Move_hima30_t1
.align 2
Move_hima30_t1:
.byte 10
.byte 3
.byte 2
.byte 2
.byte 10
.b
0x21DE00#
et reorder
lui $2,%hi(M_odekake) # high
addiu $2,$2,%lo(M_odekake) # low
addu $2,$5,$2
lh $2,0($2)
#nop
.set noreorder
.set nomacro
bne $2,$0,$L179
lui $2,%hi(M_odekake) # high
.set macro
.set reorder
lui $2,%hi(M_pos) # high
addiu $2,$2,%lo(M_pos) # low
addu $2,$5,$2
lh $2,0($2)
#nop
.set noreorder
.set nomacro
bne $2,$0,$L179
lui $2,%hi(M_odekake) # high
.set macro
.set reorder
lui $2,%hi(M_seikak) # high
addiu $2,$2,%lo(M_seikak) # low
addu $2,$5,$2
0x21E600#
low
lbu $3,420($4)
lbu $2,416($4)
#nop
bne $3,$2,$L130
$L169:
jal M_sumi_nigeru
j $L116
$L130:
lbu $4,420($4)
jal M_psheya
jal M_exhno_sumi
j $L116
$L135:
lui $3,%hi(Mn) # high
lui $2,%hi(M_seikak) # high
lh $3,%lo(Mn)($3)
addiu $2,$2,%lo(M_seikak) # low
sll $3,$3,1
addu $3,$3,$2
lui $2,%hi(Move_hima30_t0) # high
lh $3,0($3)
addiu $2,$2,%lo(Move_hima30_t0) # low
addu $3,$3,$2
lb $4,0($3)
jal M_rnd
.set noreorder
.set nomacro
bne $2,$0,$L178
lui $17,%hi(
0x21EE00#
ke) # low
sll $4,$3,1
addu $2,$4,$2
lh $3,0($2)
li $2,1 # 0x00000001
.set noreorder
.set nomacro
bne $3,$2,$L180
lui $3,%hi(Mn) # high
.set macro
.set reorder
lui $2,%hi(M_pos) # high
addiu $2,$2,%lo(M_pos) # low
addu $2,$4,$2
lh $2,0($2)
#nop
.set noreorder
.set nomacro
bne $2,$0,$L153
lui $2,%hi(M_seikak) # high
.set macro
.set reorder
addiu $16,$2,%lo(M_seikak) # low
addu $3,$4,$16
lui $2,%hi(Move_hima30_t1) # high
lh $3,0($3)
addiu $2,$2,%lo(Move
0x21F600#
00000001
.set noreorder
.set nomacro
bne $3,$2,$L153
lui $2,%hi(M_seikak) # high
.set macro
.set reorder
addiu $2,$2,%lo(M_seikak) # low
addu $2,$4,$2
lui $3,%hi(Move_hima30_t3) # high
lh $2,0($2)
addiu $3,$3,%lo(Move_hima30_t3) # low
addu $2,$2,$3
lb $4,0($2)
jal M_rnd
bne $2,$0,$L153
jal M_mosset30
.set noreorder
.set nomacro
j $L172
li $4,30 # 0x0000001e
.set macro
.set reorder
$L153:
jal M_dp_hnchk
.set noreorder
.set nomacro
bne $2,$0,$L182
l
0x21FC00#
der
lui $3,%hi(M_exhno) # high
lh $4,%lo(Mn)($16)
addiu $3,$3,%lo(M_exhno) # low
sll $2,$4,2
addu $2,$2,$4
sll $2,$2,3
addu $2,$2,$3
li $3,-1 # 0xffffffff
sh $3,0($2)
lui $3,%hi(M_cole_lock+18) # high
sh $0,2($2)
sh $0,%lo(M_cole_lock+18)($3)
li $3,1 # 0x00000001
sh $3,14($2)
$L157:
lui $2,%hi(M_byoki) # high
$L182:
lh $2,%lo(M_byoki)($2)
#nop
slt $2,$2,11
.set noreorder
.set nomacro
bne $2,$0,$L183
lui $2,%hi(M_byoki+2) # high
.set macro
.set reorder
lui $6,%hi(Mn) # high
lui $2,%hi(M_pos) # high
lh $4,%lo(Mn)($6)
addiu $5,$2,%lo(M_pos) # low
sll $2,$4,1
addu $2,$2,$5
lh $2,0($2)
#nop
slt $2,$2,3
.set noreorder
.set nomacro
beq $2,$0,$L158
lui $3,%hi(M_msc) # high
.set macro
.set reorder
addiu $3,$3,%lo(M_msc) # low
sll $2,$4,2
addu $2,$2,$4
sll $2,$2,3
addu $2,$2,$3
li $3,1 # 0x00000001
sb $3,0($2)
lh $2,%lo(Mn)($6)
#nop
sll $2,$2,1
addu $2,$2,$5
lh $3,0($2)
#nop
.set noreorder
.set noma
0x220400#
$0,$L176
lui $2,%hi(M_byoki+2) # high
.set macro
.set reorder
$L184:
lh $2,%lo(M_byoki+2)($2)
#nop
slt $2,$2,6
.set noreorder
.set nomacro
bne $2,$0,$L167
lui $17,%hi(Mn) # high
.set macro
.set reorder
lui $2,%hi(M_pos) # high
lh $3,%lo(Mn)($17)
addiu $2,$2,%lo(M_pos) # low
sll $3,$3,1
addu $3,$3,$2
lh $16,0($3)
li $2,1 # 0x00000001
bne $16,$2,$L167
.set noreorder
.set nomacro
jal M_rnd
li $4,2 # 0x00000002
.set macro
.set reorder
beq $2,$0,$L167
$L176:
li $4,4 # 0x00000004
lui $2,%hi(M_msc) # high
lh $5,%lo(Mn)($17)
addiu $2,$2,%lo(M_msc) # low
sll $3,$5,2
addu $3,$3,$5
sll $3,$3,3
addu $3,$3,$2
sb $16,0($3)
$L177:
jal M_mcset_sub
$L175:
jal M_mcend_sub
j $L116
$L167:
jal M_mosset20
li $4,20 # 0x00000014
$L172:
jal M_msadd
$L116:
lw $31,24($sp)
lw $17,20($sp)
lw $16,16($sp)
addu $sp,$sp,32
j $31
.end Move_hima30
.align 2
.globl M_haraheri
.ent M_haraheri
M_haraheri:
.frame $sp,40,$31
0x220E00#
) # low
sll $2,$2,1
addu $2,$2,$3
sh $0,0($2)
$L189:
lh $2,6($16)
#nop
.set noreorder
.set nomacro
blez $2,$L231
lui $2,%hi(M_esabox) # high
.set macro
.set reorder
jal M_esapos_set
li $2,1 # 0x00000001
sh $2,10($16)
lui $2,%hi(M_esabox) # high
$L231:
addiu $4,$2,%lo(M_esabox) # low
lh $3,10($4)
li $2,4 # 0x00000004
.set noreorder
.set nomacro
bne $3,$2,$L232
lui $3,%hi(M_ms) # high
.set macro
.set reorder
lui $2,%hi(sme+420) # high
lh $3,28($4)
0x221600#
$2,$2,$3
lh $3,0($2)
li $2,-1 # 0xffffffff
.set noreorder
.set nomacro
beq $3,$2,$L234
lui $2,%hi(Mn) # high
.set macro
.set reorder
.set noreorder
.set nomacro
j $L185
sb $6,0($5)
.set macro
.set reorder
$L195:
lui $2,%hi(Mn) # high
$L234:
lui $3,%hi(M_ovecnt) # high
lh $4,%lo(Mn)($2)
addiu $3,$3,%lo(M_ovecnt) # low
sll $2,$4,1
addu $2,$2,$3
lh $2,0($2)
#nop
.set noreorder
.set nomacro
bne $2,$0,$L185
lui $3,%hi(M_exhno) # high
.set macro
.se
0x221E00#
set reorder
lui $4,%hi(M_seikak) # high
lh $3,%lo(Mn)($17)
addiu $4,$4,%lo(M_seikak) # low
sll $3,$3,1
addu $3,$3,$4
lhu $4,0($3)
#nop
sll $4,$4,16
sra $3,$4,16
srl $4,$4,31
addu $3,$3,$4
sra $3,$3,1
addu $3,$3,$2
slt $16,$16,$3
.set noreorder
.set nomacro
beq $16,$0,$L185
lui $4,%hi(M_cole_lock) # high
.set macro
.set reorder
$L235:
lh $3,%lo(M_cole_lock)($4)
li $2,2 # 0x00000002
.set noreorder
.set nomacro
bne $3,$2,$L202
lui $2,%hi(M_jhuku) # hig