projects
/
physics.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
14597cf
)
ball collisions now optimized
author
Patrik Gornicz
<Gornicz.P@gmail.com>
Sun, 7 Dec 2008 15:51:55 +0000
(10:51 -0500)
committer
Patrik Gornicz
<Gornicz.P@gmail.com>
Sun, 7 Dec 2008 15:51:55 +0000
(10:51 -0500)
src/collisionManager.cpp
patch
|
blob
|
blame
|
history
diff --git
a/src/collisionManager.cpp
b/src/collisionManager.cpp
index
df83319
..
9db130e
100644
(file)
--- a/
src/collisionManager.cpp
+++ b/
src/collisionManager.cpp
@@
-42,6
+42,8
@@
bool getInfo(Ball* b1, Ball* b2, CollisionInfo* cInfo);
const int xDivisions = 20;
const int yDivisions = 16;
const int xDivisions = 20;
const int yDivisions = 16;
+const int screenX = 800;
+const int screenY = 600;
setPhys divisions[xDivisions][yDivisions];
setPhys divisions[xDivisions][yDivisions];
@@
-103,15
+105,15
@@
void placeEntity(PhysicsEntity* p)
const float& yb = b->positionRaw().y;
const float& rad = b->radius;
const float& yb = b->positionRaw().y;
const float& rad = b->radius;
- for( int x =
(int)(xb - rad
);
- x <
(int)(xb + rad
);
+ for( int x =
static_cast<int>( (xb - rad) / (screenX / xDivisions)
);
+ x <
= static_cast<int>( (xb + rad) / (screenX / xDivisions)
);
x++ )
{
if(x < 0 || xDivisions <= x)
break;
x++ )
{
if(x < 0 || xDivisions <= x)
break;
- for( int y =
(int)(yb - rad
);
- y <
(int)(yb + rad
);
+ for( int y =
static_cast<int>( (yb - rad) / (screenY / yDivisions)
);
+ y <
= static_cast<int>( (yb + rad) / (screenY / yDivisions)
);
y++ )
{
if(y < 0 || yDivisions <= y)
y++ )
{
if(y < 0 || yDivisions <= y)