Christoph Oelckers
a12cdf849e
- fixed text in the menu
2020-07-31 21:05:57 +02:00
Christoph Oelckers
7bf3d5186f
- Blood font refactoring.
2020-07-31 21:05:09 +02:00
Christoph Oelckers
5bae2fcef5
- moved global include out of namespace.
2020-07-31 21:04:28 +02:00
Christoph Oelckers
713c41c0a9
- fixed bad ordering of directives.
2020-07-31 21:03:23 +02:00
Christoph Oelckers
b6cb0ce1a1
- consolidated shade to light conversion
2020-07-31 20:58:55 +02:00
Christoph Oelckers
b308e730ea
- started replacing rotatesprite with DrawTexture.
...
As an added bonus, thia now allows stretching the menu caption box for longer texts, rotatesprite could not do that.
2020-07-31 20:39:02 +02:00
Christoph Oelckers
5ed624a48d
- Blood: stop music before showing the summary screen.
2020-07-29 23:39:37 +02:00
Christoph Oelckers
347ed51036
- refactored Blood's main loop.
...
* moved Smacker video playing code into the backend, so now all games can play all supported video formats
* logos and level intro/exit videos use ScreenJob
2020-07-29 23:18:08 +02:00
Christoph Oelckers
e345bf389f
- removed some inactive pieces of code.
2020-07-28 00:05:56 +02:00
Christoph Oelckers
92d94543e5
- removed the Blood demo code as it won't be usable in this form anyway.
2020-07-28 00:01:16 +02:00
Christoph Oelckers
74c4bbc0e0
- preparations for refactoring Blood's HUD drawer, mainly to pass the palette explicitly to the drawers.
2020-07-27 23:29:10 +02:00
Christoph Oelckers
8a92ecb70c
- some minor reordering of code to only have one call to credLogosDos.
2020-07-27 19:45:34 +02:00
Christoph Oelckers
709dac7c37
- more Polymer leftover.
2020-07-27 19:39:27 +02:00
Christoph Oelckers
c7fca86cf5
- removed incomplete Polymer code from Blood.
...
Looks like this was abandoned - this was still mostly Duke3D code
2020-07-27 19:38:58 +02:00
Christoph Oelckers
218a9c84fd
- removed the last remaining Blood helpers from the file system, also deleted a few short files whose contents could be moved.
2020-07-27 19:38:41 +02:00
Christoph Oelckers
5f14153f3b
- deleted declaration of deleted function.
2020-07-27 19:37:59 +02:00
Christoph Oelckers
dcd773ed9d
- removed some unused pieces of code.
2020-07-27 19:37:58 +02:00
Christoph Oelckers
4e3ad09d70
- merged 5 more headers into misc.h.
...
These small header files are really counterproductive, file count has already gone down from 143 to 106.
2020-07-27 19:37:17 +02:00
Christoph Oelckers
b2f794bde5
- cache QAVs outside the file system as well.
...
- delete some voxel code that's software rendering only.
- apply Big Endian byte swapping for SFXs, as well, now that this no longer involves hacking the file system cache.
2020-07-27 19:37:02 +02:00
Christoph Oelckers
b804589f81
- implemented a proper cache for Blood's SEQs.
...
Messing around in the file system cache should be a no-go, so now it's no longer done.
This also allows reenabling the byte swapping needed for Big Endian.
2020-07-27 19:28:54 +02:00
Christoph Oelckers
bbbd7fadbb
- merged several of Blood's smaller headers.
2020-07-27 19:17:13 +02:00
Christoph Oelckers
ab9854a215
- merged the 3 sound related headers in Blood.
2020-07-27 19:17:13 +02:00
Christoph Oelckers
dfda0c9cb2
- rewrote Blood's map loader to use FileReader directly instead of implementing its own wrapper around the lump cache.
...
Also deleting a few other unused files.
2020-07-27 19:17:00 +02:00
Christoph Oelckers
aea6467d00
- call D_ProcessEvents in Blood's main loop.
2020-07-27 19:12:49 +02:00
Christoph Oelckers
374a850565
- merged all of Blood's ai state headers together to reduce number of files and include clutter.
2020-07-25 17:56:39 +02:00
Christoph Oelckers
f9d48e1f68
- removed all the intermediate variables for the status bar size.
...
hud_size now gets used directly by the status bar code.
2020-07-25 13:26:56 +02:00
Christoph Oelckers
be9094cb97
Silenced lots of warnings pointed out by XCode.
2020-07-23 17:02:59 +02:00
Christoph Oelckers
6227f9f7fd
- optimizations for better savegame performance.
2020-07-21 21:32:38 +02:00
Christoph Oelckers
a9f152c1fe
- added JFDuke's label type checker and did some cleanup on the CON init code.
...
Most importantly: Use dynamic buffers for managing the labels instead of hijacking some other storage space.
2020-07-15 12:34:42 +02:00
Christoph Oelckers
99161e2e4a
- made ps an array of player_struct like it originally was.
2020-07-15 00:26:58 +02:00
Christoph Oelckers
2fd2ad2212
- sky code cleanup and transitioning of Duke's.
2020-07-15 00:06:19 +02:00
Christoph Oelckers
1e9679aceb
- removed faketimerhandler and the last static remains of EDuke's netcode.
2020-07-14 21:15:37 +02:00
Christoph Oelckers
05abc262ba
- removed libdivide for good and the unused C++ wrapper for fix16 along with it.
2020-07-14 20:57:42 +02:00
Christoph Oelckers
424716bb88
- say goodbye to libdivide!
2020-07-14 20:21:16 +02:00
Christoph Oelckers
f9c03760a3
- removed setuptile DEF command due to the hacky implementation and general uselessness of what can be done with it.
2020-07-14 17:47:11 +02:00
Christoph Oelckers
fedeec73c7
- cleaned out some unused parts of engine.cpp
2020-07-14 17:35:19 +02:00
Christoph Oelckers
5655015691
- YAX is also gone now.
2020-07-14 16:06:14 +02:00
Christoph Oelckers
19ef0cd295
- removed screentext and reverted Blood to its original text output.
2020-07-14 15:25:35 +02:00
Christoph Oelckers
1a0b388570
- removed a few tabledivide uses in the game modules
2020-07-14 14:08:59 +02:00
Christoph Oelckers
aa01adb2f1
- removed osd.h as it was merely a minimal wrapper around c_dispatch, giving some alias names.
...
Nothing that's needed when cutting ties to upstream.
2020-07-14 14:00:27 +02:00
Christoph Oelckers
2e05ff532b
- got rid of the struct trackers.
...
They were only used for handling an undefined case in the renderer but the overhead and side effects were too severe.
2020-07-14 13:51:03 +02:00
Christoph Oelckers
7e261425bb
- time to get rid of clockticks.hpp.
...
Aside from its non-existent license it was also not the correct way to handle more precise view interpolation.
2020-07-14 13:00:52 +02:00
Christoph Oelckers
a93ed1e502
Merge branch 'master' into back_to_basics2
...
# Conflicts:
# source/blood/src/view.cpp
# source/core/gamecontrol.cpp
2020-07-14 12:57:38 +02:00
Christoph Oelckers
9caf1ead91
- use the common interpolation function for Blood.
...
This keeps the main calculation for time difference in one place.
2020-07-14 12:48:56 +02:00
Christoph Oelckers
481ac965cf
- reverted ClockTicks to an integer so that interpolation can be reimplemented without it affecting the global game timer.
...
The entire method at use here is essentially not correct. Interpolation should be handled independently of the game timer directly based on the underlying clock, like in ZDoom.
There's interpolation bugs in the Build games that cannot be fixed if totalclock is used for it, but if we use something else we do not need a fractional totalclock.
2020-07-14 11:52:38 +02:00
Christoph Oelckers
6b86d7606f
- safety commit - does not compile!
2020-07-07 13:19:09 +02:00
Christoph Oelckers
34874d1a21
- migrated displayrest and took the opportunity to un-fuck the palette management.
2020-07-07 04:54:12 +02:00
Christoph Oelckers
8a1206edbc
Merge remote-tracking branch 'remotes/origin/master' into back_to_basics2
2020-07-05 11:55:41 +02:00
Mitchell Richters
c70cc474a0
- change mouse input from int to float and adjust games accordingly.
...
* Calculate game-side mousex/mousey divisions into the calculations performed in `InputState::GetMouseDelta()`.
* Fix mouse speed when `in_mousesmoothing` is true (wasn't factoring in / 3.f division used in non-true vector.
* Standard mouse forward/side movement speeds in Exhumed & SW with that of other games.
* Remove `strafeyaw` code from Duke/Exhumed/RR as it's not necessary and was leading to situations where the player would continually keep moving sideways even without input.
* Change mouse forward/side velocities to -= current value as is done with controller input and the player's angle/aim velocities.
2020-07-04 18:28:00 +02:00
Christoph Oelckers
2e98b2f8da
- quote cleanup.
2020-06-30 22:53:15 +02:00
Mitchell Richters
8c723f52d1
- make controller input identical across all games.
...
* Convert axes in ControlInfo struct from int32_t to float as what's received from the backend.
* Remove all the scale up/down math since we don't need that with floats and replace with float constants that match old behaviour.
* Store q16mlook scaling as a constant for use with mouse and upcoming controller code.
* Add required controller code to Blood as the only game not to have working controllers.
* Fix typos in (gInput.forward > input.forward) for `ctrlGetInput()` in Blood.
* Remove use of `scaleAdjustmentToInterval()` on Exhumed and Shadow Warrior as they only process forward/side velocities within the game's ticrate.
* Repair angvel/aimvel scaling mistakes from d79a5d256d
.
* Scale dyaw and dpitch by 25% for Shadow Warrior as the game runs 25% faster than the other games, leading to faster input.
2020-06-24 20:08:56 +02:00
Christoph Oelckers
e146e73345
- consolidated the 'music' parsing in Defs (pending a refactor of the MAPINFO system.)
...
- removed the remaining parts of the game Defs parser because we do not want anything EDuke in here.
2020-06-24 00:40:22 +02:00
Mitchell Richters
c05eb6dbb6
Blood: Fix issues with weapon not switching properly if cycling the weapons too quickly.
...
- This means that while weapons can't be changed mid-animation, they switch consistently. I feel they animate quick enough, anyway.
2020-06-23 12:19:53 +02:00
Christoph Oelckers
990cb2acb8
-'shoot' replaced.
...
# Conflicts:
# source/build/src/palette.cpp
2020-06-21 23:24:49 +02:00
Mitchell Richters
3325ef272e
- make r_ambientlight work globally for all games by performing adjustment engine-side.
2020-06-21 10:12:54 +02:00
Christoph Oelckers
2c2b871083
- fixed texture validation checks.
2020-06-17 12:26:02 +02:00
nukeykt
b907791558
Blood: input code improvements
...
Repairs interpolation issues introduced in 96c9ca657e
as reported in https://forum.zdoom.org/viewtopic.php?f=340&t=69009
2020-06-17 12:22:23 +02:00
Christoph Oelckers
946da7d622
- moved the textures used for the animations into the texture manager.
...
This is to allow giving them a texture ID so that they can be used from ZScript which has no access to naked textures.
This also consolidates AnimTexture and VpxTexture.
2020-06-14 20:27:13 +02:00
Christoph Oelckers
d4cdb31464
- backend update to make the ZScript compiler work.
2020-06-14 18:58:30 +02:00
Christoph Oelckers
aa67875792
- enabled r_shadows in Blood.
...
This was the only game not allowing to switch off the shadows.
2020-06-12 21:46:24 +02:00
Christoph Oelckers
60b18c7ec9
- Blood: use the 2D drawer to clear the screen for 2D display.
2020-06-12 20:31:23 +02:00
Christoph Oelckers
a9141af545
- backend update.
2020-06-11 09:15:44 +02:00
Christoph Oelckers
fc466849ce
- disabled demos in blood.
2020-06-06 09:23:44 +02:00
Christoph Oelckers
cf6855904d
- took projection and view matrix out of the render state.
...
This is a preparation to migrate to GZDoom's HWViewpointUniforms buffer.
2020-06-04 18:46:44 +02:00
Christoph Oelckers
68c97e3c25
Merge branch 'master' of https://github.com/coelckers/Raze
...
# Conflicts:
# source/core/gamecontrol.h
# source/duke3d/src/game.cpp
# source/exhumed/src/exhumed.cpp
# source/rr/src/game.cpp
2020-05-31 23:30:10 +02:00
Mitchell Richters
daa862240d
Blood: Amend how game pauses.
2020-05-31 23:19:54 +02:00
Christoph Oelckers
efa1cd3048
- moved video files to 'common'.
...
# Conflicts:
# source/blood/src/screen.cpp
2020-05-31 09:19:16 +02:00
Christoph Oelckers
1e2a3da5fd
- video base code unified.
...
# Conflicts:
# source/core/rendering/v_video.cpp
2020-05-31 09:18:43 +02:00
Christoph Oelckers
edb2cb31ee
- backend update with GZDoom model code.
2020-05-31 08:55:00 +02:00
Christoph Oelckers
1bc744b77b
- moved hictinting data into the lookup tables.
2020-05-29 20:15:42 +02:00
Christoph Oelckers
193b940eef
- palette code cleanup.
2020-05-27 22:19:02 +02:00
Christoph Oelckers
7109ce4e30
- made some changes to the font and texture system to allow late loading of the palette.
...
The base palette can be set via .def files so that the engine has no access to it until the entire game state is set up.
This means that font translations and PNG palette remap tables cannot be built when the owning objects are created.
For PNGs this has the added advantage that they only get done when really required and not unconditionally - most of the time the remap table isn't even needed here.
Thid fixes the slider graphics in the option menus.
# Conflicts:
# source/core/gamecontrol.cpp
# Conflicts:
# source/core/gamecontrol.cpp
2020-05-26 21:43:32 +02:00
Christoph Oelckers
29db3febb8
- updated the platform code to be mostly identical with GZDoom
2020-05-26 00:08:26 +02:00
Christoph Oelckers
55a3c62b59
- use GZDoom's 2D drawer.
...
Console and menu font colors are not ok yet, aside from that it works.
2020-05-25 17:11:32 +02:00
Christoph Oelckers
266364fc2e
- properly implement texture offsets
2020-05-24 13:26:45 +02:00
Christoph Oelckers
00e7b2fa25
- simple stuff from the texture manager inclusion commit.
...
To get this out of the way first...
2020-05-24 00:27:24 +02:00
Christoph Oelckers
2d29d130c0
- fixed Blood startup.
2020-05-23 22:43:05 +02:00
Christoph Oelckers
f929419a0a
- refactoring of the lookup tables.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
8bd5f12b42
- matching sound backend code with GZDoom.
...
# Conflicts:
# source/core/sound/s_soundinternal.h
2020-05-23 12:59:11 +02:00
Christoph Oelckers
6a8efb7520
- update of music code, in particular separating the engine-specific lookup from the backend.
...
# Conflicts:
# source/core/music/music.cpp
# Conflicts:
# source/build/src/palette.cpp
2020-05-23 12:37:47 +02:00
Christoph Oelckers
d0406e27b6
- all base palette data has been transitioned to GPalette.
2020-05-23 12:31:05 +02:00
Christoph Oelckers
6f9ee4b60f
- store palettes in the palette container.
2020-05-23 12:31:05 +02:00
Christoph Oelckers
ffbe275a4a
- fixed some issues pointed out by CI.
2020-05-22 20:31:21 +02:00
Christoph Oelckers
f9a3ca8b6f
- fixed compilation.
2020-05-22 18:35:25 +02:00
nukeykt
37c5245775
Blood: fix sprite rendering glitch related to ROR
...
# Conflicts:
# source/blood/src/view.cpp
2020-05-22 18:30:59 +02:00
Christoph Oelckers
6a0785bbd4
- manual update of some missed content.
2020-05-22 18:28:03 +02:00
NoOneBlood
f60fa44efb
- Disable STD random for autobuilds
...
- kModernEffectGen: fix getting middle of the sprite
# Conflicts:
# source/blood/src/nnexts.cpp
2020-05-22 17:43:08 +02:00
nukeykt
6ec33c2954
Blood: do not use tile offsets for voxels
2020-05-22 17:38:35 +02:00
NoOneBlood
9428c88e29
- Don't change statnum of thing converted to debris back to thing on impact trigger when firing with vector weapon.
...
- Change damage scale and min firedist for Custom Dude.
- Remove unnecessary checks in callback of tracking condition.
- Fix picWidth() function.
- Better initialization of modern stuff.
- kModernSeqSpawner: disable all other spawners with same TX ID when enabling current.
- Fix: sceneQav was not playing if resurrected with COUSTEAU cheat.
- kModernPictureChanger: remove kModernFlag01 feature (deprecated).
- kModernSectorFXChanger: add flags to control where exactly light effect should appear.
- kModernCondition:
- add delay before sending command if condition is true.
- take in account state, so kCmdState and kCmdNotState is useful.
- fix wrong comparison result in some conditions.
- add new various conditions.
- kModernPlayerControl:
- fix start / stop playing qav scene when triggered with event command converted to sprite command.
- add a way to resurrect / heal player.
- add event commands to toggle inventory item status via trigger.
- fix that Remote and Proximity detonators cannot be given.
- add clear all screen effects option.
- proper percents for changing movement / jumping.
- kModernRandomTX, kModernSequentialTX: change event redirection mode activation from kModernTypeFlag02 to kCmdLink.
- kModernSpriteDamager: treat damage value as percents by default, take in account god mode.
- kModernEffectGen: fix wrong cstat for effects.
- kModernPropertiesChanger: proper underwater status for sectors and players or enemies in it.
- Players: assign or update current player's sprite index for all conditions.
# Conflicts:
# source/blood/src/nnexts.cpp
2020-05-22 17:36:37 +02:00
nukeykt
96c9ca657e
Blood: poll player input at least once to prevent skips
...
Fixes #329
2020-05-22 17:35:39 +02:00
NoOneBlood
c000e2e3b3
- Removed link support for various upper / lower stacks (deprecated)
...
- Removed link support for path marker (deprecated)
- Removed link support for counter sector (deprecated)
- STD random for wind generator
2020-05-22 17:35:11 +02:00
MexMeRcUrY
142e611125
fixes #343
2020-05-22 17:35:01 +02:00
NoOneBlood
569fcc9542
- Custom start health fix
...
- Check for system reserved statnums in gModerMap
2020-05-22 17:34:54 +02:00
NoOneBlood
e3e805b24c
- More compact code for event redirection
...
- Fix demo desync
- Fix MINGW compile warnings
- Move custom start health from data4 to sysData2 in gModern maps
- Proper respawn for custom dude
# Conflicts:
# source/blood/src/dude.cpp
# source/blood/src/dude.h
2020-05-22 17:34:33 +02:00
NoOneBlood
64de30209b
- Player control: more strict rules for copying properties of xsprite
...
- Fix for custom health when respawning enemy
- Fix for custom dude when respawning it
- Conditions: added way to refresh sprite index in tracking conditions
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/aiunicult.cpp
# source/blood/src/aiunicult.h
# source/blood/src/dude.cpp
# source/blood/src/dude.h
2020-05-22 17:33:05 +02:00
Evan Ramos
26333dcaad
Blood: Make voxels and models loaded via def inherit rotation automatically
2020-05-22 17:30:43 +02:00
nukeykt
1ef8df0a4c
Blood: Fix model yoffset
2020-05-22 17:29:50 +02:00
NoOneBlood
f1f9fcff5c
- Changes for conditions (WIP)
...
- Fix for picWidth();
2020-05-22 17:29:22 +02:00
NoOneBlood
71b110a75e
- Double print in console fix for consoleSysMsg
...
- Changes for kModernCondition
# Conflicts:
# source/blood/src/globals.cpp
2020-05-22 17:29:12 +02:00
NoOneBlood
c27f3b8d20
- Changes in damage scale for Custom Dude
...
- Conditions: added conditions for player and enemies (WIP)
2020-05-22 17:28:48 +02:00
NoOneBlood
014dfc346b
- Added tracking type of conditions. Generally conditions is still WIP.
...
- Update aim for player while playing qav scenes.
- Fix compile warnings
2020-05-22 17:28:35 +02:00
nukeykt
b7294e45a1
Blood : Fix mirror issue
...
Fixes #334 and #338
# Conflicts:
# source/blood/src/menu.cpp
2020-05-22 17:25:54 +02:00
MexMeRcUrY
aee64e8e34
fix #333
2020-05-22 17:24:42 +02:00
MexMeRcUrY
5faef5d6dd
Blood: Caleb doesn't talk in multiplayer
2020-05-22 17:24:41 +02:00
MexMeRcUrY
f1421bd8ee
Blood: Caleb doesn't talk in multiplayer
2020-05-22 17:24:41 +02:00
Mitchell Richters
db428a4f03
All Games: Make more precise use of 'scaleAdjustmentToInterval()'.
...
- Inline function returns a double, therefore we should use it and not potentially truncate the mantissa.
- Use divisors to get true numbers of some floats (3.333 -> 10/3, etc).
- Remove a few brackets/parentheses where possible from what are already exceedingly bracketed lines.
2020-04-14 00:00:21 +02:00
Mitchell Richters
f302ccb715
Change Next/Previous Weapon button handling for Blood.
...
- Makes consistent with Duke 3D and RR.
- Makes weapon selection work in Windows until refactoring can occur.
2020-04-13 23:59:48 +02:00
Christoph Oelckers
156a225ff4
- renamed global palookup variable.
...
Since the same word gets used in text messages and local variables in the game code it is easier this way to search for it and facilitate its transition to the translation table management in PaletteContainer.
2020-04-13 23:58:46 +02:00
Christoph Oelckers
fda4293013
- draw the movie franes outside of the tile system to reduce the palette maintenance.
...
The movie code has always been the part causing the most issues because it alters the palettes - the rest treats them as static data.
2020-04-13 23:58:45 +02:00
Christoph Oelckers
fac004b4d2
- palette code cleanup
2020-04-13 23:58:44 +02:00
Christoph Oelckers
ee11fba4e7
- cleaned out some software rendering-only palette code from Blood.
2020-04-12 08:30:43 +02:00
Christoph Oelckers
57cb22f135
- console code matching with GZDoom
...
Refactored the buttons to be definable locally per game for easier handling of differing input.
2020-04-12 08:30:41 +02:00
Christoph Oelckers
2883553ed2
- moved file lookup functions to utilities and matched to GZDoom's version.
2020-04-12 08:30:41 +02:00
Christoph Oelckers
8e87674d4c
- backend code matching with GZDoom
2020-04-12 08:30:40 +02:00
Christoph Oelckers
0ca4bbd0c4
- changed some menu related names to match GZDoom.
2020-04-12 08:30:40 +02:00
Christoph Oelckers
5584c726ba
- file system update and adjustment.
2020-04-12 08:30:40 +02:00
Christoph Oelckers
ac32194079
- code cleanup / removal of imgui.
2020-04-12 08:30:39 +02:00
Christoph Oelckers
f671eb622f
- migrated to GZDoom's utility code.
2020-04-12 08:30:39 +02:00
Christoph Oelckers
66ecb05eb8
- use Printf as the only command to print to the console.
...
All uses of OSD_Printf, initprintf etc. have been renamed.
2020-04-12 08:30:38 +02:00
Mitchell Richters
4eb7b11ea6
Blood: Workaround for map view showing 1px of non-border at the bottom.
2020-04-09 08:14:10 +02:00
Christoph Oelckers
536ed3827d
- removed debug messages in Blood's savegame code.
2020-04-03 23:35:52 +02:00
Christoph Oelckers
a7caa7b63c
- fixed some reporting stuff for Blood.
2020-04-01 22:35:56 +02:00
Mitchell Richters
68bf97462a
Blood: Remove constexpr on player horizon values.
2020-04-01 22:34:57 +02:00
Mitchell Richters
e6420e1eb4
Blood: Rebalance q16mlook.
...
- Make scaling more consistent with other games.
- Fix CONSTEXPR to constexpr.
- Remove usage of macro 'F16()' by using explicit fix16_from_*() type.
2020-04-01 22:34:57 +02:00
Mitchell Richters
533d5dd42f
Blood: Repair issue with strafing following cherry pick merge conflicts.
2020-03-31 08:56:36 +02:00
nukeykt
348cecb644
Blood: revert change that broke demos
2020-03-31 08:56:36 +02:00
nukeykt
c50f54d064
Blood: don't update view angle when game is paused
2020-03-31 08:56:36 +02:00
nukeykt
c8372c233e
Blood: Tie player input to the frame rate instead of the game tickrate
...
Look up/down and spin180 are a bit broken right now.
Big thanks to terminx for similar commit for eduke32.
2020-03-31 08:56:36 +02:00
nukeykt
371b613ebe
Blood: reduce handleevents calls
2020-03-31 08:56:36 +02:00
CommonLoon102
26344d1193
Blood: fix ILLUSION.MAP crash
2020-03-30 09:55:15 +02:00
Christoph Oelckers
5af0217db7
- got rid of the software rendering blend tables.
2020-03-29 17:23:57 +02:00
Christoph Oelckers
7392b699e4
- cleaning out a few more parts of the software renderer.
2020-03-29 15:54:02 +02:00
Christoph Oelckers
3f69044770
- removed all references to sdlayer.cpp as all that was left in there was only needed for software rendering.
...
- removed now unused a-c.cpp.
2020-03-29 15:22:07 +02:00
Christoph Oelckers
0de4b134da
- stripped out most of the software renderer.
...
Now that the camera textures can be handled through the hardware renderer this isn't needed anymore.
2020-03-29 14:55:09 +02:00
Christoph Oelckers
8f3cc0b5af
- removed screen tilting code for software renderer.
...
Since this doesn't work anymore the code is no longer needed - and it stands in the way of doing camera textures purely in hardware.
2020-03-29 08:36:39 +02:00
Christoph Oelckers
de2c07aa6a
- revert all consolidation efforts between Duke and RR frontends.
...
Too many problems with different code.
2020-03-18 08:24:31 +01:00
Christoph Oelckers
73a4e0d1fe
- made Blood's FullMap flag global and removed the hacks to show the full automap.
...
Also refactor show2dsector into a bit array to get rid of the bit shifting code at play here.
2020-03-07 19:30:18 +01:00
Christoph Oelckers
cb322a1a1b
Merge branch 'master' of https://github.com/coelckers/Raze
2020-03-06 17:44:53 +01:00
Christoph Oelckers
a5c2152530
- consolidated the dynamic tile handling for Duke and RR frontends
2020-03-06 17:12:38 +01:00
NoOneBlood
aa5b7033de
- Condition type update (WIP)
...
- IncDec type update (can iterate multiple data fields)
- Fix compile warning (?)
2020-03-05 22:11:22 +01:00
Christoph Oelckers
86278fc79c
- fixed bad annotation.
2020-03-05 21:14:45 +01:00
Christoph Oelckers
4788dc42fb
- cleanup of the screentext consolidation
...
Since SetIfGreater is only used by the text code, the redundant copies could be removed.
2020-03-05 01:17:31 +01:00
Christoph Oelckers
822079abe0
fixed some compiler warnings listed by XCode
2020-03-05 01:01:05 +01:00
Christoph Oelckers
f59bfa1224
- consolidation of screentext code
2020-03-05 00:58:38 +01:00
NoOneBlood
bdca9420f5
- Event redirection support for modern types
...
- New modern type "Condition" (WIP)
- Fix damage scale for custom dude
- Extend Impact and Vector flags so they can be used with dudes
- Impact condition can be triggered with missiles and explosions
- Updates for Teleport Target type (gModernMap)
- Updates for Effect Gen type
- Updates for Wind Gen type
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/aiunicult.h
2020-03-02 23:53:33 +01:00
Christoph Oelckers
f1e2c0c226
- use the proper way to register an empty song on Blood maps without music.
2020-03-01 12:57:23 +01:00
nukeykt
7c96c550d9
Blood: disable TROR in map v7
...
# Conflicts:
# source/blood/src/db.cpp
2020-02-27 19:55:42 +01:00
nukeykt
d7f9a5acee
Blood: store parallax sky info in savegame
...
# Conflicts:
# source/blood/src/loadsave.cpp
2020-02-27 19:55:12 +01:00
Christoph Oelckers
3aea6d1fad
- refactored sound user data to be easier to serialize.
2020-02-23 18:30:48 +01:00
Christoph Oelckers
935a880b63
- Blood's ambient sound table does not need to be written to the savegame because it can be statically reinitialized after loading.
2020-02-23 17:10:29 +01:00
Christoph Oelckers
9fab46b7d7
- initialize the secret hint system for each level.
2020-02-22 08:57:18 +01:00
Christoph Oelckers
56c959d025
- Blood: Stop music before starting a cutscene.
2020-02-19 18:34:17 +01:00
Christoph Oelckers
7dc26a3162
- stop all playing sound when starting a new game.
...
- give all bonus screen sounds in Duke the CHANF_UI flag.
2020-02-17 19:43:58 +01:00
CommonLoon102
1105d52677
Blood: rename Ummune to Immune
2020-02-17 18:41:15 +01:00
Christoph Oelckers
dcad616030
- unpause sound when starting the demo loop.
2020-02-17 18:40:32 +01:00
Christoph Oelckers
57a3f89105
- workaround for cl_autoaim not being set anymore.
...
Only for singleplayer for now, the network implementation for this flag leaves a lot to be desired.
2020-02-16 21:31:29 +01:00
Christoph Oelckers
19f9860c11
- fixed Blood's sfxKill3DSound function checking the wrong ID.
2020-02-16 16:52:02 +01:00
Christoph Oelckers
c583318f31
- guard NNLoadSaveConstruct with #ifdef NOONE_EXTENSIONS.
2020-02-16 14:54:24 +01:00
Christoph Oelckers
26d4114566
- Blood: Fix for buried zombies losing their targeting ability when being struck down while rising from the grave.
...
Normally they change their type when being fully risen - but when attacked before that happens, never reach that code. To keep them functional, the change must be performed before performing the first target check in thinkChase.
2020-02-15 21:47:02 +01:00
Christoph Oelckers
410f5a4545
- clean out stale sprite pointers in User when a sprite gets removed.
...
This was the main reason for those constant crashes, the game was accessing an invalid sprite, treating its data as valid.
Also added a few checks for valid targets in two places where it still crashed.
2020-02-14 21:44:59 +01:00
Christoph Oelckers
488f8b1526
- Text code for AI state saving
2020-02-14 00:00:35 +01:00
Christoph Oelckers
d63d9f80bb
- fixed missing menu descriptor for Blood.
2020-02-12 23:41:26 +01:00
Christoph Oelckers
7909f29691
- allow starting Duke, NAM and WW2GI with the RedNukem-based game code for Redneck Rampage.
...
This mainly required some rework of the menu setup to be less explicit about the frontend's menu classes.
2020-02-12 20:25:59 +01:00
Christoph Oelckers
82939f2037
- do not reinitialize all actors in Blood when loading a savegame.
...
The call to actInit has been replaced with only performing the one necessary thing that needs to be done here - setting the enemy default difficulty.
2020-02-12 18:44:04 +01:00
Christoph Oelckers
1f7877823b
- applied intro cutscene aspect ratio fix from NBlood.
2020-02-12 17:59:22 +01:00
Christoph Oelckers
4c682813e7
- more unused data removed
2020-02-12 01:00:47 +01:00
Christoph Oelckers
9fdd1d9e17
- continued work on Blood save state
...
* save and restore the ambient sound state
* removed a few unused global variables
* removed unused code from choke.cpp
2020-02-12 00:43:13 +01:00
Christoph Oelckers
fd384a5f47
- added an indexer for Blood's AI states.
...
These seem to be the only pointer variables that need to be written out to a savegame, but to restore them they need to be turned into indices before saving.
2020-02-12 00:22:11 +01:00
Christoph Oelckers
29e51a677f
First round of Blood Savegame fix.
...
- const-ify most tables in actor.cpp for documentation purposes.
- gVectorData cannot be made const because one single field in there gets modified by code. :?
- save the global data in nnexts.cpp.
2020-02-11 23:15:25 +01:00
Christoph Oelckers
286d53d3bf
- added the missing handling for the basepal tinting.
2020-02-11 20:55:47 +01:00
CommonLoon102
8d7d8cc930
Blood: Clear keys on new level, fixes #308
...
# Conflicts:
# source/blood/src/player.h
2020-02-11 18:17:22 +01:00
Christoph Oelckers
a32bc350f1
- allow all keys to open the menu in Blood's demo loop.
2020-02-10 20:35:21 +01:00
NoOneBlood
fa057282df
- Fix kModernTargetChanger wrong dudeInfo
2020-02-09 16:16:02 +01:00
NoOneBlood
5d6ac932d3
Removed IsItemSprite, IsWeaponSprite, IsAmmoSprite function duplicates
2020-02-08 12:01:24 +01:00
Christoph Oelckers
681155de65
- fixed GOG path lookup.
...
I was unable to verify the Steam paths so they may or may not work.
2020-02-07 22:23:33 +01:00
NoOneBlood
e79a693313
Refactor of NOONE_EXTESNIONS:
...
All functions and definitions was moved to nnexts.h and nnexts.cpp files
to minimize ifdefs and generally make code more clear
# Conflicts:
# GNUmakefile
# platform/Windows/nblood.vcxproj
# platform/Windows/nblood.vcxproj.filters
# platform/Windows/props/build_common.props
# source/blood/src/actor.cpp
# source/blood/src/ai.h
# source/blood/src/aiunicult.cpp
# source/blood/src/blood.cpp
# source/blood/src/db.cpp
# source/blood/src/eventq.cpp
# source/blood/src/gameutil.cpp
# source/blood/src/gameutil.h
# source/blood/src/loadsave.cpp
# source/blood/src/player.cpp
# source/blood/src/player.h
# source/blood/src/triggers.h
# source/blood/src/view.cpp
2020-02-07 22:23:33 +01:00
nukeykt
438fa1b267
Blood: prevent player struct OOB issues
...
# Conflicts:
# source/blood/src/view.cpp
2020-02-06 18:48:23 +01:00
nukeykt
389ac695de
oops #2
2020-02-06 18:48:02 +01:00
nukeykt
8d99df7dec
oops
...
# Conflicts:
# source/blood/src/demo.cpp
2020-02-06 18:48:02 +01:00
nukeykt
9cc4d9f432
Blood: workaround dudeInfo OOB issue
...
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/demo.cpp
# source/blood/src/dude.cpp
# source/blood/src/dude.h
2020-02-06 18:47:26 +01:00
alexey.lysiuk
1479e1feae
- unified demo path handling for all platforms
...
The current game subdirectory is now created on all platforms
2020-02-06 12:04:51 +01:00
Christoph Oelckers
5d4514060b
- disable palette emulation for Blood's cutscenes.
...
These use color 255 as a valid index which the palette emulation shader does not handle.
2020-02-04 20:40:10 +01:00
Christoph Oelckers
a90185bea9
- cleaned up the remaining dependencies on windows.h
...
This file now only gets included by code that really needs it.
2020-02-03 21:30:57 +01:00
CommonLoon102
0d8f901e2d
Blood: proper use of the NOONE_EXTENSIONS preprocessor definition
...
# Conflicts:
# Common.mak
# platform/Windows/nblood.vcxproj
2020-02-03 19:14:06 +01:00
CommonLoon102
081bbe6532
fix cerberus spinning not just if NOONE_EXTENSIONS is enabled
2020-02-03 19:13:42 +01:00
Christoph Oelckers
8657ecb35d
- implemented 'map' CCMD for all games.
2020-01-28 11:20:30 +01:00
Christoph Oelckers
809b687969
- removed the Build color matching code
...
For the handful of lookups it got used for the needed data is too large and the lookup not precise enough. ZDoom's BestColor yields better results, does not need any tables and for the small amount of lookups being performed is more than adequate.
2020-01-28 10:31:59 +01:00
Rachael Alexanderson
212cfde186
- add levelwarp cheat to Redneck and Duke
2020-01-27 22:29:47 -05:00
Christoph Oelckers
9ca1e56713
- added extended sound lookup as well plus menu options.
2020-01-27 22:29:45 +01:00
alexey.lysiuk
5510df77be
- streamlined CMake configuration of game libraries
...
https://forum.zdoom.org/viewtopic.php?t=67121
2020-01-27 18:11:35 +01:00
Christoph Oelckers
6f3bbcba46
- fixed the demo setup for Blood.
...
This failed to read the demos in the game directory.
For those who find demos annoying there's now a demo_playloop CVAR.
Currently this is only active in Blood because the other games have demos disabled because they are non-functional.
2020-01-26 22:22:41 +01:00
Christoph Oelckers
d73f0c7b8f
- fixed the merge
2020-01-26 21:01:22 +01:00
Christoph Oelckers
1ba5eaa281
- reactivate the #ifdef'd stuff in the project
2020-01-26 20:28:34 +01:00
NoOneBlood
0693b0efc8
- Added ifdefs for NOONE_EXTENSIONS that provides modern features for mappers
...
and changes that was required to minimize their amount in code.
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/ai.h
# source/blood/src/aiunicult.cpp
# source/blood/src/aiunicult.h
# source/blood/src/db.cpp
# source/blood/src/db.h
# source/blood/src/dude.h
# source/blood/src/gameutil.cpp
# source/blood/src/loadsave.cpp
# source/blood/src/player.h
# source/blood/src/sfx.cpp
# source/blood/src/triggers.h
# source/blood/src/view.cpp
# source/blood/src/weapon.cpp
2020-01-26 20:27:21 +01:00
Christoph Oelckers
4c6265e246
- fixed movie palette in Blood.
2020-01-26 12:10:23 +01:00
Christoph Oelckers
3be4364d6e
- fixed file checks for Blood cutscenes.
...
The stripped drive-less name wasn't passed to the calling code.
2020-01-26 11:42:02 +01:00
Christoph Oelckers
245aa5d3bc
- reworked global palette state for robustness.
2020-01-26 10:58:00 +01:00
Christoph Oelckers
51d5236216
- made Blood's 'map' CCMD more useful by properly handling internal maps the same as 'levelwarp'.
2020-01-25 20:21:49 +01:00
Rachael Alexanderson
3d84384678
- Blood: add levelwarp 'e' 'm' cheat
2020-01-25 11:10:16 -05:00
Christoph Oelckers
8f41964f56
- fixed handling of statistics data.
...
Blood had the logic wrong and it wasn't saved in savegames.
2020-01-25 16:47:48 +01:00
Rachael Alexanderson
7765fa45cd
- Blood: add 'activatecheat' ccmd to pass a raw string to the cheat checker
2020-01-25 10:36:18 -05:00
Christoph Oelckers
c0b18d0356
- fixed weapon projection being broken after saving in Blood.
...
A classic case of having a function which performs too many different tasks.
2020-01-25 15:27:46 +01:00
Christoph Oelckers
e8231f904f
- I have no idea why a fov of exactly 90° does not work.
...
Changing this by one in either direction makes the problem go away.
2020-01-25 11:56:13 +01:00
Christoph Oelckers
f8a807e3bb
- cleaned out a tiny bit of the garbage that has accumulated in compat.h.
...
This file really needs to go away, we do not need this kind of "compatibility".
2020-01-25 10:56:30 +01:00
nukeykt
7c1f9d971a
Blood: fix spin 180 functionality
2020-01-23 18:18:45 +01:00
Rachael Alexanderson
0f3b3300fb
- not yet finished: this enables some console cheats in Blood and Shadow Warrior
2020-01-23 05:50:12 -05:00
Christoph Oelckers
bbc145cbee
- enabled the Blood RFS parser.
...
Seems to work but there's not that much material to use it on so the mileage may vary.
2020-01-22 21:09:45 +01:00
Christoph Oelckers
3ed7856f53
- fixed sound volume issues in Blood.
2020-01-22 16:34:58 +01:00
Christoph Oelckers
09106b3159
- fixed the HUD size slider for Blood.
2020-01-22 13:53:26 +01:00
Christoph Oelckers
493525a58e
- consolidation of engine save code.
...
This had discrepancies between the game modules so now all use the same code to save the common engine state.
2020-01-21 21:51:05 +01:00
Jonathan Gray
c7ffed4867
Blood: change fallthrough annotations to fix clang build
...
Remove some fallthrough annotations so clang does not fatally error:
source/blood/src/aiunicult.cpp:1983:13: error: fallthrough annotation does not
directly precede switch label
source/blood/src/triggers.cpp:1045:33: error: fallthrough annotation does not
directly precede switch label
# Conflicts:
# source/blood/src/aiunicult.cpp
# source/blood/src/triggers.cpp
2020-01-18 22:48:13 +01:00
Christoph Oelckers
2bc1708870
- removed the complete crosshair color hackery.
...
The code needs to be refactored anyway to allow better crosshair control but this also seemed to affect global render state, considering how poorly it was all implemented.
2020-01-18 16:14:31 +01:00
Christoph Oelckers
8db6a4331b
- added savepic generation for Blood.
2020-01-14 21:20:46 +01:00
Evan Ramos
3e3477c414
Fix errors in PR
...
# Conflicts:
# source/blood/src/osdcmd.cpp
# source/blood/src/view.cpp
# source/build/src/mutex.cpp
2020-01-13 18:00:25 +01:00
NoOneBlood
2b36e53706
- Removed event.causedBy for demo playback compatibility
...
- Fixed kThingArmedRemote in triggers.cpp (OperateSprite())
- Fixed kTrapFlame in triggers.cpp (OperateSprite())
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/player.h
2020-01-13 17:58:27 +01:00
NoOneBlood
4123a9e14e
- gModernMap guard instead of VanillaMode in dudeSpawn
...
- No sound for player when jumping fix
2020-01-13 17:57:13 +01:00
NoOneBlood
6f3ccdc651
- Combination switches fix (and basically all event commands)
...
- No sound of jumping when player's jump velocity is too low
2020-01-13 17:57:13 +01:00
Christoph Oelckers
dc5b8d27f8
- infrastructure for savegame pics.
...
Savepic generation implemented for Duke 3D, but results in a black image.
2020-01-12 23:16:21 +01:00
Christoph Oelckers
95f917a408
- added the main vertex buffer and some code to maintain it on systems where persistent mapping is not possible.
...
All games combined there's 11(!!!) scene render blocks, not counting the sub-blocks for ROR and mirrors.
Does it surprise anyone that most of these sub-blocks do not feature all engine capabilities?
2020-01-12 20:28:07 +01:00
CommonLoon102
95eb10d2a6
fix voxel positions when notmd is defined in maphack file
...
# Conflicts:
# source/blood/src/view.cpp
2020-01-11 22:19:50 +01:00
Christoph Oelckers
55dab6d3d3
- hooked up the high color texture colorization code.
...
Not tested and probably still not working correctly, the entire feature was a nearly impenetrable mess of convoluted code. This definitely needs verification with multiple mods using it.
2020-01-11 22:18:06 +01:00
nukeykt
af80e64ecf
Calculate map MD4 used for maphacks
...
# Conflicts:
# source/blood/src/db.cpp
2020-01-11 14:58:12 +01:00
Christoph Oelckers
fb985d2503
- more macOS compilation fixes
...
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers
134122335b
- first attempt to compile on a Mac
...
This could have gone better, there's far too many warnings here
2020-01-06 02:41:47 +01:00
Christoph Oelckers
9f0bb97e63
- disabled printing the version on Blood's status bar.
2020-01-05 10:22:20 +01:00
Christoph Oelckers
ed813562eb
- fixed sound in Blood cutscenes.
2020-01-04 00:07:20 +01:00
Christoph Oelckers
c82d6de6c3
- fixed a few typos and uninitialized variables.
2020-01-03 17:08:41 +01:00
Evan Ramos
148c8770e9
Blood: Constify some {u,t,}spritetype templates
...
This is important where tracked spritetype could be involved.
2020-01-03 08:07:27 +01:00
Evan Ramos
e363cd53a5
tspritetype cleanup
...
# Conflicts:
# source/blood/src/m32common.cpp
# source/blood/src/m32exec.cpp
# source/blood/src/m32structures.cpp
# source/blood/src/mapedit.cpp
# source/rr/src/astub.cpp
# source/rr/src/m32common.cpp
# source/rr/src/m32exec.cpp
# source/rr/src/m32structures.cpp
2020-01-03 08:07:10 +01:00
Evan Ramos
8fce9c5be8
Blood: Restore original tspritetype member synonyms
...
# Conflicts:
# source/blood/src/view.cpp
2020-01-03 08:06:07 +01:00
Christoph Oelckers
b549228d4d
- commented out the time wasting level loading screen in Blood.
...
Now seriously, doing frequent screen updates here only make things worse!
2020-01-02 23:35:29 +01:00
nukeykt
cc4f801b1e
Blood: fix candles
2020-01-02 20:21:20 +01:00
nukeykt
57e925a1bb
Blood: Explosion polymer light
2020-01-02 20:21:19 +01:00
nukeykt
8fbd6674d2
Blood: polymer lights wip
...
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/blood.cpp
# source/blood/src/osdcmd.cpp
2020-01-02 20:21:19 +01:00
nukeykt
9208c1249d
Blood: fix uninitialized palette usage
...
# Conflicts:
# source/blood/src/view.cpp
2020-01-02 20:19:01 +01:00
Christoph Oelckers
4571ba74c2
- merge fixes.
...
Why does that freaking merger always delete the namespace markers...?
2020-01-02 19:20:11 +01:00
nukeykt
2e085b559f
Precache more tiles on level start
...
# Conflicts:
# source/blood/src/fx.cpp
# source/blood/src/gib.cpp
# source/blood/src/gib.h
# source/blood/src/qav.cpp
# source/blood/src/weapon.h
2020-01-02 19:20:11 +01:00
nukeykt
7af92bb327
blood: Precache fonts
2020-01-02 19:20:11 +01:00
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
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
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
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
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
f1891c7750
- fixed compilation.
2019-12-29 22:47:40 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
a28cd17454
- refactoring of DN3D sound code complete but not tested yet.
2019-12-15 13:34:00 +01:00
Christoph Oelckers
62660e76f3
- sound system rework. Not complete.
2019-12-15 10:00:25 +01:00
Christoph Oelckers
d23b4a7e33
- hooked up ZDoom' joystick code and removed the remaining parts of the old MACT input library.
2019-12-14 20:15:15 +01:00
Christoph Oelckers
5c0cd5114d
- transitioned Blood to the common mapinfo system.
2019-12-11 00:57:53 +01:00
Christoph Oelckers
0e19d4262e
- savegame and mapinfo cleanup in DN3D and RR frontends.
...
Also added an "end game" flag to the mapinfo. For those who like to assemble single levels into custom episodes. More features for that to come. ;)
2019-12-10 22:22:59 +01:00
Christoph Oelckers
db29fc1a01
- removed the mostly useless changelevel CCMDs.
...
It makes more sense to do a real 'map' CCMD instead once the level management is working properly.
2019-12-10 17:25:45 +01:00
Christoph Oelckers
5e9b874610
- exported most of Blood's text to the string table
...
MP messages with %s yet to do.
2019-12-09 02:01:30 +01:00
Christoph Oelckers
66218dd074
- connect SW with statistics code and added missing function for Blood
...
# Conflicts:
# source/blood/src/blood.h
# source/common/menu/messagebox.cpp
# source/sw/src/game.cpp
# source/sw/src/game.h
2019-12-09 01:03:18 +01:00
Christoph Oelckers
4ef9ec6708
- call STAT_StartNewGame globally from the menu
2019-12-09 01:00:46 +01:00
Christoph Oelckers
9f25c9c117
- some string rework
...
* removed temporary placeholder content from string init function. All this gets properly read from definition files now.
* preinitialize a few quotes that are used for status display purposes and are needed in all games
* only use the global episode name table in Blood to avoid redundancy
* let SW's swcustom parser write to the global tables instead of local ones.
2019-12-09 01:00:46 +01:00
Christoph Oelckers
ff50a1681f
- simplified the music playing interface a bit.
...
#
2019-12-07 18:28:30 +01:00
Christoph Oelckers
0342b96335
- cleaned out the remaining wrappers from cache1d.h and use the file system directly instead.
2019-12-07 10:49:23 +01:00
Christoph Oelckers
30cbcb54b1
- renamed the remaining file system access wrappers in cache1d.h
2019-12-07 10:31:27 +01:00
Christoph Oelckers
749eda32c5
- moved kopenfilereader into the FileSystem class.
2019-12-07 10:14:51 +01:00
Christoph Oelckers
7d7507d453
- always add movie and music subdirectories.
2019-12-07 00:57:45 +01:00
Christoph Oelckers
5c7b05a791
- made THINGINFO const.
2019-12-07 00:07:02 +01:00
Christoph Oelckers
7a8208eb2f
- fixed out of bounds memory access.
2019-12-06 23:20:18 +01:00
Christoph Oelckers
06d2f9fcf1
- fixed music names in Blood
2019-12-06 20:31:17 +01:00
Christoph Oelckers
66756bfa13
- final fixes for Blood's and Duke Nukem's menus.
2019-12-06 18:36:49 +01:00
Christoph Oelckers
7a9138cde0
- made the confirmation screen functional.
...
This works but still needs a bit of visual work.
2019-12-05 23:17:55 +01:00
Christoph Oelckers
169d68f583
- fixed stuff and cleaned out most of the old menu code.
2019-12-05 19:00:40 +01:00
Christoph Oelckers
628bd9efc6
Filled in the rest of the menus
...
Sound is only partially functional, video mode completely nonfunctional, but it makes no sense adjusting them to the current backend code when it's due for replacement.
2019-12-05 00:47:05 +01:00
Christoph Oelckers
cb0538d0f2
- mouse aiming cleanup.
...
Reverted this to a sane setting, as it was in the original games and in all other games I have ever seen, i.e. there is a global setting to enable mouse view, and a button to manually trigger it. The toggle can be easily handled by flipping the CVAR directly.
The main problem here was that it triggered a few cases for mouse-less gameplay in the default case with a mouse present, because the mouseaim CVAR was no longer what the game expected.
This misguided change seems to have originated in JFDuke but by now had propagated to all the other games as well, the code was in all 4 frontends.
2019-12-05 01:08:35 +01:00
Christoph Oelckers
6d04f0f159
- added option to print custom messages with Duke Nukem's quote system.
...
- hooked up all front ends with a generic message printing function so that common code can access the native message displays. This is needed for consolidation of some input actions which are mostly identical but print messages.
- preparations for a generic message system.
2019-12-04 21:35:35 +01:00
Christoph Oelckers
72857db17b
- refactor of the quote storage.
...
This was consolidated for both EDuke and RedNukem frontends, put into a class with strict access control and the length limit was lifted.
The new class will eventually allow better localization control.
2019-12-04 00:28:28 +01:00
Christoph Oelckers
c561255018
- moved the application of in_mousebias and in_mousedeadzone into the backend code.
...
This piece was repeated 6x for each call to CONTROL_GetInput, creating quite a bit of redundancy.
2019-12-03 20:58:43 +01:00
Christoph Oelckers
6245a0e2e2
- added mouse and controller menus
...
The controller menu obviously does not work yet, it needs quite a bit of backing code fron GZDoom first.
2019-12-03 01:21:27 +01:00
Christoph Oelckers
65ae00fb74
- completion of controls menu
...
- some message printing cleanup in SW frontend. This still has its native console that needs to be removed.
2019-12-03 00:57:03 +01:00
Christoph Oelckers
00b2467eea
- WIP keybinding cleanup
2019-12-02 02:07:32 +01:00
Christoph Oelckers
36cf2583e4
- removed some dead code.
2019-12-02 00:19:35 +01:00
Christoph Oelckers
e743268c4b
- Blood load/save works.
2019-12-01 22:54:52 +01:00
Christoph Oelckers
eb668180c8
- implemented help and credits menu for Blood.
2019-12-01 21:44:50 +01:00
Christoph Oelckers
e8c5939695
- more work on Blood menus. Game start works.
2019-12-01 20:17:30 +01:00
Christoph Oelckers
e2be025433
- fixed the Ion Fury credit screens.
...
The entire 'fix' here consisted of hacks to give the CON script exactly what it needs to show them as intended.
2019-12-01 17:48:56 +01:00
Christoph Oelckers
b372cb5f35
- the primary Blood menus are working.
...
Now this was magnitudes easier than the EDuke menu - NBlood's menu is actually clean and usable code but still nothing compared to a unified menu system.
2019-12-01 15:31:08 +01:00
Christoph Oelckers
aed05840ae
- removed the mouseInactiveConditional interface function.
...
This was only a crutch to let the input interface work with the original menus.
Now that the one in Blood is gone, all the conditions are no longer relevant. (Shadow Warrior never got far enough to implement this)
2019-12-01 10:31:44 +01:00
Christoph Oelckers
5d0d37df25
- disconnected Blood's menu.
...
This is due for replacement next.
2019-12-01 10:18:38 +01:00
Christoph Oelckers
8a98f9b3ca
- removed quitevent.
...
This was some meticulously preserved relic of bad old DOS times used to block OS facilities to close an app.
Since this has been worked around at a lower level already the variable was essentially without function but some quite bad code depended on it.
2019-12-01 09:02:17 +01:00
Christoph Oelckers
2a9e4fca46
WIP safety commit
2019-11-30 19:23:54 +01:00
Christoph Oelckers
cd4ff92266
- handle Blood.
2019-11-28 03:32:02 +01:00
Christoph Oelckers
324056ad88
- more cleanup on music code
...
* removed some redundant functionality (e.g. Shift-F5 to change - use the console for that!)
* removed a few more leftover parts of the old music system
* savegames should not do more than resuming the music at the point of saving. (DN3D and RR only so far. Blood to be done.)
* handle music enabling/disabling in the backend, which simply knows better what to do. This was only working in the menu, so changing the CVAR had no effect.
2019-11-28 03:18:58 +01:00
Christoph Oelckers
723b210c95
- major work on savegame code
...
Not tested yet!
* Added a JSON-based header to the savegames so that the unified menu can read from a common data source.
* moved loading and saving of frontend independent data to the wrapper so that support is automatic.
2019-11-27 00:41:26 +01:00
Christoph Oelckers
f2cfad8d9b
Merge branch 'master' into menu_for_real
2019-11-25 23:52:39 +01:00
Christoph Oelckers
1f1e39fac0
- consolidation of texts for episode and skill menus
...
So far without localization capability - the engine cannot handle it yet.
2019-11-25 00:02:00 +01:00
Grind Core
0dbf3bbb1e
- Custom Dude updates and refactor
...
- Player Control updates
- Minor modern types updates
- There was removed GDX prefix for all modern stuff
# Conflicts:
# source/blood/src/aiunicult.cpp
# source/blood/src/aiunicult.h
# source/blood/src/mapedit.cpp
# source/blood/src/player.h
# source/blood/src/sfx.h
2019-11-24 22:38:21 +01:00
Christoph Oelckers
52cfb7fb92
- completely disconnected the old menu from the rest of the game to allow rebuilding the new one.
...
Sadly this uncovered a few more places where script events are allowed too broad access to the game state.
2019-11-23 23:05:24 +01:00
Christoph Oelckers
6d40c9202c
- deleted a batch of code from engine.cpp which is only needed for the assembly drawers.
2019-11-20 19:33:36 +01:00
Christoph Oelckers
def63209be
- fixed savegame loading in Blood.
2019-11-14 21:22:42 +01:00
Christoph Oelckers
ba117554b0
- fixed savegame issues.
...
Since the code is extremely volatile I changed the setup so that the save is a zip file with the regular snapshot plus all added data as separate entries.
This allows compressing everything properly without savegame breaking interference.
Blood does not yet load its savegames, need to check.
2019-11-14 21:07:43 +01:00
Christoph Oelckers
7f3d00446d
- removed the unused File* functions which were the last remaining places to use stdio FILE for reading.
...
For writing FILE is mostly fine, but reading should exclusively use FileReader to ensure interoperability with the virtual file system.
2019-11-13 18:34:05 +01:00
Christoph Oelckers
c6a38faf39
- add savegame support for the statistics and secret hint feature.
2019-11-13 18:23:45 +01:00
Christoph Oelckers
8055d10362
- hooked up the secret hint system
2019-11-13 00:44:33 +01:00
Christoph Oelckers
35bc7f56fc
- added secret hint code.
...
Not hooked up yet.
2019-11-12 23:23:22 +01:00
Christoph Oelckers
dee1cba849
- hooked up Blood with the statistics code.
2019-11-12 22:59:51 +01:00
Christoph Oelckers
22ccea8677
- reworked music interface a bit.
...
Conmsidering how hard it is in Duke Nukem based games to modify the level music, there is now a setting for this in mussetting.txt to make the job easier and even allow setting level music in Redneck Rampage without replacing game data.
2019-11-12 00:43:07 +01:00
Grind Core
0d82280b87
- Added event initiator for sectors and walls
...
- Added dynamic dispersion for custom dude
- Added dynamic attack distance for custom dude
- Added dynamic damage resistance scale for custom dude
- There was some refactor actions performed
- Added player RX channels for triggering the players
- Updates for modern types
- There was added player control modern type which can do a lot things. It's
still WIP
- Other updates and fixes mainly related to gModernMap
Note that your save games will be no longer compatible
# Conflicts:
# source/blood/src/actor.h
# source/blood/src/aiunicult.h
# source/blood/src/db.h
# source/blood/src/player.h
# source/blood/src/triggers.h
# source/blood/src/weapon.cpp
2019-11-11 22:59:05 +01:00
Grind Core
d79c45584a
- No weapon fix
...
I just forget to set default values
2019-11-11 22:54:03 +01:00
Christoph Oelckers
9f9748ede6
- initial ZMusic hookup.
2019-11-10 23:58:51 +01:00
Christoph Oelckers
79561ace09
- use the precalculated or script-specified fade colors, if present.
2019-11-10 21:11:17 +01:00
Christoph Oelckers
5fc81d1bd4
- made brightmaps operational.
...
The logic is not yet optimal but at least it works.
2019-11-10 19:42:26 +01:00
Christoph Oelckers
21ac5e87b5
- added blend table translucency estimation instead of using a lame default.
...
- draw fullscreen blends below the console.
- moved all mouse event processing out of the SDL backend to D_PostEvent.
- removed all remaining code for dealing with mouse buttons directly.
2019-11-10 15:15:14 +01:00
Christoph Oelckers
a1a9770b44
- reworked the FPS display to use ZDoom's fstat class to get rid of the microscopic font it used.
...
- changed time display for rendering to exclude VSync and playsim times to get more meaningful information.
2019-11-10 11:42:25 +01:00
Christoph Oelckers
672498be1d
- hooked up the keybind menu for Blood as well and disabled some obsolete mouse settings.
2019-11-09 22:58:34 +01:00
Christoph Oelckers
2997bb6292
- the keybinding menu is finally working.
...
Obviously the existing menu implementation from Duke Nukem needs to be tossed out at some point, but at least the functionality is there again.
2019-11-09 22:22:51 +01:00
Christoph Oelckers
299f596afc
- Changed EDuke menu to receive all settings storage locations as CVARs.
...
With this out of the way the only part that needs a real replacement immediately is the keybinds menu.
2019-11-09 19:15:03 +01:00
Christoph Oelckers
9aa275f996
- got rid of some editor-only code and the entire buildvfs header
...
Nearly all file write access now uses the FileWriter class, which is UTF-8-safe on all platforms - unlike stdio.
2019-11-08 02:02:54 +01:00
Christoph Oelckers
5d31119a49
- fixed the Shadow Warrior menu, but it doesn't do much good. The game appears to be thoroughly broken.
2019-11-06 19:22:14 +01:00
Christoph Oelckers
341ca9dd3a
- removed the EDuke revision data and replaced it with Demolition's own.
2019-11-05 20:48:34 +01:00
Christoph Oelckers
8321bc6208
- removed most of the old OSD's hooks.
2019-11-05 20:25:57 +01:00
Christoph Oelckers
c46b22e52e
- more cleanup of obsolete OSD code.
2019-11-05 20:16:53 +01:00
Christoph Oelckers
a4483f131d
- Printf related cleanup.
2019-11-05 20:07:16 +01:00
Christoph Oelckers
570696fc09
- added ZDoom's CCMD code.
...
Not tested yet.
2019-11-04 23:01:50 +01:00
Christoph Oelckers
1ee4efebb0
- fixed compilation.
2019-11-04 17:58:18 +01:00
Christoph Oelckers
0b6db7eede
- cleanup of baselayer.cpp
2019-11-04 01:18:38 +01:00
Christoph Oelckers
29b7e1cf79
- moved all mouse button handling to the input state
...
Yet again an unbelievable piece of code working around how input works on modern systems to keep the old 90's code alive.
2019-11-04 01:01:54 +01:00
Christoph Oelckers
b747df60ee
- moved all keyboard related code into the InputState class, so that looking for this stuff is easier.
...
Sadly there's 1ß00 lines of code using this...
2019-11-04 00:53:55 +01:00
Christoph Oelckers
01d5d51f13
- pass key events to the event queue.
2019-11-03 22:46:01 +01:00
Christoph Oelckers
1b958a7f9f
- removed more backing data for the old keybinding code.
...
Unfortunately this means that the keybinding menus in all games except Blood are shot to shit right now because of how they passed the data on to its destination.
These menus are not fixable, this will have to wait until the replacement is up.
2019-11-03 20:58:10 +01:00
Christoph Oelckers
eb049abc3a
- it compiles again (safety commit)
2019-11-03 20:24:50 +01:00
Christoph Oelckers
250fa0b847
- consolidation of exit and quit CCMDs.
2019-11-03 13:31:03 +01:00
Christoph Oelckers
3c7151810f
- made the game interfaces classes instead of function pointer lists because that is far better at error catching.
...
- fixed: Blood's monster flag is a 'have_monsters', not 'nomonsters' flag. As a result none were spawned.
2019-11-03 12:32:58 +01:00
Christoph Oelckers
3530c52264
- no need to have 2 CRC32 implementations.
...
Just let Bcrc32 point to zlib instead of having its own implementation.
2019-11-02 22:10:53 +01:00
Christoph Oelckers
e4ecc5d8df
- some reshuffling on OSD code.
...
* moved the binding commands to osd.cpp. They were in the global namespace already and this way everything to be tossed out is in the same place when the time comes.
* removed support for the OSDs native CVARs. The only ones left were some internal ones I won't need until this code can be replaced.
* same for the custpmization code the games added. Duke Nukem was the only one anyway to have a decent font for it.
2019-11-02 14:25:35 +01:00
Christoph Oelckers
8fb54b51c3
- rewrote the screenshot code to use m_png as its backend.
...
Mainly to finally get rid of kplib. There's really no use to keep such code around if alternatives are already present.
2019-11-02 12:59:59 +01:00
Christoph Oelckers
f44d309558
- made some adjustments to the RFS parser for the file system.
...
It's still not active but now should produce correct results when working inside the file system.
What it is missing is a file scanner that picks the data it needs to process.
2019-11-02 10:20:32 +01:00
Christoph Oelckers
c54ae1be83
- removed the remaining parts of cache1d. The only thing left is the dummy cacheAllocateBlock function that needs to stick around until a working cache is present.
...
- disabled the user maps menu because it is hopelessly dependent on functionality that cannot be fixed. Better wait until the menu refactor to do it right - it'd be a waste of time fixing the current menus.
2019-11-02 01:30:21 +01:00
Christoph Oelckers
1149b4f4aa
- various fixes and improvements related to file location management:
...
* saving of demos and savegames no longer mindlessly writes to the mod directory. All such access is now being rerouted through the special paths interface so that the game data can reside in write protected locations.
* refactored all occurences of klistpath except fnlist_getnames.
* do not allow CON scripts to write to arbitrary files. This is a massive exploit and can be used to cause real damage if someone knows how to play this thing - it's far easier than people may think! It will now write any such data to a special section in the main config which is safe and cannot be manipulated to write to random locations on the hard drive.
2019-11-02 00:38:30 +01:00
Christoph Oelckers
cfca8060ba
- gutted cache1d. The old file system is gone, excepr for klistpath, which still gets used in a few places.
...
- consolidated the 3 identical S_OpenAudio implementations. The replacement code is disabled for the time being because it needs a rewrite. The replacement logic is uses is a bit too volatile.
- removed the old GRP scan code.
2019-11-01 22:17:15 +01:00
Christoph Oelckers
2d7c0e26d2
- cleanup of the old file system initialization.
...
The real fun part is yet to come, i.e. removing the remaining dependencies on the old file system code.
2019-11-01 19:25:42 +01:00
Christoph Oelckers
8d5e665caa
- various initialization related changes
...
* reroute several error conditions to I_Error.
* removed some soon-to-be obsolete GRP loading code.
* explicitly trigger the SetDefaults script events which depended on side effects from the config implementation.
* removed the nonsensical file system switch. All this does is create instabilities because it is non-obvious from where data is loaded. If a resource is mounted, it should be checked for content no matter what. While this may affect the stray weird mod out there it is a necessity if we want to allow transparent project repackaging.
2019-11-01 09:30:28 +01:00
Christoph Oelckers
39bfd64fe9
- a bit more cleanup in app_init.
2019-11-01 08:24:10 +01:00
Christoph Oelckers
6c5d9c3507
- moved the net init code out of the game frontends to avoid having to call atexit for their deinit function.
...
When doing this during startup it can be done by regular cleanup measures.
This also moves two larger chunks of networking code out of game.cpp.
Nevertheless, the fact that enet is a very dirty library which directly depends on Windows types is a big problem because it bleeds Windows definitions everywhere thanks to poor abstraction in all relevant layers.
2019-11-01 07:26:49 +01:00
Christoph Oelckers
67acad3984
- startup cleanup.
2019-11-01 00:32:56 +01:00
Christoph Oelckers
57f879fa8b
- moved the startup dialog out of the game front ends, now that there is a global cross-game list of playable configurations.
2019-10-31 23:25:21 +01:00
Christoph Oelckers
ba00fe4e66
- hooked up the file system with Blood's resource access.
2019-10-31 20:17:49 +01:00
Christoph Oelckers
8ef40c5083
- merged most of Blood's resource manager into the file system
2019-10-31 17:13:48 +01:00
Christoph Oelckers
693095bffb
- added access wrappers to the two fields of DICTNODE that are accessed from the outside.
...
The idea here is to completely merge the resource management into the file system so that Blood's DICTNODE is merely an alias to the internal FResourceLump.
A two-tiered resource system is not something I consider worthwile, it made sense to get around Builds crappy cache but in the long term this is not a good solution for a multi-game port to have a resource management system in the backend and another one put over it in the front end, both with their own caching logic that might interfere with each other. Better merge it into one that can handle everything.
2019-10-31 00:50:45 +01:00
Christoph Oelckers
c6753a3fec
- tested and fixed game list loader.
2019-10-31 00:41:56 +01:00
Christoph Oelckers
2a7beeff69
- cleaned out some chunks of unused or useless code, most importantly the Build cache which was only used by the sound code for permanently loading the data into memory.
2019-10-30 21:51:04 +01:00
CommonLoon102
bc6c1bbc3c
Fix the game on non-Windows ( #240 )
2019-10-30 18:54:56 +01:00
Christoph Oelckers
ac87665972
- use std::filesystem for directory traversal.
...
So far implemented for scanning search paths
2019-10-29 19:53:46 +01:00
Christoph Oelckers
35342526a5
- WIP search path code
...
The Steam/GOG path getters were taken out of the frontends.
This also switches the Windows directory reader touse the wide string version to get Unicode file names.
Some paths were added to the config file instead of hard coding them.
2019-10-29 01:00:44 +01:00
Christoph Oelckers
762f174743
- moved the command line parser out of the game frontends.
...
Some part are not done yet, and the file system data is currently ignored - there's no way to properly set this up with the file system code Build came with.
2019-10-28 22:19:50 +01:00
Christoph Oelckers
5148fc877d
- consolidate the 3 instances of input.cpp.
...
Some stuff had to be disabled to make it work but that's hardly relevant considering that the goal is to transition off MACT for input handling.
2019-10-28 18:32:05 +01:00
Christoph Oelckers
a72863112b
- fix compilation
2019-10-28 17:50:08 +01:00
Christoph Oelckers
21f6178ade
- avoid writing directly to a backend status variable
2019-10-28 07:10:56 +01:00
Christoph Oelckers
901b86577e
- more cleanup
...
Moving init code and key binding getter to backend
2019-10-28 07:05:32 +01:00
Christoph Oelckers
4f4fc1a8d4
- Cleanup
2019-10-28 07:02:42 +01:00
Christoph Oelckers
065721c62b
- simplified the button state maintenance
...
This removes all unused parts of the implementation and moves the rest to the InputState class for easier replacement later. All MACT is doing now here is to call the UpdateStatus function, the internal workings are no longer relevant.
2019-10-28 07:00:31 +01:00
Christoph Oelckers
f8203ac766
- fixed the compile errors and consolidated the key binding CCMDs.
2019-10-28 06:47:49 +01:00
Christoph Oelckers
e7f75cbf4d
WIP
2019-10-28 01:12:31 +01:00
Christoph Oelckers
68b64d2091
- fixed compilation.
2019-10-27 23:18:44 +01:00
CommonLoon102
43da4b68a2
feature: show player names ( #234 )
...
# Conflicts:
# source/blood/src/config.cpp
# source/blood/src/config.h
# source/blood/src/menu.cpp
# source/blood/src/osdcmd.cpp
2019-10-27 22:24:30 +01:00
Christoph Oelckers
d962a7810d
- deleted unused headers
2019-10-27 22:15:21 +01:00
Christoph Oelckers
cee194fd05
- removed the MACT scriplib after completing the config transition.
2019-10-27 17:31:23 +01:00
nukeykt
aebd22eea8
This makes more sense
2019-10-27 16:54:25 +01:00
nukeykt
5a087b1768
Add gModernMap guard
2019-10-27 16:54:24 +01:00
Christoph Oelckers
bfea07570a
- mapped the remaining Shadow Warrior options to the CVARs.
2019-10-27 16:53:00 +01:00
Christoph Oelckers
2e7ba30068
- a bit more config cleanup.
2019-10-27 14:09:56 +01:00
CommonLoon102
441bd25ca5
feature: option to show voxels instead of sprites for showing weapon ( #233 )
...
# Conflicts:
# source/blood/src/controls.cpp
# source/blood/src/menu.cpp
# source/blood/src/osdcmd.cpp
2019-10-27 13:47:01 +01:00
Christoph Oelckers
c0d5ca8ab8
- Config work almost done.
...
The only thing still referencing the old config file is Shadow Warrior's config read function.
2019-10-27 13:40:24 +01:00
Christoph Oelckers
cdc5044f07
- converted noautoload and forcesetup flags to CVARs.
2019-10-27 09:38:55 +01:00
Christoph Oelckers
4b5ec2aabb
- transitioned the combat macros to the new config and made them independent for all games, so that everything can use the original text. (But considering that they are a multiplayer feature I'm not sure how much that is worth.)
...
- sort the config output alphabetically.
- do not use [=] as key names for the bindings.
2019-10-27 08:14:58 +01:00
Christoph Oelckers
249f6e9d62
- consolidated the joystick and mouse setup code.
2019-10-26 23:45:55 +02:00
Christoph Oelckers
b2d7179dbe
- consolidated the 4 sets of mouse and joystick configuration variables.
2019-10-26 21:50:49 +02:00
Christoph Oelckers
db1a9a9363
- the config finally get saved.
...
Still with a few errors, though.
2019-10-26 20:47:37 +02:00
Christoph Oelckers
cd47582632
- disabled the settings.cfg console script so that the newly added config code can take over its duties.
...
- write the console log to the folder returned by M_GetDocumentsPath and not to the root game directory.
- removed G_ExtPreInit because it has become redundant. The search path setup will have to be redone anyway.
2019-10-26 13:41:42 +02:00
Christoph Oelckers
1e0d49f947
- game starts again.
2019-10-26 13:16:32 +02:00
CommonLoon102
bcf3385ddf
randomize ejecting brass and shell angle on the ground ( #230 )
2019-10-26 10:35:15 +02:00
Grind Core
3cd44c89f5
Commented system message in OperateSprite()
2019-10-26 10:35:14 +02:00
Grind Core
b6ad64ee54
Refactor: xsector, xwall and xsprite structs
...
- Added QAV scene player (playing user animation instead of weapon)
- Added trigger event intiator for sprites (WIP and experimental)
# Conflicts:
# source/blood/src/actor.h
# source/blood/src/player.h
2019-10-26 10:35:13 +02:00
Christoph Oelckers
1c29169492
-perform a proper exit, i.e. make sure that the deinit code can run, by throwing a special exception and actually catching it in the main function.
2019-10-26 10:30:08 +02:00
Christoph Oelckers
0d878a8604
- some needed cleanup on the control code before testing can start.
2019-10-26 10:16:39 +02:00
Christoph Oelckers
47acdae8e6
- moved binding files to subdirectory
...
- fixed search/replace error.
2019-10-26 09:05:17 +02:00
Christoph Oelckers
cfaafcede7
- everything compiles again (not tested yet.)
2019-10-26 00:32:49 +02:00
Christoph Oelckers
9648c026a9
- small adjustments
2019-10-24 20:36:18 +02:00
Christoph Oelckers
8730ce552b
- make things compile again.
...
Let's hope it still works...
2019-10-24 20:28:46 +02:00
nukeykt
df415605ae
Use gameHandleEvents for time updating
...
# Conflicts:
# source/blood/src/gui.cpp
2019-10-24 19:49:57 +02:00
nukeykt
01d63d19e9
Fix crash with WinMM driver
2019-10-24 19:49:51 +02:00
nukeykt
7f094d3a73
Fix music init code
...
# Conflicts:
# source/blood/src/config.cpp
# source/blood/src/menu.cpp
# source/blood/src/osdcmd.cpp
2019-10-24 19:49:50 +02:00
nukeykt
e6f53f7c30
Resolve merge issues
...
# Conflicts:
# GNUmakefile
# platform/Windows/eduke32.sln
# platform/Windows/props/build_common.props
# source/audiolib/include/music.h
# source/blood/src/blood.cpp
# source/blood/src/gui.cpp
# source/blood/src/mapedit.cpp
# source/blood/src/sound.cpp
# source/build/include/vfs.h
# source/build/src/vfs.cpp
2019-10-24 19:48:11 +02:00
Christoph Oelckers
3ed87f449e
- and the last 2 hud CVARS for Blood…
2019-10-24 01:41:55 +02:00
Christoph Oelckers
3efb54e167
- ported most of the remaining HUD CVars
2019-10-24 01:30:33 +02:00
Christoph Oelckers
20df360778
- converted the Polymost CVARs.
2019-10-23 21:11:37 +02:00
Christoph Oelckers
c1041a9c37
- removed the unused DN3D menu code from the Blood subproject.
2019-10-23 19:08:41 +02:00
Christoph Oelckers
ee5f0a7cf6
- cleaned out the remains of the frontends' CVAR definitions.
2019-10-23 18:58:34 +02:00
CommonLoon102
20a393871b
fix compiler error: storage size of weaponQAV isn't known ( #226 )
2019-10-23 18:38:00 +02:00
Szilárd Biró
0f67b74a53
SEQFRAME big endian fix
2019-10-23 18:37:55 +02:00
Christoph Oelckers
21d90fd08b
- fixed compilation.
2019-10-23 18:36:48 +02:00
Christoph Oelckers
02fff2df06
- refactored wchoice and sensitivity CVARS
...
This is all that's needed for now, the remaining ones can wait.
2019-10-23 17:21:14 +02:00
Christoph Oelckers
18430c6c9f
- refactored r_fpslimit
...
Also removed the entire cruft related to this - the pointless offsetting value and the precalculation of the timer value (as if we could not afford a single division for something that WAITS!
Unfortunately this required removal of the menu option for the time being.
2019-10-23 17:07:29 +02:00
Christoph Oelckers
43413e4dff
- r_useprecache
2019-10-23 14:39:33 +02:00
Christoph Oelckers
63f020996e
- a few more CVARs
2019-10-23 01:30:43 +02:00
Christoph Oelckers
5dec4736ce
- r_drawweapon, r_showfps, r_showfpsperiod
2019-10-23 01:04:07 +02:00
Christoph Oelckers
e5d38b2d30
- in_mouseflip and in_mousesmoothing
...
in_mousemode removed from persistent state because of how it is used.
Saving it makes no sense.
2019-10-23 00:59:01 +02:00
Christoph Oelckers
b73cf76f05
- in_mousebias and in_mousedeadzone
...
Actually, two totally useless options being preserved for historical significance.
Urgh.
2019-10-23 00:55:48 +02:00
Christoph Oelckers
c0c62fe367
- in_mouseaiming
2019-10-23 00:51:49 +02:00
Christoph Oelckers
7501120dc8
- in_mouse and in_joystick
2019-10-23 00:41:28 +02:00
Christoph Oelckers
8f06f0748d
- minor CVAR cleanup and refactoring of one more
2019-10-23 00:30:51 +02:00
Christoph Oelckers
713250cc64
- refactored a few more CVARs.
2019-10-23 00:20:27 +02:00
Christoph Oelckers
d476037f45
- hooked up hud_custom.
2019-10-22 23:43:16 +02:00
Christoph Oelckers
e5aa6c5df0
- refactored the HUD scaling into something manageable.
...
Blood was fine, albeit with an inverted scale, but the EDuke implementation was something very special - and not in a good way, using 4 CVARs to store the scaling state instead of one.
2019-10-22 23:31:46 +02:00
Grind Core
b6c16abf6f
Refactor:
...
- PLAYER.H structs
- ACTOR.H structs
# Conflicts:
# source/blood/src/db.h
# source/blood/src/player.h
2019-10-22 17:49:59 +02:00
Christoph Oelckers
a829f1cb52
- fixed all compile errors.
2019-10-22 17:47:24 +02:00
Christoph Oelckers
edce0d33e3
- refactored crosshairscale CVAR
2019-10-22 17:00:22 +02:00
Christoph Oelckers
bdf2d24b21
- refactored cl_weaponswitch
2019-10-22 02:31:14 +02:00
Christoph Oelckers
3f48ecd479
- 5 more Blood exclusive CVARs.
2019-10-22 02:15:24 +02:00
Christoph Oelckers
8431266d27
- refactoring of music CVARs
...
This is a lot of changes in a lot of code because nothing here was abstracted into the sound system. :(
Hopefully most of the affected code here can be tossed out soon, it's not pretty.
2019-10-22 02:01:05 +02:00
Christoph Oelckers
c5cb86bf2b
- sevral simple CVARs ported
2019-10-22 01:00:22 +02:00