995 lines
31 KiB
Plaintext
995 lines
31 KiB
Plaintext
/********************************************************************************
|
|
Ultra 64 MARIO Brothers
|
|
|
|
Data files used for tanimoto routines.
|
|
|
|
Copyright 1995 Nintendo co., ltd. All rights reserved
|
|
|
|
This module was programmed by Y.Tanimoto
|
|
|
|
Feb 29, 1996.
|
|
*********************************************************************************/
|
|
|
|
#include "tanidata.h"
|
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// I-matrix.
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Light.
|
|
=========================================================================================== */
|
|
static Lights1 Tani_light[]={
|
|
{ { 64, 64, 64, 0, 64, 64, 64, 0 },
|
|
{ 255, 255, 255, 0, 255, 255, 255, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0 } }
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: I-matrix.
|
|
=========================================================================================== */
|
|
extern Mtx Tani_I_matrix = {
|
|
0x00010000, 0x00000000, 0x00000001, 0x00000000,
|
|
0x00000000, 0x00010000, 0x00000000, 0x00000001,
|
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
0x00000000, 0x00000000, 0x00000000, 0x00000000
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Ortho-matrix [ 0.0,320.0, 0.0,240.0, 0.0,2.0 ].
|
|
=========================================================================================== */
|
|
static Mtx Tani_O_matrix = {
|
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xFFFF0001,
|
|
0x01990000, 0x00000000, 0x00000222, 0x00000000,
|
|
0x00000000, 0x00000000, 0x00000000, 0x00000000
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of drawing one tile.
|
|
=========================================================================================== */
|
|
extern Gfx Tani_draw_1squr[] = {
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 2, 3, 0),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of drawing one tile.
|
|
=========================================================================================== */
|
|
extern Gfx Tani_draw_2squr[] = {
|
|
gsSP1Triangle(4, 5, 6, 0),
|
|
gsSP1Triangle(4, 6, 7, 0),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Used in 'shade.c'.
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Static DL of shadow initialize.
|
|
=========================================================================================== */
|
|
static Gfx shade_gfx_init_common[] = {
|
|
gsDPPipeSync(),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsSPTexture(0xffff, 0xffff, 0, G_TX_RENDERTILE, G_ON),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
extern Gfx shade_gfx_init_normal[] = {
|
|
gsSPDisplayList(shade_gfx_init_common),
|
|
gsDPLoadTextureBlock(shade_txtdat, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 16, 0,
|
|
G_TX_WRAP|G_TX_MIRROR, G_TX_WRAP|G_TX_MIRROR,
|
|
4, 4, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
extern Gfx shade_gfx_init_rect[] = {
|
|
gsSPDisplayList(shade_gfx_init_common),
|
|
gsDPLoadTextureBlock(shade_rect_txtdat, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 16, 0,
|
|
G_TX_WRAP|G_TX_MIRROR, G_TX_WRAP|G_TX_MIRROR,
|
|
4, 4, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of drawing shadow.
|
|
=========================================================================================== */
|
|
extern Gfx shade_gfx_Poly9[] = {
|
|
gsSP1Triangle(0, 3, 4, 0),
|
|
gsSP1Triangle(0, 4, 1, 0),
|
|
gsSP1Triangle(1, 4, 2, 0),
|
|
gsSP1Triangle(2, 4, 5, 0),
|
|
gsSP1Triangle(3, 6, 4, 0),
|
|
gsSP1Triangle(4, 6, 7, 0),
|
|
gsSP1Triangle(4, 7, 8, 0),
|
|
gsSP1Triangle(4, 8, 5, 0),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
extern Gfx shade_gfx_Poly4[] = {
|
|
gsSP1Triangle(0, 2, 1, 0),
|
|
gsSP1Triangle(1, 2, 3, 0),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of shadow reset.
|
|
=========================================================================================== */
|
|
extern Gfx shade_gfx_clear[] = {
|
|
gsDPPipeSync(),
|
|
gsSPTexture(0xffff,0xffff, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK ),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Used in 'wipe2.c'.
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Static DL of wipe initialize.
|
|
=========================================================================================== */
|
|
extern Gfx wipe_gfx_init[] = {
|
|
gsDPPipeSync(),
|
|
gsSPClearGeometryMode(G_LIGHTING),
|
|
gsSPMatrix(&Tani_I_matrix, G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH ),
|
|
gsSPMatrix(&Tani_O_matrix, G_MTX_PROJECTION | G_MTX_MUL | G_MTX_NOPUSH ),
|
|
gsSPMatrix(&Tani_I_matrix, G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH ),
|
|
gsSPPerspNormalize(0xffff),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of wipe clear.
|
|
=========================================================================================== */
|
|
extern Gfx wipe_gfx_clear[] = {
|
|
gsDPPipeSync(),
|
|
gsSPSetGeometryMode(G_LIGHTING),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of drawing 8 triangles.
|
|
=========================================================================================== */
|
|
extern Gfx wipe_gfx_8tri[] = {
|
|
gsSP1Triangle(0, 4, 1, 0),
|
|
gsSP1Triangle(1, 4, 5, 0),
|
|
gsSP1Triangle(1, 5, 2, 0),
|
|
gsSP1Triangle(2, 5, 6, 0),
|
|
gsSP1Triangle(2, 6, 7, 0),
|
|
gsSP1Triangle(2, 7, 3, 0),
|
|
gsSP1Triangle(3, 4, 0, 0),
|
|
gsSP1Triangle(3, 7, 4, 0),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Used in 'bgdraw3.c'.
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Static DL of initialize projection.
|
|
=========================================================================================== */
|
|
extern Gfx BG_init_project[] = {
|
|
gsDPPipeSync(),
|
|
gsSPClearGeometryMode(G_LIGHTING),
|
|
gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
|
|
gsSPPerspNormalize(0xffff),
|
|
gsSPMatrix(&Tani_I_matrix, G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of initialize graphic.
|
|
=========================================================================================== */
|
|
extern Gfx BG_init_graphic[] = {
|
|
gsSPMatrix(&Tani_I_matrix, G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH),
|
|
gsSPTexture(0xffff,0xffff, 0, 0, G_ON),
|
|
gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 0,
|
|
G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD,
|
|
G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of clear and reset.
|
|
=========================================================================================== */
|
|
extern Gfx BG_mode_restore[] = {
|
|
gsDPPipeSync(),
|
|
gsSPTexture(0xffff,0xffff, 0, 0, G_OFF),
|
|
gsSPSetGeometryMode(G_LIGHTING),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Used in 'water.c'.
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Static DL of water initialize.
|
|
=========================================================================================== */
|
|
extern Gfx water_init[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
gsSPTexture(0xffff, 0xffff, 0, 0, G_ON),
|
|
gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 0,
|
|
G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD,
|
|
G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of water initialize [ I/A texture, MODULATE mode ].
|
|
=========================================================================================== */
|
|
extern Gfx water_init_IA[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
gsSPTexture(0xffff, 0xffff, 0, 0, G_ON),
|
|
gs_Tani_SetUpTileDescrip(G_IM_FMT_IA, G_IM_SIZ_16b, 32, 32, 0, 0,
|
|
G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD,
|
|
G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of water reset.
|
|
=========================================================================================== */
|
|
extern Gfx water_reset[] = {
|
|
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Used in 'areamap.c'.
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Texture data of the arrow.
|
|
=========================================================================================== */
|
|
static unsigned char areamap_arrow_txt[] = {
|
|
0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0,
|
|
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
|
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
|
0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xf0, 0xf0, 0xf0,
|
|
0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xf0, 0xf0, 0xf0,
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of initialize projection.
|
|
=========================================================================================== */
|
|
extern Gfx areamap_init_project[] = {
|
|
gsDPPipeSync(),
|
|
gsSPClearGeometryMode(G_LIGHTING),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
|
|
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF),
|
|
gsSPPerspNormalize(0xffff),
|
|
gsSPMatrix(&Tani_I_matrix, G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH ),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
|
|
/* ========================================================================================
|
|
: Static DL of initialize graphic.
|
|
=========================================================================================== */
|
|
extern Gfx areamap_init_graphic1[] = {
|
|
gsSPMatrix(&Tani_I_matrix, G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH ),
|
|
gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, 0,
|
|
G_TX_CLAMP|G_TX_NOMIRROR, 6, G_TX_NOLOD,
|
|
G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD),
|
|
gsSPTexture(0xffff, 0xffff, 0, 0, G_ON),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of initialize graphic.
|
|
=========================================================================================== */
|
|
extern Gfx areamap_init_graphic2[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gs_Tani_SetUpTileDescrip(G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 0, 0,
|
|
G_TX_CLAMP|G_TX_NOMIRROR, 3, G_TX_NOLOD,
|
|
G_TX_CLAMP|G_TX_NOMIRROR, 3, G_TX_NOLOD ),
|
|
gs_Tani_LoadTextureImage(areamap_arrow_txt, G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 0, 7),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Static DL of initialize graphic.
|
|
=========================================================================================== */
|
|
extern Gfx areamap_mode_restore[] = {
|
|
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// Used in 'wave.c'.
|
|
//
|
|
//
|
|
/* ========================================================================================
|
|
: Light only for wave.
|
|
=========================================================================================== */
|
|
static Lights1 Tani_light_wave[]={
|
|
{ { WAVE_AMB_R, WAVE_AMB_G, WAVE_AMB_B, 0,
|
|
WAVE_AMB_R, WAVE_AMB_G, WAVE_AMB_B, 0 },
|
|
{ 255, 255, 255, 0, 255, 255, 255, 0,
|
|
WAVE_LIGHT_X, WAVE_LIGHT_Y, WAVE_LIGHT_Z, 0 } }
|
|
};
|
|
|
|
/* ========================================================================================
|
|
: Common static Gfx of moving status [ Fixed ].
|
|
=========================================================================================== */
|
|
extern Gfx wave_move_init[] = {
|
|
gsDPPipeSync(),
|
|
gsSPSetGeometryMode(G_SHADING_SMOOTH | G_LIGHTING),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
|
|
gsSPLight((&Tani_light_wave[0].l[0]),1),
|
|
gsSPLight((&Tani_light_wave[0].a ),2),
|
|
gsSPTexture(0xffff, 0xffff, 0, 0, G_ON),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
extern Gfx wave_move_reset[] = {
|
|
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
extern Gfx wave_move_init_env[] = {
|
|
gsDPPipeSync(),
|
|
gsSPSetGeometryMode(G_LIGHTING | G_TEXTURE_GEN),
|
|
gsDPSetCombineMode(G_CC_DECALRGB, G_CC_DECALRGB),
|
|
gsSPLight((&Tani_light_wave[0].l[0]),1),
|
|
gsSPLight((&Tani_light_wave[0].a ),2),
|
|
gsSPTexture(0x4000, 0x4000, 0, 0, G_ON),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
extern Gfx wave_move_reset_env[] = {
|
|
gsSPTexture(0x4000, 0x4000, 0, 0, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsSPSetGeometryMode(G_LIGHTING),
|
|
gsSPClearGeometryMode(G_TEXTURE_GEN),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
extern Gfx wave_5tris[] = {
|
|
gsSP1Triangle( 0, 1, 2, 0),
|
|
gsSP1Triangle( 3, 4, 5, 0),
|
|
gsSP1Triangle( 6, 7, 8, 0),
|
|
gsSP1Triangle( 9,10,11, 0),
|
|
gsSP1Triangle(12,13,14, 0),
|
|
gsSPEndDisplayList()
|
|
};
|
|
|
|
/* ============================================================================================
|
|
: Wave basic vertex and polygon data.
|
|
=============================================================================================== */
|
|
extern short wave_vp_all[] = {
|
|
157,
|
|
614, 583, 0,
|
|
614, 614, 0,
|
|
562, 614, 0,
|
|
562, 553, 1,
|
|
614, 522, 0,
|
|
511, 583, 1,
|
|
511, 614, 0,
|
|
307, 614, 0,
|
|
307, 583, 1,
|
|
358, 614, 0,
|
|
256, 614, 0,
|
|
256, 553, 1,
|
|
307, 522, 1,
|
|
358, 553, 1,
|
|
409, 583, 1,
|
|
460, 614, 0,
|
|
511, 522, 1,
|
|
460, 553, 1,
|
|
409, 522, 1,
|
|
562, 307, 1,
|
|
614, 338, 0,
|
|
562, 430, 1,
|
|
614, 399, 0,
|
|
562, 368, 1,
|
|
511, 338, 1,
|
|
460, 307, 1,
|
|
460, 430, 1,
|
|
511, 399, 1,
|
|
511, 460, 1,
|
|
409, 338, 1,
|
|
460, 368, 1,
|
|
358, 307, 1,
|
|
409, 460, 1,
|
|
358, 430, 1,
|
|
409, 399, 1,
|
|
358, 368, 1,
|
|
307, 338, 1,
|
|
256, 307, 1,
|
|
307, 399, 1,
|
|
256, 430, 1,
|
|
307, 460, 1,
|
|
614, 460, 0,
|
|
562, 491, 1,
|
|
460, 491, 1,
|
|
358, 491, 1,
|
|
256, 491, 1,
|
|
409, 276, 1,
|
|
511, 276, 1,
|
|
307, 276, 1,
|
|
614, 31, 0,
|
|
614, 0, 0,
|
|
562, 0, 0,
|
|
562, 123, 1,
|
|
614, 92, 0,
|
|
511, 31, 1,
|
|
562, 61, 1,
|
|
460, 0, 0,
|
|
511, 0, 0,
|
|
460, 123, 1,
|
|
511, 92, 1,
|
|
511, 153, 1,
|
|
409, 31, 1,
|
|
460, 61, 1,
|
|
358, 0, 0,
|
|
409, 0, 0,
|
|
409, 92, 1,
|
|
358, 123, 1,
|
|
409, 153, 1,
|
|
307, 31, 1,
|
|
358, 61, 1,
|
|
256, 0, 0,
|
|
307, 0, 0,
|
|
256, 123, 1,
|
|
307, 92, 1,
|
|
307, 153, 1,
|
|
614, 153, 0,
|
|
562, 246, 1,
|
|
614, 215, 0,
|
|
562, 184, 1,
|
|
460, 246, 1,
|
|
511, 215, 1,
|
|
460, 184, 1,
|
|
358, 246, 1,
|
|
409, 215, 1,
|
|
358, 184, 1,
|
|
256, 246, 1,
|
|
307, 215, 1,
|
|
205, 583, 1,
|
|
0, 614, 0,
|
|
0, 583, 0,
|
|
51, 614, 0,
|
|
51, 553, 1,
|
|
102, 583, 1,
|
|
205, 522, 1,
|
|
153, 553, 1,
|
|
153, 614, 0,
|
|
102, 522, 1,
|
|
256, 368, 1,
|
|
205, 338, 1,
|
|
153, 307, 1,
|
|
153, 430, 1,
|
|
205, 399, 1,
|
|
205, 460, 1,
|
|
153, 368, 1,
|
|
102, 338, 1,
|
|
51, 307, 1,
|
|
51, 430, 1,
|
|
102, 399, 1,
|
|
102, 460, 1,
|
|
51, 368, 1,
|
|
0, 338, 0,
|
|
0, 460, 0,
|
|
153, 491, 1,
|
|
51, 491, 1,
|
|
153, 246, 1,
|
|
102, 276, 1,
|
|
205, 276, 1,
|
|
0, 276, 0,
|
|
51, 246, 1,
|
|
205, 31, 1,
|
|
256, 61, 1,
|
|
205, 0, 0,
|
|
153, 0, 0,
|
|
205, 153, 1,
|
|
205, 92, 1,
|
|
153, 123, 1,
|
|
102, 31, 1,
|
|
153, 61, 1,
|
|
102, 0, 0,
|
|
51, 0, 0,
|
|
51, 123, 1,
|
|
102, 92, 1,
|
|
102, 153, 1,
|
|
0, 31, 0,
|
|
51, 61, 1,
|
|
0, 153, 0,
|
|
256, 184, 1,
|
|
205, 215, 1,
|
|
153, 184, 1,
|
|
102, 215, 1,
|
|
51, 184, 1,
|
|
409, 614, 0,
|
|
614, 307, 0,
|
|
614, 276, 0,
|
|
511, 307, 1,
|
|
409, 307, 1,
|
|
307, 307, 1,
|
|
205, 614, 0,
|
|
0, 522, 0,
|
|
102, 614, 0,
|
|
205, 307, 1,
|
|
102, 307, 1,
|
|
0, 399, 0,
|
|
0, 307, 0,
|
|
0, 215, 0,
|
|
0, 92, 0,
|
|
0, 0, 0,
|
|
|
|
264,
|
|
8, 12, 13,
|
|
0, 1, 2,
|
|
3, 0, 2,
|
|
4, 0, 3,
|
|
5, 2, 6,
|
|
2, 5, 3,
|
|
7, 8, 9,
|
|
8, 7, 10,
|
|
11, 8, 10,
|
|
12, 8, 11,
|
|
9, 8, 13,
|
|
13, 14, 9,
|
|
14, 141, 9,
|
|
5, 6, 15,
|
|
5, 16, 3,
|
|
16, 5, 17,
|
|
17, 5, 15,
|
|
14, 15, 141,
|
|
15, 14, 17,
|
|
18, 14, 13,
|
|
14, 18, 17,
|
|
19, 142, 20,
|
|
19, 20, 23,
|
|
28, 27, 21,
|
|
21, 23, 22,
|
|
22, 41, 21,
|
|
20, 22, 23,
|
|
23, 24, 19,
|
|
21, 27, 23,
|
|
24, 23, 27,
|
|
25, 144, 24,
|
|
19, 24, 144,
|
|
24, 27, 30,
|
|
25, 24, 30,
|
|
26, 30, 27,
|
|
27, 28, 26,
|
|
36, 38, 97,
|
|
26, 34, 30,
|
|
29, 30, 34,
|
|
30, 29, 25,
|
|
25, 29, 145,
|
|
31, 145, 29,
|
|
31, 29, 35,
|
|
29, 34, 35,
|
|
32, 34, 26,
|
|
33, 35, 34,
|
|
34, 32, 33,
|
|
33, 38, 35,
|
|
35, 36, 31,
|
|
36, 35, 38,
|
|
37, 36, 97,
|
|
37, 146, 36,
|
|
31, 36, 146,
|
|
28, 16, 43,
|
|
38, 40, 39,
|
|
39, 97, 38,
|
|
40, 38, 33,
|
|
21, 41, 42,
|
|
41, 4, 42,
|
|
3, 42, 4,
|
|
42, 28, 21,
|
|
28, 42, 16,
|
|
3, 16, 42,
|
|
26, 28, 43,
|
|
17, 43, 16,
|
|
43, 32, 26,
|
|
32, 43, 18,
|
|
17, 18, 43,
|
|
33, 32, 44,
|
|
32, 18, 44,
|
|
13, 44, 18,
|
|
44, 40, 33,
|
|
13, 12, 44,
|
|
40, 44, 12,
|
|
39, 40, 45,
|
|
40, 12, 45,
|
|
48, 31, 146,
|
|
11, 45, 12,
|
|
25, 47, 144,
|
|
46, 25, 145,
|
|
47, 19, 144,
|
|
19, 143, 142,
|
|
31, 46, 145,
|
|
60, 59, 52,
|
|
49, 53, 55,
|
|
50, 49, 51,
|
|
51, 49, 55,
|
|
52, 55, 53,
|
|
53, 75, 52,
|
|
54, 55, 59,
|
|
52, 59, 55,
|
|
55, 54, 51,
|
|
54, 59, 62,
|
|
56, 54, 62,
|
|
57, 54, 56,
|
|
54, 57, 51,
|
|
58, 62, 59,
|
|
59, 60, 58,
|
|
68, 71, 63,
|
|
61, 62, 65,
|
|
58, 65, 62,
|
|
62, 61, 56,
|
|
61, 65, 69,
|
|
63, 61, 69,
|
|
64, 61, 63,
|
|
61, 64, 56,
|
|
65, 67, 66,
|
|
66, 69, 65,
|
|
67, 65, 58,
|
|
68, 69, 73,
|
|
69, 68, 63,
|
|
66, 73, 69,
|
|
68, 73, 120,
|
|
70, 68, 120,
|
|
71, 68, 70,
|
|
72, 120, 73,
|
|
73, 74, 72,
|
|
74, 73, 66,
|
|
75, 77, 78,
|
|
52, 75, 78,
|
|
76, 78, 77,
|
|
77, 143, 76,
|
|
76, 80, 78,
|
|
60, 78, 80,
|
|
78, 60, 52,
|
|
46, 83, 79,
|
|
58, 60, 81,
|
|
60, 80, 81,
|
|
79, 81, 80,
|
|
80, 47, 79,
|
|
47, 80, 76,
|
|
81, 67, 58,
|
|
67, 81, 83,
|
|
79, 83, 81,
|
|
66, 67, 84,
|
|
67, 83, 84,
|
|
82, 84, 83,
|
|
83, 46, 82,
|
|
84, 74, 66,
|
|
82, 86, 84,
|
|
74, 84, 86,
|
|
74, 86, 136,
|
|
72, 74, 136,
|
|
85, 136, 86,
|
|
86, 48, 85,
|
|
48, 86, 82,
|
|
25, 46, 79,
|
|
79, 47, 25,
|
|
82, 46, 31,
|
|
19, 47, 76,
|
|
76, 143, 19,
|
|
31, 48, 82,
|
|
37, 48, 146,
|
|
85, 48, 37,
|
|
10, 87, 11,
|
|
87, 10, 147,
|
|
92, 95, 149,
|
|
88, 89, 90,
|
|
89, 148, 91,
|
|
90, 89, 91,
|
|
91, 92, 90,
|
|
92, 149, 90,
|
|
93, 87, 94,
|
|
87, 93, 11,
|
|
94, 87, 95,
|
|
87, 147, 95,
|
|
95, 92, 94,
|
|
96, 92, 91,
|
|
92, 96, 94,
|
|
39, 101, 97,
|
|
97, 98, 37,
|
|
98, 97, 101,
|
|
99, 98, 103,
|
|
99, 150, 98,
|
|
37, 98, 150,
|
|
98, 101, 103,
|
|
100, 103, 101,
|
|
101, 102, 100,
|
|
102, 101, 39,
|
|
100, 107, 103,
|
|
103, 104, 99,
|
|
104, 103, 107,
|
|
105, 104, 109,
|
|
105, 151, 104,
|
|
99, 104, 151,
|
|
104, 107, 109,
|
|
106, 109, 107,
|
|
107, 108, 106,
|
|
108, 107, 100,
|
|
109, 110, 105,
|
|
106, 152, 109,
|
|
110, 109, 152,
|
|
105, 110, 153,
|
|
111, 152, 106,
|
|
11, 93, 45,
|
|
102, 45, 93,
|
|
45, 102, 39,
|
|
102, 93, 112,
|
|
100, 102, 112,
|
|
94, 112, 93,
|
|
112, 108, 100,
|
|
108, 112, 96,
|
|
94, 96, 112,
|
|
106, 108, 113,
|
|
108, 96, 113,
|
|
91, 113, 96,
|
|
91, 148, 113,
|
|
113, 111, 106,
|
|
111, 113, 148,
|
|
114, 116, 99,
|
|
99, 115, 114,
|
|
115, 99, 151,
|
|
99, 116, 150,
|
|
72, 124, 120,
|
|
116, 37, 150,
|
|
37, 116, 85,
|
|
117, 105, 153,
|
|
105, 115, 151,
|
|
105, 117, 118,
|
|
118, 115, 105,
|
|
119, 120, 124,
|
|
120, 119, 70,
|
|
119, 124, 127,
|
|
119, 121, 70,
|
|
121, 119, 122,
|
|
122, 119, 127,
|
|
123, 124, 72,
|
|
124, 123, 125,
|
|
125, 127, 124,
|
|
126, 127, 131,
|
|
127, 126, 122,
|
|
125, 131, 127,
|
|
126, 131, 134,
|
|
128, 126, 129,
|
|
129, 126, 134,
|
|
126, 128, 122,
|
|
136, 123, 72,
|
|
130, 134, 131,
|
|
131, 132, 130,
|
|
132, 131, 125,
|
|
133, 134, 155,
|
|
134, 133, 129,
|
|
130, 155, 134,
|
|
133, 156, 129,
|
|
135, 155, 130,
|
|
123, 136, 137,
|
|
85, 137, 136,
|
|
139, 115, 118,
|
|
123, 137, 138,
|
|
125, 123, 138,
|
|
114, 138, 137,
|
|
137, 116, 114,
|
|
116, 137, 85,
|
|
114, 139, 138,
|
|
132, 138, 139,
|
|
138, 132, 125,
|
|
132, 139, 140,
|
|
130, 132, 140,
|
|
115, 139, 114,
|
|
118, 140, 139,
|
|
135, 140, 154,
|
|
118, 154, 140,
|
|
140, 135, 130,
|
|
117, 154, 118,
|
|
};
|
|
|
|
/* ============================================================================================
|
|
: Wave basic point-polygon chain data.
|
|
=============================================================================================== */
|
|
extern short wave_pp_all[] = {
|
|
3, 1, 2, 3,
|
|
1, 1,
|
|
4, 1, 2, 4, 5,
|
|
6, 2, 3, 5, 14, 59, 62,
|
|
3, 3, 58, 59,
|
|
6, 4, 5, 13, 14, 15, 16,
|
|
2, 4, 13,
|
|
2, 6, 7,
|
|
6, 0, 6, 7, 8, 9, 10,
|
|
4, 6, 10, 11, 12,
|
|
4, 7, 8, 154, 155,
|
|
6, 8, 9, 77, 154, 163, 194,
|
|
6, 0, 9, 72, 73, 75, 77,
|
|
6, 0, 10, 11, 19, 70, 72,
|
|
6, 11, 12, 17, 18, 19, 20,
|
|
4, 13, 16, 17, 18,
|
|
6, 14, 15, 53, 61, 62, 64,
|
|
6, 15, 16, 18, 20, 64, 67,
|
|
6, 19, 20, 66, 67, 69, 70,
|
|
8, 21, 22, 27, 31, 80, 81, 149, 150,
|
|
3, 21, 22, 26,
|
|
6, 23, 24, 25, 28, 57, 60,
|
|
3, 24, 25, 26,
|
|
6, 22, 24, 26, 27, 28, 29,
|
|
6, 27, 29, 30, 31, 32, 33,
|
|
8, 30, 33, 39, 40, 78, 79, 146, 147,
|
|
6, 34, 35, 37, 44, 63, 65,
|
|
6, 23, 28, 29, 32, 34, 35,
|
|
6, 23, 35, 53, 60, 61, 63,
|
|
6, 38, 39, 40, 41, 42, 43,
|
|
6, 32, 33, 34, 37, 38, 39,
|
|
8, 41, 42, 48, 52, 76, 82, 148, 151,
|
|
6, 44, 46, 65, 66, 68, 69,
|
|
6, 45, 46, 47, 56, 68, 71,
|
|
6, 37, 38, 43, 44, 45, 46,
|
|
6, 42, 43, 45, 47, 48, 49,
|
|
6, 36, 48, 49, 50, 51, 52,
|
|
8, 50, 51, 152, 153, 170, 174, 214, 215,
|
|
6, 36, 47, 49, 54, 55, 56,
|
|
6, 54, 55, 74, 169, 178, 196,
|
|
6, 54, 56, 71, 73, 74, 75,
|
|
3, 25, 57, 58,
|
|
6, 57, 58, 59, 60, 61, 62,
|
|
6, 53, 63, 64, 65, 66, 67,
|
|
6, 68, 69, 70, 71, 72, 73,
|
|
6, 74, 75, 77, 194, 195, 196,
|
|
6, 79, 82, 125, 137, 146, 148,
|
|
6, 78, 80, 129, 130, 147, 149,
|
|
6, 76, 144, 145, 151, 152, 153,
|
|
3, 84, 85, 86,
|
|
1, 85,
|
|
4, 85, 86, 91, 95,
|
|
6, 83, 87, 88, 90, 119, 124,
|
|
3, 84, 87, 88,
|
|
6, 89, 91, 92, 93, 94, 95,
|
|
6, 84, 86, 87, 89, 90, 91,
|
|
4, 93, 94, 101, 105,
|
|
2, 94, 95,
|
|
6, 96, 97, 100, 108, 126, 131,
|
|
6, 83, 89, 90, 92, 96, 97,
|
|
6, 83, 97, 123, 124, 126, 127,
|
|
6, 99, 101, 102, 103, 104, 105,
|
|
6, 92, 93, 96, 99, 100, 101,
|
|
4, 98, 103, 104, 110,
|
|
2, 104, 105,
|
|
6, 99, 100, 102, 106, 107, 108,
|
|
6, 106, 107, 111, 117, 134, 138,
|
|
6, 106, 108, 131, 132, 134, 135,
|
|
6, 98, 109, 110, 112, 113, 114,
|
|
6, 102, 103, 107, 109, 110, 111,
|
|
4, 113, 114, 221, 223,
|
|
2, 98, 114,
|
|
6, 115, 116, 142, 213, 226, 236,
|
|
6, 109, 111, 112, 115, 116, 117,
|
|
6, 116, 117, 138, 140, 141, 142,
|
|
3, 88, 118, 119,
|
|
6, 120, 121, 122, 130, 149, 150,
|
|
3, 118, 120, 121,
|
|
6, 118, 119, 120, 122, 123, 124,
|
|
6, 125, 128, 129, 133, 146, 147,
|
|
6, 122, 123, 127, 128, 129, 130,
|
|
6, 126, 127, 128, 131, 132, 133,
|
|
6, 136, 137, 139, 145, 148, 151,
|
|
6, 125, 132, 133, 135, 136, 137,
|
|
6, 134, 135, 136, 138, 139, 140,
|
|
6, 143, 144, 153, 215, 246, 252,
|
|
6, 139, 140, 141, 143, 144, 145,
|
|
6, 154, 155, 162, 163, 164, 165,
|
|
1, 157,
|
|
3, 157, 158, 159,
|
|
4, 157, 159, 160, 161,
|
|
6, 158, 159, 160, 167, 205, 206,
|
|
6, 156, 160, 161, 166, 167, 168,
|
|
6, 162, 163, 194, 195, 197, 199,
|
|
6, 162, 164, 166, 168, 199, 202,
|
|
4, 156, 164, 165, 166,
|
|
6, 167, 168, 201, 202, 204, 205,
|
|
6, 36, 50, 55, 169, 170, 171,
|
|
6, 170, 171, 172, 173, 174, 175,
|
|
8, 172, 173, 180, 184, 209, 210, 211, 212,
|
|
6, 176, 177, 179, 188, 198, 200,
|
|
6, 169, 171, 175, 176, 177, 178,
|
|
6, 177, 178, 195, 196, 197, 198,
|
|
6, 172, 175, 176, 179, 180, 181,
|
|
6, 180, 181, 182, 183, 184, 185,
|
|
8, 182, 183, 189, 192, 216, 217, 218, 219,
|
|
6, 186, 187, 190, 193, 203, 207,
|
|
6, 179, 181, 185, 186, 187, 188,
|
|
6, 187, 188, 200, 201, 203, 204,
|
|
6, 182, 185, 186, 189, 190, 191,
|
|
3, 189, 191, 192,
|
|
3, 193, 207, 208,
|
|
6, 197, 198, 199, 200, 201, 202,
|
|
6, 203, 204, 205, 206, 207, 208,
|
|
6, 209, 210, 250, 251, 253, 258,
|
|
6, 210, 211, 217, 219, 247, 258,
|
|
6, 209, 212, 214, 215, 251, 252,
|
|
3, 216, 218, 263,
|
|
6, 218, 219, 247, 259, 261, 263,
|
|
6, 220, 221, 222, 223, 224, 225,
|
|
6, 112, 113, 115, 213, 220, 221,
|
|
2, 223, 224,
|
|
4, 224, 225, 230, 235,
|
|
6, 226, 227, 236, 245, 248, 249,
|
|
6, 213, 220, 222, 226, 227, 228,
|
|
6, 227, 228, 231, 239, 249, 255,
|
|
6, 229, 230, 232, 233, 234, 235,
|
|
6, 222, 225, 228, 229, 230, 231,
|
|
2, 233, 235,
|
|
4, 233, 234, 241, 243,
|
|
6, 237, 238, 242, 244, 257, 262,
|
|
6, 229, 231, 232, 237, 238, 239,
|
|
6, 238, 239, 254, 255, 256, 257,
|
|
3, 240, 241, 243,
|
|
6, 232, 234, 237, 240, 241, 242,
|
|
3, 244, 260, 262,
|
|
6, 141, 142, 143, 236, 245, 246,
|
|
6, 245, 246, 248, 250, 251, 252,
|
|
6, 248, 249, 250, 253, 254, 255,
|
|
6, 247, 253, 254, 256, 258, 259,
|
|
6, 256, 257, 259, 260, 261, 262,
|
|
2, 12, 17,
|
|
2, 21, 81,
|
|
3, 81, 121, 150,
|
|
4, 30, 31, 78, 80,
|
|
4, 40, 41, 79, 82,
|
|
4, 51, 52, 76, 152,
|
|
2, 155, 165,
|
|
3, 158, 206, 208,
|
|
2, 156, 161,
|
|
4, 173, 174, 212, 214,
|
|
4, 183, 184, 211, 217,
|
|
3, 190, 191, 193,
|
|
2, 192, 216,
|
|
3, 260, 261, 263,
|
|
3, 240, 242, 244,
|
|
1, 243,
|
|
};
|