//----------------------------------------------------------------------------- // 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> .wad\n"); dPrintf("\n buildWad -x |... .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 ) { }