Add LEVEL struc

This commit is contained in:
ABelliqueux 2021-04-15 18:18:39 +02:00
parent d722a7ebdb
commit 563ee40f28
12 changed files with 7542 additions and 2895 deletions

View File

@ -8,7 +8,7 @@ physics.c \
graphics.c \
psx.c \
space.c \
levels/level.c \
levels/level0.c \
levels/level1.c \
../common/crt0/crt0.s \
TIM/home.tim \
@ -22,7 +22,7 @@ TIM/bg_camPath_004.tim \
TIM/bg_camPath_005.tim \
OVERLAYSCRIPT ?= overlay.ld
OVERLAYSECTION ?= .ovly0 .ovly1
OVERLAYSECTION ?= .lvl0 .lvl1
# img2tim -t -bpp 8 -org 320 0 -plt 0 481 -o bg.tim bg.png

View File

@ -47,23 +47,23 @@ typedef struct MESH {
PRIM * index;
TIM_IMAGE * tim;
unsigned long * tim_data;
MATRIX * mat;
VECTOR * pos;
SVECTOR * rot;
short * isRigidBody;
short * isStaticBody;
short * isPrism;
short * isAnim;
short * isActor;
short * isLevel;
short * isBG;
short * isSprite;
long * p;
long * OTz;
BODY * body;
VANIM * anim;
MATRIX mat;
VECTOR pos;
SVECTOR rot;
short isRigidBody;
short isStaticBody;
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;
VECTOR pos2D;
} MESH;
typedef struct QUAD {
@ -114,3 +114,17 @@ typedef struct NODE {
CHILDREN * rigidbodies;
} NODE;
typedef struct LEVEL {
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;

View File

@ -7,11 +7,11 @@ void transformMesh(CAMERA * camera, MESH * mesh){
// Apply rotation matrix
RotMatrix_gte(mesh->rot, &mat);
RotMatrix_gte(&mesh->rot, &mat);
// Apply translation matrix
TransMatrix(&mat, mesh->pos);
TransMatrix(&mat, &mesh->pos);
// Compose matrix with cam
@ -44,13 +44,13 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
// If mesh is not part of precalculated background, draw them, else, discard
if ( !( *mesh->isBG ) || *camMode != 2) {
if ( !( mesh->isBG ) || *camMode != 2) {
poly = (POLY_GT3 *)*nextpri;
// If Vertex Anim flag is set, use it
if (*mesh->isAnim){
if (mesh->isAnim){
// If interpolation flag is set, use it
@ -137,9 +137,9 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
( long* ) &poly->x0, ( long* ) &poly->x1, ( long* ) &poly->x2,
mesh->p,
&mesh->p,
mesh->OTz,
&mesh->OTz,
Flag
);
@ -160,9 +160,9 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
( long* ) &poly->x0, ( long* ) &poly->x1, ( long* ) &poly->x2,
mesh->p,
&mesh->p,
mesh->OTz,
&mesh->OTz,
Flag
);
@ -184,9 +184,9 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
( long * ) &poly->x0, ( long * ) &poly->x1, ( long * ) &poly->x2,
mesh->p,
&mesh->p,
mesh->OTz,
&mesh->OTz,
Flag
);
@ -195,7 +195,7 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
// Do not draw invisible meshes
if ( nclip > 0 && *mesh->OTz > 0 && (*mesh->p < 4096) ) {
if ( nclip > 0 && mesh->OTz > 0 && (mesh->p < 4096) ) {
SetPolyGT3( poly );
@ -204,7 +204,7 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
// FIXME : Doesn't work with pre-rendered BGs
if ( *mesh->isPrism ) {
if ( mesh->isPrism ) {
// Transparency effect :
@ -266,7 +266,7 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
mesh->tim->crect->y);
}
if (*mesh->isSprite){
if ( mesh->isSprite ) {
SetShadeTex( poly, 1 );
@ -279,15 +279,15 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
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.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.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);
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vy ], &mesh->tmesh->c[ mesh->index[t].order.vy ], mesh->p, &outCol2);
// If transparent effect is in use, inhibate shadows
if (*mesh->isPrism){
if (mesh->isPrism){
// Use un-interpolated (i.e: no light, no fog) colors
@ -306,9 +306,9 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
setRGB2(poly, outCol2.r, outCol2.g, outCol2.b);
}
if ( (*mesh->OTz > 0) /*&& (*mesh->OTz < OTLEN)*/ && (*mesh->p < 4096) ) {
if ( (mesh->OTz > 0) /*&& (*mesh->OTz < OTLEN)*/ && (mesh->p < 4096) ) {
AddPrim(&ot[ *mesh->OTz-2 ], poly);
AddPrim(&ot[ mesh->OTz-2 ], poly);
}
//~ mesh->pos2D.vx = *(&poly->x0);
@ -336,13 +336,13 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
// if mesh is not part of BG, draw them, else, discard
if ( !(*mesh->isBG) || *camMode != 2 ) {
if ( !(mesh->isBG) || *camMode != 2 ) {
poly4 = (POLY_GT4 *)*nextpri;
// Vertex Anim
if (*mesh->isAnim){
if (mesh->isAnim){
// with interpolation
@ -420,9 +420,9 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
( long* )&poly4->x0, ( long* )&poly4->x1, ( long* )&poly4->x2, ( long* )&poly4->x3,
mesh->p,
&mesh->p,
mesh->OTz,
&mesh->OTz,
Flag
@ -444,9 +444,9 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
( long* )&poly4->x0, ( long* )&poly4->x1, ( long* )&poly4->x2, ( long* )&poly4->x3,
mesh->p,
&mesh->p,
mesh->OTz,
&mesh->OTz,
Flag
);
@ -469,15 +469,15 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
(long*)&poly4->x0, (long*)&poly4->x1, (long*)&poly4->x2, (long*)&poly4->x3,
mesh->p,
&mesh->p,
mesh->OTz,
&mesh->OTz,
Flag
);
}
if (nclip > 0 && *mesh->OTz > 0 && (*mesh->p < 4096)) {
if (nclip > 0 && mesh->OTz > 0 && (mesh->p < 4096)) {
SetPolyGT4(poly4);
@ -521,7 +521,7 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
// Transparency effect
if (*mesh->isPrism){
if (mesh->isPrism){
// Use current DRAWENV clip as TPAGE
@ -580,7 +580,7 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
}
if (*mesh->isSprite){
if (mesh->isSprite){
SetShadeTex( poly4, 1 );
@ -606,15 +606,15 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
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.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.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.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);
NormalColorDpq(&mesh->tmesh->n[ mesh->index[t].order.vy ], &mesh->tmesh->c[ mesh->index[t].order.vy ], mesh->p, &outCol3);
if (*mesh->isPrism){
if (mesh->isPrism){
setRGB0(poly4, mesh->tmesh->c[i].r, mesh->tmesh->c[i].g, mesh->tmesh->c[i].b);
@ -635,9 +635,9 @@ void drawPoly(MESH * mesh, long * Flag, int atime, int * camMode, char ** nextpr
setRGB3(poly4, outCol3.r, outCol3.g, outCol3.b);
}
if ( (*mesh->OTz > 0) /*&& (*mesh->OTz < OTLEN)*/ && (*mesh->p < 4096) ) {
if ( (mesh->OTz > 0) /*&& (*mesh->OTz < OTLEN)*/ && (mesh->p < 4096) ) {
AddPrim( &ot[ *mesh->OTz-3 ], poly4 );
AddPrim( &ot[ mesh->OTz-3 ], poly4 );
}
*nextpri += sizeof( POLY_GT4 );

View File

@ -1,686 +0,0 @@
#pragma once
#include "../custom_types.h"
extern CAMPOS level_camPos_camPath;
extern CAMPOS level_camPos_camPath_001;
extern CAMPOS level_camPos_camPath_002;
extern CAMPOS level_camPos_camPath_003;
extern CAMPOS level_camPos_camPath_004;
extern CAMPOS level_camPos_camPath_005;
extern CAMPATH level_camPath;
extern MATRIX level_lgtmat;
extern MATRIX level_cmat;
extern SVECTOR modelCube_mesh[];
extern SVECTOR level_modelCube_normal[];
extern SVECTOR level_modelCube_uv[];
extern CVECTOR level_modelCube_color[];
extern PRIM level_modelCube_index[];
extern MATRIX level_modelCube_matrix;
extern VECTOR level_modelCube_pos;
extern SVECTOR level_modelCube_rot;
extern short level_modelCube_isRigidBody;
extern short level_modelCube_isStaticBody;
extern short level_modelCube_isPrism;
extern short level_modelCube_isAnim;
extern short level_modelCube_isActor;
extern short level_modelCube_isLevel;
extern short level_modelCube_isBG;
extern short level_modelCube_isSprite;
extern long level_modelCube_p;
extern long level_modelCube_OTz;
extern BODY level_modelCube_body;
extern TMESH level_modelCube;
extern unsigned long _binary_TIM_cat_tim_start[];
extern unsigned long _binary_TIM_cat_tim_end[];
extern unsigned long _binary_TIM_cat_tim_length;
extern TIM_IMAGE tim_cat;
extern MESH level_meshCube;
extern SVECTOR modelCylindre_mesh[];
extern SVECTOR level_modelCylindre_normal[];
extern SVECTOR level_modelCylindre_uv[];
extern CVECTOR level_modelCylindre_color[];
extern PRIM level_modelCylindre_index[];
extern VANIM level_modelCylindre_anim;
extern MATRIX level_modelCylindre_matrix;
extern VECTOR level_modelCylindre_pos;
extern SVECTOR level_modelCylindre_rot;
extern short level_modelCylindre_isRigidBody;
extern short level_modelCylindre_isStaticBody;
extern short level_modelCylindre_isPrism;
extern short level_modelCylindre_isAnim;
extern short level_modelCylindre_isActor;
extern short level_modelCylindre_isLevel;
extern short level_modelCylindre_isBG;
extern short level_modelCylindre_isSprite;
extern long level_modelCylindre_p;
extern long level_modelCylindre_OTz;
extern BODY level_modelCylindre_body;
extern TMESH level_modelCylindre;
extern unsigned long _binary_TIM_home_tim_start[];
extern unsigned long _binary_TIM_home_tim_end[];
extern unsigned long _binary_TIM_home_tim_length;
extern TIM_IMAGE tim_home;
extern MESH level_meshCylindre;
extern SVECTOR modelgnd_mesh[];
extern SVECTOR level_modelgnd_normal[];
extern SVECTOR level_modelgnd_uv[];
extern CVECTOR level_modelgnd_color[];
extern PRIM level_modelgnd_index[];
extern MATRIX level_modelgnd_matrix;
extern VECTOR level_modelgnd_pos;
extern SVECTOR level_modelgnd_rot;
extern short level_modelgnd_isRigidBody;
extern short level_modelgnd_isStaticBody;
extern short level_modelgnd_isPrism;
extern short level_modelgnd_isAnim;
extern short level_modelgnd_isActor;
extern short level_modelgnd_isLevel;
extern short level_modelgnd_isBG;
extern short level_modelgnd_isSprite;
extern long level_modelgnd_p;
extern long level_modelgnd_OTz;
extern BODY level_modelgnd_body;
extern TMESH level_modelgnd;
extern MESH level_meshgnd;
extern SVECTOR modelgnd_001_mesh[];
extern SVECTOR level_modelgnd_001_normal[];
extern SVECTOR level_modelgnd_001_uv[];
extern CVECTOR level_modelgnd_001_color[];
extern PRIM level_modelgnd_001_index[];
extern MATRIX level_modelgnd_001_matrix;
extern VECTOR level_modelgnd_001_pos;
extern SVECTOR level_modelgnd_001_rot;
extern short level_modelgnd_001_isRigidBody;
extern short level_modelgnd_001_isStaticBody;
extern short level_modelgnd_001_isPrism;
extern short level_modelgnd_001_isAnim;
extern short level_modelgnd_001_isActor;
extern short level_modelgnd_001_isLevel;
extern short level_modelgnd_001_isBG;
extern short level_modelgnd_001_isSprite;
extern long level_modelgnd_001_p;
extern long level_modelgnd_001_OTz;
extern BODY level_modelgnd_001_body;
extern TMESH level_modelgnd_001;
extern MESH level_meshgnd_001;
extern SVECTOR modelgnd_003_mesh[];
extern SVECTOR level_modelgnd_003_normal[];
extern SVECTOR level_modelgnd_003_uv[];
extern CVECTOR level_modelgnd_003_color[];
extern PRIM level_modelgnd_003_index[];
extern MATRIX level_modelgnd_003_matrix;
extern VECTOR level_modelgnd_003_pos;
extern SVECTOR level_modelgnd_003_rot;
extern short level_modelgnd_003_isRigidBody;
extern short level_modelgnd_003_isStaticBody;
extern short level_modelgnd_003_isPrism;
extern short level_modelgnd_003_isAnim;
extern short level_modelgnd_003_isActor;
extern short level_modelgnd_003_isLevel;
extern short level_modelgnd_003_isBG;
extern short level_modelgnd_003_isSprite;
extern long level_modelgnd_003_p;
extern long level_modelgnd_003_OTz;
extern BODY level_modelgnd_003_body;
extern TMESH level_modelgnd_003;
extern MESH level_meshgnd_003;
extern SVECTOR modelgnd_002_mesh[];
extern SVECTOR level_modelgnd_002_normal[];
extern SVECTOR level_modelgnd_002_uv[];
extern CVECTOR level_modelgnd_002_color[];
extern PRIM level_modelgnd_002_index[];
extern MATRIX level_modelgnd_002_matrix;
extern VECTOR level_modelgnd_002_pos;
extern SVECTOR level_modelgnd_002_rot;
extern short level_modelgnd_002_isRigidBody;
extern short level_modelgnd_002_isStaticBody;
extern short level_modelgnd_002_isPrism;
extern short level_modelgnd_002_isAnim;
extern short level_modelgnd_002_isActor;
extern short level_modelgnd_002_isLevel;
extern short level_modelgnd_002_isBG;
extern short level_modelgnd_002_isSprite;
extern long level_modelgnd_002_p;
extern long level_modelgnd_002_OTz;
extern BODY level_modelgnd_002_body;
extern TMESH level_modelgnd_002;
extern MESH level_meshgnd_002;
extern SVECTOR modelobject_mesh[];
extern SVECTOR level_modelobject_normal[];
extern SVECTOR level_modelobject_uv[];
extern CVECTOR level_modelobject_color[];
extern PRIM level_modelobject_index[];
extern MATRIX level_modelobject_matrix;
extern VECTOR level_modelobject_pos;
extern SVECTOR level_modelobject_rot;
extern short level_modelobject_isRigidBody;
extern short level_modelobject_isStaticBody;
extern short level_modelobject_isPrism;
extern short level_modelobject_isAnim;
extern short level_modelobject_isActor;
extern short level_modelobject_isLevel;
extern short level_modelobject_isBG;
extern short level_modelobject_isSprite;
extern long level_modelobject_p;
extern long level_modelobject_OTz;
extern BODY level_modelobject_body;
extern TMESH level_modelobject;
extern MESH level_meshobject;
extern SVECTOR modelPlan_mesh[];
extern SVECTOR level_modelPlan_normal[];
extern SVECTOR level_modelPlan_uv[];
extern CVECTOR level_modelPlan_color[];
extern PRIM level_modelPlan_index[];
extern MATRIX level_modelPlan_matrix;
extern VECTOR level_modelPlan_pos;
extern SVECTOR level_modelPlan_rot;
extern short level_modelPlan_isRigidBody;
extern short level_modelPlan_isStaticBody;
extern short level_modelPlan_isPrism;
extern short level_modelPlan_isAnim;
extern short level_modelPlan_isActor;
extern short level_modelPlan_isLevel;
extern short level_modelPlan_isBG;
extern short level_modelPlan_isSprite;
extern long level_modelPlan_p;
extern long level_modelPlan_OTz;
extern BODY level_modelPlan_body;
extern TMESH level_modelPlan;
extern MESH level_meshPlan;
extern SVECTOR modelSphere_mesh[];
extern SVECTOR level_modelSphere_normal[];
extern SVECTOR level_modelSphere_uv[];
extern CVECTOR level_modelSphere_color[];
extern PRIM level_modelSphere_index[];
extern MATRIX level_modelSphere_matrix;
extern VECTOR level_modelSphere_pos;
extern SVECTOR level_modelSphere_rot;
extern short level_modelSphere_isRigidBody;
extern short level_modelSphere_isStaticBody;
extern short level_modelSphere_isPrism;
extern short level_modelSphere_isAnim;
extern short level_modelSphere_isActor;
extern short level_modelSphere_isLevel;
extern short level_modelSphere_isBG;
extern short level_modelSphere_isSprite;
extern long level_modelSphere_p;
extern long level_modelSphere_OTz;
extern BODY level_modelSphere_body;
extern TMESH level_modelSphere;
extern MESH level_meshSphere;
extern SVECTOR modelSphere_001_mesh[];
extern SVECTOR level_modelSphere_001_normal[];
extern SVECTOR level_modelSphere_001_uv[];
extern CVECTOR level_modelSphere_001_color[];
extern PRIM level_modelSphere_001_index[];
extern MATRIX level_modelSphere_001_matrix;
extern VECTOR level_modelSphere_001_pos;
extern SVECTOR level_modelSphere_001_rot;
extern short level_modelSphere_001_isRigidBody;
extern short level_modelSphere_001_isStaticBody;
extern short level_modelSphere_001_isPrism;
extern short level_modelSphere_001_isAnim;
extern short level_modelSphere_001_isActor;
extern short level_modelSphere_001_isLevel;
extern short level_modelSphere_001_isBG;
extern short level_modelSphere_001_isSprite;
extern long level_modelSphere_001_p;
extern long level_modelSphere_001_OTz;
extern BODY level_modelSphere_001_body;
extern TMESH level_modelSphere_001;
extern MESH level_meshSphere_001;
extern SVECTOR modelwall_mesh[];
extern SVECTOR level_modelwall_normal[];
extern SVECTOR level_modelwall_uv[];
extern CVECTOR level_modelwall_color[];
extern PRIM level_modelwall_index[];
extern MATRIX level_modelwall_matrix;
extern VECTOR level_modelwall_pos;
extern SVECTOR level_modelwall_rot;
extern short level_modelwall_isRigidBody;
extern short level_modelwall_isStaticBody;
extern short level_modelwall_isPrism;
extern short level_modelwall_isAnim;
extern short level_modelwall_isActor;
extern short level_modelwall_isLevel;
extern short level_modelwall_isBG;
extern short level_modelwall_isSprite;
extern long level_modelwall_p;
extern long level_modelwall_OTz;
extern BODY level_modelwall_body;
extern TMESH level_modelwall;
extern MESH level_meshwall;
extern SVECTOR modelwall_001_mesh[];
extern SVECTOR level_modelwall_001_normal[];
extern SVECTOR level_modelwall_001_uv[];
extern CVECTOR level_modelwall_001_color[];
extern PRIM level_modelwall_001_index[];
extern MATRIX level_modelwall_001_matrix;
extern VECTOR level_modelwall_001_pos;
extern SVECTOR level_modelwall_001_rot;
extern short level_modelwall_001_isRigidBody;
extern short level_modelwall_001_isStaticBody;
extern short level_modelwall_001_isPrism;
extern short level_modelwall_001_isAnim;
extern short level_modelwall_001_isActor;
extern short level_modelwall_001_isLevel;
extern short level_modelwall_001_isBG;
extern short level_modelwall_001_isSprite;
extern long level_modelwall_001_p;
extern long level_modelwall_001_OTz;
extern BODY level_modelwall_001_body;
extern TMESH level_modelwall_001;
extern MESH level_meshwall_001;
extern SVECTOR modelwall_002_mesh[];
extern SVECTOR level_modelwall_002_normal[];
extern SVECTOR level_modelwall_002_uv[];
extern CVECTOR level_modelwall_002_color[];
extern PRIM level_modelwall_002_index[];
extern MATRIX level_modelwall_002_matrix;
extern VECTOR level_modelwall_002_pos;
extern SVECTOR level_modelwall_002_rot;
extern short level_modelwall_002_isRigidBody;
extern short level_modelwall_002_isStaticBody;
extern short level_modelwall_002_isPrism;
extern short level_modelwall_002_isAnim;
extern short level_modelwall_002_isActor;
extern short level_modelwall_002_isLevel;
extern short level_modelwall_002_isBG;
extern short level_modelwall_002_isSprite;
extern long level_modelwall_002_p;
extern long level_modelwall_002_OTz;
extern BODY level_modelwall_002_body;
extern TMESH level_modelwall_002;
extern MESH level_meshwall_002;
extern SVECTOR modelwall_003_mesh[];
extern SVECTOR level_modelwall_003_normal[];
extern SVECTOR level_modelwall_003_uv[];
extern CVECTOR level_modelwall_003_color[];
extern PRIM level_modelwall_003_index[];
extern MATRIX level_modelwall_003_matrix;
extern VECTOR level_modelwall_003_pos;
extern SVECTOR level_modelwall_003_rot;
extern short level_modelwall_003_isRigidBody;
extern short level_modelwall_003_isStaticBody;
extern short level_modelwall_003_isPrism;
extern short level_modelwall_003_isAnim;
extern short level_modelwall_003_isActor;
extern short level_modelwall_003_isLevel;
extern short level_modelwall_003_isBG;
extern short level_modelwall_003_isSprite;
extern long level_modelwall_003_p;
extern long level_modelwall_003_OTz;
extern BODY level_modelwall_003_body;
extern TMESH level_modelwall_003;
extern MESH level_meshwall_003;
extern MESH * level_meshes[14];
extern int level_meshes_length;
extern CAMANGLE level_camAngle_camPath_001;
extern CAMANGLE * level_camAngles[0];
extern SIBLINGS level_nodegnd_003_siblings;
extern CHILDREN level_nodegnd_003_objects;
extern CHILDREN level_nodegnd_003_rigidbodies;
extern NODE level_nodegnd_003;
extern SIBLINGS level_nodegnd_001_siblings;
extern CHILDREN level_nodegnd_001_objects;
extern CHILDREN level_nodegnd_001_rigidbodies;
extern NODE level_nodegnd_001;
extern SIBLINGS level_nodegnd_002_siblings;
extern CHILDREN level_nodegnd_002_objects;
extern CHILDREN level_nodegnd_002_rigidbodies;
extern NODE level_nodegnd_002;
extern SIBLINGS level_nodegnd_siblings;
extern CHILDREN level_nodegnd_objects;
extern CHILDREN level_nodegnd_rigidbodies;
extern NODE level_nodegnd;
extern MESH * level_actorPtr;
extern MESH * level_levelPtr;
extern MESH * level_propPtr;
extern CAMANGLE * level_camPtr;
extern NODE * level_curNode;
extern NODE level_nodegnd_003;
extern NODE level_nodegnd_001;
extern NODE level_nodegnd_002;
extern NODE level_nodegnd;

File diff suppressed because it is too large Load Diff

324
levels/level0.h Normal file
View File

@ -0,0 +1,324 @@
#pragma once
#include "../custom_types.h"
extern LEVEL level0;
extern CAMPOS level0_camPos_camPath;
extern CAMPOS level0_camPos_camPath_001;
extern CAMPOS level0_camPos_camPath_002;
extern CAMPOS level0_camPos_camPath_003;
extern CAMPOS level0_camPos_camPath_004;
extern CAMPOS level0_camPos_camPath_005;
extern CAMPATH level0_camPath;
extern MATRIX level0_lgtmat;
extern MATRIX level0_cmat;
extern SVECTOR modelCube_mesh[];
extern SVECTOR level0_modelCube_normal[];
extern SVECTOR level0_modelCube_uv[];
extern CVECTOR level0_modelCube_color[];
extern PRIM level0_modelCube_index[];
extern BODY level0_modelCube_body;
extern TMESH level0_modelCube;
extern unsigned long _binary_TIM_cat_tim_start[];
extern unsigned long _binary_TIM_cat_tim_end[];
extern unsigned long _binary_TIM_cat_tim_length;
extern TIM_IMAGE level0_tim_cat;
extern MESH level0_meshCube;
extern SVECTOR modelCylindre_mesh[];
extern SVECTOR level0_modelCylindre_normal[];
extern SVECTOR level0_modelCylindre_uv[];
extern CVECTOR level0_modelCylindre_color[];
extern PRIM level0_modelCylindre_index[];
extern VANIM level0_modelCylindre_anim;
extern BODY level0_modelCylindre_body;
extern TMESH level0_modelCylindre;
extern unsigned long _binary_TIM_home_tim_start[];
extern unsigned long _binary_TIM_home_tim_end[];
extern unsigned long _binary_TIM_home_tim_length;
extern TIM_IMAGE level0_tim_home;
extern MESH level0_meshCylindre;
extern SVECTOR modelgnd_mesh[];
extern SVECTOR level0_modelgnd_normal[];
extern SVECTOR level0_modelgnd_uv[];
extern CVECTOR level0_modelgnd_color[];
extern PRIM level0_modelgnd_index[];
extern BODY level0_modelgnd_body;
extern TMESH level0_modelgnd;
extern MESH level0_meshgnd;
extern SVECTOR modelgnd_001_mesh[];
extern SVECTOR level0_modelgnd_001_normal[];
extern SVECTOR level0_modelgnd_001_uv[];
extern CVECTOR level0_modelgnd_001_color[];
extern PRIM level0_modelgnd_001_index[];
extern BODY level0_modelgnd_001_body;
extern TMESH level0_modelgnd_001;
extern MESH level0_meshgnd_001;
extern SVECTOR modelgnd_003_mesh[];
extern SVECTOR level0_modelgnd_003_normal[];
extern SVECTOR level0_modelgnd_003_uv[];
extern CVECTOR level0_modelgnd_003_color[];
extern PRIM level0_modelgnd_003_index[];
extern BODY level0_modelgnd_003_body;
extern TMESH level0_modelgnd_003;
extern MESH level0_meshgnd_003;
extern SVECTOR modelgnd_002_mesh[];
extern SVECTOR level0_modelgnd_002_normal[];
extern SVECTOR level0_modelgnd_002_uv[];
extern CVECTOR level0_modelgnd_002_color[];
extern PRIM level0_modelgnd_002_index[];
extern BODY level0_modelgnd_002_body;
extern TMESH level0_modelgnd_002;
extern MESH level0_meshgnd_002;
extern SVECTOR modelobject_mesh[];
extern SVECTOR level0_modelobject_normal[];
extern SVECTOR level0_modelobject_uv[];
extern CVECTOR level0_modelobject_color[];
extern PRIM level0_modelobject_index[];
extern BODY level0_modelobject_body;
extern TMESH level0_modelobject;
extern MESH level0_meshobject;
extern SVECTOR modelPlan_mesh[];
extern SVECTOR level0_modelPlan_normal[];
extern SVECTOR level0_modelPlan_uv[];
extern CVECTOR level0_modelPlan_color[];
extern PRIM level0_modelPlan_index[];
extern BODY level0_modelPlan_body;
extern TMESH level0_modelPlan;
extern MESH level0_meshPlan;
extern SVECTOR modelSphere_mesh[];
extern SVECTOR level0_modelSphere_normal[];
extern SVECTOR level0_modelSphere_uv[];
extern CVECTOR level0_modelSphere_color[];
extern PRIM level0_modelSphere_index[];
extern BODY level0_modelSphere_body;
extern TMESH level0_modelSphere;
extern MESH level0_meshSphere;
extern SVECTOR modelSphere_001_mesh[];
extern SVECTOR level0_modelSphere_001_normal[];
extern SVECTOR level0_modelSphere_001_uv[];
extern CVECTOR level0_modelSphere_001_color[];
extern PRIM level0_modelSphere_001_index[];
extern BODY level0_modelSphere_001_body;
extern TMESH level0_modelSphere_001;
extern MESH level0_meshSphere_001;
extern SVECTOR modelwall_mesh[];
extern SVECTOR level0_modelwall_normal[];
extern SVECTOR level0_modelwall_uv[];
extern CVECTOR level0_modelwall_color[];
extern PRIM level0_modelwall_index[];
extern BODY level0_modelwall_body;
extern TMESH level0_modelwall;
extern MESH level0_meshwall;
extern SVECTOR modelwall_001_mesh[];
extern SVECTOR level0_modelwall_001_normal[];
extern SVECTOR level0_modelwall_001_uv[];
extern CVECTOR level0_modelwall_001_color[];
extern PRIM level0_modelwall_001_index[];
extern BODY level0_modelwall_001_body;
extern TMESH level0_modelwall_001;
extern MESH level0_meshwall_001;
extern SVECTOR modelwall_002_mesh[];
extern SVECTOR level0_modelwall_002_normal[];
extern SVECTOR level0_modelwall_002_uv[];
extern CVECTOR level0_modelwall_002_color[];
extern PRIM level0_modelwall_002_index[];
extern BODY level0_modelwall_002_body;
extern TMESH level0_modelwall_002;
extern MESH level0_meshwall_002;
extern SVECTOR modelwall_003_mesh[];
extern SVECTOR level0_modelwall_003_normal[];
extern SVECTOR level0_modelwall_003_uv[];
extern CVECTOR level0_modelwall_003_color[];
extern PRIM level0_modelwall_003_index[];
extern BODY level0_modelwall_003_body;
extern TMESH level0_modelwall_003;
extern MESH level0_meshwall_003;
extern MESH * level0_meshes[14];
extern int level0_meshes_length;
extern CAMANGLE level0_camAngle_camPath_001;
extern CAMANGLE * level0_camAngles[0];
extern SIBLINGS level0_nodegnd_siblings;
extern CHILDREN level0_nodegnd_objects;
extern CHILDREN level0_nodegnd_rigidbodies;
extern NODE level0_nodegnd;
extern SIBLINGS level0_nodegnd_001_siblings;
extern CHILDREN level0_nodegnd_001_objects;
extern CHILDREN level0_nodegnd_001_rigidbodies;
extern NODE level0_nodegnd_001;
extern SIBLINGS level0_nodegnd_002_siblings;
extern CHILDREN level0_nodegnd_002_objects;
extern CHILDREN level0_nodegnd_002_rigidbodies;
extern NODE level0_nodegnd_002;
extern SIBLINGS level0_nodegnd_003_siblings;
extern CHILDREN level0_nodegnd_003_objects;
extern CHILDREN level0_nodegnd_003_rigidbodies;
extern NODE level0_nodegnd_003;
extern MESH * level0_actorPtr;
extern MESH * level0_levelPtr;
extern MESH * level0_propPtr;
extern CAMANGLE * level0_camPtr;
extern NODE * level0_curNode;
extern NODE level0_nodegnd;
extern NODE level0_nodegnd_001;
extern NODE level0_nodegnd_002;
extern NODE level0_nodegnd_003;

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,8 @@
#include "../custom_types.h"
extern LEVEL level1;
extern CAMPOS level1_camPos_camPath;
extern CAMPOS level1_camPos_camPath_001;
@ -30,32 +32,6 @@ extern CVECTOR level1_modelCube_color[];
extern PRIM level1_modelCube_index[];
extern MATRIX level1_modelCube_matrix;
extern VECTOR level1_modelCube_pos;
extern SVECTOR level1_modelCube_rot;
extern short level1_modelCube_isRigidBody;
extern short level1_modelCube_isStaticBody;
extern short level1_modelCube_isPrism;
extern short level1_modelCube_isAnim;
extern short level1_modelCube_isActor;
extern short level1_modelCube_isLevel;
extern short level1_modelCube_isBG;
extern short level1_modelCube_isSprite;
extern long level1_modelCube_p;
extern long level1_modelCube_OTz;
extern BODY level1_modelCube_body;
extern TMESH level1_modelCube;
@ -82,32 +58,6 @@ extern PRIM level1_modelCylindre_index[];
extern VANIM level1_modelCylindre_anim;
extern MATRIX level1_modelCylindre_matrix;
extern VECTOR level1_modelCylindre_pos;
extern SVECTOR level1_modelCylindre_rot;
extern short level1_modelCylindre_isRigidBody;
extern short level1_modelCylindre_isStaticBody;
extern short level1_modelCylindre_isPrism;
extern short level1_modelCylindre_isAnim;
extern short level1_modelCylindre_isActor;
extern short level1_modelCylindre_isLevel;
extern short level1_modelCylindre_isBG;
extern short level1_modelCylindre_isSprite;
extern long level1_modelCylindre_p;
extern long level1_modelCylindre_OTz;
extern BODY level1_modelCylindre_body;
extern TMESH level1_modelCylindre;
@ -132,32 +82,6 @@ extern CVECTOR level1_modelgnd_color[];
extern PRIM level1_modelgnd_index[];
extern MATRIX level1_modelgnd_matrix;
extern VECTOR level1_modelgnd_pos;
extern SVECTOR level1_modelgnd_rot;
extern short level1_modelgnd_isRigidBody;
extern short level1_modelgnd_isStaticBody;
extern short level1_modelgnd_isPrism;
extern short level1_modelgnd_isAnim;
extern short level1_modelgnd_isActor;
extern short level1_modelgnd_isLevel;
extern short level1_modelgnd_isBG;
extern short level1_modelgnd_isSprite;
extern long level1_modelgnd_p;
extern long level1_modelgnd_OTz;
extern BODY level1_modelgnd_body;
extern TMESH level1_modelgnd;
@ -174,32 +98,6 @@ extern CVECTOR level1_modelgnd_001_color[];
extern PRIM level1_modelgnd_001_index[];
extern MATRIX level1_modelgnd_001_matrix;
extern VECTOR level1_modelgnd_001_pos;
extern SVECTOR level1_modelgnd_001_rot;
extern short level1_modelgnd_001_isRigidBody;
extern short level1_modelgnd_001_isStaticBody;
extern short level1_modelgnd_001_isPrism;
extern short level1_modelgnd_001_isAnim;
extern short level1_modelgnd_001_isActor;
extern short level1_modelgnd_001_isLevel;
extern short level1_modelgnd_001_isBG;
extern short level1_modelgnd_001_isSprite;
extern long level1_modelgnd_001_p;
extern long level1_modelgnd_001_OTz;
extern BODY level1_modelgnd_001_body;
extern TMESH level1_modelgnd_001;
@ -216,32 +114,6 @@ extern CVECTOR level1_modelgnd_003_color[];
extern PRIM level1_modelgnd_003_index[];
extern MATRIX level1_modelgnd_003_matrix;
extern VECTOR level1_modelgnd_003_pos;
extern SVECTOR level1_modelgnd_003_rot;
extern short level1_modelgnd_003_isRigidBody;
extern short level1_modelgnd_003_isStaticBody;
extern short level1_modelgnd_003_isPrism;
extern short level1_modelgnd_003_isAnim;
extern short level1_modelgnd_003_isActor;
extern short level1_modelgnd_003_isLevel;
extern short level1_modelgnd_003_isBG;
extern short level1_modelgnd_003_isSprite;
extern long level1_modelgnd_003_p;
extern long level1_modelgnd_003_OTz;
extern BODY level1_modelgnd_003_body;
extern TMESH level1_modelgnd_003;
@ -258,38 +130,36 @@ extern CVECTOR level1_modelgnd_002_color[];
extern PRIM level1_modelgnd_002_index[];
extern MATRIX level1_modelgnd_002_matrix;
extern VECTOR level1_modelgnd_002_pos;
extern SVECTOR level1_modelgnd_002_rot;
extern short level1_modelgnd_002_isRigidBody;
extern short level1_modelgnd_002_isStaticBody;
extern short level1_modelgnd_002_isPrism;
extern short level1_modelgnd_002_isAnim;
extern short level1_modelgnd_002_isActor;
extern short level1_modelgnd_002_isLevel;
extern short level1_modelgnd_002_isBG;
extern short level1_modelgnd_002_isSprite;
extern long level1_modelgnd_002_p;
extern long level1_modelgnd_002_OTz;
extern BODY level1_modelgnd_002_body;
extern TMESH level1_modelgnd_002;
extern MESH level1_meshgnd_002;