Rachael Alexanderson
6a17e3910b
- relicense my reused GZDoom code as BSD
2020-01-01 08:59:40 -05:00
Christoph Oelckers
dda45c6780
- all polymost2 code has long been nuked.
2020-01-01 13:46:46 +01:00
Christoph Oelckers
e01c161258
- removed some dead variables.
2020-01-01 13:11:44 +01:00
Christoph Oelckers
18099e9179
- removed the pure software render surface and deleted a few unused variables.
...
With all the 2D refactorings thhe softsurface won't work anymore.
This also revealed a bug with the fullscreen variable, a few places were still using the old one from the SDL backend.
2020-01-01 12:36:48 +01:00
Christoph Oelckers
d09b83d4a5
- moved the last remaining function out of baselayer.cpp and removed that file.
...
g_logFlushWindow was deleted entirely because with the current console this is not needed anymore.
2020-01-01 12:01:26 +01:00
Christoph Oelckers
7ec8368688
- used the wrong formula to calculate shadeDiv.
2020-01-01 11:49:32 +01:00
Christoph Oelckers
d464017363
- cleaned up the input code a bit.
2020-01-01 11:35:47 +01:00
Christoph Oelckers
bcb48d8441
- added handling for changing the screen size (dragging the window borders / change scale factor)
2020-01-01 09:49:06 +01:00
Christoph Oelckers
3d47652d08
- had a look at Exhumed's shade tables and implemented the necessary adjustments for the 3 with abnormal gradients.
2019-12-31 22:53:03 +01:00
Christoph Oelckers
f106505344
- fixed the broken alignment between lines and sectors on the Shadow Warrior automap.
2019-12-31 22:11:04 +01:00
Christoph Oelckers
9543c2cbb9
- fixed the broken automap defaults in Shadow Warrior.
...
Now it will properly reveal the map as the player progresses and not show everything from the start.
2019-12-31 22:05:23 +01:00
Christoph Oelckers
98604e513e
- set up the scene viewport for the postprocessor.
2019-12-31 20:11:31 +01:00
Christoph Oelckers
05e381ff6d
- fixed screen clearing for the automap.
...
This should only affect the active window, not the entire screen.
2019-12-31 19:50:27 +01:00
Christoph Oelckers
ef5292b4ae
- don't use Build's clipping code to clip automap parts to the screen.
...
Not really surprisingly this is not compatible with a real triangulator. Fortunately it's also not really needed.
2019-12-31 19:38:50 +01:00
Christoph Oelckers
d3a57e6e74
- route all clearscreen calls that happen after drawing the scene through the 2D drawer.
...
Otherwise they aren't synchronized with the remaining content.
2019-12-31 19:25:49 +01:00
Christoph Oelckers
1890df98f9
- process lines through the 2D drawer.
2019-12-31 19:02:55 +01:00
Christoph Oelckers
2f8d472d7d
- cleaned up the map drawer by using a real triangulator.
...
Immediate benefit: almost 200 lines of bona-fide Kencode go to the dumpster.
2019-12-31 17:23:29 +01:00
Christoph Oelckers
77cd7bffc5
- fixed alpha calculations for textured automap.
2019-12-31 15:50:08 +01:00
Christoph Oelckers
d825282726
- removed a few software rendering parts from the automap drawer.
...
These won't be needed anymore.
2019-12-31 15:41:12 +01:00
Christoph Oelckers
964e303dd7
- draw the textures on the automap with the 2D drawer.
2019-12-31 15:05:08 +01:00
Rachael Alexanderson
143c8be84d
- fixed: argument count passed to the OSD system was +1 than it expected
2019-12-31 08:07:22 -05:00
Jonathan Gray
5ea5d87664
PCExhumed: fix triddat.cpp build with libc++
...
Include cstdlib for abs() with an int argument. Fixes the following
compile error with libc++.
source/exhumed/src/trigdat.cpp:159:9: error: call to 'abs' is ambiguous
if (abs(diff) > c)
^~~
/usr/include/c++/v1/math.h:761:1: note: candidate function
abs(float __lcpp_x) _NOEXCEPT {return ::fabsf(__lcpp_x);}
^
/usr/include/c++/v1/math.h:765:1: note: candidate function
abs(double __lcpp_x) _NOEXCEPT {return ::fabs(__lcpp_x);}
^
/usr/include/c++/v1/math.h:769:1: note: candidate function
abs(long double __lcpp_x) _NOEXCEPT {return ::fabsl(__lcpp_x);}
^
1 error generated.
2019-12-31 09:19:58 +01:00
Jonathan Gray
64d3d38014
PCExhumed: remove uneeded malloc.h include
...
malloc.h is a non-standard header and isn't required here
fixes build on OpenBSD which has no malloc.h
# Conflicts:
# source/exhumed/src/enginesubs.cpp
2019-12-31 09:19:58 +01:00
Christoph Oelckers
51eaa5cd1f
- let mouse control in the menu default to Touchscreen-like, like it is in GZDoom.
2019-12-31 02:48:16 +01:00
Magnus Norddahl
8f1d1fa94b
Fix mouse move precision loss when only moving the mouse a pixel or two. Also make the baseline mouse scaling more reasonable.
2019-12-31 01:46:54 +01:00
Magnus Norddahl
0396f79c15
Fix in_mouse 0 and in_joystick 0 not working
2019-12-31 01:00:30 +01:00
Christoph Oelckers
e4caea2f95
- set default for mouse control to DirectInput.
...
This simply works a lot better than Raw Input and causes far less problems.
Ironic considering that it's the deprecated method...
2019-12-30 23:55:57 +01:00
Christoph Oelckers
91a4e0a005
- fixed Blood cutscene playback.
...
Some merge from upstream must have broken the file name correction.
2019-12-30 21:36:08 +01:00
Christoph Oelckers
2c35f87925
- fixed translucency determination.
2019-12-30 21:03:15 +01:00
Christoph Oelckers
6b431cec2c
- fixed: True color texture replacements were set up incorrectly.
...
They incorrectly set themselves up as their own glow and detail textures.
These layers also weren't disabled for the next texture.
2019-12-30 20:44:37 +01:00
Christoph Oelckers
ad24a1ce31
- place weapon sprites in a separate render list.
...
They need to be drawn in a different pass than the 2D overlay HUD so the backend must have them separately.
2019-12-30 20:16:51 +01:00
Christoph Oelckers
7ea053bd90
- reconnected the HUD model drawer.
...
This will have to be done differently later when the postprocessor is fully working, but for now it's sufficient to just render the model right away.
2019-12-30 20:16:51 +01:00
Christoph Oelckers
9ceb47fdb2
- cleaned up the rotatesprite code a bit.
2019-12-30 20:16:51 +01:00
Christoph Oelckers
596705a36e
- apply RS_YFLIP to 2D sprites.
2019-12-30 20:16:51 +01:00
Christoph Oelckers
5830e72ab0
- fixed some rotatesprite issues:
...
* scissor was not applied
* texture coordinates were fetched from the wrong texture, courtesy of using global variables.
2019-12-30 19:37:23 +01:00
Christoph Oelckers
6459f4e532
- refactored rotatesprite to really use the 2D drawer.
...
Mostly working, except clipping and weapon sprites.
2019-12-30 19:37:23 +01:00
Christoph Oelckers
b34f3637ab
- restored keybinds setup to the original procedure as defined by ZDoom.
...
Looks like some parts were missed when this was integrated piece by piece.
2019-12-30 12:43:21 +01:00
Magnus Norddahl
c3d48c9a82
Disable linux files as they are missing
2019-12-30 09:12:25 +01:00
Christoph Oelckers
f1891c7750
- fixed compilation.
2019-12-29 22:47:40 +01:00
nukeykt
cdb08f22dd
Fix redneck compiling
...
# Conflicts:
# platform/Windows/eduke32.sln
# platform/Windows/rednukem.vcxproj
# platform/Windows/rednukem.vcxproj.filters
# source/rr/src/config.cpp
# source/rr/src/game.cpp
# source/rr/src/game.h
# source/rr/src/osdcmds.cpp
# source/rr/src/sounds.cpp
2019-12-29 22:34:16 +01:00
nukeykt
62c37b64ae
Fix exhumed compiling
...
# Conflicts:
# source/exhumed/src/exhumed.cpp
# source/exhumed/src/menu.cpp
2019-12-29 22:30:13 +01:00
nukeykt
a5351620db
Fix blood compiling
...
# Conflicts:
# source/blood/src/config.cpp
# source/blood/src/osdcmd.cpp
# source/blood/src/screen.cpp
# source/blood/src/sound.cpp
# source/blood/src/sound.h
# source/blood/src/view.cpp
# source/blood/src/view.h
2019-12-29 22:29:50 +01:00
hendricks266
456d975392
Make the Polymode cstat bits Duke-only by translating them to tspr->clipdist
...
git-svn-id: https://svn.eduke32.com/eduke32@8523 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
# source/duke3d/src/astub.cpp
# source/duke3d/src/common_game.h
# Conflicts:
# source/duke3d/src/common_game.h
2019-12-29 22:23:18 +01:00
hendricks266
6a5906833b
Move TSPR_EXTRA_MDHACK from extra to clipdist
...
git-svn-id: https://svn.eduke32.com/eduke32@8522 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/mdsprite.cpp
# source/build/src/polymer.cpp
2019-12-29 22:22:20 +01:00
hendricks266
6465feb438
Refactor tsprite creation into renderAddTSpriteFromSprite
...
git-svn-id: https://svn.eduke32.com/eduke32@8521 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
# source/duke3d/src/m32exec.cpp
2019-12-29 22:22:19 +01:00
hendricks266
422601bc82
Make tspritetype its own distinct struct
...
git-svn-id: https://svn.eduke32.com/eduke32@8520 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-29 22:22:19 +01:00
Christoph Oelckers
5a41b545e5
- reactivated saving of console aliases.
2019-12-29 17:43:40 +01:00
Christoph Oelckers
6dc064a178
- another unused one.
2019-12-29 17:13:12 +01:00
Christoph Oelckers
3a6d0b8f84
- more cleanup.
2019-12-29 17:04:38 +01:00
Christoph Oelckers
2e261a7468
- cleanup and removal of unused code.
...
compat.h probably needs a bit more attention, it's a horrendous mess of the wrong type of "compatibility" concerns.
2019-12-29 16:35:51 +01:00
Christoph Oelckers
cc332486b4
- cleaned out the 2D drawing code.
...
With the new backend there will always be just one page, never more, so the RS_PERMS case will never be entered.
In addition, since the software renderer has already been nonfunctional due to lacking support from the 2D drawer, its 2D components have also been removed. Its main remaining purpose, drawing camera textures, remains unaffected by this.
2019-12-29 15:46:48 +01:00
Christoph Oelckers
d80159b76a
- use glVertexAttrib consistently for the presentation drawcall.
...
- fixed vid_saturation default and adjusted ranges for gamma correction CVARs.
2019-12-29 14:35:24 +01:00
Magnus Norddahl
26dbf5fe10
Fix black screen
2019-12-29 05:10:36 +01:00
Magnus Norddahl
7c6dc7a7db
Fix premature exit when only one .grp file is available
2019-12-29 04:49:28 +01:00
Christoph Oelckers
737bf15ad8
- added GZDoom's postprocessing/presentation code.
...
Compiles but only draws a black screen. Something must be missing but no idea yet what that might be.
2019-12-28 22:36:47 +01:00
Christoph Oelckers
f6dee38d28
- route all 2D drawing through the 2D drawer unconditionally.
...
This is needed so that the postprocessor receives a clean 3D view to process without messing up the 2D parts.
2019-12-28 19:10:23 +01:00
Christoph Oelckers
a021b96119
- added the needed parts of GZDoom's render backend to have the postprocessor working.
...
Not hooked up yet.
2019-12-28 18:20:47 +01:00
Christoph Oelckers
c4219f40be
- renamed the project to "Raze".
2019-12-28 14:10:25 +01:00
Christoph Oelckers
1e16998cac
- fixed memory leak in savegame menu.
2019-12-28 13:08:34 +01:00
Christoph Oelckers
2b95808d42
- fixed ambient sounds not restarting in DN3D and RR.
2019-12-28 12:59:19 +01:00
Christoph Oelckers
d6c129b825
- Hide Exhumed frontend behind a -experimental switch.
...
Since the NBlood and PCExhumed repos got merged, keeping separate branches may become a bit of a hassle, so now there is only one branch, but this game will not be shown to regular users until it gets more stable.
2019-12-27 23:22:39 +01:00
Christoph Oelckers
93fccfd767
- fixed the fire sound in the intro.
2019-12-27 23:09:05 +01:00
Christoph Oelckers
bea7391ac9
- more sound related fixes.
...
This was messier than I thought.
2019-12-27 22:17:36 +01:00
Christoph Oelckers
c41c585c7f
Merge branch 'master' into powerslave
2019-12-27 20:06:44 +01:00
Christoph Oelckers
affa8240f4
- fixed: Exhumed's ChannelEnded method did not call the super class.
...
This caused all sorts of audio errors.
2019-12-27 20:05:58 +01:00
Christoph Oelckers
907c2bbe1e
- fixed keyboard turning.
...
Why did it only apply the chance each 4th call instead of doing it smoothly???
2019-12-27 17:35:13 +01:00
Christoph Oelckers
c3ba6d00e6
- fixed: forgettable channels must not be tested for sound limits because they no longer have a valid source.
2019-12-27 17:08:48 +01:00
Christoph Oelckers
7e758a5e48
- hook up the savegame code in Exhumed. Superficially it looks like it works but it will require a lot more testing.
...
- fixed per-frame sound system update in Exhumed.
Sound is still quite broken and will require more work.
2019-12-27 17:07:09 +01:00
Christoph Oelckers
8e5b9111bd
Merge branch 'master' into powerslave
...
# Conflicts:
# source/CMakeLists.txt
2019-12-27 15:34:09 +01:00
Christoph Oelckers
6b0711ff0c
- put the project's name into a variable so that it doesn't have to be changed everywhere if needed.
2019-12-27 13:52:15 +01:00
Christoph Oelckers
5a853cb196
- gave .natvis file a neutral name.
2019-12-27 13:39:30 +01:00
Christoph Oelckers
b307db2346
- renamed internal CMake variables to not contain the project name.
2019-12-27 13:37:39 +01:00
Christoph Oelckers
aefb3ec216
- removed obsolete gamemain.cpp
2019-12-27 13:11:48 +01:00
Christoph Oelckers
44ed9d63a7
Merge branch 'master' into powerslave
2019-12-27 10:54:50 +01:00
Christoph Oelckers
1870e1857f
- savegame name generation fix for SW.
2019-12-27 10:54:00 +01:00
Christoph Oelckers
9415d0f78b
- corrected savegame signatures.
2019-12-27 10:53:47 +01:00
Christoph Oelckers
ce1a78fd62
- work on the savegame writer.
...
It saves, reloading not implemented yet.
2019-12-27 10:52:40 +01:00
Christoph Oelckers
a4c5fbe295
- savegame name generation fix for SW.
2019-12-27 10:48:43 +01:00
Christoph Oelckers
3bd36bfb9d
- more savegame stuff.
...
Should be complete now. We'll see...
2019-12-26 23:17:11 +01:00
Christoph Oelckers
79d0818201
- added savegame records for all global data that looks to be game relevant.
...
The data organization here is a mess, no wonder that this game could only save at the beginning of a level.
Fortunately it's all static so no allocations and pointers to track.
2019-12-26 22:00:04 +01:00
Christoph Oelckers
90fecbc6c0
- removed more unused content.
2019-12-26 19:41:42 +01:00
Christoph Oelckers
7fd86c8640
- config.cpp was also free of actual content.
2019-12-26 18:36:07 +01:00
Christoph Oelckers
25bb94cd94
- reducing the completionist cruft.
...
The 3 CD related files don't really contain enough code to justify this, merged all non-empty parts into one.
2019-12-26 18:29:10 +01:00
Christoph Oelckers
68a3a60d0b
- Exhumed menu tweaks - draw a background and caption for the option menus the game originally did not have.
...
- fixed a crash in the 2D drawer when two consecutively allocated vertex buffers had the same address. Strangely this only occured with Exhumed but not the other games
- fixed Exhumed crashing with sound disabled.
2019-12-26 17:42:45 +01:00
Christoph Oelckers
6373b75d22
Merge branch 'master' into powerslave
...
# Conflicts:
# source/common/gamecontrol.cpp
# source/common/version.h
# wadsrc/static/engine/grpinfo.txt
2019-12-26 14:46:14 +01:00
Christoph Oelckers
d473f9c590
- replaced all uses of Bfree with Xfree so they are subjected to debug instrumentation, uses FStrings in a few cases where it made sense.
...
- fixed: Sound channels weren't freed.
2019-12-26 14:43:44 +01:00
Christoph Oelckers
eff25141a0
- little bit of CMake cleanup.
2019-12-26 14:16:00 +01:00
Christoph Oelckers
62e9112133
- renamed the internal resource directory to "engine" and routed most literal mentions of the engine name through version.h
...
All this comes from a time when I didn't use version.h so it's better to do it the same way as GZDoom to allow easy renaming of the engine.
2019-12-26 14:04:53 +01:00
Christoph Oelckers
7f62208bad
- renamed demolition.grpinfo to grpinfo.txt.
2019-12-26 13:31:48 +01:00
Christoph Oelckers
d8dfe752b5
- fixed handling of music in Redneck Rampage and Shadow Warrior.
...
After merging the CD enabling CVAR they had the same default (off) as Blood which is wrong.
This also addresses other music related issues, like not properly cycling through the RR music.
2019-12-26 13:04:29 +01:00
Christoph Oelckers
c8edef4e0c
- disabled the "User Maps" option pending implementation of a working selection menu for exposing this.
2019-12-26 10:55:43 +01:00
Christoph Oelckers
5dcfa1cb0c
- do not use the internal SWCUSTOM.TXT from the Twin Dragon add-on.
...
There's a second variant without this definition, so this needs to be defined internally, and since it needs to be done internally it may receive proper localization labels.
2019-12-26 10:47:10 +01:00
hendricks266
8e6a54a1e4
Mostly clean up the codebase in preparation for tspritetype != uspritetype
...
Remaining exceptions:
SW - ConnectCopySprite
CON and M32Script - pSprite/pUSprite
git-svn-id: https://svn.eduke32.com/eduke32@8519 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymer.h
# source/build/src/engine.cpp
# source/build/src/engine_priv.h
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
# source/duke3d/src/astub.cpp
# source/duke3d/src/game.h
# source/duke3d/src/m32common.cpp
# source/duke3d/src/m32exec.cpp
# source/duke3d/src/m32structures.cpp
# source/kenbuild/src/bstub.cpp
# source/kenbuild/src/game.cpp
# source/sw/src/jnstub.cpp
# source/sw/src/jsector.cpp
2019-12-26 08:58:25 +01:00
hendricks266
3bbecf84c2
SW: Fix FindDistance3D calls to not z>>4 at the call site
...
This is handled by the function itself now.
Fixes the distance issue with the ceiling fan.
git-svn-id: https://svn.eduke32.com/eduke32@8525 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-26 08:54:17 +01:00
hendricks266
ae94566fb5
SW: Draw the crosshair actually centered
...
Thanks to Striker for the tip.
git-svn-id: https://svn.eduke32.com/eduke32@8524 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/draw.cpp
2019-12-26 08:53:36 +01:00
hendricks266
91cbaa1491
Add information to cstat enums
...
git-svn-id: https://svn.eduke32.com/eduke32@8518 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-26 08:49:42 +01:00
hendricks266
846c7eaff2
SW: Run all allocations through Xmalloc et al
...
git-svn-id: https://svn.eduke32.com/eduke32@8515 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/audiolib/src/driver_winmm.cpp
# source/audiolib/src/flac.cpp
# source/sw/src/StartupWinController.game.mm
# source/sw/src/bldscript.cpp
# source/sw/src/game.cpp
# source/sw/src/game.h
# source/sw/src/grpscan.cpp
# source/sw/src/jbhlp.cpp
# source/sw/src/rts.cpp
# source/sw/src/scrip2.cpp
# source/sw/src/sounds.cpp
2019-12-26 08:47:09 +01:00
hendricks266
33ad4b9860
Fix -Wfallthrough error in gamevars.h
...
git-svn-id: https://svn.eduke32.com/eduke32@8495 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-26 08:26:09 +01:00
Christoph Oelckers
078455659f
- fixed incorrect initialization order.
2019-12-26 00:54:21 +01:00
Christoph Oelckers
1a8f11e01d
Merge branch 'master' into powerslave
...
# Conflicts:
# source/build/src/sdlayer.cpp
# source/common/menu/menu.cpp
# source/sw/src/config.cpp
# source/sw/src/game.cpp
2019-12-26 00:21:04 +01:00
Christoph Oelckers
e3084cd1b1
- ported Exhumed sound to OpenAL.
...
The regular sounds are not a big deal, but this game contains two special effects that were problematic to port. We'll have to wait and see if they work as intended - the original panning effect is not 3D compatible so I had to redo it.
2019-12-25 23:37:16 +01:00
Christoph Oelckers
e180d9afd3
Merge commit '40a533402e443a0de1673543642c892ab9c731fd' into powerslave
...
# Conflicts:
# source/audiolib/include/fx_man.h
# source/audiolib/include/multivoc.h
# source/audiolib/src/_multivc.h
# source/audiolib/src/fx_man.cpp
# source/audiolib/src/multivoc.cpp
2019-12-25 19:24:55 +01:00
Christoph Oelckers
2d7ad75b5f
- lightened sound.cpp by deleting all inactive content.
2019-12-25 19:17:06 +01:00
Christoph Oelckers
23bc599468
- fixed recursion issues caused by the plasma generator function performing a busy wait.
2019-12-25 18:57:08 +01:00
Christoph Oelckers
4050ce156f
- fixed crash on NAM.
...
This game contains one sound that made the Voc loader crash.
2019-12-25 17:14:17 +01:00
Christoph Oelckers
dd984c94b0
- fixed extended quote management.
2019-12-25 17:13:36 +01:00
Christoph Oelckers
414201e741
- fixed palette translucency after aborting movie playback.
2019-12-25 17:13:10 +01:00
Christoph Oelckers
120a985b98
- disable palette transparency for color 255 when running an animation.
...
There's several intro cutscenes using the full palette and for these the color must not be nulled as it should for in-game textures.
2019-12-25 14:13:15 +01:00
Christoph Oelckers
b0cefdedce
- plugged all memory leaks that were reported with Shadow Warrior when starting the first level.
2019-12-25 11:26:19 +01:00
Christoph Oelckers
5e821de481
- replaced the leaky hash table that was used to handle the animations.
...
Just replaced with a linear array - for a hash table indexed with a string to be efficient, a much larger amount of data is needed than 20 or 30 entries.
This is also hardly the kind of data where losing a microsecond for performing the search matters.
2019-12-25 09:51:44 +01:00
sirlemonhead
4a31447702
NBlood: Remove std::string from libsmackerdec to fix cutscene crashing with MinGW builds.
...
# Conflicts:
# source/libsmackerdec/include/FileStream.h
# source/libsmackerdec/src/FileStream.cpp
2019-12-25 09:02:18 +01:00
Christoph Oelckers
745d78d8d7
- fixed voxels leaking memory.
2019-12-25 08:57:58 +01:00
Christoph Oelckers
efe4261932
- fixed Blood music and movie playback.
...
I have no idea why the movie code was completely disabled in NBlood, it all works fine...
2019-12-25 01:10:13 +01:00
Christoph Oelckers
5bd32cf769
- fixed: Voxel setup code wasn't called anymore.
2019-12-25 00:30:13 +01:00
Christoph Oelckers
49c49b2672
- read the global settings before presenting the game selection dialog
...
- deinit the menu in GameMain instead of using atexit.
- gi == null check must include the call to FreeGameData.
2019-12-24 20:06:55 +01:00
Christoph Oelckers
055b310d60
- rewrote all remaining places that used wm_msgbox to throw a fatal error instead so that the global error handler can deal with the messages.
...
This eliminates another piece of hideous code.
This commit also moves the memory error handler to the common code, so that all games can call it if triggered.
2019-12-24 19:59:14 +01:00
Christoph Oelckers
f65b2c1dcb
- disable the allocation breakpoint.
2019-12-24 19:48:26 +01:00
Christoph Oelckers
43033e830a
- Blood now also starts the first level without leaks.
...
I had to refactor the LoadSave data to allow automatic takedown, the linked list was not the most convenient thing - an array is better.
2019-12-24 19:47:34 +01:00
Christoph Oelckers
2820dc85a8
- plugged more memory leaks.
...
I can now start the first Duke Nukem level, exit with Alt-F4 and no leaked memory blocks get reported.
2019-12-24 18:53:29 +01:00
Christoph Oelckers
1c46c6da9d
- more leaks plugged, plus rerouting exception messages to the log window.
2019-12-24 16:30:33 +01:00
Christoph Oelckers
0d908960ed
- started fixing memory leaks: Console and clip shapes done.
2019-12-24 16:09:43 +01:00
Christoph Oelckers
58d0585eaa
- replaced EDuke's game selector with GZDoom's.
2019-12-24 15:28:00 +01:00
Christoph Oelckers
bfb3a797ff
- do not send mouse wheel "up" events right after "down".
...
The input system needs to be able to detect them in a "pressed" state, even though that doesn't physically exist.
2019-12-24 14:02:09 +01:00
Christoph Oelckers
e8d7777f4a
- mouse input works again after cleaning out the remaining cruft of the old input code.
2019-12-24 13:54:50 +01:00
Christoph Oelckers
1b9a2f5932
- disabled the message entering code.
...
This needs to be replaced with the game independent ZDoom version and hooked up properly, but it of low priority because it's a multiplayer only feature.
2019-12-24 13:21:36 +01:00
Christoph Oelckers
a870df840e
- hooked up the input system and did a major cleanup.
...
Much of the old system is no longer needed with all buttons being handled as keys.
Mouse axis movement is not working yet.
2019-12-24 12:59:26 +01:00
Christoph Oelckers
141887263d
- header cleanup
2019-12-23 21:19:42 +01:00
Christoph Oelckers
9ab8a8c737
- refactored the coordinate printout to a stat and removed printext256 and the associated font.
2019-12-23 20:55:12 +01:00
Christoph Oelckers
3b98635170
- removed all remaining references to SDL. The Windows version is now fully native.
2019-12-23 20:03:03 +01:00
Christoph Oelckers
62ecedf1f8
- got it to the point where it can render to the GL surface from the native backend.
2019-12-23 19:37:40 +01:00
Christoph Oelckers
a1f7f0cc30
- added the GL framebuffer class.
...
Everything compiles again but obviously no init code will run for now.
2019-12-23 15:40:17 +01:00
Christoph Oelckers
6b475417dc
Merge branch 'master' into gzbackend
2019-12-23 14:31:31 +01:00
Christoph Oelckers
5c62e9776f
- fix for cherry picks.
2019-12-23 14:30:10 +01:00
hendricks266
56e88b33a8
Replace color matching up to index 239 with the engine's fullbright mask
...
Should improve the color range available to non-Duke editors.
git-svn-id: https://svn.eduke32.com/eduke32@8491 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-23 11:37:00 +01:00
hendricks266
34ef03185d
Generate editorcolors[] from vgapal16[] at a better point in the startup process
...
git-svn-id: https://svn.eduke32.com/eduke32@8490 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/palette.cpp
2019-12-23 11:36:24 +01:00
hendricks266
221e7a6b85
paletteGetClosestColor: I think these < should be <=
...
git-svn-id: https://svn.eduke32.com/eduke32@8489 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-23 10:59:21 +01:00
hendricks266
0a7f5f558a
Rename colmatch functions
...
git-svn-id: https://svn.eduke32.com/eduke32@8488 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/colmatch.h
# source/build/src/build.cpp
# source/build/src/defs.cpp
# source/build/src/palette.cpp
# source/duke3d/src/lunatic/dynsymlist_editor.lds
# source/duke3d/src/lunatic/dynsymlist_game.lds
# source/duke3d/src/lunatic/engine.lua
# source/tools/src/transpal.cpp
2019-12-23 10:59:14 +01:00
hendricks266
7db49ea20a
Change PaletteIndexFullbrights from uint32_t[8] to uint8_t[32]
...
git-svn-id: https://svn.eduke32.com/eduke32@8487 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/palette.h
2019-12-23 10:57:11 +01:00
Christoph Oelckers
6e9631f2d8
- fixed all undefined symbols except OpenGLFrameBuffer.
2019-12-23 10:53:58 +01:00
Christoph Oelckers
10683e9123
- added GZDoom's Windows backend code.
...
Compiles but doesn't link yet.
2019-12-22 20:55:47 +01:00
Christoph Oelckers
773be7db26
- moved around a few bits of code to get rid of winbits.cpp/h.
2019-12-22 18:53:58 +01:00
Christoph Oelckers
3914eb5f85
- set up some basic reverb.
...
I'm not sure if this is working out as the original "reverb" was just too crappy and generic. It may be best to just disable it.
2019-12-22 17:43:39 +01:00
Christoph Oelckers
417d425f27
- fixed cherry picked commits.
2019-12-22 17:20:13 +01:00
hendricks266
f4fda7e646
SW: Fix crash issues when Track sprites are set up incorrectly
...
git-svn-id: https://svn.eduke32.com/eduke32@8485 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-22 15:19:55 +01:00
hendricks266
e50cdbad0c
SW, KenBuild: Remove some unnecessary #ifdef RENDERTYPEWIN
...
git-svn-id: https://svn.eduke32.com/eduke32@8482 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/kenbuild/src/config.cpp
# source/sw/src/config.cpp
# source/sw/src/game.cpp
2019-12-22 15:19:15 +01:00
hendricks266
acd56e319a
SW: Add tailspritefree to savegames
...
git-svn-id: https://svn.eduke32.com/eduke32@8481 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/save.cpp
# source/sw/src/sounds.cpp
2019-12-22 15:16:58 +01:00
hendricks266
f10ea8e630
Add check against MAXVOXELS in qloadkvx
...
git-svn-id: https://svn.eduke32.com/eduke32@8472 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/engine.cpp
2019-12-22 15:13:30 +01:00
hendricks266
deec38c827
Expose nextvoxid variable
...
This allows game and defs to not overwrite each other's voxels.
git-svn-id: https://svn.eduke32.com/eduke32@8471 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/kenbuild/src/bstub.cpp
# source/kenbuild/src/game.cpp
# source/sw/src/bldscript.cpp
# source/sw/src/jnstub.cpp
2019-12-22 15:12:49 +01:00
hendricks266
f03bc3656f
SW: Add call to palettePostLoadLookups
...
git-svn-id: https://svn.eduke32.com/eduke32@8469 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/jnstub.cpp
2019-12-22 15:11:13 +01:00
hendricks266
abd79c18c1
Defs: Add tilefromtexture subtoken "ifmatch", with subtokens "crc32" and "size"
...
git-svn-id: https://svn.eduke32.com/eduke32@8465 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/build.h
# source/build/src/defs.cpp
# source/build/src/tiles.cpp
2019-12-22 15:10:24 +01:00
hendricks266
777b895748
Defs: Minor ifcrc cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@8464 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/build.h
# source/build/src/defs.cpp
# source/build/src/tiles.cpp
2019-12-22 15:07:26 +01:00
CommonLoon102
b7479b567d
Revert tiny Caleb flameguy fix ( #254 )
2019-12-21 10:43:11 +01:00
Christoph Oelckers
fffe1753ec
- removed a few unused bits of code.
2019-12-19 20:04:17 +01:00
Christoph Oelckers
3cb68b2bf0
- replaced the semi-broken screenshot name generator.
...
Also took this file out of the 'build' folder, now that all code in here comes from elsewhere.
This also removes a few dead declarations.
2019-12-19 19:47:51 +01:00
Christoph Oelckers
ee93c6e366
- fixed voxel lighting.
...
In all that impenetrable voodoo math from Polymost it picked the wrong vector to calculate the depth of the scene and since I apparently removed the compensation math for the broken shader on the C++ side the calculated value was no longer correct.
That Polymost renderer really needs to go away. :(
2019-12-19 17:51:33 +01:00
Christoph Oelckers
a38077a17e
- clear the intermittent sound ticker when the sound gets checked.
2019-12-19 12:08:01 +01:00
Christoph Oelckers
aa8452a4b0
- backported IsSourcePlayingSomething fix from GZDoom.
2019-12-19 11:47:47 +01:00
Christoph Oelckers
c056a53792
- fixed ANM playback in Shadow Warrior and removed the rather pointless caching for the ANM files.
2019-12-19 10:18:05 +01:00
Christoph Oelckers
c35ebeadff
- fixed: Global sounds were started as 3D if anything but ATTN_NONE was used, regarding in them not playing.
2019-12-19 09:43:43 +01:00
Christoph Oelckers
ef01c34346
- fixed status bar initialization for all games.
...
Also deleted a few obsolete config variables for the old menu.
2019-12-19 09:31:39 +01:00
Christoph Oelckers
e348fcb843
- fixed playback on the wrong sound channel.
2019-12-19 09:29:23 +01:00
Christoph Oelckers
92c8e4c110
- maintain ambient sounds in a separate structure.
2019-12-19 01:20:43 +01:00
Christoph Oelckers
52d13f5ee0
- fixed a few sound issues in Shadow Warrior.
...
Ingame sound appears to be mostly working, menu doesn't yet.
2019-12-18 23:18:23 +01:00
Christoph Oelckers
a6395c0ed9
- be gone, MultiVoc.
2019-12-18 22:50:37 +01:00
Christoph Oelckers
2cf9a4a626
- removed leftpver music calls as well.
...
The code should now be free of the old audio backend.
2019-12-18 22:32:09 +01:00
Christoph Oelckers
3f9657b96a
- removed all leftover dependencies on the old sound backend.
2019-12-18 22:24:50 +01:00
Christoph Oelckers
591ace496f
- SW sound refactoring complete, not tested yet.
2019-12-18 22:13:19 +01:00
Christoph Oelckers
a087d566ee
- more refactoring on SW's sound system:
...
* removed all cases of getting a sound handle and checking it later.
* In particular, refactor the cases where the handle is stored in a static local variable. These are fundamentally unsafe because nothing maintains these local variables.
* finished rewriting the PlaySound function. Let's hope this is what was intended, the entire coding here was not particularly good, mixing high and low level sound handling all on the same level.
* call the update routine each tic and not merely every 4th or 8th one, this kind of granularity was ok in 1997 but not with a modern sound engine.
2019-12-18 19:17:37 +01:00
Christoph Oelckers
43c66d07ae
Merge branch 'master' into sound
2019-12-18 11:23:20 +01:00
hendricks266
434ed57337
Fix rotatesprite widescreen pinning in 5:4
...
git-svn-id: https://svn.eduke32.com/eduke32@8454 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-18 11:20:30 +01:00
hendricks266
1ccda16e8e
Avoid shadowed variable in dorotatesprite
...
Backported from PCExhumed.
git-svn-id: https://svn.eduke32.com/eduke32@8446 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-18 11:18:58 +01:00
hendricks266
90412527e0
Improve accuracy of sepldist when one dimension is zero
...
Backported from Rednukem.
git-svn-id: https://svn.eduke32.com/eduke32@8442 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/common.h
2019-12-18 11:17:37 +01:00
hendricks266
5f748fc17e
Expose hitscangoal variable
...
Backported from NBlood.
git-svn-id: https://svn.eduke32.com/eduke32@8439 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-18 11:15:22 +01:00
hendricks266
efc7365df9
Fix the interpretation of old-format PALETTE.DAT
...
Backported from PCExhumed.
git-svn-id: https://svn.eduke32.com/eduke32@8436 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/palette.cpp
2019-12-18 11:14:47 +01:00
hendricks266
6eec629cfd
Expose blackcol variable, containing the palette index closest to #000000
...
Backported from PCExhumed.
git-svn-id: https://svn.eduke32.com/eduke32@8433 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-18 11:13:00 +01:00
hendricks266
120a2b4ca7
Remove arbitrary check on numshades == 32
...
Backported from PCExhumed.
git-svn-id: https://svn.eduke32.com/eduke32@8432 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-18 11:12:41 +01:00
Christoph Oelckers
75c76ccf66
- changed SW's PlaySound interface to take pointers to objects instead of pointers to coordinates.
...
With pointers to coordinates the sound engine cannot work, so this had to be changed globally.
2019-12-18 11:09:01 +01:00
Christoph Oelckers
a7075bc1b0
- SW sound WIP
...
* removed old sound loading code, which was the last bit to use cacheAllocateBlock which is also gone now.
* cleanup of player sound code. All game side tracking of the sound resources has been removed.
does not compile yet.
2019-12-17 23:25:07 +01:00
Christoph Oelckers
650b53454d
- cleaned up SW sound code a bit and thinned out the original console code
2019-12-17 21:33:53 +01:00
Christoph Oelckers
7916b16efc
- fixed undefined behavior with iterating over null unique_ptrs.
...
I have no idea why this works most of the time - it should crash right away.
2019-12-17 20:08:59 +01:00
Christoph Oelckers
706157d623
- converted Blood's sound system to the OpenAL sound engine.
...
Now, this code was one big mess of strange design, let's hope it sounds better with a real 3D mixer now.
2019-12-17 19:37:05 +01:00
Christoph Oelckers
4d5755ca67
- update of the sound engine for unlimited channels per source.
...
Blood needs this.
2019-12-17 00:29:38 +01:00
Christoph Oelckers
fa7638c446
- removed the old sound system header from Duke and RR frontends and fixed every report this produced:
...
* reverb/echo is not yet implemented, so there's two stub functions for now.
* RTS needs to be done differently, because the sound engine cannot play raw buffers without any control data.
2019-12-16 19:18:03 +01:00
Christoph Oelckers
fbfb1972b8
- fixed a few places where the wrong sound ID was checked.
2019-12-16 17:41:44 +01:00
Christoph Oelckers
3cba51cfd4
- missed one line.
2019-12-16 17:02:35 +01:00
Christoph Oelckers
d24bd0fc14
- added refactored sound code to RR frontend.
...
- removed most code using the low level sound interface directly from Duke and RR frontends.
2019-12-16 16:18:47 +01:00
Christoph Oelckers
a66fc98d24
- a few more tweaks of the sound system.
...
* removed the distance hack for explosions and replaced it with a lowered attenuation. The distance hack combined with the rolloff hack forced these sounds to always be unattenuated, even when at the far end of a level. Now they fade, but much less than other sounds.
* increased the default NearLimit to 6. For some sounds 4 is not enough and this needs a global limit that works for everything.
2019-12-16 13:41:57 +01:00
Christoph Oelckers
b38d8a6dc2
- fixed 16 bit VOC loader.
2019-12-16 13:18:27 +01:00
Christoph Oelckers
fd9a3a9f16
- fixed lump filtering.
2019-12-16 13:03:22 +01:00
Christoph Oelckers
84b6a89057
- fixed inconsistent coordinate system transformations
...
- fixed bad sound ID being passed in S_CalcDistAndAng;
- cleaned up CalcPosVel.
- lowered the volume of unattenuated sounds a bit. They were disproportionately loud compared to the old sound system.
2019-12-16 13:02:43 +01:00
Christoph Oelckers
9adb4dd98d
- pass correct sound ID to frontend for position calculation and minor improvements on debug printer.
2019-12-16 12:32:42 +01:00
Christoph Oelckers
ea9a84752f
- switched the volume slider to the OpenAL backend.
2019-12-16 09:32:58 +01:00
Christoph Oelckers
b1b33ef231
- fixed hang with skill sound on game start.
...
This waits inside code where S_Update wasn't called. To make things clearer the waiting loop was moved closer to where it gets played.
2019-12-16 09:19:04 +01:00
Christoph Oelckers
938db6d35d
- sounds in the menu are working now.
...
Since the in-game sound is paused in the menu these sounds need the CHAN_UI flag to play.
2019-12-16 08:19:57 +01:00
Christoph Oelckers
9b9c009de9
- copybyte is not the same as memcpy.
...
It should be inlined to use it, though, because homegrown loops for this stuff may have been ok in 1995, but not in 2019.
2019-12-15 21:06:41 +01:00
Christoph Oelckers
c9198729b0
- did some tweaks to the sound.
...
The angle was wrong and the rolloff type apparently as well. It sounds a lot better now, especially after also altering the minimum distance for the rolloff. This one is interesting, it looks like a bug where the desired value was shifted two bits too much, quadrupling the distance where volume reduction starts.
2019-12-15 20:55:15 +01:00
Christoph Oelckers
22ef66209d
- sound is finally playing, but the volume needs balancing and positioning doesn't seem to be 100% correct.
2019-12-15 20:16:36 +01:00
Christoph Oelckers
4f9eda189a
- a few sounds play, but it's still very buggy.
2019-12-15 19:00:41 +01:00
Christoph Oelckers
38dc39b8cd
- got it to start, cannot hear anything...
2019-12-15 17:16:11 +01:00
Christoph Oelckers
d7ddd620e4
- added some final missing pieces to the sound code.
2019-12-15 16:32:39 +01:00