Build 5595
SVN-
Generale
Cheap hack to let Mapster32 read the visibility parameter from gamestartup when parsing the CONs for sound definitions.
-
Generale
Fix switch/case regressions introduced in r5577.
Nickname SVN e nomi Git sono unificati per persona.
Cheap hack to let Mapster32 read the visibility parameter from gamestartup when parsing the CONs for sound definitions.
Fix switch/case regressions introduced in r5577.
Fix potential build failure when static inline G_CheckForSpace{Ceiling,Floor} are declared without namesdyn.h first being included.
Exposed by lunatic_game.c when LUNATIC=1.
Fix unused-parameter warnings.
Fix discarded-qualifiers warnings.
Fix cast-qual warnings having to do with L_RunString.
Clean up some cvar definitions.
"4 spaces originally
2 spaces now 0 idea how that even happened"
Fix problem with C-CON sector and wall structure access. Oops.
Minor cleanup. DONT_BUILD.
Fix issue with the info message for toggling floor texture expansion bit in Mapster32 only reading the value from the sector's ceiling instead of what you were actually pointing at.
I still make off-by-one errors because I am a horrible programmer. :D
Update scripts that make 7-Zip packages to enable solid archives for better compression. DONT_BUILD.
I'm either clever, or an idiot. Or both.
Enable -Wwrite-strings and fix all instances where string constants were passed to functions accepting a char ptr.
Use XXH64 functions for editor undo/redo when building for 64-bit.
Fix some ENet const issues. DONT_BUILD.
Update ENet to v1.3.13. DONT_BUILD.
Add inthashtable_t, mapping intptr_t to intptr_t.
Add getpv and setpv as short forms for get/setplayervar, and #include as an alternate for include.
Add ifvarge, ifvarle, and ifvarboth in line with ifvarvarge, ifvarvarle, and ifvarvarboth.
Remove actors_inline, game_inline, and sector_inline objects, and move their code into other headers, set up to be compiled into well-fitting objects if inlining them is disabled.
Enable models by default under EDUKE32_GLES, because they now work!
Alter VM_ScriptInfo() to take a ptr to the script to disassemble, and dump disassembly to the log at startup when an internal compiler error occurs.
Minor change to some gamevar warnings. DONT_BUILD.
Fix CON compiler errors. Me no smart.
Remove unused and utterly useless GAMEVAR_SECRET flag.
Fix warnings. DONT_BUILD.
Get constified
Fix a major bug where "enda" could be used to terminate an event, resulting in all kinds of issues.
Get rid of a bunch of useless comments.
Misc cleanup, add shorthand versions of getplayer, getactor, etc.
Fix MSVC warning. DONT_BUILD.
No longer link to GOG.com when no game data is found. :(
Treat "[]" as "[THISACTOR]" when accessing structure members through CON.
Add "klabs" keyword to CON, to take a gamevar and set it to its absolute value. The internal "inv" function to invert a gamevar's value has also been exposed externally.
Add commands added in previous commit to g_keywdate[], clean up a few CON compilation warning messages
Adds the following keywords from M32script into CON: shiftvarvarl, shiftvarvarr, ifvarvarle, ifvarvarge, ifvarvarboth, whilevarl, and whilevarvarl.
This also adds the shorthand versions of some commands, like "set" for "setvarvar", "add" for "addvarvar", "ife" for "ifvarvare", etc. There are about 30 of these. Because some of these names may already be used in some projects as variable names, this revision also includes a somewhat large change in variable naming rules: gamevars may now have the same names as CON keywords, with the caveat that the masked keyword is no longer accessible. This results in a warning at compile time but should ensure nobody's project ever stops compiling due to the introduction of new keywords.
Projectile changes:
-palette is now set at spawn time, instead of during movement (oops!) -projectiles can no longer hit their owner during their first tic of movement
Fix hard coded white and red color indexes used in on-screen debug output, to better operate with a palette dissimilar to Duke3D.
Polymer lighting tweaks, mostly internal.
Don't restrict setgamepalette to the range [0, 3].
Make voxels take on the current basepalette, like they should.
Fix voxels so palette colors are treated as 8-bit, not 6-bit. Overlooked in r5349.
Fix CLANG warnings
Fix issue with sin/cos CON commands that prevented using the special builtin structure shortcut access vars for input.
Add vm_player, vm_sprite and vm_distance to get/setuserdef. This controls the sprite and player referenced by things like "THISACTOR", all of the "ifp" conditionals, per-actor gamevar access, etc. This is intended to be used to un-gimp things like EVENT_WORLD.
VS solution update. DONT_BUILD.
Draw frame at level start after EVENT_LOADPLAYER instead of before.
Prune the dynamic tile name system in the same manner as sounds were pruned in the previous commit and r4748.
Remove the __STATIC macros of dynamic sounds pruned in r4748.
Remove three unused-in-the-source dynamic sound variables partially forgotten in r4748.
When RETURN is set to INT32_MIN in EVENT_CHANGEMENU, cancel any animations in addition to not changing the current menu.
Name map best time entries in the cfg by MD4 checksum instead of filename.
Existing filename-demarcated personal bests are still read as a fallback if an MD4 is not found, but only MD4 entries are written. Fans of both Lunar Apocalypse and Nuclear Winter should sort out the MapTimes section of their cfg file manually.
Add test cases for previous commit: transhacktest.map and .m32
Add a new pthtyp flag to mark textures that should not be processed by the fixtransparency() hack (which avoids the transparent color blending into a sprite when texture filtering is enabled), such as non-(T)ROR-masking floors and ceilings, white- and mask-walls, paper-skies, and rotatesprite with orientation flag 64. This commit makes sure the flag's status always fits the situation.
This fixes the remaining issue with WWII GI's LOGO.ANM: Color index #255 is used as the dominant white color (not as a transparent index) and fixtransparency() was mangling the image as a result.
Enumify the lower bits of the method/dameth argument to various functions.
Factor out common handling of the end-of-level between sectors tagged 65535 and 65534, switches tagged 65535, and nukebuttons.
This fixes the bug with user maps ending in 65534-tagged sectors, reported by FistMarine: https://forums.duke4.net/topic/8367-end-of-level-bug/ It also eliminates dead code belonging to the nukebutton.
Fix unused global variables in menus.c with DROIDMENU defined.
Fix orientation bit 64 when applied to a tile with fullbrights in OpenGL with r_fullbrights enabled.
This fixes (the most glaringly wrong problem) with WWII GI's LOGO.ANM in OpenGL, exposed by r5437.
More NAM/WWII GI "bluefont" xbetween fixes missed in r5452.
Fix a compiler error on introduced in r5445.
Fix typo in r5448.
Fix compiler warnings when building for 32-bit.
Duke3D/Startup: Autodetect the installation path of the World War II GI release on Steam. Windows and Linux only for now, as there appears to be no OS X support.
Implement WWII GI weapon display code.
Remaining issues with the weapons (both functionality and display): - The "pistol", "shotgun", and "chaingun" fire too slowly. - The flamethrower fires too quickly. - The bazooka drop for reload is late. - Upon starting a level, the "pistol" should show a reload frame, but it does not.
Miscellaneous NAM and WWII GI tweaks/fixes.
Remaining issues: - Inventory item gamefuncs still use their Duke 3D names. The buggy way custom gamefunc binds are saved and loaded needs to be addressed first.
Implement NAM and WWII GI's replacement cheats.
Whereas Duke starts cheats with DN, NAM starts with NVA and WWII GI starts with WW2. (Hackily: CheatKeys[] is still size 2, and the third character is at the start of every CheatString.) The cheats hyper (NAM-only), coords, view, skill, weapons, and inventory were not originally present but since they work properly and this is EDuke32, I have re-added them. Non-working cheats are now disabled.
Don't implicitly define GAMEFLAG_NAM for WWII GI. Instead, implement a new macro NAM_WW2GI synonymous with (NAM || WW2GI).