Commit Graph

1081 Commits

Author SHA1 Message Date
Christoph Oelckers a3860de440 - movestandables. 2020-11-01 12:09:01 +01:00
Christoph Oelckers 1af39eb29d - move*bolt. 2020-11-01 12:08:39 +01:00
Christoph Oelckers dc75037d01 - movecrack, movefireext, moveviewscreen. 2020-11-01 12:06:20 +01:00
Christoph Oelckers a4ac7764de - movetripbomb. 2020-11-01 12:02:58 +01:00
Christoph Oelckers d9b6be83b3 - movefallers. 2020-11-01 12:00:29 +01:00
Christoph Oelckers 7e8be10b04 - movefta and ifhitsectors. 2020-11-01 11:58:41 +01:00
Christoph Oelckers 861342a278 - guts_d and guts_r. 2020-11-01 11:32:34 +01:00
Christoph Oelckers 90d1c5f7bb - ifsquished. 2020-11-01 10:55:38 +01:00
Christoph Oelckers 4c9655b110 - check_fta_sounds. 2020-11-01 10:53:45 +01:00
Christoph Oelckers b9aa5de217 - fixed merge error in handle_se00. 2020-11-01 10:52:38 +01:00
Christoph Oelckers 7967391728 - actors_lava.cpp handled. 2020-11-01 10:50:10 +01:00
Christoph Oelckers 6a97b3d58e - renamed variables. 2020-11-01 10:49:50 +01:00
Christoph Oelckers f0b1ab504d - fall_common and its fallspecial subfunction. 2020-11-01 10:48:26 +01:00
Christoph Oelckers 185b795481 - renamed variables in alterang. 2020-11-01 10:45:09 +01:00
Christoph Oelckers 85ea1df76a - alterang 2020-11-01 10:44:16 +01:00
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