comparison mm7_3.cpp @ 303:3dcc9d945eeb

DamageMonsterFromParty
author Nomad
date Tue, 19 Feb 2013 15:39:50 +0200
parents af7e848d6def
children cc8e4dc397ec 72faa54ff319
comparison
equal deleted inserted replaced
296:af7e848d6def 303:3dcc9d945eeb
1482 v40 = v8; 1482 v40 = v8;
1483 do 1483 do
1484 { 1484 {
1485 _46E44E_collide_against_faces_and_portals(0); 1485 _46E44E_collide_against_faces_and_portals(0);
1486 _46E0B2_collide_against_decorations(); 1486 _46E0B2_collide_against_decorations();
1487 if ( (v1->field_58 & 7) != OBJECT_Player) 1487 if ( (v1->field_58_pid & 7) != OBJECT_Player)
1488 _46EF01_collision_chech_player(1); 1488 _46EF01_collision_chech_player(1);
1489 v13 = v1->field_58; 1489 v13 = v1->field_58_pid;
1490 v42 = v8; 1490 v42 = v8;
1491 if ( (v13 & 7) == OBJECT_Actor) 1491 if ( (v13 & 7) == OBJECT_Actor)
1492 { 1492 {
1493 if ( (signed int)uNumActors > v8 ) 1493 if ( (signed int)uNumActors > v8 )
1494 { 1494 {
1497 { 1497 {
1498 //v41 = pActors[v1->field_58 >> 3].pMonsterInfo.uID - 1; 1498 //v41 = pActors[v1->field_58 >> 3].pMonsterInfo.uID - 1;
1499 //v14 = (signed __int64)((double)v41 * 0.3333333333333333); 1499 //v14 = (signed __int64)((double)v41 * 0.3333333333333333);
1500 //v41 = *(short *)(v39 - 38) - 1; 1500 //v41 = *(short *)(v39 - 38) - 1;
1501 //if ( v14 != (unsigned int)(signed __int64)((double)v41 * 0.3333333333333333) ) 1501 //if ( v14 != (unsigned int)(signed __int64)((double)v41 * 0.3333333333333333) )
1502 if( pActors[v1->field_58 >> 3].pMonsterInfo.uID != v39b->pMonsterInfo.uID ) 1502 if( pActors[v1->field_58_pid >> 3].pMonsterInfo.uID != v39b->pMonsterInfo.uID )
1503 //not sure: pMonsterList->pMonsters[v39b->word_000086_some_monster_id-1].uToHitRadius 1503 //not sure: pMonsterList->pMonsters[v39b->word_000086_some_monster_id-1].uToHitRadius
1504 _46DF1A_collide_against_actor(v42, *((short *)&pMonsterList->pMonsters[v39b->word_000086_some_monster_id] - 73)); 1504 _46DF1A_collide_against_actor(v42, *((short *)&pMonsterList->pMonsters[v39b->word_000086_some_monster_id] - 73));
1505 ++v42; 1505 ++v42;
1506 ++v39b;// += 836; 1506 ++v39b;// += 836;
1507 } 1507 }
1986 v16 = WorldPosToGridCellZ(v1->vPosition.y); 1986 v16 = WorldPosToGridCellZ(v1->vPosition.y);
1987 v17 = v1->vPosition.x; 1987 v17 = v1->vPosition.x;
1988 v58 = v16; 1988 v58 = v16;
1989 v18 = WorldPosToGridCellX(v17); 1989 v18 = WorldPosToGridCellX(v17);
1990 _46E26D_collide_against_sprites(v18, v58); 1990 _46E26D_collide_against_sprites(v18, v58);
1991 if ( (v1->field_58 & 7) != OBJECT_Player) 1991 if ( (v1->field_58_pid & 7) != OBJECT_Player)
1992 _46EF01_collision_chech_player(0); 1992 _46EF01_collision_chech_player(0);
1993 if ( (v1->field_58 & 7) == OBJECT_Actor) 1993 if ( (v1->field_58_pid & 7) == OBJECT_Actor)
1994 { 1994 {
1995 v19 = v1->field_58 >> 3; 1995 v19 = v1->field_58_pid >> 3;
1996 if ( v19 >= 0 ) 1996 if ( v19 >= 0 )
1997 { 1997 {
1998 if ( v19 < (signed int)(uNumActors - 1) ) 1998 if ( v19 < (signed int)(uNumActors - 1) )
1999 { 1999 {
2000 v56 = 0; 2000 v56 = 0;
18185 a1.vPosition.x = fromx; 18185 a1.vPosition.x = fromx;
18186 a1.uAttributes = 16; 18186 a1.uAttributes = 16;
18187 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz); 18187 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz);
18188 a1.field_60_distance_related_prolly_lod = v55; 18188 a1.field_60_distance_related_prolly_lod = v55;
18189 a1.uSpriteFrameID = 0; 18189 a1.uSpriteFrameID = 0;
18190 a1.field_58 = 8002; 18190 a1.field_58_pid = 8000 | OBJECT_Item;
18191 a1.field_5C = 4; 18191 a1.field_5C = 4;
18192 a1.uSoundID = 0; 18192 a1.uSoundID = 0;
18193 for ( i = a7c / -2; i <= a7c / 2; i += a8b ) 18193 for ( i = a7c / -2; i <= a7c / 2; i += a8b )
18194 { 18194 {
18195 a1.uFacing = i + yaw; 18195 a1.uFacing = i + yaw;
18226 a1.uAttributes = 16; 18226 a1.uAttributes = 16;
18227 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz); 18227 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz);
18228 a1.field_60_distance_related_prolly_lod = v55; 18228 a1.field_60_distance_related_prolly_lod = v55;
18229 v20 = yaw; 18229 v20 = yaw;
18230 a1.uSpriteFrameID = 0; 18230 a1.uSpriteFrameID = 0;
18231 a1.field_58 = 8002; 18231 a1.field_58_pid = 8000 | OBJECT_Item;
18232 a1.field_5C = 0; 18232 a1.field_5C = 0;
18233 a1.uFacing = yaw; 18233 a1.uFacing = yaw;
18234 a1.uSoundID = 0; 18234 a1.uSoundID = 0;
18235 v51 = 0; 18235 v51 = 0;
18236 v49 = pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed; 18236 v49 = pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed;
18280 a1.vPosition.x = fromx; 18280 a1.vPosition.x = fromx;
18281 a1.uAttributes = 16; 18281 a1.uAttributes = 16;
18282 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz); 18282 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz);
18283 a1.field_60_distance_related_prolly_lod = v55; 18283 a1.field_60_distance_related_prolly_lod = v55;
18284 a1.uSpriteFrameID = 0; 18284 a1.uSpriteFrameID = 0;
18285 a1.field_58 = 8002; 18285 a1.field_58_pid = 8000 | OBJECT_Item;
18286 a1.field_5C = 4; 18286 a1.field_5C = 4;
18287 a1.uSoundID = 0; 18287 a1.uSoundID = 0;
18288 for ( j = a7d / -2; j <= a7d / 2; j += a8c ) 18288 for ( j = a7d / -2; j <= a7d / 2; j += a8c )
18289 { 18289 {
18290 a1.uFacing = j + yaw; 18290 a1.uFacing = j + yaw;
18436 a1.vPosition.x = fromx; 18436 a1.vPosition.x = fromx;
18437 a1.uAttributes = 16; 18437 a1.uAttributes = 16;
18438 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz); 18438 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz);
18439 a1.field_60_distance_related_prolly_lod = v55; 18439 a1.field_60_distance_related_prolly_lod = v55;
18440 a1.uSpriteFrameID = 0; 18440 a1.uSpriteFrameID = 0;
18441 a1.field_58 = 8002; 18441 a1.field_58_pid = 8000 | OBJECT_Item;
18442 a1.field_5C = 4; 18442 a1.field_5C = 4;
18443 a1.uSoundID = 0; 18443 a1.uSoundID = 0;
18444 v51 = 0; 18444 v51 = 0;
18445 v49 = pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed; 18445 v49 = pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed;
18446 v20 = yaw; 18446 v20 = yaw;