forked from github/server
parent
601f562ad4
commit
532cbd0a36
|
@ -596,18 +596,6 @@ mistake(const unit * u, const char *command, const char *comment, int mtype)
|
|||
|
||||
extern unsigned int new_hashstring(const char* s);
|
||||
|
||||
static int
|
||||
old_hashstring(const char* s)
|
||||
{
|
||||
int key = 0;
|
||||
int i = strlen(s);
|
||||
while (i) {
|
||||
--i;
|
||||
key = ((key >> 31) & 1) ^ (key << 1) ^ s[i];
|
||||
}
|
||||
return key & 0x7fff;
|
||||
}
|
||||
|
||||
void
|
||||
set_msglevel(struct warning ** warnings, const char * type, int level)
|
||||
{
|
||||
|
|
|
@ -760,9 +760,11 @@ void
|
|||
read_items(FILE *F, item **ilist)
|
||||
{
|
||||
for (;;) {
|
||||
const item_type * itype;
|
||||
rs(F, buf);
|
||||
if (!strcmp("end", buf)) break;
|
||||
i_change(ilist, it_find(buf), ri(F));
|
||||
itype = it_find(buf);
|
||||
if (itype!=NULL) i_change(ilist, itype, ri(F));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -111,6 +111,7 @@ read_gmcreate(attrib * a, FILE * F)
|
|||
*p_itype = it_find(zText);
|
||||
if (a->data.v==NULL) {
|
||||
log_error(("unknown itemtype %s in gmcreate attribute\n", zText));
|
||||
return AT_READ_FAIL;
|
||||
}
|
||||
return AT_READ_OK;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
AdditionalIncludeDirectories="../kernel,../util,../..,.."
|
||||
PreprocessorDefinitions="_WINDOWS,WIN32"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
RuntimeLibrary="3"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
|
@ -76,7 +76,7 @@
|
|||
AdditionalIncludeDirectories="../kernel,../util,../..,.."
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
|
@ -123,21 +123,12 @@
|
|||
<File
|
||||
RelativePath=".\alliance.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\arena.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\dungeon.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\gmcmd.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\infocmd.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\museum.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\score.h">
|
||||
</File>
|
||||
|
@ -154,21 +145,12 @@
|
|||
<File
|
||||
RelativePath=".\alliance.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\arena.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\dungeon.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\gmcmd.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\infocmd.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\museum.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\score.c">
|
||||
</File>
|
||||
|
|
|
@ -19,7 +19,7 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
#ifndef MUSEUM_MODULE
|
||||
#warning "must define MUSEUM_MODULE to use this module"
|
||||
#error "must define MUSEUM_MODULE to use this module"
|
||||
#endif
|
||||
|
||||
extern attrib_type at_warden;
|
||||
|
|
|
@ -25,9 +25,10 @@
|
|||
#include <region.h>
|
||||
#include <ship.h>
|
||||
|
||||
/* libc includes */
|
||||
#include <base36.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
attrib_type at_xontormiaexpress = {
|
||||
"xontormiaexpress",
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
AdditionalIncludeDirectories="../kernel,../util,../..,.."
|
||||
PreprocessorDefinitions="_WINDOWS,WIN32"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
RuntimeLibrary="3"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
|
@ -76,7 +76,7 @@
|
|||
AdditionalIncludeDirectories="../kernel,../util,../..,.."
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
AdditionalIncludeDirectories="../kernel,../util,../..,.."
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
|
@ -75,7 +75,7 @@
|
|||
AdditionalIncludeDirectories="../kernel,../util,../..,.."
|
||||
PreprocessorDefinitions="_WINDOWS,WIN32,_DEBUG"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
RuntimeLibrary="3"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
AdditionalIncludeDirectories="../util,../kernel,../..,.."
|
||||
PreprocessorDefinitions="_WINDOWS,WIN32,_DEBUG"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
RuntimeLibrary="3"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
|
@ -76,7 +76,7 @@
|
|||
AdditionalIncludeDirectories="../util,../kernel,../..,.."
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
/* ansi includes */
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
AdditionalIncludeDirectories="../.."
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
|
@ -128,7 +128,7 @@
|
|||
AdditionalIncludeDirectories="../..,.."
|
||||
PreprocessorDefinitions="_WINDOWS,WIN32,_DEBUG"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
RuntimeLibrary="3"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
|
|
|
@ -7,11 +7,33 @@ SubDirHdrs $(SUBDIR)/../common/util ;
|
|||
SubDirHdrs $(SUBDIR)/../common ;
|
||||
SubDirHdrs $(SUBDIR)/.. ;
|
||||
|
||||
if $(HAVE_LUA) {
|
||||
SubDirC++Flags -DHAVE_LUA ;
|
||||
UsingLua ;
|
||||
UsingLuabind ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) lua ] ;
|
||||
}
|
||||
|
||||
if $(HAVE_LUA) {
|
||||
SOURCES =
|
||||
korrektur.c
|
||||
main.c
|
||||
<lua>alliance.cpp
|
||||
<lua>building.cpp
|
||||
<lua>eressea.cpp
|
||||
<lua>faction.cpp
|
||||
<lua>region.cpp
|
||||
<lua>ship.cpp
|
||||
<lua>unit.cpp
|
||||
main.cpp
|
||||
;
|
||||
|
||||
LINKLIBS on eressea += -llua50 -llualib50 ;
|
||||
LINKLIBS on eressea += -lluabind ;
|
||||
} else {
|
||||
SOURCES = main.c ;
|
||||
}
|
||||
|
||||
SOURCES += korrektur.c ;
|
||||
|
||||
Main eressea : $(SOURCES) ;
|
||||
LinkLibraries eressea :
|
||||
kernel
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
AdditionalIncludeDirectories="../common/kernel,../common/gamecode,../common/util,../common,.."
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
|
@ -42,6 +42,7 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="luabind.lib lua50.lib lualib50.lib"
|
||||
OutputFile=".\Release/eressea.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
|
@ -148,8 +149,8 @@
|
|||
AdditionalIncludeDirectories="../common/kernel,../common/gamecode,../common/util,../common,.."
|
||||
PreprocessorDefinitions="_CONSOLE,WIN32"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
RuntimeLibrary="3"
|
||||
DisableLanguageExtensions="FALSE"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
PrecompiledHeaderFile=".\Debug/eressea.pch"
|
||||
|
@ -165,6 +166,7 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="luabindd.lib lua50d.lib lualib50d.lib"
|
||||
OutputFile=".\Debug/eressea.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
|
@ -212,14 +214,159 @@
|
|||
RelativePath="..\todo.txt">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="bindings"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath=".\lua\alliance.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\lua\bindings.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\lua\building.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Profile|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\lua\eressea.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\lua\faction.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Profile|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\lua\list.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\lua\region.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Profile|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\lua\ship.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Profile|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\lua\unit.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Profile|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\korrektur.c">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Profile|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="TRUE"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\korrektur.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\main.c">
|
||||
RelativePath=".\main.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
DisableLanguageExtensions="FALSE"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\common\settings-eressea.h">
|
||||
|
|
|
@ -9,6 +9,14 @@
|
|||
* prior permission by the authors of Eressea.
|
||||
**/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void korrektur(void);
|
||||
extern void korrektur_end(void);
|
||||
extern void init_conversion(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* vi: set ts=2:
|
||||
*
|
||||
*
|
||||
* Eressea PB(E)M host Copyright (C) 1998-2000
|
||||
* Eressea PB(E)M host Copyright (C) 1998-2003
|
||||
* Christian Schlittchen (corwin@amber.kn-bremen.de)
|
||||
* Katja Zedel (katze@felidae.kn-bremen.de)
|
||||
* Henning Peters (faroul@beyond.kn-bremen.de)
|
||||
|
@ -24,23 +24,31 @@
|
|||
#undef LOCALE_CHECK
|
||||
#endif
|
||||
|
||||
/* config includes */
|
||||
#include <config.h>
|
||||
#include <eressea.h>
|
||||
|
||||
#include "korrektur.h"
|
||||
|
||||
/* initialization - TODO: init in separate module */
|
||||
#include <races/races.h>
|
||||
#include <attributes/attributes.h>
|
||||
#include <spells/spells.h>
|
||||
#include <triggers/triggers.h>
|
||||
#include <items/items.h>
|
||||
|
||||
/* modules includes */
|
||||
#ifdef DUNGEON_MODULE
|
||||
#include <modules/dungeon.h>
|
||||
#endif
|
||||
#include <modules/score.h>
|
||||
#include <modules/xmas.h>
|
||||
#include <modules/gmcmd.h>
|
||||
#ifdef INFOCMD_MODULE
|
||||
#include <modules/infocmd.h>
|
||||
#ifdef MUSEUM_MODULE
|
||||
#include <modules/museum.h>
|
||||
#endif
|
||||
#ifdef ARENA_MODULE
|
||||
#include <modules/arena.h>
|
||||
#endif
|
||||
|
||||
/* gamecode includes */
|
||||
|
@ -49,14 +57,13 @@
|
|||
#include <laws.h>
|
||||
|
||||
/* kernel includes */
|
||||
#include <alchemy.h>
|
||||
#include <building.h>
|
||||
#include <creport.h>
|
||||
#include <faction.h>
|
||||
#include <message.h>
|
||||
#include <plane.h>
|
||||
#include <race.h>
|
||||
#include <skill.h>
|
||||
#include <technology.h>
|
||||
#include <teleport.h>
|
||||
#include <unit.h>
|
||||
#include <region.h>
|
||||
|
@ -70,11 +77,12 @@
|
|||
|
||||
/* util includes */
|
||||
#include <rand.h>
|
||||
#include <log.h>
|
||||
#include <sql.h>
|
||||
#include <base36.h>
|
||||
|
||||
#ifdef HAVE_LUA
|
||||
/* lua includes */
|
||||
#ifdef HAVE_LUA
|
||||
#include "lua/bindings.h"
|
||||
#include <lua.hpp>
|
||||
#include <luabind/luabind.hpp>
|
||||
|
@ -88,18 +96,14 @@
|
|||
#include <ctime>
|
||||
#include <clocale>
|
||||
|
||||
|
||||
/**
|
||||
** global variables we are importing from other modules
|
||||
**/
|
||||
|
||||
extern "C" {
|
||||
#ifdef BETA_CODE
|
||||
extern int xml_writeitems(const char * filename);
|
||||
extern int xml_writeships(void);
|
||||
extern int xml_writebuildings(void);
|
||||
#endif
|
||||
|
||||
extern char * g_reportdir;
|
||||
extern char * g_datadir;
|
||||
extern char * g_basedir;
|
||||
extern char * g_resourcedir;
|
||||
extern item_type * i_silver;
|
||||
|
||||
extern boolean nonr;
|
||||
|
@ -108,26 +112,33 @@ extern boolean noreports;
|
|||
extern boolean nomer;
|
||||
extern boolean nomsg;
|
||||
extern boolean nobattle;
|
||||
extern boolean nomonsters;
|
||||
extern boolean nobattledebug;
|
||||
extern boolean dirtyload;
|
||||
|
||||
extern int demonfix;
|
||||
extern int loadplane;
|
||||
|
||||
extern void debug_messagetypes(FILE * out);
|
||||
extern void free_region(region * r);
|
||||
extern void render_init(void);
|
||||
extern void free_borders(void);
|
||||
extern boolean opt_cr_absolute_coords;
|
||||
|
||||
#ifdef FUZZY_BASE36
|
||||
extern int fuzzy_hits;
|
||||
#endif /* FUZZY_BASE36 */
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
** global variables wthat we are exporting
|
||||
** global variables that we are exporting
|
||||
**/
|
||||
static char * orders = NULL;
|
||||
static char * xmlfile = NULL;
|
||||
static int nowrite = 0;
|
||||
static boolean g_writemap = false;
|
||||
static boolean g_killeiswald = false;
|
||||
static boolean opt_reportonly = false;
|
||||
|
||||
struct settings global = {
|
||||
"Eressea", /* gamename */
|
||||
|
@ -143,7 +154,7 @@ crwritemap(void)
|
|||
for (r=regions;r;r=r->next) {
|
||||
plane * p = rplane(r);
|
||||
fprintf(F, "REGION %d %d %d\n", r->x, r->y, p?p->id:0);
|
||||
fprintf(F, "\"%s\";Name\n\"%s\";Terrain\n", rname(r, default_locale), LOC(default_locale, rterrain(r)->name));
|
||||
fprintf(F, "\"%s\";Name\n\"%s\";Terrain\n", rname(r, default_locale), LOC(default_locale, terrain[rterrain(r)].name));
|
||||
}
|
||||
fclose(F);
|
||||
return 0;
|
||||
|
@ -153,31 +164,19 @@ static void
|
|||
game_init(void)
|
||||
{
|
||||
init_triggers();
|
||||
|
||||
init_xmas();
|
||||
report_init();
|
||||
creport_init();
|
||||
|
||||
debug_language("locales.log");
|
||||
register_skills();
|
||||
|
||||
register_raceclass();
|
||||
register_races();
|
||||
register_resources();
|
||||
register_terrains();
|
||||
register_buildings();
|
||||
register_ships();
|
||||
register_items();
|
||||
#ifdef MAGIC
|
||||
register_spells();
|
||||
#endif
|
||||
#ifdef DUNGEON_MODULE
|
||||
register_dungeon();
|
||||
register_technology();
|
||||
register_alchemy();
|
||||
#ifdef MUSEUM_MODULE
|
||||
register_museum();
|
||||
#endif
|
||||
#ifdef ARENA_MODULE
|
||||
register_arena();
|
||||
#endif
|
||||
|
||||
init_data(xmlfile?xmlfile:"eressea.xml");
|
||||
|
@ -187,14 +186,20 @@ game_init(void)
|
|||
init_resources();
|
||||
init_items();
|
||||
init_economy();
|
||||
#if NEW_RESOURCEGROWTH
|
||||
init_rawmaterials();
|
||||
#endif
|
||||
|
||||
init_gmcmd();
|
||||
#ifdef INFOCMD_MODULE
|
||||
init_info();
|
||||
#endif
|
||||
init_conversion();
|
||||
|
||||
#ifdef MUSEUM_MODULE
|
||||
register_museum();
|
||||
#endif
|
||||
#ifdef ARENA_MODULE
|
||||
register_arena();
|
||||
#endif
|
||||
#ifdef REMOVE_THIS
|
||||
render_init();
|
||||
{
|
||||
|
@ -278,6 +283,37 @@ writepasswd(void)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef SHORTPWDS
|
||||
static void
|
||||
readshortpwds()
|
||||
{
|
||||
FILE * F;
|
||||
char zText[MAX_PATH];
|
||||
sprintf(zText, "%s/%s.%u", basepath(), "shortpwds", turn);
|
||||
|
||||
F = fopen(zText, "r");
|
||||
if (F==NULL) {
|
||||
log_error(("could not open password file %s", zText));
|
||||
} else {
|
||||
while (!feof(F)) {
|
||||
faction * f;
|
||||
char passwd[16], faction[5], email[64];
|
||||
fscanf(F, "%s %s %s\n", faction, passwd, email);
|
||||
f = findfaction(atoi36(faction));
|
||||
if (f!=NULL) {
|
||||
shortpwd * pwd = (shortpwd*)malloc(sizeof(shortpwd));
|
||||
pwd->email = strdup(email);
|
||||
pwd->pwd = strdup(passwd);
|
||||
pwd->used = false;
|
||||
pwd->next = f->shortpwds;
|
||||
f->shortpwds = pwd;
|
||||
}
|
||||
}
|
||||
fclose(F);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LUA
|
||||
lua_State * luaState;
|
||||
|
||||
|
@ -287,7 +323,10 @@ lua_init(void)
|
|||
luaState = lua_open();
|
||||
luaopen_base(luaState);
|
||||
luabind::open(luaState);
|
||||
bind_eressea(luaState);
|
||||
bind_alliance(luaState);
|
||||
bind_region(luaState);
|
||||
bind_faction(luaState);
|
||||
bind_unit(luaState);
|
||||
bind_ship(luaState);
|
||||
bind_building(luaState);
|
||||
|
@ -306,6 +345,9 @@ processturn(char *filename)
|
|||
struct summary * begin, * end;
|
||||
int i;
|
||||
|
||||
#ifdef SHORTPWDS
|
||||
readshortpwds("passwords");
|
||||
#endif
|
||||
begin = make_summary(false);
|
||||
printf(" - Korrekturen Runde %d\n", turn);
|
||||
korrektur();
|
||||
|
@ -336,6 +378,11 @@ processturn(char *filename)
|
|||
free(end);
|
||||
free(begin);
|
||||
writepasswd();
|
||||
#ifdef FUZZY_BASE36
|
||||
fputs("==--------------------------==\n", stdout);
|
||||
fprintf(stdout, "## fuzzy base10 hits: %5d ##\n", fuzzy_hits);
|
||||
fputs("==--------------------------==\n", stdout);
|
||||
#endif /* FUZZY_BASE36 */
|
||||
if (!nowrite) {
|
||||
char ztext[64];
|
||||
sprintf(ztext, "%s/%d", datapath(), turn);
|
||||
|
@ -410,13 +457,17 @@ game_done(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if MALLOCDBG
|
||||
static void
|
||||
#include "magic.h"
|
||||
|
||||
#ifdef MALLOCDBG
|
||||
void
|
||||
init_malloc_debug(void)
|
||||
{
|
||||
#if (defined(_MSC_VER))
|
||||
# if MALLOCDBG == 2
|
||||
# define CHECKON() _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_DELAY_FREE_MEM_DF | _CRTDBG_CHECK_ALWAYS_DF)
|
||||
# elif MALLOCDBG == 3
|
||||
# define CHECKON() _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) & 0)
|
||||
# elif MALLOCDBG == 1
|
||||
# define CHECKON() _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK_CRT_DF | _CRTDBG_DELAY_FREE_MEM_DF)
|
||||
# endif
|
||||
|
@ -437,7 +488,7 @@ write_stats(void)
|
|||
for (i=0;spelldaten[i].id;++i) {
|
||||
if (spelldaten[i].magietyp!=m) {
|
||||
m=spelldaten[i].magietyp;
|
||||
fprintf(F, "\n%s\n", magic_schools[m]);
|
||||
fprintf(F, "\n%s\n", magietypen[m]);
|
||||
}
|
||||
fprintf(F, "%d\t%s\n", spelldaten[i].level, spelldaten[i].name);
|
||||
}
|
||||
|
@ -490,13 +541,16 @@ usage(const char * prog, const char * arg)
|
|||
"-t turn : read this datafile, not the most current one\n"
|
||||
"-o reportdir : gibt das reportverzeichnis an\n"
|
||||
"-l logfile : specify an alternative logfile\n"
|
||||
"-R : erstellt nur die Reports neu\n"
|
||||
"--noeiswald : beruhigt ungemein\n"
|
||||
"--nomsg : keine Messages (RAM sparen)\n"
|
||||
"--nobattle : keine Kämpfe\n"
|
||||
"--nomonsters : keine monster KI\n"
|
||||
"--nodebug : keine Logfiles für Kämpfe\n"
|
||||
"--debug : schreibt Debug-Ausgaben in die Datei debug\n"
|
||||
"--nocr : keine CRs\n"
|
||||
"--nonr : keine Reports\n"
|
||||
"--crabsolute : absolute Koordinaten im CR\n"
|
||||
#ifdef USE_MERIAN
|
||||
"--nomer : keine Meriankarten\n"
|
||||
#endif
|
||||
|
@ -525,7 +579,9 @@ read_args(int argc, char **argv)
|
|||
else if (strcmp(argv[i]+2, "nomsg")==0) nomsg = true;
|
||||
else if (strcmp(argv[i]+2, "noeiswald")==0) g_killeiswald = true;
|
||||
else if (strcmp(argv[i]+2, "nobattle")==0) nobattle = true;
|
||||
else if (strcmp(argv[i]+2, "nomonsters")==0) nomonsters = true;
|
||||
else if (strcmp(argv[i]+2, "nodebug")==0) nobattledebug = true;
|
||||
else if (strcmp(argv[i]+2, "crabsolute")==0) opt_cr_absolute_coords = true;
|
||||
#ifdef USE_MERIAN
|
||||
else if (strcmp(argv[i]+2, "nomer")==0) nomer = true;
|
||||
#endif
|
||||
|
@ -537,6 +593,9 @@ read_args(int argc, char **argv)
|
|||
case 'o':
|
||||
g_reportdir = argv[++i];
|
||||
break;
|
||||
case 'D': /* DEBUG */
|
||||
demonfix = atoi(argv[++i]);
|
||||
break;
|
||||
case 'd':
|
||||
g_datadir = argv[++i];
|
||||
break;
|
||||
|
@ -546,6 +605,9 @@ read_args(int argc, char **argv)
|
|||
case 'b':
|
||||
g_basedir = argv[++i];
|
||||
break;
|
||||
case 'i':
|
||||
xmlfile = argv[++i];
|
||||
break;
|
||||
case 't':
|
||||
turn = atoi(argv[++i]);
|
||||
break;
|
||||
|
@ -576,6 +638,9 @@ read_args(int argc, char **argv)
|
|||
case 'w':
|
||||
g_writemap = true;
|
||||
break;
|
||||
case 'R':
|
||||
opt_reportonly = true;
|
||||
break;
|
||||
default:
|
||||
usage(argv[0], argv[i]);
|
||||
}
|
||||
|
@ -583,6 +648,12 @@ read_args(int argc, char **argv)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef BETA_CODE
|
||||
extern int xml_writeitems(const char * filename);
|
||||
extern int xml_writeships(void);
|
||||
extern int xml_writebuildings(void);
|
||||
#endif
|
||||
|
||||
typedef struct lostdata {
|
||||
int x, y;
|
||||
int prevunit;
|
||||
|
@ -590,24 +661,53 @@ typedef struct lostdata {
|
|||
int ship;
|
||||
} lostdata;
|
||||
|
||||
static void
|
||||
void
|
||||
confirm_newbies(void)
|
||||
{
|
||||
const faction * f = factions;
|
||||
if (sqlstream) while (f) {
|
||||
if (f->age==0) {
|
||||
fprintf(sqlstream, "UPDATE subscriptions SET status='ACTIVE', faction='%s' WHERE game=%d AND password='%s';\n", itoa36(f->no), GAME_ID, f->passw);
|
||||
faction * f = factions;
|
||||
if (sqlstream==NULL) return;
|
||||
while (f) {
|
||||
if (!fval(f, FFL_DBENTRY)) {
|
||||
if (f->subscription) {
|
||||
fprintf(sqlstream, "UPDATE subscriptions SET status='ACTIVE', faction='%s', race='%s' WHERE id=%u;\n", itoa36(f->no), dbrace(f->race), f->subscription);
|
||||
fset(f, FFL_DBENTRY);
|
||||
}
|
||||
}
|
||||
f = f->next;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
update_subscriptions(void)
|
||||
{
|
||||
FILE * F;
|
||||
char zText[MAX_PATH];
|
||||
faction * f;
|
||||
strcat(strcpy(zText, basepath()), "/subscriptions");
|
||||
F = fopen(zText, "r");
|
||||
if (F==NULL) {
|
||||
log_error(("could not open %s.\n", zText));
|
||||
return;
|
||||
}
|
||||
for (;;) {
|
||||
char zFaction[5];
|
||||
int subscription, fno;
|
||||
if (fscanf(F, "%d %s", &subscription, zFaction)<=0) break;
|
||||
fno = atoi36(zFaction);
|
||||
f = findfaction(fno);
|
||||
if (f!=NULL) {
|
||||
f->subscription=subscription;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int i;
|
||||
char zText[MAX_PATH];
|
||||
|
||||
sqlpatch = true;
|
||||
updatelog = fopen("update.log", "w");
|
||||
log_open("eressea.log");
|
||||
printf("\n%s PBEM host\n"
|
||||
|
@ -622,7 +722,7 @@ main(int argc, char *argv[])
|
|||
return -1;
|
||||
}
|
||||
#endif
|
||||
#if MALLOCDBG
|
||||
#ifdef MALLOCDBG
|
||||
init_malloc_debug();
|
||||
#endif
|
||||
|
||||
|
@ -642,16 +742,32 @@ main(int argc, char *argv[])
|
|||
lua_init();
|
||||
#endif
|
||||
game_init();
|
||||
#ifdef BETA_CODE
|
||||
#if defined(BETA_CODE)
|
||||
/* xml_writeships(); */
|
||||
/* xml_writebuildings(); */
|
||||
/* xml_writeitems("items.xml"); */
|
||||
xml_writeitems("items.xml");
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
if ((i=readgame(false))!=0) return i;
|
||||
confirm_newbies();
|
||||
#ifdef BETA_CODE
|
||||
update_subscriptions();
|
||||
{
|
||||
char zText[128];
|
||||
FILE * F;
|
||||
faction * f = factions;
|
||||
sprintf(zText, "subscriptions.%u", turn);
|
||||
F = fopen(zText, "w");
|
||||
while (f!=NULL) {
|
||||
fprintf(F, "%s:%u:%s:%s:%s:%u:\n",
|
||||
itoa36(f->no), f->subscription, f->email, f->override,
|
||||
dbrace(f->race), f->lastorders);
|
||||
f = f->next;
|
||||
}
|
||||
fclose(F);
|
||||
}
|
||||
|
||||
#ifdef DUNGEON_MODULE
|
||||
if (dungeonstyles) {
|
||||
struct dungeon * d = dungeonstyles;
|
||||
struct region * r = make_dungeon(d);
|
||||
|
@ -668,9 +784,19 @@ main(int argc, char *argv[])
|
|||
for (u=r->units;u;u=u->next) scale_number(u, 1);
|
||||
}
|
||||
}
|
||||
if (g_writemap) return crwritemap();
|
||||
|
||||
if ((i=processturn(orders))!=0) return i;
|
||||
if (opt_reportonly) {
|
||||
reports();
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (g_writemap) {
|
||||
return crwritemap();
|
||||
}
|
||||
|
||||
if ((i=processturn(orders))!=0) {
|
||||
return i;
|
||||
}
|
||||
|
||||
#ifdef CLEANUP_CODE
|
||||
game_done();
|
||||
|
|
|
@ -257,8 +257,8 @@ autoseed(struct regionlist * rlist)
|
|||
newfaction ** nfp = &newfactions;
|
||||
unit * u;
|
||||
while (*nfp!=nf) nfp=&(*nfp)->next;
|
||||
u = addplayer(seeds[i].region, nf->email, nf->password, nf->race,
|
||||
nf->lang, nf->subscription);
|
||||
u = addplayer(seeds[i].region, addfaction(nf->email, nf->password, nf->race,
|
||||
nf->lang, nf->subscription));
|
||||
#ifdef ALLIANCES
|
||||
u->faction->alliance = nf->allies;
|
||||
#endif
|
||||
|
@ -358,8 +358,8 @@ mkisland(int nsize)
|
|||
unit * u;
|
||||
terraform(r, preferred_terrain(nextf->race));
|
||||
++isize;
|
||||
u = addplayer(r, nextf->email, nextf->password, nextf->race, nextf->lang,
|
||||
nextf->subscription);
|
||||
u = addplayer(r, addfaction(nextf->email, nextf->password, nextf->race, nextf->lang,
|
||||
nextf->subscription));
|
||||
#ifdef ALLIANCES
|
||||
u->faction->alliance = nextf->allies;
|
||||
#endif
|
||||
|
|
|
@ -289,8 +289,8 @@ seed_dropouts(void)
|
|||
if (u==NULL) while (*nfp) {
|
||||
newfaction * nf = *nfp;
|
||||
if (nf->race==drop->race && !nf->bonus) {
|
||||
unit * u = addplayer(r, nf->email, nf->password, nf->race, nf->lang,
|
||||
nf->subscription);
|
||||
unit * u = addplayer(r, addfaction(nf->email, nf->password, nf->race, nf->lang,
|
||||
nf->subscription));
|
||||
#ifdef ALLIANCES
|
||||
u->faction->alliance = nf->allies;
|
||||
#endif
|
||||
|
@ -519,7 +519,7 @@ NeuePartei(region * r)
|
|||
else nfp = &nf->next;
|
||||
}
|
||||
modified = 1;
|
||||
u = addplayer(r, email, passwd, frace, lang, subscription);
|
||||
u = addplayer(r, addfaction(email, passwd, frace, lang, subscription));
|
||||
++numnewbies;
|
||||
|
||||
if(late) give_latestart_bonus(r, u, late);
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
AdditionalIncludeDirectories="../common/kernel,../common/gamecode,../common/util,../common,.."
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
|
@ -86,7 +86,7 @@
|
|||
AdditionalIncludeDirectories="$(CURSES_ROOT)/include;../common/kernel,../common/gamecode,../common/util,../common,.."
|
||||
PreprocessorDefinitions="_CONSOLE,WIN32"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
RuntimeLibrary="3"
|
||||
DisableLanguageExtensions="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
|
|
Loading…
Reference in New Issue