From f9c645567c41041540957b12f5f0ecfe72801569 Mon Sep 17 00:00:00 2001 From: meep-eep Date: Sun, 23 Apr 2006 06:28:27 +0000 Subject: [PATCH] Added resetEnergyBattle() git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2320 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/doc/devel/debug | 8 ++++---- sc2/src/sc2code/uqmdebug.c | 24 ++++++++++++++++++++++++ sc2/src/sc2code/uqmdebug.h | 3 +++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/sc2/doc/devel/debug b/sc2/doc/devel/debug index 33f6ceb59..453498156 100644 --- a/sc2/doc/devel/debug +++ b/sc2/doc/devel/debug @@ -48,10 +48,10 @@ listed below: Outputs information on the universe to "./PlanetInfo". This function should only be called from debugHook, as threading issues would otherwise arrise. -- the function resetCrewBattle() - This function, when called in melee, sets the current crew level of the - bottom player's ship to its maximum. This works both in Supermelee and in - the full game. +- the functions resetCrewBattle() and resetEnergyBattle() + This function, when called in melee, sets the current crew or energy + level of the bottom player's ship to its maximum. This works both in + Supermelee and in the full game. - the function uio_debugInteractive() This function is not defined in sc2code/uqmdebug.h, but in libs/uio.h. This function can interactively (tty-based) display information on diff --git a/sc2/src/sc2code/uqmdebug.c b/sc2/src/sc2code/uqmdebug.c index 4ea886df8..35f5aab4b 100644 --- a/sc2/src/sc2code/uqmdebug.c +++ b/sc2/src/sc2code/uqmdebug.c @@ -64,6 +64,7 @@ debugKeyPressed (void) // State modifying: equipShip (); resetCrewBattle (); + resetEnergyBattle (); instantMove = !instantMove; showSpheres (); activateAllShips (); @@ -1287,6 +1288,29 @@ resetCrewBattle(void) { SetContext (OldContext); } +void +resetEnergyBattle(void) { + STARSHIPPTR StarShipPtr; + COUNT delta; + CONTEXT OldContext; + + if (!(GLOBAL (CurrentActivity) & IN_BATTLE) || + (LOBYTE (GLOBAL (CurrentActivity)) == IN_HYPERSPACE)) + return; + + StarShipPtr = findPlayerShip (GOOD_GUY); + if (StarShipPtr == NULL || StarShipPtr->RaceDescPtr == NULL) + return; + + delta = StarShipPtr->RaceDescPtr->ship_info.max_energy - + StarShipPtr->RaceDescPtr->ship_info.energy_level; + + OldContext = SetContext (StatusContext); + DeltaEnergy (StarShipPtr->hShip, delta); + SetContext (OldContext); +} + + #endif /* DEBUG */ diff --git a/sc2/src/sc2code/uqmdebug.h b/sc2/src/sc2code/uqmdebug.h index b66b99aec..4c42017d4 100644 --- a/sc2/src/sc2code/uqmdebug.h +++ b/sc2/src/sc2code/uqmdebug.h @@ -148,6 +148,9 @@ STARSHIPPTR findPlayerShip(ELEMENT_FLAGS which); // Resets the crew of the first player (the bottom one) to its maximum. void resetCrewBattle(void); +// Resets the energy of the first player (the bottom one) to its maximum. +void resetEnergyBattle(void); + // Move instantly across hyperspace/quasispace. extern BOOLEAN instantMove;