summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cmd7.cc14
-rw-r--r--src/externs.h3
-rw-r--r--src/init1.cc21
-rw-r--r--src/init2.cc14
-rw-r--r--src/object1.cc19
-rw-r--r--src/types.h3
-rw-r--r--src/variable.cc3
-rw-r--r--src/wizard1.cc2
8 files changed, 21 insertions, 58 deletions
diff --git a/src/cmd7.cc b/src/cmd7.cc
index da51bdb4..36d8e8f9 100644
--- a/src/cmd7.cc
+++ b/src/cmd7.cc
@@ -2759,7 +2759,7 @@ void alchemist_display_recipe(int tval, int sval, int ego)
else
{
/* Display the ego item name */
- strcpy(o_name, e_name + e_info[ego].name);
+ strcpy(o_name, e_info[ego].name);
}
/* Display a short message about it, and wait for a key. */
@@ -3025,7 +3025,7 @@ void alchemist_recipe_book(void)
break;
}
}
- strcat(names, e_name + e_ptr->name);
+ strcat(names, e_ptr->name);
}
else
{
@@ -3184,7 +3184,7 @@ int alchemist_recipe_select(int *tval, int sval, int ego, bool_ recipe)
color = TERM_RED;
/* add this ego to the list*/
- strip_and_print(e_name + e_info[i].name, color, num);
+ strip_and_print(e_info[i].name, color, num);
validc[num] = color;
choice[num++] = i;
break;
@@ -3355,7 +3355,6 @@ void alchemist_learn_all(int lev)
void alchemist_learn_ego(int ego)
{
- char *name;
int i;
/* some Paranoia*/
@@ -3363,7 +3362,7 @@ void alchemist_learn_ego(int ego)
return;
/* Get the ego items name */
- name = e_name + e_info[ego].name;
+ const char *name = e_info[ego].name;
while (strchr(name, ' '))
name = strchr(name, ' ') + 1;
@@ -3372,7 +3371,6 @@ void alchemist_learn_ego(int ego)
if (alchemist_exists(0, 0, ego, 0))
{
alchemist_known_egos[ego / 32] |= (1 << (ego % 32));
- /* msg_format("You learn about '%s' ego items.",e_name+e_info[ego].name); */
}
else
{
@@ -3388,13 +3386,11 @@ void alchemist_learn_ego(int ego)
/* Look through all ego's for matching name */
/* Note that the original ego is marked here too */
for ( i = 0 ; i < max_e_idx ; i++ )
- if ( strstr(e_name + e_info[i].name, name) != NULL /*Last word of name exists in this ego's name*/
+ if ( strstr(e_info[i].name, name) != NULL /*Last word of name exists in this ego's name*/
&& alchemist_exists(0, 0, i, 0) /*There exists a recipe for this*/
&& !(alchemist_known_egos[i / 32] & (1 << (i % 32)) ) ) /*Not already known*/
- /*&& (e_name+e_info[i].name)[0])non-blank name*/
{
alchemist_known_egos[i / 32] |= (1 << (i % 32));
- /* msg_format("You learn about '%s' ego items.",e_name+e_info[i].name); */
}
return;
diff --git a/src/externs.h b/src/externs.h
index 4c0c2154..351ff6ea 100644
--- a/src/externs.h
+++ b/src/externs.h
@@ -328,10 +328,7 @@ extern char *f_name;
extern char *f_text;
extern object_kind *k_info;
extern artifact_type *a_info;
-extern header *e_head;
extern ego_item_type *e_info;
-extern char *e_name;
-extern char *e_text;
extern header *ra_head;
extern randart_part_type *ra_info;
extern randart_gen_type ra_gen[30];
diff --git a/src/init1.cc b/src/init1.cc
index 2c89736b..66ea59ab 100644
--- a/src/init1.cc
+++ b/src/init1.cc
@@ -6569,7 +6569,7 @@ errr init_e_info_txt(FILE *fp, char *buf)
if (i < error_idx) return (4);
/* Verify information */
- if (i >= e_head->info_num) return (2);
+ if (i >= max_e_idx) return (2);
/* Save the index */
error_idx = i;
@@ -6577,17 +6577,9 @@ errr init_e_info_txt(FILE *fp, char *buf)
/* Point at the "info" */
e_ptr = &e_info[i];
- /* Hack -- Verify space */
- if (e_head->name_size + strlen(s) + 8 > FAKE_NAME_SIZE) return (7);
-
- /* Advance and Save the name index */
- if (!e_ptr->name) e_ptr->name = ++e_head->name_size;
-
- /* Append chars to the name */
- strcpy(e_name + e_head->name_size, s);
-
- /* Advance the index */
- e_head->name_size += strlen(s);
+ /* Copy name */
+ assert(!e_ptr->name);
+ e_ptr->name = my_strdup(s);
/* Needed hack */
e_ptr->power = -1;
@@ -6876,11 +6868,6 @@ errr init_e_info_txt(FILE *fp, char *buf)
}
- /* Complete the "name" and "text" sizes */
- ++e_head->name_size;
- ++e_head->text_size;
-
-
/* No version yet */
if (!okay) return (2);
diff --git a/src/init2.cc b/src/init2.cc
index aff86014..6d3f28d8 100644
--- a/src/init2.cc
+++ b/src/init2.cc
@@ -680,20 +680,8 @@ static errr init_e_info(void)
/* General buffer */
char buf[1024];
-
- /*** Make the "header" ***/
- e_head = make_header(max_e_idx);
-
-
- /*** Make the fake arrays ***/
-
/* Allocate the "e_info" array */
- e_info = make_array<ego_item_type>(e_head->info_num);
-
- /* Hack -- make "fake" arrays */
- e_name = make_array<char>(FAKE_NAME_SIZE);
- e_text = make_array<char>(FAKE_TEXT_SIZE);
-
+ e_info = make_array<ego_item_type>(max_e_idx);
/*** Load the ascii template file ***/
diff --git a/src/object1.cc b/src/object1.cc
index 1abdf36b..6346a492 100644
--- a/src/object1.cc
+++ b/src/object1.cc
@@ -1620,11 +1620,11 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode)
if (e_ptr->before)
{
- ego = e_ptr->name + e_name;
+ ego = e_ptr->name;
}
else if (e2_ptr->before)
{
- ego = e2_ptr->name + e_name;
+ ego = e2_ptr->name;
}
}
@@ -1701,12 +1701,12 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode)
if (e_ptr->before)
{
- t = object_desc_str(t, (e_name + e_ptr->name));
+ t = object_desc_str(t, e_ptr->name);
t = object_desc_chr(t, ' ');
}
if (e2_ptr->before)
{
- t = object_desc_str(t, (e_name + e2_ptr->name));
+ t = object_desc_str(t, e2_ptr->name);
t = object_desc_chr(t, ' ');
}
}
@@ -1779,12 +1779,12 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode)
if (e_ptr->before)
{
- t = object_desc_str(t, (e_name + e_ptr->name));
+ t = object_desc_str(t, e_ptr->name);
t = object_desc_chr(t, ' ');
}
if (e2_ptr->before)
{
- t = object_desc_str(t, (e_name + e2_ptr->name));
+ t = object_desc_str(t, e2_ptr->name);
t = object_desc_chr(t, ' ');
}
}
@@ -1825,8 +1825,7 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode)
if (known && o_ptr->name2)
{
ego_item_type *e_ptr = &e_info[o_ptr->name2];
-
- t = object_desc_str(t, (e_name + e_ptr->name));
+ t = object_desc_str(t, e_ptr->name);
}
}
@@ -1922,12 +1921,12 @@ void object_desc(char *buf, object_type *o_ptr, int pref, int mode)
if (o_ptr->name2 && !e_ptr->before)
{
t = object_desc_chr(t, ' ');
- t = object_desc_str(t, (e_name + e_ptr->name));
+ t = object_desc_str(t, e_ptr->name);
}
if (o_ptr->name2b && !e2_ptr->before)
{
t = object_desc_chr(t, ' ');
- t = object_desc_str(t, (e_name + e2_ptr->name));
+ t = object_desc_str(t, e2_ptr->name);
}
}
}
diff --git a/src/types.h b/src/types.h
index 08d5c318..f288214a 100644
--- a/src/types.h
+++ b/src/types.h
@@ -270,8 +270,7 @@ typedef struct ego_item_type ego_item_type;
struct ego_item_type
{
- u32b name; /* Name (offset) */
- u32b text; /* Text (offset) */
+ const char *name; /* Name (offset) */
bool_ before; /* Before or after the object name ? */
diff --git a/src/variable.cc b/src/variable.cc
index 27ebb364..7909cc08 100644
--- a/src/variable.cc
+++ b/src/variable.cc
@@ -628,10 +628,7 @@ char *set_text;
/*
* The ego-item arrays
*/
-header *e_head;
ego_item_type *e_info;
-char *e_name;
-char *e_text;
/*
* The randart arrays
diff --git a/src/wizard1.cc b/src/wizard1.cc
index a21b4d5b..f6790ce4 100644
--- a/src/wizard1.cc
+++ b/src/wizard1.cc
@@ -2511,7 +2511,7 @@ static void spoil_bateries(cptr fname)
/* print item desc (ego (tval=1)or item)*/
if (ar_ptr->tval == 1)
{
- strcpy(o_name, e_name + e_info[ar_ptr->sval].name);
+ strcpy(o_name, e_info[ar_ptr->sval].name);
}
else
{