main.cpp

来自「3D游戏模板」· C++ 代码 · 共 57 行

CPP
57
字号
/* main() function: principal execution
 * Template CS game
 * (C)2001 Mat Sutcliffe. See license.txt for license info (GPL).
 */

#include <cssysdef.h>
#include <csutil/ref.h>
#include <ivaria/reporter.h>
#include <csutil/cmdhelp.h>
#include <cstool/initapp.h>

#include "console.h"
#include "rungame.h"
#include "menu/menu.h"
#include "game/game.h"
#include "sys.h"
#include "sound.h"

CS_IMPLEMENT_APPLICATION

int main(int argc, char *argv[]) {
	iObjectRegistry *objreg = csInitializer::CreateEnvironment(argc, argv);
	System::require(objreg, "Creating Environment");
	System *system = new System (objreg);
	if (csCommandLineHelper::CheckHelp(objreg)) {
		csCommandLineHelper::Help(objreg);
		return 0;
	}

	Sound *sound = new Sound (objreg);
	Console *console = new Console (objreg);
	Game *game = new Game (sound, objreg);
	Menu *menu = new Menu (game, objreg);
	GameRunner *gamerunner = new GameRunner
		(sound, console, game, menu, objreg);
	bool ok = csInitializer::OpenApplication(objreg);
	System::require(ok, "Opening Application");

	const char *err1 = game->init();
	System::require(! err1, err1);
	const char *err2 = menu->init();
	System::require(! err2, err2);

	csDefaultRunLoop(objreg);

	delete gamerunner;
	delete game;
	delete menu;
	delete console;
	delete sound;
	delete system;
	csInitializer::DestroyApplication(objreg);
	objreg->DecRef();
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?