Use per level ambient col, fix vertex dpq order
This commit is contained in:
parent
c709b177b4
commit
19fc815fc0
169
custom_types.h
169
custom_types.h
@ -16,66 +16,66 @@ struct NODE;
|
||||
struct QUAD;
|
||||
|
||||
typedef struct BODY {
|
||||
VECTOR gForce;
|
||||
VECTOR position;
|
||||
SVECTOR velocity;
|
||||
int mass;
|
||||
int invMass;
|
||||
VECTOR min;
|
||||
VECTOR max;
|
||||
int restitution;
|
||||
} BODY;
|
||||
VECTOR gForce;
|
||||
VECTOR position;
|
||||
SVECTOR velocity;
|
||||
int mass;
|
||||
int invMass;
|
||||
VECTOR min;
|
||||
VECTOR max;
|
||||
int restitution;
|
||||
} BODY;
|
||||
|
||||
typedef struct VANIM {
|
||||
int nframes; // number of frames e.g 20
|
||||
int nvert; // number of vertices e.g 21
|
||||
int cursor; // anim cursor
|
||||
int lerpCursor; // anim cursor
|
||||
int dir; // playback direction (1 or -1)
|
||||
int interpolate; // use lerp to interpolate keyframes
|
||||
SVECTOR data[]; // vertex pos as SVECTORs e.g 20 * 21 SVECTORS
|
||||
} VANIM;
|
||||
int nframes; // number of frames e.g 20
|
||||
int nvert; // number of vertices e.g 21
|
||||
int cursor; // anim cursor
|
||||
int lerpCursor; // anim cursor
|
||||
int dir; // playback direction (1 or -1)
|
||||
int interpolate; // use lerp to interpolate keyframes
|
||||
SVECTOR data[]; // vertex pos as SVECTORs e.g 20 * 21 SVECTORS
|
||||
} VANIM;
|
||||
|
||||
typedef struct PRIM {
|
||||
VECTOR order;
|
||||
int code; // Same as POL3/POL4 codes : Code (F3 = 1, FT3 = 2, G3 = 3,
|
||||
VECTOR order;
|
||||
int code; // Same as POL3/POL4 codes : Code (F3 = 1, FT3 = 2, G3 = 3,
|
||||
// GT3 = 4) Code (F4 = 5, FT4 = 6, G4 = 7, GT4 = 8)
|
||||
} PRIM;
|
||||
} PRIM;
|
||||
|
||||
typedef struct MESH {
|
||||
TMESH * tmesh;
|
||||
PRIM * index;
|
||||
TIM_IMAGE * tim;
|
||||
unsigned long * tim_data;
|
||||
MATRIX mat;
|
||||
VECTOR pos;
|
||||
SVECTOR rot;
|
||||
short isRigidBody;
|
||||
short isStaticBody;
|
||||
short isRound;
|
||||
short isPrism;
|
||||
short isAnim;
|
||||
short isActor;
|
||||
short isLevel;
|
||||
short isBG;
|
||||
short isSprite;
|
||||
long p;
|
||||
long OTz;
|
||||
BODY * body;
|
||||
VANIM * anim;
|
||||
struct NODE * node;
|
||||
VECTOR pos2D;
|
||||
} MESH;
|
||||
TMESH * tmesh;
|
||||
PRIM * index;
|
||||
TIM_IMAGE * tim;
|
||||
unsigned long * tim_data;
|
||||
MATRIX mat;
|
||||
VECTOR pos;
|
||||
SVECTOR rot;
|
||||
short isRigidBody;
|
||||
short isStaticBody;
|
||||
short isRound;
|
||||
short isPrism;
|
||||
short isAnim;
|
||||
short isActor;
|
||||
short isLevel;
|
||||
short isBG;
|
||||
short isSprite;
|
||||
long p;
|
||||
long OTz;
|
||||
BODY * body;
|
||||
VANIM * anim;
|
||||
struct NODE * node;
|
||||
VECTOR pos2D;
|
||||
} MESH;
|
||||
|
||||
typedef struct QUAD {
|
||||
VECTOR v0, v1;
|
||||
VECTOR v2, v3;
|
||||
} QUAD;
|
||||
VECTOR v0, v1;
|
||||
VECTOR v2, v3;
|
||||
} QUAD;
|
||||
|
||||
typedef struct CAMPOS {
|
||||
VECTOR pos;
|
||||
SVECTOR rot;
|
||||
} CAMPOS;
|
||||
VECTOR pos;
|
||||
SVECTOR rot;
|
||||
} CAMPOS;
|
||||
|
||||
|
||||
// Blender cam ~= PSX cam with these settings :
|
||||
@ -85,48 +85,49 @@ typedef struct CAMPOS {
|
||||
// Lower values mean wider angle
|
||||
|
||||
typedef struct CAMANGLE {
|
||||
CAMPOS * campos;
|
||||
TIM_IMAGE * BGtim;
|
||||
unsigned long * tim_data;
|
||||
QUAD bw, fw;
|
||||
int index;
|
||||
MESH * objects[];
|
||||
} CAMANGLE;
|
||||
CAMPOS * campos;
|
||||
TIM_IMAGE * BGtim;
|
||||
unsigned long * tim_data;
|
||||
QUAD bw, fw;
|
||||
int index;
|
||||
MESH * objects[];
|
||||
} CAMANGLE;
|
||||
|
||||
typedef struct CAMPATH {
|
||||
short len, cursor, pos;
|
||||
VECTOR points[];
|
||||
} CAMPATH;
|
||||
short len, cursor, pos;
|
||||
VECTOR points[];
|
||||
} CAMPATH;
|
||||
|
||||
typedef struct SIBLINGS {
|
||||
int index;
|
||||
struct NODE * list[];
|
||||
} SIBLINGS ;
|
||||
int index;
|
||||
struct NODE * list[];
|
||||
} SIBLINGS ;
|
||||
|
||||
typedef struct CHILDREN {
|
||||
int index;
|
||||
MESH * list[];
|
||||
} CHILDREN ;
|
||||
int index;
|
||||
MESH * list[];
|
||||
} CHILDREN ;
|
||||
|
||||
typedef struct NODE {
|
||||
MESH * plane;
|
||||
SIBLINGS * siblings;
|
||||
CHILDREN * objects;
|
||||
CHILDREN * rigidbodies;
|
||||
} NODE;
|
||||
MESH * plane;
|
||||
SIBLINGS * siblings;
|
||||
CHILDREN * objects;
|
||||
CHILDREN * rigidbodies;
|
||||
} NODE;
|
||||
|
||||
typedef struct LEVEL {
|
||||
CVECTOR * BGc;
|
||||
MATRIX * cmat;
|
||||
MATRIX * lgtmat;
|
||||
MESH ** meshes;
|
||||
int * meshes_length;
|
||||
MESH * actorPtr;
|
||||
MESH * levelPtr;
|
||||
MESH * propPtr;
|
||||
CAMANGLE * camPtr;
|
||||
CAMPATH * camPath;
|
||||
CAMANGLE ** camAngles;
|
||||
NODE * curNode;
|
||||
MESH * meshPlan; // This one is temporary
|
||||
} LEVEL;
|
||||
CVECTOR * BGc;
|
||||
VECTOR * BKc;
|
||||
MATRIX * cmat;
|
||||
MATRIX * lgtmat;
|
||||
MESH ** meshes;
|
||||
int * meshes_length;
|
||||
MESH * actorPtr;
|
||||
MESH * levelPtr;
|
||||
MESH * propPtr;
|
||||
CAMANGLE * camPtr;
|
||||
CAMPATH * camPath;
|
||||
CAMANGLE ** camAngles;
|
||||
NODE * curNode;
|
||||
MESH * meshPlan; // This one is temporary
|
||||
} LEVEL;
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "../custom_types.h"
|
||||
|
||||
// PSX setup
|
||||
void setLightEnv(DRAWENV draw[2], CVECTOR * BGc, VECTOR * BKc, MATRIX * cmat);
|
||||
void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * BG, VECTOR * BK );
|
||||
void ScrRst(void);
|
||||
void display(DISPENV * disp, DRAWENV * draw, u_long * otdisc, char * primbuff, char ** nextprim, char * db);
|
||||
|
@ -1,3 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
make && mkpsxiso -y config/OverlayExample.xml && prime-run pcsx-redux -run -iso OverlayExample.cue
|
||||
make && ~/bin/mkpsxiso -y config/OverlayExample.xml && pcsx-redux -run -iso OverlayExample.cue
|
||||
|
270
levels/ak/level0.c
Normal file
270
levels/ak/level0.c
Normal file
@ -0,0 +1,270 @@
|
||||
#include "level0.h"
|
||||
|
||||
CVECTOR level0_BGc = { 150, 218, 216, 0 };
|
||||
VECTOR level0_BKc = { 150, 218, 216, 0 };
|
||||
|
||||
CAMPOS level0_camPos_Camera = {
|
||||
{ -486,347,423 },
|
||||
{ 301,531,0 }
|
||||
};
|
||||
|
||||
CAMPATH level0_camPath = {
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
MATRIX level0_lgtmat = {
|
||||
0, 0, 0,
|
||||
0, 0, 0,
|
||||
0, 0, 0
|
||||
};
|
||||
|
||||
MATRIX level0_cmat = {
|
||||
0,0,0,
|
||||
0,0,0,
|
||||
0,0,0
|
||||
};
|
||||
|
||||
SVECTOR level0_modelCube_mesh[] = {
|
||||
{ 65,65,65 },
|
||||
{ 65,65,-65 },
|
||||
{ -65,65,-65 },
|
||||
{ -65,65,65 },
|
||||
{ 65,-65,65 },
|
||||
{ 65,-65,-65 },
|
||||
{ -65,-65,-65 },
|
||||
{ -65,-65,65 }
|
||||
};
|
||||
|
||||
SVECTOR level0_modelCube_normal[] = {
|
||||
-2365,-2365,-2365, 0,
|
||||
-2365,-2365,2365, 0,
|
||||
2365,-2365,2365, 0,
|
||||
2365,-2365,-2365, 0,
|
||||
-2365,2365,-2365, 0,
|
||||
-2365,2365,2365, 0,
|
||||
2365,2365,2365, 0,
|
||||
2365,2365,-2365, 0
|
||||
};
|
||||
|
||||
CVECTOR level0_modelCube_color[] = {
|
||||
255,0,172, 0,
|
||||
16,0,255, 0,
|
||||
33,255,0, 0,
|
||||
255,208,0, 0,
|
||||
229,30,196, 0,
|
||||
255,190,28, 0,
|
||||
255,223,81, 0,
|
||||
16,255,1, 0,
|
||||
255,245,91, 0,
|
||||
255,30,226, 0,
|
||||
16,255,1, 0,
|
||||
29,17,255, 0,
|
||||
16,0,255, 0,
|
||||
253,0,10, 0,
|
||||
255,0,8, 0,
|
||||
33,255,0, 0,
|
||||
33,255,0, 0,
|
||||
255,142,3, 0,
|
||||
255,132,3, 0,
|
||||
255,208,0, 0,
|
||||
37,255,0, 0,
|
||||
45,244,22, 0,
|
||||
255,43,33, 0,
|
||||
255,193,77, 0
|
||||
};
|
||||
|
||||
PRIM level0_modelCube_index[] = {
|
||||
0,1,2,3,8,
|
||||
4,7,6,5,8,
|
||||
0,4,5,1,8,
|
||||
1,5,6,2,8,
|
||||
2,6,7,3,8,
|
||||
4,0,3,7,8
|
||||
};
|
||||
|
||||
BODY level0_modelCube_body = {
|
||||
{0, 0, 0, 0},
|
||||
0,-130,23, 0,
|
||||
0,0,0, 0,
|
||||
1,
|
||||
ONE/1,
|
||||
-65,-65,-65, 0,
|
||||
65,65,65, 0,
|
||||
0,
|
||||
};
|
||||
|
||||
TMESH level0_modelCube = {
|
||||
level0_modelCube_mesh,
|
||||
level0_modelCube_normal,
|
||||
0,
|
||||
level0_modelCube_color,
|
||||
6
|
||||
};
|
||||
|
||||
MESH level0_meshCube = {
|
||||
&level0_modelCube,
|
||||
level0_modelCube_index,
|
||||
0,
|
||||
0,
|
||||
{0},
|
||||
{0,-130,23, 0},
|
||||
{0,0,0},
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
&level0_modelCube_body,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
SVECTOR level0_modelPlane_mesh[] = {
|
||||
{ -260,0,-260 },
|
||||
{ 260,0,-260 },
|
||||
{ -260,0,260 },
|
||||
{ 260,0,260 }
|
||||
};
|
||||
|
||||
SVECTOR level0_modelPlane_normal[] = {
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0
|
||||
};
|
||||
|
||||
CVECTOR level0_modelPlane_color[] = {
|
||||
255,37,10, 0,
|
||||
255,237,10, 0,
|
||||
255,37,10, 0,
|
||||
2,37,110, 0,
|
||||
};
|
||||
|
||||
PRIM level0_modelPlane_index[] = {
|
||||
0,1,3,2,8
|
||||
};
|
||||
|
||||
BODY level0_modelPlane_body = {
|
||||
{0, 0, 0, 0},
|
||||
0,0,0, 0,
|
||||
0,0,0, 0,
|
||||
1,
|
||||
ONE/1,
|
||||
-260,0,-260, 0,
|
||||
260,0,260, 0,
|
||||
0,
|
||||
};
|
||||
|
||||
TMESH level0_modelPlane = {
|
||||
level0_modelPlane_mesh,
|
||||
level0_modelPlane_normal,
|
||||
0,
|
||||
level0_modelPlane_color,
|
||||
1
|
||||
};
|
||||
|
||||
MESH level0_meshPlane = {
|
||||
&level0_modelPlane,
|
||||
level0_modelPlane_index,
|
||||
0,
|
||||
0,
|
||||
{0},
|
||||
{0,0,0, 0},
|
||||
{0,0,0},
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
&level0_modelPlane_body,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
MESH * level0_meshes[2] = {
|
||||
&level0_meshCube,
|
||||
&level0_meshPlane
|
||||
};
|
||||
|
||||
int level0_meshes_length = 2;
|
||||
|
||||
CAMANGLE level0_camAngle_Camera = {
|
||||
&level0_camPos_Camera,
|
||||
0,
|
||||
0,
|
||||
{ 0 },
|
||||
{ 0 },
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
CAMANGLE * level0_camAngles[0] = {
|
||||
};
|
||||
|
||||
SIBLINGS level0_nodePlane_siblings = {
|
||||
0,
|
||||
{
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
CHILDREN level0_nodePlane_objects = {
|
||||
0,
|
||||
{
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
CHILDREN level0_nodePlane_rigidbodies = {
|
||||
1,
|
||||
{
|
||||
&level0_meshCube
|
||||
}
|
||||
};
|
||||
|
||||
NODE level0_nodePlane = {
|
||||
&level0_meshPlane,
|
||||
&level0_nodePlane_siblings,
|
||||
&level0_nodePlane_objects,
|
||||
&level0_nodePlane_rigidbodies
|
||||
};
|
||||
|
||||
MESH * level0_actorPtr = &level0_meshCube;
|
||||
MESH * level0_levelPtr = &level0_meshPlane;
|
||||
MESH * level0_propPtr = &level0_meshCube;
|
||||
|
||||
CAMANGLE * level0_camPtr = &level0_camAngle_Camera;
|
||||
|
||||
NODE * level0_curNode = &level0_nodePlane;
|
||||
|
||||
LEVEL level0 = {
|
||||
&level0_BGc,
|
||||
&level0_BKc,
|
||||
&level0_cmat,
|
||||
&level0_lgtmat,
|
||||
(MESH **)&level0_meshes,
|
||||
&level0_meshes_length,
|
||||
&level0_meshCube,
|
||||
&level0_meshPlane,
|
||||
&level0_meshCube,
|
||||
&level0_camAngle_Camera,
|
||||
&level0_camPath,
|
||||
(CAMANGLE **)&level0_camAngles,
|
||||
&level0_nodePlane,
|
||||
};
|
73
levels/ak/level0.h
Normal file
73
levels/ak/level0.h
Normal file
@ -0,0 +1,73 @@
|
||||
#pragma once
|
||||
|
||||
#include "../custom_types.h"
|
||||
|
||||
extern LEVEL level0;
|
||||
|
||||
extern CVECTOR level0_BGc;
|
||||
|
||||
extern VECTOR level0_BKc;
|
||||
|
||||
extern CAMPOS level0_camPos_Camera;
|
||||
|
||||
extern CAMPATH level0_camPath;
|
||||
|
||||
extern MATRIX level0_lgtmat;
|
||||
|
||||
extern MATRIX level0_cmat;
|
||||
|
||||
extern SVECTOR modelCube_mesh[];
|
||||
|
||||
extern SVECTOR level0_modelCube_normal[];
|
||||
|
||||
extern CVECTOR level0_modelCube_color[];
|
||||
|
||||
extern PRIM level0_modelCube_index[];
|
||||
|
||||
extern BODY level0_modelCube_body;
|
||||
|
||||
extern TMESH level0_modelCube;
|
||||
|
||||
extern MESH level0_meshCube;
|
||||
|
||||
extern SVECTOR modelPlane_mesh[];
|
||||
|
||||
extern SVECTOR level0_modelPlane_normal[];
|
||||
|
||||
extern CVECTOR level0_modelPlane_color[];
|
||||
|
||||
extern PRIM level0_modelPlane_index[];
|
||||
|
||||
extern BODY level0_modelPlane_body;
|
||||
|
||||
extern TMESH level0_modelPlane;
|
||||
|
||||
extern MESH level0_meshPlane;
|
||||
|
||||
extern MESH * level0_meshes[2];
|
||||
|
||||
extern int level0_meshes_length;
|
||||
|
||||
extern CAMANGLE level0_camAngle_Camera;
|
||||
|
||||
extern CAMANGLE * level0_camAngles[0];
|
||||
|
||||
extern SIBLINGS level0_nodePlane_siblings;
|
||||
|
||||
extern CHILDREN level0_nodePlane_objects;
|
||||
|
||||
extern CHILDREN level0_nodePlane_rigidbodies;
|
||||
|
||||
extern NODE level0_nodePlane;
|
||||
|
||||
extern MESH * level0_actorPtr;
|
||||
|
||||
extern MESH * level0_levelPtr;
|
||||
|
||||
extern MESH * level0_propPtr;
|
||||
|
||||
extern CAMANGLE * level0_camPtr;
|
||||
|
||||
extern NODE * level0_curNode;
|
||||
|
||||
extern NODE level0_nodePlane;
|
878
levels/level0.c
878
levels/level0.c
@ -1,9 +1,11 @@
|
||||
#include "level0.h"
|
||||
|
||||
CVECTOR level0_BGc = { 0, 218, 216, 0 };
|
||||
CVECTOR level0_BGc = { 149, 218, 216, 0 };
|
||||
|
||||
VECTOR level0_BKc = { 0, 255, 255, 0 };
|
||||
|
||||
CAMPOS level0_camPos_Camera = {
|
||||
{ -486,347,423 },
|
||||
{ -770,459,623 },
|
||||
{ 301,531,0 }
|
||||
};
|
||||
|
||||
@ -14,7 +16,7 @@ CAMPATH level0_camPath = {
|
||||
};
|
||||
|
||||
MATRIX level0_lgtmat = {
|
||||
-2319, 3254, -894,
|
||||
-1919, 3254, 1581,
|
||||
0,0,0,
|
||||
0,0,0,
|
||||
|
||||
@ -27,52 +29,52 @@ MATRIX level0_cmat = {
|
||||
};
|
||||
|
||||
SVECTOR level0_modelCube_mesh[] = {
|
||||
{ 65,65,65 },
|
||||
{ 65,65,-65 },
|
||||
{ -65,65,-65 },
|
||||
{ -65,65,65 },
|
||||
{ 65,-65,65 },
|
||||
{ 65,-65,-65 },
|
||||
{ -65,-65,-65 },
|
||||
{ -65,-65,65 }
|
||||
{ -32,32,32 },
|
||||
{ 32,32,32 },
|
||||
{ 32,32,-33 },
|
||||
{ -33,32,-32 },
|
||||
{ -32,-32,33 },
|
||||
{ 33,-32,32 },
|
||||
{ 32,-32,-33 },
|
||||
{ -33,-32,-32 }
|
||||
};
|
||||
|
||||
SVECTOR level0_modelCube_normal[] = {
|
||||
2365,-2365,-2365, 0,
|
||||
-2365,-2365,-2365, 0,
|
||||
-2365,-2365,2365, 0,
|
||||
2365,-2365,2365, 0,
|
||||
2365,-2365,-2365, 0,
|
||||
2365,2365,-2365, 0,
|
||||
-2365,2365,-2365, 0,
|
||||
-2365,2365,2365, 0,
|
||||
2365,2365,2365, 0,
|
||||
2365,2365,-2365, 0
|
||||
2365,2365,2365, 0
|
||||
};
|
||||
|
||||
CVECTOR level0_modelCube_color[] = {
|
||||
255,0,172, 0,
|
||||
16,0,255, 0,
|
||||
33,255,0, 0,
|
||||
255,208,0, 0,
|
||||
229,30,196, 0,
|
||||
255,190,28, 0,
|
||||
255,223,81, 0,
|
||||
16,255,1, 0,
|
||||
255,245,91, 0,
|
||||
255,30,226, 0,
|
||||
16,255,1, 0,
|
||||
29,17,255, 0,
|
||||
16,0,255, 0,
|
||||
253,0,10, 0,
|
||||
255,0,8, 0,
|
||||
33,255,0, 0,
|
||||
33,255,0, 0,
|
||||
255,142,3, 0,
|
||||
255,132,3, 0,
|
||||
255,208,0, 0,
|
||||
37,255,0, 0,
|
||||
45,244,22, 0,
|
||||
255,43,33, 0,
|
||||
255,193,77, 0
|
||||
255,236,0, 0,
|
||||
255,237,0, 0,
|
||||
255,237,0, 0,
|
||||
255,235,0, 0,
|
||||
255,8,0, 0,
|
||||
255,2,0, 0,
|
||||
255,6,2, 0,
|
||||
254,3,0, 0,
|
||||
229,0,255, 0,
|
||||
229,0,255, 0,
|
||||
232,21,232, 0,
|
||||
229,0,255, 0,
|
||||
0,12,255, 0,
|
||||
5,16,250, 0,
|
||||
2,13,253, 0,
|
||||
0,12,255, 0,
|
||||
0,255,26, 0,
|
||||
4,251,25, 0,
|
||||
0,255,26, 0,
|
||||
0,255,26, 0,
|
||||
0,248,255, 0,
|
||||
0,248,255, 0,
|
||||
0,248,255, 0,
|
||||
0,248,255, 0
|
||||
};
|
||||
|
||||
PRIM level0_modelCube_index[] = {
|
||||
@ -86,12 +88,12 @@ PRIM level0_modelCube_index[] = {
|
||||
|
||||
BODY level0_modelCube_body = {
|
||||
{0, 0, 0, 0},
|
||||
0,-130,23, 0,
|
||||
0,0,0, 0,
|
||||
0,-236,23, 0,
|
||||
0,-1024,0, 0,
|
||||
1,
|
||||
ONE/1,
|
||||
-65,-65,-65, 0,
|
||||
65,65,65, 0,
|
||||
-33,-32,-33, 0,
|
||||
33,32,33, 0,
|
||||
0,
|
||||
};
|
||||
|
||||
@ -109,16 +111,17 @@ MESH level0_meshCube = {
|
||||
0,
|
||||
0,
|
||||
{0},
|
||||
{0,-130,23, 0},
|
||||
{0,0,0},
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
{0,-236,23, 0},
|
||||
{0,-1024,0},
|
||||
1, // isRigidBody
|
||||
0, // isStaticBody
|
||||
0, // isRound
|
||||
0, // isPrism
|
||||
0, // isAnim
|
||||
1, // isActor
|
||||
0, // isLevel
|
||||
0, // isBG
|
||||
0,// isSprite
|
||||
0,
|
||||
0,
|
||||
&level0_modelCube_body,
|
||||
@ -128,13 +131,247 @@ MESH level0_meshCube = {
|
||||
};
|
||||
|
||||
SVECTOR level0_modelPlane_mesh[] = {
|
||||
{ -260,0,-260 },
|
||||
{ 260,0,-260 },
|
||||
{ -260,0,260 },
|
||||
{ 260,0,260 }
|
||||
{ -520,0,-520 },
|
||||
{ 520,0,-520 },
|
||||
{ -520,0,520 },
|
||||
{ 520,0,520 },
|
||||
{ -520,0,312 },
|
||||
{ -520,0,104 },
|
||||
{ -520,0,-104 },
|
||||
{ -520,0,-312 },
|
||||
{ -312,0,-520 },
|
||||
{ -104,0,-520 },
|
||||
{ 104,0,-520 },
|
||||
{ 312,0,-520 },
|
||||
{ 520,0,-312 },
|
||||
{ 520,0,-104 },
|
||||
{ 520,0,104 },
|
||||
{ 520,0,312 },
|
||||
{ 312,0,520 },
|
||||
{ 104,0,520 },
|
||||
{ -104,0,520 },
|
||||
{ -312,0,520 },
|
||||
{ -312,0,-312 },
|
||||
{ -312,0,-104 },
|
||||
{ -312,0,104 },
|
||||
{ -312,0,312 },
|
||||
{ -104,0,-312 },
|
||||
{ -104,0,-104 },
|
||||
{ -104,0,104 },
|
||||
{ -104,0,312 },
|
||||
{ 104,0,-312 },
|
||||
{ 104,0,-104 },
|
||||
{ 104,0,104 },
|
||||
{ 104,0,312 },
|
||||
{ 312,0,-312 },
|
||||
{ 312,0,-104 },
|
||||
{ 312,0,104 },
|
||||
{ 312,0,312 },
|
||||
{ -520,0,-416 },
|
||||
{ 416,0,-520 },
|
||||
{ 520,0,416 },
|
||||
{ -416,0,520 },
|
||||
{ -520,0,416 },
|
||||
{ -520,0,208 },
|
||||
{ -520,0,0 },
|
||||
{ -520,0,-208 },
|
||||
{ -416,0,-520 },
|
||||
{ -208,0,-520 },
|
||||
{ 0,0,-520 },
|
||||
{ 208,0,-520 },
|
||||
{ 520,0,-416 },
|
||||
{ 520,0,-208 },
|
||||
{ 520,0,0 },
|
||||
{ 520,0,208 },
|
||||
{ 416,0,520 },
|
||||
{ 208,0,520 },
|
||||
{ 0,0,520 },
|
||||
{ -208,0,520 },
|
||||
{ -312,0,416 },
|
||||
{ -312,0,-416 },
|
||||
{ -312,0,-208 },
|
||||
{ -312,0,0 },
|
||||
{ -312,0,208 },
|
||||
{ -104,0,416 },
|
||||
{ -104,0,-416 },
|
||||
{ -104,0,-208 },
|
||||
{ -104,0,0 },
|
||||
{ -104,0,208 },
|
||||
{ 104,0,416 },
|
||||
{ 104,0,-416 },
|
||||
{ 104,0,-208 },
|
||||
{ 104,0,0 },
|
||||
{ 104,0,208 },
|
||||
{ 312,0,416 },
|
||||
{ 312,0,-416 },
|
||||
{ 312,0,-208 },
|
||||
{ 312,0,0 },
|
||||
{ 312,0,208 },
|
||||
{ -416,0,-312 },
|
||||
{ -416,0,-104 },
|
||||
{ -416,0,104 },
|
||||
{ -416,0,312 },
|
||||
{ -208,0,-312 },
|
||||
{ -208,0,-104 },
|
||||
{ -208,0,104 },
|
||||
{ -208,0,312 },
|
||||
{ 0,0,-312 },
|
||||
{ 0,0,-104 },
|
||||
{ 0,0,104 },
|
||||
{ 0,0,312 },
|
||||
{ 208,0,-312 },
|
||||
{ 208,0,-104 },
|
||||
{ 208,0,104 },
|
||||
{ 208,0,312 },
|
||||
{ 416,0,-312 },
|
||||
{ 416,0,-104 },
|
||||
{ 416,0,104 },
|
||||
{ 416,0,312 },
|
||||
{ 416,0,208 },
|
||||
{ 416,0,0 },
|
||||
{ 416,0,-208 },
|
||||
{ 416,0,-416 },
|
||||
{ 208,0,208 },
|
||||
{ 208,0,0 },
|
||||
{ 208,0,-208 },
|
||||
{ 208,0,-416 },
|
||||
{ 0,0,208 },
|
||||
{ 0,0,0 },
|
||||
{ 0,0,-208 },
|
||||
{ 0,0,-416 },
|
||||
{ -208,0,208 },
|
||||
{ -208,0,0 },
|
||||
{ -208,0,-208 },
|
||||
{ -208,0,-416 },
|
||||
{ -416,0,208 },
|
||||
{ -416,0,0 },
|
||||
{ -416,0,-208 },
|
||||
{ -416,0,-416 },
|
||||
{ 208,0,416 },
|
||||
{ 0,0,416 },
|
||||
{ -208,0,416 },
|
||||
{ -416,0,416 },
|
||||
{ 416,0,416 }
|
||||
};
|
||||
|
||||
SVECTOR level0_modelPlane_normal[] = {
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
0,4096,0, 0,
|
||||
@ -142,14 +379,509 @@ SVECTOR level0_modelPlane_normal[] = {
|
||||
};
|
||||
|
||||
CVECTOR level0_modelPlane_color[] = {
|
||||
255,37,10, 0,
|
||||
255,37,10, 0,
|
||||
255,37,10, 0,
|
||||
255,37,10, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
243,255,0, 0,
|
||||
240,252,3, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
243,255,0, 0,
|
||||
240,252,3, 0,
|
||||
0,14,255, 0,
|
||||
0,9,255, 0,
|
||||
225,236,19, 0,
|
||||
243,255,0, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
226,238,18, 0,
|
||||
225,237,19, 0,
|
||||
0,10,255, 0,
|
||||
0,8,255, 0,
|
||||
223,235,20, 0,
|
||||
243,255,0, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
251,1,14, 0,
|
||||
250,0,14, 0,
|
||||
76,6,181, 0,
|
||||
78,6,181, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,13,255, 0,
|
||||
0,8,255, 0,
|
||||
251,1,13, 0,
|
||||
251,1,13, 0,
|
||||
75,5,182, 0,
|
||||
77,5,180, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,12,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,16,255, 0,
|
||||
254,0,11, 0,
|
||||
254,0,11, 0,
|
||||
0,8,255, 0,
|
||||
4,9,251, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,10, 0,
|
||||
255,0,10, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,9,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,12,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,10, 0,
|
||||
255,0,10, 0,
|
||||
0,9,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,9,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,9,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,9,255, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
255,0,10, 0,
|
||||
255,0,10, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,10, 0,
|
||||
255,0,10, 0,
|
||||
0,8,255, 0,
|
||||
0,12,255, 0,
|
||||
255,0,10, 0,
|
||||
255,0,10, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,27,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,9,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
254,0,11, 0,
|
||||
255,0,10, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,10, 0,
|
||||
254,0,11, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
255,0,10, 0,
|
||||
255,0,10, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,10,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
75,5,182, 0,
|
||||
4,9,251, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
4,9,251, 0,
|
||||
0,8,255, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
251,1,13, 0,
|
||||
254,0,11, 0,
|
||||
4,9,251, 0,
|
||||
75,5,182, 0,
|
||||
0,13,255, 0,
|
||||
0,16,255, 0,
|
||||
254,0,11, 0,
|
||||
251,1,13, 0,
|
||||
0,16,255, 0,
|
||||
0,8,255, 0,
|
||||
254,0,11, 0,
|
||||
254,0,11, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,16,255, 0,
|
||||
0,13,255, 0,
|
||||
0,31,255, 0,
|
||||
0,31,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,31,255, 0,
|
||||
0,10,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,12,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
76,6,181, 0,
|
||||
77,5,180, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
77,5,180, 0,
|
||||
75,5,182, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
250,0,14, 0,
|
||||
251,1,13, 0,
|
||||
77,5,180, 0,
|
||||
76,6,181, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
251,1,13, 0,
|
||||
250,0,14, 0,
|
||||
0,8,255, 0,
|
||||
0,13,255, 0,
|
||||
251,1,13, 0,
|
||||
251,1,13, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,9,255, 0,
|
||||
0,12,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,12,255, 0,
|
||||
0,31,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,255,6, 0,
|
||||
0,255,6, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
74,5,184, 0,
|
||||
78,6,181, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
78,6,181, 0,
|
||||
76,6,181, 0,
|
||||
255,0,227, 0,
|
||||
255,0,227, 0,
|
||||
238,1,26, 0,
|
||||
251,1,14, 0,
|
||||
78,6,181, 0,
|
||||
74,5,184, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
251,1,14, 0,
|
||||
238,1,26, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
250,0,14, 0,
|
||||
251,1,14, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,25,255, 0,
|
||||
0,17,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,17,255, 0,
|
||||
0,9,255, 0,
|
||||
0,255,248, 0,
|
||||
0,255,248, 0,
|
||||
0,8,255, 0,
|
||||
0,10,255, 0,
|
||||
243,255,0, 0,
|
||||
226,238,18, 0,
|
||||
0,8,255, 0,
|
||||
0,9,255, 0,
|
||||
0,10,255, 0,
|
||||
0,8,255, 0,
|
||||
0,9,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,10,255, 0,
|
||||
0,9,255, 0,
|
||||
0,8,255, 0,
|
||||
225,237,19, 0,
|
||||
225,236,19, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,9,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,14,255, 0,
|
||||
243,255,0, 0,
|
||||
243,255,0, 0,
|
||||
0,8,255, 0,
|
||||
0,12,255, 0,
|
||||
0,14,255, 0,
|
||||
0,8,255, 0,
|
||||
0,12,255, 0,
|
||||
0,8,255, 0,
|
||||
0,9,255, 0,
|
||||
0,14,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
240,252,3, 0,
|
||||
243,255,0, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
240,252,3, 0,
|
||||
223,235,20, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0,
|
||||
0,8,255, 0
|
||||
};
|
||||
|
||||
PRIM level0_modelPlane_index[] = {
|
||||
0,1,3,2,8
|
||||
120,38,3,52,8,
|
||||
119,56,19,39,8,
|
||||
118,61,18,55,8,
|
||||
117,66,17,54,8,
|
||||
116,71,16,53,8,
|
||||
115,57,20,76,8,
|
||||
114,58,21,77,8,
|
||||
113,59,22,78,8,
|
||||
112,60,23,79,8,
|
||||
111,62,24,80,8,
|
||||
110,63,25,81,8,
|
||||
109,64,26,82,8,
|
||||
108,65,27,83,8,
|
||||
107,67,28,84,8,
|
||||
106,68,29,85,8,
|
||||
105,69,30,86,8,
|
||||
104,70,31,87,8,
|
||||
103,72,32,88,8,
|
||||
102,73,33,89,8,
|
||||
101,74,34,90,8,
|
||||
100,75,35,91,8,
|
||||
99,48,12,92,8,
|
||||
98,49,13,93,8,
|
||||
97,50,14,94,8,
|
||||
96,51,15,95,8,
|
||||
75,96,95,35,8,
|
||||
34,94,96,75,8,
|
||||
94,14,51,96,8,
|
||||
74,97,94,34,8,
|
||||
33,93,97,74,8,
|
||||
93,13,50,97,8,
|
||||
73,98,93,33,8,
|
||||
32,92,98,73,8,
|
||||
92,12,49,98,8,
|
||||
72,99,92,32,8,
|
||||
11,37,99,72,8,
|
||||
37,1,48,99,8,
|
||||
70,100,91,31,8,
|
||||
30,90,100,70,8,
|
||||
90,34,75,100,8,
|
||||
69,101,90,30,8,
|
||||
29,89,101,69,8,
|
||||
89,33,74,101,8,
|
||||
68,102,89,29,8,
|
||||
28,88,102,68,8,
|
||||
88,32,73,102,8,
|
||||
67,103,88,28,8,
|
||||
10,47,103,67,8,
|
||||
47,11,72,103,8,
|
||||
65,104,87,27,8,
|
||||
26,86,104,65,8,
|
||||
86,30,70,104,8,
|
||||
64,105,86,26,8,
|
||||
25,85,105,64,8,
|
||||
85,29,69,105,8,
|
||||
63,106,85,25,8,
|
||||
24,84,106,63,8,
|
||||
84,28,68,106,8,
|
||||
62,107,84,24,8,
|
||||
9,46,107,62,8,
|
||||
46,10,67,107,8,
|
||||
60,108,83,23,8,
|
||||
22,82,108,60,8,
|
||||
82,26,65,108,8,
|
||||
59,109,82,22,8,
|
||||
21,81,109,59,8,
|
||||
81,25,64,109,8,
|
||||
58,110,81,21,8,
|
||||
20,80,110,58,8,
|
||||
80,24,63,110,8,
|
||||
57,111,80,20,8,
|
||||
8,45,111,57,8,
|
||||
45,9,62,111,8,
|
||||
41,112,79,4,8,
|
||||
5,78,112,41,8,
|
||||
78,22,60,112,8,
|
||||
42,113,78,5,8,
|
||||
6,77,113,42,8,
|
||||
77,21,59,113,8,
|
||||
43,114,77,6,8,
|
||||
7,76,114,43,8,
|
||||
76,20,58,114,8,
|
||||
36,115,76,7,8,
|
||||
0,44,115,36,8,
|
||||
44,8,57,115,8,
|
||||
66,116,53,17,8,
|
||||
31,91,116,66,8,
|
||||
91,35,71,116,8,
|
||||
61,117,54,18,8,
|
||||
27,87,117,61,8,
|
||||
87,31,66,117,8,
|
||||
56,118,55,19,8,
|
||||
23,83,118,56,8,
|
||||
83,27,61,118,8,
|
||||
40,119,39,2,8,
|
||||
4,79,119,40,8,
|
||||
79,23,56,119,8,
|
||||
71,120,52,16,8,
|
||||
35,95,120,71,8,
|
||||
95,15,38,120,8
|
||||
};
|
||||
|
||||
BODY level0_modelPlane_body = {
|
||||
@ -158,8 +890,8 @@ BODY level0_modelPlane_body = {
|
||||
0,0,0, 0,
|
||||
1,
|
||||
ONE/1,
|
||||
-260,0,-260, 0,
|
||||
260,0,260, 0,
|
||||
-520,0,-520, 0,
|
||||
520,0,520, 0,
|
||||
0,
|
||||
};
|
||||
|
||||
@ -168,7 +900,7 @@ TMESH level0_modelPlane = {
|
||||
level0_modelPlane_normal,
|
||||
0,
|
||||
level0_modelPlane_color,
|
||||
1
|
||||
100
|
||||
};
|
||||
|
||||
MESH level0_meshPlane = {
|
||||
@ -179,14 +911,15 @@ MESH level0_meshPlane = {
|
||||
{0},
|
||||
{0,0,0, 0},
|
||||
{0,0,0},
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0, // isRigidBody
|
||||
0, // isStaticBody
|
||||
0, // isRound
|
||||
0, // isPrism
|
||||
0, // isAnim
|
||||
0, // isActor
|
||||
1, // isLevel
|
||||
0, // isBG
|
||||
0,// isSprite
|
||||
0,
|
||||
0,
|
||||
&level0_modelPlane_body,
|
||||
@ -253,6 +986,7 @@ NODE * level0_curNode = &level0_nodePlane;
|
||||
|
||||
LEVEL level0 = {
|
||||
&level0_BGc,
|
||||
&level0_BKc,
|
||||
&level0_cmat,
|
||||
&level0_lgtmat,
|
||||
(MESH **)&level0_meshes,
|
||||
|
@ -6,6 +6,8 @@ extern LEVEL level0;
|
||||
|
||||
extern CVECTOR level0_BGc;;
|
||||
|
||||
extern VECTOR level0_BKc;;
|
||||
|
||||
extern CAMPOS level0_camPos_Camera;
|
||||
|
||||
extern CAMPATH level0_camPath;
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
CVECTOR level1_BGc = {150, 50, 75, 0}; // Far color
|
||||
|
||||
VECTOR level1_BKc = {128, 128, 128, 0};
|
||||
|
||||
CAMPOS level1_camPos_camPath = {
|
||||
{ -205,156,-17 },
|
||||
{ 371,707,0 }
|
||||
@ -10007,7 +10009,7 @@ MESH level1_meshSphere_001 = {
|
||||
{0,0,0},
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
@ -10994,6 +10996,7 @@ NODE * level1_curNode = &level1_nodegnd_002;
|
||||
|
||||
LEVEL level1 = {
|
||||
&level1_BGc,
|
||||
&level1_BKc,
|
||||
&level1_cmat,
|
||||
&level1_lgtmat,
|
||||
(MESH**)&level1_meshes,
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
extern CVECTOR level1_BGc; // Far color
|
||||
|
||||
extern VECTOR level1_BKc;
|
||||
|
||||
extern LEVEL level1;
|
||||
|
||||
extern CAMPOS level1_camPos_camPath;
|
||||
|
@ -139,19 +139,19 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
|
||||
if ( mesh->isSprite ) {
|
||||
SetShadeTex( poly, 1 );
|
||||
}
|
||||
// Defaults depth color to neutral grey
|
||||
CVECTOR outCol = { 128,128,128,0 };
|
||||
CVECTOR outCol1 = { 128,128,128,0 };
|
||||
CVECTOR outCol2 = { 128,128,128,0 };
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vx ], &mesh->tmesh->c[ mesh->index[t].order.vx ], mesh->p, &outCol);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vz ], &mesh->tmesh->c[ mesh->index[t].order.vz ], mesh->p, &outCol1);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vy ], &mesh->tmesh->c[ mesh->index[t].order.vy ], mesh->p, &outCol2);
|
||||
// Init to 0
|
||||
CVECTOR outCol = { 0,0,0,0 };
|
||||
CVECTOR outCol1 = { 0,0,0,0 };
|
||||
CVECTOR outCol2 = { 0,0,0,0 };
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vx ], &mesh->tmesh->c[ i+0 ], mesh->p, &outCol);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vz ], &mesh->tmesh->c[ i+2 ], mesh->p, &outCol1);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vy ], &mesh->tmesh->c[ i+1 ], mesh->p, &outCol2);
|
||||
// If transparent effect is in use, inhibit shadows
|
||||
if (mesh->isPrism){
|
||||
// Use un-interpolated (i.e: no light, no fog) colors
|
||||
setRGB0(poly, mesh->tmesh->c[i].r, mesh->tmesh->c[i].g, mesh->tmesh->c[i].b);
|
||||
setRGB1(poly, mesh->tmesh->c[i+1].r, mesh->tmesh->c[i+1].g, mesh->tmesh->c[i+1].b);
|
||||
setRGB2(poly, mesh->tmesh->c[i+2].r, mesh->tmesh->c[i+2].g, mesh->tmesh->c[i+2].b);
|
||||
setRGB1(poly, mesh->tmesh->c[i+2].r, mesh->tmesh->c[i+2].g, mesh->tmesh->c[i+2].b);
|
||||
setRGB2(poly, mesh->tmesh->c[i+1].r, mesh->tmesh->c[i+1].g, mesh->tmesh->c[i+1].b);
|
||||
} else {
|
||||
setRGB0(poly, outCol.r, outCol.g , outCol.b);
|
||||
setRGB1(poly, outCol1.r, outCol1.g, outCol1.b);
|
||||
@ -325,24 +325,28 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
|
||||
mesh->tim->crect->y
|
||||
);
|
||||
}
|
||||
CVECTOR outCol = {128,128,128,0};
|
||||
CVECTOR outCol1 = {128,128,128,0};
|
||||
CVECTOR outCol2 = {128,128,128,0};
|
||||
CVECTOR outCol3 = {128,128,128,0};
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.pad ] , &mesh->tmesh->c[ mesh->index[t].order.pad ], mesh->p, &outCol);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vz ], &mesh->tmesh->c[ mesh->index[t].order.vz ], mesh->p, &outCol1);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vx ], &mesh->tmesh->c[ mesh->index[t].order.vx ], mesh->p, &outCol2);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vy ], &mesh->tmesh->c[ mesh->index[t].order.vy ], mesh->p, &outCol3);
|
||||
CVECTOR outCol = {0,0,0,0};
|
||||
CVECTOR outCol1 = {0,0,0,0};
|
||||
CVECTOR outCol2 = {0,0,0,0};
|
||||
CVECTOR outCol3 = {0,0,0,0};
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.pad ] , &mesh->tmesh->c[ i+3 ], mesh->p, &outCol);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vz ] , &mesh->tmesh->c[ i+2 ], mesh->p, &outCol1);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vx ] , &mesh->tmesh->c[ i+0 ], mesh->p, &outCol2);
|
||||
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vy ] , &mesh->tmesh->c[ i+1 ], mesh->p, &outCol3);
|
||||
if (mesh->isPrism){
|
||||
setRGB0(poly4, mesh->tmesh->c[i].r, mesh->tmesh->c[i].g, mesh->tmesh->c[i].b);
|
||||
setRGB1(poly4, mesh->tmesh->c[i+1].r, mesh->tmesh->c[i+1].g, mesh->tmesh->c[i+1].b);
|
||||
setRGB2(poly4, mesh->tmesh->c[i+2].r, mesh->tmesh->c[i+2].g, mesh->tmesh->c[i+2].b);
|
||||
setRGB3(poly4, mesh->tmesh->c[i+3].r, mesh->tmesh->c[i+3].g, mesh->tmesh->c[i+3].b);
|
||||
setRGB0(poly4, mesh->tmesh->c[i+3].r, mesh->tmesh->c[i+3].g, mesh->tmesh->c[i+3].b);
|
||||
setRGB1(poly4, mesh->tmesh->c[i+2].r, mesh->tmesh->c[i+2].g, mesh->tmesh->c[i+2].b);
|
||||
setRGB2(poly4, mesh->tmesh->c[i+0].r, mesh->tmesh->c[i+0].g, mesh->tmesh->c[i+0].b);
|
||||
setRGB3(poly4, mesh->tmesh->c[i+1].r, mesh->tmesh->c[i+1].g, mesh->tmesh->c[i+1].b);
|
||||
} else {
|
||||
setRGB0(poly4, outCol.r, outCol.g , outCol.b);
|
||||
setRGB1(poly4, outCol1.r, outCol1.g, outCol1.b);
|
||||
setRGB2(poly4, outCol2.r, outCol2.g, outCol2.b);
|
||||
setRGB3(poly4, outCol3.r, outCol3.g, outCol3.b);
|
||||
//~ setRGB0(poly4, mesh->tmesh->c[i+3].r, mesh->tmesh->c[i+3].g, mesh->tmesh->c[i+3].b);
|
||||
//~ setRGB1(poly4, mesh->tmesh->c[i+2].r, mesh->tmesh->c[i+2].g, mesh->tmesh->c[i+2].b);
|
||||
//~ setRGB2(poly4, mesh->tmesh->c[i+0].r, mesh->tmesh->c[i+0].g, mesh->tmesh->c[i+0].b);
|
||||
//~ setRGB3(poly4, mesh->tmesh->c[i+1].r, mesh->tmesh->c[i+1].g, mesh->tmesh->c[i+1].b);
|
||||
}
|
||||
if ( (mesh->OTz > 0) /*&& (*mesh->OTz < OTLEN)*/ && (mesh->p < 4096) ) {
|
||||
AddPrim( &ot[ mesh->OTz-3 ], poly4 );
|
||||
|
@ -38,7 +38,7 @@ u_long overlaySize = 0;
|
||||
|
||||
//FIXME : Refresh BGc, lightmatrix on ovly upload...
|
||||
|
||||
volatile u_char level = 1;
|
||||
volatile u_char level = 0;
|
||||
// level 1 : 8003F05C -2147225508
|
||||
// level 0 : 800AF744 -2146764988
|
||||
// 80010000 -2147418112 -> -2147483648
|
||||
@ -57,7 +57,7 @@ char primbuff[2][PRIMBUFFLEN] = {0}; // Primitive list // That's our
|
||||
int primcnt=0; // Primitive counter
|
||||
char * nextpri = primbuff[0]; // Primitive counter
|
||||
char db = 0; // Current buffer counter
|
||||
CVECTOR BGc = {50, 50, 75, 0}; // Far color
|
||||
CVECTOR BGc = {128, 128, 128, 0}; // Default Far color - This can be set in each level.
|
||||
VECTOR BKc = {128, 128, 128, 0}; // Back color
|
||||
MATRIX rotlgt;
|
||||
SVECTOR lgtang = {0, 0, 0};
|
||||
@ -94,6 +94,7 @@ MESH meshPlan = {0};
|
||||
VECTOR modelPlan_pos = {0};
|
||||
LEVEL curLvl = {
|
||||
&BGc,
|
||||
&BKc,
|
||||
&cmat,
|
||||
&lgtmat,
|
||||
(MESH **)&meshes,
|
||||
@ -146,7 +147,7 @@ int main() {
|
||||
//~ div3.pih = SCREENXRES;
|
||||
//~ div3.piv = SCREENYRES;
|
||||
//~ div3.ndiv = 1;
|
||||
init(disp, draw, db, curLvl.cmat, curLvl.BGc, &BKc);
|
||||
init(disp, draw, db, curLvl.cmat, curLvl.BGc, curLvl.BKc);
|
||||
InitPAD(controllers[0].pad, 34, controllers[1].pad, 34);
|
||||
StartPAD();
|
||||
generateTable();
|
||||
@ -210,6 +211,7 @@ int main() {
|
||||
LoadLevelCD( overlayFile, &load_all_overlays_here );
|
||||
#endif
|
||||
SwitchLevel( &curLvl, loadLvl);
|
||||
setLightEnv(draw, curLvl.BGc, curLvl.BKc, curLvl.cmat);
|
||||
//~ levelHasChanged = 0;
|
||||
levelWas = level;
|
||||
}
|
||||
|
27
src/psx.c
27
src/psx.c
@ -1,5 +1,17 @@
|
||||
#include "../include/psx.h"
|
||||
|
||||
void setLightEnv(DRAWENV draw[2], CVECTOR * BGc, VECTOR * BKc, MATRIX * cmat){
|
||||
// Set Draw area color
|
||||
setRGB0(&draw[0], BGc->r, BGc->g, BGc->b);
|
||||
setRGB0(&draw[1], BGc->r, BGc->g, BGc->b);
|
||||
// Set Farcolor from here
|
||||
//~ SetFarColor( BGc->r, BGc->g, BGc->b );
|
||||
// Set Ambient color
|
||||
SetBackColor( BKc->vx, BKc->vy, BKc->vz );
|
||||
// Set Light matrix
|
||||
SetColorMatrix(cmat);
|
||||
};
|
||||
|
||||
void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * BGc, VECTOR * BKc) {
|
||||
ResetCallback();
|
||||
// Init pad
|
||||
@ -24,8 +36,8 @@ void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * B
|
||||
disp[1].screen.y += 8;
|
||||
}
|
||||
// Set Draw area color
|
||||
setRGB0(&draw[0], BGc->r, BGc->g, BGc->b);
|
||||
setRGB0(&draw[1], BGc->r, BGc->g, BGc->b);
|
||||
setLightEnv(draw, BGc, BKc, cmat);
|
||||
|
||||
// Set Draw area clear flag
|
||||
draw[0].isbg = 1;
|
||||
draw[1].isbg = 1;
|
||||
@ -41,10 +53,12 @@ void init(DISPENV disp[2], DRAWENV draw[2], short db, MATRIX * cmat, CVECTOR * B
|
||||
FNT_SCR_BG,
|
||||
FNT_SCR_MAX_CHAR
|
||||
);
|
||||
// Lighting setup
|
||||
SetColorMatrix( cmat );
|
||||
SetBackColor( BKc->vx, BKc->vy, BKc->vz );
|
||||
SetFarColor( BGc->r, BGc->g, BGc->b );
|
||||
// TODO : Move these to level files
|
||||
SetFarColor( 128, 128, 128 );
|
||||
//~ // Set Ambient color
|
||||
//~ SetBackColor( BKc->vx, BKc->vy, BKc->vz );
|
||||
//~ // Set Light matrix
|
||||
//~ SetColorMatrix(cmat);
|
||||
SetFogNearFar( FOG_NEAR, FOG_FAR, SCREENXRES );
|
||||
};
|
||||
void ScrRst(void){
|
||||
@ -71,6 +85,7 @@ void display(DISPENV * disp, DRAWENV * draw, u_long * otdisc, char * primbuff, c
|
||||
};
|
||||
void LvlPtrSet(LEVEL * curLevel, LEVEL * level){
|
||||
curLevel->BGc = level->BGc;
|
||||
curLevel->BKc = level->BKc;
|
||||
curLevel->cmat = level->cmat;
|
||||
curLevel->lgtmat = level->lgtmat;
|
||||
curLevel->meshes = level->meshes;
|
||||
|
Loading…
Reference in New Issue
Block a user