adding drawPoly function
This commit is contained in:
parent
e902ef0fe4
commit
44709398fa
@ -625,9 +625,10 @@ int main() {
|
|||||||
!getIntCollision( *actorPtr->body , *curNode->siblings->list[msh]->plane->body).vz )
|
!getIntCollision( *actorPtr->body , *curNode->siblings->list[msh]->plane->body).vz )
|
||||||
{
|
{
|
||||||
|
|
||||||
FntPrint("%d", msh );
|
// FntPrint("%d", msh );
|
||||||
curNode = curNode->siblings->list[msh];
|
//~ curNode = curNode->siblings->list[msh];
|
||||||
//~ //levelPtr = curNode->siblings->list[plane]->curPlane;
|
// curNode = &nodegnd;
|
||||||
|
levelPtr = curNode->siblings->list[msh]->plane;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -637,35 +638,39 @@ int main() {
|
|||||||
|
|
||||||
if (physics){
|
if (physics){
|
||||||
|
|
||||||
if(time%1 == 0){
|
// if(time%1 == 0){
|
||||||
|
|
||||||
for ( int k = 0; k < sizeof(meshes)/sizeof(meshes[0]);k ++){
|
for ( int k = 0; k < sizeof(meshes)/sizeof(meshes[0]);k ++){
|
||||||
|
//~ for ( int k = 0; k < curNode->objects->index ; k ++){
|
||||||
if ( ( *meshes[k]->isRigidBody == 1 ) ) {
|
|
||||||
|
if ( ( *meshes[k]->isRigidBody == 1 ) ) {
|
||||||
|
//~ if ( ( *curNode->rigidbodies->list[k]->isRigidBody == 1 ) ) {
|
||||||
|
|
||||||
applyAcceleration(meshes[k]->body);
|
//~ applyAcceleration(curNode->rigidbodies->list[k]->body);
|
||||||
|
|
||||||
|
applyAcceleration(meshes[k]->body);
|
||||||
|
|
||||||
// Get col with level ( modelgnd_body )
|
// Get col with level ( modelgnd_body )
|
||||||
|
|
||||||
col_lvl = getIntCollision( *meshes[k]->body , *levelPtr->body );
|
col_lvl = getIntCollision( *meshes[k]->body , *levelPtr->body );
|
||||||
|
|
||||||
//~ col_lvl = getIntCollision( *actorPtr->body , *curNode->plane->body );
|
//~ col_lvl = getIntCollision( *actorPtr->body , *curNode->plane->body );
|
||||||
|
|
||||||
col_sphere = getIntCollision( *propPtr->body, *levelPtr->body );
|
//~ col_sphere = getIntCollision( *propPtr->body, *propPtr->body->curNode->plane->body );
|
||||||
|
|
||||||
//~ col_sphere = getIntCollision( *propPtr->body, *curNode->plane->body );
|
col_sphere = getIntCollision( *propPtr->body, *levelPtr->body );
|
||||||
|
|
||||||
col_sphere_act = getExtCollision( *actorPtr->body, *propPtr->body );
|
col_sphere_act = getExtCollision( *actorPtr->body, *propPtr->body );
|
||||||
|
|
||||||
// If !col, keep moving
|
//~ // If !col, keep moving
|
||||||
|
|
||||||
if ( !col_lvl.vx ){ meshes[k]->pos->vx = meshes[k]->body->position.vx; }
|
//~ if ( !col_lvl.vx ){ curNode->rigidbodies->list[k]->pos->vx = curNode->rigidbodies->list[k]->body->position.vx; }
|
||||||
|
|
||||||
if ( !col_lvl.vy ){ meshes[k]->pos->vy = meshes[k]->body->position.vy; };//meshes[k]->body->gForce.vy = 0;} // FIXME : Why the 15px offset ?
|
//~ if ( !col_lvl.vy ){ curNode->rigidbodies->list[k]->pos->vy = curNode->rigidbodies->list[k]->body->position.vy; };//meshes[k]->body->gForce.vy = 0;} // FIXME : Why the 15px offset ?
|
||||||
|
|
||||||
if ( !col_lvl.vz ){ meshes[k]->pos->vz = meshes[k]->body->position.vz; }
|
//~ if ( !col_lvl.vz ){ curNode->rigidbodies->list[k]->pos->vz = curNode->rigidbodies->list[k]->body->position.vz; }
|
||||||
|
|
||||||
// If no col with ground, fall off
|
//~ // If no col with ground, fall off
|
||||||
|
|
||||||
if ( col_lvl.vy ) {
|
if ( col_lvl.vy ) {
|
||||||
if (!col_lvl.vx && !col_lvl.vz){actorPtr->body->position.vy = actorPtr->body->min.vy;}
|
if (!col_lvl.vx && !col_lvl.vz){actorPtr->body->position.vy = actorPtr->body->min.vy;}
|
||||||
@ -674,27 +679,27 @@ int main() {
|
|||||||
if (!col_sphere.vx && !col_sphere.vz){propPtr->body->position.vy = propPtr->body->min.vy; }
|
if (!col_sphere.vx && !col_sphere.vz){propPtr->body->position.vy = propPtr->body->min.vy; }
|
||||||
}
|
}
|
||||||
|
|
||||||
if (col_sphere_act.vx && col_sphere_act.vz ){
|
//~ if (col_sphere_act.vx && col_sphere_act.vz ){
|
||||||
|
|
||||||
propPtr->body->velocity.vx += actorPtr->body->velocity.vx;// * ONE / propPtr->body->restitution ;
|
//~ propPtr->body->velocity.vx += actorPtr->body->velocity.vx;// * ONE / propPtr->body->restitution ;
|
||||||
propPtr->body->velocity.vz += actorPtr->body->velocity.vz;// * ONE / propPtr->body->restitution ;
|
//~ propPtr->body->velocity.vz += actorPtr->body->velocity.vz;// * ONE / propPtr->body->restitution ;
|
||||||
|
|
||||||
if (propPtr->body->velocity.vx){
|
//~ if (propPtr->body->velocity.vx){
|
||||||
|
|
||||||
VECTOR L = angularMom(*propPtr->body);
|
//~ VECTOR L = angularMom(*propPtr->body);
|
||||||
propPtr->rot->vz -= L.vx;
|
//~ propPtr->rot->vz -= L.vx;
|
||||||
}
|
//~ }
|
||||||
|
|
||||||
if (propPtr->body->velocity.vz){
|
//~ if (propPtr->body->velocity.vz){
|
||||||
|
|
||||||
VECTOR L = angularMom(*propPtr->body);
|
//~ VECTOR L = angularMom(*propPtr->body);
|
||||||
propPtr->rot->vx -= L.vz;
|
//~ propPtr->rot->vx -= L.vz;
|
||||||
}
|
//~ }
|
||||||
}
|
//~ }
|
||||||
|
|
||||||
if (!col_sphere_act.vx){
|
//~ if (!col_sphere_act.vx){
|
||||||
propPtr->body->velocity.vx = 0;
|
//~ propPtr->body->velocity.vx = 0;
|
||||||
}
|
//~ }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -704,10 +709,16 @@ int main() {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
meshes[k]->body->velocity.vy = meshes[k]->body->velocity.vx = meshes[k]->body->velocity.vz = 0;
|
|
||||||
|
meshes[k]->body->velocity.vy = 0;
|
||||||
|
meshes[k]->body->velocity.vx = 0;
|
||||||
|
meshes[k]->body->velocity.vz = 0;
|
||||||
|
|
||||||
|
//~ curNode->rigidbodies->list[k]->body->velocity.vx = curNode->rigidbodies->list[k]->body->velocity.vz = 0;
|
||||||
|
|
||||||
|
//~ FntPrint("V:%d ", curNode->rigidbodies->list[k]->body->velocity.vy);
|
||||||
}
|
}
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Camera setup
|
// Camera setup
|
||||||
@ -1259,7 +1270,7 @@ int main() {
|
|||||||
// Add secondary OT to main OT
|
// Add secondary OT to main OT
|
||||||
AddPrims(otdisc[db], ot[db] + OTLEN - 1, ot[db]);
|
AddPrims(otdisc[db], ot[db] + OTLEN - 1, ot[db]);
|
||||||
|
|
||||||
//~ FntPrint("CurNode : %x\nIndex: %d", curNode, curNode->siblings->index);
|
FntPrint("CurNode : %x\nIndex: %d", curNode, curNode->siblings->index);
|
||||||
|
|
||||||
//~ FntPrint("Time : %d %d dt :%d\n",time, atime, dt);
|
//~ FntPrint("Time : %d %d dt :%d\n",time, atime, dt);
|
||||||
//~ FntPrint("CamMode: %d Slowmo : %d\nTricount: %d OTz: %d\nOTc: %d, p: %d\n", camMode, actorPtr->anim->interpolate, triCount, *meshes[9]->OTz, OTc, *meshes[9]->p);
|
//~ FntPrint("CamMode: %d Slowmo : %d\nTricount: %d OTz: %d\nOTc: %d, p: %d\n", camMode, actorPtr->anim->interpolate, triCount, *meshes[9]->OTz, OTc, *meshes[9]->p);
|
||||||
|
Loading…
Reference in New Issue
Block a user