From 4fee151f35a6094f35dca5352b430159a78fb5ed Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sun, 16 Dec 2018 09:48:39 +0100 Subject: [PATCH 1/2] fix compilation --- src/kernel/version.c | 1 + src/orderfile.c | 6 ------ 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/kernel/version.c b/src/kernel/version.c index ca73b77e2..1f8f7e0a7 100644 --- a/src/kernel/version.c +++ b/src/kernel/version.c @@ -3,6 +3,7 @@ #endif #include "version.h" +#include #include #ifndef ERESSEA_VERSION diff --git a/src/orderfile.c b/src/orderfile.c index e9198510e..0ebb7ff2c 100644 --- a/src/orderfile.c +++ b/src/orderfile.c @@ -223,12 +223,6 @@ int read_orders(input *in) return 0; } -static const char * file_getbuf(void *data) -{ - FILE *F = (FILE *)data; - return getbuf(F); -} - typedef struct parser_state { unit *u; faction *f; From a848a1b2ee362172283c57f9083fd9461f6173ed Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Mon, 17 Dec 2018 12:07:38 +0100 Subject: [PATCH 2/2] fix source encodings, break umlauts, ASCII everywhere --- src/.report.c.swp | Bin 0 -> 94208 bytes src/attributes/attributes.c | 2 +- src/direction.c | 4 +- src/kernel/curse.c | 36 +++++++------- src/kernel/curse.h | 82 +++++++++++++++---------------- src/kernel/plane.h | 14 +++--- src/kernel/region.c | 8 +-- src/kernel/terrain.h | 4 +- src/kernel/types.h | 2 +- src/kernel/unit.h | 8 +-- src/magic.h | 94 ++++++++++++++++++------------------ src/modules/museum.c | 10 ++-- src/move.h | 4 +- src/piracy.c | 4 +- src/reports.c | 2 +- src/spells/borders.h | 4 +- src/spells/buildingcurse.c | 2 +- src/spells/regioncurse.c | 14 +++--- src/spells/unitcurse.c | 2 +- src/tools/namegen.c | 2 +- 20 files changed, 149 insertions(+), 149 deletions(-) create mode 100644 src/.report.c.swp diff --git a/src/.report.c.swp b/src/.report.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..c7bb683f30632149b501dca349765d98c985f1bb GIT binary patch literal 94208 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 literal 0 HcmV?d00001 diff --git a/src/attributes/attributes.c b/src/attributes/attributes.c index 12cb9131f..d0be86b0e 100644 --- a/src/attributes/attributes.c +++ b/src/attributes/attributes.c @@ -169,7 +169,7 @@ static int read_ext(variant *var, void *owner, gamedata *data) void register_attributes(void) { - /* Alle speicherbaren Attribute müssen hier registriert werden */ + /* Alle speicherbaren Attribute muessen hier registriert werden */ at_register(&at_shiptrail); at_register(&at_familiar); at_register(&at_familiarmage); diff --git a/src/direction.c b/src/direction.c index 13feff13b..ba3320b14 100644 --- a/src/direction.c +++ b/src/direction.c @@ -25,8 +25,8 @@ void init_direction(const struct locale *lang, direction_t dir, const char *str) } void init_directions(struct locale *lang) { - /* mit dieser routine kann man mehrere namen für eine direction geben, - * das ist für die hexes ideal. */ + /* mit dieser routine kann man mehrere namen fuer eine direction geben, + * das ist fuer die hexes ideal. */ const struct { const char *name; direction_t direction; diff --git a/src/kernel/curse.c b/src/kernel/curse.c index d6d77a7ea..945f60e7a 100644 --- a/src/kernel/curse.c +++ b/src/kernel/curse.c @@ -333,8 +333,8 @@ void ct_checknames(void) { } /* ------------------------------------------------------------- */ -/* get_curse identifiziert eine Verzauberung über die ID und gibt - * einen pointer auf die struct zurück. +/* get_curse identifiziert eine Verzauberung ueber die ID und gibt + * einen pointer auf die struct zurueck. */ static bool cmp_curse(const attrib * a, const void *data) @@ -387,7 +387,7 @@ bool remove_curse(attrib ** ap, const curse * c) return a && a_remove(ap, a) == 1; } -/* gibt die allgemeine Stärke der Verzauberung zurück. id2 wird wie +/* gibt die allgemeine Staerke der Verzauberung zurueck. id2 wird wie * oben benutzt. Dies ist nicht die Wirkung, sondern die Kraft und * damit der gegen Antimagie wirkende Widerstand einer Verzauberung */ static double get_cursevigour(const curse * c) @@ -395,15 +395,15 @@ static double get_cursevigour(const curse * c) return c ? c->vigour : 0; } -/* setzt die Stärke der Verzauberung auf i */ +/* setzt die Staerke der Verzauberung auf i */ static void set_cursevigour(curse * c, double vigour) { assert(c && vigour > 0); c->vigour = vigour; } -/* verändert die Stärke der Verzauberung um +i und gibt die neue - * Stärke zurück. Sollte die Zauberstärke unter Null sinken, löst er +/* veraendert die Stärke der Verzauberung um +i und gibt die neue + * Staerke zurueck. Sollte die Zauberstärke unter Null sinken, loest er * sich auf. */ double curse_changevigour(attrib ** ap, curse * c, double vigour) @@ -453,8 +453,8 @@ set_curseingmagician(struct unit *magician, struct attrib *ap_target, } /* ------------------------------------------------------------- */ -/* gibt bei Personenbeschränkten Verzauberungen die Anzahl der - * betroffenen Personen zurück. Ansonsten wird 0 zurückgegeben. */ +/* gibt bei Personenbeschraenkten Verzauberungen die Anzahl der + * betroffenen Personen zurueck. Ansonsten wird 0 zurückgegeben. */ int get_cursedmen(const unit * u, const curse * c) { int cursedmen = u->number; @@ -502,7 +502,7 @@ static int newcurseid(void) { /* ------------------------------------------------------------- */ /* Legt eine neue Verzauberung an. Sollte es schon einen Zauber - * dieses Typs geben, gibt es den bestehenden zurück. + * dieses Typs geben, gibt es den bestehenden zurueck. */ static curse *make_curse(unit * mage, attrib ** ap, const curse_type * ct, double vigour, int duration, double effect, int men) @@ -535,7 +535,7 @@ static curse *make_curse(unit * mage, attrib ** ap, const curse_type * ct, return c; } -/* Mapperfunktion für das Anlegen neuer curse. Automatisch wird zum +/* Mapperfunktion fuer das Anlegen neuer curse. Automatisch wird zum * passenden Typ verzweigt und die relevanten Variablen weitergegeben. */ curse *create_curse(unit * magician, attrib ** ap, const curse_type * ct, @@ -585,8 +585,8 @@ curse *create_curse(unit * magician, attrib ** ap, const curse_type * ct, } /* ------------------------------------------------------------- */ -/* hier müssen alle c-typen, die auf Einheiten gezaubert werden können, - * berücksichtigt werden */ +/* hier muessen alle c-typen, die auf Einheiten gezaubert werden koennen, + * beruecksichtigt werden */ static void do_transfer_curse(curse * c, const unit * u, unit * u2, int n) { @@ -705,15 +705,15 @@ message *cinfo_simple(const void *obj, objtype_t typ, const struct curse * c, } /* ------------------------------------------------------------- */ -/* Antimagie - curse auflösen */ +/* Antimagie - curse aufloesen */ /* ------------------------------------------------------------- */ -/* Wenn der Curse schwächer ist als der cast_level, dann wird er -* aufgelöst, bzw seine Kraft (vigour) auf 0 gesetzt. +/* Wenn der Curse schwaecher ist als der cast_level, dann wird er +* aufgeloest, bzw seine Kraft (vigour) auf 0 gesetzt. * Ist der cast_level zu gering, hat die Antimagie nur mit einer Chance * von 100-20*Stufenunterschied % eine Wirkung auf den Curse. Dann wird -* die Kraft des Curse um die halbe Stärke der Antimagie reduziert. -* Zurückgegeben wird der noch unverbrauchte Rest von force. +* die Kraft des Curse um die halbe Staerke der Antimagie reduziert. +* Zurueckgegeben wird der noch unverbrauchte Rest von force. */ double destr_curse(curse * c, int cast_level, double force) { @@ -730,7 +730,7 @@ double destr_curse(curse * c, int cast_level, double force) } } } - else { /* Zauber ist stärker als curse */ + else { /* Zauber ist staerker als curse */ if (force >= c->vigour) { /* reicht die Kraft noch aus? */ force -= c->vigour; if (c->type->change_vigour) { diff --git a/src/kernel/curse.h b/src/kernel/curse.h index 36ace2895..53e189be9 100644 --- a/src/kernel/curse.h +++ b/src/kernel/curse.h @@ -39,37 +39,37 @@ extern "C" { * (struct attribute) */ - /* Brainstorming Überarbeitung curse + /* Brainstorming Ãœberarbeitung curse * * Ziel: Keine Enum-Liste, flexible, leicht erweiterbare Curse-Objekte * * Was wird gebraucht? - * - Eindeutige Kennung für globale Suche - * - eine Wirkung, die sich einfach 'anwenden' läßt, dabei flexibel ist, - * Raum läßt für variable Boni, Anzahl betroffener Personen, + * - Eindeutige Kennung fuer globale Suche + * - eine Wirkung, die sich einfach 'anwenden' laesst, dabei flexibel ist, + * Raum laesst fuer variable Boni, Anzahl betroffener Personen, * spezielle Effekte oder anderes * - einfacher Zugriff auf allgemeine Funktionen wie zb Alterung, aber * auch Antimagieverhalten * - Ausgabe von Beschreibungen in verschiedenen Sprachen * - definiertes gekapseltes Verhalten zb bei Zusammenlegung von - * Einheiten, Übergabe von Personen, Mehrfachverzauberung - * - (Rück-)Referenzen auf Objekt, Verursacher (Magier), ? + * Einheiten, Ãœbergabe von Personen, Mehrfachverzauberung + * - (Rueck-)Referenzen auf Objekt, Verursacher (Magier), ? * - * Vieleicht wäre ein Wirkungsklassensystem sinnvoll, so das im übrigen - * source einfach alle curse-attribs abgefragt werden können und bei - * gewünschter Wirkungsklasse angewendet, also nicht für jeden curse - * spezielle Änderungen im übrigen source notwendig sind. + * Vieleicht waere ein Wirkungsklassensystem sinnvoll, so das im uebrigen + * source einfach alle curse-attribs abgefragt werden koennen und bei + * gewuenschter Wirkungsklasse angewendet, also nicht für jeden curse + * spezielle Änderungen im uebrigen source notwendig sind. * * Die (Wirkungs-)Typen sollten die wichtigen Funktionen speziell - * belegen können, zb Alterung, Ausgabetexte, Merge-Verhalten + * belegen koennen, zb Alterung, Ausgabetexte, Merge-Verhalten * * Was sind wichtige individuelle Eigenschaften? * - Referenzen auf Objekt und Verursacher - * - Referenzen für globale Liste + * - Referenzen fuer globale Liste * > die Wirkung: * - Dauer * - Widerstandskraft, zb gegen Antimagie - * - Seiteneffekte zb Flag ONLYONE, Unverträglichkeiten + * - Seiteneffekte zb Flag ONLYONE, Unvertraeglichkeiten * - Alterungsverhalten zb Flag NOAGE * - Effektverhalten, zb Bonus (variabel) * - bei Einheitenzaubern die Zahl der betroffenen Personen @@ -77,16 +77,16 @@ extern "C" { * Dabei sind nur die beiden letzten Punkte wirklich reine individuelle * Wirkung, die anderen sind eher allgemeine Kennzeichen eines jeden * Curse, die individuell belegt sind. - * ONLYONE und NOAGE könnten auch Eigenschaften des Typs sein, nicht des + * ONLYONE und NOAGE koennten auch Eigenschaften des Typs sein, nicht des * individuellen curse. Allgemein ist Alterung wohl eher eine * Typeigenschaft als die eines individuellen curse. - * Dagegen ist der Widerstand gegen Antimagie sowohl abhängig von der - * Güte des Verursachers, also des Magiers zum Zeitpunkt des Zaubers, + * Dagegen ist der Widerstand gegen Antimagie sowohl abhaengig von der + * Guete des Verursachers, also des Magiers zum Zeitpunkt des Zaubers, * als auch vom Typ, der gegen bestimmte Arten des 'Fluchbrechens' immun - * sein könnte. + * sein koennte. * * Was sind wichtige Typeigenschaften? - * - Verhalten bei Personenübergaben + * - Verhalten bei Personenuebergaben * - allgemeine Wirkung * - Beschreibungstexte * - Verhalten bei Antimagie @@ -94,8 +94,8 @@ extern "C" { * - Speicherung des C-Objekts * - Laden des C-Objekts * - Erzeugen des C-Objekts - * - Löschen und Aufräumen des C-Objekts - * - Funktionen zur Änderung der Werte + * - Loeschen und Aufraeumen des C-Objekts + * - Funktionen zur Änderung der Werte * * */ @@ -118,17 +118,17 @@ extern "C" { C_BADLEARN, C_SHIP_SPEEDUP, /* 9 - Sturmwind-Zauber */ C_SHIP_FLYING, /* 10 - Luftschiff-Zauber */ - C_SHIP_NODRIFT, /* 11 - GünstigeWinde-Zauber */ + C_SHIP_NODRIFT, /* 11 - GuenstigeWinde-Zauber */ C_DEPRESSION, C_MAGICWALLS, /* 13 - Heimstein */ C_STRONGWALL, /* 14 - Feste Mauer - Precombat */ C_ASTRALBLOCK, /* 15 - Astralblock */ C_GENEROUS, /* 16 - Unterhaltung vermehren */ C_PEACE, /* 17 - Regionsweit Attacken verhindern */ - C_MAGICSTREET, /* 19 - magisches Straßennetz */ - C_RESIST_MAGIC, /* 20 - verändert Magieresistenz von Objekten */ - C_SONG_BADMR, /* 21 - verändert Magieresistenz */ - C_SONG_GOODMR, /* 22 - verändert Magieresistenz */ + C_MAGICSTREET, /* 19 - magisches Strassennetz */ + C_RESIST_MAGIC, /* 20 - veraendert Magieresistenz von Objekten */ + C_SONG_BADMR, /* 21 - veraendert Magieresistenz */ + C_SONG_GOODMR, /* 22 - veraendert Magieresistenz */ C_SLAVE, /* 23 - dient fremder Partei */ C_CALM, /* 25 - Beinflussung */ C_OLDRACE, @@ -145,7 +145,7 @@ extern "C" { /* ------------------------------------------------------------- */ /* Flags */ - /* Verhalten von Zaubern auf Units beim Übergeben von Personen */ + /* Verhalten von Zaubern auf Units beim Ãœbergeben von Personen */ typedef enum { CURSE_ISNEW = 0x01, /* wirkt in der zauberrunde nicht (default) */ CURSE_NOAGE = 0x02, /* wirkt ewig */ @@ -153,10 +153,10 @@ extern "C" { CURSE_ONLYONE = 0x08, /* Verhindert, das ein weiterer Zauber dieser Art auf das Objekt gezaubert wird */ /* the following are mutually exclusive */ - CURSE_SPREADNEVER = 0x00, /* wird nie mit übertragen */ - CURSE_SPREADALWAYS = 0x10, /* wird immer mit übertragen */ + CURSE_SPREADNEVER = 0x00, /* wird nie mit uebertragen */ + CURSE_SPREADALWAYS = 0x10, /* wird immer mit uebertragen */ CURSE_SPREADMODULO = 0x20, /* personenweise weitergabe */ - CURSE_SPREADCHANCE = 0x30 /* Ansteckungschance je nach Mengenverhältnis */ + CURSE_SPREADCHANCE = 0x30 /* Ansteckungschance je nach Mengenverhaeltnis */ } curseflags; #define CURSE_FLAGSMASK 0x0F @@ -180,8 +180,8 @@ extern "C" { #define M_SUMEFFECT 8 /* der Effekt summiert sich */ #define M_MEN 16 /* die Anzahl der betroffenen Personen summiert sich */ -#define M_VIGOUR 32 /* das Maximum der beiden Stärken wird die - Stärke des neuen Zaubers */ +#define M_VIGOUR 32 /* das Maximum der beiden Staerken wird die + Staerke des neuen Zaubers */ #define M_VIGOUR_ADD 64 /* Vigour wird addiert */ /* ------------------------------------------------------------- */ @@ -212,7 +212,7 @@ extern "C" { struct curse *nexthash; const curse_type *type; /* Zeiger auf ein curse_type-struct */ struct unit *magician; /* Pointer auf den Magier, der den Spruch gewirkt hat */ - double vigour; /* Stärke der Verzauberung, Widerstand gegen Antimagie */ + double vigour; /* Staerke der Verzauberung, Widerstand gegen Antimagie */ double effect; int no; /* 'Einheitennummer' dieses Curse */ int mask; /* This is XORed with type->flags, see c_flags()! */ @@ -251,35 +251,35 @@ extern "C" { /* ignoriert CURSE_ISNEW */ bool is_cursed_internal(struct attrib *ap, const curse_type * ctype); - /* löscht einen konkreten Spruch auf einem Objekt. */ + /* loescht einen konkreten Spruch auf einem Objekt. */ bool remove_curse(struct attrib **ap, const struct curse *c); - /* gibt die Auswirkungen der Verzauberungen zurück. zB bei + /* gibt die Auswirkungen der Verzauberungen zurueck. zB bei * Skillmodifiziernden Verzauberungen ist hier der Modifizierer * gespeichert. Wird automatisch beim Anlegen eines neuen curse - * gesetzt. Gibt immer den ersten Treffer von ap aus zurück. + * gesetzt. Gibt immer den ersten Treffer von ap aus zurueck. */ int curse_geteffect_int(const struct curse *c); double curse_geteffect(const struct curse *c); - /* verändert die Stärke der Verzauberung um i */ + /* veraendert die Stärke der Verzauberung um i */ double curse_changevigour(struct attrib **ap, curse * c, double delta); - /* gibt bei Personenbeschränkten Verzauberungen die Anzahl der - * betroffenen Personen zurück. Ansonsten wird 0 zurückgegeben. */ + /* gibt bei Personenbeschraenkten Verzauberungen die Anzahl der + * betroffenen Personen zurueck. Ansonsten wird 0 zurückgegeben. */ int get_cursedmen(const struct unit *u, const struct curse *c); /* setzt/loescht Spezialflag einer Verzauberung (zB 'dauert ewig') */ void c_setflag(curse * c, unsigned int flag); void c_clearflag(curse * c, unsigned int flags); - /* sorgt dafür, das bei der Übergabe von Personen die curse-attribute + /* sorgt dafuer, das bei der Ãœbergabe von Personen die curse-attribute * korrekt gehandhabt werden. Je nach internen Flag kann dies - * unterschiedlich gewünscht sein + * unterschiedlich gewuenscht sein * */ void transfer_curse(const struct unit *u, struct unit *u2, int n); - /* gibt pointer auf die erste curse-struct zurück, deren Typ ctype ist, + /* gibt pointer auf die erste curse-struct zurueck, deren Typ ctype ist, * oder einen NULL-pointer * */ struct curse *get_curse(struct attrib *ap, const curse_type * ctype); diff --git a/src/kernel/plane.h b/src/kernel/plane.h index faa663a36..bfaaa5dda 100644 --- a/src/kernel/plane.h +++ b/src/kernel/plane.h @@ -32,14 +32,14 @@ extern "C" { #define PFL_NORECRUITS 2 /* cannot recruit */ #define PFL_NOALLIANCES 4 /* not implemented */ #define PFL_LOWSTEALING 8 /* not implemented */ -#define PFL_NOGIVE 16 /* Übergaben sind unmöglich */ -#define PFL_NOATTACK 32 /* Angriffe und Diebstähle sind unmöglich */ +#define PFL_NOGIVE 16 /* Ãœbergaben sind unmoeglich */ +#define PFL_NOATTACK 32 /* Angriffe und Diebstaehle sind unmoeglich */ #define PFL_NOTERRAIN 64 /* Terraintyp wird nicht angezeigt TODO? */ -#define PFL_NOMAGIC 128 /* Zaubern ist unmöglich */ -#define PFL_NOSTEALTH 256 /* Tarnung außer Betrieb */ -#define PFL_NOTEACH 512 /* Lehre außer Betrieb */ -#define PFL_NOBUILD 1024 /* Bauen außer Betrieb */ -#define PFL_NOFEED 2048 /* Kein Unterhalt nötig */ +#define PFL_NOMAGIC 128 /* Zaubern ist unmoeglich */ +#define PFL_NOSTEALTH 256 /* Tarnung ausser Betrieb */ +#define PFL_NOTEACH 512 /* Lehre ausser Betrieb */ +#define PFL_NOBUILD 1024 /* Bauen ausser Betrieb */ +#define PFL_NOFEED 2048 /* Kein Unterhalt noetig */ #define PFL_FRIENDLY 4096 /* not implemented */ #define PFL_NOORCGROWTH 8192 /* orcs don't grow */ #define PFL_NOMONSTERS 16384 /* no monster randenc */ diff --git a/src/kernel/region.c b/src/kernel/region.c index f8ce68ffd..4614f22bc 100644 --- a/src/kernel/region.c +++ b/src/kernel/region.c @@ -175,7 +175,7 @@ void deathcounts(region * r, int fallen) } } -/* Moveblock wird zur Zeit nicht über Attribute, sondern ein Bitfeld +/* Moveblock wird zur Zeit nicht ueber Attribute, sondern ein Bitfeld r->moveblock gemacht. Sollte umgestellt werden, wenn kompliziertere Dinge gefragt werden. */ @@ -992,7 +992,7 @@ static char *makename(void) *handle_end = "nlrdst", *vowels = "aaaaaaaaaaaeeeeeeeeeeeeiiiiiiiiiiioooooooooooouuuuuuuuuuyy"; - /* const char * vowels_latin1 = "aaaaaaaaaàâeeeeeeeeeéèêiiiiiiiiiíîoooooooooóòôuuuuuuuuuúyy"; */ + /* const char * vowels_latin1 = "aaaaaaaaaàâeeeeeeeeeéèêiiiiiiiiiíîoooooooooóòôuuuuuuuuuúyy"; */ nk = strlen(kons); ne = strlen(handle_end); @@ -1105,7 +1105,7 @@ void init_region(region *r) void terraform_region(region * r, const terrain_type * terrain) { - /* Resourcen, die nicht mehr vorkommen können, löschen */ + /* Resourcen, die nicht mehr vorkommen koennen, löschen */ const terrain_type *oldterrain = r->terrain; rawmaterial **lrm = &r->resources; @@ -1266,7 +1266,7 @@ void terraform_region(region * r, const terrain_type * terrain) #include "curse.h" int max_production(const region * r) { - /* muß rterrain(r) sein, nicht rterrain() wegen rekursion */ + /* muss rterrain(r) sein, nicht rterrain() wegen rekursion */ int p = r->terrain->size; if (curse_active(get_curse(r->attribs, &ct_drought))) { p /= 2; diff --git a/src/kernel/terrain.h b/src/kernel/terrain.h index d49d04054..951ff7724 100644 --- a/src/kernel/terrain.h +++ b/src/kernel/terrain.h @@ -24,10 +24,10 @@ extern "C" { #endif /* diverse Flags */ - /* Strassen und Gebäude können gebaut werden, wenn max_road > 0 */ + /* Strassen und Gebaeude koennen gebaut werden, wenn max_road > 0 */ #define LAND_REGION (1<<0) /* Standard-Land-struct region */ #define SEA_REGION (1<<1) /* hier braucht man ein Boot */ -#define FOREST_REGION (1<<2) /* Elfen- und Kampfvorteil durch Bäume */ +#define FOREST_REGION (1<<2) /* Elfen- und Kampfvorteil durch Baeume */ #define ARCTIC_REGION (1<<3) /* Gletscher & co = Keine Insekten! */ #define CAVALRY_REGION (1<<4) /* riding in combat is possible */ /* Achtung: SEA_REGION ist nicht das Gegenteil von LAND_REGION. Die zwei schliessen sich nichtmal aus! */ diff --git a/src/kernel/types.h b/src/kernel/types.h index 2b014bc94..b67ee088a 100644 --- a/src/kernel/types.h +++ b/src/kernel/types.h @@ -113,7 +113,7 @@ enum { O_ADRESSEN, /* 512 */ O_BZIP2, /* 1024 - compress as bzip2 */ O_SCORE, /* 2048 - punkte anzeigen? */ - O_SHOWSKCHANGE, /* 4096 - Skillveränderungen anzeigen? */ + O_SHOWSKCHANGE, /* 4096 - Skillveraenderungen anzeigen? */ MAXOPTIONS }; diff --git a/src/kernel/unit.h b/src/kernel/unit.h index 930574629..46746e3a1 100644 --- a/src/kernel/unit.h +++ b/src/kernel/unit.h @@ -47,7 +47,7 @@ extern "C" { #define UFL_MOVED (1<<8) #define UFL_NOTMOVING (1<<9) /* Die Einheit kann sich wg. langen Kampfes nicht bewegen */ #define UFL_DEFENDER (1<<10) -#define UFL_HUNGER (1<<11) /* kann im Folgemonat keinen langen Befehl außer ARBEITE ausführen */ +#define UFL_HUNGER (1<<11) /* kann im Folgemonat keinen langen Befehl ausser ARBEITE ausfuehren */ #define UFL_TARGET (1<<13) /* speedup: hat ein target, siehe attribut */ #define UFL_WERE (1<<14) #define UFL_ENTER (1<<15) /* unit has entered a ship/building and will not leave it */ @@ -55,14 +55,14 @@ extern "C" { /* warning: von 512/1024 gewechslet, wegen konflikt mit NEW_FOLLOW */ #define UFL_LOCKED (1<<16) /* Einheit kann keine Personen aufnehmen oder weggeben, nicht rekrutieren. */ #define UFL_FLEEING (1<<17) /* unit was in a battle, fleeing. */ -#define UFL_STORM (1<<19) /* Kapitän war in einem Sturm */ +#define UFL_STORM (1<<19) /* Kapitaen war in einem Sturm */ #define UFL_FOLLOWING (1<<20) #define UFL_FOLLOWED (1<<21) #define UFL_NOAID (1<<22) /* Einheit hat Noaid-Status */ #define UFL_MARK (1<<23) /* same as FL_MARK */ #define UFL_ORDERS (1<<24) /* Einheit hat Befehle erhalten */ -#define UFL_TAKEALL (1<<25) /* Einheit nimmt alle Gegenstände an */ +#define UFL_TAKEALL (1<<25) /* Einheit nimmt alle Gegenstaende an */ /* flags that speed up attribute access: */ #define UFL_STEALTH (1<<26) @@ -84,7 +84,7 @@ extern "C" { typedef struct unit { struct unit *next; /* needs to be first entry, for region's unitlist */ - struct unit *nextF; /* nächste Einheit der Partei */ + struct unit *nextF; /* naechste Einheit der Partei */ struct unit *prevF; /* vorherige Einheit der Partei */ struct region *region; int no; /* id */ diff --git a/src/magic.h b/src/magic.h index 4a184fe9e..6d181d73d 100644 --- a/src/magic.h +++ b/src/magic.h @@ -45,7 +45,7 @@ extern "C" { /* Spruchparameter * Wir suchen beim Parsen des Befehls erstmal nach lokalen Objekten, * erst in verify_targets wird dann global gesucht, da in den meisten - * Fällen das Zielobjekt lokal sein dürfte */ + * Faellen das Zielobjekt lokal sein duerfte */ /* siehe auch objtype_t in objtypes.h */ typedef enum { @@ -90,10 +90,10 @@ extern "C" { * - Magierichtung * - Magiepunkte derzeit * - Malus (neg. Wert)/ Bonus (pos. Wert) auf maximale Magiepunkte - * (können sich durch Questen absolut verändern und durch Gegenstände - * temporär). Auch für Artefakt benötigt man permanente MP - * - Anzahl bereits gezauberte Sprüche diese Runde - * - Kampfzauber (3) (vor/während/nach) + * (koennen sich durch Questen absolut veraendern und durch Gegenstände + * temporaer). Auch fuer Artefakt benoetigt man permanente MP + * - Anzahl bereits gezauberte Sprueche diese Runde + * - Kampfzauber (3) (vor/waehrend/nach) * - Spruchliste */ @@ -115,12 +115,12 @@ extern "C" { struct unit *_familiar; /* Vertrauter, gesetzt, wenn der Spruch durch den Vertrauten gezaubert wird */ const struct spell *sp; /* Spruch */ - int level; /* gewünschte Stufe oder Stufe des Magiers */ - double force; /* Stärke des Zaubers */ + int level; /* gewuenschte Stufe oder Stufe des Magiers */ + double force; /* Staerke des Zaubers */ struct region *_rtarget; /* Zielregion des Spruchs */ int distance; /* Entfernung zur Zielregion */ struct order *order; /* Befehl */ - struct spellparameter *par; /* für weitere Parameter */ + struct spellparameter *par; /* fuer weitere Parameter */ } castorder; struct unit * co_get_caster(const struct castorder * co); @@ -139,27 +139,27 @@ extern "C" { #define FARCASTING (1<<0) /* ZAUBER [struct region x y] */ #define SPELLLEVEL (1<<1) /* ZAUBER [STUFE x] */ -#define OCEANCASTABLE (1<<2) /* Können auch nicht-Meermenschen auf +#define OCEANCASTABLE (1<<2) /* Koennen auch nicht-Meermenschen auf hoher See zaubern */ #define ONSHIPCAST (1<<3) /* kann auch auf von Land ablegenden Schiffen stehend gezaubert werden */ -#define TESTCANSEE (1<<4) /* alle Zielunits auf cansee prüfen */ +#define TESTCANSEE (1<<4) /* alle Zielunits auf cansee pruefen */ - /* ID's können zu drei unterschiedlichen Entitäten gehören: Einheiten, - * Gebäuden und Schiffen. */ + /* ID's koennen zu drei unterschiedlichen Entitaeten gehören: Einheiten, + * Gebaeuden und Schiffen. */ #define UNITSPELL (1<<5) /* ZAUBER .. [ ..] */ #define SHIPSPELL (1<<6) /* ZAUBER .. [ ..] */ #define BUILDINGSPELL (1<<7) /* ZAUBER .. [ ..] */ #define REGIONSPELL (1<<8) /* wirkt auf struct region */ #define GLOBALTARGET (1<<9) /* Ziel kann ausserhalb der region sein */ -#define PRECOMBATSPELL (1<<10) /* PRÄKAMPFZAUBER .. */ +#define PRECOMBATSPELL (1<<10) /* PRÄKAMPFZAUBER .. */ #define COMBATSPELL (1<<11) /* KAMPFZAUBER .. */ #define POSTCOMBATSPELL (1<<12) /* POSTKAMPFZAUBER .. */ #define ISCOMBATSPELL (PRECOMBATSPELL|COMBATSPELL|POSTCOMBATSPELL) -#define TESTRESISTANCE (1<<13) /* Zielobjekte auf Magieresistenz prüfen. not used in XML? */ +#define TESTRESISTANCE (1<<13) /* Zielobjekte auf Magieresistenz pruefen. not used in XML? */ #define NOTFAMILIARCAST (1<<14) /* not used by XML? */ #define ANYTARGET (UNITSPELL|REGIONSPELL|BUILDINGSPELL|SHIPSPELL) /* wirkt auf alle objekttypen (unit, ship, building, region) */ @@ -167,7 +167,7 @@ extern "C" { enum { SPC_FIX, /* Fixkosten */ SPC_LEVEL, /* Komponenten pro Level */ - SPC_LINEAR /* Komponenten pro Level und müssen vorhanden sein */ + SPC_LINEAR /* Komponenten pro Level und muessen vorhanden sein */ }; /* ------------------------------------------------------------- */ @@ -192,8 +192,8 @@ extern "C" { * * Spruchzauberrei und Gegenstandszauberrei werden getrennt behandelt. * Das macht u.a. bestimmte Fehlermeldungen einfacher, das - * identifizieren der Komponennten über den Missversuch ist nicht - * möglich + * identifizieren der Komponennten ueber den Missversuch ist nicht + * moeglich * Spruchzauberrei: 'ZAUBER [struct region x y] [STUFE a] "Spruchname" [Ziel]' * Gegenstandszauberrei: 'BENUTZE "Gegenstand" [Ziel]' * @@ -222,46 +222,46 @@ extern "C" { bool is_familiar(const struct unit *u); /* gibt true, wenn eine Familiar-Relation besteht. */ - /* Sprüche */ + /* Sprueche */ int get_combatspelllevel(const struct unit *u, int nr); /* versucht, eine eingestellte maximale Kampfzauberstufe - * zurückzugeben. 0 = Maximum, -1 u ist kein Magier. */ + * zurueckzugeben. 0 = Maximum, -1 u ist kein Magier. */ const struct spell *get_combatspell(const struct unit *u, int nr); - /* gibt den Kampfzauber nr [pre/kampf/post] oder NULL zurück */ + /* gibt den Kampfzauber nr [pre/kampf/post] oder NULL zurueck */ void set_combatspell(struct unit *u, struct spell * sp, struct order *ord, int level); /* setzt Kampfzauber */ void unset_combatspell(struct unit *u, struct spell * sp); - /* löscht Kampfzauber */ - /* fügt den Spruch mit der Id spellid der Spruchliste der Einheit hinzu. */ + /* loescht Kampfzauber */ + /* fuegt den Spruch mit der Id spellid der Spruchliste der Einheit hinzu. */ int u_hasspell(const struct unit *u, const struct spell *sp); - /* prüft, ob der Spruch in der Spruchliste der Einheit steht. */ + /* prueft, ob der Spruch in der Spruchliste der Einheit steht. */ void pick_random_spells(struct faction *f, int level, struct spellbook * book, int num_spells); bool knowsspell(const struct region *r, const struct unit *u, const struct spell * sp); - /* prüft, ob die Einheit diesen Spruch gerade beherrscht, dh - * mindestens die erforderliche Stufe hat. Hier können auch Abfragen - * auf spezielle Antimagiezauber auf Regionen oder Einheiten eingefügt + /* prueft, ob die Einheit diesen Spruch gerade beherrscht, dh + * mindestens die erforderliche Stufe hat. Hier koennen auch Abfragen + * auf spezielle Antimagiezauber auf Regionen oder Einheiten eingefuegt * werden */ /* Magiepunkte */ int get_spellpoints(const struct unit *u); - /* Gibt die aktuelle Anzahl der Magiepunkte der Einheit zurück */ + /* Gibt die aktuelle Anzahl der Magiepunkte der Einheit zurueck */ void set_spellpoints(struct unit *u, int sp); /* setzt die Magiepunkte auf sp */ int change_spellpoints(struct unit *u, int mp); - /* verändert die Anzahl der Magiepunkte der Einheit um +mp */ + /* veraendert die Anzahl der Magiepunkte der Einheit um +mp */ int max_spellpoints_depr(const struct region *r, const struct unit *u); int max_spellpoints(const struct unit *u, const struct region *r); - /* gibt die aktuell maximal möglichen Magiepunkte der Einheit zurück */ + /* gibt die aktuell maximal moeglichen Magiepunkte der Einheit zurueck */ int change_maxspellpoints(struct unit *u, int csp); - /* verändert die maximalen Magiepunkte einer Einheit */ + /* veraendert die maximalen Magiepunkte einer Einheit */ /* Zaubern */ extern double spellpower(struct region *r, struct unit *u, const struct spell * sp, int cast_level, struct order *ord); - /* ermittelt die Stärke eines Spruchs */ + /* ermittelt die Staerke eines Spruchs */ bool fumble(struct region *r, struct unit *u, const struct spell * sp, int cast_level); /* true, wenn der Zauber misslingt, bei false gelingt der Zauber */ @@ -275,51 +275,51 @@ extern "C" { struct unit * familiar, const struct spell * sp, struct region * r, int lev, double force, int range, struct order * ord, struct spellparameter * p); void free_castorder(struct castorder *co); - /* Zwischenspreicher für Zauberbefehle, notwendig für Prioritäten */ + /* Zwischenspreicher fuer Zauberbefehle, notwendig für Prioritaeten */ void add_castorder(struct spellrank *cll, struct castorder *co); - /* Hänge c-order co an die letze c-order von cll an */ + /* Haenge c-order co an die letze c-order von cll an */ void free_castorders(struct castorder *co); /* Speicher wieder freigeben */ int cast_spell(struct castorder *co); - /* Prüfroutinen für Zaubern */ + /* Pruefroutinen für Zaubern */ int countspells(struct unit *u, int step); int spellcount(const struct unit *u); - /* erhöht den Counter für Zaubersprüche um 'step' und gibt die neue - * Anzahl der gezauberten Sprüche zurück. */ + /* erhoeht den Counter fuer Zaubersprüche um 'step' und gibt die neue + * Anzahl der gezauberten Sprueche zurück. */ int auracost(const struct unit *caster, const struct spell *sp); int spellcost(const struct unit *caster, const struct spell_component *spc); - /* gibt die für diesen Spruch derzeit notwendigen Magiepunkte auf der - * geringstmöglichen Stufe zurück, schon um den Faktor der bereits - * zuvor gezauberten Sprüche erhöht */ + /* gibt die fuer diesen Spruch derzeit notwendigen Magiepunkte auf der + * geringstmoeglichen Stufe zurueck, schon um den Faktor der bereits + * zuvor gezauberten Sprueche erhoeht */ bool cancast(struct unit *u, const struct spell * spruch, int eff_stufe, int distance, struct order *ord); - /* true, wenn Einheit alle Komponenten des Zaubers (incl. MP) für die - * geringstmögliche Stufe hat und den Spruch beherrscht */ + /* true, wenn Einheit alle Komponenten des Zaubers (incl. MP) fuer die + * geringstmoegliche Stufe hat und den Spruch beherrscht */ void pay_spell(struct unit *mage, const struct unit *caster, const struct spell * sp, int eff_stufe, int distance); /* zieht die Komponenten des Zaubers aus dem Inventory der Einheit - * ab. Die effektive Stufe des gezauberten Spruchs ist wichtig für + * ab. Die effektive Stufe des gezauberten Spruchs ist wichtig fuer * die korrekte Bestimmung der Magiepunktkosten */ int eff_spelllevel(struct unit *mage, struct unit *caster, const struct spell * sp, int cast_level, int distance); /* ermittelt die effektive Stufe des Zaubers. Dabei ist cast_level - * die gewünschte maximale Stufe (im Normalfall Stufe des Magiers, + * die gewuenschte maximale Stufe (im Normalfall Stufe des Magiers, * bei Farcasting Stufe*2^Entfernung) */ bool is_magic_resistant(struct unit *magician, struct unit *target, int resist_bonus); - /* Mapperfunktion für target_resists_magic() vom Typ struct unit. */ + /* Mapperfunktion fuer target_resists_magic() vom Typ struct unit. */ variant magic_resistance(struct unit *target); /* gibt die Chance an, mit der einem Zauber widerstanden wird. Je - * größer, desto resistenter ist da Opfer */ + * groesser, desto resistenter ist da Opfer */ bool target_resists_magic(struct unit *magician, void *obj, int objtyp, int resist_bonus); - /* gibt false zurück, wenn der Zauber gelingt, true, wenn das Ziel + /* gibt false zurueck, wenn der Zauber gelingt, true, wenn das Ziel * widersteht */ extern struct spell * unit_getspell(struct unit *u, const char *s, const struct locale *lang); const char *magic_name(magic_t mtype, const struct locale *lang); - /* Sprüche in der struct region */ + /* Sprueche in der struct region */ /* (sind in curse) */ void set_familiar(struct unit * mage, struct unit * familiar); struct unit *get_familiar(const struct unit *u); diff --git a/src/modules/museum.c b/src/modules/museum.c index 7e3a04f2d..dcb9fce2f 100644 --- a/src/modules/museum.c +++ b/src/modules/museum.c @@ -141,7 +141,7 @@ order * ord) UNUSED_ARG(amount); - /* Prüfen ob in Eingangshalle */ + /* Pruefen ob in Eingangshalle */ if (u->region->x != 9525 || u->region->y != 9525) { cmistake(u, ord, 266, MSG_MAGIC); return 0; @@ -152,7 +152,7 @@ order * ord) r = findregion(a->data.sa[0], a->data.sa[1]); assert(r); a_remove(&u->attribs, a); - /* Ãœbergebene Gegenstände zurückgeben */ + /* Übergebene Gegenstände zurückgeben */ a = a_find(u->attribs, &at_museumgivebackcookie); if (a) { @@ -177,7 +177,7 @@ order * ord) } } - /* Benutzer zurück teleportieren */ + /* Benutzer zurueck teleportieren */ move_unit(u, r, NULL); /* Exitticket abziehen */ @@ -210,8 +210,8 @@ order * ord) return 0; } - /* In diesem Attribut merken wir uns, wohin die Einheit zurückgesetzt - * wird, wenn sie das Museum verläßt. */ + /* In diesem Attribut merken wir uns, wohin die Einheit zurueckgesetzt + * wird, wenn sie das Museum verlaesst. */ a = a_add(&u->attribs, a_new(&at_museumexit)); a->data.sa[0] = (short)r->x; diff --git a/src/move.h b/src/move.h index 754b708aa..d08a8211d 100644 --- a/src/move.h +++ b/src/move.h @@ -46,11 +46,11 @@ extern "C" { #define BP_NORMAL 3 #define BP_ROAD 2 - /* die Zahlen sind genau äquivalent zu den race Flags */ + /* die Zahlen sind genau aequivalent zu den race Flags */ #define MV_CANNOTMOVE (1<<5) #define MV_FLY (1<<7) /* kann fliegen */ #define MV_SWIM (1<<8) /* kann schwimmen */ -#define MV_WALK (1<<9) /* kann über Land gehen */ +#define MV_WALK (1<<9) /* kann ueber Land gehen */ #define HORSES_PER_CART 2 /* number of horses for a cart */ #define STRENGTHMULTIPLIER 50 /* multiplier for trollbelt */ diff --git a/src/piracy.c b/src/piracy.c index b7307c070..ced1f61aa 100644 --- a/src/piracy.c +++ b/src/piracy.c @@ -140,7 +140,7 @@ void piracy_cmd(unit * u) if (target_dir == NODIRECTION) { int saff = 0; direction_t dir; - /* Einheit ist also Kapitän. Jetzt gucken, in wievielen + /* Einheit ist also Kapitaen. Jetzt gucken, in wievielen * Nachbarregionen potentielle Opfer sind. */ for (dir = 0; dir < MAXDIRECTIONS; dir++) { @@ -205,7 +205,7 @@ void piracy_cmd(unit * u) /* FIXME: when u->thisorder == ord, set_order calls free, destroys both. */ ord = create_order(K_MOVE, u->faction->locale, "%s", LOC(u->faction->locale, directions[target_dir])); - /* Bewegung ausführen */ + /* Bewegung ausfuehren */ init_order_depr(ord); move_cmd(u, ord); free_order(ord); diff --git a/src/reports.c b/src/reports.c index e120c1c5a..333787663 100644 --- a/src/reports.c +++ b/src/reports.c @@ -409,7 +409,7 @@ void report_raceinfo(const struct race *rc, const struct locale *lang, struct sb sbs_strcat(sbp, ": "); sbs_strcat(sbp, str_itoa(rc->df_default + rc->df_bonus)); - /* b_armor : Rüstung */ + /* b_armor : Ruestung */ if (rc->armor > 0) { sbs_strcat(sbp, ", "); sbs_strcat(sbp, LOC(lang, "stat_armor")); diff --git a/src/spells/borders.h b/src/spells/borders.h index 40bc55682..6c9828216 100644 --- a/src/spells/borders.h +++ b/src/spells/borders.h @@ -9,8 +9,8 @@ extern "C" { extern void register_borders(void); - /* für Feuerwände: in movement muß das noch explizit getestet werden. - ** besser wäre eine blcok_type::move() routine, die den effekt + /* fuer Feuerwaende: in movement muss das noch explizit getestet werden. + ** besser waere eine blcok_type::move() routine, die den effekt ** der Bewegung auf eine struct unit anwendet. **/ extern struct border_type bt_chaosgate; diff --git a/src/spells/buildingcurse.c b/src/spells/buildingcurse.c index e1eff8988..61acfbcee 100644 --- a/src/spells/buildingcurse.c +++ b/src/spells/buildingcurse.c @@ -80,7 +80,7 @@ const struct curse_type ct_magicwalls = { "magicwalls", CURSETYP_NORM, CURSE_ONLYONE|CURSE_NOAGE, NO_MERGE, cinfo_building }; -/* Feste Mauer - Präkampfzauber, wirkt nur 1 Runde */ +/* Feste Mauer - Praekampfzauber, wirkt nur 1 Runde */ const struct curse_type ct_strongwall = { "strongwall", CURSETYP_NORM, 0, NO_MERGE, NULL }; diff --git a/src/spells/regioncurse.c b/src/spells/regioncurse.c index 7622b536f..d984715c1 100644 --- a/src/spells/regioncurse.c +++ b/src/spells/regioncurse.c @@ -87,7 +87,7 @@ const struct curse_type ct_gbdream = { /* --------------------------------------------------------------------- */ /* * C_MAGICSTREET - * erzeugt Straßennetz + * erzeugt Strassennetz */ static message *cinfo_magicstreet(const void *obj, objtype_t typ, const curse * c, int self) @@ -97,7 +97,7 @@ static message *cinfo_magicstreet(const void *obj, objtype_t typ, const curse * UNUSED_ARG(obj); assert(typ == TYP_REGION); - /* Warnung vor Auflösung */ + /* Warnung vor Aufloesung */ if (c->duration >= 2) { return msg_message("curseinfo::magicstreet", "id", c->no); } @@ -120,7 +120,7 @@ static message *cinfo_antimagiczone(const void *obj, objtype_t typ, const curse UNUSED_ARG(obj); assert(typ == TYP_REGION); - /* Magier spüren eine Antimagiezone */ + /* Magier spueren eine Antimagiezone */ if (self != 0) { return msg_message("curseinfo::antimagiczone", "id", c->no); } @@ -128,7 +128,7 @@ static message *cinfo_antimagiczone(const void *obj, objtype_t typ, const curse return NULL; } -/* alle Magier können eine Antimagiezone wahrnehmen */ +/* alle Magier koennen eine Antimagiezone wahrnehmen */ static int cansee_antimagiczone(const struct faction *viewer, const void *obj, objtype_t typ, const curse * c, int self) @@ -170,7 +170,7 @@ static message *cinfo_farvision(const void *obj, objtype_t typ, const curse * c, assert(typ == TYP_REGION); - /* Magier spüren eine farvision */ + /* Magier spueren eine farvision */ if (self != 0) { return msg_message("curseinfo::farvision", "id", c->no); } @@ -232,7 +232,7 @@ const struct curse_type ct_badlearn = { cinfo_simple }; -/* Trübsal-Zauber */ +/* Truebsal-Zauber */ const struct curse_type ct_depression = { "depression", CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR), @@ -268,7 +268,7 @@ const struct curse_type ct_badmagicresistancezone = { cinfo_simple }; -/* erhöht Magieresistenz von aliierten Einheiten, wirkt nur 1x pro +/* erhoeht Magieresistenz von aliierten Einheiten, wirkt nur 1x pro * Einheit */ const struct curse_type ct_goodmagicresistancezone = { "goodmagicresistancezone", diff --git a/src/spells/unitcurse.c b/src/spells/unitcurse.c index d0b381050..1d476a7be 100644 --- a/src/spells/unitcurse.c +++ b/src/spells/unitcurse.c @@ -42,7 +42,7 @@ /* * C_AURA */ -/* erhöht/senkt regeneration und maxaura um effect% */ +/* erhoeht/senkt regeneration und maxaura um effect% */ static message *cinfo_auraboost(const void *obj, objtype_t typ, const curse * c, int self) { diff --git a/src/tools/namegen.c b/src/tools/namegen.c index 2abcd0007..2e277ce0c 100644 --- a/src/tools/namegen.c +++ b/src/tools/namegen.c @@ -125,7 +125,7 @@ static char *entish_syllable2[] = { }; static char *entish_syllable3[] = { - "Hüter", "Pflanzer", "Hirte", "Wächter", "Wachser", "Beschützer", + "Hueter", "Pflanzer", "Hirte", "Waechter", "Wachser", "Beschützer", }; static char *cthuloid_syllable1[] = {