- strtok() Benutzung aus add_spellparameter raus, weil Parameter jetzt aus mehr als einem token bestehen können (wegen quotes).

This commit is contained in:
Enno Rehling 2004-07-03 07:42:55 +00:00
parent f0f97913e9
commit 11bff85cff
5 changed files with 343 additions and 618 deletions

View File

@ -3374,4 +3374,4 @@ fwritestr(FILE * F, const char * str)
}
fputc('\"', F);
return nwrite + 2;
}
}

View File

@ -108,8 +108,6 @@ struct building_type;
#define MONSTER_FACTION 0 /* Die Partei, in der die Monster sind. */
#define FULL_BASE36
/**
* heaps and heaps of unsupported versions:
#define RACES_VERSION 91

File diff suppressed because it is too large Load Diff

View File

@ -42,22 +42,19 @@ struct building;
/* siehe auch typ_t in objtypes.h */
typedef enum {
SPP_UNIT, /* "u" : getunit() -> *unit */
SPP_REGION, /* "r" : findregion(x,y) -> *region */
SPP_BUILDING, /* "b" : findbuilding() -> *building */
SPP_SHIP, /* "s" : findship() -> *ship */
SPP_UNIT_ID, /* - : atoi36() -> int */
SPP_BUILDING_ID, /* - : atoi() -> int */
SPP_SHIP_ID, /* - : atoi() -> int */
SPP_STRING, /* "c" */
SPP_INT, /* "i" : atoi() -> int */
SPP_TUNIT_ID /* - : temp einheit */
SPP_REGION, /* "r" : findregion(x,y) -> *region */
SPP_UNIT, /* - : atoi36() -> int */
SPP_TEMP, /* - : temp einheit */
SPP_BUILDING, /* - : atoi() -> int */
SPP_SHIP, /* - : atoi() -> int */
SPP_STRING, /* "c" */
SPP_INT, /* "i" : atoi() -> int */
} sppobj_t;
typedef struct spllprm{
sppobj_t typ;
int flag;
union{
union {
struct region *r;
struct unit *u;
struct building *b;

View File

@ -707,6 +707,7 @@ sp_destroy_magic(castorder *co)
strcpy(ts, regionid(tr));
break;
}
case SPP_TEMP:
case SPP_UNIT:
{
unit *u;
@ -5647,6 +5648,7 @@ sp_analysemagic(castorder *co)
magicanalyse_region(tr, mage, cast_level);
break;
}
case SPP_TEMP:
case SPP_UNIT:
{
unit *u;
@ -7056,6 +7058,7 @@ sp_q_antimagie(castorder *co)
set_string(&ts, regionid(r));
break;
case SPP_TEMP:
case SPP_UNIT:
{
unit *u = pa->param[0]->data.u;
@ -7149,6 +7152,7 @@ sp_destroy_curse(castorder *co)
set_string(&ts, regionname(r, mage->faction));
break;
case SPP_TEMP:
case SPP_UNIT:
{
unit *u = pa->param[0]->data.u;
@ -7579,10 +7583,6 @@ patzer_createitem(castorder *co)
* + : gibt an, das der vorherige Parameter mehrfach vorkommen kann. Da
* ein Ende nicht definiert werden kann, muss dies immer am Schluss
* kommen.
* ? : gibt an, das der folgende Parameter optional ist. Da nicht
* definiert werden kann, ob wirklich ein Parameter nachfolgt oder
* etwas anderes, muss dies immer als vorletztes Zeichen stehen und
* darf nicht direkt von einem + gefolgt werden.
*
* Flags für das Parsing:
* TESTRESISTANCE : alle Zielobjekte, also alle Parameter vom Typ Unit,