Christoph Oelckers
07826c7791
- eliminated DCoreActor::copyXY
2022-10-13 00:59:05 +02:00
Mitchell Richters
4d04a4dd3a
- Floatified automap's gZoom
.
...
* Also use the global directly in automap functions instead of passing it around as function variables.
2022-10-13 00:59:04 +02:00
Mitchell Richters
f5116dd787
- Pass a DAngle through to all the automap code.
2022-10-13 00:59:04 +02:00
Mitchell Richters
e970ed0f27
- Migrate spritetypebase::interpolatedvec3()
to backend solution.
...
* Also eliminate unused `interpolatedvec2() method from class.
2022-10-13 00:59:03 +02:00
Mitchell Richters
1e36aa0e7f
- Move TAngle<>
interpolation function to common and add ones for TVector<>
classes.
2022-10-13 00:59:03 +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
92b16907d2
- Use getincangle()
in more places so it can be refactored easier later on.
2022-10-13 00:59:02 +02:00
Mitchell Richters
a22300fe01
- Blood: Replace some set_int_ang()
usage.
...
* A lot of this repeated code should be factored out into repeated blocks when all of this floatification is done.
2022-10-13 00:59:02 +02:00
Christoph Oelckers
d573ba4cad
- pass map start as DVector3
2022-10-13 00:59:01 +02:00
Christoph Oelckers
40312d64c8
-coordinates
2022-10-13 00:59:01 +02:00
Christoph Oelckers
0edd12bc11
- set_int_ang(getangle
2022-10-13 00:59:01 +02:00
Christoph Oelckers
478672879e
- partial HitScan parameter change
...
The really easy stuff…
2022-10-13 00:59:00 +02:00
Christoph Oelckers
54cf1aea6f
- got rid of CGibPosition
2022-10-13 00:59:00 +02:00
Christoph Oelckers
f80b228a83
- deal with int positions in approxdist calls
2022-10-13 00:58:59 +02:00
Christoph Oelckers
c53a2ac93a
- one final batch of AI stuff
2022-10-13 00:58:59 +02:00
Christoph Oelckers
230913bad3
- another large AI cleanup batch
2022-10-13 00:58:59 +02:00
Christoph Oelckers
ea04f5f800
- more vector stuff in Blood AI
...
all the same pattern
2022-10-12 22:18:11 +02:00
Christoph Oelckers
67d0e51919
- migrate Blood AI to floating point vectors, part 1
...
Velocity is still left untouched.
2022-10-12 22:18:11 +02:00
Christoph Oelckers
2f896b859b
- made the code mostly signed-char safe.
...
This eliminates all char function parameters that are not really ASCII characters and casts all char argument to the ctype is... functions.
2022-10-12 22:12:30 +02:00
Christoph Oelckers
97e93004b1
- quick’n easy replacements
2022-10-12 22:10:37 +02:00
Christoph Oelckers
f269ceff64
slope functions with position vectors
2022-10-12 22:10:37 +02:00
Christoph Oelckers
0499be0c26
- getting rid of some int_pos calls.
2022-10-12 22:10:37 +02:00
Christoph Oelckers
18a445aee5
- added ZeroVelocity function to DBloodActor.
2022-10-12 22:10:36 +02:00
Christoph Oelckers
a5a3669238
- eliminated the SetActor/Z function receiving a vec3_t pointer.
...
The only one left is the one with a DVector3 now.
2022-10-12 22:10:36 +02:00
Christoph Oelckers
00436bfdac
- eliminated one UpdateActor pverload.
2022-10-12 22:10:36 +02:00
Christoph Oelckers
f0769048ed
- yet another bunch of SpawnActor calls in weapon.cpp
2022-10-12 22:10:35 +02:00
Christoph Oelckers
a0c0894e41
- aiSetTarget calls
2022-10-12 22:10:34 +02:00
Christoph Oelckers
db0ce36143
- use engine's updatesector in Blood instead of the limited homegrown FindSector variant.
2022-10-11 18:09:48 +02:00
Christoph Oelckers
085839af32
- CheckPickUp floatification
2022-10-10 17:37:20 +02:00
Christoph Oelckers
a808f04415
- cansee refactoring part 4
2022-10-10 17:37:20 +02:00
Christoph Oelckers
3da68ab038
- cansee refactoring, part 3
2022-10-10 17:37:20 +02:00
Christoph Oelckers
80412bdc51
- cansee refactoring, part 2
2022-10-10 17:37:20 +02:00
Christoph Oelckers
781ffc9a43
- cansee refactoring, part 1.
2022-10-10 17:37:20 +02:00
Christoph Oelckers
1c154a984d
- floatified XSPRITE::TargetPos
2022-10-10 17:37:19 +02:00
Christoph Oelckers
d26a4e70c3
- wrapped XSPRITE::TargetPos
2022-10-10 17:37:19 +02:00
Christoph Oelckers
4888b363e8
- added vector variant of gFX.fxSpawnActor
2022-10-10 17:37:19 +02:00
Christoph Oelckers
139969d017
- FindSector variants with vectors
2022-10-10 17:37:19 +02:00
Christoph Oelckers
f41c78d622
- actDropObject
2022-10-10 17:37:19 +02:00
Christoph Oelckers
e7ec2c072a
- floatified Blood’s startpos
2022-10-10 17:37:19 +02:00
Christoph Oelckers
cb39a07580
- position in actSpawnSprite
2022-10-10 17:37:18 +02:00
Christoph Oelckers
08c19cd2a4
- floatified CheckProximity position parameter
2022-10-10 17:37:18 +02:00
Christoph Oelckers
12d54a8b5c
- use vector math for distances in actRadiusDamage
2022-10-10 17:37:18 +02:00
Christoph Oelckers
9460239417
- pass a vector to GetClosestSpriteSectors
2022-10-10 17:37:18 +02:00
Christoph Oelckers
64cf9a4ec6
- pass vector position to actRadiusDamage
2022-10-10 17:37:18 +02:00
Christoph Oelckers
645c606e39
- floatified ConcussSprite
2022-10-10 17:37:18 +02:00
Christoph Oelckers
45f37525e0
- minor angle stuff in Blood
2022-10-10 17:31:30 +02:00
Christoph Oelckers
209867e036
- cleaned out some unnecessary inlines.
2022-10-09 22:00:43 +02:00
Christoph Oelckers
ade20cbfe2
- some angular stuff.
2022-10-09 08:21:54 +02:00
Christoph Oelckers
766ddeb445
- one more batch of trivial replacements
2022-10-09 08:21:53 +02:00
Christoph Oelckers
f13d9892dc
- trivial wrapper replacements in Duke
2022-10-09 08:21:53 +02:00
Christoph Oelckers
4db457f3b0
- stuff in animatesprite.cpp
2022-10-09 08:21:53 +02:00
Christoph Oelckers
96e6424772
- floatified damage logic in aibeast.StompSeqCallback
2022-10-08 19:28:57 +02:00
Christoph Oelckers
aa0080039f
- refactored coordinate display to have a single unified printing function.
...
The games will now only return the data, this has also been added for Exhumed.
Printing will now be in actual map units, not build's internal mixed format.
2022-10-08 19:28:57 +02:00
Christoph Oelckers
b32c4444c4
- replaced all add_int_z calls with constants.
2022-10-08 19:28:57 +02:00
Christoph Oelckers
424a58f91b
- Blood: sfxPlay3DSound
2022-10-08 16:11:23 +02:00
Christoph Oelckers
4d02cdcce9
- use explicit types in hitscan calls
2022-10-06 20:50:47 +02:00
Christoph Oelckers
5505c362e2
- floatified hitpos
2022-10-05 18:11:59 +02:00
Christoph Oelckers
55ade2eda4
- use int_hitpos() access function where applicable
2022-10-05 18:10:44 +02:00
Christoph Oelckers
296b5d7edd
- renamed HitInfo::hitpos
2022-10-05 18:03:41 +02:00
Christoph Oelckers
64391c52f9
- large batch of set_int_pos, minus Exhumed
2022-10-05 17:33:01 +02:00
Mitchell Richters
478e7a6801
- Eliminate some TAngle floating point Build method usage.
2022-10-05 00:36:31 +02:00
Mitchell Richters
d28d6cd4cf
- Utilise actor sprite's full precision in instances where angle was converted to Build and back again.
2022-10-05 00:36:30 +02:00
Mitchell Richters
5c84f93c08
- Use the static constexpr nullAngle
everywhere possible.
2022-10-05 00:36:30 +02:00
Mitchell Richters
02dfe2cb62
- Repair interpolation issues following change of sprite angles from integer to DAngle
types.
2022-10-05 00:36:30 +02:00
Christoph Oelckers
fe6fcdff1f
- use DAngle for actors
...
Note that intangle needs to be kept - primarily for SW's ST tags.
2022-10-05 00:36:29 +02:00
Christoph Oelckers
02ce593f06
-removed leftover binangles in Blood's animatesprites.cpp
2022-10-05 00:36:28 +02:00
Mitchell Richters
abb8b87be1
- Eliminate last remaining binangle
inline utilities.
2022-10-05 00:36:28 +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
Mitchell Richters
dbc46e2a75
- Change out PlayerAngle::settarget()
's input from binangle
to DAngle
.
2022-10-05 00:36:27 +02:00
Mitchell Richters
a090f31bc4
- Change out PlayerAngle::addadjustment()
's input from binangle
to DAngle
.
2022-10-05 00:36:26 +02:00
Mitchell Richters
13ea55b4cb
- Replace player's rotscrnang
and look_ang
angles with DAngle
objects.
...
* Went the el cheapo route and added some floating point Build angle methods. As these and the integer build methods are really just refactoring aids, we'll come back to this in due course.
2022-10-05 00:36:26 +02:00
Mitchell Richters
d3022947eb
- Replace use of binangle
in gi->processSprites()
with DAngle
object.
2022-10-05 00:36:24 +02:00
Mitchell Richters
d6f405c229
- Blood: Remove leftover Polymost draw code prototype.
2022-10-05 00:36:24 +02:00
Mitchell Richters
6167448f27
- Blood: Replace all uses of binangle
with DAngle
objects.
2022-10-05 00:36:24 +02:00
Mitchell Richters
ebac932efe
- Update render_drawrooms()
and render_camtex()
to work off DAngle
objects.
2022-10-05 00:36:23 +02:00
Mitchell Richters
c935fc2226
- Refactor chase cam positional code to use DAngle
input rather than binangle
.
...
* These changes still maintain Build's integer positional values in Q28.4/Q24.8, changing this will be done later on.
2022-10-05 00:36:22 +02:00
Christoph Oelckers
9a27dc2020
- handle all leftover __int_angles.
...
Most were in comments but were changed anyway.
2022-10-05 00:36:21 +02:00
Christoph Oelckers
6bdfa09dd1
- the remaining angle stuff.
2022-10-05 00:36:21 +02:00
Christoph Oelckers
2d51058de8
- add_int_ang
2022-10-05 00:35:14 +02:00
Christoph Oelckers
c2f4fa8bb5
- more angles
2022-10-04 23:56:44 +02:00
Christoph Oelckers
8f904c2256
- angle assignments in Blood.
2022-10-04 23:56:43 +02:00
Christoph Oelckers
f54e4b8a9a
- more int_ang()
2022-10-04 23:56:43 +02:00
Christoph Oelckers
33d5b54ce0
- use int_ang().
2022-10-04 23:56:43 +02:00
Christoph Oelckers
735b9a8fed
- renamed ang to __int_angle
2022-10-04 23:56:42 +02:00
Christoph Oelckers
9bac3b8857
- floatified DBloodActor::basePoint.
2022-10-04 23:56:24 +02:00
Christoph Oelckers
a860a21bde
- use floats in viewInsertTSprite
2022-10-04 18:44:17 +02:00
Christoph Oelckers
3edbec4f55
- use copyXY method where possible.
2022-10-04 18:44:16 +02:00
Christoph Oelckers
b327f7f03a
- some simple replacements.
2022-10-04 18:44:15 +02:00
Christoph Oelckers
6816e32d23
- call float 'interpolated' functions for setting tsprite's pos.
2022-10-02 20:46:56 +02:00
Christoph Oelckers
5df4caa82f
- renamed interpolate functions as preparation for floatifying opos.
2022-10-02 20:46:56 +02:00
Christoph Oelckers
403e1ad3b3
- Blood: floatified baseFloor and baseCeil.
2022-10-02 20:46:56 +02:00
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
a59a771209
- use floats for ceilingz/floorz storage.
2022-08-27 10:49:59 +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
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
c15aeec9f7
- late __int_pos additions
2022-08-26 19:53:11 +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
75ab0cf018
- handle a few leftovers in Blood.
2022-08-26 19:53:07 +02:00
Christoph Oelckers
b9568aa372
- missed this in Blood
2022-08-26 19:53:06 +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
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
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
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
738c133d05
- animation precaching cleanup.
...
No need to handle animations on the,game side. markTileForPrecache already handles this - now also for oscillating animations.
2022-08-05 23:48:43 +02:00
Christoph Oelckers
4f2170655c
- animateoffs cleanup and consolidation
...
This was rewritten based on specs alone - it still doesn’t look that different due to its simplicity.
2022-08-05 23:32:16 +02:00
Christoph Oelckers
ec66f39535
- replaced a few naked chars with better types.
2022-08-05 17:04:46 +02:00
Christoph Oelckers
c2fc7577db
- cleanup of 3D viewport code.
...
Removes all the hackery that Polymost needed and now uses a sane struct to store the info.
2022-08-05 17:04:45 +02:00
Christoph Oelckers
b60181eed5
- variable cleanup.
2022-08-03 15:58:18 +02:00
Christoph Oelckers
291726cc55
- removed the Polymost renderer.
2022-08-03 15:50:27 +02:00
Mitchell Richters
00e12ea031
- Remove some uses of xs_Float.h
functions in game-side code where overflow protection isn't needed.
...
* Went a little bit nuts and just used this everywhere back way back when.
2022-07-23 10:37:32 +10:00
Christoph Oelckers
6c915d7940
- Blood may not abort on a bogus start position.
...
There seem to be ways to override it elsewhere.
The initial position gets used by some code, so it still needs to be validated, though.
2022-07-12 09:52:30 +02:00
Mitchell Richters
71fb91940d
Revert "- Simplify PlayerHorizon::settarget()
by adding a dedicated angle setter that resets interpolated value as well."
...
This reverts commit 0416834d9d
.
Revert "- Simplify `PlayerAngle::settarget()` by adding a dedicated angle setter that resets interpolated value as well."
This reverts commit 5a550613f3
.
Revert "- Add bool `lock` to `PlayerHorizon::settarget()` when setting target from the ticker without having to call setters and resetters."
This reverts commit 18541d1ab4
.
Revert "- Add bool `lock` to `PlayerAngle::settarget()` when setting target from the ticker without having to call setters and resetters."
This reverts commit 1ac58dc41c
.
* We need to ensure only the ticker can unlock the player's input if it's telling us to lock the input.
2022-06-06 18:41:45 +10:00
Mitchell Richters
1ac58dc41c
- Add bool lock
to PlayerAngle::settarget()
when setting target from the ticker without having to call setters and resetters.
2022-05-30 21:24:02 +10:00
Mitchell Richters
18541d1ab4
- Add bool lock
to PlayerHorizon::settarget()
when setting target from the ticker without having to call setters and resetters.
2022-05-30 21:22:24 +10:00
Mitchell Richters
5a550613f3
- Simplify PlayerAngle::settarget()
by adding a dedicated angle setter that resets interpolated value as well.
2022-05-30 21:22:10 +10:00
Mitchell Richters
7282e0d8bf
- Remove multiple addadjustment()
/settarget()
overloads in favour of native binangle
/fixedhoriz
versions only.
...
* Simplifies these classes a bit.
* Better shows intent in actual game code.
* Removes unnecessary int to double conversions.
2022-05-30 20:35:41 +10:00
Christoph Oelckers
aab13addb7
-renamed spritetype’s owner field to ‚intowner‘
...
Mainly for easier searching.
Also remove the duplicate ‚detail‘ field.
2022-05-24 00:30:41 +02:00
Christoph Oelckers
84bafe6d02
- manual merge of latest nnext update.
2022-05-11 08:31:58 +02:00
Christoph Oelckers
acb244653c
- several more Blood fixes copied from NBlood
2022-05-06 01:40:27 +02:00
Christoph Oelckers
83499740c3
- blood: GetHighestSprite fix
...
copied from NBlood f984eb8f5cb52653c301e015e34e8471d9ed8b7c
2022-05-06 01:28:21 +02:00
Christoph Oelckers
d85a8b6507
- blood: fix velCeil calculation
...
copied from NBlood 397992b6d5acd9c839db78dafde3a9a718b2503f
2022-05-06 01:26:38 +02:00
Christoph Oelckers
219970f626
- blood: SetupGibWallState fix
...
copied from NBlood f53f40ee79750aaadf1eeb4adc72a2cca034d8a2
2022-05-06 01:25:17 +02:00
Christoph Oelckers
4c139a2609
- blood: add missing case in OperateSprite
...
copied from NBlood 87315860a45dc16942f8e3c36290a856c886d619
2022-05-06 01:23:14 +02:00
Christoph Oelckers
5c9730766d
- dd self check for burning cultist fix
...
Fix issue with spawned kDudeBurningCultist dudes entering water
Copied from NBlood ae80eef10fdd42224c7b6e782f259ba23c1069e7
2022-05-06 01:21:48 +02:00
Christoph Oelckers
aab0a4f129
- renamed a variable
2022-05-06 01:17:18 +02:00
Christoph Oelckers
2576de04b8
- Renamed checkFired6or7->checkLitSprayOrTNT
...
replicates NBlood 285ad39455556ede31a0a94796a324ac43d1e3ef
2022-05-06 01:16:10 +02:00
Christoph Oelckers
67339d18ae
- use symbolic constants
...
Should be given real names, actually ;)
2022-05-06 01:14:58 +02:00