Sort out game kernel cleanup sequences; also dodge a warning
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3461 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
+4
-17
@@ -16,7 +16,6 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "master.h"
|
||||
#include "nameref.h"
|
||||
#include "libs/reslib.h"
|
||||
#include "gamestr.h"
|
||||
@@ -34,21 +33,14 @@
|
||||
// should be something like solarsys.h
|
||||
extern void FreeIPData (void);
|
||||
|
||||
static void UninitContexts (void);
|
||||
static void UninitKernel (BOOLEAN ships);
|
||||
static void UninitGameKernel (void);
|
||||
|
||||
|
||||
void
|
||||
FreeKernel (void)
|
||||
{
|
||||
UninitKernel (TRUE);
|
||||
UninitContexts ();
|
||||
UninitPlayerInput ();
|
||||
|
||||
UninitResourceSystem ();
|
||||
|
||||
UninitPlayerInput ();
|
||||
|
||||
DestroyDrawable (ReleaseDrawable (Screen));
|
||||
DestroyContext (ScreenContext);
|
||||
|
||||
@@ -68,7 +60,7 @@ UninitContexts (void)
|
||||
}
|
||||
|
||||
static void
|
||||
UninitKernel (BOOLEAN ships)
|
||||
UninitKernel (void)
|
||||
{
|
||||
UninitSpace ();
|
||||
|
||||
@@ -83,9 +75,6 @@ UninitKernel (BOOLEAN ships)
|
||||
UninitQueue (&race_q[0]);
|
||||
UninitQueue (&race_q[1]);
|
||||
|
||||
if (ships)
|
||||
FreeMasterShipList ();
|
||||
|
||||
ActivityFrame = 0;
|
||||
}
|
||||
|
||||
@@ -98,17 +87,15 @@ FreeGameData (void)
|
||||
FreeHyperData ();
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
UninitGameKernel (void)
|
||||
{
|
||||
// XXX: this function is never called. Why not? (BUG?)
|
||||
if (ActivityFrame)
|
||||
{
|
||||
FreeGameData ();
|
||||
|
||||
UninitKernel (FALSE);
|
||||
UninitKernel ();
|
||||
UninitContexts ();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ extern BYTE PlayerControl[];
|
||||
BOOLEAN InitContexts (void);
|
||||
void UninitPlayerInput (void);
|
||||
BOOLEAN InitGameKernel (void);
|
||||
void UninitGameKernel (void);
|
||||
|
||||
extern BOOLEAN LoadKernel (int argc, char *argv[]);
|
||||
extern void FreeKernel (void);
|
||||
|
||||
@@ -296,7 +296,8 @@ while (--ac > 0)
|
||||
}
|
||||
// CloseJournal ();
|
||||
|
||||
FreeGameData ();
|
||||
UninitGameKernel ();
|
||||
FreeMasterShipList ();
|
||||
FreeKernel ();
|
||||
|
||||
MainExited = TRUE;
|
||||
|
||||
Reference in New Issue
Block a user