Changeset 2192 in orxonox.OLD for orxonox/branches/chris/src/world.cc
- Timestamp:
- Jul 17, 2004, 7:40:40 PM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/branches/chris/src/world.cc
r2141 r2192 70 70 { 71 71 unsigned long ahitflg, bhitflg; 72 if( check_collision ( &aobj->place, aobj->collisioncluster, &ahitflg, &bobj->place, bobj->collisioncluster, &bhitflg)) ;72 if( check_collision ( &aobj->place, aobj->collisioncluster, &ahitflg, &bobj->place, bobj->collisioncluster, &bhitflg)) 73 73 { 74 74 aobj->collide (bobj, ahitflg, bhitflg); … … 183 183 else 184 184 { 185 while( track[t] .map_coords( loc, plc))185 while( track[t]->map_coords( loc, plc)) 186 186 { 187 track[t] .post_leave (entity);187 track[t]->post_leave (entity); 188 188 if( loc->part >= tracklen) 189 189 { … … 192 192 break; 193 193 } 194 track[loc->part] .post_enter (entity);194 track[loc->part]->post_enter (entity); 195 195 } 196 196 } … … 227 227 } 228 228 229 for( int i = 0; i < tracklen; i++) track[i] .tick (seconds);229 for( int i = 0; i < tracklen; i++) track[i]->tick (seconds); 230 230 } 231 231 … … 255 255 // create the tracks 256 256 tracklen = 6; 257 track = new Track [6];257 track = new Track*[6]; 258 258 for( int i = 0; i < tracklen; i++) 259 259 { 260 track[i] = Track( i, (i+1)%tracklen, &pathnodes[i], &pathnodes[(i+1)%tracklen]);260 track[i] = new Track( i, (i+1)%tracklen, &pathnodes[i], &pathnodes[(i+1)%tracklen]); 261 261 } 262 262 … … 277 277 void World::calc_camera_pos (Location* loc, Placement* plc) 278 278 { 279 track[loc->part].map_camera (loc, plc); 280 } 279 track[loc->part]->map_camera (loc, plc); 280 } 281 282 void World::explosion (Location* loc, Damage* dmg, float r, WorldEntity* instigator) 283 { 284 Placement mapped; 285 286 track[loc->part]->map_coords (loc, &mapped); 287 CollisionCluster boom( r, Vector(0,0,0)); 288 289 unsigned long boomflags, hflags; 290 List<WorldEntity> *a; 291 WorldEntity *aobj; 292 293 a = entities->get_next(); 294 295 while( a != NULL) 296 { 297 aobj = a->get_object(); 298 if( aobj->bCollide && aobj->collisioncluster != NULL) 299 { 300 hflags = 0; 301 if( check_collision ( &aobj->place, aobj->collisioncluster, &hflags, &mapped, &boom, &boomflags)) 302 { 303 aobj->hit (dmg, instigator, hflags); 304 } 305 } 306 a = a->get_next(); 307 } 308 } 309 310 void World::explosion (Placement* plc, Damage* dmg, float r, WorldEntity* instigator) 311 { 312 CollisionCluster boom( r, Vector(0,0,0)); 313 314 unsigned long boomflags, hflags; 315 List<WorldEntity> *a; 316 WorldEntity *aobj; 317 318 a = entities->get_next(); 319 320 while( a != NULL) 321 { 322 aobj = a->get_object(); 323 if( aobj->bCollide && aobj->collisioncluster != NULL) 324 { 325 hflags = 0; 326 if( check_collision ( &aobj->place, aobj->collisioncluster, &hflags, plc, &boom, &boomflags)) 327 { 328 aobj->hit (dmg, instigator, hflags); 329 } 330 } 331 a = a->get_next(); 332 } 333 }
Note: See TracChangeset
for help on using the changeset viewer.