summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2015-02-23 09:11:58 +0100
committerBardur Arantsson <bardur@scientician.net>2015-02-23 09:11:58 +0100
commit8e89f38f28fd5c7dff91732807a591eaefbc36c0 (patch)
tree7c6e22924f0d4d1643170c8cef476de89f8c4310 /src
parente6d0a04ee4231400fe9cd4037bf89e2985a18bf3 (diff)
Remove re_head, re_name
Diffstat (limited to 'src')
-rw-r--r--src/externs.h2
-rw-r--r--src/init1.cc25
-rw-r--r--src/init2.cc13
-rw-r--r--src/monster1.cc4
-rw-r--r--src/monster2.cc8
-rw-r--r--src/types.h4
-rw-r--r--src/util.cc3
-rw-r--r--src/variable.cc2
-rw-r--r--src/xtra2.cc4
9 files changed, 16 insertions, 49 deletions
diff --git a/src/externs.h b/src/externs.h
index 351ff6ea..60a7b650 100644
--- a/src/externs.h
+++ b/src/externs.h
@@ -333,9 +333,7 @@ extern header *ra_head;
extern randart_part_type *ra_info;
extern randart_gen_type ra_gen[30];
extern monster_race *r_info;
-extern header *re_head;
extern monster_ego *re_info;
-extern char *re_name;
extern header *d_head;
extern dungeon_info_type *d_info;
extern char *d_name;
diff --git a/src/init1.cc b/src/init1.cc
index 66ea59ab..ad1cda4c 100644
--- a/src/init1.cc
+++ b/src/init1.cc
@@ -8046,11 +8046,6 @@ errr init_re_info_txt(FILE *fp, char *buf)
/* Just before the first line */
error_line = -1;
-
- /* Start the "fake" stuff */
- re_head->name_size = 0;
- re_head->text_size = 0;
-
/* Parse */
fp_stack_init(fp);
while (0 == my_fgets_dostack(buf, 1024))
@@ -8112,7 +8107,7 @@ errr init_re_info_txt(FILE *fp, char *buf)
if (i < error_idx) return (4);
/* Verify information */
- if (i >= re_head->info_num) return (2);
+ if (i >= max_re_idx) return (2);
/* Save the index */
error_idx = i;
@@ -8120,17 +8115,9 @@ errr init_re_info_txt(FILE *fp, char *buf)
/* Point at the "info" */
re_ptr = &re_info[i];
- /* Hack -- Verify space */
- if (re_head->name_size + strlen(s) + 8 > FAKE_NAME_SIZE) return (7);
-
- /* Advance and Save the name index */
- if (!re_ptr->name) re_ptr->name = ++re_head->name_size;
-
- /* Append chars to the name */
- strcpy(re_name + re_head->name_size, s);
-
- /* Advance the index */
- re_head->name_size += strlen(s);
+ /* Copy name */
+ assert(!re_ptr->name);
+ re_ptr->name = my_strdup(s);
/* Some inits */
blow_num = 0;
@@ -8529,10 +8516,6 @@ errr init_re_info_txt(FILE *fp, char *buf)
return (6);
}
-
- /* Complete the "name" and "text" sizes */
- ++re_head->name_size;
-
/* No version yet */
if (!okay) return (2);
diff --git a/src/init2.cc b/src/init2.cc
index 6d3f28d8..88ef7822 100644
--- a/src/init2.cc
+++ b/src/init2.cc
@@ -865,19 +865,8 @@ static errr init_re_info(void)
/* General buffer */
char buf[1024];
-
- /*** Make the header ***/
- re_head = make_header(max_re_idx);
-
-
- /*** Make the fake arrays ***/
-
/* Allocate the "re_info" array */
- re_info = make_array<monster_ego>(re_head->info_num);
-
- /* Hack -- make "fake" arrays */
- re_name = make_array<char>(FAKE_NAME_SIZE);
-
+ re_info = make_array<monster_ego>(max_re_idx);
/*** Load the ascii template file ***/
diff --git a/src/monster1.cc b/src/monster1.cc
index f1968807..3f4a3adc 100644
--- a/src/monster1.cc
+++ b/src/monster1.cc
@@ -1536,11 +1536,11 @@ static void roff_name(int r_idx, int ego)
{
if (re_info[ego].before)
{
- Term_addstr( -1, TERM_WHITE, format("%s %s", re_name + re_info[ego].name, r_ptr->name));
+ Term_addstr( -1, TERM_WHITE, format("%s %s", re_info[ego].name, r_ptr->name));
}
else
{
- Term_addstr( -1, TERM_WHITE, format("%s %s", r_ptr->name, re_name + re_info[ego].name));
+ Term_addstr( -1, TERM_WHITE, format("%s %s", r_ptr->name, re_info[ego].name));
}
}
else
diff --git a/src/monster2.cc b/src/monster2.cc
index 7ba347af..0ea4b473 100644
--- a/src/monster2.cc
+++ b/src/monster2.cc
@@ -1224,11 +1224,11 @@ void monster_desc(char *desc, monster_type *m_ptr, int mode)
{
if (re_info[m_ptr->ego].before)
{
- sprintf(name, "%s %s", re_name + re_info[m_ptr->ego].name, r_ptr->name);
+ sprintf(name, "%s %s", re_info[m_ptr->ego].name, r_ptr->name);
}
else
{
- sprintf(name, "%s %s", r_ptr->name, re_name + re_info[m_ptr->ego].name);
+ sprintf(name, "%s %s", r_ptr->name, re_info[m_ptr->ego].name);
}
}
else
@@ -1435,11 +1435,11 @@ void monster_race_desc(char *desc, int r_idx, int ego)
{
if (re_info[ego].before)
{
- sprintf(name, "%s %s", re_name + re_info[ego].name, r_ptr->name);
+ sprintf(name, "%s %s", re_info[ego].name, r_ptr->name);
}
else
{
- sprintf(name, "%s %s", r_ptr->name, re_name + re_info[ego].name);
+ sprintf(name, "%s %s", r_ptr->name, re_info[ego].name);
}
}
else
diff --git a/src/types.h b/src/types.h
index f288214a..548aa6b8 100644
--- a/src/types.h
+++ b/src/types.h
@@ -515,8 +515,8 @@ typedef struct monster_ego monster_ego;
struct monster_ego
{
- u32b name; /* Name (offset) */
- bool_ before; /* Display ego before or after */
+ const char *name; /* Name */
+ bool_ before; /* Display ego before or after */
monster_blow blow[4]; /* Up to four blows per round */
byte blowm[4][2];
diff --git a/src/util.cc b/src/util.cc
index d8e5911d..b57a3a03 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -3382,8 +3382,7 @@ int test_mego_name(cptr name)
for (i = 1; i < max_re_idx; i++)
{
monster_ego *re_ptr = &re_info[i];
- cptr mon_name = re_name + re_ptr->name;
- if (iequals(name, mon_name)) return (i);
+ if (re_ptr->name && iequals(name, re_ptr->name)) return (i);
}
return (0);
}
diff --git a/src/variable.cc b/src/variable.cc
index 7909cc08..cbd160cb 100644
--- a/src/variable.cc
+++ b/src/variable.cc
@@ -652,9 +652,7 @@ monster_race *r_info;
/*
* The monster ego race arrays
*/
-header *re_head;
monster_ego *re_info;
-char *re_name;
/*
* The dungeon types arrays
diff --git a/src/xtra2.cc b/src/xtra2.cc
index 6fbd1d2c..7bd8c0bf 100644
--- a/src/xtra2.cc
+++ b/src/xtra2.cc
@@ -5591,11 +5591,11 @@ void make_wish(void)
{
if (re_ptr->before)
{
- sprintf(buf, "%s %s", re_name + re_ptr->name, r_ptr->name);
+ sprintf(buf, "%s %s", re_ptr->name, r_ptr->name);
}
else
{
- sprintf(buf, "%s %s", r_ptr->name, re_name + re_ptr->name);
+ sprintf(buf, "%s %s", r_ptr->name, re_ptr->name);
}
}
else