From: <av...@us...> - 2009-11-02 08:05:03
|
Revision: 3272 http://sc2.svn.sourceforge.net/sc2/?rev=3272&view=rev Author: avolkov Date: 2009-11-02 08:04:51 +0000 (Mon, 02 Nov 2009) Log Message: ----------- Cleanup of lander: ELEMENT.playerNr introduced; GOOD_GUY/BAD_GUY removed Modified Paths: -------------- trunk/sc2/src/uqm/element.h trunk/sc2/src/uqm/planets/lander.c trunk/sc2/src/uqm/planets/lander.h trunk/sc2/src/uqm/planets/scan.c Modified: trunk/sc2/src/uqm/element.h =================================================================== --- trunk/sc2/src/uqm/element.h 2009-11-02 05:23:06 UTC (rev 3271) +++ trunk/sc2/src/uqm/element.h 2009-11-02 08:04:51 UTC (rev 3272) @@ -107,6 +107,10 @@ CollisionFunc *collision_func; void (*death_func) (struct element *ElementPtr); + // Player this element belongs to + // 0: Bottom player in Melee; The Player in full-game + COUNT playerNr; + ELEMENT_FLAGS state_flags; union { Modified: trunk/sc2/src/uqm/planets/lander.c =================================================================== --- trunk/sc2/src/uqm/planets/lander.c 2009-11-02 05:23:06 UTC (rev 3271) +++ trunk/sc2/src/uqm/planets/lander.c 2009-11-02 08:04:51 UTC (rev 3272) @@ -596,7 +596,7 @@ } if (&DisplayArray[ElementPtr->PrimIndex] != pPrim - || !(ElementPtr->state_flags & BAD_GUY)) + || ElementPtr->playerNr != PS_NON_PLAYER) { UnlockElement (hElement); continue; @@ -950,7 +950,8 @@ LockElement (hLightningElement, &LightningElementPtr); - LightningElementPtr->state_flags = FINITE_LIFE | BAD_GUY; + LightningElementPtr->playerNr = PS_NON_PLAYER; + LightningElementPtr->state_flags = FINITE_LIFE; LightningElementPtr->preprocess_func = lightning_process; if ((BYTE)TFB_Random () >= (256 >> 2)) LightningElementPtr->mass_points = 0; /* harmless */ @@ -1002,7 +1003,8 @@ pPrim = &DisplayArray[GroundDisasterElementPtr->PrimIndex]; GroundDisasterElementPtr->mass_points = which_disaster; - GroundDisasterElementPtr->state_flags = FINITE_LIFE | BAD_GUY; + GroundDisasterElementPtr->playerNr = PS_NON_PLAYER; + GroundDisasterElementPtr->state_flags = FINITE_LIFE; GroundDisasterElementPtr->preprocess_func = object_animation; rand_val = TFB_Random (); @@ -1115,7 +1117,7 @@ ElementPtr->next.location.x += dx; ElementPtr->next.location.y += dy; /* if not lander's shot */ - if (ElementPtr->state_flags != (FINITE_LIFE | GOOD_GUY)) + if (ElementPtr->playerNr != PS_HUMAN_PLAYER) { if (ElementPtr->next.location.y < 0) ElementPtr->next.location.y = 0; @@ -1673,8 +1675,9 @@ LockElement (hExplosionElement, &ExplosionElementPtr); + ExplosionElementPtr->playerNr = PS_HUMAN_PLAYER; ExplosionElementPtr->mass_points = DEATH_EXPLOSION; - ExplosionElementPtr->state_flags = FINITE_LIFE | GOOD_GUY; + ExplosionElementPtr->state_flags = FINITE_LIFE; ExplosionElementPtr->next.location = pSolarSysState->MenuState.first_item; ExplosionElementPtr->preprocess_func = object_animation; @@ -1781,9 +1784,10 @@ LockElement (hWeaponElement, &WeaponElementPtr); + WeaponElementPtr->playerNr = PS_HUMAN_PLAYER; WeaponElementPtr->mass_points = 1; WeaponElementPtr->life_span = 12; - WeaponElementPtr->state_flags = FINITE_LIFE | GOOD_GUY; + WeaponElementPtr->state_flags = FINITE_LIFE; WeaponElementPtr->next.location = pSolarSysState->MenuState.first_item; WeaponElementPtr->current.location.x = Modified: trunk/sc2/src/uqm/planets/lander.h =================================================================== --- trunk/sc2/src/uqm/planets/lander.h 2009-11-02 05:23:06 UTC (rev 3271) +++ trunk/sc2/src/uqm/planets/lander.h 2009-11-02 08:04:51 UTC (rev 3272) @@ -61,6 +61,12 @@ extern void object_animation (ELEMENT *ElementPtr); +// ELEMENT.playerNr constants +enum +{ + PS_HUMAN_PLAYER, + PS_NON_PLAYER, +}; #endif /* _LANDER_H */ Modified: trunk/sc2/src/uqm/planets/scan.c =================================================================== --- trunk/sc2/src/uqm/planets/scan.c 2009-11-02 05:23:06 UTC (rev 3271) +++ trunk/sc2/src/uqm/planets/scan.c 2009-11-02 08:04:51 UTC (rev 3272) @@ -1232,7 +1232,7 @@ (*pSolarSysState->GenFunc) ((BYTE)(scan + GENERATE_MINERAL)); NodeElementPtr->scan_node = MAKE_WORD (scan, num_nodes + 1); - NodeElementPtr->state_flags = BAD_GUY; + NodeElementPtr->playerNr = PS_NON_PLAYER; NodeElementPtr->current.location.x = pSolarSysState->SysInfo.PlanetInfo.CurPt.x; NodeElementPtr->current.location.y = This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |