Christoph Oelckers
31e5023004
- dodge, furthestcanseepoint, furthestangle.
2020-11-01 10:41:25 +01:00
Christoph Oelckers
4e675ea322
- makeitfall
2020-11-01 10:41:24 +01:00
Christoph Oelckers
291edcdab8
- getglobalz
2020-11-01 10:41:16 +01:00
Christoph Oelckers
8f75a58343
- shared SE31 code.
2020-11-01 10:31:41 +01:00
Christoph Oelckers
21fb3fb7bb
- shared SE25 code.
2020-11-01 10:27:54 +01:00
Christoph Oelckers
00f5a08390
- shared SE24 code.
2020-11-01 10:27:41 +01:00
Christoph Oelckers
02813802d4
- the 5 remaining shared SE handlers.
2020-11-01 10:12:27 +01:00
Christoph Oelckers
769bc3bd22
- handle_se20-26.
2020-11-01 10:02:58 +01:00
Christoph Oelckers
5d837176de
- handle_se18+19
2020-11-01 09:58:39 +01:00
Christoph Oelckers
5b096ea35e
- handle_se15-17.
2020-11-01 09:53:50 +01:00
Christoph Oelckers
33377e1810
- renamed a few things.
2020-11-01 09:45:37 +01:00
Christoph Oelckers
b585192721
- handle_se11-13.
2020-11-01 09:37:41 +01:00
Christoph Oelckers
83a9d99bd9
- use symbolic constants in spawneffectors.
2020-11-01 09:00:16 +01:00
Christoph Oelckers
45905b9137
- handle_se05, 08, 10.
2020-11-01 08:51:13 +01:00
Christoph Oelckers
2edc7168ca
- handle SE02-SE04.
2020-11-01 08:43:24 +01:00
Christoph Oelckers
3e62550489
- consolidated gutsdir functions by making the spawn offset for Duke's commander an actor property.
2020-11-01 08:23:03 +01:00
Christoph Oelckers
80aab4b5f7
- handle_se30.
2020-11-01 08:22:47 +01:00
Christoph Oelckers
a6468970c6
- renamed some variables.
2020-11-01 08:14:40 +01:00
Christoph Oelckers
2dd2ba1469
- handle_SE14 function signature and recordoldspritepos
2020-11-01 08:13:29 +01:00
Christoph Oelckers
d2b4cf6770
- reformatting
2020-11-01 08:03:07 +01:00
Christoph Oelckers
1b6161d472
- SE14 part 4
2020-11-01 08:00:43 +01:00
Christoph Oelckers
1cffc76c4e
- SE14 part 3
2020-11-01 08:00:03 +01:00
Christoph Oelckers
92f95ea195
- SE14 part 2
2020-11-01 07:56:49 +01:00
Christoph Oelckers
e13b61f496
- SE14 part 1
...
Doing this in smaller chunks because this function requires quite extensive adjustments.
2020-11-01 07:51:50 +01:00
Christoph Oelckers
1ce2600a43
- SE 0 and 1 handlers.
2020-11-01 07:36:49 +01:00
Christoph Oelckers
a37cfe2913
- renamed variables in handle_se00.
2020-11-01 07:28:49 +01:00
Christoph Oelckers
e9d6fb2bb5
- jibs, bloodpool, shell, glasspieces and scrap.
2020-11-01 07:27:15 +01:00
Christoph Oelckers
6cbe74e115
- forcesphere, watersplash2, frameeffect and money.
2020-11-01 07:24:00 +01:00
Christoph Oelckers
6e1d3a025a
- ooz, reactor and camera.
2020-11-01 07:23:27 +01:00
Christoph Oelckers
876b6d5081
- forcesphere and recon.
2020-11-01 07:20:17 +01:00
Christoph Oelckers
d0e12586ba
- added a higher level interface tp clipmove that unmangles its return.
2020-11-01 07:16:44 +01:00
Christoph Oelckers
3d16d9f44a
- respawnmarker, rat and queball.
2020-11-01 07:15:57 +01:00
Christoph Oelckers
6257ebc30c
- bounce, movetongue and rpgexplode.
2020-11-01 07:11:49 +01:00
Christoph Oelckers
e001b3117f
- movetouchplate, moveooz, movecanwithsomething.
...
# Conflicts:
# source/games/duke/src/funct.h
2020-11-01 07:07:59 +01:00
Christoph Oelckers
b7f26c064d
- 3 smaller functions.
2020-11-01 06:54:14 +01:00
Christoph Oelckers
c42ff35dc5
- hitradius
...
# Conflicts:
# source/games/duke/src/actors_d.cpp
# source/games/duke/src/actors_r.cpp
2020-10-31 13:24:31 +01:00
Christoph Oelckers
7dbe9d4bfb
- renaming in hitradius
2020-10-31 13:24:30 +01:00
Christoph Oelckers
81717b54ee
- detonate and movemasterswitch.
...
# Conflicts:
# source/games/duke/src/actors.cpp
2020-10-31 13:24:30 +01:00
Christoph Oelckers
89d750c94f
- renaming in movemasterswitch and detonate.
2020-10-31 13:24:30 +01:00
Christoph Oelckers
38e0ac1e3f
- movefountain and moveflammable.
...
# Conflicts:
# source/games/duke/src/actors.cpp
2020-10-31 13:24:30 +01:00
Christoph Oelckers
544078c9ba
- moveflammable renaming.
2020-10-31 13:24:29 +01:00
Christoph Oelckers
7a482c6284
- make DHUDFont an object.
2020-10-31 13:20:54 +01:00
Christoph Oelckers
7de6528a1f
- the status bars work as objects.
...
# Conflicts:
# source/common/menu/menudef.cpp
2020-10-31 13:20:54 +01:00
Christoph Oelckers
3a0c84d3ca
- split statusbar.cpp in two.
...
To keep Raze-exclusive content out of the main file that's about to be edited.
2020-10-31 13:19:59 +01:00
Christoph Oelckers
41e1e9b51c
- ifhitbyweapon.
...
# Conflicts:
# source/games/duke/src/actors_d.cpp
# source/games/duke/src/actors_r.cpp
2020-10-31 13:19:26 +01:00
Christoph Oelckers
92c21e7259
- ifhitbyweapon cleanup.
...
Variables renamed and array accesses replaced with pointers in RR version.
2020-10-31 13:19:26 +01:00
Christoph Oelckers
28d0bc7477
- movecrane interface cleanup.
2020-10-31 13:19:26 +01:00
Christoph Oelckers
08f3e9e722
- variable renaming in movecrane for clarity
2020-10-31 13:19:25 +01:00
Christoph Oelckers
d95131cb4d
- actor iterators for movefx and its RRRA subfunction.
2020-10-31 13:19:25 +01:00
Christoph Oelckers
801e94ca54
- renamed variables in movefx for clarity.
2020-10-31 13:19:25 +01:00
Christoph Oelckers
be0880f106
- iterators in movedummyplayers and moveplayers updated.
2020-10-31 13:19:25 +01:00
Christoph Oelckers
cf8da6c6e3
- variable renaming for clarity.
2020-10-31 13:19:25 +01:00
Christoph Oelckers
b03a637e10
- ms function.
2020-10-31 13:19:24 +01:00
Christoph Oelckers
94892cc1f8
- set up the main menu background as default console background for Duke and its offspring games.
2020-10-25 15:06:06 +01:00
Christoph Oelckers
1a21e73cd9
- fixed bad collision state check in movesprite.
...
Fixes #147
2020-10-24 21:36:27 +02:00
Christoph Oelckers
9a6a98ada9
- RR: Picking up the crossbow should also enable the dynamite as a separate weapon.
2020-10-24 20:43:36 +02:00
Christoph Oelckers
acda4b7799
- fixed Duke's RPG explosion
...
Fixes #146
2020-10-24 19:44:10 +02:00
Christoph Oelckers
82d87deb30
- added missing includes for release build.
2020-10-24 10:01:14 +02:00
Christoph Oelckers
8fd0fe5955
- changed the spriteq to use pointers instead of indices.
2020-10-24 09:40:10 +02:00
Christoph Oelckers
34e39dd221
- pass spawner as an actor pointer to 'lotsofstuff'.
...
Allows doing this without using sprite indices.
2020-10-24 09:36:35 +02:00
Christoph Oelckers
a5b3681630
- foundation for a better collision info management.
...
The way this is handled is the main reason why Build maps are size limited, but since it is extremely invasive it needs to be taken out of the game code piece by piece, this is the framework for doing this for Duke.
2020-10-24 09:31:15 +02:00
Christoph Oelckers
16e49ac1fd
- use pointer for sprite access in movesprite_r.
...
Bringing it in line with movesprite_d.
2020-10-24 09:20:45 +02:00
Christoph Oelckers
42e5201e9f
- replaced a few array accesses where a pointer is already available.
2020-10-24 09:11:45 +02:00
Christoph Oelckers
87e4c0fa7d
- experimented a bit with optimizing the spawn function's use.
2020-10-24 09:05:54 +02:00
Christoph Oelckers
356060e127
- optimized another batch of array accesses in the spawn functions.
2020-10-24 08:52:21 +02:00
Christoph Oelckers
6311898152
- renamed a few disassembly variables.
2020-10-24 07:48:51 +02:00
Christoph Oelckers
5cde56de28
- another case of replacing a long list of array accesses with a pointer.
2020-10-24 07:39:51 +02:00
Christoph Oelckers
03da2011b6
- array cleanup in spawn.cpp.
2020-10-24 07:34:54 +02:00
Christoph Oelckers
d237471b79
- DoActor cleanup.
...
Using pointers instead of repeated array accesses now.
2020-10-24 07:25:25 +02:00
Christoph Oelckers
00b8a75de4
- made cheatGod function less ugly.
2020-10-24 07:19:53 +02:00
Christoph Oelckers
46d90f5d49
- clearcamera and ssp.
2020-10-23 22:37:38 +02:00
Mitchell Richters
be21cb0602
- Duke: Fix give
CCMD to ensure it works after being resurrected from the dead via god cheat.
...
* Extension to 63cb7dd2bd
.
2020-10-22 20:18:41 +11:00
Mitchell Richters
f46d9499a5
- Duke (RR): Adjust when to call DrawWeaponBar()
within Statusbar()
.
...
* Partially addresses #1 of https://forum.zdoom.org/viewtopic.php?f=340&t=70284 .
2020-10-22 19:54:39 +11:00
Mitchell Richters
e63f5e1ae7
- Duke (RR): Fix bad text setup in DrawWeaponBar()
.
...
* Fixes #2 of https://forum.zdoom.org/viewtopic.php?f=340&t=70284 .
2020-10-22 19:40:39 +11:00
Mitchell Richters
63cb7dd2bd
- Duke: Fix rotscrnang locked when reviving player after death via DNKROZ
cheat.
...
* Fixes #138 .
2020-10-22 09:21:35 +11:00
Christoph Oelckers
9440bc0c6d
- avoid using ptrdiff_t in templated contexts.
...
Some systems map this to 'long' instead of 'long long' and not everything provides handlers for this type.
2020-10-21 19:19:45 +02:00
Christoph Oelckers
9cdaaff42b
- migrated EGS and deletesprite to new actor interface.
...
Inline wrappers for old code exist.
The backupplayer inline was moved into player.cpp because that's the only place it gets used.
2020-10-21 19:14:41 +02:00
Christoph Oelckers
b8b79b6fa9
- renamed a few things.
2020-10-21 18:42:47 +02:00
Christoph Oelckers
b1f2475230
- serialize null pointers correctly.
2020-10-21 16:31:18 +02:00
Christoph Oelckers
6f4a0c94e8
- something on player is now a pointer as well
2020-10-21 16:31:18 +02:00
Christoph Oelckers
72329eb01b
- wackedbyactor, too.
2020-10-21 16:31:18 +02:00
Christoph Oelckers
e94274a543
- holoduke_on is now a pointer as well.
2020-10-21 16:31:18 +02:00
Christoph Oelckers
d7604a3160
- made on_crane a pointer as well.
2020-10-21 16:31:17 +02:00
Christoph Oelckers
7c88de0b42
- made player.actorsqu a pointer and added the needed infrastructure for that.
2020-10-21 16:31:17 +02:00
Christoph Oelckers
39c154dc15
- fixed compile errors
2020-10-21 16:31:17 +02:00
Christoph Oelckers
8aca0774dc
- adding more helper wrappers.
2020-10-21 16:31:17 +02:00
Christoph Oelckers
0f2c19522e
- defined the iterators.
2020-10-21 16:31:17 +02:00
Christoph Oelckers
78afb67c7f
- setup for Duke actor data transition to something more scripting friendly.
...
The main problem here is that there's two data arrays representing an actor - sprite and hittype and the engine only uses indices for reference.
By setting up hittype to contain a sprite reference, the function and iterator interface can be rewritten to use a single pointer instead to represent an actor.
The main objective is to reduce the number of accesses to the global arrays which constitute the biggest refactoring blocker.
2020-10-21 16:31:17 +02:00
Christoph Oelckers
05c095e448
- fixed parameter ordering for WW2GI's change weapon event call.
...
This happens when variables are ambiguously named... :?
2020-10-21 07:31:21 +02:00
Christoph Oelckers
99e3eeb19e
- split up shoot_r as well and consolidated both blood splat functions.
2020-10-21 01:03:38 +02:00
Christoph Oelckers
4d1e229734
- split shoot_d into smaller, easier to manage chunks.
...
1100 lines for a single function is too much.
2020-10-21 00:17:09 +02:00
Christoph Oelckers
a17f529c49
- fixed freezer projectile not moving.
...
These endless fallthrough switch/case blocks are a genuine menace. :(
Fixes #136
2020-10-20 23:21:38 +02:00
Christoph Oelckers
3004185646
- fixed bossguy.
2020-10-19 23:58:30 +02:00
Christoph Oelckers
66c097b3b8
- fixed bad Holoduke check in alterang.
2020-10-18 21:54:30 +02:00
Christoph Oelckers
a8eaf3575f
- warning fixed and constants used.
2020-10-18 12:18:19 +02:00
Christoph Oelckers
f4c79161ad
- fixed crash when opening the first gate in RRRA's E1L1.
...
There was some poor coding at play here that fell victim to changed execution order.
Changed everything so that problem cases always get dealt with properly.
2020-10-18 12:10:46 +02:00
Christoph Oelckers
4d3135f4b8
- cleanup and consolidation of moveweapons_r.
2020-10-18 10:42:26 +02:00
Christoph Oelckers
08e29396e5
- split moveweapons_d further up into more smaller parts.
2020-10-18 09:45:41 +02:00
Christoph Oelckers
2b79b29fef
- further splitting of moveweapons_d.
...
Progress with this but still not enough yet to break it down into manageable parts.
2020-10-18 08:38:29 +02:00
Christoph Oelckers
94e8213caf
- split fireball handling out of moveweapons_d to reduce the function's size.
2020-10-17 19:53:04 +02:00
Mitchell Richters
3582717c43
- Duke: Fix issues in recordoldspritepos()
following changes in 7043092fd0
.
...
* Fixes #129 .
2020-10-16 14:17:19 +11:00
Mitchell Richters
b1536d8a0b
- Duke (RRRA): Fix potential issue originating from 1bc51a7367
where horizon might have needed adjustment to 0 but wouldn't have done so.
...
* Previously used to determine whether to apply a horizon adjustment on whether local variable `horiz` was 0 or not (since baseline horizon was 100).
* For no particular reason, initalise `horiz` as FRACUNIT and process if it is not equal to one.
2020-10-15 20:33:28 +11:00
Mitchell Richters
db419fd618
- Duke (RRRA): Fix vehicle avel while cl_syncinput 1
.
...
* Fully fixes #128 .
2020-10-15 20:12:48 +11:00
Mitchell Richters
fb91fc49a3
- processMovement(): Add commentary around avel constants used within function and how they came to be. Also clean up some left-over code.
2020-10-15 20:12:34 +11:00
Christoph Oelckers
76e4661eea
- more simple pointer replacements - lots of them...
2020-10-15 01:34:28 +02:00
Christoph Oelckers
0b80ad8fb1
- handled the last remaining stat iterators in Duke.
2020-10-15 01:34:28 +02:00
Christoph Oelckers
53414afbe5
- all stat iterators in sectors.cpp handled.
2020-10-15 01:34:28 +02:00
Christoph Oelckers
3d36381752
- converted all stat iterators outside sector*.cpp.
2020-10-15 01:34:28 +02:00
Christoph Oelckers
760a557f73
- converted the remaining sector iterators in Duke.
2020-10-15 01:34:27 +02:00
Christoph Oelckers
758fab1804
- replaced several sector iterators in Duke code.
2020-10-15 01:34:27 +02:00
Christoph Oelckers
5c9b261823
- all sector iterators in actors_d.cpp, actors_r.cpp and actors_lava.cpp.
2020-10-15 01:34:27 +02:00
Christoph Oelckers
060b66b96b
- replaced all stat iterators in actors_r.cpp.
2020-10-15 01:34:27 +02:00
Christoph Oelckers
db8b454df1
- fixed ond bad statnum
2020-10-15 01:34:27 +02:00
Christoph Oelckers
053a1d46d5
- replaced all stat iterators in actors_d.cpp.
2020-10-15 01:34:26 +02:00
Christoph Oelckers
595ec11609
- replaced all sector iterators in actors.cpp.
2020-10-15 01:34:26 +02:00
Christoph Oelckers
7043092fd0
- all stat iterators in Duke:actors.cpp replaced.
2020-10-15 01:34:26 +02:00
Christoph Oelckers
13093aef56
- a few quick ones, mostly simple search & replace.
2020-10-15 01:34:26 +02:00
Christoph Oelckers
a3601e59ef
- rr_specialstats, rrra_specialstats and respawn_rrra.
...
(These look a lot better now. :) )
2020-10-15 01:34:26 +02:00
Christoph Oelckers
69e6bee64a
- Interators for SE00 and a few others.
2020-10-15 01:34:25 +02:00
Christoph Oelckers
5d734eafa0
- Iterators and pointers for movefx, moveflammable and detonate
2020-10-15 01:34:25 +02:00
Christoph Oelckers
2358f14cd1
use iterators for moveplayers, movedummyplayers and movefallers_d.
2020-10-15 01:34:25 +02:00
Christoph Oelckers
d3a31a3ab7
- hitradius_d uses the iterator now.
2020-10-15 01:34:25 +02:00
Christoph Oelckers
922122c0bc
- same for movefta_d and ifhitbyweapon_d
2020-10-15 01:34:25 +02:00
Christoph Oelckers
5bcaaf45e7
- use a pointer to access sprites in movesprite.
2020-10-15 01:34:24 +02:00
Christoph Oelckers
8ece66e55c
- use the new iterators in the movetransports functions.
...
Also prefer pointers over array access.
2020-10-15 01:34:24 +02:00
Christoph Oelckers
91fdf160b6
- fixed clearing of actorinfo.
...
It overwrote memory beyond its end.
2020-10-15 01:34:24 +02:00
Mitchell Richters
e4af4f28ce
- Duke (RR): Avoid integer truncation when dividing p->VBumpNow
.
2020-10-15 10:27:08 +11:00
Mitchell Richters
1bc51a7367
- Duke (RR): Repair issues with horizon following changes in 09a05f354c
and partially address vehicle turning speed in processVehicleInput()
.
...
* Issues with vehicle input handling with `cl_syncinput 1` still remain. Will address after work.
* Partially addresses #128 .
2020-10-15 10:20:52 +11:00
Christoph Oelckers
d368d734d3
- prototyping some refactoring helpers.
2020-10-14 00:58:21 +02:00
Christoph Oelckers
bfed4e179b
- little bit of array access removal.
...
(It's going to be a long way to refactor the sprite system to not rely on indices...)
2020-10-14 00:30:14 +02:00
Christoph Oelckers
f0ef7a1322
- tabified animatesprites_d.cpp and animatesprites_r.cpp.
2020-10-13 21:44:05 +02:00
Christoph Oelckers
20248d8e08
- fixed a few CCMDs which were blocked in the console.
2020-10-12 19:48:47 +02:00
Christoph Oelckers
86ad576675
- fixed lockup on Shareware screen when quitting Duke
...
Two errors: the menu wasn’t closed and the shareware check was inverted.
2020-10-12 08:07:51 +02:00
Mitchell Richters
c08851e4c0
- Blood/Duke/RR/SW: Drop resetinputhelpers()
.
2020-10-12 14:42:43 +11:00
Christoph Oelckers
cb8d2eb94c
- added serializers for PlayerAngle and PlayerHorizon.
2020-10-11 16:55:12 +02:00
Christoph Oelckers
1757ef2aa6
- split the game input code off gamecontrol.cpp into its own file.
2020-10-11 16:33:43 +02:00
Christoph Oelckers
8e1c71b867
Merge branch 'InputContinuation'
2020-10-11 15:24:51 +02:00
Christoph Oelckers
7deb3ed4bd
- Duke: got rid of the last 3 remaining #defines not used for list generation, as well.
2020-10-11 14:30:43 +02:00
Christoph Oelckers
fc82b3bc8a
- Duke: replaced the game type macros with inline functions.
2020-10-11 14:30:42 +02:00
Christoph Oelckers
9cc1268839
- Duke: added missing include guard to conlabel.h.
2020-10-11 14:30:42 +02:00
Christoph Oelckers
adaf25377c
- moved the player sprite away from the edge of the frame.
2020-10-11 07:50:41 +02:00
Christoph Oelckers
fe2e96d3a6
Merge branch 'master' into InputContinuation
...
# Conflicts:
# source/games/duke/src/duke3d.h
2020-10-10 21:39:27 +02:00
Christoph Oelckers
78d5b2aa95
- Duke: fixed: The Recon's roaming sound was poorly checked resulting in garbled output.
...
It checked for two instances globally, which made the same actor repeat its sound all over again, but if more recons were present some were silent.
Now each one is allowed to play its effect separately.
2020-10-10 19:17:23 +02:00
Christoph Oelckers
b06a847d9a
Merge branch 'menu2'
...
# Conflicts:
# source/exhumed/src/sound.cpp
2020-10-10 19:03:29 +02:00
Christoph Oelckers
b142f33edd
- fixed problems with stopping sector effect sounds.
...
The old check only accounted for the case of trying to play a valid follow-up sound, but not for merely stopping the old one.
Restored the original check that was here.
2020-10-10 18:11:26 +02:00
Christoph Oelckers
f9ab77f700
- create named texture copies for 'tilefromtexture' replacements.
...
We want to be able later to find them in the texture manager again.
2020-10-10 16:52:04 +02:00
Mitchell Richters
271eb1c3fa
- binaryangle.h/cpp: Hook up FSerializer and use within Duke for saving objects.
2020-10-11 00:10:53 +11:00
Christoph Oelckers
294a806793
- fixed some issues with prematurely terminated sounds.
2020-10-10 12:57:43 +02:00
Christoph Oelckers
16fd505f9a
- make sure that sfxinfo_t is always fully initialized by adding initializer values to all fields.
...
Let's hope this finally fixes those sound hiccups.
2020-10-10 09:47:00 +02:00
Mitchell Richters
8f68e8b4a1
- Amend 2865fef7ed
as accidentally returned horizon as Build and not Q16.16.
2020-10-10 17:52:43 +11:00
Mitchell Richters
2865fef7ed
- Duke: Restore return_to_center
in gameexec.cpp dropped in 0ab3b33a6c
and redo based on new code.
2020-10-10 16:59:00 +11:00
Mitchell Richters
6ecbb2587e
- Duke: Fix z position when on certain cameras following changes in 09a05f354c
.
2020-10-10 16:17:02 +11:00
Christoph Oelckers
4024ebd12d
- re-added Duke 1.3's credit screens.
2020-10-09 00:11:49 +02:00
Christoph Oelckers
02507d937d
- got the text screens working. Also reformatted RR's credits a bit for a better presentation.
2020-10-08 23:40:17 +02:00
Christoph Oelckers
6ba06f5ed0
- ImageScroller WIP commit.
2020-10-08 22:20:41 +02:00
Christoph Oelckers
15eaf86f5a
- preparations for the image scroller menu.
2020-10-08 18:02:25 +02:00
Mitchell Richters
9bcdeae6cd
- InputPacket: Change q16avel
to avel
, changing type from fixed_t to float.
2020-10-08 14:47:30 +11:00
Christoph Oelckers
56eae0b42d
- got the basics working for Exhumed's main menu.
2020-10-08 00:21:07 +02:00
Christoph Oelckers
789eb6d51d
- Most of Duke's menus work again.
2020-10-07 20:32:43 +02:00
Mitchell Richters
fca846272e
- gamecontrol: Initial setup of PlayerAngle
struct and deployment within Duke.
...
* Struct made up of binangle class units.
* Create signed clone of binangle for use with look_ang and rotscrnang.
* Append currently outgoing function names with `2` at the end to avoid conflict.
2020-10-07 23:13:29 +11:00
Mitchell Richters
e2691d4184
- Duke: Clean up a few missed things during f39939d114
.
2020-10-07 18:34:52 +11:00
Mitchell Richters
6a30d6880e
- InputPacket: Change q16horz
to horz
, changing type from fixed_t to float.
2020-10-07 18:22:07 +11:00
Mitchell Richters
d16b4651bb
- gamecontrol: Remove old horizon code left behind while cutting over each game.
2020-10-07 18:12:09 +11:00
Mitchell Richters
f39939d114
- gamecontrol: Initial setup of PlayerHorizon
struct and deployment within Duke.
...
* Started with the most complicated game first.
* Struct made up of fixedhoriz class units.
* Append currently outgoing function names with `2` at the end to avoid conflict.
2020-10-07 17:12:48 +11:00
Mitchell Richters
082336e5f8
- buildhoriz: Implementation of pitch and BAM conversion code.
...
* Determined maximum horizon able to be handed by engine in Q16.16 format is 280039127.
* Re-did pitch math to work on this known maximum and standardised pitch around -90/90 degrees as it should be.
* Because pitch is now -90/90 and not ~-188/188, m_sensitivity_y probably requires re-scaling.
2020-10-07 13:29:04 +11:00
Mitchell Richters
8be8bcc87a
- Duke/SW: Fix InitTracerTurret()
to use player's q16horiz with full precision and replace some manually expressed mulscales with mulscale16()
inline from pragmas.h.
2020-10-07 13:28:58 +11:00
Mitchell Richters
09a05f354c
- Re-standardise horizon around 0 and not 100.
...
* Blood had this right. It makes sense that the horizon be based around as it's easier to work with.
* Removed all associated game math to deduct default horizon of 100 when doing weapon zvel etc, meaning actual horizon can just be used.
* Re-did return to center function to work on the already converted pitch. Return speed should be 1:1 with previous code.
2020-10-07 13:28:45 +11:00
Christoph Oelckers
bec1f67178
- implemented the menu caption for Duke et.al.
2020-10-06 20:49:55 +02:00
Christoph Oelckers
55e7e34707
- added texture aliases so that tiles can given real names in the texture manager.
...
Use this to turn Duke's and RR's tile enums into real names, leaving out RRTILExx - the few that are needed were renamed.
2020-10-06 19:26:22 +02:00
Mitchell Richters
bbc60e8424
- Duke: Ensure tripbomb's ammo_count decrements with use.
...
* Note: Unsure whether `isWW2GI()` was meant to be inversed but do not believe so. Have removed check for now.
* Fixes #104 .
2020-10-06 16:31:28 +11:00
Christoph Oelckers
3dbb8cbb11
- safety commit
2020-10-05 21:47:53 +02:00
Christoph Oelckers
82612a1330
- it compiles again (with lots of code commented out.)
2020-10-04 20:11:02 +02:00
Christoph Oelckers
ddc968f607
- disable palette emulation when map global fog is active.
...
This doesn't work well together and is pointless anyway as everything needs to be rendered at full brightness.
Fixes #99
2020-10-03 18:04:07 +02:00
Christoph Oelckers
89d5d18b9e
- these parts were missed somehow.
2020-10-02 22:42:54 +02:00
Christoph Oelckers
57945d2baf
- eliminated a few overlooked 'long's.
2020-10-02 22:18:08 +02:00
Mitchell Richters
43e447d40b
- Duke: Fix auto-aiming issues for shotgun and chaingun.
...
Fixes #98 .
2020-10-02 17:05:50 +10:00
Christoph Oelckers
4c2ff2950a
- for Duke/RR, when not using English force use of the regular text font for drawing the map label on the automap.
...
This essentially removes the tiny font which is simply too small to ever be able to receive a proper international extension from the equation for localization because the level name display was the only remaining relevant content using this font.
The only other screen where this font is still being used to draw text requiring translated content is the multiplayer summary which will have to be redesigned anyway if multiplayer becomes functional again.
2020-09-29 21:47:32 +02:00
Christoph Oelckers
6488f52055
- fixed: Restarting after dying unset the currently selected skill level.
2020-09-29 18:30:00 +02:00
Christoph Oelckers
b57e13ff62
- mouse code update.
...
May still need some tweaking of the factors.
2020-09-28 22:36:43 +02:00
Christoph Oelckers
dcae0c4103
- fixed incomplete merging of WW2GI/Duke code for the pistol animation
2020-09-28 08:55:59 +02:00
Christoph Oelckers
9ab29f5975
- reset ud.eog after playing the end of game cutscene.
...
If this persists, all following levels will also immediately end the game as well.
2020-09-27 20:34:48 +02:00
Christoph Oelckers
3a50f82498
- Duke: In the ending cutscene of the first episode, stop the music only when entering the summary screen.
2020-09-27 20:34:48 +02:00
Christoph Oelckers
5d35d02c87
- fixed overflow in first episode's end cutscene.
2020-09-27 20:34:48 +02:00
Christoph Oelckers
a5984ddc7c
- fixed sprite changing logic for developer commentaries and attenuate the music while commentaries are playing.
2020-09-27 12:52:26 +02:00
Mitchell Richters
392c9ec0d6
- Duke: Tune menu light amounts.
2020-09-27 17:52:20 +10:00
Christoph Oelckers
af8b7679b6
- bumped version numbers for 0.7.
2020-09-26 17:50:19 +02:00
Christoph Oelckers
b93a9b478a
- implemented World Tour's developer commentaries.
2020-09-26 17:43:34 +02:00
Christoph Oelckers
3a459ac603
- added a parser for WT's developer commentary definitions.
2020-09-26 16:18:44 +02:00
Christoph Oelckers
e549aa0527
- fixed: concmd_actor wrote beyond the end of the ScriptCode array.
...
This was causing spurious crashes.
2020-09-26 12:46:56 +02:00
Mitchell Richters
40a89fb26f
- Duke/RR: Fix alt HUD health flashing when > 100.
2020-09-27 02:27:03 +10:00
Mitchell Richters
837b7c0a30
- SW: Changed some downscaled and upscaled Q16.16 variables missed when doing 46810ec490
.
2020-09-27 02:07:07 +10:00
Mitchell Richters
362fda4378
- Duke: Change fix in 6e9576b871
to be outside of donewgame()
in case player is loading a map from the command line.
2020-09-26 09:17:50 +10:00
Mitchell Richters
6e9576b871
- Duke: Fix skill level coming in from main loop.
2020-09-26 08:55:10 +10:00
Christoph Oelckers
73c57af9ca
- added credit screen handling for Duke Nukem 1.3.
2020-09-25 20:22:30 +02:00
Christoph Oelckers
1fc919f5a1
- fixed episode startup on Duke so that the intro for ep. 4 plays.
2020-09-25 19:46:04 +02:00
Christoph Oelckers
89bc194035
- added shareware checks to the "start game" menus.
2020-09-25 19:36:50 +02:00
Christoph Oelckers
e7f16f6ff7
- Duke: do not play 1.5 intro sounds in 1.3
...
- Duke: In 1.3, the Duke team image should stay until dismissed manually.
2020-09-25 18:40:45 +02:00
Mitchell Richters
9b12675f4e
- processMovement()
: Re-arrange parameter variables somewhat so game-specific parameters are at the end and to allow some common defaults so they don't need specifying.
2020-09-25 22:26:50 +10:00
Mitchell Richters
4ff3810711
- Blood/Duke/RR/SW: Improvements to 3rd person viewing by modifying the rendered player's posz so the camera is looking further above the camera sprite as EDuke32 does. Blood just enables the crosshair when using 3rd person view.
2020-09-25 17:52:00 +10:00
Mitchell Richters
e7de0da36c
- Duke: Changed some downscaled and upscaled Q16.16 variables missed when doing 46810ec490
.
2020-09-25 17:08:44 +10:00
Mitchell Richters
0746b98886
- RR: Don't draw weapon on screen when in 3rd person view.
2020-09-25 16:17:55 +10:00
Mitchell Richters
9c0667a7ce
- Duke: Don't display cracking knuckles while in 3rd person view.
2020-09-25 16:17:34 +10:00
Mitchell Richters
ad1f0ce6c3
- Duke: Tune sizing in FullscreenHUD1 for Duke 3D 1.3D and Nam/WW2GI.
2020-09-25 09:26:55 +10:00
Mitchell Richters
5e947cd78f
- Duke: Fix occasional flicker in corner of 'Completed' text. Need to do the text after all backdrop changes.
2020-09-25 09:08:22 +10:00
Mitchell Richters
439633e6db
- Duke: Don't play 3rd pipebomb explosion if not Plutonium/Atomic.
2020-09-25 08:40:58 +10:00
Mitchell Richters
9e0bd569f7
Merge branch 'back_to_basics2' into Input_UnifyProcessMovement
...
# Conflicts:
# source/exhumed/src/input.cpp
2020-09-25 00:17:16 +10:00
Mitchell Richters
16cee1148b
- Duke: Change a few ps[] to use the p alias available following changes in f4fff5ee30
.
2020-09-25 00:09:31 +10:00
Mitchell Richters
04af1d9ce8
- All Games: Unify processMovement()
.
2020-09-24 22:32:37 +10:00
Mitchell Richters
081dfb187c
- Duke: Make changes in ce7af5fe0e
easier to read by way of aliases.
2020-09-24 09:05:42 +10:00
Christoph Oelckers
44fc452747
- World Tour: Fixed missing smoke on burning monsters
...
Yay, another one-liner...
2020-09-23 19:24:40 +02:00
Christoph Oelckers
daabb31bff
- more stat constants
2020-09-23 19:24:01 +02:00
Christoph Oelckers
67985b7819
- changespritestat literal number replacement
2020-09-23 18:51:43 +02:00
Christoph Oelckers
71213bf8bd
- added a missing code fragment for WT's lavapool.
...
This made them float in the air instead of being on the ground.
2020-09-23 18:18:23 +02:00
Christoph Oelckers
a6c45a8e52
- Duke: must serialize SB_CENTERVIEW (but no other bits.)
2020-09-23 18:18:23 +02:00
Christoph Oelckers
f4fff5ee30
- moved sync structure into the playerstruct for easier maintenance.
2020-09-23 18:18:23 +02:00
Mitchell Richters
8690c633d8
- Blood: Add extra call to inputState.ClearAllInput()
in StartLevel()
.
2020-09-24 00:20:40 +10:00
Mitchell Richters
64113f8f9c
- Blood/Duke/SW: Smooth out player's zpos adjustment while in 3rd person view.
2020-09-23 23:12:59 +10:00
Mitchell Richters
ce7af5fe0e
- Duke: Fix security cameras skewing over time.
...
* Fixes regression from e1ee9bc83c
. +='ing the angle by 16 gave a noticeable hiccup, but was keeping the poor math before in-check so the angle didn't drift.
* Using more temp data fields in hittype, properly define a min/max using the initial camera angle and the hitag which is conveniently the camera's viewing arc.
2020-09-23 18:31:12 +10:00
Christoph Oelckers
5784ff6ef7
- fixed damage type of incinerator's fireball.
...
A one-liner, what else... :D
2020-09-23 07:37:08 +02:00
Mitchell Richters
470f481619
- Duke: Simplify entire camera angle setup.
2020-09-23 15:34:03 +10:00
Mitchell Richters
ed9c8af82f
- Duke: Move changes performed in 53038e1b29
from FinalizeInput()
to processInputBits()
.
2020-09-23 15:03:34 +10:00
Mitchell Richters
53038e1b29
- Duke: Don't allow looking left/right when on a security camera screen.
2020-09-23 15:00:33 +10:00
Mitchell Richters
88608e0682
- Duke: Interpolate camera sprite angle in animatecamsprite()
. Fixes a "fixme".
2020-09-23 14:42:33 +10:00
Christoph Oelckers
5e6317b8b9
Merge remote-tracking branch 'remotes/Github_private/Blood_InputReworking'
2020-09-22 23:32:28 +02:00
Christoph Oelckers
2a2209b085
- cleanup and minor fixes.
2020-09-22 23:07:11 +02:00
Christoph Oelckers
880b811e0d
- rewrote map loader to work independently of data structure sizes.
...
This is needed to extend a few fields that are too narrow - e.g. the texture offset fields have no room for interpolating scrolling textures.
Blood not done yet, will also need to be changed to get rid of the limits.
2020-09-22 22:40:53 +02:00
Mitchell Richters
ac635ebd0f
- Blood/RR: Replace a few playerSet*()
calls with playerAdd*()
. Because the setters continually set until target is reached, can cause some perceivable smoothness issues if ticker re-targets's player's angle/horizon before input code has reached target.
2020-09-22 22:50:27 +10:00
Mitchell Richters
d40a2d3e95
Merge branch 'back_to_basics2' into Blood_InputReworking
...
# Conflicts:
# source/blood/src/hudsprites.cpp
# source/exhumed/src/status.cpp
# source/games/duke/src/game_misc.cpp
# source/sw/src/draw.cpp
2020-09-22 07:34:39 +10:00
Mitchell Richters
9859571ded
- DrawCrosshair(): Factor in Blood's adjustable horizon which defaults to 90.
...
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=69920 .
2020-09-22 07:29:52 +10:00
Mitchell Richters
59e4fae064
- Game input: Fix miscellaneous issues.
...
* Duke/RR: Fix `SB_CENTERVIEW` not clearing while `cl_syncinput 1`.
* Duke/RR: Remove superfluous call to `apply_seasick()`.
* RR: Change two calls from `playerSetAngle()` to `playerAddAngle()` Updated version of `playerSetAngle()` doesn't stop setting angle until target is reached, a bit too strict for this and compromised vehicle turning.
* `applylook()`: Remove dead flag. Was only used with Duke, no other game called the function when dead anyway. Since the input helpers are processed outside of `applylook()` now this is not needed.
* `applylook()`: Extend function with a bit of commentary.
2020-09-21 17:12:53 +10:00
Mitchell Richters
f806cdcec6
- Blood/Duke/RR/SW: Unify the player's angle/horizon helper functions.
2020-09-21 17:12:51 +10:00
Mitchell Richters
7bf1cacc7f
- Blood/Duke/RR/SW: Unify the player's angle function.
...
* For Blood/SW, exposes `SB_LOOK_LEFT`/`SB_LOOK_RIGHT` to games, hooking up `q16look_ang` and `q16rotscrnang` within.
* For SW, use Duke & Blood's return to center function and remove `PF_TURN_180` bit.
* For RR, replace a few misused bits with some bools inside of `player_struct`.
* Since bulk of functionality is sourced from Duke (30Hz), apply proper scaling so SW speed matches (40Hz).
2020-09-21 17:12:26 +10:00
Mitchell Richters
0ab3b33a6c
- Blood/Duke/RR/SW: Unify the player's horizon function.
...
* For Duke/SW, we continually apply `SB_CENTERVIEW` only if it was previously a toggled action, similar to Blood.
* For SW, we remove two SW-specific bits (`PF_LOCK_HORIZ` and `PF_LOOKING`) that are no longer needed.
* For Duke, we remove `return_to_center` and just use the `SB_CENTERVIEW` action bit as required.
* For `sethorizon()`, feature set and adjustment speeds are an averaged out accumulation across Duke/SW:
** GameTicRate is factored in for adjustment decisions to provide consistency for SW being the faster game.
** Adjustment amounts are half way between Duke/SW.
2020-09-20 20:01:36 +10:00
Mitchell Richters
1900cf1fcc
- Move Duke's getincangle()
function to the backend, create Q16.16 variant (getincangleq16()
) and replace Shadow Warrior's discrete implementations shared versions.
...
* Need SW's input helpers available for Blood but therefore also need an angle delta function that does not seem to exist in Blood.
* Realise that gamecontrol.h/cpp might not be the most appropriate place, but it's a shared location and these will go into binaryangle.h when its utilisation can be more realised.
* Because SW's logic was reversed, in that param #1 was the new angle and param #2 was the current, all calls have been reversed.
* By happenstance, also fixes an issue with multiple 180° turns in quick succession.
2020-09-20 16:21:13 +10:00
Christoph Oelckers
af298411df
- added widescreen titlepic for Duke Nukem 3D:
...
Also made some tweaks to the intro sequence drawer so that it recognizes image formats not depending on the game palette.
2020-09-17 23:20:50 +02:00
Christoph Oelckers
f5d14f826a
- added the SHOOT event and fixed some issues with poor code generation for the game data accessors.
...
They created different code depending on the passed index, this was changed to always emit the optional parameter, even when not needed, so that the interpreter does not need to second-guess.
2020-09-17 23:06:54 +02:00
Christoph Oelckers
8fa5d3d9d2
- added the remaining CON features from EDuke 2.x
...
Not everything will do something, though. This was some incredibly careless code operating without a safety net allowing uncontrolled write access to the map structure.
Most of the critical fields have been made read-only, which has been the only mode of access in the mods I checked.
Note that this does not enable scripting of the weapon sprite drawer, only the gameplay related features were done.
2020-09-17 23:06:54 +02:00
Mitchell Richters
e1ee9bc83c
- Duke: Fix camera advancing angle by 16 instead of 8 under circumstances.
2020-09-17 18:31:09 +10:00
Christoph Oelckers
6776508239
- widescreen asset setup and consolidation of .def file loading.
2020-09-16 19:13:06 +02:00
Christoph Oelckers
2095e9e3c6
- code changes for last commit - they were not picked up automatically.
...
# Conflicts:
# source/build/src/defs.cpp
2020-09-16 19:13:05 +02:00
Mitchell Richters
ce82eaf899
- Duke/RR: Address weapon drawer interpolation concerns raised in #403 .
2020-09-16 21:01:09 +10:00
Christoph Oelckers
867b8f006f
Reverted key input changes from yesterday.
...
At least the SW version did not work right so let's take no chances here.
2020-09-15 21:54:10 +02:00
Christoph Oelckers
1f4594b450
- Duke: Only read keyboard input for movement when called for the actual tic.
...
Since the added values are not scaled, doing this per frame has the potential risk of achieving too high total velocity when combined with other means of input.
The change here was kept as simple as possible.
2020-09-14 21:10:34 +02:00
Christoph Oelckers
0e58203d92
- fixed rintersect and removed some unused bits from engine.cpp.
2020-09-13 20:15:46 +02:00
Christoph Oelckers
a4754d7f34
- rewrote the map hack parser using sc_man.
...
This unexpectedly turned out a complete rewrite so now it is under my own license.
Also moved the remaining parts of map hack loading into the engine.
Overall I have to say that the feature is not what I expected, it's merely used to fudge the positioning of model sprites and for adding Polymer lights.
2020-09-13 13:01:44 +02:00
Christoph Oelckers
1f7bc6d69e
- interpolation fix from EDuke: "Patch from Striker to improve sprite interpolation"
...
Fixes #109
2020-09-11 22:54:52 +02:00
Christoph Oelckers
aba91b4f09
- avoid uninitialized data.
2020-09-11 21:16:29 +02:00
Christoph Oelckers
19b5e2464e
- For World Tour allow falling back on the classic sounds if the Oggs cannot be found
2020-09-11 21:04:47 +02:00
Christoph Oelckers
b7f0e2c3c3
- added sound FX remapping for World Tour so it can use the original VOCs.
...
Fixes #353
2020-09-11 20:17:36 +02:00
Christoph Oelckers
8716fabe9c
- fixed E5L1 sky definition having gone MiA.
...
Fixes #389
2020-09-11 19:56:20 +02:00