From: Jason S. Ninneman Date: Mon, 12 Jun 2017 18:02:16 +0000 (-0700) Subject: Remove some hard-coded array dimensions. Generate CLSSES at compile time. X-Git-Tag: 1.1~375 X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=commitdiff_plain;h=6b75d8779757beb17d8df5ba22fbfaa56b48741c Remove some hard-coded array dimensions. Generate CLSSES at compile time. (How did this ever even work without 'extern'?) --- diff --git a/dungeon.c b/dungeon.c index 19b55c1..5d1a88d 100644 --- a/dungeon.c +++ b/dungeon.c @@ -582,7 +582,6 @@ void write_files(FILE* c_file, FILE* header_file) // content variables write_0d(c_file, header_file, LINUSE, "LINUSE"); write_0d(c_file, header_file, TRVS, "TRVS"); - write_0d(c_file, header_file, CLSSES, "CLSSES"); write_0d(c_file, header_file, TRNVLS, "TRNVLS"); write_0d(c_file, header_file, TABNDX, "TABNDX"); write_0d(c_file, header_file, HNTMAX, "HNTMAX"); diff --git a/newdb.c b/newdb.c index 05b0eeb..4276618 100644 --- a/newdb.c +++ b/newdb.c @@ -1298,3 +1298,5 @@ char* turn_threshold_messages[] = { "Are you still at it? Five points off for exceeding 1000 turns!", "Good grief, don\'t you *EVER* give up? Do you realize you\'ve spent\nover 2500 turns at this? That\'s another ten points off, a total of\ntwenty points lost for taking so long.", }; + +size_t CLSSES = sizeof(class_messages) / sizeof(class_messages[0]); diff --git a/newdb.h b/newdb.h index e746147..cf1ec9c 100644 --- a/newdb.h +++ b/newdb.h @@ -3,9 +3,11 @@ typedef struct { char** longs; } object_description_s; -char* long_location_descriptions[186]; -char* short_location_descriptions[186]; -object_description_s object_descriptions[101]; -char* arbitrary_messages[278]; -char* class_messages[13]; -char* turn_threshold_messages[6]; +extern char* long_location_descriptions[]; +extern char* short_location_descriptions[]; +extern object_description_s object_descriptions[]; +extern char* arbitrary_messages[]; +extern char* class_messages[]; +extern char* turn_threshold_messages[]; + +extern size_t CLSSES;