Skip to content

Commit 14c6d7f

Browse files
committed
Minor refactoring to C_BuildObituaryString
1 parent c035207 commit 14c6d7f

File tree

1 file changed

+44
-77
lines changed

1 file changed

+44
-77
lines changed

src/c_obituary.c

Lines changed: 44 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,11 @@ void C_BuildObituaryString(const int index)
105105
const mobjtype_t target = obituary->target;
106106
const mobjtype_t inflicter = obituary->inflicter;
107107
const mobjtype_t source = obituary->source;
108-
const weapontype_t weapon = obituary->weapon;
109-
const bool gibbed = obituary->gibbed;
110-
const bool telefragged = obituary->telefragged;
111108

112109
if (buffer[0])
113110
return;
114111

115-
if (telefragged)
112+
if (obituary->telefragged)
116113
{
117114
char sourcename[128] = "";
118115
char targetname[128] = "";
@@ -136,12 +133,8 @@ void C_BuildObituaryString(const int index)
136133
M_snprintf(buffer, buffersize, "%s telefragged %s.", C_GetPlayerName(), targetname);
137134
else
138135
M_snprintf(buffer, buffersize, "%s was telefragged by %s.", targetname, sourcename);
139-
140-
buffer[0] = (char)toupper((unsigned char)buffer[0]);
141-
return;
142136
}
143-
144-
if (source != MT_NULL)
137+
else if (source != MT_NULL)
145138
{
146139
char sourcename[128];
147140

@@ -156,13 +149,13 @@ void C_BuildObituaryString(const int index)
156149
{
157150
if (isdefaultplayername())
158151
M_snprintf(buffer, buffersize, "You were %s by %s %s that you exploded!",
159-
(gibbed ? s_GIBBED : s_KILLED),
152+
(obituary->gibbed ? s_GIBBED : s_KILLED),
160153
(inflictername && isvowel(inflictername[0]) ? "an" : "a"),
161154
(inflictername ? inflictername : "barrel"));
162155
else
163156
M_snprintf(buffer, buffersize, "%s was %s by %s %s that %s exploded!",
164157
playername,
165-
(gibbed ? s_GIBBED : s_KILLED),
158+
(obituary->gibbed ? s_GIBBED : s_KILLED),
166159
(inflictername && isvowel(inflictername[0]) ? "an" : "a"),
167160
(inflictername ? inflictername : "barrel"),
168161
pronoun(personal));
@@ -175,16 +168,13 @@ void C_BuildObituaryString(const int index)
175168

176169
M_snprintf(buffer, buffersize, "%s were %s by %s %s that %s %s exploded!",
177170
(isdefaultplayername() ? "You" : playername),
178-
(gibbed ? s_GIBBED : s_KILLED),
171+
(obituary->gibbed ? s_GIBBED : s_KILLED),
179172
(inflictername && isvowel(inflictername[0]) ? "an" : "a"),
180173
(inflictername ? inflictername : "barrel"),
181174
(inflicter == killer || M_StringCompare(inflictername, killername) ? "another" :
182175
(*killername && isvowel(killername[0]) ? "an" : "a")),
183176
(*killername && !M_StringStartsWith(killername, "Deh_Actor_") ? killername : "monster"));
184177
}
185-
186-
buffer[0] = (char)toupper(buffer[0]);
187-
return;
188178
}
189179
else
190180
{
@@ -193,25 +183,23 @@ void C_BuildObituaryString(const int index)
193183
C_BuildThingName(targetname, sizeof(targetname), target, obituary->targetfriendly,
194184
(obituary->targetcorpse && source != target), obituary->targetname, "");
195185

196-
targetname[0] = (char)toupper(targetname[0]);
197-
198186
if (byplayer)
199187
{
200188
if (isdefaultplayername())
201189
M_snprintf(buffer, buffersize, "%s was %s by %s %s that you exploded.",
202-
targetname, (gibbed ? s_GIBBED : s_KILLED),
190+
targetname, (obituary->gibbed ? s_GIBBED : s_KILLED),
203191
(inflictername && isvowel(inflictername[0]) ? "an" : "a"),
204192
(inflictername ? inflictername : "barrel"));
205193
else
206194
M_snprintf(buffer, buffersize, "%s was %s by %s %s that %s exploded.",
207-
targetname, (gibbed ? s_GIBBED : s_KILLED),
195+
targetname, (obituary->gibbed ? s_GIBBED : s_KILLED),
208196
(inflictername && isvowel(inflictername[0]) ? "an" : "a"),
209197
(inflictername ? inflictername : "barrel"),
210198
playername);
211199
}
212200
else if (source == target)
213201
M_snprintf(buffer, buffersize, "%s was %s by %s %s that they exploded.",
214-
targetname, (gibbed ? s_GIBBED : s_KILLED),
202+
targetname, (obituary->gibbed ? s_GIBBED : s_KILLED),
215203
(inflictername && isvowel(inflictername[0]) ? "an" : "a"),
216204
(inflictername ? inflictername : "barrel"));
217205
else
@@ -221,21 +209,19 @@ void C_BuildObituaryString(const int index)
221209
mobjinfo[killer].name1 : "");
222210

223211
M_snprintf(buffer, buffersize, "%s was %s by %s %s that %s %s exploded.",
224-
targetname, (gibbed ? s_GIBBED : s_KILLED),
212+
targetname, (obituary->gibbed ? s_GIBBED : s_KILLED),
225213
(inflictername && isvowel(inflictername[0]) ? "an" : "a"),
226214
(inflictername ? inflictername : "barrel"),
227215
(inflicter == killer || M_StringCompare(inflictername, killername) ? "another" :
228216
(*killername && isvowel(killername[0]) ? "an" : "a")),
229217
(*killername && !M_StringStartsWith(killername, "Deh_Actor_") ? killername : "monster"));
230218
}
231-
232-
buffer[0] = (char)toupper(buffer[0]);
233-
return;
234219
}
235220
}
236-
237-
if (obituary->sourceisplayer || source == MT_BFG)
221+
else if (obituary->sourceisplayer || source == MT_BFG)
238222
{
223+
const weapontype_t weapon = obituary->weapon;
224+
239225
if (isdefaultplayername())
240226
{
241227
if (obituary->targetisplayer)
@@ -244,7 +230,7 @@ void C_BuildObituaryString(const int index)
244230
M_snprintf(buffer, buffersize, "You %s yourself!", s_KILLED);
245231
else
246232
M_snprintf(buffer, buffersize, "You %s yourself with your own %s!",
247-
(gibbed ? s_GIBBED : s_KILLED), weaponinfo[weapon].name);
233+
(obituary->gibbed ? s_GIBBED : s_KILLED), weaponinfo[weapon].name);
248234
}
249235
else
250236
{
@@ -255,10 +241,10 @@ void C_BuildObituaryString(const int index)
255241

256242
if (weapon == wp_fist && viewplayer->powers[pw_strength])
257243
M_snprintf(buffer, buffersize, "You %s %s with your %s while %s.",
258-
C_KillVerb(target, gibbed), targetname, weaponinfo[weapon].name, berserk);
244+
C_KillVerb(target, obituary->gibbed), targetname, weaponinfo[weapon].name, berserk);
259245
else
260246
M_snprintf(buffer, buffersize, "You %s %s with your %s.",
261-
C_KillVerb(target, gibbed), targetname, weaponinfo[weapon].name);
247+
C_KillVerb(target, obituary->gibbed), targetname, weaponinfo[weapon].name);
262248
}
263249
}
264250
else
@@ -269,7 +255,7 @@ void C_BuildObituaryString(const int index)
269255
M_snprintf(buffer, buffersize, "%s %s %s!", playername, s_KILLED, pronoun(reflexive));
270256
else
271257
M_snprintf(buffer, buffersize, "%s %s %s with %s own %s!",
272-
playername, (gibbed ? s_GIBBED : s_KILLED), pronoun(reflexive),
258+
playername, (obituary->gibbed ? s_GIBBED : s_KILLED), pronoun(reflexive),
273259
pronoun(possessive), weaponinfo[weapon].name);
274260
}
275261
else
@@ -281,80 +267,62 @@ void C_BuildObituaryString(const int index)
281267

282268
if (weapon == wp_fist && viewplayer->powers[pw_strength])
283269
M_snprintf(buffer, buffersize, "%s %s %s with %s %s while %s.",
284-
playername, C_KillVerb(target, gibbed), targetname, pronoun(possessive),
270+
playername, C_KillVerb(target, obituary->gibbed), targetname, pronoun(possessive),
285271
weaponinfo[weapon].name, berserk);
286272
else
287273
M_snprintf(buffer, buffersize, "%s %s %s with %s %s.",
288-
playername, C_KillVerb(target, gibbed), targetname, pronoun(possessive),
274+
playername, C_KillVerb(target, obituary->gibbed), targetname, pronoun(possessive),
289275
weaponinfo[weapon].name);
290276
}
291277
}
292-
293-
buffer[0] = (char)toupper(buffer[0]);
294-
return;
295-
}
296-
297-
C_BuildThingName(sourcename, sizeof(sourcename), source,
298-
obituary->sourcefriendly, false, obituary->sourcename, "");
299-
300-
if (obituary->targetisplayer)
301-
{
302-
if (isdefaultplayername())
303-
M_snprintf(buffer, buffersize, "You were %s by %s!",
304-
(gibbed ? s_GIBBED : s_KILLED), sourcename);
305-
else
306-
M_snprintf(buffer, buffersize, "%s was %s by %s!",
307-
playername, (gibbed ? s_GIBBED : s_KILLED), sourcename);
308278
}
309279
else
310280
{
311-
char targetname[128];
281+
C_BuildThingName(sourcename, sizeof(sourcename), source,
282+
obituary->sourcefriendly, false, obituary->sourcename, "");
312283

313-
sourcename[0] = (char)toupper(sourcename[0]);
284+
if (obituary->targetisplayer)
285+
{
286+
if (isdefaultplayername())
287+
M_snprintf(buffer, buffersize, "You were %s by %s!",
288+
(obituary->gibbed ? s_GIBBED : s_KILLED), sourcename);
289+
else
290+
M_snprintf(buffer, buffersize, "%s was %s by %s!",
291+
playername, (obituary->gibbed ? s_GIBBED : s_KILLED), sourcename);
292+
}
293+
else
294+
{
295+
char targetname[128];
314296

315-
C_BuildThingName(targetname, sizeof(targetname), target,
316-
obituary->targetfriendly, false, obituary->targetname,
317-
(source > MT_NULL && source < NUMMOBJTYPES ? mobjinfo[source].name1 : ""));
297+
C_BuildThingName(targetname, sizeof(targetname), target,
298+
obituary->targetfriendly, false, obituary->targetname,
299+
(source > MT_NULL && source < NUMMOBJTYPES ? mobjinfo[source].name1 : ""));
318300

319-
M_snprintf(buffer, buffersize, "%s %s %s.",
320-
sourcename, C_KillVerb(target, gibbed), targetname);
301+
M_snprintf(buffer, buffersize, "%s %s %s.",
302+
sourcename, C_KillVerb(target, obituary->gibbed), targetname);
303+
}
321304
}
322-
323-
buffer[0] = (char)toupper(buffer[0]);
324-
return;
325305
}
326-
327-
if (obituary->targetisplayer)
306+
else if (obituary->targetisplayer)
328307
{
329308
if (obituary->crushed)
330309
{
331310
if (isdefaultplayername())
332311
M_snprintf(buffer, buffersize, "You were crushed to death!");
333312
else
334313
M_snprintf(buffer, buffersize, "%s was crushed to death!", playername);
335-
336-
buffer[0] = (char)toupper(buffer[0]);
337-
return;
338314
}
339-
340-
if (obituary->terraintype >= LIQUID && obituary->terraintype < NUMTERRAINTYPES)
341-
{
315+
else if (obituary->terraintype >= LIQUID && obituary->terraintype < NUMTERRAINTYPES)
342316
M_snprintf(buffer, buffersize, "%s died in %s.",
343317
C_GetPlayerName(), liquids[obituary->terraintype - LIQUID][english]);
344-
buffer[0] = (char)toupper(buffer[0]);
345-
return;
346-
}
347318
else
348319
{
349-
const short floorpic = (short)obituary->floorpic;
320+
const short floorpic = obituary->floorpic;
350321

351322
if ((floorpic >= RROCK05 && floorpic <= RROCK08) || (floorpic >= SLIME09 && floorpic <= SLIME12))
352323
M_snprintf(buffer, buffersize, "%s died on molten rock.", C_GetPlayerName());
353324
else
354325
M_snprintf(buffer, buffersize, "%s died.", C_GetPlayerName());
355-
356-
buffer[0] = (char)toupper(buffer[0]);
357-
return;
358326
}
359327
}
360328
else if (obituary->crushed)
@@ -364,12 +332,11 @@ void C_BuildObituaryString(const int index)
364332
C_BuildThingName(targetname, sizeof(targetname), target,
365333
obituary->targetfriendly, obituary->targetcorpse, obituary->targetname, "");
366334

367-
targetname[0] = (char)toupper(targetname[0]);
368-
369335
M_snprintf(buffer, buffersize, "%s was crushed to death.", targetname);
370-
buffer[0] = (char)toupper(buffer[0]);
371-
return;
372336
}
337+
338+
if (buffer[0])
339+
buffer[0] = (char)toupper(buffer[0]);
373340
}
374341

375342
static bool C_SameObituary(const obituaryinfo_t *a, const obituaryinfo_t *b)

0 commit comments

Comments
 (0)