Build 9253
GIT-
experimental TROR rendering fixes
SVN handles and Git names are merged into one person.
experimental TROR rendering fixes
fix TROR rendering glitch in polymost when camera Z is outside of sector boundaries
Check all TROR layers in collision code
fix editor sprite select in TROR sectors
fix CON_GETPLAYER/CON_SETPLAYER access to palette member and loogiex/loogiey arrays
only bypass SDL_SetWindowGrab() for SDL 2.0.12 and lower
rename "Widescreen" menu option to "Aspect ratio"
fix a couple bad comparisons of values against MAX_WEAPONS
The first is something that was missed when the hardcoded World Tour stuff was added, and the second looks like it was just a typo.
add SK_WEAPON_MASK macro, comprised of the four SK_WEAPON_BITS values
bare bones editor check for models
Fixes terminx/eduke32!40
add invalid polygon check in editor mode
mapster32/build: Make AlignWalls_ not a partially broken, cryptic mess. Correctly aligns textures of any size now.
Implement tileflags member of picanm, and added support for new flag: TILEFLAGS_TRUENPOT, that allows you to enable true non-power-of-two texture support per-tile.
(Fixes classic's buggy tiling and panning behaviour and bypasses the emulation of it in Polymost)
Enable non-power-of-two wall support in classic renderer. (Doesn't do anything yet without either a new map format, or upcoming TILEFLAGS_TRUENPOT).
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.
engine and Duke3d: fix a bunch of direct calls to libc free() to call Bfree() instead
move osdstrings cleanup out of engineUnInit() and into OSD_Cleanup()
artdump console command
just a reference
Make reading of picanm from ART files robust if picanm_t is extended
Backported from NBlood.
Fix applying sprite[].yoffset to models
Backported from NBlood.
Add FX_StartDemandFeedPlayback3D
Backported from Rednukem.
Fix regression causing the last heat seeker to be a normal missile
It was caused by the fix for crashing when firing outside the map. Also port said fix to the bunny rockets.
Don't try to open device if it isn't in
the list as returned by ALSADrv_MIDI_ListPorts. Opening a device with ALSA_PortID == 0 might technically be successful even if not present.
Audio / Duke3D: Modify alsa_mididevinfo_t to manage memory use of
the "name" field on its own. Also make sure that the for loop in Menu_RefreshSoundProperties isn't accessing copies of the objects, including temporary copies of the "name" strings. It could be managed in a better way, but this should be usable for now.
ALSA MIDI: Improve implementation as per discussions in terminx/eduke32!16.
* Don't call ALSADrv_MIDI_ListPorts() from driver_alsa.cpp. There is no need to do this as ALSADrv_MIDI_Init() just connects to the client and port specified and succeeds or fails accordingly. * Remove nullDevice vector from driver_alsa.cpp. Calculate whether returned vector from ALSADrv_MIDI_ListPorts() is null or not within game's menu and handle accordingly. * Remove static declaration of validDevices from driver_alsa.cpp. Vector is of no use inside of driver_alsa.cpp and is only required game-side. * Return declaration of devices found back to ALSADrv_MIDI_ListPorts() and return whether it's empty or not. * Declare alsadevices as an empty non-constant in menus.cpp, then populate from Menu_RefreshSoundProperties() in menus.cpp. This allows us to fill alsadevices with an empty vector if no devices found and allows a user to plug new MIDI devices in and have the game find them without restarting the game.
Do free driver name strings duplicated using Xstrdup
Refuse to initialize if Client:Port pair isn't in the list
add runtime check to 81c5c99ec517ad8422a5c4caa33c38639c3b9a56
Fix blocking OOZ and OOZ2 not transporting the player upwards
This fixes terminx/eduke32#105
Apply pogokeen's fix for hightile texture seams in polymost.
Fix tilescreen drawing for Polymer renderer.
According to pogo in a previous commit, GL_TEXTURE_2D is deprecated. However, polymer cannot draw the tiles in the tilescreen correctly without enabling it first, else it shows white boxes instead. This fixes terminx/eduke32#93
prevent hash lookup on empty keybinds
This fixes terminx/eduke32#98
Fix faulty call to getzrange() in player jump code
This fixes terminx/eduke32#45
FORCE_INLINE mutex_lock() and mutex_unlock(), make mutex_try() actually work
return length from printf-style functions
add an additional layer of camera vec3_t position smoothing across frames
This is intended to mask a slight jitter that occurs when strafing and turning at the same time as a result of turning being decoupled from movement.
testing an alternate version of calc_smoothratio_demo() that returns values based on fractional tics
only allow doubled up game updates if we're behind at least 2 tics
Revert "sw/src/game.cpp: Use initsingleplayers instead of initmultiplayers"
This reverts commit 4274a6160ce2f64676b79364cf83f185814811f6, i.e., SVN r8667.
Rename danetmode -> networkmode and make it use the same values
as in the previously used newer mmulti revision from JFBuild. Also use MMULTI_MODE_MS and MMULTI_MODE_P2P, now a part of an enum.
Constify the string params in a few functions
Switch to mmulti.cpp from EDuke32-OldMP repo. Loses IPv6 support, but gains stability and XP support.
Add wrapper defines to mmulti.h
Fix volume parameter of sounds defined through DEF
enable xoffset for face sprite voxel replacements