Commit graph

10958 commits

Author SHA1 Message Date
Christoph Oelckers
5a27390eaf - Blood: don't crash when trying to render from outside a sector. 2022-10-02 09:52:13 +02:00
Christoph Oelckers
631bea6a98 - v3df_follow cannot be disabled.
This caused the sound field to deteriorate. Fortunately the flag was already ignored for player sounds so hopefully it's ok like this.
2022-10-01 16:09:53 +02:00
Christoph Oelckers
f1bdee015d - SW: fixed Bouncing Betty not spawning on Twin Dragon's $outpost.map 2022-10-01 15:57:40 +02:00
Christoph Oelckers
de81bb18c8 - Exhumed: fixed vertical aiming for hitscan weapons.
This code originally did some inept parameter merging which got broken in an earlier refactoring.
2022-10-01 14:35:20 +02:00
Christoph Oelckers
1482052c8a - fixed: chickens in RRRA did not autoaim in hitscan-only mode.
since these are homing missiles they always need to acquire a target, regardless of autoaim mode.
2022-10-01 14:34:55 +02:00
Christoph Oelckers
f307e22f4b - fixed SW's flash bomb. 2022-10-01 14:33:56 +02:00
Christoph Oelckers
9627f00f32 - Duke: added emulation for a sound system bug that prevents certain duplicate sounds from playing.
Since our sound system does not reject this case, the calling code must check for the relevant condition.
2022-10-01 12:59:43 +02:00
Christoph Oelckers
d1b4bef98d - don't draw invalid shadow sprites. 2022-10-01 10:01:56 +02:00
Christoph Oelckers
e2a1190e32 - SW: disabled 'dontpan' and force 'follow' sound flag.
While these may theoretically be useful, their use in SW is so poor that we are better off playing everything except ambients as a positioned world sound.
2022-10-01 09:39:49 +02:00
Christoph Oelckers
64a96e1b94 - fixed: RR: save the current track for the "8-track player"
This way a saved game can properly resume the loop.
2022-10-01 09:16:47 +02:00
Christoph Oelckers
57228f12a3 - fixed: sv_cheats was set to true, essentially rendering the cheat blocker for high skill levels in Duke and RR ineffective. 2022-10-01 09:10:13 +02:00
Christoph Oelckers
fdb13ffdfd - first simple batch of wrapper removal. 2022-08-27 10:50:11 +02:00
Christoph Oelckers
a59a771209 - use floats for ceilingz/floorz storage. 2022-08-27 10:49:59 +02:00
Christoph Oelckers
367a998b40 - removed the scripting wrappers for floorz and ceilingz.
These won't be needed anymore with floating point values
2022-08-27 10:16:57 +02:00
Christoph Oelckers
044929ad06 - replaced all remaining read access to __int_floorz and __int_ceilingz with wrappers. 2022-08-27 10:13:15 +02:00
Christoph Oelckers
47a594a96c - renamed setPosFromLoad to setPosFromMap. 2022-08-27 10:03:31 +02:00
Christoph Oelckers
109684c029 - renamed a few things to make searching easier. 2022-08-27 10:03:10 +02:00
Christoph Oelckers
8325e7369f - removed floorzptr and ceilingzptr.
These were obstacles for further changes.
2022-08-27 10:01:01 +02:00
Christoph Oelckers
c84d75b8bf - use inline access functions to read floorz/ceilingz. 2022-08-27 09:58:16 +02:00
Christoph Oelckers
0672572e63 - renamed sectortype::floorz and ceilingz as preparation for floatification 2022-08-27 09:47:48 +02:00
Christoph Oelckers
02ae6476de - changed the pos vector of spritetype to floating point. 2022-08-27 09:26:13 +02:00
Christoph Oelckers
825d94f5a5 - SW: rewrote sound code to avoid using a position pointer- 2022-08-27 09:22:42 +02:00
Christoph Oelckers
9407fa549d - SW: made ANIM value type independent. 2022-08-27 08:49:38 +02:00
Christoph Oelckers
fa53fcd085 - undid the fix that allocated one byte too many for loading a complete file into an FString.
Without this padding byte the voxel loader does not work.
2022-08-27 00:02:57 +02:00
Christoph Oelckers
2e63453cd0 - added missing range check to secret hack for WT. 2022-08-26 21:46:16 +02:00
Christoph Oelckers
b1cbecf268 - Duke/RR: do not spawn sprites with invalid picnums.
RRRA E1L7 has a respawner that will spawn an invalid sprite crashing the game.
2022-08-26 20:05:28 +02:00
Christoph Oelckers
07656251d9 - fixes bad assignments in the property parser.
They were added to the wrong flag word.
2022-08-26 19:53:11 +02:00
Christoph Oelckers
c15aeec9f7 - late __int_pos additions 2022-08-26 19:53:11 +02:00
Christoph Oelckers
4c6976baca - looks I missed one last place... 2022-08-26 19:53:10 +02:00
Christoph Oelckers
1231f6025d - handle the last remaining uses of __int_pos that can be done with the function interface. 2022-08-26 19:53:10 +02:00
Christoph Oelckers
8ccaa0ab8c - more tsprite position stuff 2022-08-26 19:53:10 +02:00
Christoph Oelckers
810e722e5e - tspritetype::pos access wrappers, part 2. 2022-08-26 19:53:10 +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
ad9931081e -fix some bugs, handle occurences in recently changed code 2022-08-26 19:53:10 +02:00
Christoph Oelckers
99188b52e9 - eliminated sprite pointers in clip.cpp. 2022-08-26 19:53:10 +02:00
Christoph Oelckers
3420032f02 - replace most spr.pos in the global code. 2022-08-26 19:53:09 +02:00
Christoph Oelckers
e732e2f947 - SW: replaced spr.pos globally (except two functions)
# Conflicts:
#	source/games/sw/src/_polymost.cpp
2022-08-26 19:53:09 +02:00
Christoph Oelckers
d35b131dd5 - SW: handle pos in _PlaySound 2022-08-26 19:53:09 +02:00
Christoph Oelckers
b74355fcee - SW: almost the last wraps. 2022-08-26 19:53:09 +02:00
Christoph Oelckers
b49aed6620 - SW: more spr.pos write wraps. 2022-08-26 19:53:09 +02:00
Christoph Oelckers
6a5384f39e - SW: eighth batch of spr.pos wraps. 2022-08-26 19:53:09 +02:00
Christoph Oelckers
1101a8c9e8 - SW: seventh batch of spr.pos wraps. 2022-08-26 19:53:09 +02:00
Christoph Oelckers
9ace89ad53 - SW: sixth batch of spr.pos wraps. 2022-08-26 19:53:08 +02:00
Christoph Oelckers
2d91ea29ce - SW: fifth batch of spr.pos wraps. 2022-08-26 19:53:08 +02:00
Christoph Oelckers
212b9e8bab - SW: fourth batch of spr.pos wraps. 2022-08-26 19:53:08 +02:00
Christoph Oelckers
53ce186e7b - SW: third batch of spr.pos wraps. 2022-08-26 19:53:08 +02:00
Christoph Oelckers
8ca4d85069 - SW: second batch of spr.pos wraps. 2022-08-26 19:53:08 +02:00
Christoph Oelckers
871f0c4ec6 - SW: first batch of spr.pos wraps. 2022-08-26 19:53:08 +02:00
Christoph Oelckers
43bd8acb31 - Exhumed: renamed all spr.pos. 2022-08-26 19:53:08 +02:00
Christoph Oelckers
78720f93b2 - Exhumed: refactored all write accesses to spr.pos 2022-08-26 19:53:07 +02:00
Christoph Oelckers
2e0c62a2c7 - Exhumed: fourth batch of refactoring writes to spr.pos. 2022-08-26 19:53:07 +02:00
Christoph Oelckers
255e12872c - Exhumed: third batch of refactoring writes to spr.pos. 2022-08-26 19:53:07 +02:00
Christoph Oelckers
24101f8e92 - Exhumed: second batch of refactoring writes to spr.pos. 2022-08-26 19:53:07 +02:00
Christoph Oelckers
4131451a1a - Exhumed: first batch of refactoring writes to spr.pos. 2022-08-26 19:53:07 +02:00
Christoph Oelckers
75ab0cf018 - handle a few leftovers in Blood. 2022-08-26 19:53:07 +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
Christoph Oelckers
f629ec1916 - Duke: full pos assignments 2022-08-26 19:53:06 +02:00
Christoph Oelckers
b9568aa372 - missed this in Blood 2022-08-26 19:53:06 +02:00
Christoph Oelckers
0ad571b72d - Duke: wrapped remaining write access to spr.pos 2022-08-26 19:53:06 +02:00
Christoph Oelckers
f4ed59ccb7 - Duke: ninth batch. 2022-08-26 19:53:06 +02:00
Christoph Oelckers
9bf94cbc1c - Duke: eighth batch 2022-08-26 19:53:06 +02:00
Christoph Oelckers
f97bae8d23 - Duke: refactored sound API to receive its position by reference. 2022-08-26 19:53:06 +02:00
Christoph Oelckers
b4e18e8255 - Duke: seventh batch of refactoring writes to spr.pos. 2022-08-26 19:53:06 +02:00
Christoph Oelckers
99b9b01d6a - Duke: sixth batch of refactoring writes to spr.pos. 2022-08-26 19:53:05 +02:00
Christoph Oelckers
5c31568184 - Duke: fifth batch of refactoring writes to spr.pos. 2022-08-26 19:53:05 +02:00
Christoph Oelckers
82095b435f - Duke: fourth batch of refactoring writes to spr.pos. 2022-08-26 19:53:05 +02:00
Christoph Oelckers
236b1cf4e0 - Duke: third batch of refactoring writes to spr.pos. 2022-08-26 19:53:05 +02:00
Christoph Oelckers
6d21552d6c - Duke: second batch of refactoring writes to spr.pos. 2022-08-26 19:53:05 +02:00
Christoph Oelckers
378d126114 - Duke: first batch of refactoring writes to spr.pos. 2022-08-26 19:53:05 +02:00
Christoph Oelckers
58f573e578 - Blood: replaced the remaining spr.pos with int_pos() in nnexts 2022-08-26 19:53:05 +02:00
Christoph Oelckers
0c0a33da8e - Blood: replaced the remaining spr.pos with int_pos() 2022-08-26 19:53:05 +02:00
Christoph Oelckers
f291a943a4 - Blood: replaced the remaining spr.pos with int_pos() 2022-08-26 19:53:04 +02:00
Christoph Oelckers
0f8bf5f743 - Blood: replaced the remaining spr.pos with int_pos() 2022-08-26 19:53:04 +02:00
Christoph Oelckers
5296051fef - Blood: replaced the remaining spr.pos with int_pos() 2022-08-26 19:53:04 +02:00
Christoph Oelckers
6fe27b4fe5 - Blood: replaced the remaining spr.pos with int_pos() 2022-08-26 19:53:04 +02:00
Christoph Oelckers
4a3e9f6df1 - Blood: replaced the remaining spr.pos with int_pos() 2022-08-26 19:53:04 +02:00
Christoph Oelckers
458fc219ed - Blood: replaced the remaining spr.pos with int_pos() 2022-08-26 19:53:04 +02:00
Christoph Oelckers
2642018bac - Blood: replaced the remaining spr.pos with int_pos() 2022-08-26 19:53:04 +02:00
Christoph Oelckers
702a73ff6c - Blood: handled the remaining write accesses to 'pos' 2022-08-26 19:53:03 +02:00
Christoph Oelckers
04c9422db8 - Blood: don't pass an actor's position directly to ClipMove 2022-08-26 19:53:03 +02:00
Christoph Oelckers
4f391e46ce - added GetSoundPos variant taking a reference instead of pointer. 2022-08-26 19:53:03 +02:00
Christoph Oelckers
efc832ca5c - Blood: wrapped most write accesses to spr.pos 2022-08-26 19:53:03 +02:00
Christoph Oelckers
32dd061ab1 - Blood: wrapped write accesses to spr.pos in nnexts.cpp 2022-08-26 19:53:03 +02:00
Christoph Oelckers
70d5ba6abe - Blood: first part of wrapping spr.pos write access. 2022-08-26 19:53:03 +02:00
Christoph Oelckers
29d0f86726 - utilities for wrapping actor coordinates. 2022-08-26 19:53:03 +02:00
Christoph Oelckers
111dbd7a7d - backend update from GZDoom.
mainly TAngle overhaul and needed code adjustments.
2022-08-26 18:28:22 +02:00
Christoph Oelckers
ca1171187f - hack to fix bad door definition in RR E2L7. 2022-08-25 21:45:03 +02:00
Mitchell Richters
03fd5c2ebe - Repair frame timer in tileAnimateOfs() following consolidation in 4f2170655c.
* All games that aren't Blood depend on Build's original 120Hz timer for this, not the playsim's clock.
2022-08-25 21:44:14 +02:00
Christoph Oelckers
b196e67f40 ported SHA-1: 82e3f6af9367200853fe2af1b9665dd0c53b4f05 from NBlood
* - Change gBusyCount limit to a higher value since xsector limit raised.

gModernMap:
- The return of the event causer (kChannelEventCauser, TXID 50).
- Fix flags for kModernPropertiesChanger type.
- Add new modern type kModernVelocityChanger.
- New features for kMarkerWarpDest type.
- New features for kModernSectorFXChanger type.
- Fix sector condition 58.
- Fix sprite hitscan conditions (35 - 38).
- Add new command (kCmdEventKillFull).
- Misc changes.

# Conflicts:
#	source/games/blood/src/actor.cpp
#	source/games/blood/src/nnexts.cpp
2022-08-17 20:45:51 +02:00
Christoph Oelckers
0139ac5e4a ported NBlood commit e3d7ab8b919c230b2b4a825137d607b03b363796
- (gModernMap) Add a way to move sprites that are close to outside walls of sector
- (gModernMap) Add loadsave construct
- (gModernMap) Fix movement direction for reverse moving sprites in TranslateSector
2022-08-17 20:45:43 +02:00
Christoph Oelckers
97b7f4b46a - Exhumed: exported a handful of missed messages to the string table 2022-08-17 20:39:00 +02:00
Christoph Oelckers
4aee3bef47 - Exhumed: fixed coordinate bug with queen
# Conflicts:
#	source/games/exhumed/src/queen.cpp
2022-08-17 20:38:55 +02:00
Christoph Oelckers
77bc5999ce - Backend update from GZDoom.
* ZScript compiler fixes for type promotion
* FileSystem.FindLumpFullName
* Statusbar text scaling fixes.
* removed scalar addition operators from vectors.
2022-08-17 20:38:46 +02:00
Christoph Oelckers
9c107049fd Revert "- blood: fix velCeil calculation"
This reverts commit d85a8b6507.

This broke player view height on elevators.
2022-08-17 20:19:58 +02:00
Christoph Oelckers
864c0b71e0 -removed some xs_float casts that are not really necessary. 2022-08-07 10:54:52 +02:00
Christoph Oelckers
8aa96777b0 - allow FModel::FindFrame to not pick a default. 2022-08-07 10:42:07 +02:00
Christoph Oelckers
4d423004e9 - unlimited the displayable sprites.
Now with Polymost gone this can finally be done properly.
2022-08-07 10:25:15 +02:00
Christoph Oelckers
3ca9052b7a - deleted updateanimation function for models.
It is currently unused and will certainly have to redone once model support is added for the new renderer.
Since this tries to guess game state from purely engine-side data it has its share of major problems, most importantly it is not compatible with games other than Duke.
2022-08-07 08:58:59 +02:00
Christoph Oelckers
4260d334e2 - do not overwrite a textures sky cap color. 2022-08-06 09:26:08 +02:00