X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;f=src%2Fserver%2Fconfigfile.c;h=14464396dc7e93ff6af93396d8a0faee0e2f78bf;hb=639a12151eeb7ce0d18de330b4bb8d9d8094c4d3;hp=fc2c771f42d952a3c5c5721d8dd533153ee264f1;hpb=7200388374e47f0c4370bd033be9c60247f2a076;p=plomrogue
diff --git a/src/server/configfile.c b/src/server/configfile.c
index fc2c771..1446439 100644
--- a/src/server/configfile.c
+++ b/src/server/configfile.c
@@ -93,6 +93,9 @@ static void test_corpse_ids();
/* set_members() helper specifically for editing world.map members. */
static uint8_t set_map_members(char * token0,char * token1,uint8_t * map_flags);
+/* If "token0" matches "comparand", set world.enemy_fov to "token1". */
+static uint8_t set_enemy_fov(char * token0, char * comparand, char * token1);
+
/* If "token0" matches "comparand", set world.player_type to int in "token1". */
static uint8_t set_player_type(char * token0, char * comparand, char * token1);
@@ -121,6 +124,7 @@ static void tokens_into_entries(char * token0, char * token1)
char * str_obj = "OBJECT";
char * str_map = "MAP_TYPE";
char * str_player = "PLAYER_TYPE";
+ char * str_enemyfov = "ENEMY_FOV";
static struct MapObjAct ** moa_p_p = &world.map_obj_acts;
static struct MapObjDef ** mod_p_p = &world.map_obj_defs;
static uint8_t action_flags = READY_ACT;
@@ -129,7 +133,8 @@ static void tokens_into_entries(char * token0, char * token1)
static struct EntryHead * moa = NULL;
static struct EntryHead * mod = NULL;
if (!token0 || !strcmp(token0, str_act) || !strcmp(token0, str_obj)
- || !strcmp(token0, str_map) || !strcmp(token0, str_player))
+ || !strcmp(token0, str_map) || !strcmp(token0, str_player)
+ || !strcmp(token0, str_enemyfov))
{
parse_and_reduce_to_readyflag(&action_flags, READY_ACT);
parse_and_reduce_to_readyflag(&object_flags, READY_OBJ);
@@ -152,6 +157,7 @@ static void tokens_into_entries(char * token0, char * token1)
(struct EntryHead *) world.map_obj_defs)
|| start_map(token0, str_map, &map_flags)
|| set_player_type(token0, str_player, token1)
+ || set_enemy_fov(token0, str_enemyfov, token1)
|| set_members(token0, token1, &object_flags, &action_flags,
&map_flags, (struct MapObjDef *)mod,
(struct MapObjAct *) moa)))
@@ -255,6 +261,21 @@ static uint8_t set_map_members(char * token0, char * token1,uint8_t * map_flags)
+static uint8_t set_enemy_fov(char * token0, char * comparand, char * token1)
+{
+ if (strcmp(token0, comparand))
+ {
+ return 0;
+ }
+ parsetest_int(token1, '8');
+ int test = atoi(token1) > 1;
+ err_line(test, "Value must be 0 or 1.");
+ world.enemy_fov = atoi(token1);
+ return 1;
+}
+
+
+
static uint8_t set_player_type(char * token0, char * comparand, char * token1)
{
if (strcmp(token0, comparand))