From db3bb84a6aaf3914237b14db98bd93c40b8a1bd3 Mon Sep 17 00:00:00 2001 From: Jonathan Schleifer Date: Tue, 4 Mar 2025 01:13:36 +0000 Subject: [PATCH] More string cleanups FossilOrigin-Name: a401a49dd9b3759c48509aa50fa13dab309bf09462a137f4ecbf3c98dce9d9e4 --- src/Cube.mm | 22 ++++++++++++---------- src/client.mm | 10 +++++----- src/protos.h | 2 +- src/rendercubes.mm | 6 +++--- src/rendergl.mm | 6 +++--- src/rendermd2.mm | 2 +- src/savegamedemo.mm | 2 +- src/server.mm | 4 ++-- src/serverms.mm | 10 +++++----- src/serverutil.mm | 19 ++++++++++++------- src/sound.mm | 2 +- src/worldio.mm | 11 ++++++----- 12 files changed, 52 insertions(+), 44 deletions(-) diff --git a/src/Cube.mm b/src/Cube.mm index 9079c04..467ba5a 100644 --- a/src/Cube.mm +++ b/src/Cube.mm @@ -35,11 +35,13 @@ quit() // normal exit } void -fatal(char *s, char *o) // failure exit +fatal(OFString *s, OFString *o) // failure exit { - sprintf_sd(msg)("%s%s (%s)\n", s, o, SDL_GetError()); + OFString *msg = + [OFString stringWithFormat:@"%@%@ (%s)\n", s, o, SDL_GetError()]; + OFApplication *app = OFApplication.sharedApplication; - [(Cube *)app.delegate showMessage:@(msg)]; + [(Cube *)app.delegate showMessage:msg]; [app terminateWithStatus:1]; } @@ -48,7 +50,7 @@ alloc(int s) // for some big chunks... most other allocs use the memory pool { void *b = calloc(1, s); if (!b) - fatal("out of memory!"); + fatal(@"out of memory!"); return b; } @@ -151,11 +153,11 @@ int framesinmap = 0; passwd = @""; if (SDL_Init(SDL_INIT_TIMER | SDL_INIT_VIDEO | par) < 0) - fatal("Unable to initialize SDL"); + fatal(@"Unable to initialize SDL"); log("net"); if (enet_initialize() < 0) - fatal("Unable to initialise network module"); + fatal(@"Unable to initialise network module"); initclient(); // never returns if dedicated @@ -167,13 +169,13 @@ int framesinmap = 0; log("video: sdl"); if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0) - fatal("Unable to initialize SDL Video"); + fatal(@"Unable to initialize SDL Video"); log("video: mode"); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); if (SDL_SetVideoMode(scr_w, scr_h, 0, SDL_OPENGL | (!windowed ? SDL_FULLSCREEN : 0)) == NULL) - fatal("Unable to create OpenGL screen"); + fatal(@"Unable to create OpenGL screen"); log("video: misc"); SDL_WM_SetCaption("cube engine", NULL); @@ -195,8 +197,8 @@ int framesinmap = 0; !installtex(4, path(newstring("data/explosion.jpg")), xs, ys) || !installtex(5, path(newstring("data/items.png")), xs, ys) || !installtex(1, path(newstring("data/crosshair.png")), xs, ys)) - fatal("could not find core textures (hint: run cube from the " - "parent of the bin directory)"); + fatal(@"could not find core textures (hint: run cube from the " + @"parent of the bin directory)"); log("sound"); initsound(); diff --git a/src/client.mm b/src/client.mm index d8f15e0..da9060c 100644 --- a/src/client.mm +++ b/src/client.mm @@ -192,14 +192,14 @@ addmsg(int rel, int num, int type, ...) if (demoplayback) return; if (num != msgsizelookup(type)) { - sprintf_sd(s)("inconsistant msg size for %d (%d != %d)", type, - num, msgsizelookup(type)); - fatal(s); - }; + fatal([OFString + stringWithFormat:@"inconsistant msg size for %d (%d != %d)", + type, num, msgsizelookup(type)]); + } if (messages.length() == 100) { conoutf(@"command flood protection (type %d)", type); return; - }; + } ivector &msg = messages.add(); msg.add(num); msg.add(rel); diff --git a/src/protos.h b/src/protos.h index ddcb53f..91eaf80 100644 --- a/src/protos.h +++ b/src/protos.h @@ -140,7 +140,7 @@ extern void computeraytable(float vx, float vy); extern int isoccluded(float vx, float vy, float cx, float cy, float csize); // main -extern void fatal(char *s, char *o = ""); +extern void fatal(OFString *s, OFString *o = @""); extern void *alloc(int s); extern void keyrepeat(bool on); diff --git a/src/rendercubes.mm b/src/rendercubes.mm index d1bc857..0df44db 100644 --- a/src/rendercubes.mm +++ b/src/rendercubes.mm @@ -13,7 +13,7 @@ setarraypointers() glVertexPointer(3, GL_FLOAT, sizeof(vertex), &verts[0].x); glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(vertex), &verts[0].r); glTexCoordPointer(2, GL_FLOAT, sizeof(vertex), &verts[0].u); -}; +} void reallocv() @@ -21,9 +21,9 @@ reallocv() verts = (vertex *)realloc(verts, (curmaxverts *= 2) * sizeof(vertex)); curmaxverts -= 10; if (!verts) - fatal("no vertex memory!"); + fatal(@"no vertex memory!"); setarraypointers(); -}; +} // generating the actual vertices is done dynamically every frame and sits at // the leaves of all these functions, and are part of the cpu bottleneck on diff --git a/src/rendergl.mm b/src/rendergl.mm index da8fb79..186972e 100644 --- a/src/rendergl.mm +++ b/src/rendergl.mm @@ -56,7 +56,7 @@ gl_init(int w, int h) purgetextures(); if (!(qsphere = gluNewQuadric())) - fatal("glu sphere"); + fatal(@"glu sphere"); gluQuadricDrawStyle(qsphere, GLU_FILL); gluQuadricOrientation(qsphere, GLU_INSIDE); gluQuadricTexture(qsphere, GL_TRUE); @@ -111,7 +111,7 @@ installtex(int tnum, char *texname, int &xs, int &ys, bool clamp) }; if (gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGB, xs, ys, GL_RGB, GL_UNSIGNED_BYTE, scaledimg)) - fatal("could not build mipmaps"); + fatal(@"could not build mipmaps"); if (xs != s->w) free(scaledimg); SDL_FreeSurface(s); @@ -191,7 +191,7 @@ lookuptexture(int tex, int &xs, int &ys) }; if (curtex == MAXTEX) - fatal("loaded too many textures"); + fatal(@"loaded too many textures"); int tnum = curtex + FIRSTTEX; strcpy_s(texname[curtex], mapname[tex][frame]); diff --git a/src/rendermd2.mm b/src/rendermd2.mm index 5152cd6..dd725ee 100644 --- a/src/rendermd2.mm +++ b/src/rendermd2.mm @@ -238,7 +238,7 @@ delayedload(MD2 *m) sprintf_sd(name1)("packages/models/%s/tris.md2", m.loadname.UTF8String); if (![m loadWithPath:path(name1)]) - fatal("loadmodel: ", name1); + fatal(@"loadmodel: ", @(name1)); sprintf_sd(name2)("packages/models/%s/skin.jpg", m.loadname.UTF8String); int xs, ys; diff --git a/src/savegamedemo.mm b/src/savegamedemo.mm index a011d23..6fc28a9 100644 --- a/src/savegamedemo.mm +++ b/src/savegamedemo.mm @@ -40,7 +40,7 @@ void gzcheck(int a, int b) { if (a != b) - fatal("savegame file corrupt (short)"); + fatal(@"savegame file corrupt (short)"); } int diff --git a/src/server.mm b/src/server.mm index 1ae6b2f..2b33b84 100644 --- a/src/server.mm +++ b/src/server.mm @@ -523,9 +523,9 @@ initserver(bool dedicated, int uprate, const char *sdesc, const char *ip, printf("WARNING: server ip not resolved"); serverhost = enet_host_create(&address, MAXCLIENTS, 0, uprate); if (!serverhost) - fatal("could not create server host\n"); + fatal(@"could not create server host\n"); loopi(MAXCLIENTS) serverhost->peers[i].data = (void *)-1; - }; + } resetserverifempty(); diff --git a/src/serverms.mm b/src/serverms.mm index 188e11b..2270fbb 100644 --- a/src/serverms.mm +++ b/src/serverms.mm @@ -143,8 +143,8 @@ serverms(int mode, int numplayers, int minremain, char *smapname, int seconds, sendstring(serverdesc, p); buf.dataLength = p - pong; enet_socket_send(pongsock, &addr, &buf, 1); - }; -}; + } +} void servermsinit(const char *master, const char *sdesc, bool listen) @@ -161,6 +161,6 @@ servermsinit(const char *master, const char *sdesc, bool listen) pongsock = enet_socket_create(ENET_SOCKET_TYPE_DATAGRAM, &address); if (pongsock == ENET_SOCKET_NULL) - fatal("could not create server info socket\n"); - }; -}; + fatal(@"could not create server info socket\n"); + } +} diff --git a/src/serverutil.mm b/src/serverutil.mm index 0957a7f..246fd04 100644 --- a/src/serverutil.mm +++ b/src/serverutil.mm @@ -132,22 +132,27 @@ recvmap(int n) #ifdef STANDALONE -void localservertoclient(uchar *buf, int len) {}; void -fatal(char *s, char *o) +localservertoclient(uchar *buf, int len) +{ +} + +void +fatal(OFString *s, OFString *o) { cleanupserver(); - printf("servererror: %s\n", s); + [OFStdOut writeFormat:@"servererror: %@\n", s]; exit(1); -}; +} + void * alloc(int s) { void *b = calloc(1, s); if (!b) - fatal("no memory!"); + fatal(@"no memory!"); return b; -}; +} int main(int argc, char *argv[]) @@ -183,7 +188,7 @@ main(int argc, char *argv[]) }; if (enet_initialize() < 0) - fatal("Unable to initialise network module"); + fatal(@"Unable to initialise network module"); initserver(true, uprate, sdesc, ip, master, @(passwd), maxcl); return 0; } diff --git a/src/sound.mm b/src/sound.mm index 8ef7aa8..f1df459 100644 --- a/src/sound.mm +++ b/src/sound.mm @@ -70,7 +70,7 @@ initsound() Mix_AllocateChannels(MAXCHAN); #else if (FSOUND_GetVersion() < FMOD_VERSION) - fatal("old FMOD dll"); + fatal(@"old FMOD dll"); if (!FSOUND_Init(SOUNDFREQ, MAXCHAN, FSOUND_INIT_GLOBALFOCUS)) { conoutf(@"sound init failed (FMOD): %d", FSOUND_GetError()); nosound = true; diff --git a/src/worldio.mm b/src/worldio.mm index 0aa7d8c..baf3917 100644 --- a/src/worldio.mm +++ b/src/worldio.mm @@ -262,11 +262,11 @@ load_world(char *mname) // still supports all map formats that have existed gzread(f, &hdr, sizeof(header) - sizeof(int) * 16); endianswap(&hdr.version, sizeof(int), 4); if (strncmp(hdr.head, "CUBE", 4) != 0) - fatal("while reading map: header malformatted"); + fatal(@"while reading map: header malformatted"); if (hdr.version > MAPVERSION) - fatal("this map requires a newer version of cube"); + fatal(@"this map requires a newer version of cube"); if (sfactor < SMALLEST_FACTOR || sfactor > LARGEST_FACTOR) - fatal("illegal map size"); + fatal(@"illegal map size"); if (hdr.version >= 4) { gzread(f, &hdr.waterlevel, sizeof(int) * 16); endianswap(&hdr.waterlevel, sizeof(int), 16); @@ -329,8 +329,9 @@ load_world(char *mname) // still supports all map formats that have existed } default: { if (type < 0 || type >= MAXTYPE) { - sprintf_sd(t)("%d @ %d", type, k); - fatal("while reading map: type out of range: ", + OFString *t = [OFString + stringWithFormat:@"%d @ %d", type, k]; + fatal(@"while reading map: type out of range: ", t); } s->type = type;