EDuke32 Changelog Archivio non ufficiale

Build 7284

14 dicembre 2018 · 42 commit di 1 autore · SVN

Build per mese 15 build

File di log originale · 20181214-7284.txt
------------------------------------------------------------------------
r7284 | terminx | 2018-12-14 17:39:57 -0800 (Fri, 14 Dec 2018) | 1 line

Slight cleanup to MV_GetVorbisCommentLoops(). The biggest change here is swapping calls to atol to our Batol macro, which is actually backed by strtol instead of atol.
------------------------------------------------------------------------
r7283 | terminx | 2018-12-14 17:39:51 -0800 (Fri, 14 Dec 2018) | 1 line

Hendricks and I discussed "auto *" and we've come to the conclusion that it's bad form, so this corrects that.
------------------------------------------------------------------------
r7282 | terminx | 2018-12-14 17:39:41 -0800 (Fri, 14 Dec 2018) | 1 line

Reduce vorbis read block size from 32k to MV_MIXBUFFERSIZE. Despite requiring more calls into libvorbis, this should be faster on slower CPUs in cases where more copies of the same .ogg sound are attempting to be played at once than are allowed, e.g large explosion scenes in Ion Maiden.
------------------------------------------------------------------------
r7281 | terminx | 2018-12-14 17:39:36 -0800 (Fri, 14 Dec 2018) | 1 line

I don't see a reason for these operations to be separated
------------------------------------------------------------------------
r7280 | terminx | 2018-12-14 17:39:31 -0800 (Fri, 14 Dec 2018) | 1 line

Fix function that some sadist formatted with 3 spaces
------------------------------------------------------------------------
r7279 | terminx | 2018-12-14 17:39:25 -0800 (Fri, 14 Dec 2018) | 1 line

This fixes S_CheckSoundPlaying() and makes CON_IFSOUND work correctly in scripts that run during menus. These changes together fix the exchange between Duke and Lani at the end of episode 3 of Duke3D.
------------------------------------------------------------------------
r7278 | terminx | 2018-12-14 17:39:19 -0800 (Fri, 14 Dec 2018) | 1 line

This makes the output from r_showfps 3, cl_showcoords 1, and what is printed after DNDEBUG all happily coexist. The display of g_moveActorsTime and g_moveWorldTime has also been moved from cl_showcoords to r_showfps.
------------------------------------------------------------------------
r7277 | terminx | 2018-12-14 17:39:14 -0800 (Fri, 14 Dec 2018) | 1 line

Fix CON commands leaving useless extra values in the bytecode. They were only valid outside of executable blocks so it was never noticed.
------------------------------------------------------------------------
r7276 | terminx | 2018-12-14 17:39:08 -0800 (Fri, 14 Dec 2018) | 1 line

Fix CON compiler line number accounting problem introduced with the optimization that transforms CON_SETVARVAR -> CON_SETVAR if the second parameter is a constant
------------------------------------------------------------------------
r7275 | terminx | 2018-12-14 17:39:03 -0800 (Fri, 14 Dec 2018) | 1 line

Change A_AddToDeleteQueue() to call A_DeleteSprite() on sprites it removes from the queue directly, as sprites with statnums other than STAT_ACTOR and STAT_MISC are not deleted automatically when their xrepeat is 0. This fixes using CON_INSERTSPRITEQ with sprites of statnums other than STAT_ACTOR and STAT_MISC.
------------------------------------------------------------------------
r7274 | terminx | 2018-12-14 17:38:58 -0800 (Fri, 14 Dec 2018) | 1 line

This is never going to work. When it was first programmed, it was done under the assumption that dividing an integer by a power of 2 was always the same as shifting it. It turns out that this isn't the case and I'm a dumbass. :D
------------------------------------------------------------------------
r7273 | terminx | 2018-12-14 17:38:53 -0800 (Fri, 14 Dec 2018) | 1 line

Move the debug_break() call in the default case of VM_Execute() to after the call to VM_ScriptInfo().
------------------------------------------------------------------------
r7272 | terminx | 2018-12-14 17:38:48 -0800 (Fri, 14 Dec 2018) | 1 line

Fix error building the transpal utility
------------------------------------------------------------------------
r7271 | terminx | 2018-12-14 17:38:43 -0800 (Fri, 14 Dec 2018) | 1 line

After some refactoring, several CON error checks done at runtime stood out as things that could be determined at script compile time. They have been moved.
------------------------------------------------------------------------
r7270 | terminx | 2018-12-14 17:38:38 -0800 (Fri, 14 Dec 2018) | 1 line

Attempting to compile a CON with something stupid like "mul var 0" or "div var 0" in it now throws an error
------------------------------------------------------------------------
r7269 | terminx | 2018-12-14 17:38:32 -0800 (Fri, 14 Dec 2018) | 1 line

cmenu console command now opens the menu if it isn't already open
------------------------------------------------------------------------
r7268 | terminx | 2018-12-14 17:38:27 -0800 (Fri, 14 Dec 2018) | 1 line

Comment out actor and player versions of gamevar manipulation opcodes as they aren't performant with our current switch-based method of processing instructions. This also tweaks the beginning of VM_Execute() to gain a little more performance.
------------------------------------------------------------------------
r7267 | terminx | 2018-12-14 17:38:22 -0800 (Fri, 14 Dec 2018) | 1 line

WIP work on fixing CON_DIVVAR/CON_MULVAR optimization
------------------------------------------------------------------------
r7266 | terminx | 2018-12-14 17:38:16 -0800 (Fri, 14 Dec 2018) | 1 line

Implement individual opcodes for all the gamevar if checks and the functions that do math on vars
------------------------------------------------------------------------
r7265 | terminx | 2018-12-14 17:38:10 -0800 (Fri, 14 Dec 2018) | 1 line

Global var opcodes for common conditional statements. Decent performance gain!
------------------------------------------------------------------------
r7264 | terminx | 2018-12-14 17:38:05 -0800 (Fri, 14 Dec 2018) | 1 line

Change goofy check for g_errorCnt and g_warningCnt in gamedef
------------------------------------------------------------------------
r7263 | terminx | 2018-12-14 17:38:00 -0800 (Fri, 14 Dec 2018) | 1 line

Use separate instructions in the bytecode for manipulating global variables versus more complex variable types. The optimization that transforms CON_DIVVAR and CON_MULVAR into CON_SHIFTVARR and CON_SHIFTVARL plus CON_INV has been disabled for now until I can debug a problem with it.
------------------------------------------------------------------------
r7262 | terminx | 2018-12-14 17:37:54 -0800 (Fri, 14 Dec 2018) | 1 line

Replace pointer with reference in VM_Execute()
------------------------------------------------------------------------
r7261 | terminx | 2018-12-14 17:37:49 -0800 (Fri, 14 Dec 2018) | 1 line

CON cleanup/tweaks. This improves the game update time by about 5% in some of my test scenarios.
------------------------------------------------------------------------
r7260 | terminx | 2018-12-14 17:37:44 -0800 (Fri, 14 Dec 2018) | 1 line

Use reference to clean up CON_QSPRINTF
------------------------------------------------------------------------
r7259 | terminx | 2018-12-14 17:37:39 -0800 (Fri, 14 Dec 2018) | 1 line

CON cleanups
------------------------------------------------------------------------
r7258 | terminx | 2018-12-14 17:37:34 -0800 (Fri, 14 Dec 2018) | 1 line

Fix setvar console command, and add a line of output so you know it did something
------------------------------------------------------------------------
r7257 | terminx | 2018-12-14 17:37:29 -0800 (Fri, 14 Dec 2018) | 1 line

This just shuffles some things around and these aren't (or shouldn't be) functional changes.
------------------------------------------------------------------------
r7256 | terminx | 2018-12-14 17:37:24 -0800 (Fri, 14 Dec 2018) | 1 line

Set AllowShortCaseLabelsOnASingleLine to false and AlignAfterOpenBracket to Align in _clang-format
------------------------------------------------------------------------
r7255 | terminx | 2018-12-14 17:37:19 -0800 (Fri, 14 Dec 2018) | 1 line

Initialize rottile values to -1 with a loop like this instead, because doing it the C++ way increases the binary size by like 120KB
------------------------------------------------------------------------
r7254 | terminx | 2018-12-14 17:37:13 -0800 (Fri, 14 Dec 2018) | 1 line

This is a cool CON compiler optimization that replaces all of the "varvar" commands and conditional checks in the compiled code with the "var" version if the value supplied to the function is a constant
------------------------------------------------------------------------
r7253 | terminx | 2018-12-14 17:37:08 -0800 (Fri, 14 Dec 2018) | 1 line

I'm pretty sure this is a bug
------------------------------------------------------------------------
r7252 | terminx | 2018-12-14 17:37:03 -0800 (Fri, 14 Dec 2018) | 1 line

Move CON_STARTTRACK in gamedef.cpp so it isn't in between the related CON_IFXXX stuff nearby
------------------------------------------------------------------------
r7251 | terminx | 2018-12-14 17:36:58 -0800 (Fri, 14 Dec 2018) | 1 line

Include build.h from player.h to satisfy the need for MAXPLAYERS and compat.h stuff that build.h pulls in
------------------------------------------------------------------------
r7250 | terminx | 2018-12-14 17:36:53 -0800 (Fri, 14 Dec 2018) | 1 line

Bump MAXANGVEL and MAXHORIZ
------------------------------------------------------------------------
r7249 | terminx | 2018-12-14 17:36:48 -0800 (Fri, 14 Dec 2018) | 1 line

Use LINE_NUMBER macro in gamedef.cpp
------------------------------------------------------------------------
r7248 | terminx | 2018-12-14 17:36:42 -0800 (Fri, 14 Dec 2018) | 1 line

More minor CON parser cleanup. This commit is not incredibly meaningful.
------------------------------------------------------------------------
r7247 | terminx | 2018-12-14 17:36:37 -0800 (Fri, 14 Dec 2018) | 1 line

This fixes a small oversight with r7238
------------------------------------------------------------------------
r7246 | terminx | 2018-12-14 17:36:32 -0800 (Fri, 14 Dec 2018) | 1 line

Add bounds check to C_GetNextLabelName(). This isn't really necessary because the extra writes to the label buffer are immediately overwritten by the next label found, but I could see it causing a crash in an edge case where somehow the maximum number of labels had been defined.
------------------------------------------------------------------------
r7245 | terminx | 2018-12-14 17:36:27 -0800 (Fri, 14 Dec 2018) | 1 line

Convert *(g_scriptPtr-x) syntax in gamedef.cpp to g_scriptPtr[-x], as it should ultimately be more readable and less prone to programming errors.
------------------------------------------------------------------------
r7244 | terminx | 2018-12-14 17:36:21 -0800 (Fri, 14 Dec 2018) | 1 line

This was worth a couple fps in classic mode for me with particularly heavy CON scripts
------------------------------------------------------------------------
r7243 | terminx | 2018-12-14 17:36:15 -0800 (Fri, 14 Dec 2018) | 1 line

Remove unnecessary spriteNum argument from P_Submerge() and P_Emerge()
------------------------------------------------------------------------
See http://svn.eduke32.com/listing.php?repname=eduke32 for more details.

Slight cleanup to MV_GetVorbisCommentLoops(). The biggest change here is swapping calls to atol to our Batol macro, which is actually backed by strtol instead of atol.

Richard Gobeille (TerminX) 14 dic 2018, 17:39 UTC−8 r7284

Hendricks and I discussed "auto *" and we've come to the conclusion that it's bad form, so this corrects that.

Richard Gobeille (TerminX) 14 dic 2018, 17:39 UTC−8 r7283

Reduce vorbis read block size from 32k to MV_MIXBUFFERSIZE. Despite requiring more calls into libvorbis, this should be faster on slower CPUs in cases where more copies of the same .ogg sound are attempting to be played at once than are allowed, e.g large explosion scenes in Ion Maiden.

Richard Gobeille (TerminX) 14 dic 2018, 17:39 UTC−8 r7282
Fix

This fixes S_CheckSoundPlaying() and makes CON_IFSOUND work correctly in scripts that run during menus. These changes together fix the exchange between Duke and Lani at the end of episode 3 of Duke3D.

Richard Gobeille (TerminX) 14 dic 2018, 17:39 UTC−8 r7279

This makes the output from r_showfps 3, cl_showcoords 1, and what is printed after DNDEBUG all happily coexist. The display of g_moveActorsTime and g_moveWorldTime has also been moved from cl_showcoords to r_showfps.

Richard Gobeille (TerminX) 14 dic 2018, 17:39 UTC−8 r7278
FixCON

Fix CON commands leaving useless extra values in the bytecode. They were only valid outside of executable blocks so it was never noticed.

Richard Gobeille (TerminX) 14 dic 2018, 17:39 UTC−8 r7277
FixCON

Fix CON compiler line number accounting problem introduced with the optimization that transforms CON_SETVARVAR -> CON_SETVAR if the second parameter is a constant

Richard Gobeille (TerminX) 14 dic 2018, 17:39 UTC−8 r7276
FixEngine

Change A_AddToDeleteQueue() to call A_DeleteSprite() on sprites it removes from the queue directly, as sprites with statnums other than STAT_ACTOR and STAT_MISC are not deleted automatically when their xrepeat is 0. This fixes using CON_INSERTSPRITEQ with sprites of statnums other than STAT_ACTOR and STAT_MISC.

Richard Gobeille (TerminX) 14 dic 2018, 17:39 UTC−8 r7275

This is never going to work. When it was first programmed, it was done under the assumption that dividing an integer by a power of 2 was always the same as shifting it. It turns out that this isn't the case and I'm a dumbass. :D

Richard Gobeille (TerminX) 14 dic 2018, 17:38 UTC−8 r7274

Move the debug_break() call in the default case of VM_Execute() to after the call to VM_ScriptInfo().

Richard Gobeille (TerminX) 14 dic 2018, 17:38 UTC−8 r7273
CON

After some refactoring, several CON error checks done at runtime stood out as things that could be determined at script compile time. They have been moved.

Richard Gobeille (TerminX) 14 dic 2018, 17:38 UTC−8 r7271
CON

Attempting to compile a CON with something stupid like "mul var 0" or "div var 0" in it now throws an error

Richard Gobeille (TerminX) 14 dic 2018, 17:38 UTC−8 r7270
CON

Comment out actor and player versions of gamevar manipulation opcodes as they aren't performant with our current switch-based method of processing instructions. This also tweaks the beginning of VM_Execute() to gain a little more performance.

Richard Gobeille (TerminX) 14 dic 2018, 17:38 UTC−8 r7268
CON

Implement individual opcodes for all the gamevar if checks and the functions that do math on vars

Richard Gobeille (TerminX) 14 dic 2018, 17:38 UTC−8 r7266

Use separate instructions in the bytecode for manipulating global variables versus more complex variable types. The optimization that transforms CON_DIVVAR and CON_MULVAR into CON_SHIFTVARR and CON_SHIFTVARL plus CON_INV has been disabled for now until I can debug a problem with it.

Richard Gobeille (TerminX) 14 dic 2018, 17:38 UTC−8 r7263

Initialize rottile values to -1 with a loop like this instead, because doing it the C++ way increases the binary size by like 120KB

Richard Gobeille (TerminX) 14 dic 2018, 17:37 UTC−8 r7255
CON

This is a cool CON compiler optimization that replaces all of the "varvar" commands and conditional checks in the compiled code with the "var" version if the value supplied to the function is a constant

Richard Gobeille (TerminX) 14 dic 2018, 17:37 UTC−8 r7254

Include build.h from player.h to satisfy the need for MAXPLAYERS and compat.h stuff that build.h pulls in

Richard Gobeille (TerminX) 14 dic 2018, 17:36 UTC−8 r7251
Fix

Add bounds check to C_GetNextLabelName(). This isn't really necessary because the extra writes to the label buffer are immediately overwritten by the next label found, but I could see it causing a crash in an edge case where somehow the maximum number of labels had been defined.

Richard Gobeille (TerminX) 14 dic 2018, 17:36 UTC−8 r7246

Convert *(g_scriptPtr-x) syntax in gamedef.cpp to g_scriptPtr[-x], as it should ultimately be more readable and less prone to programming errors.

Richard Gobeille (TerminX) 14 dic 2018, 17:36 UTC−8 r7245