Mitchell Richters
31eb55c1fa
SW: Remove ScrollMode2D extern boolean and move into PLAYERp struct.
2020-05-19 12:55:32 +02:00
Mitchell Richters
670a53c402
SW: Make vehicle input better.
...
- Define new boolean 'on_vehicle' in PLAYERp struct for use with interpolating while on vehicle and other checks.
- Move horizon code back into separate DoPlayerHorizon() function. Adjusting horizon while in vehicle must come at the end of the DoPlayerOperate*() function.
- Make DoPlayerHorizon() accessible in game.cpp.
- Change code in DoPlayerHorizon() to process according how 'pp->on_vehicle' is set.
- Make scaleAdjustmentToInterval available outside of getinput().
- Don't process input at frame-rate while on a vehicle. Vehicle code is too difficult to process outside of the game's clock.
Partially based on NY00123's upstream implementation of tying player input to frame-rate.
2020-05-19 12:55:32 +02:00
Richard C. Gobeille
1c79e6e17c
SW: fix stupid input scaling bug
2020-05-11 21:27:29 +02:00
Mitchell Richters
8730bd9dda
- allow game's clock to keep running while paused (restores interpolations/animations in menus).
2020-05-08 21:23:02 +02:00
Mitchell Richters
ca994b31c9
SW: Set certain sync keys prior to checking them in the same function.
...
- Ensures action occurs within the requested frame and not the next.
2020-05-08 10:51:59 +02:00
Mitchell Richters
693b6955da
- reset buttonMap button states after returning from pause for SW (stops keys acting stuck down if down prior to pausing).
2020-05-06 10:51:08 +02:00
Mitchell Richters
99fdbfb6cb
- fix interpolation stutters when opening console for SW.
2020-05-06 10:51:08 +02:00
Christoph Oelckers
b8cfa94568
- fixed merge errors in SW.
2020-05-04 00:04:54 +02:00
NY00123
996ab77cf4
SW: Interpolate sector objects in non-demo, single player games.
...
Let's see if this is breaking anything.
# Conflicts:
# source/sw/src/draw.cpp
# source/sw/src/game.cpp
# source/sw/src/game.h
# source/sw/src/interp.cpp
# source/sw/src/track.cpp
2020-04-16 00:03:05 +02:00
NY00123
04bf8499e7
SW: Reset the number of interpolations on level load
2020-04-16 00:03:04 +02:00
Mitchell Richters
23c401fbc2
SW: Make "Center_View" key return smoothly.
2020-04-14 00:00:22 +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
f6b8ca6a22
Change Next/Previous Weapon button handling for Shadow Warrior.
...
- Makes consistent with Duke 3D, RR and Blood.
2020-04-13 23:59:49 +02:00
Mitchell Richters
0996e87f79
SW: Smooth out 180 degree turn landing and replace some fix16_min/max with fix16_clamp.
2020-04-13 23:59:17 +02:00
NY00123
120abb1029
SW: With the input tied to frame rate, disable aiming while the
...
player is dead, and also disable horizontal aiming while on a ladder.
2020-04-13 23:59:15 +02:00
Mitchell Richters
40ca656f38
SW: Use a bit more Q16.16 in places.
2020-04-13 23:59:14 +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
fac004b4d2
- palette code cleanup
2020-04-13 23:58:44 +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
0ca4bbd0c4
- changed some menu related names to match GZDoom.
2020-04-12 08:30:40 +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
1aa1e62c4d
SW: Don't process input at frame rate if ScrollMode2D is true.
...
- ScrollMode2D was running at the frame rate, turning off vsync made it unacceptable.
2020-04-06 21:28:36 +02:00
Mitchell Richters
039022d9ac
SW: Further refine turning and optimise horizon adjustment.
...
- Move DoPlayerTurn() into getinput(). Vehicle code remains external for now.
- Remove horizAdjust boolean and always do horizon code in getinput(). Eliminates single off frame at start of a new level until DoPlayerMove() is called at least once.
2020-04-05 21:28:25 +02:00
NY00123
a178961a3e
sw/src/game.cpp:LoadLevel: Rename q16ang -> ang
2020-04-05 21:28:25 +02:00
Mitchell Richters
5db8047b41
SW: Remove line accidentally left from 'MoveScrollMode2D()'.
2020-04-02 08:18:23 +02:00
Mitchell Richters
8e94c48eff
SW: Make map follow mode work better.
...
- Input was too fast following input code changes.
- Speed of input can now be changed with toggling the run key.
- Remove function 'MoveScrollMode2D()' and incorporate into 'getinput()' to reduce code duplication.
- Store map follow coordinates in PLAYERp struct and remove old globals.
2020-04-01 13:05:54 +02:00
Mitchell Richters
2852536dbf
SW: Adjust look and snap up/down keys and slightly tune PLAYER_TURN_AMOUNT.
...
- Look and snap up/down action was too aggressive and unlike vanilla, corrected.
- PLAYER_TURN_AMOUNT was slightly high, unbalancing the axes.
2020-03-31 08:58:56 +02:00
Mitchell Richters
5ebc65a1fb
SW: Refinements to new input code.
...
- videoNextPage() moved to after restoring interpolations.
- Properly use Q16.16 in as many places as possible. This fixes the angle/X-axis issues.
- Remove unnecessary call to timerUpdate() in main loop, only needs calling once and is called by eventhandlers().
2020-03-30 16:20:25 +02:00
Mitchell Richters
d4dd737cd5
SW: Amend scaleAdjustmentToInterval() with correct value for SW.
2020-03-30 09:52:14 +02:00
Mitchell Richters
c162014dab
SW: Process input at frame rate.
2020-03-30 09:52:14 +02:00
Mitchell Richters
d78d046bad
SW: Minor repairs for Q16.16 implementation.
2020-03-30 09:52:14 +02:00
Mitchell Richters
1ecc74c2ec
SW: Use Q16.16 for angle.
2020-03-30 09:52:14 +02:00
Mitchell Richters
f07a0ae01e
SW: Use Q16.16 for horiz.
2020-03-30 09:52:14 +02:00
Mitchell Richters
e878c5bab8
SW: Improve main game loop.
...
- Remove MoveLoop() as it's only ever called by RunLevel().
- Continuously call getinput() and domovethings() within the game's tic rate.
2020-03-30 09:52:14 +02:00
Christoph Oelckers
41545b644a
- cleaned out most of the software renderer's static global variables.
2020-03-29 16:59:49 +02:00
ny00123
4842f18f1b
SW: Mark function parameters as unused in cases we can't easily change
...
the functions' signatures (often due to being used as callbacks/hooks)
git-svn-id: https://svn.eduke32.com/eduke32@8696 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/jnstub.cpp
# source/sw/src/menus.cpp
# source/sw/src/panel.cpp
# source/sw/src/text.cpp
2020-03-07 19:48:14 +01:00
ny00123
3e8dc4e509
SW: Remove a bunch of unused function parameters
...
git-svn-id: https://svn.eduke32.com/eduke32@8694 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/brooms.cpp
# source/sw/src/draw.cpp
# source/sw/src/game.cpp
# source/sw/src/inv.cpp
# source/sw/src/save.cpp
# source/sw/src/spike.cpp
# source/sw/src/text.cpp
# source/sw/src/weapon.cpp
2020-03-07 19:45:38 +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
ny00123
d55871927a
SW: Comment out unused vars, which would become
...
used if previously commented out code was uncommented
(including a few instances of uninitialized var reads).
git-svn-id: https://svn.eduke32.com/eduke32@8686 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/brooms.cpp
# source/sw/src/cheats.cpp
# source/sw/src/draw.cpp
# source/sw/src/game.cpp
# source/sw/src/jnstub.cpp
# source/sw/src/menus.cpp
# source/sw/src/rts.cpp
# source/sw/src/sector.cpp
# source/sw/src/setup.cpp
# source/sw/src/sounds.cpp
# source/sw/src/weapon.cpp
2020-03-07 19:30:17 +01:00
ny00123
896de8aa1c
SW: Remove a ton of unused vars
...
git-svn-id: https://svn.eduke32.com/eduke32@8685 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/anim.cpp
# source/sw/src/border.cpp
# source/sw/src/brooms.cpp
# source/sw/src/config.cpp
# source/sw/src/console.cpp
# source/sw/src/coolie.cpp
# source/sw/src/draw.cpp
# source/sw/src/game.cpp
# source/sw/src/hornet.cpp
# source/sw/src/jbhlp.cpp
# source/sw/src/jnstub.cpp
# source/sw/src/jsector.cpp
# source/sw/src/menus.cpp
# source/sw/src/miscactr.cpp
# source/sw/src/network.cpp
# source/sw/src/ninja.cpp
# source/sw/src/player.cpp
# source/sw/src/save.cpp
# source/sw/src/serp.cpp
# source/sw/src/setup.cpp
# source/sw/src/sounds.cpp
# source/sw/src/sprite.cpp
# source/sw/src/swconfig.cpp
# source/sw/src/weapon.cpp
2020-03-07 19:30:17 +01:00
Christoph Oelckers
ee191f0681
- SW: map cheat partially reimplemented.
2020-03-01 16:33:06 +01:00
Christoph Oelckers
69e018d0c4
- added serialization of playing sounds.
...
For ambient sounds that can be cleanly restarted a new 'transient' flag was added so that these do not get written out.
Tested on SW so far, other games yet to do.
2020-02-29 12:33:35 +01:00
Christoph Oelckers
9fab46b7d7
- initialize the secret hint system for each level.
2020-02-22 08:57:18 +01:00
Christoph Oelckers
3cd2b92dd1
- pause all game sounds while the menu or console are open and marked SW's UI sounds as such.
2020-02-16 20:08:04 +01:00
Christoph Oelckers
071a364d83
- SW: Stop all sound before starting a cutscene
2020-02-14 00:52:57 +01:00
hendricks266
9269295102
SW: Don't restart the music when loading a save playing the same track
...
git-svn-id: https://svn.eduke32.com/eduke32@8627 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/game.cpp
# source/sw/src/save.cpp
2020-02-11 18:21:58 +01:00
hendricks266
5d475c2788
SW: Add handleevents to end credits
...
From JFSW commit 0c651743f8371fade0231e9c3206ca25e6ae5269
git-svn-id: https://svn.eduke32.com/eduke32@8626 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:21:00 +01:00
hendricks266
0b23c14b9d
SW: Fix potential blank 3DR logo
...
From JFSW commit 18d1c68893693e68d0ce7d41bd1eacbec5655d4f
git-svn-id: https://svn.eduke32.com/eduke32@8625 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/game.cpp
2020-02-11 18:20:59 +01:00
Christoph Oelckers
41f2c62ed1
- use the original Build engine compatibility for Shadow Warrior.
...
The 'modern' code causes problems with the tank in the fourth map and probably elsewhere, too.
2020-02-10 22:38:17 +01:00
Christoph Oelckers
803e57c3b3
- fixed: Reverb must be fully disabled when starting the SW intermission.
2020-02-05 20:25:18 +01:00
Christoph Oelckers
ca21852945
- hook up -nologo.
2020-02-02 20:44:57 +01:00
Christoph Oelckers
a594ba32d4
- added assignment to an unused scratch variable to the InitActor*Noise functions.
...
They are used a state identifiers but identical content-wise so MSVC's linker would merge them all together into one if some code wasn't added to make them different.
A global check for the scratch variable was added in a harmless place to ensure that whole program optimization algorithms won't optimize it out anyway after discovering that the variable is never used.
2020-02-02 08:53:28 +01:00
Christoph Oelckers
0e1eeea037
- use the game palette directly for palette lookups.
...
The setup here is far too messy for having a copy in a better format - it can be changed in some non-obvious places.
2020-02-01 23:05:43 +01:00
Christoph Oelckers
1cce5d8de2
- fixed RR was still generating input events when the game was paused.
2020-02-01 13:07:58 +01:00
Christoph Oelckers
77ad7dfb81
- fixed incomplete savegame restoration from inside the game.
...
This now quits the game loop instead of trying to set up the loaded level from inside it.
2020-02-01 10:50:40 +01:00
Christoph Oelckers
a32da009bd
- moved V_Init2 in SW a little further up so that the cache calls are being made with an initialized renderer.
2020-01-29 19:06:26 +01:00
Rachael Alexanderson
1c8c2543cb
- fixed: Shadow Warrior: End sequence was still 'hung'
2020-01-27 11:11:21 -05:00
Christoph Oelckers
245aa5d3bc
- reworked global palette state for robustness.
2020-01-26 10:58:00 +01:00
Christoph Oelckers
fd1e63b996
- allow skipping in the end of game sequence.
2020-01-24 21:41:47 +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
dcbb936a9b
- fixed hud_scale for Shadow Warrior.
2020-01-22 15:21:07 +01:00
Christoph Oelckers
83292c9dd6
- fixed a few issues and added some savegame debug code for Shadow Warrior.
2020-01-05 18:49:19 +01:00
Christoph Oelckers
746aa4da82
- added a ClearScreen function to the 2D drawer to wrap the frequent occurence of this use case.
2020-01-05 10:48:44 +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
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
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
3a6d0b8f84
- more cleanup.
2019-12-29 17:04:38 +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
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
hendricks266
846c7eaff2
SW: Run all allocations through Xmalloc et al
...
git-svn-id: https://svn.eduke32.com/eduke32@8515 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/audiolib/src/driver_winmm.cpp
# source/audiolib/src/flac.cpp
# source/sw/src/StartupWinController.game.mm
# source/sw/src/bldscript.cpp
# source/sw/src/game.cpp
# source/sw/src/game.h
# source/sw/src/grpscan.cpp
# source/sw/src/jbhlp.cpp
# source/sw/src/rts.cpp
# source/sw/src/scrip2.cpp
# source/sw/src/sounds.cpp
2019-12-26 08:47:09 +01:00
Christoph Oelckers
1a8f11e01d
Merge branch 'master' into powerslave
...
# Conflicts:
# source/build/src/sdlayer.cpp
# source/common/menu/menu.cpp
# source/sw/src/config.cpp
# source/sw/src/game.cpp
2019-12-26 00:21:04 +01:00
Christoph Oelckers
e180d9afd3
Merge commit '40a533402e443a0de1673543642c892ab9c731fd' into powerslave
...
# Conflicts:
# source/audiolib/include/fx_man.h
# source/audiolib/include/multivoc.h
# source/audiolib/src/_multivc.h
# source/audiolib/src/fx_man.cpp
# source/audiolib/src/multivoc.cpp
2019-12-25 19:24:55 +01:00
Christoph Oelckers
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
055b310d60
- rewrote all remaining places that used wm_msgbox to throw a fatal error instead so that the global error handler can deal with the messages.
...
This eliminates another piece of hideous code.
This commit also moves the memory error handler to the common code, so that all games can call it if triggered.
2019-12-24 19:59:14 +01:00
Christoph Oelckers
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
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
hendricks266
e50cdbad0c
SW, KenBuild: Remove some unnecessary #ifdef RENDERTYPEWIN
...
git-svn-id: https://svn.eduke32.com/eduke32@8482 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/kenbuild/src/config.cpp
# source/sw/src/config.cpp
# source/sw/src/game.cpp
2019-12-22 15:19:15 +01:00
hendricks266
acd56e319a
SW: Add tailspritefree to savegames
...
git-svn-id: https://svn.eduke32.com/eduke32@8481 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/save.cpp
# source/sw/src/sounds.cpp
2019-12-22 15:16:58 +01:00
hendricks266
deec38c827
Expose nextvoxid variable
...
This allows game and defs to not overwrite each other's voxels.
git-svn-id: https://svn.eduke32.com/eduke32@8471 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/kenbuild/src/bstub.cpp
# source/kenbuild/src/game.cpp
# source/sw/src/bldscript.cpp
# source/sw/src/jnstub.cpp
2019-12-22 15:12:49 +01:00
hendricks266
f03bc3656f
SW: Add call to palettePostLoadLookups
...
git-svn-id: https://svn.eduke32.com/eduke32@8469 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/jnstub.cpp
2019-12-22 15:11:13 +01:00
Christoph Oelckers
c056a53792
- fixed ANM playback in Shadow Warrior and removed the rather pointless caching for the ANM files.
2019-12-19 10:18:05 +01:00
Christoph Oelckers
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
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
a087d566ee
- more refactoring on SW's sound system:
...
* removed all cases of getting a sound handle and checking it later.
* In particular, refactor the cases where the handle is stored in a static local variable. These are fundamentally unsafe because nothing maintains these local variables.
* finished rewriting the PlaySound function. Let's hope this is what was intended, the entire coding here was not particularly good, mixing high and low level sound handling all on the same level.
* call the update routine each tic and not merely every 4th or 8th one, this kind of granularity was ok in 1997 but not with a modern sound engine.
2019-12-18 19:17:37 +01:00
Christoph Oelckers
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
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
cbfb79977a
- adjustments to make it compile with the new menu code.
2019-12-13 21:01:14 +01:00
Christoph Oelckers
052ed5fff7
Merge branch 'master' into powerslave
2019-12-13 20:43:23 +01:00
Christoph Oelckers
4d28940d2f
- commented stuff out to make it compile.
2019-12-13 00:19:16 +01:00
Christoph Oelckers
3f524d7026
- set currentLevel in SW
2019-12-11 02:30:34 +01:00
Christoph Oelckers
875678f20b
- transitioned Shadow Warrior to the global mapinfo
2019-12-11 02:01:11 +01:00
Christoph Oelckers
16818d2d71
- exported Shadow Warrior strings to stringtable.
...
The MP obituaries are not handled yet, they were only copied but there's no code using them.
2019-12-09 21:19:05 +01:00
Christoph Oelckers
6ef1f96b40
- added SWP's parser for theme music definitions.
...
Because, why not? The SWCustom I use already contains them.
However, since the original source does not play theme MIDIs - only CDA, there's a switch to disable them.
2019-12-09 20:12:54 +01:00
Christoph Oelckers
ba978ab0d9
- text update and missing includes.
2019-12-09 17:17:15 +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
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
f2d0665557
- connected the screen size CVAR and slider with Shadow Warrior's internal setting.
2019-12-07 21:39:17 +01:00
Christoph Oelckers
8f90cc8324
- more Shadow Warrior cleanup.
2019-12-07 20:48:16 +01:00
Christoph Oelckers
0157446ad1
- thorough cleanup of the Shadow Warrior music code.
...
This was one huge mess where nothing fit together.
Also added an enhancement that the CD Audio boss theme tracks are also played when CD music is generally off, because these have no equivalent in MIDI. This needs to be checked if it's stylistically ok, though.
2019-12-07 19:57:19 +01:00
Christoph Oelckers
9960b505e8
- added captions to SW's game menus.
...
- made Duke Nukem's quote strings localizable.
2019-12-07 12:42:25 +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
ef87d2d4f9
- always pause the game when the console is open.
2019-12-07 10:01:03 +01:00
Christoph Oelckers
223c6d628e
Merge branch 'master' into menu_for_real
2019-12-05 21:08:46 +01:00
hendricks266
22a778a22c
SW: Don't show the status bar during the end of level screen
...
git-svn-id: https://svn.eduke32.com/eduke32@8353 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-05 17:23:04 +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
3ea526055f
- added a generic message display, using ZDoom's code.
...
This is mainly meant for Nam and WW2GI which have an ugly-as-hell font for these texts.
2019-12-04 23:07:02 +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
702f91b6b5
- disconnected Shadow Warrior's menu so it can be replaced.
...
Unlike the other games this was a lot more invasive
2019-12-02 21:05:19 +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
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
9cb6c65223
- fixed errors in SW merge.
2019-11-30 10:07:25 +01:00
Christoph Oelckers
3c4c8af20c
Merge branch 'master' into menu_for_real
2019-11-30 09:33:35 +01:00
hendricks266
769b359928
SW: Add Alt Weapon Mode gamefunc and bind it to MOUSE3 by default
...
git-svn-id: https://svn.eduke32.com/eduke32@8342 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/_functio.h
# source/sw/src/function.h
2019-11-30 09:28:10 +01:00
hendricks266
15b8bc959f
SW: Add Equip Pickups weapon auto-switching toggle
...
git-svn-id: https://svn.eduke32.com/eduke32@8339 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/swconfig.cpp
2019-11-30 09:26:02 +01:00
hendricks266
8d2159ab70
SW: Implement Darts option, including bloody frames
...
git-svn-id: https://svn.eduke32.com/eduke32@8338 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/menus.cpp
# source/sw/src/panel.cpp
# source/sw/src/sprite.cpp
# source/sw/src/swconfig.cpp
2019-11-30 09:24:32 +01:00
hendricks266
69c01587c7
SW: Make quick save and load actually quick
...
git-svn-id: https://svn.eduke32.com/eduke32@8337 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/game.cpp
# source/sw/src/game.h
# source/sw/src/menus.cpp
2019-11-30 09:23:47 +01:00
hendricks266
1cac2c76c6
SW: Add debug_break() to _Assert()
...
git-svn-id: https://svn.eduke32.com/eduke32@8335 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-30 09:21:39 +01:00
Christoph Oelckers
07ac12110f
- removed some piece of obsolete code merged from upstream.
2019-11-30 01:07:46 +01:00
Christoph Oelckers
6d110da209
- removed some piece of obsolete code merged from upstream.
2019-11-29 20:14:45 +01:00
Christoph Oelckers
a7bbd7324e
Merge branch 'master' into menu_for_real
2019-11-29 19:55:16 +01:00
hendricks266
f19c9eb840
SW: Clean up startup messages
...
git-svn-id: https://svn.eduke32.com/eduke32@8328 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/game.cpp
# source/sw/src/grpscan.cpp
2019-11-29 17:29:11 +01:00
Christoph Oelckers
5590abd471
Merge branch 'master' into menu_for_real
2019-11-29 00:49:33 +01:00
hendricks266
d4eb10d10d
SW: Fix saves
...
Dynamically-allocated structs strike again.
git-svn-id: https://svn.eduke32.com/eduke32@8325 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/saveable.h
2019-11-29 00:48:16 +01:00
Christoph Oelckers
3bb46a4d8d
Merge branch 'master' into menu_for_real
2019-11-27 18:04:44 +01:00
hendricks266
0a70c5e55f
SW: Sanitize all uses of wall.nextwall to prevent OOBs
...
git-svn-id: https://svn.eduke32.com/eduke32@8322 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/jnstub.cpp
# source/sw/src/sector.cpp
2019-11-27 18:04:01 +01:00
Christoph Oelckers
0f4d80b5d3
Merge branch 'master' into menu_for_real
2019-11-26 19:19:21 +01:00
Christoph Oelckers
abdd807e7f
- fixed merge errors.
2019-11-26 19:10:24 +01:00
hendricks266
f411b72783
SW: Fix widescreen flickering in end of level screen
...
git-svn-id: https://svn.eduke32.com/eduke32@8310 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-26 18:06:41 +01:00
hendricks266
1a0b363ded
SW: Allow the Run key to Walk when AutoRun is enabled
...
git-svn-id: https://svn.eduke32.com/eduke32@8309 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/game.cpp
# source/sw/src/player.cpp
2019-11-26 18:06:40 +01:00
hendricks266
7fb425aebb
SW: Fix non-debug builds on Windows
...
git-svn-id: https://svn.eduke32.com/eduke32@8308 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-26 18:04:51 +01:00
hendricks266
2fc49b3489
SW: Fix mouse aiming
...
git-svn-id: https://svn.eduke32.com/eduke32@8298 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/config.cpp
# source/sw/src/game.cpp
2019-11-26 17:58:19 +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
728635c1c0
- correct application of in_mouseflip flag.
2019-11-20 23:29:13 +01:00
Christoph Oelckers
200f54ad47
- mouse turning works.
2019-11-20 22:50:37 +01:00
Christoph Oelckers
2da4294ba5
- hooked up the event processing for Shadow Warrior, so keyboard input is working now. Mouse movement is not being processed yet.
...
Also removed some leftover code from the old input system.
2019-11-20 22:01:44 +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
fd31d4fa6a
- replaced 32 bit SDL library - the preincluded one appeared to be broken.
...
- fixed main group autochoice.
- fixed uninitialized player links for Shadow Warrior.
2019-11-19 22:35:52 +01:00
Christoph Oelckers
f24de03501
- fixed auto-picking of game GRPS from the command line.
2019-11-19 21:35:35 +01:00
Christoph Oelckers
557bd201fb
- removed unused code. (MDA screen hack - huh???)
...
- Shadow Warrior updates from SWP.
2019-11-19 20:43:11 +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
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
c46b22e52e
- more cleanup of obsolete OSD code.
2019-11-05 20:16:53 +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
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
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
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
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
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
Christoph Oelckers
535c68fac1
- fixed Shadow Warrior startup.
...
It runs to the menu, unfortunately key input is broken.
2019-10-30 20:13:43 +01:00
Christoph Oelckers
266dc9e04e
- added SW search paths to new code and cleaned up the init code.
2019-10-30 19:26:55 +01:00
hendricks266
d410694e40
SW: Fix 3D Realms and ANM palettes
...
git-svn-id: https://svn.eduke32.com/eduke32@8272 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/astub.cpp
# source/sw/src/anim.cpp
# source/sw/src/colormap.cpp
# source/sw/src/common_game.h
# source/sw/src/game.cpp
2019-10-30 18:50:23 +01:00
hendricks266
d679603cab
SW: Fix MIDI music
...
git-svn-id: https://svn.eduke32.com/eduke32@8271 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/config.cpp
# source/sw/src/config.h
# source/sw/src/game.cpp
# source/sw/src/menus.cpp
# source/sw/src/sounds.cpp
2019-10-30 18:45:53 +01:00
hendricks266
dcba445f4e
SW: Fix file loading and init sequence
...
git-svn-id: https://svn.eduke32.com/eduke32@8269 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/common.cpp
# source/duke3d/src/game.cpp
# source/sw/src/common.cpp
# source/sw/src/common_game.h
# source/sw/src/game.cpp
# source/sw/src/jnstub.cpp
2019-10-30 18:38:43 +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
a72863112b
- fix compilation
2019-10-28 17:50:08 +01:00
Christoph Oelckers
4f4fc1a8d4
- Cleanup
2019-10-28 07:02:42 +01:00
Christoph Oelckers
c589a6ab82
- replaced KEY_PRESSED globally
...
This was just a redundant name getting in the way.
2019-10-28 07:01:01 +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
bfea07570a
- mapped the remaining Shadow Warrior options to the CVARs.
2019-10-27 16:53:00 +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
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
0d878a8604
- some needed cleanup on the control code before testing can start.
2019-10-26 10:16:39 +02:00
Christoph Oelckers
cfaafcede7
- everything compiles again (not tested yet.)
2019-10-26 00:32:49 +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
Christoph Oelckers
a829f1cb52
- fixed all compile errors.
2019-10-22 17:47: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
dbe3cadd0f
- refactored autorunning CVARs
2019-10-22 00:52:07 +02:00
Christoph Oelckers
30e9eed1b3
- the next CVAR, cl_autoaim
2019-10-22 00:05:21 +02:00
Christoph Oelckers
7cacb7203f
- refactored all file access in SW frontend to use the FileReader variant and added a few utilities to avoid opening handles.
...
Because use of the handle API needs to be eliminated before a functioning resource management can be plugged in here.
2019-10-20 20:08:17 +02:00
Christoph Oelckers
c3bc690e98
- more updating and bug in UpdatePicSize fixed.
2019-10-15 20:02:37 +02:00
Christoph Oelckers
0e165e40a3
- first batch of adjustments to the new tile management.
...
- consolidated Polymost precaching and removed precaching for static tiles because they now are always loaded.
- removed cache configurability. On modern systems this is relatively pointless - allocating 50 or 100 MB is a non-issue - and the cache is due for replacement anyway.
2019-10-15 00:54:14 +02:00
Christoph Oelckers
a6ba81939a
- reworked texture management, not yet active.
2019-10-12 22:49:46 +02:00
Christoph Oelckers
eca099681a
- hooked up the Shadow Warrior frontend.
...
It doesn't really work but this way it always gets compiled and linked so that it receives the changes to the backend code.
2019-10-09 20:14:04 +02:00
Christoph Oelckers
0f4abfa4f4
- SW compiles.
...
This required taking lots of function prototypes out of functions because they won't get a namespace in there.
2019-10-09 19:58:09 +02:00
Christoph Oelckers
70004665fd
- added Shadow Warrior files to CMake project - not compiled yet.
2019-10-09 18:09:05 +02:00
pogokeen
222e593437
Change some clocks to support sub-tick precision using a new class, ClockTicks.
...
Using that higher precision, interpolate at a higher granularity.
Further, truncate the target interpolation time to vertical blank boundaries to avoid producing temporal artifacts.
Fix issues caused by interpolation calculations being handled differently in multiple places (and fix cases where smoothratios were being thrown away only to be redone without checking all proper conditions).
Ensure ClockTicks changes do not break other targets (EKenBuild, VoidSW), but note any interpolation there is not similarly updated.
git-svn-id: https://svn.eduke32.com/eduke32@8050 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/sdlayer.cpp
2019-09-20 21:09:14 +02:00
Christoph Oelckers
53335f20ec
- Blood merge
...
# Conflicts:
# source/build/include/polymost.h
# source/build/src/build.cpp
# source/build/src/engine.cpp
# source/build/src/polymost.cpp
# source/build/src/voxmodel.cpp
2019-09-19 22:06:49 +02:00
hendricks266
5aec94bd60
SW: Fix more -Wformat-overflow
...
git-svn-id: https://svn.eduke32.com/eduke32@7560 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:23:34 +02:00
hendricks266
6c62f4e52d
SW: Fix -Wformat-security
...
git-svn-id: https://svn.eduke32.com/eduke32@7553 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:23:25 +02:00
hendricks266
36b75561cc
Update some program names
...
git-svn-id: https://svn.eduke32.com/eduke32@7537 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:06:18 +02:00
hendricks266
b6c8147842
SW: #ifdef'd out supportdir and user_profiles_disabled stuff for now.
...
Patch from Striker.
git-svn-id: https://svn.eduke32.com/eduke32@7522 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:05:54 +02:00