Organize talking strings rather than stuffing them all in one big array

(Note: This seems to break recording talking/encounter strings.)
This commit is contained in:
2014-12-15 20:06:08 -05:00
parent c6d960d078
commit 65c6919b1d
12 changed files with 276 additions and 339 deletions

View File

@@ -3349,7 +3349,7 @@ void start_dialogue_editing(short restoring) {
}
for(i = 0; i < 10; i++) {
sprintf((char *) str,"Personality %d - %s",i + cur_town * 10,
(char *) town->talking.talk_strs[i]);
town->talking.people[i].title.c_str());
set_rb(i,13000 + i,(char *) str,0);
}
for(i = 0; i < 60; i++) {

View File

@@ -1105,15 +1105,18 @@ void scen_text_dump(){
fout << " Sign " << i << ": " << town->sign_strs[i] << endl;
fout << endl << " Town Dialogue:" << endl;
for(i = 0; i < 10; i++) {
fout << " Personality " << i << " (" << town->talking.talk_strs[i] << "): " << endl;
fout << " look: " << town->talking.talk_strs[i + 10] << endl;
fout << " name: " << town->talking.talk_strs[i + 20] << endl;
fout << " job: " << town->talking.talk_strs[i + 30] << endl;
fout << " confused: " << town->talking.talk_strs[i + 160] << endl;
fout << " Personality " << j + i << " (" << town->talking.people[i].title << "): " << endl;
fout << " look: " << town->talking.people[i].look << endl;
fout << " name: " << town->talking.people[i].name << endl;
fout << " job: " << town->talking.people[i].job << endl;
fout << " confused: " << town->talking.people[i].dunno << endl;
}
for(i = 0; i < 60; i++) {
if(town->talking.talk_nodes[i].str1.length() > 0)
fout << " Node " << i << "a: " << town->talking.talk_nodes[i].str1 << endl;
if(town->talking.talk_nodes[i].str2.length() > 0)
fout << " Node " << i << "b: " << town->talking.talk_nodes[i].str2 << endl;
}
for(i = 40; i < 160; i++)
if(strlen((char *) (town->talking.talk_strs[i])) > 0)
fout << " Node " << i << ": " << town->talking.talk_strs[i] << endl;
fout << endl;
}
fout.close();

View File

@@ -74,11 +74,13 @@ void init_town(short size) {
for(i = 0; i < 200; i++)
town->talking.strlens[i] = 0;
for(i = 0; i < 170; i++)
if(i < 10)
strcpy(town->talking.talk_strs[i],"Unused");
else strcpy(town->talking.talk_strs[i],"");
for(i = 0; i < 10; i++) {
town->talking.people[i].title = "Unused";
town->talking.people[i].look = "";
town->talking.people[i].name = "";
town->talking.people[i].job = "";
town->talking.people[i].dunno = "";
}
for(i = 0; i < 60; i++) {
town->talking.talk_nodes[i].personality = -1;
town->talking.talk_nodes[i].type = 0;
@@ -86,6 +88,8 @@ void init_town(short size) {
town->talking.talk_nodes[i].extras[1] = 0;
town->talking.talk_nodes[i].extras[2] = 0;
town->talking.talk_nodes[i].extras[3] = -1;
town->talking.talk_nodes[i].str1 = "";
town->talking.talk_nodes[i].str2 = "";
for(j = 0; j < 4; j++) {
town->talking.talk_nodes[i].link1[j] = 'x';
town->talking.talk_nodes[i].link2[j] = 'x';