Commit graph

3357 commits

Author SHA1 Message Date
NoOneBlood
afb8c11683 - It's possible now to change posture settings for each player
- Touch trigger for walls fix
- It's possible to set custom clipdist for things (gModernMap only)
- Few tweaks for Custom Dude
- Player Control type fixes and updates

# Conflicts:
#	platform/Windows/nblood.vcxproj
#	source/blood/src/player.h
2020-01-02 19:20:11 +01:00
NoOneBlood
5bcfcc1b55 - Player Control type fixes
- Custom Dude type fixes
2020-01-02 19:20:11 +01:00
Grind Core
ec782a28de - Rewrite true random once again
- Fix Custom Dude genIdle aistate
- Fix grown and shrink races
- Fix qav scene was not able to stop if sprite is locked
- Fix stupid error in gDefaultJump array

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/view.cpp
2020-01-02 19:20:11 +01:00
Grind Core
1eb50414ab -Fix xspriData2Array function
-Fix kModernSpriteDamager type

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/gameutil.cpp
#	source/blood/src/gameutil.h
#	source/blood/src/triggers.h
2020-01-02 19:20:10 +01:00
Grind Core
da47ebbd2c - Rewrite true random, so it should work just fine now
- Way better AI for Custom Dude when attacking the target
- Minor warning fixes and other updates

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/aiunicult.cpp
#	source/blood/src/aiunicult.h
#	source/blood/src/asound.cpp
#	source/blood/src/gameutil.cpp
#	source/blood/src/gameutil.h
#	source/blood/src/player.h
#	source/blood/src/triggers.h
2020-01-02 19:20:10 +01:00
Rachael Alexanderson
a6bf1c3026 - oops, didn't mean to change this line (I blindly copied the function over) 2020-01-02 00:15:19 -05:00
Rachael Alexanderson
21ba23f36d - pull most recent video scale changes from gzdoom 2020-01-01 23:42:09 -05:00
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