diff --git a/3dcam-cosTable-lerp-atantable-psqrt-nodpq-quads.c b/3dcam-cosTable-lerp-atantable-psqrt-nodpq-quads.c deleted file mode 100644 index 2c6fa72..0000000 --- a/3dcam-cosTable-lerp-atantable-psqrt-nodpq-quads.c +++ /dev/null @@ -1,1256 +0,0 @@ -// 3dcam -// With huge help from @NicolasNoble : https://discord.com/channels/642647820683444236/646765703143227394/796876392670429204 - - - /* PSX screen coordinate system - * - * Z+ - * / - * / - * +------X+ - * /| - * / | - * / Y+ - * eye */ - -#include -#include -#include -#include -#include - -// Precalculated sin/cos values -//~ #include "psin.c" -//~ #include "pcos.c" -#include "atan.c" - -// Sample vector model -#include "coridor.c" -//~ #include "gnd.c" - -#define VMODE 0 - -#define SCREENXRES 320 -#define SCREENYRES 240 - -#define CENTERX SCREENXRES/2 -#define CENTERY SCREENYRES/2 - -#define OTLEN 256 // Maximum number of OT entries -#define PRIMBUFFLEN 2260 * sizeof(POLY_GT3) // Maximum number of POLY_GT3 primitives - -// atantable -#define SWAP(a,b,c) {(c)=(a); (a)=(b); (b)=(c);} // swap(x, y, buffer) - -// dotproduct of two vectors -#define dotProduct(v0, v1) \ - (v0).vx * (v1).vx + \ - (v0).vy * (v1).vy + \ - (v0).vz * (v1).vz - -// min value -#define min(a,b) \ - (a)-(b)>0?(b):(a) -// max -#define max(a,b) \ - (a)-(b)>0?(a):(b) - -#define subVector(v0, v1) \ - (v0).vx - (v1).vx, \ - (v0).vy - (v1).vy, \ - (v0).vz - (v1).vz - -//~ extern ushort rcossin_tbl[]; - -// Display and draw environments, double buffered -DISPENV disp[2]; -DRAWENV draw[2]; - -u_long ot[2][OTLEN] = {0}; // Ordering table (contains addresses to primitives) -char primbuff[2][PRIMBUFFLEN] = {0}; // Primitive list // That's our prim buffer - -//~ int primcnt=0; // Primitive counter - -char * nextpri = primbuff[0]; // Primitive counter - -char db = 0; // Current buffer counter - - -CVECTOR BGc = {50, 50, 75, 0}; -VECTOR BKc = {100, 100, 100, 0}; - -// Local color matrix - -//~ static MATRIX cmat = { -//~ /* light source #0, #1, #2, */ - //~ ONE, 0, 0, /* R */ - //~ 0, ONE, 0, /* G */ - //~ 0, 0, ONE, /* B */ -//~ }; - -//~ // local light matrix : Direction and reach of each light source. -//~ // Each light is aligned with the axis, hence direction is in the same coordinate system as the PSX (Y-axis down) -//~ // One == 4096 is reach/intensity of light source -//~ static MATRIX lgtmat = { -//~ // X Y Z - //~ ONE, 0, 0, // Light 0 - //~ 0,0,0, // Light 1 - //~ 0,0,0 // Light 2 -//~ }; - -// Light - -//~ MATRIX rottrans; -MATRIX rotlgt; -SVECTOR lgtang = {0, 0, 0}; -MATRIX light; - -//~ SVECTOR lgtang = {1024, -512, 1024}; - -static int m_cosTable[512]; // precalc costable -static const unsigned int DC_2PI = 2048; // this is from gere : https://github.com/grumpycoders/Balau/blob/master/tests/test-Handles.cc#L20-L102 -static const unsigned int DC_PI = 1024; -static const unsigned int DC_PI2 = 512; - -short vs; - -typedef struct{ - int x, xv; // x: current value += xv : new value - int y, yv; // x,y,z, vx, vy, vz are in PSX units (ONE == 4096) - int z, zv; - int pan, panv; - int tilt, tiltv; - int rol; - - VECTOR pos; - SVECTOR rot; - SVECTOR dvs; - - MATRIX mat; -} CAMERA; - -CAMERA camera = { - 0,0, - 0,0, - 0,0, - 0,0, - 0,0, - 0, - - {0,0,0}, - {0,0,0}, - {0,0,0} -}; - - -//~ //vertex anim - -//~ typedef struct { - //~ int nframes; // number of frames e.g 20 - //~ int nvert; // number of vertices e.g 21 - //~ SVECTOR data[]; // vertex pos as SVECTORs e.g 20 * 21 SVECTORS - //~ } VANIM; - - -//Pad -int pressed = 0; - -// Cam stuff -int camMode = 2; -long timeB = 0; - -u_long triCount = 0; - -// Prototypes - -// Sin/Cos Table -void generateTable(void); -int ncos(u_int t); -int nsin(u_int t); - -// Atan table -int patan(int x, int y); - -//sqrt -u_int psqrt(u_int n); - -// PSX setup -void init(void); -void display(void); - -// Utils -void LoadTexture(u_long * tim, TIM_IMAGE * tparam); -int cliptest3(short * v1); -int lerp(int start, int end, int factor); // FIXME : not working as it should -SVECTOR SVlerp(SVECTOR start, SVECTOR end, int factor); // FIXME - -// Camera -void getCameraXZ(int * x, int * z, int actorX, int actorZ, int angle, int distance); -void applyCamera(CAMERA * cam); -void setCameraPos(VECTOR pos, SVECTOR rot); - -// Physics -VECTOR getIntCollision(BODY one, BODY two); -VECTOR getExtCollision(BODY one, BODY two); -void ResolveCollision( BODY * one, BODY * two ); - - -void applyAcceleration(BODY * actor); - -void callback(); - -int main() { - - // Mesh stuff - - int i; - long t, p, OTz, OTc, Flag, nclip; // t == vertex count, p == depth cueing interpolation value, OTz == value to create Z-ordered OT, Flag == see LibOver47.pdf, p.143 - POLY_GT3 * poly; - - // Poly subdiv - DIVPOLYGON3 div = { 0 }; - div.pih = SCREENXRES; - div.piv = SCREENYRES; - - //~ CVECTOR outCol ={0,0,0,0}; - //~ CVECTOR outCol1 ={0,0,0,0}; - //~ CVECTOR outCol2 ={0,0,0,0}; - - MATRIX Cmatrix = {0}; - - init(); - - generateTable(); - - VSyncCallback(callback); - - //~ SetLightMatrix(&LLM); - SetColorMatrix(&cmat); - - SetBackColor(BKc.vx,BKc.vy,BKc.vz); - //~ SetFarColor(BGc.r, BGc.g, BGc.b); - SetFogNearFar(1200, 1600, SCREENXRES); - - for (int k = 0; k < sizeof(meshes)/sizeof(TMESH *); k++){ - LoadTexture(meshes[k]->tim_data, meshes[k]->tim); - } - - // physics - short physics = 1; - long time = 0; - - long dt; - - VECTOR col_lvl, col_sphere = {0}; - - // Actor start pos - - //~ modelobject_body.position.vx = modelobject_pos.vx = 50; - - // Cam stuff - - VECTOR posToActor = {0, 0, 0, 0}; // position of camera relative to actor - VECTOR theta = {0, 0, 0, 0}; // rotation angles for the camera to point at actor - - int angle = 0; //PSX units = 4096 == 360° = 2Pi - int dist = 0; //PSX units - - int lerping = 0; - - // Vertex anim - - //~ SVECTOR interpCache[5]; - SVECTOR a,b,c = {0,0,0,0}; - - short timediv = 1; - - int atime = 0; - - for (int k = 0; k < sizeof(meshes)/sizeof(meshes[0]); k++){ - triCount += meshes[k]->tmesh->len; - } - - // Main loop - while (1) { - //~ timeB = time; - time ++; - - timediv = 2; - - if (time % timediv == 0){ - atime ++; - } - - //~ timediv = 1; - - - - //~ // Physics - //~ if (time%2 == 0){ - - - // using libgte ratan (slower) - //~ theta.vy = -ratan2(posToActor.vx, posToActor.vz) ; - //~ theta.vx = 1024 - ratan2(dist, posToActor.vy); - - // using atantable (faster) - theta.vy = patan(posToActor.vx, posToActor.vz) / 16 - 1024 ; - theta.vx = patan(dist, posToActor.vy)/16; - - if(camMode != 2){ - - camera.rot.vy = theta.vy; - // using csin/ccos, no need for theta - //~ camera.rot.vy = angle; - camera.rot.vx = theta.vx; - - } - - if(camMode != 4){ - lerping = 0; - } - - if(camMode == 0){ // Camera follows actor with lerp for rotations - dist = 150; - camera.pos.vx = -(camera.x/ONE); - //~ camera.pos.vy = -(camera.y/ONE); - camera.pos.vz = -(camera.z/ONE); - - getCameraXZ(&camera.x, &camera.z, modelobject_pos.vx, modelobject_pos.vz, angle, dist); - - angle += lerp(camera.rot.vy, modelobject_rot.vy, 128); - - } - - if (camMode == 1){ // mode 1 : Camera rotates continuously - - dist = 150; - camera.pos.vx = -(camera.x/ONE); - //~ camera.pos.vy = -(camera.y/ONE); - camera.pos.vz = -(camera.z/ONE); - - getCameraXZ(&camera.x, &camera.z, modelobject_pos.vx, modelobject_pos.vz, angle, dist); - angle += 10; - } - - if (camMode == 3){ // mode 3 : Fixed Camera with actor tracking - - // Using libgte sqrt ( slower) - //~ dist = SquareRoot0( (posToActor.vx * posToActor.vx ) + (posToActor.vz * posToActor.vz) ); - - // Using precalc sqrt - dist = psqrt( (posToActor.vx * posToActor.vx ) + (posToActor.vz * posToActor.vz) ); - - camera.pos.vx = 290; - camera.pos.vz = 100; - camera.pos.vy = 180; - } - - if (camMode == 2){ // mode 2 : Fixed Camera - - setCameraPos(camStartPos.pos, camStartPos.rot); - - } - - if(camMode == 4){ // Flyby mode from camStart to camEnd - - if (!lerping){ - // Set cam start position - - camera.pos.vx = camPath.points[camPath.cursor].vx; - camera.pos.vy = camPath.points[camPath.cursor].vy; - camera.pos.vz = camPath.points[camPath.cursor].vz; - - lerping = 1; - } - - // Pre calculated sqrt ( see psqrt() ) - dist = psqrt( (posToActor.vx * posToActor.vx ) + (posToActor.vz * posToActor.vz) ); - - short r = camPath.points[camPath.cursor+1].vx - camera.pos.vx; - short s = camPath.points[camPath.cursor+1].vy - camera.pos.vy; - short t = camPath.points[camPath.cursor+1].vz - camera.pos.vz; - - // FIXME : the lerp function is incorrect - //~ camera.pos.vx += lerp(camPath.points[camPath.cursor].vx, camPath.points[camPath.cursor+1].vx, 64); - //~ camera.pos.vy += lerp(camPath.points[camPath.cursor].vy, camPath.points[camPath.cursor+1].vy, 64); - //~ camera.pos.vz += lerp(camPath.points[camPath.cursor].vz, camPath.points[camPath.cursor+1].vz, 64); - - // easeOut - camera.pos.vx += lerp(camera.pos.vx, camPath.points[camPath.cursor+1].vx, 128); - camera.pos.vy += lerp(camera.pos.vy, camPath.points[camPath.cursor+1].vy, 128); - camera.pos.vz += lerp(camera.pos.vz, camPath.points[camPath.cursor+1].vz, 128); - - //~ if ( camera.pos.vx <= camPath.points[camPath.cursor+1].vx || - //~ camera.pos.vy >= camPath.points[camPath.cursor+1].vy || - //~ camera.pos.vz <= camPath.points[camPath.cursor+1].vz){ - //~ camPath.cursor ++; - //~ } - - if ( camera.pos.vx + r == camPath.points[camPath.cursor+1].vx && - camera.pos.vy + s == camPath.points[camPath.cursor+1].vy && - camera.pos.vz + t == camPath.points[camPath.cursor+1].vz){ - camPath.cursor ++; - } - - if ( camPath.cursor == camPath.len - 1 ){ - lerping = 0; - camPath.cursor = 0; - } - - - } - - - //~ dt = time/180+1 - time/180; - if (physics){ - if(time%1 == 0){ - for ( int k = 0; k < sizeof(meshes)/sizeof(meshes[0]);k ++){ - - if ( *meshes[k]->isRigidBody == 1 ) { - - applyAcceleration(meshes[k]->body); - - //~ VECTOR col_lvl, col_sphere = {0}; - - // Get col with level ( modelgnd_body ) - col_lvl = getIntCollision( *meshes[k]->body , modelgnd_body ); - - col_sphere = getExtCollision( modelobject_body, modelSphere_body ); - - // If !col, keep moving - - if ( !col_lvl.vx ){ meshes[k]->pos->vx = meshes[k]->body->position.vx; } - - if ( !col_lvl.vy ){ meshes[k]->pos->vy = meshes[k]->body->position.vy; } // FIXME : Why the 15px offset ? - - if ( !col_lvl.vz ){ meshes[k]->pos->vz = meshes[k]->body->position.vz; } - - // If col with wall, change direction - - if ( col_lvl.vx ) { meshes[k]->body->gForce.vx *= -1; } - - if ( col_lvl.vy ) { - //~ meshes[k]->body->gForce.vy *= -1; - - } - - if ( col_lvl.vz ) { meshes[k]->body->gForce.vz *= -1; } - - // If col, reset velocity - - //~ if ( col_lvl.vx || - //~ col_lvl.vy || - //~ col_lvl.vz - //~ ) { - //~ meshes[k]->body->velocity.vy = meshes[k]->body->velocity.vz = 0; - //~ } - - ResolveCollision( &modelobject_body, &modelSphere_body); - //~ FntPrint("Vel: %d\n", modelSphere_body.velocity.vx); - if (col_sphere.vx){ - - int w = (ONE / (( modelSphere_body.velocity.vx * ONE ) / ( (modelSphere_body.max.vx - modelSphere_body.min.vx) / 2 ))) ; - - if (modelSphere_body.velocity.vx){ - - //~ int w = (ONE / (( modelSphere_body.velocity.vx * ONE ) / ( (modelSphere_body.max.vx - modelSphere_body.min.vx) / 2 ))) * modelSphere_body.velocity.vx ; - //~ FntPrint("W %d\n",w); - FntPrint("Vel %d\n",modelSphere_body.velocity.vx); - - modelSphere_rot.vz += w; - - //~ if ( col_sphere.vx ) { - //~ meshes[k]->body->gForce.vx *= -1; - //modelSphere_body.gForce.vx = -meshes[k]->body->gForce.vx/4; //~ ResolveCollision(&modelobject_body, &modelSphere_body); - //~ } - } - } - - if (!col_sphere.vx){ - modelSphere_body.velocity.vx = 0; - } - - //~ if (w && !modelSphere_body.velocity.vx) - //~ { - //~ FntPrint("W %d\n",w); - //~ w --; - //~ } - - - //~ if ( col_sphere.vz ) { meshes[k]->body->gForce.vz *= -1; } - //~ if ( col_sphere.vy ) { meshes[k]->body->gForce.vy *= -1; } - - //~ if (modelSphere_body.gForce.vx){modelSphere_body.gForce.vx -= 5;} - meshes[k]->pos->vx = meshes[k]->body->position.vx; - //~ meshes[k]->pos->vy = meshes[k]->body->position.vy ; - meshes[k]->pos->vz = meshes[k]->body->position.vz; - - - } - meshes[k]->body->velocity.vy = meshes[k]->body->velocity.vx = meshes[k]->body->velocity.vz = 0; - - } - } - } - // Camera setup - - - // position of cam relative to actor - posToActor.vx = modelobject_pos.vx + camera.pos.vx; - posToActor.vz = modelobject_pos.vz + camera.pos.vz; - posToActor.vy = modelobject_pos.vy + camera.pos.vy; - - // find dist between actor and cam - //~ dist = csqrt((posToActor.vx * posToActor.vx * 4096) + (posToActor.vz * posToActor.vz * 4096)); - //~ dist = SquareRoot0( (posToActor.vx * posToActor.vx ) + (posToActor.vz * posToActor.vz) ); - - // find angles between cam and actor - //~ theta.vy = ratan2(posToActor.vx, posToActor.vz); - //~ theta.vx = 1024 - ratan2(dist, posToActor.vy); - - //~ camera.rot.vy = - theta.vy; - // using csin/ccos, no need for theta - // camera.rot.vy = angle; - //~ camera.rot.vx = theta.vx; - - //~ applyCamera(&camera); - - // Clear the current OT - ClearOTagR(ot[db], OTLEN); - - - - for (int k = 0; k < sizeof(meshes)/sizeof(meshes[0]); k++){ - - // Render the sample vector model - t=0; - - // If rigidbdy, apply rot/transform matrix - if (*meshes[k]->isRigidBody){ - - //~ PushMatrix(); // Push current matrix on the stack (real slow -> dma transfer ) - - RotMatrix_gte(meshes[k]->rot, meshes[k]->mat); // Apply rotation matrix - - TransMatrix(meshes[k]->mat, meshes[k]->pos); // Apply translation matrix - - CompMatrix(&camera.mat, meshes[k]->mat, meshes[k]->mat); // Was using &PolyMatrix instead of meshes[k]->mat - - SetRotMatrix(meshes[k]->mat); // Set default rotation matrix - Was using &PolyMatrix instead of meshes[k]->mat - SetTransMatrix(meshes[k]->mat); // Was using &PolyMatrix instead of meshes[k]->mat - - } - - - - // modelCube is a TMESH, len member == # vertices, but here it's # of triangle... So, for each tri * 3 vertices ... - if (meshes[k]->index[t].code == 4) { - - for (i = 0; i < (meshes[k]->tmesh->len * 3); i += 3) { - - poly = (POLY_GT3 *)nextpri; - - // If Vertex Anim flag - if (*meshes[k]->isAnim){ - - // FIXME : SLERP VERTEX ANIM - - //~ SVECTOR a,b,c = {0,0,0,0}; - - //~ for (int f = 0; f < 5; f++){ - //~ interpCache[f] = SVlerp( (SVECTOR) meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t]], (SVECTOR) meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t]], 2048); - //~ interpCache[f+1] = SVlerp( (SVECTOR) meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t]], (SVECTOR) meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t]], 2048); - //~ interpCache[f+2] = SVlerp( (SVECTOR) meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t]], (SVECTOR) meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t]], 2048); - - //~ } - - //~ SVECTOR start = meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t]]; - - //~ SVECTOR end = meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t]]; - //~ if (a.vx != 0 && b.vx != 0 && c.vx != 0){ - //~ SVECTOR d,e,f; - - //~ d = SVlerp( (SVECTOR) a, (SVECTOR) meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t]], 2048); - //~ e = SVlerp( (SVECTOR) b, (SVECTOR) meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t+1]], 2048); - //~ f = SVlerp( (SVECTOR) c, (SVECTOR) meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t+2]], 2048); - - //~ addVector( &a , &d ); - //~ addVector( &b , &e ); - //~ addVector( &c , &f ); - //~ } else { - //~ a = (SVECTOR) meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t]]; - //~ b = (SVECTOR) meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t+1]]; - //~ c = (SVECTOR) meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t+2]]; - //~ } - //~ a.vx = lerp(start.vx, end.vx, 2048); - //~ a.vy = lerp(meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t]].vy, meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t]].vy, 2048); - //~ a.vz = lerp(meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t]].vz, meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t]].vz, 2048); - - //~ b = meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t+1]]; - //~ c = meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t+2]]; - //~ SVlerp(meshes[k]->anim->data[ 0 * modelCylindre_anim.nvert + meshes[k]->index[t]], meshes[k]->anim->data[ 10 * modelCylindre_anim.nvert + meshes[k]->index[t]],64, a); - //~ SVlerp(meshes[k]->anim->data[ 0 * modelCylindre_anim.nvert + meshes[k]->index[t+1]], meshes[k]->anim->data[ 10 * modelCylindre_anim.nvert + meshes[k]->index[t+1]],64, b); - //~ SVlerp(meshes[k]->anim->data[ 0 * modelCylindre_anim.nvert + meshes[k]->index[t+2]], meshes[k]->anim->data[ 10 * modelCylindre_anim.nvert + meshes[k]->index[t+2]],64, c); - - //~ FntPrint("%d %d %d\n", meshes[k]->anim->data[0 * modelCylindre_anim.nvert + meshes[k]->index[t]].vz, meshes[k]->anim->data[10 * modelCylindre_anim.nvert + meshes[k]->index[t]].vz, a.vz); - - //~ FntPrint("%d %d %d\n", c.vx, c.vy, c.vz); - - //~ FntPrint("%d %d %d\n", a.vx, b.vx, c.vx); - - // Rotate, translate, and project the vectors and output the results into a primitive - - //~ OTz = RotTransPers(&meshes[k]->tmesh->v[meshes[k]->index[t]] , (long*)&poly->x0, meshes[k]->p, &Flag); - //~ OTz += RotTransPers(&meshes[k]->tmesh->v[meshes[k]->index[t+1]], (long*)&poly->x1, meshes[k]->p, &Flag); - //~ OTz += RotTransPers(&meshes[k]->tmesh->v[meshes[k]->index[t+2]], (long*)&poly->x2, meshes[k]->p, &Flag); - - // Use anim vertex's positions - - //~ nclip = RotAverageNclip3( - //~ &meshes[k]->anim->data[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t]], - //~ &meshes[k]->anim->data[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t+2]], - //~ &meshes[k]->anim->data[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t+1]], - //~ (long*)&poly->x0, (long*)&poly->x1, (long*)&poly->x2, - //~ meshes[k]->p, - //~ &OTz, - //~ &Flag - //~ ); - - // Use anim vertex's positions - - nclip = RotAverageNclip3( - &meshes[k]->anim->data[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t].order.vx], - &meshes[k]->anim->data[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t].order.vz], - &meshes[k]->anim->data[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t].order.vy], - (long*)&poly->x0, (long*)&poly->x1, (long*)&poly->x2, - meshes[k]->p, - &OTz, - &Flag - ); - - - } else { - - // Use model's regular vertex pos - nclip = RotAverageNclip3( - &meshes[k]->tmesh->v[ meshes[k]->index[t].order.vx ], - &meshes[k]->tmesh->v[ meshes[k]->index[t].order.vz ], - &meshes[k]->tmesh->v[ meshes[k]->index[t].order.vy ], - (long*)&poly->x0, (long*)&poly->x1, (long*)&poly->x2, - meshes[k]->p, - &OTz, - &Flag - ); - } - - //~ FntPrint("%d %d %d %d\n", meshes[k]->index[t].order.vx, meshes[k]->index[t].order.vy, meshes[k]->index[t].order.vz, meshes[k]->index[t].code); - - if (nclip > 0 && OTz > 0) { - - - SetPolyGT3(poly); - - // Can use ? - //~ RotMeshPrimS_GCT3(); - - if (*meshes[k]->isPrism){ - - // Use current DRAWENV clip as TPAGE - ((POLY_GT3 *)poly)->tpage = getTPage(meshes[k]->tim->mode&0x3, 0, - draw[db].clip.x, - draw[db].clip.y - ); - - // Use projected coordinates (results from RotAverage...) as UV coords and clamp them to 0-255,0-224 - setUV3(poly, (poly->x0 < 0? 0 : poly->x0 > 255? 255 : poly->x0), - (poly->y0 < 0? 0 : poly->y0 > 224? 224 : poly->y0), - (poly->x1 < 0? 0 : poly->x1 > 255? 255 : poly->x1), - (poly->y1 < 0? 0 : poly->y1 > 224? 224 : poly->y1), - (poly->x2 < 0? 0 : poly->x2 > 255? 255 : poly->x2), - (poly->y2 < 0? 0 : poly->y2 > 224? 224 : poly->y2) - ); - - - } else { - - // Use regular TPAGE - ((POLY_GT3 *)poly)->tpage = getTPage(meshes[k]->tim->mode&0x3, 0, - meshes[k]->tim->prect->x, - meshes[k]->tim->prect->y - ); - - // Use model UV coordinates - setUV3(poly, meshes[k]->tmesh->u[i].vx , meshes[k]->tmesh->u[i].vy + meshes[k]->tim->prect->y, - meshes[k]->tmesh->u[i+2].vx, meshes[k]->tmesh->u[i+2].vy + meshes[k]->tim->prect->y, - meshes[k]->tmesh->u[i+1].vx, meshes[k]->tmesh->u[i+1].vy + meshes[k]->tim->prect->y); - - - } - - - - // FIXME : Polygon subdiv - - //~ OTc = OTz>>4; - - //~ if (OTc < 15) { - - //~ if (OTc > 5) div.ndiv = 1; else div.ndiv = 2; - - //~ DivideGT3( - //~ // Vertex coord - //~ &meshes[k]->tmesh->v[meshes[k]->index[t]], - //~ &meshes[k]->tmesh->v[meshes[k]->index[t+2]], - //~ &meshes[k]->tmesh->v[meshes[k]->index[t+1]], - //~ // UV coord - //~ meshes[k]->tmesh->u[i], - //~ meshes[k]->tmesh->u[i+2], - //~ meshes[k]->tmesh->u[i+1], - - //~ // Color - //~ meshes[k]->tmesh->c[i], - //~ meshes[k]->tmesh->c[i+2], - //~ meshes[k]->tmesh->c[i+1], - - //~ // Gpu packet - //~ poly, - //~ &ot[db][OTz], - //~ &div); - - //~ // Increment primitive list pointer - //~ nextpri += ( (sizeof(POLY_GT3) + 3) / 4 ) * (( 1 << ( div.ndiv )) << ( div.ndiv )); - //~ triCount = ((1<<(div.ndiv))<<(div.ndiv)); - - //~ } - - // Interpolate a primary color vector and far color - - // If vertex anim has updated normals - - //~ if (*meshes[k]->isAnim){ - //~ NormalColorDpq(&meshes[k]->anim->normals[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t]], &meshes[k]->tmesh->c[meshes[k]->index[t]], *meshes[k]->p, &outCol); - //~ NormalColorDpq(&meshes[k]->anim->normals[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t+1]], &meshes[k]->tmesh->c[meshes[k]->index[t+1]], *meshes[k]->p, &outCol1); - //~ NormalColorDpq(&meshes[k]->anim->normals[ atime%19 * modelCylindre_anim.nvert + meshes[k]->index[t+2]], &meshes[k]->tmesh->c[meshes[k]->index[t+2]], *meshes[k]->p, &outCol2); - //~ } else { - - CVECTOR outCol ={0,0,0,0}; - CVECTOR outCol1 ={0,0,0,0}; - CVECTOR outCol2 ={0,0,0,0}; - - //~ NormalColorDpq(&meshes[k]->tmesh->n[meshes[k]->index[t]] , &meshes[k]->tmesh->c[meshes[k]->index[t]], *meshes[k]->p, &outCol); - //~ NormalColorDpq(&meshes[k]->tmesh->n[meshes[k]->index[t+2]], &meshes[k]->tmesh->c[meshes[k]->index[t+2]], *meshes[k]->p, &outCol1); - //~ NormalColorDpq(&meshes[k]->tmesh->n[meshes[k]->index[t+1]], &meshes[k]->tmesh->c[meshes[k]->index[t+1]], *meshes[k]->p, &outCol2); - - NormalColorDpq(&meshes[k]->tmesh->n[ meshes[k]->index[t].order.vx ], &meshes[k]->tmesh->c[ meshes[k]->index[t].order.vx ], *meshes[k]->p, &outCol); - NormalColorDpq(&meshes[k]->tmesh->n[ meshes[k]->index[t].order.vz ], &meshes[k]->tmesh->c[ meshes[k]->index[t].order.vz ], *meshes[k]->p, &outCol1); - NormalColorDpq(&meshes[k]->tmesh->n[ meshes[k]->index[t].order.vy ], &meshes[k]->tmesh->c[ meshes[k]->index[t].order.vy ], *meshes[k]->p, &outCol2); - //~ } - - // Other methods - - //~ NormalColorDpq3(&meshes[k]->tmesh->n[i], - //~ &meshes[k]->tmesh->n[i+1], - //~ &meshes[k]->tmesh->n[i+2], - //~ &meshes[k]->tmesh->c[i], - //~ *meshes[k]->p, - //~ &outCol,&outCol1,&outCol2 - //~ ); - - //~ DpqColor3(&meshes[k]->tmesh->c[i], - //~ &meshes[k]->tmesh->c[i+1], - //~ &meshes[k]->tmesh->c[i+2], - //~ *meshes[k]->p, - //~ &outCol,&outCol1,&outCol2 - //~ ); - - if (*meshes[k]->isPrism){ - - // Use un-interpolated (i.e: no light, no fog) colors - setRGB0(poly, meshes[k]->tmesh->c[i].r, meshes[k]->tmesh->c[i+1].g, meshes[k]->tmesh->c[i+2].b); - setRGB1(poly, meshes[k]->tmesh->c[i+1].r, meshes[k]->tmesh->c[i+1].g, meshes[k]->tmesh->c[i+1].b); - setRGB2(poly, meshes[k]->tmesh->c[i+2].r, meshes[k]->tmesh->c[i+2].g, meshes[k]->tmesh->c[i+2].b); - - } else { - - setRGB0(poly, outCol.r, outCol.g , outCol.b); - setRGB1(poly, outCol1.r, outCol1.g, outCol1.b); - setRGB2(poly, outCol2.r, outCol2.g, outCol2.b); - } - - // Sort the primitive into the OT - //~ OTz /= 3; - - // cliptest3((short *)&meshes[k]->tmesh->v[meshes[k]->index[t]]) - - //~ if ((OTz > 0) && (OTz < OTLEN) && (*meshes[k]->p < 2048)){ - if ((OTz > 0) && (OTz < OTLEN) && (*meshes[k]->p < 4096)){ - AddPrim(&ot[db][OTz-2], poly); // OTz - 2 - } - - nextpri += sizeof(POLY_GT3); - } - - t+=1; - } - //~ if (*meshes[k]->isRigidBody){ - //~ PopMatrix(); // Pull previous matrix from stack (slow) - //~ } - - } - - // Find and apply light rotation matrix - RotMatrix(&lgtang, &rotlgt); - MulMatrix0(&lgtmat, &rotlgt, &light); - SetLightMatrix(&light); - - applyCamera(&camera); - - } - - //~ FntPrint("ColSphere: %d\n", (modelobject_body.position.vy + modelobject_body.max.vy) - (modelSphere_body.position.vy + modelSphere_body.min.vy) ); - //~ FntPrint("ColSphere: %d\n", (modelSphere_body.position.vy + modelSphere_body.max.vy) - (modelobject_body.position.vy + modelobject_body.min.vy) ); - //~ FntPrint("Col %d\n", col_sphere.vy ); - - //~ FntPrint("Obj: %d,%d,%d\n",modelobject_body.velocity.vx,modelobject_body.velocity.vy,modelobject_body.velocity.vz); - //~ FntPrint("Sph: %d,%d,%d\n",modelSphere_body.velocity.vx,modelSphere_body.velocity.vy,modelSphere_body.velocity.vz); - - //~ FntPrint("%d, %d\n",modelobject_body.position.vx, modelobject_pos.vx); - - //~ FntPrint("Time : %d %d dt :%d\n",time, atime, dt); - FntPrint("Tricount: %d OTz: %d\nOTc: %d, p: %d\n",triCount, OTz, OTc, *meshes[2]->p); - - //~ FntPrint("Sphr : %4d %4d %4d\n", modelSphere_body.gForce.vx, modelSphere_body.gForce.vy, modelSphere_body.gForce.vz); - - //~ FntPrint("isPrism: %d\n", *meshobject.isPrism); - - //~ FntPrint("L1: %d %d %d\n", light.m[0][0],light.m[0][1],light.m[0][2]); - //~ FntPrint("L2: %d %d %d\n", light.m[1][0],light.m[1][1],light.m[1][2]); - //~ FntPrint("L3: %d %d %d\n", light.m[2][0],light.m[2][1],light.m[2][2]); - - FntFlush(-1); - - display(); - - //~ frame = VSync(-1); - - } - return 0; -} - -void init(){ - // Reset the GPU before doing anything and the controller - PadInit(0); - ResetGraph(0); - - // Initialize and setup the GTE - InitGeom(); - SetGeomOffset(CENTERX, CENTERY); // x, y offset - SetGeomScreen(CENTERX); // Distance between eye and screen - - // Set the display and draw environments - SetDefDispEnv(&disp[0], 0, 0 , SCREENXRES, SCREENYRES); - SetDefDispEnv(&disp[1], 0, SCREENYRES, SCREENXRES, SCREENYRES); - - SetDefDrawEnv(&draw[0], 0, SCREENYRES, SCREENXRES, SCREENYRES); - SetDefDrawEnv(&draw[1], 0, 0, SCREENXRES, SCREENYRES); - - if (VMODE) - { - SetVideoMode(MODE_PAL); - disp[0].screen.y += 8; - disp[1].screen.y += 8; - } - - setRGB0(&draw[0], BGc.r, BGc.g, BGc.b); - setRGB0(&draw[1], BGc.r, BGc.g, BGc.b); - - draw[0].isbg = 1; - draw[1].isbg = 1; - - PutDispEnv(&disp[db]); - PutDrawEnv(&draw[db]); - - // Init font system - FntLoad(960, 0); - FntOpen(16, 180, 240, 96, 0, 512); - - } - -void display(void){ - - DrawSync(0); - vs = VSync(0); - - PutDispEnv(&disp[db]); - PutDrawEnv(&draw[db]); - - SetDispMask(1); - - DrawOTag(ot[db] + OTLEN - 1); - - db = !db; - - nextpri = primbuff[db]; - - - } - -// Nic's function -void getCameraXZ(int * x, int * z, int actorX, int actorZ, int angle, int distance) { - - - // Using Nic's Costable : https://github.com/grumpycoders/Balau/blob/master/tests/test-Handles.cc#L20-L102 - // https://godbolt.org/z/q6cMcj - - *x = (actorX * ONE) + (distance * nsin(angle)); - *z = (actorZ * ONE) - (distance * ncos(angle)); - - //~ *x = (actorX * ONE) + (distance * csin(angle)); - //~ *z = (actorZ * ONE) - (distance * ccos(angle)); // Z is pointing away from the eye - - // @soapy https://discord.com/channels/642647820683444236/663664210525290507/797188403748929547 - //~ *x = (actorX * ONE) + (distance * rcossin_tbl[(angle & 0xFFFU) * 2]); - //~ *z = (actorZ * ONE) - (distance * rcossin_tbl[(angle & 0xFFFU) * 2 + 1]); // Z is pointing away from the eye - - // Using precalculated psin and pcos - //~ *x = (actorX * ONE) + (distance * psin[angle]); - //~ *z = (actorZ * ONE) - (distance * pcos[angle]); // Z is pointing away from the eye -} -// @Will : you might want to use sin/cos to move the camera in a circle but you could do that by moving it along it’s tangent and then clamping the distance - -void applyCamera(CAMERA * cam){ - VECTOR vec; // Vector that holds the output values of the following instructions - - RotMatrix_gte(&cam->rot, &cam->mat); // Convert rotation angle in psx units (360° == 4096) to rotation matrix) - - ApplyMatrixLV(&cam->mat, &cam->pos, &vec); // Multiply matrix by vector pos and output to vec - - TransMatrix(&cam->mat, &vec); // Apply transform vector - - SetRotMatrix(&cam->mat); // Set Rotation matrix - SetTransMatrix(&cam->mat); // Set Transform matrix - - -} - -void setCameraPos(VECTOR pos, SVECTOR rot){ - camera.pos = pos; - camera.rot = rot; - - }; - -void LoadTexture(u_long * tim, TIM_IMAGE * tparam){ // This part is from Lameguy64's tutorial series : lameguy64.net/svn/pstutorials/chapter1/3-textures.html login/pw: annoyingmous - OpenTIM(tim); // Open the tim binary data, feed it the address of the data in memory - ReadTIM(tparam); // This read the header of the TIM data and sets the corresponding members of the TIM_IMAGE structure - - LoadImage(tparam->prect, tparam->paddr); // Transfer the data from memory to VRAM at position prect.x, prect.y - DrawSync(0); // Wait for the drawing to end - - if (tparam->mode & 0x8){ // check 4th bit // If 4th bit == 1, TIM has a CLUT - LoadImage(tparam->crect, tparam->caddr); // Load it to VRAM at position crect.x, crect.y - DrawSync(0); // Wait for drawing to end - } - -} - - -int lerp(int start, int end, int factor){ - // lerp interpolated cam movement - // InBetween = Value 1 + ( ( Value2 - Value1 ) * lerpValue ) ; - // lerpValue should be a float between 0 and 1. - // This'll have to be a fixed point value between 0-4096 - // easeOut - //~ return ( ( start ) + ( end - start ) * factor ) / 4096; - // easeIn - return ( ( start ) + ( end - start ) * factor ) / 4096; - - - // kinda linear - //~ return (( start ) + ( end - start )) * factor / 4096; - - } - -SVECTOR SVlerp(SVECTOR start, SVECTOR end, int factor){ - SVECTOR output = {0,0,0,0}; - output.vx = lerp(start.vx, end.vx, factor); - output.vy = lerp(start.vy, end.vy, factor); - output.vz = lerp(start.vz, end.vz, factor); - return output; - } - -VECTOR getIntCollision(BODY one, BODY two){ - - VECTOR d1, d2, col; - - d1.vx = (one.position.vx - one.max.vx) - (two.position.vx + two.min.vx); - d1.vy = (one.position.vy + one.min.vy) - (two.position.vy + two.min.vy); - d1.vz = (one.position.vz - one.max.vz) - (two.position.vz + two.min.vz); - - d2.vx = (two.position.vx + two.max.vx) - (one.position.vx + one.max.vx); - d2.vy = (two.position.vy + two.max.vy) - (one.position.vy + one.max.vy); - d2.vz = (two.position.vz + two.max.vz) - (one.position.vz + one.max.vz); - - col.vx = !(d1.vx > 0 && d2.vx > 0); - col.vy = !(d1.vy > 0 && d2.vy > 0); - col.vz = !(d1.vz > 0 && d2.vz > 0); - - return col; - - } - -VECTOR getExtCollision(BODY one, BODY two){ - - VECTOR d1, d2, col; - - d1.vx = (one.position.vx + one.max.vx) - (two.position.vx + two.min.vx); - d1.vy = (one.position.vy + one.max.vy) - (two.position.vy + two.min.vy); - d1.vz = (one.position.vz + one.max.vz) - (two.position.vz + two.min.vz); - - d2.vx = (two.position.vx + two.max.vx) - (one.position.vx + one.min.vx); - d2.vy = (two.position.vy + two.max.vy) - (one.position.vy + one.min.vy); - d2.vz = (two.position.vz + two.max.vz) - (one.position.vz + one.min.vz); - - col.vx = d1.vx > 0 && d2.vx > 0; - col.vy = d1.vy > 0 && d2.vy > 0; - col.vz = d1.vz > 0 && d2.vz > 0; - - return col; - - } - -void applyAcceleration(BODY * actor){ - - short dt = 1; - - VECTOR acceleration = {actor->invMass * actor->gForce.vx , actor->invMass * actor->gForce.vy, actor->invMass * actor->gForce.vz}; - - actor->velocity.vx += (acceleration.vx * dt) / 4096; - actor->velocity.vy += (acceleration.vy * dt) / 4096; - actor->velocity.vz += (acceleration.vz * dt) / 4096; - - actor->position.vx += (actor->velocity.vx * dt); - actor->position.vy += (actor->velocity.vy * dt); - actor->position.vz += (actor->velocity.vz * dt); - - } - -//~ // https://gamedevelopment.tutsplus.com/tutorials/how-to-create-a-custom-2d-physics-engine-the-basics-and-impulse-resolution--gamedev-6331 -void ResolveCollision( BODY * one, BODY * two ){ - - // Calculate relative velocity - VECTOR rv = { subVector( one->velocity, two->velocity) }; - - //~ FntPrint("rv: %d, %d, %d\n", rv.vx,rv.vy,rv.vz); - - // Collision normal - VECTOR normal = { subVector( two->position, one->position ) }; - - // Normalize collision normal - normal.vx = normal.vx > 32 ? 1 : normal.vx < -32 ? -1 : 0 ; - normal.vy = normal.vy > 256 ? 1 : normal.vy < -256 ? -1 : 0 ; - normal.vz = normal.vz > 32 ? 1 : normal.vz < -32 ? -1 : 0 ; - - //~ FntPrint("norm: %d, %d, %d\n", normal.vx,normal.vy,normal.vz); - - // Calculate relative velocity in terms of the normal direction - long velAlongNormal = dotProduct( rv, normal ); - - //~ FntPrint("velN: %d\n", velAlongNormal); - - // Do not resolve if velocities are separating - if(velAlongNormal > 0) - return; - - // Calculate restitution - long e = min( one->restitution, two->restitution ); - - //~ FntPrint("e: %d\n", e); - - //~ // Calculate impulse scalar - long j = -(1 + e) * velAlongNormal * ONE; - j /= one->invMass + two->invMass; - //~ j /= ONE; - - //~ FntPrint("j: %d\n", j); - - // Apply impulse - applyVector(&normal, j, j, j, *=); - - //~ FntPrint("Cnormal %d %d %d\n",normal.vx,normal.vy,normal.vz); - - VECTOR velOne = normal; - VECTOR velTwo = normal; - - applyVector(&velOne,one->invMass,one->invMass,one->invMass, *=); - applyVector(&velTwo,two->invMass,two->invMass,two->invMass, *=); - - //~ FntPrint("V1 %d %d %d\n", velOne.vx/4096/4096,velOne.vy/4096/4096,velOne.vz/4096/4096); - //~ FntPrint("V2 %d %d %d\n", velTwo.vx/4096/4096,velTwo.vy/4096/4096,velTwo.vz/4096/4096); - - applyVector(&one->velocity, velOne.vx/4096/4096, velOne.vy/4096/4096, velOne.vz/4096/4096, -=); - applyVector(&two->velocity, velTwo.vx/4096/4096, velTwo.vy/4096/4096, velTwo.vz/4096/4096, +=); - - //~ FntPrint("V1 %d %d %d\n", velOne.vx/4096/4096,velOne.vy/4096/4096,velOne.vz/4096/4096); - //~ FntPrint("V2 %d %d %d\n", velTwo.vx/4096/4096,velTwo.vy/4096/4096,velTwo.vz/4096/4096); - -} - - -// A few notes on the following code : - -int ncos(unsigned int t) { - t %= DC_2PI; - int r; - - if (t < DC_PI2) { - r = m_cosTable[t]; - } else if (t < DC_PI) { - r = -m_cosTable[DC_PI - 1 - t]; - } else if (t < (DC_PI + DC_PI2)) { - r = -m_cosTable[t - DC_PI]; - } else { - r = m_cosTable[DC_2PI - 1 - t]; - }; - - return r >> 12; -}; - -// sin(x) = cos(x - pi / 2) -int nsin(unsigned int t) { - t %= DC_2PI; - - if (t < DC_PI2){ - return ncos(t + DC_2PI - DC_PI2); - }; - return ncos(t - DC_PI2); -}; - -// f(n) = cos(n * 2pi / 2048) <- 2048 is == DC_2PI value -// f(n) = 2 * f(1) * f(n - 1) - f(n - 2) -void generateTable(void){ - - m_cosTable[0] = 16777216; // 2^24 * cos(0 * 2pi / 2048) => 2^24 * 1 = 2^24 : here, 2^24 defines the precision we want after the decimal point - static const long long C = 16777137; // 2^24 * cos(1 * 2pi / 2048) = C = f(1); - m_cosTable[1] = C; - - for (int i = 2; i < 512; i++){ - m_cosTable[i] = ((C * m_cosTable[i - 1]) >> 23) - m_cosTable[i - 2]; - - m_cosTable[511] = 0; - } -}; - -// https://github.com/Arsunt/TR2Main/blob/411cacb35914c616cb7960c0e677e00c71c7ee88/3dsystem/phd_math.cpp#L432 -int patan(int x, int y){ - int result; - int swapBuf; - int flags = 0; - - // if either x or y are 0, return 0 - if( x == 0 && y == 0){ - return 0; - } - - if( x < 0 ) { - flags |= 4; - x = -x; - - } - - if ( y < 0 ) { - flags |= 2; - y = -y; - } - - if ( y > x ) { - flags |= 1; - SWAP(x, y ,swapBuf); - } - - result = AtanBaseTable[flags] + AtanAngleTable[0x800 * y / x]; - if ( result < 0 ){ - result = -result; - - return result; - -} - - } - -u_int psqrt(u_int n){ - u_int result = 0; - u_int base = 0x40000000; - u_int basedResult; - - for( ; base != 0; base >>= 2 ) { - for( ; base != 0; base >>= 2 ) { - basedResult = base + result; - result >>= 1; - - if( basedResult > n ) { - break; - } - - n -= basedResult; - result |= base; - } - } - return result; -} - -int cliptest3(short *v1) -{ - - if( v1[0]<0 && v1[2]<0 && v1[4]<0 ) return 0; - if( v1[1]<0 && v1[3]<0 && v1[5]<0 ) return 0; - - if( v1[0] > SCREENXRES && v1[2] > SCREENXRES && v1[4] > SCREENXRES) return 0; - if( v1[1] > SCREENYRES && v1[3] > SCREENYRES && v1[5] > SCREENYRES) return 0; - - return 1; -} - -void callback(){ - - int pad = PadRead(0); - - if (pad & PADRright && !pressed){ - if(camMode < 4){ - camMode += 1; - } else { - setCameraPos(camStartPos.pos, camStartPos.rot); - camPath.cursor = 0; - camMode = 0; - } - pressed = 1; - } - - if (!(pad & PADRright)){ - pressed = 0; - } - - if (pad & PADRdown){ - lgtang.vy += 32; - //~ lgtang.vx += 32; - } - if (pad & PADRup){ - lgtang.vz += 32; - //~ lgtang.vx += 32; - } - //~ RotMatrix(&lgtang, &rotlgt); - //~ MulMatrix(&rotlgt, &rottrans); - - if (pad & PADLdown && !pressed){ - if (*meshobject.isPrism){ - *meshobject.isPrism = 0; - } else { - *meshobject.isPrism = 1; - } - pressed = 1; - } - if (!pad & PADLdown){ - pressed = 0; - } - -} diff --git a/3dcam-tri-quads.c b/3dcam-tri-quads.c index d301e4c..7a9bfe2 100644 --- a/3dcam-tri-quads.c +++ b/3dcam-tri-quads.c @@ -28,7 +28,7 @@ #include #include -// Precalculated sin/cos values +// Precalculated arctan values #include "atan.c" @@ -36,6 +36,8 @@ #include "coridor2.c" +// + #define VMODE 0 #define SCREENXRES 320 @@ -625,8 +627,9 @@ int main() { if ( camAngles[ curCamAngle ]->bw.v0.vx ) { - FntPrint("BL x : %d, y : %d\n", camAngles[ curCamAngle ]->bw.v3.vx, camAngles[ curCamAngle ]->bw.v3.vy); - FntPrint("BR x : %d, y : %d\n", camAngles[ curCamAngle ]->bw.v2.vx, camAngles[ curCamAngle ]->bw.v2.vy); + //~ FntPrint("BL x : %d, y : %d\n", camAngles[ curCamAngle ]->bw.v3.vx, camAngles[ curCamAngle ]->bw.v3.vy); + + //~ FntPrint("BR x : %d, y : %d\n", camAngles[ curCamAngle ]->bw.v2.vx, camAngles[ curCamAngle ]->bw.v2.vy); //~ // FntPrint("Pos : %d\n", checkLineW( &camAngles[ curCamAngle ]->bw.v2, &camAngles[ curCamAngle ]->bw.v3, actorPtr) ); @@ -842,6 +845,7 @@ int main() { // Actor if ( !getIntCollision( *actorPtr->body , *curNode->siblings->list[msh]->plane->body).vx && + !getIntCollision( *actorPtr->body , *curNode->siblings->list[msh]->plane->body).vz ) { @@ -1062,11 +1066,11 @@ int main() { //~ FntPrint("CurNode : %x\nIndex: %d", curNode, curNode->siblings->index); - FntPrint("Time : %d dt :%d\n", VSync(-1) / 60, dt); - FntPrint("%d\n", curCamAngle ); + //~ FntPrint("Time : %d dt :%d\n", VSync(-1) / 60, dt); + //~ FntPrint("%d\n", curCamAngle ); //~ FntPrint("Actor : %d %d\n", actorPtr->pos->vx, actorPtr->pos->vy); - FntPrint("%d %d\n", actorPtr->pos->vx, actorPtr->pos->vz); + //~ FntPrint("%d %d\n", actorPtr->pos->vx, actorPtr->pos->vz); //~ FntPrint("%d %d\n", actorPtr->pos2D.vx + CENTERX, actorPtr->pos2D.vy + CENTERY); //~ FntPrint(" %d %d %d\n", wp.vx, wp.vy, wp.vz); @@ -1397,6 +1401,8 @@ void drawPoly(MESH * mesh, long * Flag, int atime){ // If isPrism flag is set, use it + // FIXME : Doesn't work in 8bpp/4bpp + if ( *mesh->isPrism ) { // Transparency effect : @@ -1940,7 +1946,9 @@ void drawBG(void){ camPtr->BGtim->mode & 0x3, 0, - camPtr->BGtim->prect->x + 128, + // X offset width depends on TIM's mode + + camPtr->BGtim->prect->x + ( 64 << ( camPtr->BGtim->mode & 0x3 ) ), camPtr->BGtim->prect->y diff --git a/TIM/bg_camPath (copie).tim b/TIM/bg_camPath (copie).tim deleted file mode 100644 index 0ab2672..0000000 Binary files a/TIM/bg_camPath (copie).tim and /dev/null differ diff --git a/TIM/bg_camPath.tim b/TIM/bg_camPath.tim index ae2df40..cee0044 100644 Binary files a/TIM/bg_camPath.tim and b/TIM/bg_camPath.tim differ diff --git a/TIM/bg_camPath_001.tim b/TIM/bg_camPath_001.tim index ec35033..7b0a8c6 100644 Binary files a/TIM/bg_camPath_001.tim and b/TIM/bg_camPath_001.tim differ diff --git a/TIM/bg_camPath_002.tim b/TIM/bg_camPath_002.tim index d782d74..dd8d8cc 100644 Binary files a/TIM/bg_camPath_002.tim and b/TIM/bg_camPath_002.tim differ diff --git a/TIM/bg_camPath_003.tim b/TIM/bg_camPath_003.tim index 1661f23..3d8acfb 100644 Binary files a/TIM/bg_camPath_003.tim and b/TIM/bg_camPath_003.tim differ diff --git a/TIM/bg_camPath_004.tim b/TIM/bg_camPath_004.tim index 8d8001f..1f146d7 100644 Binary files a/TIM/bg_camPath_004.tim and b/TIM/bg_camPath_004.tim differ diff --git a/TIM/bg_camPath_005.tim b/TIM/bg_camPath_005.tim index fb9359d..b6ed885 100644 Binary files a/TIM/bg_camPath_005.tim and b/TIM/bg_camPath_005.tim differ diff --git a/TIM/grnd.tim b/TIM/grnd.tim deleted file mode 100644 index 9bd3966..0000000 Binary files a/TIM/grnd.tim and /dev/null differ diff --git a/TIM/home.tim b/TIM/home.tim index ad620e7..476542c 100644 Binary files a/TIM/home.tim and b/TIM/home.tim differ diff --git a/coridor.c b/coridor.c deleted file mode 100644 index 7ba8bdf..0000000 --- a/coridor.c +++ /dev/null @@ -1,5328 +0,0 @@ -typedef struct { - VECTOR gForce; - VECTOR position; - SVECTOR velocity; - int invMass; - VECTOR min; - VECTOR max; - int restitution; - } BODY; - -typedef struct { - int nframes; // number of frames e.g 20 - int nvert; // number of vertices e.g 21 - SVECTOR data[]; // vertex pos as SVECTORs e.g 20 * 21 SVECTORS - } VANIM; - -typedef struct { - 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; - -typedef struct { - TMESH * tmesh; - PRIM * index; - TIM_IMAGE * tim; - u_long * tim_data; - MATRIX * mat; - VECTOR * pos; - SVECTOR * rot; - short * isRigidBody; - short * isStaticBody; - short * isPrism; - short * isAnim; - short * isActor; - short * isLevel; - long * p; - BODY * body; - VANIM * anim; - } MESH; - -typedef struct { - VECTOR pos; - SVECTOR rot; - } CAMPOS; - - -// Blender cam ~= PSX cam with these settings : TV NTSC 4:3, Cam focal length : 100° ( 13.43 mm )) -typedef struct { - short len, cursor; - VECTOR points[]; - } CAMPATH; - -CAMPOS camStartPos = { - {-177,90,121}, - {78,459,0}, -}; - -CAMPATH camPath = { - 6, - 0, - { - {520,130,172}, - {211,308,220}, - {-268,130,319}, - {-391,130,18}, - {-391,260,-177}, - {-456,65,-372} - } -}; - -static MATRIX lgtmat = { - 784, 1558, 2188, - -1742, 1368, 1710, - -1554, 1368, -1882 - }; - -static MATRIX cmat = { - 13,4096,0, - 4096,0,36, - 0,5,4096 - }; - -SVECTOR modelCube_mesh[] = { - {-32,21,-24}, - {-32,-8,-26}, - {-32,18,26}, - {-32,-11,24}, - {33,21,-23}, - {33,-8,-26}, - {33,18,26}, - {33,-12,24}, - {0,-20,23}, - {0,-17,-27}, - {0,9,25}, - {0,13,-25}, - {33,-10,3}, - {0,-19,2}, - {33,19,5}, - {-32,19,5}, - {0,11,4}, - {-32,-10,3}, - {33,-10,-4}, - {-32,-10,-4}, - {0,11,-3}, - {-32,20,-2}, - {0,-18,-5}, - {33,20,-2}, - {-45,-14,3}, - {-45,-13,-4}, - {-45,-11,3}, - {-45,-10,-4}, - {-32,-6,3}, - {-32,-6,-4}, - {33,18,16}, - {33,-11,14}, - {24,-12,24}, - {24,18,26}, - {24,21,-24}, - {24,-8,-26}, - {33,21,-16}, - {33,-9,-18}, - {42,31,-22}, - {38,31,-22}, - {42,30,-18}, - {19,28,24}, - {19,28,21}, - {16,28,24}, - {33,-19,-24}, - {31,-23,21}, - {-32,20,-12}, - {-20,21,-24}, - {-18,17,26}, - {-32,19,14}, - {-42,31,-21}, - {-15,28,24}, - {-42,31,-16}, - {-38,31,-21}, - {-10,28,24}, - {-15,28,20} -}; - -SVECTOR modelCube_normal[] = { - 2258,53,3417,0, - 2625,1820,2564,0, - 2760,-1491,-2633,0, - 2628,2153,-2287,0, - -2487,563,3205,0, - -2774,231,3005,0, - -2828,-1310,-2658,0, - -2865,665,-2851,0, - -111,3307,-2414,0, - -128,2934,2855,0, - -122,-2194,-3456,0, - -61,-2686,3091,0, - -3205,2549,77,0, - -26,4089,244,0, - -2553,-3201,-98,0, - 2559,-3198,-63,0, - -57,-4093,-154,0, - 1520,3611,-1195,0, - -3205,2534,286,0, - 1522,3406,1692,0, - -36,-4075,-412,0, - 2545,-3188,-372,0, - -29,4081,343,0, - -2554,-3182,-359,0, - 2024,2868,-2110,0, - 2024,2540,2496,0, - 2682,-1718,-2576,0, - 2682,-2066,2305,0, - 3844,-1022,-977,0, - 3844,-1150,822,0, - -3086,-2685,204,0, - -3086,2566,817,0, - 180,2572,-3183,0, - 1530,-1116,-3632,0, - 773,-3095,2569,0, - 14,2199,3456,0, - -3016,-2512,-1170,0, - -3138,2563,-603,0, - -3191,-1499,2084,0, - 1491,-3489,1543,0, - -2729,-1345,-2742,0, - -957,-3053,-2557,0, - 823,-2344,3257,0, - 3764,-1205,-1076,0, - -952,3978,223,0, - -381,4078,-25,0, - 2934,-2685,-980,0, - -1032,-3076,2500,0, - -1662,-1453,-3450,0, - 3044,-2734,188,0, - 3242,-1605,1921,0, - 705,-3148,-2524,0, - 2772,-1470,-2633,0, - -1317,-3640,1337,0, - -3845,-1173,-785,0, - -800,-2443,3189,0 -}; - -SVECTOR modelCube_uv[] = { - 19,123, 0, 0, - 27,102, 0, 0, - 19,112, 0, 0, - 58,2, 0, 0, - 45,2, 0, 0, - 58,8, 0, 0, - 46,53, 0, 0, - 44,66, 0, 0, - 46,59, 0, 0, - 17,40, 0, 0, - 5,38, 0, 0, - 5,40, 0, 0, - 38,102, 0, 0, - 48,96, 0, 0, - 44,95, 0, 0, - 44,38, 0, 0, - 39,42, 0, 0, - 46,42, 0, 0, - 30,24, 0, 0, - 30,2, 0, 0, - 20,24, 0, 0, - 45,24, 0, 0, - 58,38, 0, 0, - 58,24, 0, 0, - 20,24, 0, 0, - 5,8, 0, 0, - 5,24, 0, 0, - 34,2, 0, 0, - 30,1, 0, 0, - 30,2, 0, 0, - 34,100, 0, 0, - 33,123, 0, 0, - 38,102, 0, 0, - 34,126, 0, 0, - 31,125, 0, 0, - 30,127, 0, 0, - 21,2, 0, 0, - 20,24, 0, 0, - 30,2, 0, 0, - 45,2, 0, 0, - 34,2, 0, 0, - 45,24, 0, 0, - 34,2, 0, 0, - 30,24, 0, 0, - 34,24, 0, 0, - 33,125, 0, 0, - 31,123, 0, 0, - 31,125, 0, 0, - 31,100, 0, 0, - 33,123, 0, 0, - 34,100, 0, 0, - 6,83, 0, 0, - 7,74, 0, 0, - 2,78, 0, 0, - 44,38, 0, 0, - 58,40, 0, 0, - 58,38, 0, 0, - 44,73, 0, 0, - 53,70, 0, 0, - 44,66, 0, 0, - 20,38, 0, 0, - 5,24, 0, 0, - 5,38, 0, 0, - 24,42, 0, 0, - 18,62, 0, 0, - 19,66, 0, 0, - 24,42, 0, 0, - 20,38, 0, 0, - 19,41, 0, 0, - 19,66, 0, 0, - 6,83, 0, 0, - 19,73, 0, 0, - 18,62, 0, 0, - 7,74, 0, 0, - 19,66, 0, 0, - 5,40, 0, 0, - 1,38, 0, 0, - 1,41, 0, 0, - 53,70, 0, 0, - 59,78, 0, 0, - 58,69, 0, 0, - 58,40, 0, 0, - 62,37, 0, 0, - 58,38, 0, 0, - 46,59, 0, 0, - 53,70, 0, 0, - 58,69, 0, 0, - 29,1, 0, 0, - 30,2, 0, 0, - 30,1, 0, 0, - 34,2, 0, 0, - 36,1, 0, 0, - 34,1, 0, 0, - 20,38, 0, 0, - 17,40, 0, 0, - 19,41, 0, 0, - 19,52, 0, 0, - 24,42, 0, 0, - 19,41, 0, 0, - 39,42, 0, 0, - 46,53, 0, 0, - 46,42, 0, 0, - 46,40, 0, 0, - 44,38, 0, 0, - 46,42, 0, 0, - 27,102, 0, 0, - 14,102, 0, 0, - 19,102, 0, 0, - 51,98, 0, 0, - 48,96, 0, 0, - 49,102, 0, 0, - 19,102, 0, 0, - 14,102, 0, 0, - 14,105, 0, 0, - 58,2, 0, 0, - 61,6, 0, 0, - 61,3, 0, 0, - 5,2, 0, 0, - 1,6, 0, 0, - 5,8, 0, 0, - 19,112, 0, 0, - 19,102, 0, 0, - 19,113, 0, 0, - 47,113, 0, 0, - 49,102, 0, 0, - 38,102, 0, 0, - 45,24, 0, 0, - 34,2, 0, 0, - 34,24, 0, 0, - 39,42, 0, 0, - 44,38, 0, 0, - 34,42, 0, 0, - 45,24, 0, 0, - 34,24, 0, 0, - 44,38, 0, 0, - 44,38, 0, 0, - 34,24, 0, 0, - 34,42, 0, 0, - 30,42, 0, 0, - 34,24, 0, 0, - 30,24, 0, 0, - 24,42, 0, 0, - 30,42, 0, 0, - 20,38, 0, 0, - 20,38, 0, 0, - 30,42, 0, 0, - 30,24, 0, 0, - 34,66, 0, 0, - 30,42, 0, 0, - 30,66, 0, 0, - 30,66, 0, 0, - 24,42, 0, 0, - 19,66, 0, 0, - 39,42, 0, 0, - 34,66, 0, 0, - 44,66, 0, 0, - 34,100, 0, 0, - 38,102, 0, 0, - 44,95, 0, 0, - 27,102, 0, 0, - 31,100, 0, 0, - 19,96, 0, 0, - 30,66, 0, 0, - 19,66, 0, 0, - 19,73, 0, 0, - 44,66, 0, 0, - 34,66, 0, 0, - 44,73, 0, 0, - 30,66, 0, 0, - 33,84, 0, 0, - 34,66, 0, 0, - 31,100, 0, 0, - 33,84, 0, 0, - 31,84, 0, 0, - 19,96, 0, 0, - 31,84, 0, 0, - 19,84, 0, 0, - 33,84, 0, 0, - 44,95, 0, 0, - 44,84, 0, 0, - 44,73, 0, 0, - 33,84, 0, 0, - 44,84, 0, 0, - 31,84, 0, 0, - 19,73, 0, 0, - 19,84, 0, 0, - 5,8, 0, 0, - 21,2, 0, 0, - 5,2, 0, 0, - 58,8, 0, 0, - 45,24, 0, 0, - 58,24, 0, 0, - 47,123, 0, 0, - 33,123, 0, 0, - 39,125, 0, 0, - 31,123, 0, 0, - 19,123, 0, 0, - 27,126, 0, 0, - 38,102, 0, 0, - 47,123, 0, 0, - 47,113, 0, 0, - 27,102, 0, 0, - 31,123, 0, 0, - 31,100, 0, 0, - 30,24, 0, 0, - 20,24, 0, 0, - 20,38, 0, 0, - 19,123, 0, 0, - 31,123, 0, 0, - 27,102, 0, 0, - 46,53, 0, 0, - 39,42, 0, 0, - 44,66, 0, 0, - 17,40, 0, 0, - 20,38, 0, 0, - 5,38, 0, 0, - 38,102, 0, 0, - 49,102, 0, 0, - 48,96, 0, 0, - 45,24, 0, 0, - 44,38, 0, 0, - 58,38, 0, 0, - 20,24, 0, 0, - 21,2, 0, 0, - 5,8, 0, 0, - 34,2, 0, 0, - 34,1, 0, 0, - 30,1, 0, 0, - 34,126, 0, 0, - 33,125, 0, 0, - 31,125, 0, 0, - 34,2, 0, 0, - 30,2, 0, 0, - 30,24, 0, 0, - 33,125, 0, 0, - 33,123, 0, 0, - 31,123, 0, 0, - 31,100, 0, 0, - 31,123, 0, 0, - 33,123, 0, 0, - 44,38, 0, 0, - 46,40, 0, 0, - 58,40, 0, 0, - 44,73, 0, 0, - 59,78, 0, 0, - 53,70, 0, 0, - 20,38, 0, 0, - 20,24, 0, 0, - 5,24, 0, 0, - 24,42, 0, 0, - 19,52, 0, 0, - 18,62, 0, 0, - 19,66, 0, 0, - 7,74, 0, 0, - 6,83, 0, 0, - 18,62, 0, 0, - 2,74, 0, 0, - 7,74, 0, 0, - 5,40, 0, 0, - 5,38, 0, 0, - 1,38, 0, 0, - 58,40, 0, 0, - 62,40, 0, 0, - 62,37, 0, 0, - 46,59, 0, 0, - 44,66, 0, 0, - 53,70, 0, 0, - 29,1, 0, 0, - 29,1, 0, 0, - 30,2, 0, 0, - 34,2, 0, 0, - 36,2, 0, 0, - 36,1, 0, 0, - 27,102, 0, 0, - 19,96, 0, 0, - 14,102, 0, 0, - 58,2, 0, 0, - 58,8, 0, 0, - 61,6, 0, 0, - 5,2, 0, 0, - 1,2, 0, 0, - 1,6, 0, 0, - 19,112, 0, 0, - 27,102, 0, 0, - 19,102, 0, 0, - 47,113, 0, 0, - 51,107, 0, 0, - 49,102, 0, 0, - 30,42, 0, 0, - 34,42, 0, 0, - 34,24, 0, 0, - 34,66, 0, 0, - 34,42, 0, 0, - 30,42, 0, 0, - 30,66, 0, 0, - 30,42, 0, 0, - 24,42, 0, 0, - 39,42, 0, 0, - 34,42, 0, 0, - 34,66, 0, 0, - 30,66, 0, 0, - 31,84, 0, 0, - 33,84, 0, 0, - 31,100, 0, 0, - 34,100, 0, 0, - 33,84, 0, 0, - 19,96, 0, 0, - 31,100, 0, 0, - 31,84, 0, 0, - 33,84, 0, 0, - 34,100, 0, 0, - 44,95, 0, 0, - 44,73, 0, 0, - 34,66, 0, 0, - 33,84, 0, 0, - 31,84, 0, 0, - 30,66, 0, 0, - 19,73, 0, 0, - 58,8, 0, 0, - 45,2, 0, 0, - 45,24, 0, 0, - 38,102, 0, 0, - 33,123, 0, 0, - 47,123, 0, 0 -}; - -CVECTOR modelCube_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelCube_index[] = { - 1,46,0,0,4, - 2,3,48,0,4, - 7,30,6,0,4, - 5,34,4,0,4, - 49,54,48,0,4, - 32,31,45,0,4, - 22,19,9,0,4, - 8,33,10,0,4, - 9,47,11,0,4, - 17,25,19,0,4, - 15,28,49,0,4, - 24,27,25,0,4, - 1,9,19,0,4, - 3,17,8,0,4, - 17,22,13,0,4, - 26,29,27,0,4, - 21,28,15,0,4, - 39,40,38,0,4, - 32,6,33,0,4, - 33,42,30,0,4, - 35,11,34,0,4, - 37,4,36,0,4, - 37,35,44,0,4, - 36,39,34,0,4, - 4,40,36,0,4, - 4,39,38,0,4, - 42,43,41,0,4, - 6,43,33,0,4, - 6,42,41,0,4, - 27,19,25,0,4, - 17,26,24,0,4, - 35,5,44,0,4, - 5,37,44,0,4, - 31,7,45,0,4, - 7,32,45,0,4, - 46,53,52,0,4, - 51,54,55,0,4, - 52,53,50,0,4, - 2,54,51,0,4, - 0,53,47,0,4, - 0,52,50,0,4, - 2,55,49,0,4, - 8,17,13,0,4, - 31,32,12,0,4, - 8,13,32,0,4, - 32,13,12,0,4, - 18,13,22,0,4, - 37,18,35,0,4, - 35,18,22,0,4, - 14,18,23,0,4, - 23,37,36,0,4, - 31,14,30,0,4, - 15,49,48,0,4, - 46,21,47,0,4, - 23,36,34,0,4, - 30,14,33,0,4, - 23,16,14,0,4, - 21,16,20,0,4, - 47,20,11,0,4, - 16,48,10,0,4, - 33,16,10,0,4, - 20,34,11,0,4, - 47,1,0,0,4, - 48,8,10,0,4, - 3,28,17,0,4, - 29,1,19,0,4, - 49,3,2,0,4, - 46,29,21,0,4, - 22,9,35,0,4, - 1,29,46,0,4, - 7,31,30,0,4, - 5,35,34,0,4, - 49,55,54,0,4, - 8,32,33,0,4, - 9,1,47,0,4, - 17,24,25,0,4, - 24,26,27,0,4, - 17,19,22,0,4, - 26,28,29,0,4, - 21,29,28,0,4, - 32,7,6,0,4, - 33,43,42,0,4, - 35,9,11,0,4, - 37,5,4,0,4, - 36,40,39,0,4, - 4,38,40,0,4, - 4,34,39,0,4, - 6,41,43,0,4, - 6,30,42,0,4, - 27,29,19,0,4, - 17,28,26,0,4, - 46,47,53,0,4, - 2,48,54,0,4, - 0,50,53,0,4, - 0,46,52,0,4, - 2,51,55,0,4, - 18,12,13,0,4, - 14,12,18,0,4, - 23,18,37,0,4, - 31,12,14,0,4, - 23,20,16,0,4, - 21,15,16,0,4, - 47,21,20,0,4, - 16,15,48,0,4, - 33,14,16,0,4, - 20,23,34,0,4, - 48,3,8,0,4, - 49,28,3,0,4 -}; - -VANIM modelCube_anim = { - 19, - 56, - { - //Frame 0 - { -32,19,-25 }, - { -32,-10,-25 }, - { -32,20,25 }, - { -32,-9,25 }, - { 33,19,-24 }, - { 33,-10,-25 }, - { 33,20,25 }, - { 33,-9,25 }, - { 0,-9,25 }, - { 0,-10,-25 }, - { 0,20,25 }, - { 0,19,-25 }, - { 33,-10,4 }, - { 0,-10,4 }, - { 33,20,4 }, - { -32,20,4 }, - { 0,20,4 }, - { -32,-10,4 }, - { 33,-10,-3 }, - { -32,-10,-3 }, - { 0,20,-3 }, - { -32,20,-3 }, - { 0,-10,-3 }, - { 33,20,-3 }, - { -45,-13,4 }, - { -45,-13,-3 }, - { -45,-10,4 }, - { -45,-11,-3 }, - { -32,-6,4 }, - { -32,-6,-3 }, - { 33,20,15 }, - { 33,-10,16 }, - { 24,-9,25 }, - { 24,20,25 }, - { 24,19,-25 }, - { 24,-10,-25 }, - { 33,19,-17 }, - { 33,-10,-16 }, - { 30,29,-24 }, - { 26,29,-24 }, - { 30,29,-20 }, - { 31,30,22 }, - { 31,30,19 }, - { 28,30,22 }, - { 33,-21,-22 }, - { 31,-21,23 }, - { -32,19,-13 }, - { -20,19,-25 }, - { -18,19,25 }, - { -32,20,13 }, - { -30,29,-23 }, - { -27,30,22 }, - { -30,29,-18 }, - { -26,29,-23 }, - { -22,29,22 }, - { -27,29,18 }, - - //Frame 1 - { -32,19,-25 }, - { -32,-11,-25 }, - { -32,20,24 }, - { -32,-9,25 }, - { 33,19,-24 }, - { 33,-11,-25 }, - { 33,20,24 }, - { 33,-10,25 }, - { 0,-10,25 }, - { 0,-11,-25 }, - { 0,19,25 }, - { 0,19,-25 }, - { 33,-10,4 }, - { 0,-10,5 }, - { 33,19,4 }, - { -32,19,4 }, - { 0,19,4 }, - { -32,-10,4 }, - { 33,-10,-3 }, - { -32,-10,-3 }, - { 0,19,-3 }, - { -32,19,-3 }, - { 0,-10,-3 }, - { 33,19,-3 }, - { -45,-14,4 }, - { -45,-14,-3 }, - { -45,-11,4 }, - { -45,-11,-3 }, - { -32,-6,4 }, - { -32,-6,-3 }, - { 33,20,15 }, - { 33,-10,16 }, - { 24,-10,25 }, - { 24,20,24 }, - { 24,19,-25 }, - { 24,-11,-25 }, - { 33,19,-17 }, - { 33,-10,-16 }, - { 31,29,-24 }, - { 27,29,-24 }, - { 31,29,-20 }, - { 31,30,22 }, - { 31,30,19 }, - { 27,30,22 }, - { 33,-21,-21 }, - { 31,-21,23 }, - { -32,19,-13 }, - { -20,18,-25 }, - { -18,19,24 }, - { -32,19,13 }, - { -31,29,-23 }, - { -27,29,22 }, - { -31,29,-18 }, - { -26,29,-23 }, - { -22,29,22 }, - { -27,29,18 }, - - //Frame 2 - { -32,17,-26 }, - { -32,-12,-25 }, - { -32,19,24 }, - { -32,-10,25 }, - { 33,17,-25 }, - { 33,-12,-25 }, - { 33,19,24 }, - { 33,-10,25 }, - { 0,-12,26 }, - { 0,-13,-24 }, - { 0,18,25 }, - { 0,16,-25 }, - { 33,-11,5 }, - { 0,-12,5 }, - { 33,18,4 }, - { -32,18,4 }, - { 0,17,4 }, - { -32,-11,5 }, - { 33,-11,-2 }, - { -32,-11,-2 }, - { 0,17,-3 }, - { -32,18,-3 }, - { 0,-13,-2 }, - { 33,18,-3 }, - { -45,-15,5 }, - { -45,-15,-2 }, - { -45,-12,5 }, - { -45,-12,-2 }, - { -32,-7,5 }, - { -32,-8,-3 }, - { 33,19,15 }, - { 33,-11,16 }, - { 24,-10,25 }, - { 24,19,24 }, - { 24,17,-26 }, - { 24,-12,-25 }, - { 33,18,-17 }, - { 33,-12,-16 }, - { 32,28,-24 }, - { 28,28,-24 }, - { 32,28,-21 }, - { 30,29,22 }, - { 30,29,18 }, - { 26,29,22 }, - { 33,-22,-21 }, - { 31,-21,23 }, - { -32,18,-13 }, - { -20,17,-26 }, - { -18,19,24 }, - { -32,19,13 }, - { -32,28,-23 }, - { -26,29,22 }, - { -32,28,-19 }, - { -27,28,-23 }, - { -21,29,22 }, - { -26,29,17 }, - - //Frame 3 - { -32,15,-26 }, - { -32,-14,-24 }, - { -32,18,24 }, - { -32,-12,26 }, - { 33,15,-25 }, - { 33,-14,-24 }, - { 33,18,24 }, - { 33,-12,26 }, - { 0,-15,26 }, - { 0,-18,-24 }, - { 0,14,24 }, - { 0,12,-25 }, - { 33,-13,5 }, - { 0,-16,5 }, - { 33,16,3 }, - { -32,16,3 }, - { 0,13,4 }, - { -32,-13,5 }, - { 33,-13,-2 }, - { -32,-13,-2 }, - { 0,13,-3 }, - { -32,16,-4 }, - { 0,-17,-2 }, - { 33,16,-4 }, - { -45,-16,5 }, - { -45,-17,-2 }, - { -45,-14,5 }, - { -45,-14,-2 }, - { -32,-9,5 }, - { -32,-10,-2 }, - { 33,17,15 }, - { 33,-12,16 }, - { 24,-12,26 }, - { 24,18,24 }, - { 24,15,-26 }, - { 24,-14,-24 }, - { 33,15,-17 }, - { 33,-14,-16 }, - { 34,26,-25 }, - { 30,26,-25 }, - { 34,26,-21 }, - { 27,28,22 }, - { 27,28,18 }, - { 24,28,22 }, - { 33,-25,-20 }, - { 31,-23,24 }, - { -32,16,-13 }, - { -20,14,-26 }, - { -18,17,24 }, - { -32,17,13 }, - { -34,26,-24 }, - { -23,28,21 }, - { -34,26,-19 }, - { -30,26,-24 }, - { -18,28,21 }, - { -23,28,17 }, - - //Frame 4 - { -32,11,-26 }, - { -32,-18,-24 }, - { -32,15,24 }, - { -32,-14,26 }, - { 33,11,-25 }, - { 33,-18,-24 }, - { 33,15,24 }, - { 33,-15,26 }, - { 0,-20,27 }, - { 0,-24,-23 }, - { 0,9,24 }, - { 0,6,-25 }, - { 33,-16,5 }, - { 0,-22,6 }, - { 33,13,3 }, - { -32,13,3 }, - { 0,8,4 }, - { -32,-16,5 }, - { 33,-17,-2 }, - { -32,-17,-2 }, - { 0,7,-3 }, - { -32,13,-4 }, - { 0,-22,-1 }, - { 33,13,-4 }, - { -45,-20,6 }, - { -45,-20,-1 }, - { -45,-17,5 }, - { -45,-17,-2 }, - { -32,-13,5 }, - { -32,-13,-2 }, - { 33,14,15 }, - { 33,-15,17 }, - { 24,-15,26 }, - { 24,15,24 }, - { 24,11,-26 }, - { 24,-18,-24 }, - { 33,12,-18 }, - { 33,-18,-15 }, - { 38,22,-25 }, - { 34,22,-25 }, - { 38,22,-22 }, - { 23,26,21 }, - { 23,26,17 }, - { 20,26,21 }, - { 33,-29,-20 }, - { 31,-26,25 }, - { -32,12,-14 }, - { -20,11,-26 }, - { -18,14,24 }, - { -32,14,12 }, - { -38,22,-24 }, - { -19,26,21 }, - { -38,23,-20 }, - { -34,22,-24 }, - { -14,26,21 }, - { -19,25,16 }, - - //Frame 5 - { -32,6,-26 }, - { -32,-23,-24 }, - { -32,11,23 }, - { -32,-18,26 }, - { 33,6,-25 }, - { 33,-23,-24 }, - { 33,11,23 }, - { 33,-19,26 }, - { 0,-26,27 }, - { 0,-30,-23 }, - { 0,4,24 }, - { 0,-1,-25 }, - { 33,-20,6 }, - { 0,-28,6 }, - { 33,9,3 }, - { -32,9,3 }, - { 0,2,4 }, - { -32,-20,6 }, - { 33,-21,-1 }, - { -32,-21,-1 }, - { 0,1,-3 }, - { -32,8,-4 }, - { 0,-28,-1 }, - { 33,8,-4 }, - { -45,-24,6 }, - { -45,-25,-1 }, - { -45,-21,6 }, - { -45,-22,-1 }, - { -32,-17,5 }, - { -32,-17,-2 }, - { 33,10,14 }, - { 33,-19,17 }, - { 24,-19,26 }, - { 24,11,23 }, - { 24,6,-26 }, - { 24,-23,-24 }, - { 33,7,-18 }, - { 33,-22,-15 }, - { 41,18,-25 }, - { 37,18,-25 }, - { 41,18,-22 }, - { 20,22,21 }, - { 20,22,17 }, - { 17,22,21 }, - { 33,-33,-19 }, - { 31,-30,25 }, - { -32,7,-14 }, - { -20,6,-26 }, - { -18,10,24 }, - { -32,10,12 }, - { -41,18,-25 }, - { -16,22,20 }, - { -41,18,-20 }, - { -37,18,-24 }, - { -11,22,20 }, - { -16,22,16 }, - - //Frame 6 - { -32,4,-26 }, - { -32,-25,-23 }, - { -32,9,23 }, - { -32,-20,26 }, - { 33,4,-25 }, - { 33,-25,-23 }, - { 33,9,23 }, - { 33,-20,26 }, - { 0,-29,27 }, - { 0,-34,-23 }, - { 0,1,24 }, - { 0,-4,-25 }, - { 33,-22,6 }, - { 0,-31,7 }, - { 33,7,3 }, - { -32,7,3 }, - { 0,-1,4 }, - { -32,-22,6 }, - { 33,-23,-1 }, - { -32,-23,-1 }, - { 0,-2,-3 }, - { -32,6,-4 }, - { 0,-31,-1 }, - { 33,6,-4 }, - { -45,-26,6 }, - { -45,-27,-1 }, - { -45,-23,6 }, - { -45,-24,-1 }, - { -32,-19,5 }, - { -32,-19,-2 }, - { 33,8,14 }, - { 33,-21,17 }, - { 24,-20,26 }, - { 24,9,23 }, - { 24,4,-26 }, - { 24,-25,-23 }, - { 33,5,-18 }, - { 33,-24,-15 }, - { 42,16,-26 }, - { 38,16,-26 }, - { 42,16,-22 }, - { 19,21,21 }, - { 19,20,17 }, - { 16,21,21 }, - { 33,-35,-19 }, - { 31,-32,25 }, - { -32,5,-14 }, - { -20,4,-26 }, - { -18,8,23 }, - { -32,8,12 }, - { -42,16,-25 }, - { -15,20,20 }, - { -42,17,-20 }, - { -38,16,-25 }, - { -10,20,20 }, - { -15,20,16 }, - - //Frame 7 - { -32,6,-26 }, - { -32,-23,-24 }, - { -32,10,24 }, - { -32,-19,26 }, - { 33,6,-25 }, - { 33,-23,-24 }, - { 33,10,24 }, - { 33,-19,26 }, - { 0,-28,27 }, - { 0,-32,-23 }, - { 0,1,24 }, - { 0,-3,-25 }, - { 33,-21,5 }, - { 0,-30,6 }, - { 33,9,3 }, - { -32,9,3 }, - { 0,0,4 }, - { -32,-21,5 }, - { 33,-21,-2 }, - { -32,-21,-2 }, - { 0,-1,-3 }, - { -32,8,-4 }, - { 0,-30,-1 }, - { 33,8,-4 }, - { -45,-24,6 }, - { -45,-25,-1 }, - { -45,-21,6 }, - { -45,-22,-2 }, - { -32,-17,5 }, - { -32,-18,-2 }, - { 33,9,14 }, - { 33,-20,17 }, - { 24,-19,26 }, - { 24,10,24 }, - { 24,6,-26 }, - { 24,-23,-24 }, - { 33,7,-18 }, - { 33,-22,-15 }, - { 41,17,-25 }, - { 38,17,-25 }, - { 41,18,-22 }, - { 20,22,21 }, - { 20,21,17 }, - { 17,22,21 }, - { 33,-33,-20 }, - { 31,-30,25 }, - { -32,7,-14 }, - { -20,6,-26 }, - { -18,10,24 }, - { -32,9,12 }, - { -41,18,-24 }, - { -16,21,20 }, - { -41,18,-20 }, - { -37,18,-24 }, - { -11,21,20 }, - { -16,21,16 }, - - //Frame 8 - { -32,13,-26 }, - { -32,-17,-24 }, - { -32,15,24 }, - { -32,-15,25 }, - { 33,13,-25 }, - { 33,-17,-24 }, - { 33,15,24 }, - { 33,-15,25 }, - { 0,-22,26 }, - { 0,-24,-24 }, - { 0,7,25 }, - { 0,5,-25 }, - { 33,-16,5 }, - { 0,-23,5 }, - { 33,14,4 }, - { -32,14,4 }, - { 0,6,4 }, - { -32,-16,5 }, - { 33,-16,-2 }, - { -32,-16,-2 }, - { 0,6,-3 }, - { -32,14,-4 }, - { 0,-23,-2 }, - { 33,14,-4 }, - { -45,-19,5 }, - { -45,-19,-2 }, - { -45,-16,5 }, - { -45,-17,-2 }, - { -32,-12,5 }, - { -32,-12,-2 }, - { 33,14,15 }, - { 33,-15,16 }, - { 24,-15,25 }, - { 24,15,24 }, - { 24,13,-26 }, - { 24,-17,-24 }, - { 33,13,-17 }, - { 33,-16,-16 }, - { 39,23,-24 }, - { 35,23,-24 }, - { 39,23,-21 }, - { 23,25,22 }, - { 23,25,18 }, - { 19,25,22 }, - { 33,-27,-21 }, - { 31,-26,24 }, - { -32,13,-13 }, - { -20,12,-26 }, - { -18,14,24 }, - { -32,14,13 }, - { -39,23,-23 }, - { -18,25,21 }, - { -39,24,-19 }, - { -35,23,-23 }, - { -13,25,21 }, - { -18,25,17 }, - - //Frame 9 - { -32,19,-25 }, - { -32,-11,-25 }, - { -32,18,25 }, - { -32,-11,24 }, - { 33,19,-24 }, - { 33,-11,-25 }, - { 33,18,25 }, - { 33,-12,24 }, - { 0,-16,24 }, - { 0,-15,-25 }, - { 0,14,25 }, - { 0,14,-25 }, - { 33,-11,4 }, - { 0,-15,4 }, - { 33,18,4 }, - { -32,18,4 }, - { 0,14,4 }, - { -32,-11,4 }, - { 33,-11,-3 }, - { -32,-11,-3 }, - { 0,14,-3 }, - { -32,18,-3 }, - { 0,-15,-3 }, - { 33,18,-3 }, - { -45,-15,4 }, - { -45,-15,-3 }, - { -45,-12,4 }, - { -45,-12,-3 }, - { -32,-8,4 }, - { -32,-7,-3 }, - { 33,18,16 }, - { 33,-11,15 }, - { 24,-12,24 }, - { 24,18,25 }, - { 24,19,-25 }, - { 24,-11,-25 }, - { 33,18,-16 }, - { 33,-11,-17 }, - { 35,28,-23 }, - { 31,28,-23 }, - { 35,28,-20 }, - { 26,28,23 }, - { 26,28,19 }, - { 23,28,23 }, - { 33,-21,-22 }, - { 31,-23,22 }, - { -32,18,-13 }, - { -20,18,-25 }, - { -18,17,25 }, - { -32,18,14 }, - { -35,28,-22 }, - { -22,28,23 }, - { -35,28,-18 }, - { -31,28,-22 }, - { -17,28,23 }, - { -22,28,19 }, - - //Frame 10 - { -32,20,-24 }, - { -32,-9,-26 }, - { -32,18,25 }, - { -32,-12,24 }, - { 33,20,-23 }, - { 33,-9,-26 }, - { 33,18,25 }, - { 33,-12,24 }, - { 0,-11,23 }, - { 0,-9,-27 }, - { 0,18,25 }, - { 0,21,-25 }, - { 33,-11,3 }, - { 0,-10,3 }, - { 33,19,5 }, - { -32,19,5 }, - { 0,19,4 }, - { -32,-11,3 }, - { 33,-10,-4 }, - { -32,-10,-4 }, - { 0,20,-3 }, - { -32,19,-2 }, - { 0,-10,-4 }, - { 33,19,-2 }, - { -45,-14,3 }, - { -45,-14,-4 }, - { -45,-11,3 }, - { -45,-11,-4 }, - { -32,-7,3 }, - { -32,-7,-4 }, - { 33,18,16 }, - { 33,-11,15 }, - { 24,-12,24 }, - { 24,18,25 }, - { 24,20,-24 }, - { 24,-9,-26 }, - { 33,20,-16 }, - { 33,-9,-18 }, - { 31,30,-22 }, - { 27,30,-22 }, - { 31,30,-19 }, - { 31,28,24 }, - { 31,28,20 }, - { 27,28,24 }, - { 33,-20,-23 }, - { 31,-23,21 }, - { -32,20,-12 }, - { -20,20,-24 }, - { -18,17,25 }, - { -32,18,14 }, - { -31,30,-21 }, - { -27,27,24 }, - { -31,30,-17 }, - { -26,30,-21 }, - { -22,27,24 }, - { -27,28,20 }, - - //Frame 11 - { -32,21,-24 }, - { -32,-9,-26 }, - { -32,17,26 }, - { -32,-12,24 }, - { 33,21,-23 }, - { 33,-9,-26 }, - { 33,17,26 }, - { 33,-12,24 }, - { 0,-8,23 }, - { 0,-4,-27 }, - { 0,21,25 }, - { 0,25,-25 }, - { 33,-11,3 }, - { 0,-7,2 }, - { 33,19,5 }, - { -32,19,5 }, - { 0,23,4 }, - { -32,-11,3 }, - { 33,-10,-4 }, - { -32,-10,-4 }, - { 0,23,-3 }, - { -32,19,-2 }, - { 0,-6,-5 }, - { 33,19,-2 }, - { -45,-14,3 }, - { -45,-14,-4 }, - { -45,-11,3 }, - { -45,-11,-4 }, - { -32,-7,3 }, - { -32,-7,-4 }, - { 33,18,16 }, - { 33,-11,14 }, - { 24,-12,24 }, - { 24,17,26 }, - { 24,21,-24 }, - { 24,-9,-26 }, - { 33,20,-16 }, - { 33,-9,-18 }, - { 25,31,-22 }, - { 22,31,-22 }, - { 25,30,-18 }, - { 36,27,24 }, - { 36,28,21 }, - { 32,27,24 }, - { 33,-19,-24 }, - { 31,-23,21 }, - { -32,20,-12 }, - { -20,20,-24 }, - { -18,17,26 }, - { -32,18,14 }, - { -25,31,-21 }, - { -32,27,24 }, - { -25,30,-16 }, - { -21,30,-21 }, - { -27,27,24 }, - { -32,28,20 }, - - //Frame 12 - { -32,20,-24 }, - { -32,-9,-26 }, - { -32,17,26 }, - { -32,-12,24 }, - { 33,20,-23 }, - { 33,-9,-26 }, - { 33,17,26 }, - { 33,-13,24 }, - { 0,-7,23 }, - { 0,-4,-27 }, - { 0,22,25 }, - { 0,26,-25 }, - { 33,-11,3 }, - { 0,-6,2 }, - { 33,18,5 }, - { -32,18,5 }, - { 0,24,4 }, - { -32,-11,3 }, - { 33,-11,-4 }, - { -32,-11,-4 }, - { 0,24,-3 }, - { -32,19,-2 }, - { 0,-5,-5 }, - { 33,19,-2 }, - { -45,-15,3 }, - { -45,-14,-4 }, - { -45,-12,3 }, - { -45,-11,-4 }, - { -32,-7,3 }, - { -32,-7,-4 }, - { 33,17,16 }, - { 33,-12,14 }, - { 24,-13,24 }, - { 24,17,26 }, - { 24,20,-24 }, - { 24,-9,-26 }, - { 33,20,-16 }, - { 33,-10,-18 }, - { 21,31,-22 }, - { 17,31,-22 }, - { 21,31,-18 }, - { 41,28,24 }, - { 41,28,21 }, - { 37,28,24 }, - { 33,-20,-24 }, - { 31,-23,21 }, - { -32,19,-12 }, - { -20,20,-24 }, - { -18,16,26 }, - { -32,18,14 }, - { -21,31,-21 }, - { -37,27,24 }, - { -21,30,-16 }, - { -16,30,-21 }, - { -32,27,24 }, - { -37,28,20 }, - - //Frame 13 - { -32,19,-24 }, - { -32,-10,-26 }, - { -32,16,26 }, - { -32,-14,24 }, - { 33,19,-23 }, - { 33,-10,-26 }, - { 33,16,26 }, - { 33,-14,24 }, - { 0,-10,23 }, - { 0,-7,-27 }, - { 0,19,25 }, - { 0,22,-25 }, - { 33,-12,3 }, - { 0,-9,2 }, - { 33,17,5 }, - { -32,17,5 }, - { 0,21,4 }, - { -32,-12,3 }, - { 33,-12,-4 }, - { -32,-12,-4 }, - { 0,21,-3 }, - { -32,17,-2 }, - { 0,-8,-5 }, - { 33,17,-2 }, - { -45,-16,3 }, - { -45,-16,-4 }, - { -45,-13,3 }, - { -45,-13,-4 }, - { -32,-9,3 }, - { -32,-8,-4 }, - { 33,16,16 }, - { 33,-13,14 }, - { 24,-14,24 }, - { 24,16,26 }, - { 24,19,-24 }, - { 24,-10,-26 }, - { 33,18,-16 }, - { 33,-11,-18 }, - { 17,30,-22 }, - { 13,30,-22 }, - { 17,30,-18 }, - { 44,27,24 }, - { 44,27,20 }, - { 41,27,24 }, - { 33,-21,-24 }, - { 31,-25,21 }, - { -32,18,-12 }, - { -20,19,-24 }, - { -18,15,26 }, - { -32,16,14 }, - { -17,30,-21 }, - { -41,27,24 }, - { -17,30,-17 }, - { -13,30,-21 }, - { -35,27,24 }, - { -41,27,20 }, - - //Frame 14 - { -32,13,-24 }, - { -32,-17,-26 }, - { -32,10,25 }, - { -32,-20,24 }, - { 33,13,-23 }, - { 33,-17,-26 }, - { 33,10,25 }, - { 33,-20,24 }, - { 0,-22,23 }, - { 0,-20,-27 }, - { 0,7,25 }, - { 0,10,-25 }, - { 33,-18,3 }, - { 0,-21,3 }, - { 33,11,5 }, - { -32,11,5 }, - { 0,8,4 }, - { -32,-18,3 }, - { 33,-18,-4 }, - { -32,-18,-4 }, - { 0,9,-3 }, - { -32,11,-2 }, - { 0,-21,-4 }, - { 33,11,-2 }, - { -45,-22,3 }, - { -45,-22,-4 }, - { -45,-19,3 }, - { -45,-19,-4 }, - { -32,-15,3 }, - { -32,-14,-4 }, - { 33,10,16 }, - { 33,-19,15 }, - { 24,-20,24 }, - { 24,10,25 }, - { 24,13,-24 }, - { 24,-17,-26 }, - { 33,12,-16 }, - { 33,-17,-18 }, - { 15,25,-22 }, - { 11,25,-22 }, - { 15,24,-19 }, - { 46,22,24 }, - { 46,22,20 }, - { 43,22,24 }, - { 33,-27,-24 }, - { 31,-31,21 }, - { -32,12,-12 }, - { -20,12,-24 }, - { -18,9,25 }, - { -32,10,14 }, - { -15,24,-21 }, - { -43,21,24 }, - { -15,24,-17 }, - { -11,24,-21 }, - { -38,21,24 }, - { -43,22,20 }, - - //Frame 15 - { -32,9,-25 }, - { -32,-21,-26 }, - { -32,6,25 }, - { -32,-23,24 }, - { 33,8,-24 }, - { 33,-21,-26 }, - { 33,6,25 }, - { 33,-23,24 }, - { 0,-31,23 }, - { 0,-28,-26 }, - { 0,-1,25 }, - { 0,1,-25 }, - { 33,-22,3 }, - { 0,-30,3 }, - { 33,7,5 }, - { -32,7,5 }, - { 0,0,4 }, - { -32,-22,3 }, - { 33,-22,-4 }, - { -32,-22,-4 }, - { 0,0,-3 }, - { -32,7,-2 }, - { 0,-29,-4 }, - { 33,7,-2 }, - { -45,-26,3 }, - { -45,-25,-4 }, - { -45,-23,3 }, - { -45,-23,-4 }, - { -32,-19,3 }, - { -32,-18,-4 }, - { 33,7,16 }, - { 33,-23,15 }, - { 24,-23,24 }, - { 24,6,25 }, - { 24,9,-25 }, - { 24,-21,-26 }, - { 33,8,-16 }, - { 33,-21,-17 }, - { 14,21,-22 }, - { 10,21,-22 }, - { 14,21,-19 }, - { 47,18,24 }, - { 47,18,20 }, - { 44,18,24 }, - { 33,-31,-23 }, - { 31,-34,21 }, - { -32,8,-12 }, - { -20,8,-25 }, - { -18,6,25 }, - { -32,7,14 }, - { -14,20,-21 }, - { -44,18,23 }, - { -14,20,-17 }, - { -10,20,-21 }, - { -39,18,23 }, - { -44,18,19 }, - - //Frame 16 - { -32,7,-25 }, - { -32,-22,-26 }, - { -32,6,25 }, - { -32,-24,24 }, - { 33,7,-24 }, - { 33,-22,-26 }, - { 33,6,25 }, - { 33,-24,24 }, - { 0,-32,24 }, - { 0,-31,-26 }, - { 0,-3,25 }, - { 0,-1,-25 }, - { 33,-23,4 }, - { 0,-32,3 }, - { 33,6,5 }, - { -32,6,5 }, - { 0,-2,4 }, - { -32,-23,4 }, - { 33,-23,-4 }, - { -32,-23,-4 }, - { 0,-2,-3 }, - { -32,7,-3 }, - { 0,-31,-4 }, - { 33,7,-3 }, - { -45,-27,3 }, - { -45,-26,-4 }, - { -45,-24,3 }, - { -45,-23,-4 }, - { -32,-19,4 }, - { -32,-19,-3 }, - { 33,6,16 }, - { 33,-23,15 }, - { 24,-24,24 }, - { 24,6,25 }, - { 24,7,-25 }, - { 24,-22,-26 }, - { 33,7,-16 }, - { 33,-22,-17 }, - { 15,20,-23 }, - { 11,20,-23 }, - { 15,20,-19 }, - { 47,18,24 }, - { 47,18,20 }, - { 43,18,24 }, - { 33,-33,-23 }, - { 31,-35,22 }, - { -32,7,-12 }, - { -20,7,-25 }, - { -18,5,25 }, - { -32,6,14 }, - { -15,19,-22 }, - { -43,18,23 }, - { -15,19,-17 }, - { -11,19,-22 }, - { -38,17,23 }, - { -43,18,19 }, - - //Frame 17 - { -32,10,-25 }, - { -32,-20,-25 }, - { -32,9,25 }, - { -32,-21,24 }, - { 33,10,-24 }, - { 33,-20,-25 }, - { 33,9,25 }, - { 33,-21,24 }, - { 0,-29,24 }, - { 0,-28,-26 }, - { 0,0,25 }, - { 0,1,-25 }, - { 33,-20,4 }, - { 0,-29,4 }, - { 33,9,4 }, - { -32,9,4 }, - { 0,1,4 }, - { -32,-20,4 }, - { 33,-20,-3 }, - { -32,-20,-3 }, - { 0,1,-3 }, - { -32,9,-3 }, - { 0,-29,-4 }, - { 33,9,-3 }, - { -45,-24,4 }, - { -45,-24,-3 }, - { -45,-21,4 }, - { -45,-21,-3 }, - { -32,-17,4 }, - { -32,-16,-3 }, - { 33,9,16 }, - { 33,-21,15 }, - { 24,-21,24 }, - { 24,9,25 }, - { 24,10,-25 }, - { 24,-20,-25 }, - { 33,10,-16 }, - { 33,-20,-17 }, - { 17,22,-23 }, - { 13,22,-23 }, - { 17,22,-19 }, - { 44,21,23 }, - { 44,21,20 }, - { 41,21,23 }, - { 33,-30,-23 }, - { 31,-32,22 }, - { -32,9,-12 }, - { -20,9,-25 }, - { -18,8,25 }, - { -32,9,14 }, - { -17,21,-22 }, - { -41,20,23 }, - { -17,21,-18 }, - { -13,21,-22 }, - { -35,20,23 }, - { -41,20,19 }, - - //Frame 18 - { -32,16,-25 }, - { -32,-14,-25 }, - { -32,15,25 }, - { -32,-14,25 }, - { 33,16,-24 }, - { 33,-14,-25 }, - { 33,15,25 }, - { 33,-14,25 }, - { 0,-22,24 }, - { 0,-21,-25 }, - { 0,8,25 }, - { 0,8,-25 }, - { 33,-14,4 }, - { 0,-21,4 }, - { 33,15,4 }, - { -32,15,4 }, - { 0,8,4 }, - { -32,-14,4 }, - { 33,-14,-3 }, - { -32,-14,-3 }, - { 0,8,-3 }, - { -32,15,-3 }, - { 0,-21,-3 }, - { 33,15,-3 }, - { -45,-18,4 }, - { -45,-18,-3 }, - { -45,-15,4 }, - { -45,-15,-3 }, - { -32,-10,4 }, - { -32,-10,-3 }, - { 33,15,16 }, - { 33,-14,15 }, - { 24,-14,25 }, - { 24,15,25 }, - { 24,16,-25 }, - { 24,-14,-25 }, - { 33,16,-16 }, - { 33,-14,-17 }, - { 21,28,-23 }, - { 17,28,-23 }, - { 21,28,-20 }, - { 41,27,23 }, - { 41,27,19 }, - { 37,27,23 }, - { 33,-24,-22 }, - { 31,-25,22 }, - { -32,16,-13 }, - { -20,15,-25 }, - { -18,15,25 }, - { -32,15,14 }, - { -21,27,-22 }, - { -37,27,23 }, - { -21,27,-18 }, - { -16,27,-22 }, - { -32,27,23 }, - { -37,27,18 }, - - //Frame 19 - { -32,19,-25 }, - { -32,-11,-25 }, - { -32,19,25 }, - { -32,-11,25 }, - { 33,19,-24 }, - { 33,-11,-25 }, - { 33,19,25 }, - { 33,-11,25 }, - { 0,-16,25 }, - { 0,-16,-25 }, - { 0,13,25 }, - { 0,14,-25 }, - { 33,-11,4 }, - { 0,-16,4 }, - { 33,19,4 }, - { -32,19,4 }, - { 0,14,4 }, - { -32,-11,4 }, - { 33,-11,-3 }, - { -32,-11,-3 }, - { 0,14,-3 }, - { -32,19,-3 }, - { 0,-16,-3 }, - { 33,19,-3 }, - { -45,-14,4 }, - { -45,-14,-3 }, - { -45,-11,4 }, - { -45,-11,-3 }, - { -32,-7,4 }, - { -32,-7,-3 }, - { 33,19,16 }, - { 33,-11,15 }, - { 24,-11,25 }, - { 24,19,25 }, - { 24,19,-25 }, - { 24,-11,-25 }, - { 33,19,-17 }, - { 33,-11,-17 }, - { 25,31,-23 }, - { 21,31,-23 }, - { 25,31,-20 }, - { 37,31,23 }, - { 37,31,19 }, - { 33,31,23 }, - { 33,-21,-22 }, - { 31,-22,23 }, - { -32,19,-13 }, - { -20,18,-25 }, - { -18,18,25 }, - { -32,19,13 }, - { -25,31,-22 }, - { -33,30,22 }, - { -25,31,-18 }, - { -20,30,-22 }, - { -28,30,22 }, - { -33,30,18 } - - } -}; -MATRIX modelCube_matrix = {0}; -VECTOR modelCube_pos = {-463,-83,58, 0}; -SVECTOR modelCube_rot = {0,0,0}; -short modelCube_isRigidBody =1; -short modelCube_isStaticBody =0; -short modelCube_isPrism =0; -short modelCube_isAnim =1; -short modelCube_isActor =1; -short modelCube_isLevel =0; -long modelCube_p = 0; -BODY modelCube_body = { - {100, 0, 0, 0}, - -463,-83,58, 0, - 0,0,0, 0, - ONE/64, - -45,-28,-27, 0, - 42,31,26, 0, - 1024 - }; - -TMESH modelCube = { - modelCube_mesh, - modelCube_normal, - modelCube_uv, - modelCube_color, - 108 -}; - -extern unsigned long _binary_TIM_cat_tim_start[]; -extern unsigned long _binary_TIM_cat_tim_end[]; -extern unsigned long _binary_TIM_cat_tim_length; - -TIM_IMAGE tim_cat; - -MESH meshCube = { - &modelCube, - modelCube_index, - &tim_cat, - _binary_TIM_cat_tim_start, - &modelCube_matrix, - &modelCube_pos, - &modelCube_rot, - &modelCube_isRigidBody, - &modelCube_isStaticBody, - &modelCube_isPrism, - &modelCube_isAnim, - &modelCube_isActor, - &modelCube_isLevel, - &modelCube_p, - &modelCube_body, - &modelCube_anim -}; - -SVECTOR modelCylindre_mesh[] = { - {49,62,60}, - {56,-3,91}, - {56,62,57}, - {82,-3,76}, - {58,62,51}, - {90,-3,51}, - {56,62,45}, - {81,-3,26}, - {52,62,42}, - {47,62,42}, - {58,-3,14}, - {43,62,44}, - {36,-3,16}, - {41,62,47}, - {17,-3,34}, - {40,62,51}, - {13,-3,56}, - {41,62,55}, - {20,-3,74}, - {44,62,58}, - {34,-3,86} -}; - -SVECTOR modelCylindre_normal[] = { - -243,-3262,-2465,0, - -587,1886,-3588,0, - -1821,-3275,-1653,0, - -2858,1851,-2277,0, - -2431,-3296,-56,0, - -3633,1889,85,0, - -1958,-3272,1495,0, - -2763,1892,2358,0, - -790,-3295,2300,0, - 442,-3272,2423,0, - -692,1973,3522,0, - 1536,-3268,1934,0, - 1485,2007,3247,0, - 2300,-3239,997,0, - 3172,1995,1654,0, - 2481,-3254,-178,0, - 3517,2064,-378,0, - 2101,-3259,-1320,0, - 2905,2026,-2057,0, - 1175,-3288,-2142,0, - 1543,2011,-3218,0 -}; - -SVECTOR modelCylindre_uv[] = { - 32,134, 0, 0, - 25,153, 0, 0, - 33,153, 0, 0, - 22,153, 0, 0, - 16,171, 0, 0, - 22,171, 0, 0, - 16,153, 0, 0, - 9,171, 0, 0, - 16,171, 0, 0, - 9,153, 0, 0, - 4,171, 0, 0, - 9,171, 0, 0, - 30,171, 0, 0, - 33,153, 0, 0, - 29,153, 0, 0, - 36,171, 0, 0, - 38,153, 0, 0, - 33,153, 0, 0, - 45,171, 0, 0, - 46,153, 0, 0, - 42,153, 0, 0, - 45,171, 0, 0, - 51,153, 0, 0, - 46,153, 0, 0, - 51,171, 0, 0, - 56,153, 0, 0, - 51,153, 0, 0, - 56,171, 0, 0, - 59,153, 0, 0, - 56,153, 0, 0, - 4,178, 0, 0, - 14,189, 0, 0, - 24,183, 0, 0, - 37,134, 0, 0, - 33,153, 0, 0, - 37,153, 0, 0, - 42,186, 0, 0, - 42,174, 0, 0, - 24,177, 0, 0, - 32,134, 0, 0, - 24,134, 0, 0, - 25,153, 0, 0, - 22,153, 0, 0, - 16,153, 0, 0, - 16,171, 0, 0, - 16,153, 0, 0, - 9,153, 0, 0, - 9,171, 0, 0, - 24,171, 0, 0, - 30,171, 0, 0, - 29,153, 0, 0, - 30,171, 0, 0, - 36,171, 0, 0, - 33,153, 0, 0, - 36,171, 0, 0, - 42,171, 0, 0, - 38,153, 0, 0, - 45,171, 0, 0, - 51,171, 0, 0, - 51,153, 0, 0, - 51,171, 0, 0, - 56,171, 0, 0, - 56,153, 0, 0, - 56,171, 0, 0, - 59,171, 0, 0, - 59,153, 0, 0, - 4,178, 0, 0, - 4,182, 0, 0, - 14,189, 0, 0, - 4,182, 0, 0, - 7,187, 0, 0, - 14,189, 0, 0, - 20,188, 0, 0, - 24,183, 0, 0, - 14,189, 0, 0, - 24,183, 0, 0, - 24,177, 0, 0, - 12,171, 0, 0, - 24,177, 0, 0, - 20,172, 0, 0, - 12,171, 0, 0, - 12,171, 0, 0, - 7,174, 0, 0, - 4,178, 0, 0, - 12,171, 0, 0, - 4,178, 0, 0, - 24,183, 0, 0, - 37,134, 0, 0, - 32,134, 0, 0, - 33,153, 0, 0, - 44,182, 0, 0, - 44,178, 0, 0, - 42,186, 0, 0, - 42,174, 0, 0, - 38,171, 0, 0, - 33,171, 0, 0, - 28,173, 0, 0, - 24,177, 0, 0, - 33,171, 0, 0, - 24,177, 0, 0, - 25,184, 0, 0, - 42,186, 0, 0, - 25,184, 0, 0, - 30,188, 0, 0, - 42,186, 0, 0, - 30,188, 0, 0, - 37,189, 0, 0, - 42,186, 0, 0, - 42,186, 0, 0, - 44,178, 0, 0, - 42,174, 0, 0, - 42,174, 0, 0, - 33,171, 0, 0, - 24,177, 0, 0 -}; - -CVECTOR modelCylindre_color[] = { - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 159,144,147, 0, - 255,255,255, 0, - 255,255,255, 0, - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 154,139,143, 0, - 255,255,255, 0, - 255,255,255, 0, - 154,138,142, 0, - 255,255,255, 0, - 255,255,255, 0, - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 153,137,141, 0, - 153,137,141, 0, - 154,139,143, 0, - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 153,137,141, 0, - 159,144,147, 0, - 255,255,255, 0, - 159,144,147, 0, - 153,137,141, 0, - 255,255,255, 0, - 153,137,141, 0, - 154,139,143, 0, - 255,255,255, 0, - 154,139,143, 0, - 154,138,142, 0, - 255,255,255, 0, - 154,138,142, 0, - 153,137,141, 0, - 255,255,255, 0, - 153,137,141, 0, - 153,137,141, 0, - 255,255,255, 0, - 153,137,141, 0, - 153,137,141, 0, - 255,255,255, 0, - 153,137,141, 0, - 153,137,141, 0, - 255,255,255, 0, - 153,137,141, 0, - 158,143,147, 0, - 255,255,255, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 154,138,142, 0, - 154,139,143, 0, - 153,137,141, 0, - 154,139,143, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 154,138,142, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 153,137,141, 0, - 154,139,143, 0, - 153,137,141, 0, - 153,137,141, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0, - 255,255,255, 0 -}; - -PRIM modelCylindre_index[] = { - 1,2,0,0,4, - 3,4,2,0,4, - 5,6,4,0,4, - 7,8,6,0,4, - 10,9,8,0,4, - 12,11,9,0,4, - 14,13,11,0,4, - 14,15,13,0,4, - 16,17,15,0,4, - 18,19,17,0,4, - 18,12,7,0,4, - 20,0,19,0,4, - 8,13,0,0,4, - 1,3,2,0,4, - 3,5,4,0,4, - 5,7,6,0,4, - 7,10,8,0,4, - 10,12,9,0,4, - 12,14,11,0,4, - 14,16,15,0,4, - 16,18,17,0,4, - 18,20,19,0,4, - 18,16,12,0,4, - 16,14,12,0,4, - 10,7,12,0,4, - 7,5,1,0,4, - 5,3,1,0,4, - 1,20,18,0,4, - 1,18,7,0,4, - 20,1,0,0,4, - 9,11,8,0,4, - 13,15,17,0,4, - 19,0,17,0,4, - 0,2,8,0,4, - 2,4,8,0,4, - 4,6,8,0,4, - 8,11,13,0,4, - 13,17,0,0,4 -}; - -MATRIX modelCylindre_matrix = {0}; -VECTOR modelCylindre_pos = {-53,-108,18, 0}; -SVECTOR modelCylindre_rot = {0,0,0}; -short modelCylindre_isRigidBody =0; -short modelCylindre_isStaticBody =1; -short modelCylindre_isPrism =0; -short modelCylindre_isAnim =0; -short modelCylindre_isActor =0; -short modelCylindre_isLevel =0; -long modelCylindre_p = 0; -BODY modelCylindre_body = { - {0, 0, 0, 0}, - -53,-108,18, 0, - 0,0,0, 0, - ONE/1000, - 13,-3,14, 0, - 90,62,91, 0, - 0 - }; - -TMESH modelCylindre = { - modelCylindre_mesh, - modelCylindre_normal, - modelCylindre_uv, - modelCylindre_color, - 38 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshCylindre = { - &modelCylindre, - modelCylindre_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelCylindre_matrix, - &modelCylindre_pos, - &modelCylindre_rot, - &modelCylindre_isRigidBody, - &modelCylindre_isStaticBody, - &modelCylindre_isPrism, - &modelCylindre_isAnim, - &modelCylindre_isActor, - &modelCylindre_isLevel, - &modelCylindre_p, - &modelCylindre_body -}; - -SVECTOR modelgnd_mesh[] = { - {200,0,-98}, - {103,0,-98}, - {200,0,-1}, - {103,0,-1}, - {5,0,-98}, - {5,0,-1}, - {200,0,97}, - {103,0,97}, - {-92,0,-98}, - {5,0,97}, - {-92,0,-1}, - {200,0,194}, - {103,0,194}, - {-92,0,97}, - {-190,0,-98}, - {5,0,194}, - {-190,0,-1}, - {-92,0,194}, - {200,0,292}, - {-190,0,97}, - {103,0,292}, - {5,0,292}, - {-287,0,-98}, - {-287,0,-1}, - {-190,0,194}, - {-92,0,292}, - {-287,0,97}, - {200,0,389}, - {103,0,389}, - {5,0,389}, - {-385,0,-98}, - {-287,0,194}, - {-385,0,-1}, - {-92,0,389}, - {-385,0,97}, - {200,0,487}, - {103,0,487}, - {5,0,487}, - {-385,0,194}, - {-482,0,-98}, - {-482,0,-1}, - {-92,0,487}, - {-482,0,97}, - {200,0,584}, - {103,0,584}, - {-482,0,194}, - {5,0,584}, - {-580,0,-98}, - {-580,0,-1}, - {-92,0,584}, - {-580,0,97}, - {200,0,682}, - {103,0,682}, - {-580,0,194}, - {5,0,682}, - {-92,0,682} -}; - -SVECTOR modelgnd_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 -}; - -SVECTOR modelgnd_uv[] = { - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 191,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 255,127, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 255,127, 0, 0, - 191,64, 0, 0, - 191,127, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 0,64, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 0,64, 0, 0, - 64,128, 0, 0, - 64,64, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 127,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 127,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 127,127, 0, 0, - 191,127, 0, 0, - 127,127, 0, 0, - 191,64, 0, 0, - 127,64, 0, 0, - 255,64, 0, 0, - 191,127, 0, 0, - 255,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 255,127, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 191,127, 0, 0, - 255,127, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 127,0, 0, 0, - 191,64, 0, 0, - 191,127, 0, 0, - 255,127, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,127, 0, 0, - 191,64, 0, 0, - 191,127, 0, 0, - 255,127, 0, 0, - 191,64, 0, 0, - 127,0, 0, 0, - 127,64, 0, 0, - 191,64, 0, 0, - 255,127, 0, 0, - 255,64, 0, 0, - 191,127, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0 -}; - -CVECTOR modelgnd_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelgnd_index[] = { - 9,5,3,0,4, - 5,1,3,0,4, - 9,3,7,0,4, - 7,3,2,0,4, - 5,4,1,0,4, - 10,4,5,0,4, - 13,5,9,0,4, - 3,1,0,0,4, - 3,0,2,0,4, - 7,2,6,0,4, - 15,9,7,0,4, - 13,10,5,0,4, - 12,7,6,0,4, - 10,8,4,0,4, - 15,7,12,0,4, - 17,13,9,0,4, - 17,9,15,0,4, - 12,6,11,0,4, - 16,8,10,0,4, - 19,10,13,0,4, - 21,15,12,0,4, - 19,16,10,0,4, - 20,12,11,0,4, - 16,14,8,0,4, - 24,13,17,0,4, - 21,12,20,0,4, - 25,17,15,0,4, - 24,19,13,0,4, - 25,15,21,0,4, - 20,11,18,0,4, - 23,14,16,0,4, - 26,16,19,0,4, - 29,21,20,0,4, - 26,23,16,0,4, - 28,20,18,0,4, - 31,19,24,0,4, - 23,22,14,0,4, - 33,25,21,0,4, - 31,26,19,0,4, - 29,20,28,0,4, - 33,21,29,0,4, - 28,18,27,0,4, - 32,22,23,0,4, - 34,23,26,0,4, - 37,29,28,0,4, - 38,26,31,0,4, - 36,28,27,0,4, - 34,32,23,0,4, - 32,30,22,0,4, - 41,33,29,0,4, - 38,34,26,0,4, - 37,28,36,0,4, - 41,29,37,0,4, - 36,27,35,0,4, - 40,30,32,0,4, - 42,32,34,0,4, - 45,34,38,0,4, - 46,37,36,0,4, - 44,36,35,0,4, - 42,40,32,0,4, - 40,39,30,0,4, - 49,41,37,0,4, - 45,42,34,0,4, - 46,36,44,0,4, - 49,37,46,0,4, - 44,35,43,0,4, - 48,39,40,0,4, - 50,40,42,0,4, - 53,42,45,0,4, - 54,46,44,0,4, - 52,44,43,0,4, - 50,48,40,0,4, - 55,49,46,0,4, - 48,47,39,0,4, - 53,50,42,0,4, - 54,44,52,0,4, - 55,46,54,0,4, - 52,43,51,0,4 -}; - -MATRIX modelgnd_matrix = {0}; -VECTOR modelgnd_pos = {0,0,0, 0}; -SVECTOR modelgnd_rot = {0,0,0}; -short modelgnd_isRigidBody =0; -short modelgnd_isStaticBody =0; -short modelgnd_isPrism =0; -short modelgnd_isAnim =0; -short modelgnd_isActor =0; -short modelgnd_isLevel =1; -long modelgnd_p = 0; -BODY modelgnd_body = { - {0, 0, 0, 0}, - 0,0,0, 0, - 0,0,0, 0, - ONE/64, - -580,0,-98, 0, - 200,0,682, 0, - 4096 - }; - -TMESH modelgnd = { - modelgnd_mesh, - modelgnd_normal, - modelgnd_uv, - modelgnd_color, - 78 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshgnd = { - &modelgnd, - modelgnd_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelgnd_matrix, - &modelgnd_pos, - &modelgnd_rot, - &modelgnd_isRigidBody, - &modelgnd_isStaticBody, - &modelgnd_isPrism, - &modelgnd_isAnim, - &modelgnd_isActor, - &modelgnd_isLevel, - &modelgnd_p, - &modelgnd_body -}; - -SVECTOR modelgnd_001_mesh[] = { - {-580,-97,-98}, - {-580,0,-98}, - {-580,-195,-98}, - {-580,-97,-1}, - {-580,0,-1}, - {-580,-195,-1}, - {-580,-97,97}, - {-580,0,97}, - {-580,-195,97}, - {-580,-97,194}, - {-580,0,194}, - {-580,-195,194} -}; - -SVECTOR modelgnd_001_normal[] = { - -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 -}; - -SVECTOR modelgnd_001_uv[] = { - 64,191, 0, 0, - 0,128, 0, 0, - 0,191, 0, 0, - 64,191, 0, 0, - 64,128, 0, 0, - 0,128, 0, 0, - 64,191, 0, 0, - 64,128, 0, 0, - 0,128, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 0,191, 0, 0, - 255,64, 0, 0, - 255,0, 0, 0, - 191,0, 0, 0, - 255,64, 0, 0, - 255,0, 0, 0, - 191,0, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 0,191, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 191,64, 0, 0, - 64,191, 0, 0, - 64,128, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 191,64, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 191,64, 0, 0, - 255,64, 0, 0, - 255,0, 0, 0, - 191,0, 0, 0 -}; - -CVECTOR modelgnd_001_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelgnd_001_index[] = { - 6,5,3,0,4, - 3,5,2,0,4, - 6,8,5,0,4, - 3,2,0,0,4, - 4,3,0,0,4, - 7,6,3,0,4, - 9,8,6,0,4, - 7,3,4,0,4, - 9,11,8,0,4, - 4,0,1,0,4, - 10,6,7,0,4, - 10,9,6,0,4 -}; - -MATRIX modelgnd_001_matrix = {0}; -VECTOR modelgnd_001_pos = {0,0,0, 0}; -SVECTOR modelgnd_001_rot = {0,0,0}; -short modelgnd_001_isRigidBody =0; -short modelgnd_001_isStaticBody =0; -short modelgnd_001_isPrism =0; -short modelgnd_001_isAnim =0; -short modelgnd_001_isActor =0; -short modelgnd_001_isLevel =0; -long modelgnd_001_p = 0; -BODY modelgnd_001_body = { - {0, 0, 0, 0}, - 0,0,0, 0, - 0,0,0, 0, - ONE/1, - -580,-195,-98, 0, - -580,0,194, 0, - 0 - }; - -TMESH modelgnd_001 = { - modelgnd_001_mesh, - modelgnd_001_normal, - modelgnd_001_uv, - modelgnd_001_color, - 12 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshgnd_001 = { - &modelgnd_001, - modelgnd_001_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelgnd_001_matrix, - &modelgnd_001_pos, - &modelgnd_001_rot, - &modelgnd_001_isRigidBody, - &modelgnd_001_isStaticBody, - &modelgnd_001_isPrism, - &modelgnd_001_isAnim, - &modelgnd_001_isActor, - &modelgnd_001_isLevel, - &modelgnd_001_p, - &modelgnd_001_body -}; - -SVECTOR modelgnd_002_mesh[] = { - {-92,-97,194}, - {-92,0,194}, - {-92,-195,194}, - {-190,-97,194}, - {-190,0,194}, - {-190,-195,194}, - {-287,-97,194}, - {-287,0,194}, - {-287,-195,194}, - {-385,-97,194}, - {-385,0,194}, - {-385,-195,194}, - {-482,-97,194}, - {-482,0,194}, - {-482,-195,194}, - {-580,-97,194}, - {-580,0,194}, - {-580,-195,194} -}; - -SVECTOR modelgnd_002_normal[] = { - 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 -}; - -SVECTOR modelgnd_002_uv[] = { - 64,191, 0, 0, - 0,191, 0, 0, - 0,128, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 255,0, 0, 0, - 64,191, 0, 0, - 0,191, 0, 0, - 0,128, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 255,0, 0, 0, - 64,191, 0, 0, - 0,191, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 255,0, 0, 0, - 64,191, 0, 0, - 0,191, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 255,0, 0, 0, - 64,191, 0, 0, - 0,191, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 255,0, 0, 0 -}; - -CVECTOR modelgnd_002_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelgnd_002_index[] = { - 3,0,2,0,4, - 3,2,5,0,4, - 4,1,0,0,4, - 4,0,3,0,4, - 6,3,5,0,4, - 6,5,8,0,4, - 7,4,3,0,4, - 7,3,6,0,4, - 9,6,8,0,4, - 10,7,6,0,4, - 9,8,11,0,4, - 10,6,9,0,4, - 12,9,11,0,4, - 13,10,9,0,4, - 12,11,14,0,4, - 13,9,12,0,4, - 15,12,14,0,4, - 16,13,12,0,4, - 15,14,17,0,4, - 16,12,15,0,4 -}; - -MATRIX modelgnd_002_matrix = {0}; -VECTOR modelgnd_002_pos = {0,0,0, 0}; -SVECTOR modelgnd_002_rot = {0,0,0}; -short modelgnd_002_isRigidBody =0; -short modelgnd_002_isStaticBody =0; -short modelgnd_002_isPrism =0; -short modelgnd_002_isAnim =0; -short modelgnd_002_isActor =0; -short modelgnd_002_isLevel =0; -long modelgnd_002_p = 0; -BODY modelgnd_002_body = { - {0, 0, 0, 0}, - 0,0,0, 0, - 0,0,0, 0, - ONE/1, - -580,-195,194, 0, - -92,0,194, 0, - 0 - }; - -TMESH modelgnd_002 = { - modelgnd_002_mesh, - modelgnd_002_normal, - modelgnd_002_uv, - modelgnd_002_color, - 20 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshgnd_002 = { - &modelgnd_002, - modelgnd_002_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelgnd_002_matrix, - &modelgnd_002_pos, - &modelgnd_002_rot, - &modelgnd_002_isRigidBody, - &modelgnd_002_isStaticBody, - &modelgnd_002_isPrism, - &modelgnd_002_isAnim, - &modelgnd_002_isActor, - &modelgnd_002_isLevel, - &modelgnd_002_p, - &modelgnd_002_body -}; - -SVECTOR modelgnd_003_mesh[] = { - {-92,-97,194}, - {-92,0,194}, - {-92,-195,194}, - {-92,-97,292}, - {-92,0,292}, - {-92,-195,292}, - {-92,-97,389}, - {-92,0,389}, - {-92,-195,389}, - {-92,-97,487}, - {-92,0,487}, - {-92,-195,487}, - {-92,-97,584}, - {-92,0,584}, - {-92,-195,584}, - {-92,-97,682}, - {-92,0,682}, - {-92,-195,682} -}; - -SVECTOR modelgnd_003_normal[] = { - -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 -}; - -SVECTOR modelgnd_003_uv[] = { - 64,191, 0, 0, - 0,128, 0, 0, - 0,191, 0, 0, - 64,191, 0, 0, - 64,128, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 191,64, 0, 0, - 255,64, 0, 0, - 255,0, 0, 0, - 191,0, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 0,191, 0, 0, - 191,64, 0, 0, - 255,0, 0, 0, - 191,0, 0, 0, - 64,191, 0, 0, - 64,128, 0, 0, - 0,128, 0, 0, - 191,64, 0, 0, - 255,64, 0, 0, - 255,0, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 0,191, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 191,64, 0, 0, - 64,191, 0, 0, - 64,128, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 255,0, 0, 0, - 191,0, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 0,191, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 191,64, 0, 0, - 64,191, 0, 0, - 64,128, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 255,0, 0, 0, - 191,0, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 0,191, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 191,64, 0, 0, - 64,191, 0, 0, - 64,128, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 255,0, 0, 0, - 191,0, 0, 0 -}; - -CVECTOR modelgnd_003_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelgnd_003_index[] = { - 3,2,0,0,4, - 3,5,2,0,4, - 4,0,1,0,4, - 4,3,0,0,4, - 6,5,3,0,4, - 4,6,3,0,4, - 6,8,5,0,4, - 4,7,6,0,4, - 9,8,6,0,4, - 10,6,7,0,4, - 9,11,8,0,4, - 10,9,6,0,4, - 12,11,9,0,4, - 13,9,10,0,4, - 12,14,11,0,4, - 13,12,9,0,4, - 15,14,12,0,4, - 16,12,13,0,4, - 15,17,14,0,4, - 16,15,12,0,4 -}; - -MATRIX modelgnd_003_matrix = {0}; -VECTOR modelgnd_003_pos = {0,0,0, 0}; -SVECTOR modelgnd_003_rot = {0,0,0}; -short modelgnd_003_isRigidBody =0; -short modelgnd_003_isStaticBody =0; -short modelgnd_003_isPrism =0; -short modelgnd_003_isAnim =0; -short modelgnd_003_isActor =0; -short modelgnd_003_isLevel =0; -long modelgnd_003_p = 0; -BODY modelgnd_003_body = { - {0, 0, 0, 0}, - 0,0,0, 0, - 0,0,0, 0, - ONE/1, - -92,-195,194, 0, - -92,0,682, 0, - 0 - }; - -TMESH modelgnd_003 = { - modelgnd_003_mesh, - modelgnd_003_normal, - modelgnd_003_uv, - modelgnd_003_color, - 20 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshgnd_003 = { - &modelgnd_003, - modelgnd_003_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelgnd_003_matrix, - &modelgnd_003_pos, - &modelgnd_003_rot, - &modelgnd_003_isRigidBody, - &modelgnd_003_isStaticBody, - &modelgnd_003_isPrism, - &modelgnd_003_isAnim, - &modelgnd_003_isActor, - &modelgnd_003_isLevel, - &modelgnd_003_p, - &modelgnd_003_body -}; - -SVECTOR modelgnd_004_mesh[] = { - {200,-97,682}, - {103,-97,682}, - {200,0,682}, - {200,-195,682}, - {103,0,682}, - {103,-195,682}, - {5,-97,682}, - {5,0,682}, - {5,-195,682}, - {-92,-97,682}, - {-92,0,682}, - {-92,-195,682} -}; - -SVECTOR modelgnd_004_normal[] = { - 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 -}; - -SVECTOR modelgnd_004_uv[] = { - 64,191, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 64,191, 0, 0, - 0,191, 0, 0, - 0,128, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 64,191, 0, 0, - 0,191, 0, 0, - 0,128, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 255,0, 0, 0, - 64,191, 0, 0, - 0,191, 0, 0, - 0,128, 0, 0, - 64,191, 0, 0, - 0,128, 0, 0, - 64,128, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 255,0, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 255,64, 0, 0, - 191,0, 0, 0, - 255,0, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0, - 255,64, 0, 0, - 191,64, 0, 0, - 191,0, 0, 0 -}; - -CVECTOR modelgnd_004_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelgnd_004_index[] = { - 6,5,8,0,4, - 6,1,5,0,4, - 1,3,5,0,4, - 9,6,8,0,4, - 7,1,6,0,4, - 1,0,3,0,4, - 9,8,11,0,4, - 4,0,1,0,4, - 7,4,1,0,4, - 10,6,9,0,4, - 10,7,6,0,4, - 4,2,0,0,4 -}; - -MATRIX modelgnd_004_matrix = {0}; -VECTOR modelgnd_004_pos = {0,0,0, 0}; -SVECTOR modelgnd_004_rot = {0,0,0}; -short modelgnd_004_isRigidBody =0; -short modelgnd_004_isStaticBody =0; -short modelgnd_004_isPrism =0; -short modelgnd_004_isAnim =0; -short modelgnd_004_isActor =0; -short modelgnd_004_isLevel =0; -long modelgnd_004_p = 0; -BODY modelgnd_004_body = { - {0, 0, 0, 0}, - 0,0,0, 0, - 0,0,0, 0, - ONE/1, - -92,-195,682, 0, - 200,0,682, 0, - 0 - }; - -TMESH modelgnd_004 = { - modelgnd_004_mesh, - modelgnd_004_normal, - modelgnd_004_uv, - modelgnd_004_color, - 12 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshgnd_004 = { - &modelgnd_004, - modelgnd_004_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelgnd_004_matrix, - &modelgnd_004_pos, - &modelgnd_004_rot, - &modelgnd_004_isRigidBody, - &modelgnd_004_isStaticBody, - &modelgnd_004_isPrism, - &modelgnd_004_isAnim, - &modelgnd_004_isActor, - &modelgnd_004_isLevel, - &modelgnd_004_p, - &modelgnd_004_body -}; - -SVECTOR modelobject_mesh[] = { - {9,17,-20}, - {9,0,-20}, - {-9,17,-22}, - {-9,0,-22}, - {19,20,18}, - {19,-32,18}, - {-20,20,18}, - {-20,-32,18} -}; - -SVECTOR modelobject_normal[] = { - -2161,-2336,2579,0, - -2321,1316,3108,0, - 1891,-2286,2824,0, - 1986,1356,3316,0, - -2654,-2399,-1995,0, - -2472,2971,-1355,0, - 2641,-2401,-2009,0, - 2458,2976,-1370,0 -}; - -SVECTOR modelobject_uv[] = { - 103,62, 0, 0, - 124,33, 0, 0, - 124,62, 0, 0, - 103,62, 0, 0, - 103,33, 0, 0, - 124,33, 0, 0, - 67,62, 0, 0, - 62,31, 0, 0, - 83,31, 0, 0, - 98,2, 0, 0, - 103,31, 0, 0, - 83,31, 0, 0, - 68,1, 0, 0, - 83,31, 0, 0, - 62,31, 0, 0, - 98,62, 0, 0, - 83,31, 0, 0, - 103,31, 0, 0, - 67,62, 0, 0, - 83,31, 0, 0, - 77,61, 0, 0, - 98,2, 0, 0, - 83,31, 0, 0, - 88,2, 0, 0, - 68,1, 0, 0, - 77,1, 0, 0, - 83,31, 0, 0, - 98,62, 0, 0, - 88,61, 0, 0, - 83,31, 0, 0, - 112,17, 0, 0, - 112,31, 0, 0, - 103,31, 0, 0, - 103,31, 0, 0, - 103,17, 0, 0, - 112,17, 0, 0 -}; - -CVECTOR modelobject_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelobject_index[] = { - 7,4,6,0,4, - 7,5,4,0,4, - 2,6,4,0,4, - 0,4,5,0,4, - 2,7,6,0,4, - 3,5,7,0,4, - 2,4,0,0,4, - 0,5,1,0,4, - 2,3,7,0,4, - 3,1,5,0,4, - 2,0,1,0,4, - 1,3,2,0,4 -}; - -MATRIX modelobject_matrix = {0}; -VECTOR modelobject_pos = {-445,-22,142, 0}; -SVECTOR modelobject_rot = {0,1365,0}; -short modelobject_isRigidBody =1; -short modelobject_isStaticBody =0; -short modelobject_isPrism =0; -short modelobject_isAnim =0; -short modelobject_isActor =0; -short modelobject_isLevel =0; -long modelobject_p = 0; -BODY modelobject_body = { - {0, 0, 0, 0}, - -445,-22,142, 0, - 0,1365,0, 0, - ONE/64, - -20,-32,-22, 0, - 19,20,18, 0, - 1024 - }; - -TMESH modelobject = { - modelobject_mesh, - modelobject_normal, - modelobject_uv, - modelobject_color, - 12 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshobject = { - &modelobject, - modelobject_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelobject_matrix, - &modelobject_pos, - &modelobject_rot, - &modelobject_isRigidBody, - &modelobject_isStaticBody, - &modelobject_isPrism, - &modelobject_isAnim, - &modelobject_isActor, - &modelobject_isLevel, - &modelobject_p, - &modelobject_body -}; - -SVECTOR modelPlan_mesh[] = { - {-291,-10,81}, - {-188,-61,142}, - {-347,-127,78}, - {-244,-178,138} -}; - -SVECTOR modelPlan_normal[] = { - -1763,730,3624,0, - -1763,730,3624,0, - -1763,730,3624,0, - -1763,730,3624,0 -}; - -SVECTOR modelPlan_uv[] = { - 132,5, 0, 0, - 132,54, 0, 0, - 181,54, 0, 0, - 181,5, 0, 0 -}; - -CVECTOR modelPlan_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelPlan_index[] = { - 0,1,3,2,8 -}; - -MATRIX modelPlan_matrix = {0}; -VECTOR modelPlan_pos = {46,0,22, 0}; -SVECTOR modelPlan_rot = {0,0,0}; -short modelPlan_isRigidBody =0; -short modelPlan_isStaticBody =1; -short modelPlan_isPrism =0; -short modelPlan_isAnim =0; -short modelPlan_isActor =0; -short modelPlan_isLevel =0; -long modelPlan_p = 0; -BODY modelPlan_body = { - {0, 0, 0, 0}, - 46,0,22, 0, - 0,0,0, 0, - ONE/1, - -347,-178,78, 0, - -188,-10,142, 0, - 0 - }; - -TMESH modelPlan = { - modelPlan_mesh, - modelPlan_normal, - modelPlan_uv, - modelPlan_color, - 1 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshPlan = { - &modelPlan, - modelPlan_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelPlan_matrix, - &modelPlan_pos, - &modelPlan_rot, - &modelPlan_isRigidBody, - &modelPlan_isStaticBody, - &modelPlan_isPrism, - &modelPlan_isAnim, - &modelPlan_isActor, - &modelPlan_isLevel, - &modelPlan_p, - &modelPlan_body -}; - -SVECTOR modelSphere_mesh[] = { - {0,-8,24}, - {4,5,25}, - {9,-18,15}, - {22,-2,12}, - {19,12,11}, - {11,21,10}, - {24,-9,-1}, - {8,-23,-5}, - {17,-12,-14}, - {20,11,-11}, - {5,-15,-19}, - {7,3,-24}, - {7,21,-11}, - {-8,-8,-23}, - {-9,11,-20}, - {0,-24,4}, - {-18,-10,-14}, - {-7,23,-7}, - {-6,-23,-5}, - {-19,12,-11}, - {-21,-14,1}, - {-25,-2,1}, - {-12,-17,14}, - {-18,12,13}, - {-17,-2,18}, - {-8,24,4}, - {-6,18,16} -}; - -SVECTOR modelSphere_normal[] = { - -68,1388,-3853,0, - -642,-810,-3963,0, - -1690,2835,-2425,0, - -3528,249,-2065,0, - -3229,-1803,-1761,0, - -1740,-3388,-1506,0, - -3872,1330,120,0, - -1565,3706,769,0, - -2821,1782,2375,0, - -3335,-1674,1688,0, - -670,2463,3203,0, - -1211,-620,3863,0, - -1172,-3464,1844,0, - 1367,1189,3673,0, - 1371,-1771,3430,0, - 57,3991,-921,0, - 2956,1572,2359,0, - 1109,-3702,1357,0, - 1215,3760,1078,0, - 3232,-1852,1704,0, - 3289,2429,-249,0, - 4089,114,-209,0, - 1896,2874,-2219,0, - 2984,-1919,-2047,0, - 2744,288,-3027,0, - 1332,-3836,-533,0, - 895,-2816,-2837,0 -}; - -SVECTOR modelSphere_uv[] = { - 119,31, 0, 0, - 106,29, 0, 0, - 116,34, 0, 0, - 84,58, 0, 0, - 82,53, 0, 0, - 69,52, 0, 0, - 119,31, 0, 0, - 105,29, 0, 0, - 106,29, 0, 0, - 69,52, 0, 0, - 66,51, 0, 0, - 78,59, 0, 0, - 82,53, 0, 0, - 70,44, 0, 0, - 69,52, 0, 0, - 110,38, 0, 0, - 106,29, 0, 0, - 97,40, 0, 0, - 82,53, 0, 0, - 84,41, 0, 0, - 70,44, 0, 0, - 69,52, 0, 0, - 65,38, 0, 0, - 66,51, 0, 0, - 94,38, 0, 0, - 97,40, 0, 0, - 106,29, 0, 0, - 84,41, 0, 0, - 75,35, 0, 0, - 70,44, 0, 0, - 75,35, 0, 0, - 84,41, 0, 0, - 82,31, 0, 0, - 94,38, 0, 0, - 94,51, 0, 0, - 97,40, 0, 0, - 74,29, 0, 0, - 82,31, 0, 0, - 87,29, 0, 0, - 84,41, 0, 0, - 89,46, 0, 0, - 92,40, 0, 0, - 84,41, 0, 0, - 92,40, 0, 0, - 82,31, 0, 0, - 97,40, 0, 0, - 94,51, 0, 0, - 101,52, 0, 0, - 82,31, 0, 0, - 92,40, 0, 0, - 87,29, 0, 0, - 110,38, 0, 0, - 97,40, 0, 0, - 105,42, 0, 0, - 104,59, 0, 0, - 101,52, 0, 0, - 94,51, 0, 0, - 104,59, 0, 0, - 110,52, 0, 0, - 101,52, 0, 0, - 87,29, 0, 0, - 92,40, 0, 0, - 94,34, 0, 0, - 103,2, 0, 0, - 94,11, 0, 0, - 104,10, 0, 0, - 110,52, 0, 0, - 110,38, 0, 0, - 105,42, 0, 0, - 104,10, 0, 0, - 113,8, 0, 0, - 103,2, 0, 0, - 121,53, 0, 0, - 121,41, 0, 0, - 110,52, 0, 0, - 113,8, 0, 0, - 114,19, 0, 0, - 121,16, 0, 0, - 121,41, 0, 0, - 116,34, 0, 0, - 110,38, 0, 0, - 107,28, 0, 0, - 114,29, 0, 0, - 114,19, 0, 0, - 116,34, 0, 0, - 106,29, 0, 0, - 110,38, 0, 0, - 94,52, 0, 0, - 89,46, 0, 0, - 82,53, 0, 0, - 84,58, 0, 0, - 69,52, 0, 0, - 78,59, 0, 0, - 89,46, 0, 0, - 84,41, 0, 0, - 82,53, 0, 0, - 105,29, 0, 0, - 94,38, 0, 0, - 106,29, 0, 0, - 69,52, 0, 0, - 70,44, 0, 0, - 65,38, 0, 0, - 65,38, 0, 0, - 70,44, 0, 0, - 75,35, 0, 0, - 65,38, 0, 0, - 75,35, 0, 0, - 74,29, 0, 0, - 74,29, 0, 0, - 75,35, 0, 0, - 82,31, 0, 0, - 97,40, 0, 0, - 101,52, 0, 0, - 105,42, 0, 0, - 104,59, 0, 0, - 112,59, 0, 0, - 110,52, 0, 0, - 101,52, 0, 0, - 110,52, 0, 0, - 105,42, 0, 0, - 103,2, 0, 0, - 113,8, 0, 0, - 116,2, 0, 0, - 110,52, 0, 0, - 121,41, 0, 0, - 110,38, 0, 0, - 104,10, 0, 0, - 94,11, 0, 0, - 103,20, 0, 0, - 104,10, 0, 0, - 103,20, 0, 0, - 114,19, 0, 0, - 113,8, 0, 0, - 104,10, 0, 0, - 114,19, 0, 0, - 94,11, 0, 0, - 94,19, 0, 0, - 103,20, 0, 0, - 114,19, 0, 0, - 103,20, 0, 0, - 107,28, 0, 0, - 114,19, 0, 0, - 114,29, 0, 0, - 121,16, 0, 0, - 122,20, 0, 0, - 121,16, 0, 0, - 114,29, 0, 0, - 107,28, 0, 0, - 103,20, 0, 0, - 97,27, 0, 0 -}; - -CVECTOR modelSphere_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelSphere_index[] = { - 1,5,26,0,4, - 0,2,3,0,4, - 1,4,5,0,4, - 3,4,1,0,4, - 2,6,3,0,4, - 25,5,12,0,4, - 2,7,6,0,4, - 3,9,4,0,4, - 9,12,5,0,4, - 7,8,6,0,4, - 8,7,10,0,4, - 9,11,12,0,4, - 11,10,13,0,4, - 7,15,18,0,4, - 7,18,10,0,4, - 12,11,14,0,4, - 10,18,13,0,4, - 25,12,17,0,4, - 13,14,11,0,4, - 13,19,14,0,4, - 13,18,16,0,4, - 16,18,20,0,4, - 19,25,17,0,4, - 20,21,16,0,4, - 21,23,19,0,4, - 21,24,23,0,4, - 23,26,25,0,4, - 0,1,24,0,4, - 26,5,25,0,4, - 22,15,2,0,4, - 0,3,1,0,4, - 15,7,2,0,4, - 4,9,5,0,4, - 3,6,9,0,4, - 9,6,8,0,4, - 9,8,11,0,4, - 11,8,10,0,4, - 12,14,17,0,4, - 13,16,19,0,4, - 14,19,17,0,4, - 16,21,19,0,4, - 19,23,25,0,4, - 20,18,22,0,4, - 20,22,24,0,4, - 21,20,24,0,4, - 18,15,22,0,4, - 24,22,0,0,4, - 24,1,23,0,4, - 26,23,1,0,4, - 0,22,2,0,4 -}; - -MATRIX modelSphere_matrix = {0}; -VECTOR modelSphere_pos = {-103,-22,54, 0}; -SVECTOR modelSphere_rot = {0,0,0}; -short modelSphere_isRigidBody =1; -short modelSphere_isStaticBody =0; -short modelSphere_isPrism =0; -short modelSphere_isAnim =0; -short modelSphere_isActor =0; -short modelSphere_isLevel =0; -long modelSphere_p = 0; -BODY modelSphere_body = { - {0, 0, 0, 0}, - -103,-22,54, 0, - 0,0,0, 0, - ONE/128, - -25,-24,-24, 0, - 24,24,25, 0, - 2048 - }; - -TMESH modelSphere = { - modelSphere_mesh, - modelSphere_normal, - modelSphere_uv, - modelSphere_color, - 50 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshSphere = { - &modelSphere, - modelSphere_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelSphere_matrix, - &modelSphere_pos, - &modelSphere_rot, - &modelSphere_isRigidBody, - &modelSphere_isStaticBody, - &modelSphere_isPrism, - &modelSphere_isAnim, - &modelSphere_isActor, - &modelSphere_isLevel, - &modelSphere_p, - &modelSphere_body -}; - -SVECTOR modelSphere_001_mesh[] = { - {0,-8,24}, - {4,5,25}, - {9,-18,15}, - {22,-2,12}, - {19,12,11}, - {11,21,10}, - {24,-9,-1}, - {8,-23,-5}, - {17,-12,-14}, - {20,11,-11}, - {5,-15,-19}, - {7,3,-24}, - {7,21,-11}, - {-8,-8,-23}, - {-9,11,-20}, - {0,-24,4}, - {-18,-10,-14}, - {-7,23,-7}, - {-6,-23,-5}, - {-19,12,-11}, - {-21,-14,1}, - {-25,-2,1}, - {-12,-17,14}, - {-18,12,13}, - {-17,-2,18}, - {-8,24,4}, - {-6,18,16} -}; - -SVECTOR modelSphere_001_normal[] = { - -68,1388,-3853,0, - -642,-810,-3963,0, - -1690,2835,-2425,0, - -3528,249,-2065,0, - -3229,-1803,-1761,0, - -1740,-3388,-1506,0, - -3872,1330,120,0, - -1565,3706,769,0, - -2821,1782,2375,0, - -3335,-1674,1688,0, - -670,2463,3203,0, - -1211,-620,3863,0, - -1172,-3464,1844,0, - 1367,1189,3673,0, - 1371,-1771,3430,0, - 57,3991,-921,0, - 2956,1572,2359,0, - 1109,-3702,1357,0, - 1215,3760,1078,0, - 3232,-1852,1704,0, - 3289,2429,-249,0, - 4089,114,-209,0, - 1896,2874,-2219,0, - 2984,-1919,-2047,0, - 2744,288,-3027,0, - 1332,-3836,-533,0, - 895,-2816,-2837,0 -}; - -SVECTOR modelSphere_001_uv[] = { - 182,100, 0, 0, - 169,98, 0, 0, - 179,103, 0, 0, - 147,128, 0, 0, - 144,123, 0, 0, - 131,121, 0, 0, - 182,100, 0, 0, - 168,98, 0, 0, - 169,98, 0, 0, - 131,121, 0, 0, - 128,121, 0, 0, - 140,129, 0, 0, - 144,123, 0, 0, - 132,113, 0, 0, - 131,121, 0, 0, - 173,107, 0, 0, - 169,98, 0, 0, - 160,109, 0, 0, - 144,123, 0, 0, - 146,110, 0, 0, - 132,113, 0, 0, - 131,121, 0, 0, - 127,107, 0, 0, - 128,121, 0, 0, - 156,107, 0, 0, - 160,109, 0, 0, - 169,98, 0, 0, - 146,110, 0, 0, - 137,104, 0, 0, - 132,113, 0, 0, - 137,104, 0, 0, - 146,110, 0, 0, - 145,100, 0, 0, - 156,107, 0, 0, - 157,120, 0, 0, - 160,109, 0, 0, - 137,98, 0, 0, - 145,100, 0, 0, - 149,98, 0, 0, - 146,110, 0, 0, - 152,115, 0, 0, - 155,109, 0, 0, - 146,110, 0, 0, - 155,109, 0, 0, - 145,100, 0, 0, - 160,109, 0, 0, - 157,120, 0, 0, - 164,122, 0, 0, - 145,100, 0, 0, - 155,109, 0, 0, - 149,98, 0, 0, - 173,107, 0, 0, - 160,109, 0, 0, - 168,112, 0, 0, - 166,128, 0, 0, - 164,122, 0, 0, - 157,120, 0, 0, - 166,128, 0, 0, - 173,121, 0, 0, - 164,122, 0, 0, - 149,98, 0, 0, - 155,109, 0, 0, - 156,103, 0, 0, - 165,70, 0, 0, - 156,80, 0, 0, - 167,79, 0, 0, - 173,121, 0, 0, - 173,107, 0, 0, - 168,112, 0, 0, - 167,79, 0, 0, - 176,77, 0, 0, - 165,70, 0, 0, - 185,122, 0, 0, - 185,110, 0, 0, - 173,121, 0, 0, - 176,77, 0, 0, - 177,88, 0, 0, - 184,84, 0, 0, - 185,110, 0, 0, - 179,103, 0, 0, - 173,107, 0, 0, - 170,97, 0, 0, - 177,98, 0, 0, - 177,88, 0, 0, - 179,103, 0, 0, - 169,98, 0, 0, - 173,107, 0, 0, - 156,121, 0, 0, - 152,115, 0, 0, - 144,123, 0, 0, - 147,128, 0, 0, - 131,121, 0, 0, - 140,129, 0, 0, - 152,115, 0, 0, - 146,110, 0, 0, - 144,123, 0, 0, - 168,98, 0, 0, - 156,107, 0, 0, - 169,98, 0, 0, - 131,121, 0, 0, - 132,113, 0, 0, - 127,107, 0, 0, - 127,107, 0, 0, - 132,113, 0, 0, - 137,104, 0, 0, - 127,107, 0, 0, - 137,104, 0, 0, - 137,98, 0, 0, - 137,98, 0, 0, - 137,104, 0, 0, - 145,100, 0, 0, - 160,109, 0, 0, - 164,122, 0, 0, - 168,112, 0, 0, - 166,128, 0, 0, - 175,129, 0, 0, - 173,121, 0, 0, - 164,122, 0, 0, - 173,121, 0, 0, - 168,112, 0, 0, - 165,70, 0, 0, - 176,77, 0, 0, - 179,70, 0, 0, - 173,121, 0, 0, - 185,110, 0, 0, - 173,107, 0, 0, - 167,79, 0, 0, - 156,80, 0, 0, - 166,89, 0, 0, - 167,79, 0, 0, - 166,89, 0, 0, - 177,88, 0, 0, - 176,77, 0, 0, - 167,79, 0, 0, - 177,88, 0, 0, - 156,80, 0, 0, - 156,87, 0, 0, - 166,89, 0, 0, - 177,88, 0, 0, - 166,89, 0, 0, - 170,97, 0, 0, - 177,88, 0, 0, - 177,98, 0, 0, - 184,84, 0, 0, - 185,89, 0, 0, - 184,84, 0, 0, - 177,98, 0, 0, - 170,97, 0, 0, - 166,89, 0, 0, - 160,96, 0, 0 -}; - -CVECTOR modelSphere_001_color[] = { - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0, - 80,80,80,0, - 128,128,128,0, - 128,128,128,0 -}; - -PRIM modelSphere_001_index[] = { - 1,5,26,0,4, - 0,2,3,0,4, - 1,4,5,0,4, - 3,4,1,0,4, - 2,6,3,0,4, - 25,5,12,0,4, - 2,7,6,0,4, - 3,9,4,0,4, - 9,12,5,0,4, - 7,8,6,0,4, - 8,7,10,0,4, - 9,11,12,0,4, - 11,10,13,0,4, - 7,15,18,0,4, - 7,18,10,0,4, - 12,11,14,0,4, - 10,18,13,0,4, - 25,12,17,0,4, - 13,14,11,0,4, - 13,19,14,0,4, - 13,18,16,0,4, - 16,18,20,0,4, - 19,25,17,0,4, - 20,21,16,0,4, - 21,23,19,0,4, - 21,24,23,0,4, - 23,26,25,0,4, - 0,1,24,0,4, - 26,5,25,0,4, - 22,15,2,0,4, - 0,3,1,0,4, - 15,7,2,0,4, - 4,9,5,0,4, - 3,6,9,0,4, - 9,6,8,0,4, - 9,8,11,0,4, - 11,8,10,0,4, - 12,14,17,0,4, - 13,16,19,0,4, - 14,19,17,0,4, - 16,21,19,0,4, - 19,23,25,0,4, - 20,18,22,0,4, - 20,22,24,0,4, - 21,20,24,0,4, - 18,15,22,0,4, - 24,22,0,0,4, - 24,1,23,0,4, - 26,23,1,0,4, - 0,22,2,0,4 -}; - -MATRIX modelSphere_001_matrix = {0}; -VECTOR modelSphere_001_pos = {27,-22,184, 0}; -SVECTOR modelSphere_001_rot = {0,0,0}; -short modelSphere_001_isRigidBody =0; -short modelSphere_001_isStaticBody =1; -short modelSphere_001_isPrism =0; -short modelSphere_001_isAnim =0; -short modelSphere_001_isActor =0; -short modelSphere_001_isLevel =0; -long modelSphere_001_p = 0; -BODY modelSphere_001_body = { - {0, 0, 0, 0}, - 27,-22,184, 0, - 0,0,0, 0, - ONE/128, - -25,-24,-24, 0, - 24,24,25, 0, - 0 - }; - -TMESH modelSphere_001 = { - modelSphere_001_mesh, - modelSphere_001_normal, - modelSphere_001_uv, - modelSphere_001_color, - 50 -}; - -extern unsigned long _binary_TIM_home_tim_start[]; -extern unsigned long _binary_TIM_home_tim_end[]; -extern unsigned long _binary_TIM_home_tim_length; - -TIM_IMAGE tim_home; - -MESH meshSphere_001 = { - &modelSphere_001, - modelSphere_001_index, - &tim_home, - _binary_TIM_home_tim_start, - &modelSphere_001_matrix, - &modelSphere_001_pos, - &modelSphere_001_rot, - &modelSphere_001_isRigidBody, - &modelSphere_001_isStaticBody, - &modelSphere_001_isPrism, - &modelSphere_001_isAnim, - &modelSphere_001_isActor, - &modelSphere_001_isLevel, - &modelSphere_001_p, - &modelSphere_001_body -}; - -MESH * meshes[11] = { - &meshCube, - &meshCylindre, - &meshgnd, - &meshgnd_001, - &meshgnd_002, - &meshgnd_003, - &meshgnd_004, - &meshobject, - &meshPlan, - &meshSphere, - &meshSphere_001 -}; -MESH * actorPtr = &meshCube; -MESH * levelPtr = &meshgnd; -MESH * propPtr = &meshSphere; diff --git a/coridor2.c b/coridor2.c index 777f7f3..861164e 100644 --- a/coridor2.c +++ b/coridor2.c @@ -115,12 +115,12 @@ CAMPOS camPos_camPath = { }; CAMPOS camPos_camPath_001 = { - {520,101,113}, + {490,101,113}, {282,-192,0} }; CAMPOS camPos_camPath_002 = { - {166,309,-48}, + {221,309,-48}, {866,0,0} }; @@ -145,7 +145,7 @@ CAMPATH camPath = { 0, { {-205,156,-17}, - {166,309,-48}, + {221,309,-48}, {-159,57,61}, {-208,216,-86}, {-167,160,-624} @@ -11126,14 +11126,12 @@ CAMANGLE camAngle_camPath = { &tim_bg_camPath, _binary_TIM_bg_camPath_tim_start, // Write quad NW, NE, SE, SW -// { - { -112, 185, 166, 0 }, - { -112, -41, 166, 0 }, - { -113, -40, 15, 0 }, - { -113, 185, 15, 0 } + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 } }, -// { { -45, 206, 142, 0 }, { 186, 198, 142, 0 }, @@ -11168,12 +11166,11 @@ CAMANGLE camAngle_camPath_001 = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 } }, -// { - { -399, 176, 118, 0 }, - { -399, -50, 118, 0 }, - { -399, -49, 15, 0 }, - { -399, 176, 15, 0 } + { -368, 176, 118, 0 }, + { -368, -50, 118, 0 }, + { -368, -49, 15, 0 }, + { -368, 176, 15, 0 } }, 2, { @@ -11193,26 +11190,22 @@ CAMANGLE camAngle_camPath_002 = { &tim_bg_camPath_002, _binary_TIM_bg_camPath_002_tim_start, // Write quad NW, NE, SE, SW -// { - { -399, 176, 118, 0 }, - { -399, -50, 118, 0 }, - { -399, -49, 15, 0 }, - { -399, 176, 15, 0 } + { -368, 176, 118, 0 }, + { -368, -50, 118, 0 }, + { -368, -49, 15, 0 }, + { -368, 176, 15, 0 } }, -// { { -112, 185, 166, 0 }, { -112, -41, 166, 0 }, { -113, -40, 15, 0 }, { -113, 185, 15, 0 } }, - 5, + 3, { &meshCube, - &meshLara, &meshPlan, - &meshSphere_001, &meshSphere } }; @@ -11228,14 +11221,12 @@ CAMANGLE camAngle_camPath_003 = { &tim_bg_camPath_003, _binary_TIM_bg_camPath_003_tim_start, // Write quad NW, NE, SE, SW -// { { -112, 185, 166, 0 }, { -112, -41, 166, 0 }, { -113, -40, 15, 0 }, { -113, 185, 15, 0 } }, -// { { -45, 206, 142, 0 }, { 186, 198, 142, 0 }, @@ -11263,14 +11254,12 @@ CAMANGLE camAngle_camPath_004 = { &tim_bg_camPath_004, _binary_TIM_bg_camPath_004_tim_start, // Write quad NW, NE, SE, SW -// { { -112, 185, 166, 0 }, { -112, -41, 166, 0 }, { -113, -40, 15, 0 }, { -113, 185, 15, 0 } }, -// { { -45, 206, 142, 0 }, { 186, 198, 142, 0 }, @@ -11299,7 +11288,6 @@ CAMANGLE camAngle_camPath_005 = { &tim_bg_camPath_005, _binary_TIM_bg_camPath_005_tim_start, // Write quad NW, NE, SE, SW -// { { -45, 206, 142, 0 }, { 186, 198, 142, 0 }, @@ -11329,13 +11317,73 @@ CAMANGLE * camAngles[6] = { &camAngle_camPath_005, }; +NODE nodegnd_003; + +NODE nodegnd_001; + NODE nodegnd_002; NODE nodegnd; -NODE nodegnd_001; +SIBLINGS nodegnd_003_siblings = { + 1, + { + &nodegnd + } +}; -NODE nodegnd_003; +CHILDREN nodegnd_003_objects = { + 0, + { + 0 + } +}; + +CHILDREN nodegnd_003_rigidbodies = { + 2, + { + &meshSphere, + &meshSphere_001 + } +}; + +NODE nodegnd_003 = { + &meshgnd_003, + &nodegnd_003_siblings, + &nodegnd_003_objects, + &nodegnd_003_rigidbodies +}; + +SIBLINGS nodegnd_001_siblings = { + 1, + { + &nodegnd + } +}; + +CHILDREN nodegnd_001_objects = { + 3, + { + &meshwall_002, + &meshwall_003, + &meshCylindre + } +}; + +CHILDREN nodegnd_001_rigidbodies = { + 2, + { + &meshSphere, + &meshSphere_001 + } +}; + +NODE nodegnd_001 = { + &meshgnd_001, + &nodegnd_001_siblings, + &nodegnd_001_objects, + &nodegnd_001_rigidbodies +}; SIBLINGS nodegnd_002_siblings = { 1, @@ -11369,21 +11417,21 @@ NODE nodegnd_002 = { SIBLINGS nodegnd_siblings = { 3, { - &nodegnd_001, + &nodegnd_003, &nodegnd_002, - &nodegnd_003 + &nodegnd_001 } }; CHILDREN nodegnd_objects = { 6, { - &meshSphere_001, - &meshCube, + &meshPlan, &meshwall_001, &meshwall, + &meshSphere_001, &meshLara, - &meshPlan + &meshCube } }; @@ -11402,66 +11450,6 @@ NODE nodegnd = { &nodegnd_rigidbodies }; -SIBLINGS nodegnd_001_siblings = { - 1, - { - &nodegnd - } -}; - -CHILDREN nodegnd_001_objects = { - 3, - { - &meshwall_003, - &meshwall_002, - &meshCylindre - } -}; - -CHILDREN nodegnd_001_rigidbodies = { - 2, - { - &meshSphere, - &meshSphere_001 - } -}; - -NODE nodegnd_001 = { - &meshgnd_001, - &nodegnd_001_siblings, - &nodegnd_001_objects, - &nodegnd_001_rigidbodies -}; - -SIBLINGS nodegnd_003_siblings = { - 1, - { - &nodegnd - } -}; - -CHILDREN nodegnd_003_objects = { - 0, - { - 0 - } -}; - -CHILDREN nodegnd_003_rigidbodies = { - 2, - { - &meshSphere, - &meshSphere_001 - } -}; - -NODE nodegnd_003 = { - &meshgnd_003, - &nodegnd_003_siblings, - &nodegnd_003_objects, - &nodegnd_003_rigidbodies -}; - MESH * actorPtr = &meshSphere; MESH * levelPtr = &meshgnd; MESH * propPtr = &meshSphere_001; diff --git a/crunched.ps-exe b/crunched.ps-exe deleted file mode 100755 index 09cb692..0000000 Binary files a/crunched.ps-exe and /dev/null differ