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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "master.h"
|
|
||||||
#include "nameref.h"
|
#include "nameref.h"
|
||||||
#include "libs/reslib.h"
|
#include "libs/reslib.h"
|
||||||
#include "gamestr.h"
|
#include "gamestr.h"
|
||||||
@@ -34,21 +33,14 @@
|
|||||||
// should be something like solarsys.h
|
// should be something like solarsys.h
|
||||||
extern void FreeIPData (void);
|
extern void FreeIPData (void);
|
||||||
|
|
||||||
static void UninitContexts (void);
|
|
||||||
static void UninitKernel (BOOLEAN ships);
|
|
||||||
static void UninitGameKernel (void);
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
FreeKernel (void)
|
FreeKernel (void)
|
||||||
{
|
{
|
||||||
UninitKernel (TRUE);
|
UninitPlayerInput ();
|
||||||
UninitContexts ();
|
|
||||||
|
|
||||||
UninitResourceSystem ();
|
UninitResourceSystem ();
|
||||||
|
|
||||||
UninitPlayerInput ();
|
|
||||||
|
|
||||||
DestroyDrawable (ReleaseDrawable (Screen));
|
DestroyDrawable (ReleaseDrawable (Screen));
|
||||||
DestroyContext (ScreenContext);
|
DestroyContext (ScreenContext);
|
||||||
|
|
||||||
@@ -68,7 +60,7 @@ UninitContexts (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
UninitKernel (BOOLEAN ships)
|
UninitKernel (void)
|
||||||
{
|
{
|
||||||
UninitSpace ();
|
UninitSpace ();
|
||||||
|
|
||||||
@@ -83,9 +75,6 @@ UninitKernel (BOOLEAN ships)
|
|||||||
UninitQueue (&race_q[0]);
|
UninitQueue (&race_q[0]);
|
||||||
UninitQueue (&race_q[1]);
|
UninitQueue (&race_q[1]);
|
||||||
|
|
||||||
if (ships)
|
|
||||||
FreeMasterShipList ();
|
|
||||||
|
|
||||||
ActivityFrame = 0;
|
ActivityFrame = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,17 +87,15 @@ FreeGameData (void)
|
|||||||
FreeHyperData ();
|
FreeHyperData ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
UninitGameKernel (void)
|
UninitGameKernel (void)
|
||||||
{
|
{
|
||||||
// XXX: this function is never called. Why not? (BUG?)
|
|
||||||
if (ActivityFrame)
|
if (ActivityFrame)
|
||||||
{
|
{
|
||||||
FreeGameData ();
|
FreeGameData ();
|
||||||
|
|
||||||
UninitKernel (FALSE);
|
UninitKernel ();
|
||||||
UninitContexts ();
|
UninitContexts ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ extern BYTE PlayerControl[];
|
|||||||
BOOLEAN InitContexts (void);
|
BOOLEAN InitContexts (void);
|
||||||
void UninitPlayerInput (void);
|
void UninitPlayerInput (void);
|
||||||
BOOLEAN InitGameKernel (void);
|
BOOLEAN InitGameKernel (void);
|
||||||
|
void UninitGameKernel (void);
|
||||||
|
|
||||||
extern BOOLEAN LoadKernel (int argc, char *argv[]);
|
extern BOOLEAN LoadKernel (int argc, char *argv[]);
|
||||||
extern void FreeKernel (void);
|
extern void FreeKernel (void);
|
||||||
|
|||||||
@@ -296,7 +296,8 @@ while (--ac > 0)
|
|||||||
}
|
}
|
||||||
// CloseJournal ();
|
// CloseJournal ();
|
||||||
|
|
||||||
FreeGameData ();
|
UninitGameKernel ();
|
||||||
|
FreeMasterShipList ();
|
||||||
FreeKernel ();
|
FreeKernel ();
|
||||||
|
|
||||||
MainExited = TRUE;
|
MainExited = TRUE;
|
||||||
|
|||||||
Reference in New Issue
Block a user