Christoph Oelckers
e5612b82c7
- fixed: The tile manager created its backup arrays before loading .def files.
...
This could let such textures disappear with the new main loop.
2020-09-02 00:36:49 +02:00
Mitchell Richters
1354d52c05
- Major cleanup of Q16.16 utilisation within games and engine.
...
* Remove fix16.h/cpp and utilise library from m_fixed.h.
* Extend m_fixed.h with two inline functions for int to/from float operations.
* Replace fix16_floor operations with those from xs_Float.h
* Replace multiple Q16.16 conversions from 0 to just be 0.
* Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h
* Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion.
* Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly.
* Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
2020-09-01 23:00:47 +10:00
Christoph Oelckers
6b1fa22aed
- fixed view centering in Exhumed.
...
Switched to GDX's code because the one present here looked quite weird.
This still does not feature interpolation.
Fixes #296
2020-08-31 21:41:39 +02:00
Christoph Oelckers
54d65bfcfc
- fixed some warnings
2020-08-31 19:28:05 +02:00
Christoph Oelckers
2f05a93547
Merge branch 'Packet' into back_to_basics2
...
# Conflicts:
# source/core/gamestruct.h
# source/games/duke/src/gameloop.cpp
# source/games/duke/src/player_d.cpp
2020-08-31 00:09:56 +02:00
Mitchell Richters
e32cd81cc7
- Unify stat fps
for all games.
2020-08-30 20:24:36 +02:00
Christoph Oelckers
ffe5b114f3
- the engine starts on the new main loop and is capable of running the intros and the menu, but not the game yet.
2020-08-30 12:49:21 +02:00
Christoph Oelckers
dc1f56e8f9
Merge remote-tracking branch 'remotes/Github_private/back_to_basics2' into Packet
...
# Conflicts:
# source/core/inputstate.cpp
# source/exhumed/src/exhumed.h
2020-08-29 01:19:48 +02:00
Christoph Oelckers
b9e0f493b2
- transitioned the 5 primary action keys: Open, Jump, Crouch and Fire/AltFire.
2020-08-28 23:25:08 +02:00
Christoph Oelckers
847fa48724
- cleaned out the remaining parts of baselayer.h
...
In particular this means to remove the option to disable widescreen aspect ratios. The way this was handled makes no sense with the current render backend.
The aspect ratio code will have to be redone entirely to properly obey the backend's settings.
2020-08-28 09:06:49 +02:00
Christoph Oelckers
d62d2eaec7
- processed all remaining local input CCMDs and removed some bits only needed for multiplayer.
...
These MP bits should be reimplemented as network commands later, they only take up valuable space in the bit field.
2020-08-28 00:03:35 +02:00
Christoph Oelckers
447573aa36
- consolidation of invprev, invnext and invuse.
2020-08-27 22:19:24 +02:00
Christoph Oelckers
43de0d8312
- consolidation of inventory item activation through hotkeys.
...
This also adds hotkeys for Exhumed which never implemented them.
2020-08-27 21:25:09 +02:00
Christoph Oelckers
10df3e094a
- rework of weapon input to use common features in shared code.
...
This also adds stubs for all unimplemented features in the games for easier addition.
2020-08-27 00:53:35 +02:00
Christoph Oelckers
4b299fa412
- Exhumed also handled.
2020-08-27 00:58:21 +02:00
Christoph Oelckers
1a25504d02
- looks like the nAngle field in the PLayerInput struct isn't used for anything anymore.
2020-08-26 21:32:18 +02:00
Christoph Oelckers
4e846f8d66
- do not print game init messages to the notify display.
2020-08-26 20:19:54 +02:00
Mitchell Richters
e3fe1b2b60
- Exhumed: Correctly transform player velocities when running on single 30Hz timer.
...
Thanks, Graf :)
# Conflicts:
# source/exhumed/src/exhumed.cpp
2020-08-26 17:27:15 +02:00
Mitchell Richters
0c300c181f
- Exhumed: Unify game with single timer instead of getting forward/side velocity at 120Hz.
...
* Player movement is close, but not exactly as it was. Requires more work if it is to be considered.
# Conflicts:
# source/exhumed/src/exhumed.cpp
# source/exhumed/src/ps_input.h
2020-08-26 17:26:42 +02:00
Christoph Oelckers
abf715eace
- unified the packet structures of all games.
...
Currently the bit fields are still separate and they have to be merged, but for now the added memory does not matter.
Having this structure in the common parts will allow work on consolidating the input code, though.
2020-08-26 17:12:48 +02:00
Christoph Oelckers
2ae5f960c5
- renamed fields in Exhumed's packed struct.
...
One step closer to getting these merged.
2020-08-26 17:09:47 +02:00
Christoph Oelckers
5a77aace2f
- strip the structure for local input off the fields not needed here.
...
Now it's basically the same as Dukes.
2020-08-26 16:59:42 +02:00
Christoph Oelckers
c1b1182f90
- fix weapon selection in Exhumed.
...
Like Blood it looks like the request isn't processed immediately so it needs to stick around.
2020-08-26 16:59:42 +02:00
Christoph Oelckers
b76168f673
- moved the main event processing functions into the global main loop.
...
Now, with all the Build timer stuff removed these calls were all identical between games.
2020-08-26 16:59:41 +02:00
Mitchell Richters
2bf11ad378
- All Games: Remove use of timerGetTicks()
.
2020-08-26 09:49:38 +10:00
Mitchell Richters
aba5c4c134
- All Games: Remove use of timerGetHiTicks()
.
2020-08-26 09:49:36 +10:00
Mitchell Richters
b883204f6a
- All Games: Remove remaining use of totalclock
and associated timing code.
2020-08-26 09:49:34 +10:00
Mitchell Richters
a6cc3c4128
- Exhumed: Migrate to GZDoom time code like Duke and SW.
2020-08-26 09:48:57 +10:00
Christoph Oelckers
435e13dfa4
cleanup of the timer interface.
...
* rewrote all uses of timerSetCallback. Most were unnecessary or long obsolete, the sound updates need to run per frame, not per tic and the UI tickers need to be handled in the main loop anyway.
* Use a more precise timer to animate the menu transition.
* uncouple other menu animations from the game timer.
2020-08-25 19:42:11 +02:00
Christoph Oelckers
f1a988b221
- make use of map bindings
...
All automap controls have been moved there, and sizeup/sizedown have been made CCMDs, taking screen size management entirely out of the game modules
2020-08-24 20:20:15 +02:00
Christoph Oelckers
e158775e67
- … and for Exhumed
...
This game does not implement follow mode.
Note: Follow mode needs to be simplified across games!
2020-08-24 19:54:26 +02:00
Mitchell Richters
e225e85ae1
- Exhumed: Perform weapon bobbing with maximum precision and implement cl_weaponsway
.
2020-08-24 13:22:52 +10:00
Christoph Oelckers
8b8f048393
- moved parts of videoNextPage to app_loop.
2020-08-23 18:08:08 +02:00
Christoph Oelckers
adb98a47ba
- restructured the main loop code so that the actual loop is in the common code.
2020-08-23 17:47:05 +02:00
Christoph Oelckers
85875da77a
- removed the old start-of-level-only savegame code.
...
This serves no purpose anymore, even with a checkpoint-based gameplay the full saves will do just as well.
2020-08-23 16:30:20 +02:00
Christoph Oelckers
f7fcd341ec
- removed redundant levelnum variable.
...
Better use the global map record.
2020-08-23 16:24:54 +02:00
Christoph Oelckers
1a0e413d5c
- use CCMDs for Exhumed's input where applicable.
...
- made crosshair toggle consistent across games.
2020-08-23 16:11:18 +02:00
Christoph Oelckers
2a3f7a48c9
- implemented a proper kill counter.
...
Unfortunately the display is a bit limited by the available font characters.
2020-08-23 14:39:14 +02:00
Christoph Oelckers
5c7b613aa7
- reworked the main loop.
2020-08-23 12:26:52 +02:00
Christoph Oelckers
7889605ff4
- condensed main loop further, started laying out the new one.
2020-08-23 09:11:32 +02:00
Christoph Oelckers
9e5ca8c408
- moved game and level init code out of app_main.
2020-08-23 08:22:59 +02:00
Christoph Oelckers
5ba384db35
- moved the main game ticker out of app_main.
2020-08-23 07:49:58 +02:00
Christoph Oelckers
3a3ba43985
- Exhumed: moved the input code out of the main loop
2020-08-23 07:41:29 +02:00
Christoph Oelckers
fccd054381
- split off the entire game loop related code into its own file.
...
This should make it easier to work on this.
2020-08-22 22:40:22 +02:00
Christoph Oelckers
7401c0e133
- moved Ramses head code into its own file.
2020-08-22 21:39:14 +02:00
Christoph Oelckers
8589d43835
- migrated Exhumed's cheats to the global system.
...
This also eliminates the last pieces using that global string list. All relevant text is now in the external string table.
2020-08-22 21:13:11 +02:00
Christoph Oelckers
6d852c33dd
- added CCMDs for all 'holly' cheats that didn't have an equivalent yet.
2020-08-22 20:34:58 +02:00
Christoph Oelckers
6b1d6a44d7
- exported the item pickup messages to the string table and use the global 'nomonsters' flag.
2020-08-22 20:14:00 +02:00
Christoph Oelckers
bddd196539
- ported the credits screen.
2020-08-22 19:50:04 +02:00
Christoph Oelckers
d94077f833
- exported cinema texts to the string table as well.
2020-08-22 18:30:48 +02:00