mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-23 15:46:18 +00:00
Merge with develop
--HG-- branch : compatibility-develop
This commit is contained in:
commit
abdb7fca21
7 changed files with 107 additions and 188 deletions
|
@ -13,6 +13,8 @@ ADD_SUBDIRECTORY(client)
|
||||||
IF(WITH_RYZOM_SERVER OR WITH_RYZOM_TOOLS)
|
IF(WITH_RYZOM_SERVER OR WITH_RYZOM_TOOLS)
|
||||||
# Need servershare for build packed collision tool
|
# Need servershare for build packed collision tool
|
||||||
# Need aishare for build wmap tool
|
# Need aishare for build wmap tool
|
||||||
FIND_PACKAGE(MySQL REQUIRED)
|
FIND_PACKAGE(MySQL)
|
||||||
ADD_SUBDIRECTORY(server)
|
IF(MYSQL_FOUND)
|
||||||
|
ADD_SUBDIRECTORY(server)
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
|
@ -43,9 +43,6 @@ ADD_SUBDIRECTORY(server)
|
||||||
#test_files
|
#test_files
|
||||||
#build_data
|
#build_data
|
||||||
|
|
||||||
# Folders with subfolders, TODO
|
|
||||||
#client
|
|
||||||
|
|
||||||
# folders not handled yet.
|
# folders not handled yet.
|
||||||
#connection_stats
|
#connection_stats
|
||||||
#reynolds
|
#reynolds
|
||||||
|
|
|
@ -21,17 +21,11 @@
|
||||||
// INCLUDES //
|
// INCLUDES //
|
||||||
//////////////
|
//////////////
|
||||||
#include "stdpch.h"
|
#include "stdpch.h"
|
||||||
// Misc.
|
|
||||||
#include "nel/misc/types_nl.h"
|
|
||||||
#include "nel/misc/debug.h"
|
|
||||||
|
|
||||||
#if defined(NL_OS_WINDOWS)
|
// Application
|
||||||
#include <windows.h>
|
#include "sheets_packer_cfg.h"
|
||||||
#include <shellapi.h>
|
#include "sheet_manager.h"
|
||||||
#endif
|
#include "continent_manager_build.h"
|
||||||
|
|
||||||
// Client
|
|
||||||
#include "sheets_packer_init.h"
|
|
||||||
|
|
||||||
|
|
||||||
///////////
|
///////////
|
||||||
|
@ -43,7 +37,7 @@ using namespace NLMISC;
|
||||||
/////////////
|
/////////////
|
||||||
// GLOBALS //
|
// GLOBALS //
|
||||||
/////////////
|
/////////////
|
||||||
static uint32 Version = 1; // Client Version.
|
NLLIGO::CLigoConfig LigoConfig;
|
||||||
|
|
||||||
|
|
||||||
///////////////
|
///////////////
|
||||||
|
@ -57,13 +51,61 @@ static uint32 Version = 1; // Client Version.
|
||||||
//---------------------------------------------------
|
//---------------------------------------------------
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
CApplicationContext applicationContext;
|
||||||
|
|
||||||
|
// Parse Command Line.
|
||||||
|
NLMISC::CCmdArgs args;
|
||||||
|
|
||||||
|
args.setDescription("Pack all sheets needed by client. All parameters must be defined in sheets_packer.cfg and there is no parameters from command-line.");
|
||||||
|
|
||||||
|
if (!args.parse(argc, argv)) return 1;
|
||||||
|
|
||||||
|
CFileDisplayer *fd = NULL;
|
||||||
|
|
||||||
/////////////////////////////////
|
/////////////////////////////////
|
||||||
// Initialize the application. //
|
// Initialize the application. //
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// If the init fail -> return Failure.
|
// Add a displayer for Debug Infos, disable log.log.
|
||||||
if(!init())
|
createDebug(NULL, false);
|
||||||
return EXIT_FAILURE;
|
|
||||||
|
CLog::setProcessName("sheets_packer");
|
||||||
|
|
||||||
|
fd = new CFileDisplayer(getLogDirectory() + "sheets_packer.log", true, "SHEETS_PACKER.LOG");
|
||||||
|
|
||||||
|
// register ligo 'standard' class
|
||||||
|
NLLIGO::Register();
|
||||||
|
|
||||||
|
DebugLog->addDisplayer(fd);
|
||||||
|
InfoLog->addDisplayer(fd);
|
||||||
|
WarningLog->addDisplayer(fd);
|
||||||
|
ErrorLog->addDisplayer(fd);
|
||||||
|
AssertLog->addDisplayer(fd);
|
||||||
|
|
||||||
|
// Load the application configuration.
|
||||||
|
nlinfo("Loading config file...");
|
||||||
|
AppCfg.init(ConfigFileName);
|
||||||
|
|
||||||
|
// Define the root path that contains all data needed for the application.
|
||||||
|
nlinfo("Adding search paths...");
|
||||||
|
for (uint i = 0; i < AppCfg.DataPath.size(); i++)
|
||||||
|
CPath::addSearchPath(NLMISC::expandEnvironmentVariables(AppCfg.DataPath[i]), true, false);
|
||||||
|
|
||||||
|
// Initialize Sheet IDs.
|
||||||
|
nlinfo("Init SheetId...");
|
||||||
|
CSheetId::init(true);
|
||||||
|
|
||||||
|
// load packed sheets
|
||||||
|
nlinfo("Loading sheets...");
|
||||||
|
IProgressCallback callback;
|
||||||
|
SheetMngr.setOutputDataPath(NLMISC::expandEnvironmentVariables(AppCfg.OutputDataPath));
|
||||||
|
SheetMngr.load(callback, true, true, AppCfg.DumpVisualSlotsIndex);
|
||||||
|
|
||||||
|
// Make the lmconts.packed file
|
||||||
|
if (!LigoConfig.readPrimitiveClass(AppCfg.LigoPrimitiveClass.c_str(), false))
|
||||||
|
nlwarning("Can't load primitive class file %s", AppCfg.LigoPrimitiveClass.c_str());
|
||||||
|
NLLIGO::CPrimitiveContext::instance().CurrentLigoConfig = &LigoConfig;
|
||||||
|
buildLMConts(AppCfg.WorldSheet, NLMISC::expandEnvironmentVariables(AppCfg.PrimitivesPath), NLMISC::expandEnvironmentVariables(AppCfg.OutputDataPath));
|
||||||
}
|
}
|
||||||
catch(const EFatalError &) { return EXIT_FAILURE; /* nothing to do */ }
|
catch(const EFatalError &) { return EXIT_FAILURE; /* nothing to do */ }
|
||||||
catch(const Exception &e)
|
catch(const Exception &e)
|
||||||
|
@ -85,7 +127,14 @@ int main(int argc, char **argv)
|
||||||
// Release all the memory. //
|
// Release all the memory. //
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
release();
|
DebugLog->removeDisplayer("SHEETS_PACKER.LOG");
|
||||||
|
InfoLog->removeDisplayer("SHEETS_PACKER.LOG");
|
||||||
|
WarningLog->removeDisplayer("SHEETS_PACKER.LOG");
|
||||||
|
ErrorLog->removeDisplayer("SHEETS_PACKER.LOG");
|
||||||
|
AssertLog->removeDisplayer("SHEETS_PACKER.LOG");
|
||||||
|
|
||||||
|
if (fd) delete fd;
|
||||||
|
fd = NULL;
|
||||||
}
|
}
|
||||||
catch(const EFatalError &) { return EXIT_FAILURE; /* nothing to do */ }
|
catch(const EFatalError &) { return EXIT_FAILURE; /* nothing to do */ }
|
||||||
catch(const Exception &e)
|
catch(const Exception &e)
|
||||||
|
|
|
@ -1,126 +0,0 @@
|
||||||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
|
||||||
// Copyright (C) 2010 Winch Gate Property Limited
|
|
||||||
//
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//////////////
|
|
||||||
// INCLUDES //
|
|
||||||
//////////////
|
|
||||||
#include "stdpch.h"
|
|
||||||
// Misc.
|
|
||||||
#include "nel/misc/debug.h"
|
|
||||||
#include "nel/misc/displayer.h"
|
|
||||||
#include "nel/misc/path.h"
|
|
||||||
#include "nel/misc/log.h"
|
|
||||||
#include "nel/misc/sheet_id.h"
|
|
||||||
|
|
||||||
#include "nel/ligo/ligo_config.h"
|
|
||||||
#include "nel/ligo/primitive.h"
|
|
||||||
// Application
|
|
||||||
#include "sheets_packer_init.h"
|
|
||||||
#include "sheets_packer_cfg.h"
|
|
||||||
#include "sheet_manager.h"
|
|
||||||
|
|
||||||
#include "continent_manager_build.h"
|
|
||||||
|
|
||||||
///////////
|
|
||||||
// USING //
|
|
||||||
///////////
|
|
||||||
using namespace NLMISC;
|
|
||||||
//using namespace NL3D;
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
|
|
||||||
/////////////
|
|
||||||
// GLOBALS //
|
|
||||||
/////////////
|
|
||||||
CFileDisplayer *fd = NULL;
|
|
||||||
|
|
||||||
NLLIGO::CLigoConfig LigoConfig;
|
|
||||||
|
|
||||||
///////////////
|
|
||||||
// FUNCTIONS //
|
|
||||||
///////////////
|
|
||||||
//---------------------------------------------------
|
|
||||||
// init :
|
|
||||||
// Initialize the application.
|
|
||||||
// Return false if the init fails.
|
|
||||||
//---------------------------------------------------
|
|
||||||
bool init()
|
|
||||||
{
|
|
||||||
// Add a displayer for Debug Infos.
|
|
||||||
createDebug();
|
|
||||||
|
|
||||||
fd = new CFileDisplayer(getLogDirectory() + "sheets_packer.log", true, "SHEETS_PACKER.LOG");
|
|
||||||
|
|
||||||
// register ligo 'standard' class
|
|
||||||
NLLIGO::Register();
|
|
||||||
|
|
||||||
DebugLog->addDisplayer (fd);
|
|
||||||
InfoLog->addDisplayer (fd);
|
|
||||||
WarningLog->addDisplayer (fd);
|
|
||||||
ErrorLog->addDisplayer (fd);
|
|
||||||
AssertLog->addDisplayer (fd);
|
|
||||||
|
|
||||||
// Load the application configuration.
|
|
||||||
nlinfo("Loading config file...");
|
|
||||||
AppCfg.init(ConfigFileName);
|
|
||||||
|
|
||||||
// Define the root path that contains all data needed for the application.
|
|
||||||
nlinfo("Adding search paths...");
|
|
||||||
for(uint i = 0; i < AppCfg.DataPath.size(); i++)
|
|
||||||
CPath::addSearchPath(NLMISC::expandEnvironmentVariables(AppCfg.DataPath[i]), true, false);
|
|
||||||
|
|
||||||
// Initialize Sheet IDs.
|
|
||||||
nlinfo("Init SheetId...");
|
|
||||||
CSheetId::init(true);
|
|
||||||
|
|
||||||
// load packed sheets
|
|
||||||
nlinfo("Loading sheets...");
|
|
||||||
IProgressCallback callback;
|
|
||||||
SheetMngr.setOutputDataPath(AppCfg.OutputDataPath);
|
|
||||||
SheetMngr.load (callback, true, true, AppCfg.DumpVisualSlotsIndex);
|
|
||||||
|
|
||||||
// Make the lmconts.packed file
|
|
||||||
if (!LigoConfig.readPrimitiveClass (AppCfg.LigoPrimitiveClass.c_str(), false))
|
|
||||||
nlwarning ("Can't load primitive class file %s", AppCfg.LigoPrimitiveClass.c_str());
|
|
||||||
NLLIGO::CPrimitiveContext::instance().CurrentLigoConfig = &LigoConfig;
|
|
||||||
buildLMConts(AppCfg.WorldSheet, AppCfg.PrimitivesPath, AppCfg.OutputDataPath);
|
|
||||||
|
|
||||||
// The init is a success.
|
|
||||||
return true;
|
|
||||||
}// init //
|
|
||||||
|
|
||||||
//---------------------------------------------------
|
|
||||||
// release :
|
|
||||||
// Release all the memory.
|
|
||||||
//---------------------------------------------------
|
|
||||||
void release()
|
|
||||||
{
|
|
||||||
DebugLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
InfoLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
WarningLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
ErrorLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
AssertLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
|
|
||||||
delete fd;
|
|
||||||
fd = NULL;
|
|
||||||
}// release //
|
|
||||||
|
|
||||||
void outputSomeDebugInfoForPackedSheetCrash()
|
|
||||||
{
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
|
||||||
// Copyright (C) 2010 Winch Gate Property Limited
|
|
||||||
//
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef TL_SHEETS_PACKER_INIT_H
|
|
||||||
#define TL_SHEETS_PACKER_INIT_H
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "nel/misc/types_nl.h"
|
|
||||||
|
|
||||||
// Initialize the application.
|
|
||||||
bool init();
|
|
||||||
|
|
||||||
// Release all.
|
|
||||||
void release();
|
|
||||||
|
|
||||||
#endif // TL_SHEETS_PACKER_INIT_H
|
|
||||||
|
|
||||||
/* End of sheets_packer_init.h */
|
|
|
@ -1,2 +1,17 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "stdpch.h"
|
#include "stdpch.h"
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#ifndef STDPCH_H
|
||||||
|
#define STDPCH_H
|
||||||
|
|
||||||
#include <nel/misc/types_nl.h>
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
@ -12,11 +31,9 @@
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
//#include <sstream>
|
|
||||||
#include <exception>
|
#include <exception>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <fstream>
|
|
||||||
|
|
||||||
#include <nel/misc/common.h>
|
#include <nel/misc/common.h>
|
||||||
#include <nel/misc/debug.h>
|
#include <nel/misc/debug.h>
|
||||||
|
@ -31,9 +48,9 @@
|
||||||
#include <nel/misc/bit_mem_stream.h>
|
#include <nel/misc/bit_mem_stream.h>
|
||||||
#include <nel/misc/mem_stream.h>
|
#include <nel/misc/mem_stream.h>
|
||||||
#include <nel/misc/sheet_id.h>
|
#include <nel/misc/sheet_id.h>
|
||||||
|
#include <nel/misc/debug.h>
|
||||||
|
#include <nel/misc/cmd_args.h>
|
||||||
|
#include <nel/ligo/ligo_config.h>
|
||||||
|
#include <nel/ligo/primitive_utils.h>
|
||||||
|
|
||||||
#ifdef NL_OS_WINDOWS
|
#endif
|
||||||
#define NOMINMAX
|
|
||||||
#include <WinSock2.h>
|
|
||||||
#include <Windows.h>
|
|
||||||
#endif // NL_OS_WINDOWS
|
|
||||||
|
|
Loading…
Reference in a new issue