209 lines
9.1 KiB
C
209 lines
9.1 KiB
C
/********************************************************************************
|
|
Ultra 64 MARIO Brothers
|
|
|
|
Water surface and Water fall extern define header file.
|
|
|
|
Copyright 1995 Nintendo co., ltd. All rights reserved
|
|
|
|
This module was programmed by Y.Tanimoto.
|
|
|
|
1996.4.10
|
|
*********************************************************************************/
|
|
|
|
|
|
#define FALL_NOLIGHT 0
|
|
#define FALL_LIGHT 1
|
|
|
|
|
|
/* ========================================================================================
|
|
: Data structure of the fall.
|
|
=========================================================================================== */
|
|
typedef struct {
|
|
ulong index ;
|
|
int texNo ;
|
|
int n_point_s ;
|
|
short* pt_data ;
|
|
Gfx* init_gfx ;
|
|
Gfx* reset_gfx ;
|
|
Gfx* draw_gfx ;
|
|
uchar red ;
|
|
uchar green ;
|
|
uchar blue ;
|
|
uchar alpha ;
|
|
int r_mode ;
|
|
} FallData ;
|
|
|
|
/* ========================================================================================
|
|
: Ptr to the image data.
|
|
=========================================================================================== */
|
|
extern ushort water_rotate_txt[];
|
|
extern ushort smog_rotate_txt[];
|
|
extern ushort ydm02_rotate_txt[];
|
|
extern ushort ydm05_rotate_txt[];
|
|
extern ushort lava_rotate_txt[];
|
|
extern ushort sabaku_ryuusa_txt[];
|
|
extern ushort in_py_ryuusa_txt[];
|
|
extern ushort mecha_conv_txt[];
|
|
|
|
|
|
/* ========================================================================================
|
|
: Ptr to the water surface record of each scene.
|
|
=========================================================================================== */
|
|
extern WaterSurfRec waterSurf_04_00[]; // Teresa obake.
|
|
extern WaterSurfRec waterSurf_04_01[]; // Teresa obake.
|
|
extern WaterSurfRec waterSurf_05_01[]; // Yukiyama1.
|
|
extern WaterSurfRec waterSurf_06_00[]; // Select room B1-0.
|
|
extern WaterSurfRec waterSurf_06_12[]; // Select room B1-1,2.
|
|
extern WaterSurfRec waterSurf_07_01[]; // Horror dungeon. Underground lake.
|
|
extern WaterSurfRec waterSurf_07_02[]; // Horror dungeon. Strange smog. [ I/A ]
|
|
extern WaterSurfRec waterSurf_08_01[]; // Sabaku.
|
|
extern WaterSurfRec waterSurf_08_51[]; // Sabaku. Strange smog.
|
|
extern WaterSurfRec waterSurf_10_01[]; // Yukiyama2.
|
|
extern WaterSurfRec waterSurf_11_01[]; // Pool 1F.
|
|
extern WaterSurfRec waterSurf_11_02[]; // Pool B1.
|
|
extern WaterSurfRec waterSurf_12_01[]; // Water dungeon. Spoiled water.
|
|
extern WaterSurfRec waterSurf_12_05[]; // Water dungeon. Strange smog. [ I/A ]
|
|
extern WaterSurfRec waterSurf_12_02[]; // In the sunken ship.
|
|
extern WaterSurfRec waterSurf_13_01[]; // Big world. Big.
|
|
extern WaterSurfRec waterSurf_13_02[]; // Big world. Small.
|
|
extern WaterSurfRec waterSurf_16_01[]; // Main map.
|
|
extern WaterSurfRec waterSurf_22_02[]; // In valcano. Lava pond.
|
|
extern WaterSurfRec waterSurf_23_01[]; // Water land. Scene1.
|
|
extern WaterSurfRec waterSurf_23_02[]; // Water land. Scene2.
|
|
extern WaterSurfRec waterSurf_24_01[]; // Mountain.
|
|
extern WaterSurfRec waterSurf_26_01[]; // Uraniwa.
|
|
extern WaterSurfRec waterSurf_36_01[]; // Donkey kai.
|
|
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Ptr to the Gfx and point data of each fall [ No Light ].
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Point data.
|
|
=========================================================================================== */
|
|
extern short waterfall_0801_pt[]; // In pyramid sandfall-1 [ xlu, Fog ].
|
|
extern short waterfall_0802_pt[]; // In pyramid sandfall-2 [ opa, Fog ].
|
|
extern short waterfall_0803_pt[]; // In pyramid sandfall-3 [ xlu, Fog ].
|
|
extern short waterfall_1601_pt[]; // Main map. Water fall.
|
|
extern short waterfall_1901_pt[]; // Ext2. Lava yoko scroll-1.
|
|
extern short waterfall_1902_pt[]; // Ext2. Lava yoko scroll-2.
|
|
extern short waterfall_1903_pt[]; // Ext2. Lava yoko scroll-3.
|
|
extern short waterfall_2201_pt[]; // Motos. Ground lava fall.
|
|
extern short waterfall_2202_pt[]; // In valcano. Fire fall.
|
|
extern short metalfall_2801_pt[]; // In the fall. [ xlu, Fog ].
|
|
extern short donkey_wfA_pt[]; // Donkey waterfall A.
|
|
extern short donkey_wfB_pt[]; // Donkey waterfall B.
|
|
extern short donkey_wfC_pt[]; // Donkey waterfall C.
|
|
extern short donkey_wfD_pt[]; // Donkey waterfall D.
|
|
extern short donkey_wfE_pt[]; // Donkey waterfall E.
|
|
|
|
|
|
/* ========================================================================================
|
|
: Initialize Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx sf_08_xlu_init[]; // In pyramid sandfall-1,3 [ xlu, Fog ].
|
|
extern Gfx sf_08_opa_init[]; // In pyramid sandfall-2. [ opa, Fog ].
|
|
extern Gfx mtfll_xlu_init[]; // In the fall. [ xlu, Fog ].
|
|
|
|
|
|
/* ========================================================================================
|
|
: Reset Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx sf_08_xlu_reset[]; // In pyramid sandfall-1,3 [ xlu, Fog ].
|
|
extern Gfx sf_08_opa_reset[]; // In pyramid sandfall-2. [ opa, Fog ].
|
|
extern Gfx mtfll_xlu_reset[]; // In the fall. [ xlu, Fog ].
|
|
|
|
|
|
/* ========================================================================================
|
|
: Drawing Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx waterfall_0801_draw[]; // In pyramid sandfall-1,2.
|
|
extern Gfx waterfall_0803_draw[]; // In pyramid sandfall-3.
|
|
extern Gfx waterfall_1601_draw[]; // Main map. Water fall.
|
|
extern Gfx waterfall_1901_draw[]; // Ext2. Lava yoko scroll-1,2.
|
|
extern Gfx waterfall_1903_draw[]; // Ext2. Lava yoko scroll-3.
|
|
extern Gfx waterfall_2201_draw[]; // Motos. Ground lava fall.
|
|
extern Gfx waterfall_2202_draw[]; // In valcano. Fire fall.
|
|
extern Gfx metalfall_2801_draw[]; // In the fall.
|
|
extern Gfx donkey_wfAB_draw[] ; // Donkey waterfall A,B.
|
|
extern Gfx donkey_wfCD_draw[] ; // Donkey waterfall C,D.
|
|
extern Gfx donkey_wfE_draw[] ; // Donkey waterfall E.
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Ptr to the Gfx and point data of each fall [ With Light ].
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Point data.
|
|
=========================================================================================== */
|
|
extern short sabaku_sandfall01_pt[]; // Sabaku sandfall-1.
|
|
extern short sabaku_sandfall02_pt[]; // Sabaku sandfall-2.
|
|
extern short sabaku_sandfall03_pt[]; // Sabaku sandfall-3.
|
|
extern short beltcv14_lg_pt[]; // Clock Tower. Belt conveyor. Long.
|
|
extern short beltcv14_st_pt[]; // Clock Tower. Belt conveyor. Short.
|
|
|
|
|
|
/* ========================================================================================
|
|
: Initialize Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx sabaku_sandfall_init[]; // Sabaku sandfall-1,2,3.
|
|
extern Gfx beltcv1400_init[]; // Clock Tower. Belt conveyor.
|
|
|
|
|
|
/* ========================================================================================
|
|
: Reset Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx sabaku_sandfall_reset[]; // Sabaku sandfall-1,2,3.
|
|
extern Gfx beltcv1400_reset[]; // Clock Tower. Belt conveyor.
|
|
|
|
|
|
/* ========================================================================================
|
|
: Drawing Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx sabaku_sandfall01_draw[]; // Sabaku sandfall-1.
|
|
extern Gfx sabaku_sandfall02_draw[]; // Sabaku sandfall-2.
|
|
extern Gfx sabaku_sandfall03_draw[]; // Sabaku sandfall-3.
|
|
extern Gfx beltcv14_ls_draw[]; // Clock Tower. Belt conveyor.
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Ptr to the Gfx and point data of sand cone [ With Light ].
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Point data.
|
|
=========================================================================================== */
|
|
extern short sandcone01_pt[]; // Sand cone-1.
|
|
extern short sandcone02_pt[]; // Sand cone-2. [ Fog ]
|
|
|
|
|
|
/* ========================================================================================
|
|
: Initialize Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx sandcone0801_init[] ; // Sand cone-1.
|
|
extern Gfx sandcone0802_init[] ; // Sand cone-2. [ Fog ]
|
|
|
|
|
|
/* ========================================================================================
|
|
: Reset Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx sandcone0801_reset[]; // Sand cone-1.
|
|
extern Gfx sandcone0802_reset[]; // Sand cone-2. [ Fog ]
|
|
|
|
|
|
/* ========================================================================================
|
|
: Drawing Gfx.
|
|
=========================================================================================== */
|
|
extern Gfx sandcone_draw[]; // Sand cone-1,2.
|
|
|