Christoph Oelckers
be6ead173a
- scriptified several smaller actors
2022-12-11 19:43:51 +01:00
Christoph Oelckers
ff6a9b89ac
- scriptified the green slimer.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
9d1384449c
- scriptified the Recon.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
1ef61c8588
- exported a bunch of stuff we're going to need soon.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
c7cdf96a62
- exported two more settings to tile flags.
2022-12-11 18:42:02 +01:00
Christoph Oelckers
5a2819239c
- moved Duke's tile flags into the tile manager.
...
This is so that .def can access them. Later the other games also might make use of this.
2022-12-11 18:42:01 +01:00
Mitchell Richters
dfb55c39ca
- Duke: Remove all remaining angle wrapper usage.
2022-12-11 18:42:00 +01:00
Mitchell Richters
abdeeac205
- Rework PlayerAngles::doViewPitch()
to apply at ticrate like PlayerAngles::doViewYaw()
.
2022-12-11 18:41:59 +01:00
Mitchell Richters
be466fec8d
- Wrap access to current yaw.
2022-12-11 18:41:57 +01:00
Mitchell Richters
b9f5bb71cc
- Merge PlayerHorizon
and PlayerAngle
structs into PlayerAngles
struct.
2022-12-11 18:41:56 +01:00
Mitchell Richters
bd063de5f5
- Rename PlayerAngle::ang
in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
d810afa2e9
- Rename PlayerHorizon
prototypes in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
2e0b9490e1
- Change spritetypebase::angle
to a DRotator named Angles
.
...
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Mitchell Richters
92dd6c9795
- Duke: Remove player_struct::posXY()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
5d3878eb55
- Duke: Wrap calls to player_struct::PlayerNowPosition.XY()
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
4aa63b5446
- Duke: Rename player's pos to something identifiable.
2022-12-11 18:41:38 +01:00
Christoph Oelckers
cb005062cd
- scriptified activators and locators.
2022-11-20 12:43:24 +01:00
Christoph Oelckers
9fa2fb75cf
- scriptified the respawn controller.
...
This also handles one special RRRA controller which was just easier to scriptify right away than temporarily work around it.
2022-11-20 11:58:19 +01:00
Christoph Oelckers
f515939fde
- scriptified the sound controller.
2022-11-20 08:46:49 +01:00
Christoph Oelckers
dee33ba4dd
- scriptified viewscreen and camera.
2022-11-19 17:35:04 +01:00
Christoph Oelckers
5ae7011e41
- converted the masterswitch.
2022-11-19 11:24:39 +01:00
Christoph Oelckers
5fea500f92
- flammable actors scriptified.
2022-11-14 16:31:45 +01:00
Christoph Oelckers
c511e5dca9
- eliminated int_xvel
2022-10-22 11:33:16 +02:00
Christoph Oelckers
9cfd56a912
- mathutil is not needed anymore.
2022-10-22 09:34:13 +02:00
Christoph Oelckers
be0eb81c95
- deleted unused utilities
2022-10-21 00:00:09 +02:00
Christoph Oelckers
0432930e5b
- converted all dist() calls to vector math and deleted the utilities
2022-10-21 00:00:04 +02:00
Christoph Oelckers
ada4af8fb7
-consolidated sprite rotation formula in 2 inline functions.
2022-10-21 00:00:03 +02:00
Mitchell Richters
8bfcb8c939
- Floatify InputPacket::fvel
and InputPacket::svel
.
...
* Since all velocities are floated, we can now take each game's keymove scaling into its ticker and use a consistent keymove size, making non-mouselook and controller input truly identical across the games without having to try and fudge any values.
2022-10-20 00:48:09 +02:00
Christoph Oelckers
23c529589e
- eliminated add_int_xvel
2022-10-19 18:26:16 +02:00
Christoph Oelckers
fe7dfa1c53
- floatify angle stuff for bowling, henstand etc. in RR.
2022-10-18 20:02:01 +02:00
Mitchell Richters
f02035b15a
- Eliminate __interpvaluef()
and clean up Q16.16 smoothratio values where it made sense to do so.
2022-10-15 13:32:01 +02:00
Mitchell Richters
8fd6452baf
- Rename interpolatedvaluef()
in preparation for replacement.
2022-10-15 13:32:01 +02:00
Christoph Oelckers
33eeb8d9c2
- right shifts
2022-10-14 23:13:33 +02:00
Mitchell Richters
d133839e2e
- Fix a few uses of interpolatedvalue()
with floating point numbers.
2022-10-13 00:59:03 +02:00
Mitchell Richters
b23e77d9c7
- Replace player's ang
with DAngle
object.
...
* This commit does not build. Committed items are everything that's been done by find and replace.
* Next commit has hand-performed changes that are better separated out for clarity.
2022-10-05 00:36:27 +02:00
Mitchell Richters
7a6f5c0864
- Replace binangle
usage in PlayerHorizon::calcviewpitch()
with DAngle
object.
2022-10-05 00:36:27 +02:00
Christoph Oelckers
1f49f62d75
- cleanup, part 3.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
e878ecb511
- floatified player_struct::pos.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
86076b2871
- use player_add_int_xy and player_set_int_xy.
2022-10-02 20:47:00 +02:00
Christoph Oelckers
9cd57f4510
- pushmove wrapper and a few other replacements.
2022-10-02 20:46:59 +02:00
Christoph Oelckers
5f4c35e9aa
- renamed player_struct::pos
2022-10-02 20:46:58 +02:00
Christoph Oelckers
170387ab26
- tspritetype::pos access wrappers, part 1.
2022-08-26 19:53:10 +02:00
Christoph Oelckers
dc94dedc6b
- renaming spritetype::pos
2022-08-26 19:53:10 +02:00
Christoph Oelckers
204d6018f4
- Duke: renamed all spr.pos
...
This was pure search&replace with no other code edits.
2022-08-26 19:53:07 +02:00
Mitchell Richters
ee6abac699
- Duke: Apply same fistsign
fix from 4ee64df844
to RR code.
2022-06-06 11:04:59 +10:00
Christoph Oelckers
125c3e8004
- flammable flags.
2022-01-27 00:41:33 +01:00
Christoph Oelckers
58b718d2a2
- turn all special actor type checks in moveflammable into flags.
...
Also wrap all flag checks in actorflag function
2022-01-27 00:34:21 +01:00
Christoph Oelckers
cc6d52013d
- made Duke actor flags type safe and added a few new definitions that are not active yet.
2022-01-02 10:17:44 +01:00
Christoph Oelckers
5498699faf
- use DCoreActor::sector() wherever possible.
2021-12-30 16:51:56 +01:00
Christoph Oelckers
12619671e6
- Duke/RR: added fudging to work around aiming randomization issues with the pistol when autoaim is off.
...
Solution is the same as in RedNukem/EDuke32: do one hitscan directly in aiming order and if that hits a sprite, use it as aiming target.
2021-12-30 09:58:10 +01:00
Christoph Oelckers
ed0c27b240
- Duke: deleted unused spritetype* variants of badguy() and bossguy()
2021-12-30 09:57:15 +01:00
Mitchell Richters
baf78848eb
- Replace spritetypebase
z
with pos.Z
calls and eliminate spritetypebase
pos
union.
2021-12-30 09:57:06 +01:00
Mitchell Richters
cecb8dc48e
- Replace spritetypebase
y
with pos.Y
calls.
2021-12-30 09:57:05 +01:00
Mitchell Richters
33ca55023f
- Replace spritetypebase
x
with pos.X
calls.
2021-12-30 09:57:05 +01:00
Mitchell Richters
118ceb18ca
- Capitalise vec2_t
y
variable.
2021-12-30 09:57:02 +01:00
Mitchell Richters
3c9cd926ba
- Capitalise vec2_t
x
variable.
2021-12-30 09:57:02 +01:00
Christoph Oelckers
1240818122
- getting rid of DDukeActor::s, final part.
2021-12-30 09:57:00 +01:00
Christoph Oelckers
f216857f55
- Getting rid of DDukeActor::s, part 1.
2021-12-30 09:57:00 +01:00
Christoph Oelckers
55cb5aaac6
- global search & replace of ->s-> with ->spr.
...
This is the largest part of uses of DDukeActor's 's' pointer.
2021-12-30 09:56:56 +01:00
Christoph Oelckers
e02f4d8fd1
- randomFlip stuff.
...
To avoid casting from int to flags.
2021-12-30 09:56:49 +01:00
Christoph Oelckers
d0a06ae961
- deal with most of CSTAT_SECTOR_SKY and CSTAT_SECTOR_SLOPE
2021-12-30 09:56:45 +01:00
Christoph Oelckers
eaff9e359f
- refactored the owner index in tspritetype.
...
This is now a separate type from spritetype which contains an actor pointer instead so that sprite display can be handled without requiring a static sprite array.
2021-12-26 23:09:53 +01:00
Christoph Oelckers
41506f35db
- calcviewpitch
2021-12-26 23:08:40 +01:00
Christoph Oelckers
d1f7269ca8
replaced cursectnum with a cursector pointer
2021-12-25 21:28:56 +01:00
Christoph Oelckers
69c21407a7
- pass a sector pointer to checkcursectnums.
2021-12-25 21:28:39 +01:00
Christoph Oelckers
64f1029416
- Duke: pass a sector pointer to callsound.
2021-12-25 21:28:39 +01:00
Christoph Oelckers
fcbb7320a8
- Duke/RR: added all checks needed for not letting Duke crash with noclip when not accepting -1 as a valid sector pointer.
...
All places that were causing a crash are now guared by calling 'insector()'.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
b0ced98d5e
- changed main EGS function.
2021-11-29 00:56:29 +01:00
Christoph Oelckers
da4df04e7d
- sector[] in handle_st09.
2021-11-29 00:56:28 +01:00
Christoph Oelckers
a9aadfd63d
- neartag cleanup in checksectors.
2021-11-29 00:56:28 +01:00
Christoph Oelckers
9a1c80c464
- Duke: added a wrapper for player_struct::cursectnum to directly return the sector pointer.
...
This eliminates more than 10% of the existing direct references to the sector[] array.
2021-11-06 21:59:42 +01:00
Mitchell Richters
bcff74f5e4
Revert "- Duke: Restore a little bit of original code to make comparisons between us and the source easier."
...
This reverts commit 7607190dad
.
* Not good in hindsight... We need the actual value from the backend to ensure we can match up against `WeaponSel_Next`/`WeaponSel_Prev`/`WeaponSel_Alt` as required.
2021-07-17 22:42:58 +10:00
Mitchell Richters
7607190dad
- Duke: Restore a little bit of original code to make comparisons between us and the source easier.
2021-07-17 12:12:36 +10:00
Christoph Oelckers
8003ab6fa3
Merge branch 'scriptable_cutscenes' into newrenderer
2021-05-02 22:37:46 +02:00
Christoph Oelckers
c9791bc148
- renamed PlayerHorizon function to deconflict with the same-named struct
2021-05-02 21:56:45 +02:00
Mitchell Richters
de06030ea0
- gameinput.cpp: Make sethorizon()
, applylook()
and calcviewpitch()
class functions of PlayerHorizon
and PlayerAngle
where appropriate.
2021-04-19 20:50:10 +10:00
Christoph Oelckers
dc8b72b2ce
Merge branch 'master' into newrenderer2
...
# Conflicts:
# source/games/duke/src/actors.cpp
# source/games/duke/src/hudweapon_d.cpp
# source/games/duke/src/hudweapon_r.cpp
# source/games/duke/src/render.cpp
2021-04-15 19:34:03 +02:00
Christoph Oelckers
96d78ab9e6
- made DukeActor::s a pointer.
...
As a reference we would never be able to export this to scripting
2021-04-15 19:21:43 +02:00
Mitchell Richters
a4895cb270
- All Games: Allow for HUD interpolation to be disabled.
...
* Requested by users, really don't know why...
* Interpolation values are guarded by the CVAR.
* For Blood, integer truncation is employed just like original game.
* For all games where more precise sine/cosine math has been utilised, no changes have been made.
2021-04-15 13:35:53 +10:00
Christoph Oelckers
b3bcedda6c
- moved backend independent HUD code out of glbackend.cpp.
2021-04-11 08:40:18 +02:00
Mitchell Richters
3a801cbf5c
- calcviewpitch(): Set scaleAdjust
to default to 1 in prototype like other functions in gameinput.cpp.
2021-01-02 09:32:19 +11:00
Mitchell Richters
8003753989
- Duke/SW: Move each game's check of cl_slopetilting
into calcviewpitch()
backend function.
2021-01-02 00:34:44 +11:00
Mitchell Richters
6d12159006
- Duke/SW: Consolidate each game's slopetilting function into backend solution.
...
* Based on SW's implementation purely for its commentary, but includes a fix from Duke's.
* Allow disabling Duke's slopetilting via `cl_slopetilting` like SW.
2021-01-02 00:30:11 +11:00
Christoph Oelckers
7ad0750839
- grouped all of Duke's constant per-session state in a single struct.
...
Mainly done so later the script export can be done more easily.
This also renames a few of the affected variables for clarity.
2020-11-29 13:54:58 +01:00
Christoph Oelckers
d0db810ab0
- ud.camerasprite -> actor.
2020-11-04 20:40:08 +01:00
Christoph Oelckers
770897b8b9
- player.i, part 1
2020-11-04 20:39:42 +01:00
Christoph Oelckers
2b0f56a94c
- changed setsectinterpolate to receive a sector number, not a sprite number.
2020-11-04 19:55:16 +01:00
Christoph Oelckers
f5cccb0df2
- actorflag, actorfella, automap, animateaccess, holoduke spawn, initreactor.
...
# Conflicts:
# source/games/duke/src/game_misc.cpp
2020-11-03 19:21:43 +01: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
3004185646
- fixed bossguy.
2020-10-19 23:58:30 +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
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
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
Christoph Oelckers
89d5d18b9e
- these parts were missed somehow.
2020-10-02 22:42:54 +02:00
Christoph Oelckers
f4fff5ee30
- moved sync structure into the playerstruct for easier maintenance.
2020-09-23 18:18:23 +02: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
Christoph Oelckers
a2e3bb5725
- fixed WT's incinerator and a few other minor things I found while comparing Raze's WT support code with BuildGDX's.
...
Fixes #357
2020-09-07 21:38:17 +02:00
Christoph Oelckers
38d10cc591
- game input works, but still no 3D scene rendered.
2020-08-30 13:04:07 +02:00