commit 6165e34c44fb5dafab2bf7ff41e3a4321f18bfe6 Author: Richard C. Gobeille Date: Sat Jul 11 03:10:28 2020 -0700 engine: fixes for including compat.h in a C program built with MSVC I needed to change the weird VS workaround in order for the EDUKE32_STATIC_ASSERT on line 850 to succeed. Things seemed OK when I tested them, but I'd like more information on the suspected compiler bug in question and why this was necessary in the first place. commit 917da2e35ca43a569c4d1e10d609baf33468deaf Author: Richard C. Gobeille Date: Fri Jul 10 20:43:51 2020 -0700 engine and Duke3d: fix a bunch of direct calls to libc free() to call Bfree() instead commit 786869b14f1ed88b837204e1bfb6b1e340a151db Author: Richard C. Gobeille Date: Thu Jul 23 05:23:58 2020 -0700 engine: move osdstrings cleanup out of engineUnInit() and into OSD_Cleanup() commit bad080c04d76571f4db3322f22c116df7f20ea8b Author: Richard C. Gobeille Date: Fri Jul 10 14:08:24 2020 -0700 editor: artdump console command commit 2e77d96c630efe423df8000fb3f45d3cc86bcaf0 Author: Richard C. Gobeille Date: Fri Jul 10 13:02:01 2020 -0700 just a reference commit 0e3fb3d13886f370f1535f5fc904242ef7aeee7b Author: Richard C. Gobeille Date: Thu Jul 9 04:15:57 2020 -0700 Duke3d: reduce use of temporary variables in a few VM opcodes Also moves a bunch of VM_ASSERT statements up next to the variables they check. When this macro was first introduced, all of an instruction's operands needed to be read from the bytecode before aborting due to failure. Since this isn't the case anymore, all of the VM_ASSERTs can be moved up. commit d907aeeb7505402985768a2ddf122c8744fa4cf8 Author: Richard C. Gobeille Date: Thu Jul 9 03:12:25 2020 -0700 Duke3d: fix copy/paste error in CON_[GET/SET]PLAYER error message for a bad player index commit a7a71e30a897cbc78bc157317d2766e5928fdd47 Author: Richard C. Gobeille Date: Thu Jul 9 00:31:09 2020 -0700 Duke3d: split getactorvar/setactorvar instructions These are actually fairly commonly used, so I'm not sure why I bothered with having them the other way before. commit b63ad5319c8afb54afbd94ddb760b08cb118e078 Author: Richard C. Gobeille Date: Mon Jul 6 07:33:05 2020 -0700 Duke3d: remove INTERNAL ERROR messages from Gv_GetVarIndex() and Gv_GetArrayIndex() This is only ever used for refreshing pointers to certain special gamevars and for checking if variables in savegames exist in the currently running script--it doesn't need to print errors to the console. commit d7db07f35da2066813ef5337a7c3920bf77d8933 Author: Richard C. Gobeille Date: Mon Jul 6 07:25:17 2020 -0700 Duke3d: inline the array get/set functions commit 2a6a35bf467da51f304123a3053ae56367934552 Author: Richard C. Gobeille Date: Mon Jul 6 06:56:55 2020 -0700 Duke3d: get rid of separate check for common gamevar types before the switches in getvar__ and setvar__ It wasn't any faster. commit b3f7698565bbb1e9d46c8a98417d4be0048ed1c4 Author: Richard C. Gobeille Date: Mon Jul 6 05:04:47 2020 -0700 Duke3d: move bounds check out of SetArray() commit 45dbc0f2565b7ad876f9b23279da70297cc9cd20 Author: Richard C. Gobeille Date: Mon Jul 6 05:03:38 2020 -0700 Duke3d: #if 0 out weird runtime check for array writability in SetArray() commit 19e20197e5470416048ffc6264e8e67eb5605e1e Author: Richard C. Gobeille Date: Mon Jul 6 03:40:48 2020 -0700 Duke3d: optimize VM_GetStruct() I've heard several times that functions with a single exit point are faster, but profiling showed that removing the intermediate variable and returning directly from the switch wins here. commit d25fc0b53448cb1674fc1e201333fb7049e07063 Author: Richard C. Gobeille Date: Fri Jul 3 03:25:16 2020 -0700 Duke3d: rework PlayerLabels[] to use the LABEL_SETUP macro commit c398a6dd22975b8a24ce96de00b46d15172ea4e7 Author: Richard C. Gobeille Date: Tue Jun 30 23:47:50 2020 -0700 Duke3d: hook up MicroProfile counters to track the number of event executions Also lowers MICROPROFILE_MAX_COUNTERS to 256. commit de49453fd431a93daedf10eabc6f9c61121727e7 Author: Richard C. Gobeille Date: Tue Jun 30 17:33:25 2020 -0700 Duke3d: get rid of dynamic allocation for input_t inside playerdata_t At some point years ago I switched the input_t struct inside the player struct to use dynamic memory allocation for some reason. This changes that back--input_t is only 20 bytes and dynamically allocating it saves at most a couple hundred bytes of memory. Pointless. commit 7d38c5d65d8dbfcd776d5e6ce940647f67dedb5c Author: Richard C. Gobeille Date: Tue Jun 9 05:03:41 2020 -0700 Duke3d: more work on updated savegame format commit 15ef402cc6da027b375f9a51154123f0ab98d6be Author: Richard C. Gobeille Date: Mon Jun 8 16:18:59 2020 -0700 engine: update spriteext_t structure Like DukePlayer_t, I do not intend to modify this structure again in a way that breaks backwards compatibility, unless 100% absolutely necessary. commit 06d30fafbcac5fb3b3e9b0ea74bf2906cabc7567 Author: Richard C. Gobeille Date: Thu Jun 4 09:05:31 2020 -0700 Duke3d: optimize out millions of calls to getzrange commit 687000e2d9767b992dda76803737df1cd4dd4d55 Author: Richard C. Gobeille Date: Sun Apr 5 02:51:34 2020 -0700 Duke3d: savegame format update WIP See https://voidpoint.io/terminx/eduke32 for more details.