- Erste Version Dungeons testbereit (aber ungetestet)

- XML Reader für Dungeons
- Nomenklatur für Initialisierung und Reihenfolge der Initialisierung aufgeräumt (register_ vs. init_)
This commit is contained in:
Enno Rehling 2002-01-09 08:20:33 +00:00
parent 19718d2ff2
commit da2050d1f2
35 changed files with 462 additions and 1536 deletions

View File

@ -89,6 +89,10 @@ SOURCE=.\attributes.h
# End Source File
# Begin Source File
SOURCE=.\fleechance.h
# End Source File
# Begin Source File
SOURCE=.\follow.h
# End Source File
# Begin Source File
@ -117,10 +121,34 @@ SOURCE=.\matmod.h
# End Source File
# Begin Source File
SOURCE=.\moved.h
# End Source File
# Begin Source File
SOURCE=.\option.h
# End Source File
# Begin Source File
SOURCE=.\orcification.h
# End Source File
# Begin Source File
SOURCE=.\otherfaction.h
# End Source File
# Begin Source File
SOURCE=.\overrideroads.h
# End Source File
# Begin Source File
SOURCE=.\racename.h
# End Source File
# Begin Source File
SOURCE=.\raceprefix.h
# End Source File
# Begin Source File
SOURCE=.\reduceproduction.h
# End Source File
# Begin Source File
@ -129,8 +157,16 @@ SOURCE=.\roadsoverride.h
# End Source File
# Begin Source File
SOURCE=.\synonym.h
# End Source File
# Begin Source File
SOURCE=.\targetregion.h
# End Source File
# Begin Source File
SOURCE=.\ugroup.h
# End Source File
# End Group
# Begin Source File
@ -138,6 +174,10 @@ SOURCE=.\attributes.c
# End Source File
# Begin Source File
SOURCE=.\fleechance.c
# End Source File
# Begin Source File
SOURCE=.\follow.c
# End Source File
# Begin Source File
@ -166,10 +206,22 @@ SOURCE=.\matmod.c
# End Source File
# Begin Source File
SOURCE=.\moved.c
# End Source File
# Begin Source File
SOURCE=.\option.c
# End Source File
# Begin Source File
SOURCE=.\orcification.c
# End Source File
# Begin Source File
SOURCE=.\otherfaction.c
# End Source File
# Begin Source File
SOURCE=.\overrideroads.c
# End Source File
# Begin Source File
@ -178,11 +230,23 @@ SOURCE=.\racename.c
# End Source File
# Begin Source File
SOURCE=.\raceprefix.c
# End Source File
# Begin Source File
SOURCE=.\reduceproduction.c
# End Source File
# Begin Source File
SOURCE=.\synonym.c
# End Source File
# Begin Source File
SOURCE=.\targetregion.c
# End Source File
# Begin Source File
SOURCE=.\ugroup.c
# End Source File
# End Target
# End Project

View File

@ -4,7 +4,7 @@
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=gamecode - Win32 Conversion
CFG=gamecode - Win32 Profile
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
@ -13,13 +13,12 @@ CFG=gamecode - Win32 Conversion
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "gamecode-6.mak" CFG="gamecode - Win32 Conversion"
!MESSAGE NMAKE /f "gamecode-6.mak" CFG="gamecode - Win32 Profile"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "gamecode - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "gamecode - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE "gamecode - Win32 Conversion" (based on "Win32 (x86) Static Library")
!MESSAGE "gamecode - Win32 Profile" (based on "Win32 (x86) Static Library")
!MESSAGE
@ -76,31 +75,6 @@ LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"Debug\gamecode.lib"
!ELSEIF "$(CFG)" == "gamecode - Win32 Conversion"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "gamecode__"
# PROP BASE Intermediate_Dir "gamecode__"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /Za /W4 /Z7 /Od /I ".." /I "../util" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /Za /W4 /Z7 /Od /I "../util" /I "../kernel" /I "../.." /I ".." /D "_WINDOWS" /D "WIN32" /D "_DEBUG" /D "CONVERT_TRIGGER" /FR /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x407
# ADD RSC /l 0x407
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "gamecode - Win32 Profile"
# PROP BASE Use_MFC 0
@ -130,7 +104,6 @@ LIB32=link.exe -lib
# Name "gamecode - Win32 Release"
# Name "gamecode - Win32 Debug"
# Name "gamecode - Win32 Conversion"
# Name "gamecode - Win32 Profile"
# Begin Group "Header"
@ -153,6 +126,14 @@ SOURCE=.\laws.h
# End Source File
# Begin Source File
SOURCE=.\luck.h
# End Source File
# Begin Source File
SOURCE=.\monster.h
# End Source File
# Begin Source File
SOURCE=.\randenc.h
# End Source File
# Begin Source File
@ -186,6 +167,10 @@ SOURCE=.\laws.c
# End Source File
# Begin Source File
SOURCE=.\luck.c
# End Source File
# Begin Source File
SOURCE=.\monster.c
# End Source File
# Begin Source File

View File

@ -1573,7 +1573,7 @@ void growlaen(void) {
if (!fval(r, RF_CHAOTIC) &&
rterrain(r) == T_MOUNTAIN)
{
Berge=add_regionlist(Berge,r);
add_regionlist(&Berge,r);
b++;
}
}

View File

@ -85,6 +85,10 @@ LIB32=link.exe -lib
# PROP Default_Filter "*.h"
# Begin Source File
SOURCE=.\birthday_firework.h
# End Source File
# Begin Source File
SOURCE=.\demonseye.h
# End Source File
# Begin Source File
@ -93,11 +97,27 @@ SOURCE=.\items.h
# End Source File
# Begin Source File
SOURCE=.\lmsreward.h
# End Source File
# Begin Source File
SOURCE=.\seed.h
# End Source File
# Begin Source File
SOURCE=.\weapons.h
# End Source File
# Begin Source File
SOURCE=.\xerewards.h
# End Source File
# End Group
# Begin Source File
SOURCE=.\birthday_firework.c
# End Source File
# Begin Source File
SOURCE=.\demonseye.c
# End Source File
# Begin Source File
@ -110,7 +130,15 @@ SOURCE=.\lmsreward.c
# End Source File
# Begin Source File
SOURCE=.\seed.c
# End Source File
# Begin Source File
SOURCE=.\weapons.c
# End Source File
# Begin Source File
SOURCE=.\xerewards.c
# End Source File
# End Target
# End Project

View File

@ -28,12 +28,18 @@ register_items(void)
{
register_weapons();
register_demonseye();
init_lmsreward();
register_lmsreward();
register_xerewards();
#if GROWING_TREES
init_seed();
init_mallornseed();
register_seed();
register_mallornseed();
#endif
register_birthday_firework();
register_lebkuchenherz();
}
void
init_items(void)
{
init_weapons();
}

View File

@ -11,3 +11,4 @@
*/
extern void register_items(void);
extern void init_items(void);

View File

@ -94,7 +94,7 @@ item_type it_lmsreward = {
};
void
init_lmsreward(void)
register_lmsreward(void)
{
it_register(&it_lmsreward);
at_register(&at_lmsstory);

View File

@ -13,4 +13,4 @@
*/
extern struct item_type it_lmsreward;
extern void init_lmsreward(void);
extern void register_lmsreward(void);

View File

@ -61,7 +61,7 @@ limit_seeds(const region * r, const resource_type * rtype)
}
void
init_seed(void)
register_seed(void)
{
attrib * a;
@ -119,7 +119,7 @@ limit_mallornseeds(const region * r, const resource_type * rtype)
}
void
init_mallornseed(void)
register_mallornseed(void)
{
attrib * a;

View File

@ -15,11 +15,11 @@
#if GROWING_TREES
extern struct item_type it_seed;
extern struct resource_type rt_seed;
extern void init_seed(void);
extern void register_seed(void);
extern struct item_type it_mallornseed;
extern struct resource_type rt_mallornseed;
extern void init_mallornseed(void);
extern void register_mallornseed(void);
#else
#error seed.h should not be included when building with GROWING_TREES==0
#endif

View File

@ -429,8 +429,13 @@ register_weapons(void) {
rt_register(&rt_mallorncrossbow);
it_register(&it_mallorncrossbow);
wt_register(&wt_mallorncrossbow);
init_oldweapons();
register_function((pf_generic)attack_catapult, "attack_catapult");
register_function((pf_generic)attack_firesword, "attack_firesword");
}
void
init_weapons(void)
{
init_oldweapons();
}

View File

@ -14,6 +14,7 @@
#define WEAPONS_H
extern void register_weapons(void);
extern void init_weapons(void);
extern struct item_type it_mallornspear;
extern struct item_type it_mallornlance;

View File

@ -2391,8 +2391,6 @@ remove_empty_factions(void)
faction **fp, *f3;
FILE *dofp;
char zText[MAX_PATH];
FILE * log = fopen("update.log", "a");
sprintf(zText, "%s/dropouts", basepath());
dofp = fopen(zText, "a");

View File

@ -2516,7 +2516,7 @@ resname(resource_t res, int index)
}
void
init_items(void)
register_resources(void)
{
register_function((pf_generic)res_changeitem, "changeitem");
register_function((pf_generic)res_changeperson, "changeperson");
@ -2541,6 +2541,7 @@ init_items(void)
xml_register(&xml_resource, "eressea resource", 0);
}
#ifdef BETA_CODE
int
xml_writeitems(const char * file)
{
@ -2716,3 +2717,4 @@ xml_writeitems(const char * file)
fclose(stream);
return 0;
}
#endif

View File

@ -547,8 +547,8 @@ extern item_type * it_read(FILE * F);
extern resource_type * rt_read(FILE * F);
extern void it_write(FILE * F, const item_type * it);
extern void rt_write(FILE * F, const resource_type * rt);
extern void register_resources(void);
extern void init_resources(void);
extern void init_items(void);
extern const char* resname(resource_t res, int index);

View File

@ -4,7 +4,7 @@
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=kernel - Win32 Conversion
CFG=kernel - Win32 Profile
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
@ -13,13 +13,12 @@ CFG=kernel - Win32 Conversion
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "kernel-6.mak" CFG="kernel - Win32 Conversion"
!MESSAGE NMAKE /f "kernel-6.mak" CFG="kernel - Win32 Profile"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "kernel - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "kernel - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE "kernel - Win32 Conversion" (based on "Win32 (x86) Static Library")
!MESSAGE "kernel - Win32 Profile" (based on "Win32 (x86) Static Library")
!MESSAGE
@ -76,29 +75,6 @@ LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"Debug\kernel.lib"
!ELSEIF "$(CFG)" == "kernel - Win32 Conversion"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "kernel___Win32_Conversion"
# PROP BASE Intermediate_Dir "kernel___Win32_Conversion"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Conversion"
# PROP Intermediate_Dir "Conversion"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /Za /W4 /Z7 /Od /I "../util" /I "../.." /I ".." /D "_WINDOWS" /D "WIN32" /D "_DEBUG" /D "BETA_CODE" /FR /YX"stdafx.h" /FD /c
# ADD CPP /nologo /Za /W4 /Z7 /Od /I "../util" /I "../.." /I ".." /D "CONVERT_TRIGGER" /D "_WINDOWS" /D "WIN32" /D "_DEBUG" /FR /YX"stdafx.h" /FD /c
# ADD BASE RSC /l 0x407
# ADD RSC /l 0x407
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"Debug\kernel.lib"
# ADD LIB32 /nologo /out:"Debug\kernel.lib"
!ELSEIF "$(CFG)" == "kernel - Win32 Profile"
# PROP BASE Use_MFC 0
@ -128,7 +104,6 @@ LIB32=link.exe -lib
# Name "kernel - Win32 Release"
# Name "kernel - Win32 Debug"
# Name "kernel - Win32 Conversion"
# Name "kernel - Win32 Profile"
# Begin Group "Header"
@ -255,6 +230,10 @@ SOURCE=.\reports.h
# End Source File
# Begin Source File
SOURCE=.\resources.h
# End Source File
# Begin Source File
SOURCE=.\save.h
# End Source File
# Begin Source File
@ -279,6 +258,10 @@ SOURCE=.\spy.h
# End Source File
# Begin Source File
SOURCE=.\study.h
# End Source File
# Begin Source File
SOURCE=.\teleport.h
# End Source File
# Begin Source File
@ -287,6 +270,10 @@ SOURCE=.\terrain.h
# End Source File
# Begin Source File
SOURCE=.\ugroup.h
# End Source File
# Begin Source File
SOURCE=.\unit.h
# End Source File
# End Group
@ -396,6 +383,10 @@ SOURCE=.\reports.c
# End Source File
# Begin Source File
SOURCE=.\resources.c
# End Source File
# Begin Source File
SOURCE=.\save.c
# End Source File
# Begin Source File
@ -420,6 +411,10 @@ SOURCE=.\terrain.c
# End Source File
# Begin Source File
SOURCE=.\ugroup.c
# End Source File
# Begin Source File
SOURCE=.\unit.c
# End Source File
# End Target

View File

@ -793,7 +793,7 @@ static xml_callbacks xml_races = {
};
void
init_races(void)
register_races(void)
{
char zBuffer[MAX_PATH];
/* init_familiar functions */

View File

@ -148,7 +148,7 @@ extern const char * racename(const struct locale *lang, const struct unit *u, co
extern boolean allowed_dragon(const struct region * src, const struct region * target);
extern void init_races(void);
extern void register_races(void);
extern boolean r_insectstalled(const struct region *r);

View File

@ -355,15 +355,15 @@ free_regionlist(regionlist *rl)
}
}
regionlist *
add_regionlist(regionlist *rl, region *r)
void
add_regionlist(regionlist **rl, region *r)
{
regionlist *rl2 = calloc(1, sizeof(regionlist));
regionlist *rl2 = (regionlist*)malloc(sizeof(regionlist));
rl2->region = r;
rl2->next = rl;
rl2->next = *rl;
return rl2;
*rl = rl2;
}
#if AT_SALARY

View File

@ -142,7 +142,7 @@ typedef struct regionlist {
} regionlist;
void free_regionlist(regionlist *rl);
regionlist *add_regionlist(regionlist *rl, struct region *r);
void add_regionlist(regionlist **rl, struct region *r);
int woodcount(const struct region * r);
int deathcount(const struct region * r);

View File

@ -103,7 +103,7 @@ all_in_range(region *r, int n)
for(y = r->y-n; y <= r->y+n; y++) {
if(koor_distance(r->x, r->y, x, y) <= n) {
r2 = findregion(x,y);
if(r2) rlist = add_regionlist(rlist, findregion(x,y));
if(r2) add_regionlist(&rlist, findregion(x,y));
}
}
}
@ -192,7 +192,7 @@ allinhab_in_range(const region *r, int n)
if(koor_distance(r->x, r->y, x, y) <= n) {
r2 = findregion(x,y);
if (r2 && landregion(rterrain(r2)))
rlist = add_regionlist(rlist, findregion(x,y));
add_regionlist(&rlist, findregion(x,y));
}
}
}

View File

@ -19,13 +19,19 @@
#include <triggers/unguard.h>
/* kernel includes */
#include <building.h>
#include <item.h>
#include <plane.h>
#include <race.h>
#include <region.h>
#include <building.h>
#include <unit.h>
/* util includes */
#include <event.h>
#include <xml.h>
/* libc includes */
#include <string.h>
typedef struct treasure {
const struct item_type * itype;
@ -50,33 +56,36 @@ typedef struct dungeon {
double connect;
struct monster * boss;
struct monster * monsters;
struct dungeon * next;
} dungeon;
static dungeon * dungeonstyles;
dungeon * dungeonstyles;
void
make_dungeon(int radius, int level, plane **pp, region **rp)
region *
make_dungeon(const dungeon * data)
{
int nb[2][3][2] = {
{ { -1, 0 }, { 0, 1 }, { 1, -1 } },
{ { 1, 0 }, { -1, 1 }, { 0, -1 } }
};
const struct race * bossrace = rc_find("wyrm");
const struct race * bossrace = data->boss->race;
char name[128];
int size = level*level;
double connect = 0.50;
int size = data->size;
unsigned int flags = PFL_NORECRUITS;
int n = 0;
struct faction * fmonsters = findfaction(MONSTER_FACTION);
plane * p;
region *r, *center;
region * rnext;
regionlist * iregion, * rlist = NULL;
sprintf(name, "Die Höhlen von %s", bossrace->generate_name(NULL));
p = gm_addplane(radius, flags, name);
p = gm_addplane(data->radius, flags, name);
center = findregion(p->minx+(p->maxx-p->minx)/2, p->miny+(p->maxy-p->miny)/2);
assert(center);
terraform(center, T_HELL);
add_regionlist(&rlist, center);
rnext = r = center;
while (size>0) {
int d, o = rand() % 3;
@ -87,10 +96,11 @@ make_dungeon(int radius, int level, plane **pp, region **rp)
if (rn) {
switch (rn->terrain) {
case T_OCEAN:
if (rand() % 100 < connect*100) {
if (rand() % 100 < data->connect*100) {
terraform(rn, T_HELL);
--size;
rnext = rn;
add_regionlist(&rlist, rn);
}
else terraform(rn, T_FIREWALL);
break;
@ -109,12 +119,33 @@ make_dungeon(int radius, int level, plane **pp, region **rp)
n = (n+1) % 2;
}
if (pp) *pp=p;
if (rp) *rp=center;
for (iregion=rlist;iregion;iregion=iregion->next) {
monster * m = data->monsters;
region * r = iregion->region;
while (m) {
if ((rand() % 100) < (m->chance * 100)) {
/* TODO: check maxunits. */
treasure * loot = m->treasures;
struct itemtype_list * weapon = m->weapons;
int size = 1 + (rand() % m->avgsize) + (rand() % m->avgsize);
unit * u = createunit(r, fmonsters, size, m->race);
while (weapon) {
i_change(&u->items, weapon->type, size);
weapon = weapon->next;
}
while (loot) {
i_change(&u->items, loot->itype, loot->amount*size);
loot = loot->next;
}
}
m = m->next;
}
}
return center;
}
void
make_dungeongate(region * source, region * target, int level)
make_dungeongate(region * source, region * target, const struct dungeon * d)
{
building *bsource, *btarget;
@ -132,3 +163,62 @@ make_dungeongate(region * source, region * target, int level)
add_trigger(&btarget->attribs, "create", trigger_unguard(btarget));
fset(btarget, BLD_UNGUARDED);
}
static int
tagbegin(xml_stack *stack)
{
xml_tag * tag = stack->tag;
if (strcmp(tag->name , "dungeon")) {
stack->state = calloc(sizeof(dungeon), 1);
} else {
dungeon * d = (dungeon*)stack->state;
if (strcmp(tag->name, "monster")) {
monster * m = calloc(sizeof(monster), 1);
m->race = rc_find(xml_value(tag, "race"));
m->chance = xml_fvalue(tag, "chance");
m->avgsize = xml_ivalue(tag, "avgsize");
m->maxunits = xml_ivalue(tag, "maxunits");
if (m->race) {
if (xml_bvalue(tag, "boss")) {
d->boss = m;
} else {
m->next = d->monsters;
d->monsters = m;
}
}
} else if (strcmp(tag->name, "weapon")) {
monster * m = d->monsters;
itemtype_list * w = calloc(sizeof(itemtype_list), 1);
w->type = it_find(xml_value(tag, "type"));
if (w->type) {
w->next = m->weapons;
m->weapons = w;
}
}
}
return XML_OK;
}
static int
tagend(xml_stack * stack)
{
xml_tag * tag = stack->tag;
if (strcmp(tag->name, "dungeon")) {
dungeon * d = (dungeon*)stack->state;
stack->state = NULL;
d->next = dungeonstyles;
dungeonstyles = d;
}
return XML_OK;
}
xml_callbacks xml_dungeon = {
tagbegin, tagend, NULL
};
void
register_dungeon(void)
{
xml_register(&xml_dungeon, "eressea dungeon", 0);
}

View File

@ -13,6 +13,9 @@
struct region;
struct plane;
struct building;
struct dungeon;
extern void make_dungeon(int radius, int level, struct plane **, struct region **);
extern void make_dungeongate(struct region * source, struct region * target, int level);
extern struct dungeon * dungeonstyles;
extern struct region * make_dungeon(const struct dungeon*);
extern void make_dungeongate(struct region * source, struct region * target, const struct dungeon *);
extern void register_dungeon(void);

View File

@ -89,10 +89,26 @@ SOURCE=.\arena.h
# End Source File
# Begin Source File
SOURCE=.\command.h
# End Source File
# Begin Source File
SOURCE=.\dungeon.h
# End Source File
# Begin Source File
SOURCE=.\gmcmd.h
# End Source File
# Begin Source File
SOURCE=.\infocmd.h
# End Source File
# Begin Source File
SOURCE=.\knowledge.h
# End Source File
# Begin Source File
SOURCE=.\museum.h
# End Source File
# Begin Source File
@ -109,8 +125,16 @@ SOURCE=.\weather.h
# End Source File
# Begin Source File
SOURCE=.\xmas.h
# End Source File
# Begin Source File
SOURCE=.\xmas2000.h
# End Source File
# Begin Source File
SOURCE=.\xmas2001.h
# End Source File
# End Group
# Begin Source File
@ -118,10 +142,26 @@ SOURCE=.\arena.c
# End Source File
# Begin Source File
SOURCE=.\command.c
# End Source File
# Begin Source File
SOURCE=.\dungeon.c
# End Source File
# Begin Source File
SOURCE=.\gmcmd.c
# End Source File
# Begin Source File
SOURCE=.\infocmd.c
# End Source File
# Begin Source File
SOURCE=.\knowledge.c
# End Source File
# Begin Source File
SOURCE=.\museum.c
# End Source File
# Begin Source File
@ -138,7 +178,15 @@ SOURCE=.\weather.c
# End Source File
# Begin Source File
SOURCE=.\xmas.c
# End Source File
# Begin Source File
SOURCE=.\xmas2000.c
# End Source File
# Begin Source File
SOURCE=.\xmas2001.c
# End Source File
# End Target
# End Project

View File

@ -203,7 +203,7 @@ alp_findet_opfer(unit *alp, region *r)
}
void
init_alp(void)
register_alp(void)
{
at_register(&at_alp);
}

View File

@ -37,7 +37,7 @@ struct castorder;
*/
extern int sp_summon_alp(struct castorder *co);
extern void init_alp(void);
extern void register_alp(void);
struct unit* alp_target(struct unit *alp);
void alp_findet_opfer(struct unit *alp, struct region *r);

View File

@ -29,11 +29,11 @@ extern void ct_register(const struct curse_type * ct);
extern curse_type cursedaten[MAXCURSE];
void
init_spells(void)
register_spells(void)
{
int i;
/* sp_summon_alp */
init_alp();
register_alp();
/* init_firewall(); */
ct_register(&ct_firewall);

View File

@ -12,4 +12,4 @@
* prior permission by the authors of Eressea.
*/
extern void init_spells(void);
extern void register_spells(void);

View File

@ -85,6 +85,10 @@ LIB32=link.exe -lib
# PROP Default_Filter "*.h"
# Begin Source File
SOURCE=..\spells\alp.h
# End Source File
# Begin Source File
SOURCE=.\changefaction.h
# End Source File
# Begin Source File
@ -93,6 +97,10 @@ SOURCE=.\changerace.h
# End Source File
# Begin Source File
SOURCE=.\clonedied.h
# End Source File
# Begin Source File
SOURCE=.\createcurse.h
# End Source File
# Begin Source File
@ -101,6 +109,10 @@ SOURCE=.\createunit.h
# End Source File
# Begin Source File
SOURCE=.\gate.h
# End Source File
# Begin Source File
SOURCE=.\giveitem.h
# End Source File
# Begin Source File
@ -117,6 +129,10 @@ SOURCE=.\shock.h
# End Source File
# Begin Source File
SOURCE=..\spells\spells.h
# End Source File
# Begin Source File
SOURCE=.\timeout.h
# End Source File
# Begin Source File
@ -125,6 +141,10 @@ SOURCE=.\triggers.h
# End Source File
# Begin Source File
SOURCE=.\unguard.h
# End Source File
# Begin Source File
SOURCE=.\unitmessage.h
# End Source File
# End Group
@ -138,6 +158,10 @@ SOURCE=.\changerace.c
# End Source File
# Begin Source File
SOURCE=.\clonedied.c
# End Source File
# Begin Source File
SOURCE=.\createcurse.c
# End Source File
# Begin Source File
@ -174,6 +198,10 @@ SOURCE=.\triggers.c
# End Source File
# Begin Source File
SOURCE=.\unguard.c
# End Source File
# Begin Source File
SOURCE=.\unitmessage.c
# End Source File
# End Target

View File

@ -4,7 +4,7 @@
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=util - Win32 Conversion
CFG=util - Win32 Profile
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
@ -13,13 +13,12 @@ CFG=util - Win32 Conversion
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "util-6.mak" CFG="util - Win32 Conversion"
!MESSAGE NMAKE /f "util-6.mak" CFG="util - Win32 Profile"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "util - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "util - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE "util - Win32 Conversion" (based on "Win32 (x86) Static Library")
!MESSAGE "util - Win32 Profile" (based on "Win32 (x86) Static Library")
!MESSAGE
@ -76,29 +75,6 @@ LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"Debug\util.lib"
!ELSEIF "$(CFG)" == "util - Win32 Conversion"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "util___Win32_Conversion"
# PROP BASE Intermediate_Dir "util___Win32_Conversion"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /Za /W4 /Z7 /Od /I "../.." /I ".." /D "_WINDOWS" /D "WIN32" /D "_DEBUG" /D "BETA_CODE" /FR /YX"stdafx.h" /FD /c
# ADD CPP /nologo /Za /W4 /Z7 /Od /I "../.." /I ".." /D "_WINDOWS" /D "WIN32" /D "_DEBUG" /FR /YX"stdafx.h" /FD /c
# ADD BASE RSC /l 0x407
# ADD RSC /l 0x407
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"Debug\util.lib"
# ADD LIB32 /nologo /out:"Debug\util.lib"
!ELSEIF "$(CFG)" == "util - Win32 Profile"
# PROP BASE Use_MFC 0
@ -128,7 +104,6 @@ LIB32=link.exe -lib
# Name "util - Win32 Release"
# Name "util - Win32 Debug"
# Name "util - Win32 Conversion"
# Name "util - Win32 Profile"
# Begin Group "Header"
@ -143,6 +118,10 @@ SOURCE=.\base36.h
# End Source File
# Begin Source File
SOURCE=.\command.h
# End Source File
# Begin Source File
SOURCE=.\crmessage.h
# End Source File
# Begin Source File
@ -163,6 +142,10 @@ SOURCE=.\goodies.h
# End Source File
# Begin Source File
SOURCE=.\graph.h
# End Source File
# Begin Source File
SOURCE=.\language.h
# End Source File
# Begin Source File
@ -191,6 +174,10 @@ SOURCE=.\resolve.h
# End Source File
# Begin Source File
SOURCE=.\sql.h
# End Source File
# Begin Source File
SOURCE=.\translation.h
# End Source File
# Begin Source File
@ -209,6 +196,10 @@ SOURCE=.\vset.h
SOURCE=.\windir.h
# End Source File
# Begin Source File
SOURCE=.\xml.h
# End Source File
# End Group
# Begin Source File
@ -220,6 +211,14 @@ SOURCE=.\base36.c
# End Source File
# Begin Source File
SOURCE=.\command.c
# End Source File
# Begin Source File
SOURCE=.\crmessage.c
# End Source File
# Begin Source File
SOURCE=.\cvector.c
# End Source File
# Begin Source File
@ -240,6 +239,10 @@ SOURCE=.\goodies.c
# End Source File
# Begin Source File
SOURCE=.\graph.c
# End Source File
# Begin Source File
SOURCE=.\language.c
# End Source File
# Begin Source File
@ -252,6 +255,14 @@ SOURCE=.\log.c
# End Source File
# Begin Source File
SOURCE=.\message.c
# End Source File
# Begin Source File
SOURCE=.\nrmessage.c
# End Source File
# Begin Source File
SOURCE=.\rand.c
# End Source File
# Begin Source File
@ -260,6 +271,14 @@ SOURCE=.\resolve.c
# End Source File
# Begin Source File
SOURCE=.\sql.c
# End Source File
# Begin Source File
SOURCE=.\translation.c
# End Source File
# Begin Source File
SOURCE=.\umlaut.c
# End Source File
# Begin Source File
@ -274,5 +293,9 @@ SOURCE=.\vset.c
SOURCE=.\windir.c
# End Source File
# Begin Source File
SOURCE=.\xml.c
# End Source File
# End Target
# End Project

File diff suppressed because it is too large Load Diff

View File

@ -37,6 +37,7 @@
/* modules includes */
#include <modules/arena.h>
#include <modules/dungeon.h>
#include <modules/museum.h>
#include <modules/score.h>
#include <modules/xmas2000.h>
@ -161,17 +162,18 @@ game_init(void)
creport_init();
debug_language("locales.log");
init_races();
init_items();
init_spells();
register_races();
register_resources();
register_items();
register_spells();
register_dungeon();
init_data(xmlfile?xmlfile:"eressea.xml");
init_locales();
init_resources();
register_items();
init_attributes();
init_resources();
init_items();
init_economy();
#if NEW_RESOURCEGROWTH
init_rawmaterials();
@ -529,9 +531,9 @@ read_args(int argc, char **argv)
return 0;
}
extern void write_races(const char * filename);
#ifdef BETA_CODE
extern int xml_writeitems(const char * filename);
extern void write_racestrings(const char * filename);
#endif
typedef struct lostdata {
int x, y;
@ -579,13 +581,8 @@ main(int argc, char *argv[])
kernel_init();
game_init();
#ifdef BETA_CODE
#if defined(BETA_CODE) && 0
xml_writeitems("items.xml");
#endif
#if 0
write_races("races.xml");
write_racestrings("racestrings.xml");
return 0;
#endif
@ -708,7 +705,11 @@ main(int argc, char *argv[])
return 0;
}
if ((i=readgame(false))!=0) return i;
make_dungeon(5, 5, NULL, NULL);
if (dungeonstyles) {
struct dungeon * d = dungeonstyles;
struct region * r = make_dungeon(d);
make_dungeongate(findregion(0, 0), r, d);
}
writepasswd();
if (g_killeiswald) {
region * r = findregion(0, 25);

View File

@ -18,7 +18,7 @@
#include <spells/alp.h>
void
init_spells(void)
register_spells(void)
{
/* sp_summon_alp */
init_alp();

View File

@ -1465,8 +1465,8 @@ main(int argc, char *argv[])
debug_language("locales.log");
init_races();
init_spells();
register_races();
register_spells();
init_data("eressea.xml");
init_locales();

View File

@ -331,14 +331,15 @@ main(int argc, char *argv[])
init_triggers();
register_races();
register_spells();
debug_language("locales.log");
init_locales();
sprintf(zText, "%s/%s", resourcepath(), "eressea.xml");
init_data(zText);
init_locales();
init_races();
init_attributes();
init_spells();
init_resources();
register_items();