Differences From Artifact [f38617a638]:
- File src/world.mm — part of check-in [5659be76db] at 2025-03-15 00:24:34 on branch trunk — More string migrations (user: js, size: 10936) [annotate] [blame] [check-ins using]
To Artifact [2ac8b85a8f]:
- File
src/world.mm
— part of check-in
[489124a92f]
at
2025-03-16 10:11:39
on branch trunk
— Use one autorelease pool per frame
This way, nowhere else autorelease pools need to be managed. (user: js, size: 10859) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
63 64 65 66 67 68 69 | return; settag(tag, type); if (!savegame && type != 3) playsound(S_RUMBLE); | < | | | | < | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | return; settag(tag, type); if (!savegame && type != 3) playsound(S_RUMBLE); OFString *aliasname = [OFString stringWithFormat:@"level_trigger_%d", tag]; if (identexists(aliasname)) execute(aliasname); if (type == 2) endsp(false); } COMMAND(trigger, ARG_2INT) // main geometric mipmapping routine, recursively rebuild mipmaps within block |
︙ | ︙ | |||
302 303 304 305 306 307 308 | { int e = closestent(); if (e < 0) { conoutf(@"no more entities"); return; } int t = ents[e].type; | < | < < | | | < | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | { int e = closestent(); if (e < 0) { conoutf(@"no more entities"); return; } int t = ents[e].type; conoutf(@"%@ entity deleted", entnames[t]); ents[e].type = NOTUSED; addmsg(1, 10, SV_EDITENT, e, NOTUSED, 0, 0, 0, 0, 0, 0, 0); if (t == LIGHT) calclight(); } int findtype(OFString *what) { loopi(MAXENTTYPES) if ([what isEqual:entnames[i]]) return i; conoutf(@"unknown entity type \"%@\"", what); return NOTUSED; } entity * newentity(int x, int y, int z, OFString *what, int v1, int v2, int v3, int v4) { int type = findtype(what); persistent_entity e = { (short)x, (short)y, (short)z, (short)v1, |
︙ | ︙ |