171 lines
4.2 KiB
C++
Executable File
171 lines
4.2 KiB
C++
Executable File
//-----------------------------------------------------------------------------
|
|
// Torque Game Engine
|
|
// Copyright (C) GarageGames.com, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#include "platform/platform.h"
|
|
#include "platform/platformAssert.h"
|
|
#include "math/mMath.h"
|
|
#include "core/resManager.h"
|
|
#include "console/console.h"
|
|
#include "dgl/gBitmap.h"
|
|
#include "dgl/gTexManager.h"
|
|
#include "console/consoleTypes.h"
|
|
#include "math/mathTypes.h"
|
|
#include "platform/event.h"
|
|
#include "core/frameAllocator.h"
|
|
|
|
#include "buildWad/wadProcessor.h"
|
|
|
|
//------------------------------------------------------------------------------
|
|
#include "platform/gameInterface.h"
|
|
class WadToolGame : public GameInterface
|
|
{
|
|
public:
|
|
S32 main(S32 argc, const char **argv);
|
|
} GameObject;
|
|
|
|
// FOR SILLY LINK DEPENDANCY
|
|
bool gEditingMission = false;
|
|
void GameHandleNotify(NetConnectionId, bool)
|
|
{
|
|
}
|
|
|
|
|
|
#if defined(TORQUE_DEBUG)
|
|
const char * const gProgramVersion = "0.900d-beta";
|
|
#else
|
|
const char * const gProgramVersion = "0.900r-beta";
|
|
#endif
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
static bool initLibraries()
|
|
{
|
|
// asserts should be created FIRST
|
|
PlatformAssert::create();
|
|
|
|
FrameAllocator::init(1 << 20);
|
|
FrameAllocator::setWaterMark(0);
|
|
|
|
_StringTable::create();
|
|
TextureManager::create();
|
|
|
|
Con::init();
|
|
|
|
// Processor::init();
|
|
Math::init();
|
|
Platform::init(); // platform specific initialization
|
|
return(true);
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
static void shutdownLibraries()
|
|
{
|
|
// shut down
|
|
Platform::shutdown();
|
|
Con::shutdown();
|
|
|
|
TextureManager::destroy();
|
|
_StringTable::destroy();
|
|
|
|
FrameAllocator::destroy();
|
|
|
|
// asserts should be destroyed LAST
|
|
PlatformAssert::destroy();
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
void (*terrMipBlit)(U16 *dest, U32 destStride, U32 squareSize, const U8 *sourcePtr, U32 sourceStep, U32 sourceRowAdd) = 0;
|
|
|
|
struct Event;
|
|
void GamePostEvent(const Event& /*event*/)
|
|
{
|
|
//
|
|
}
|
|
|
|
S32 WadToolGame::main(int argc, const char ** argv)
|
|
{
|
|
if(!initLibraries())
|
|
return(0);
|
|
|
|
// give the console the command line
|
|
Con::setIntVariable("Game::argc", argc);
|
|
for(S32 i = 0; i < argc; i++)
|
|
Con::setVariable(avar("Game::argv%d", i), argv[i]);
|
|
|
|
// so the debugger can actually do something....
|
|
// if(argc<3)
|
|
// {
|
|
// const char* argvFake[] = { "wadtool", "lushTest", "lushtest.wad"};
|
|
// argc = 3;
|
|
// argv = argvFake;
|
|
// }
|
|
|
|
// info
|
|
if(argc <= 2)
|
|
{
|
|
dPrintf("\nbuildWad - Torque wad file creator\n"
|
|
" Copyright (C) GarageGames.com, Inc.\n"
|
|
" Programming by John Folliard\n"
|
|
" Program version: %s\n"
|
|
" Built: %s at %s\n", gProgramVersion, __DATE__, __TIME__);
|
|
|
|
dPrintf("\n Usage: buildWad -x <[@]source> <outputFile>.wad\n");
|
|
dPrintf("\n buildWad -x <directory>|<source.png>... <outputFile>.wad\n");
|
|
dPrintf( " -x: allow each texture to have a unique palette.\n");
|
|
shutdownLibraries();
|
|
return(0);
|
|
}
|
|
|
|
// create the wad processor - have it write a header then allow the lumps
|
|
// to write themseleves out, then close and fixup the wad
|
|
WadProcessor * waddy = new WadProcessor();
|
|
if (!waddy->open(argv[argc-1])) {
|
|
dPrintf(" *** Could not open wad file: %s\n",argv[argc-1]);
|
|
return(1);
|
|
}
|
|
|
|
U32 startArg = 1;
|
|
bool singlePalette = true;
|
|
|
|
// check for a switch
|
|
if(argv[1][0] == '-')
|
|
{
|
|
if(U8(dTolower(argv[1][1])) == 'x')
|
|
{
|
|
startArg++;
|
|
singlePalette = false;
|
|
}
|
|
}
|
|
|
|
// process the list of bitmaps...
|
|
for(S32 i = startArg; i < (argc-1); i++)
|
|
waddy->addBitmaps(argv[i]);
|
|
|
|
//
|
|
if(singlePalette)
|
|
waddy->processSinglePalette();
|
|
else
|
|
waddy->processBitmaps();
|
|
|
|
waddy->close();
|
|
delete waddy;
|
|
|
|
shutdownLibraries();
|
|
return(0);
|
|
}
|
|
|
|
|
|
void GameReactivate()
|
|
{
|
|
|
|
}
|
|
|
|
void GameDeactivate( bool )
|
|
{
|
|
|
|
}
|