Mitchell Richters
e57ef59900
- Minor consistency fix with Duke and SW's automap code.
2022-10-14 18:19:03 +02:00
Mitchell Richters
5407de6924
- Use MaxSmoothRatio
everywhere so refactoring is easier later on.
2022-10-14 18:19:03 +02:00
Mitchell Richters
7d85acac13
- Clean up remaining automap interfaces to finish the floatification.
...
* Even though we pre-calculate the sine/cosine needed in `DrawOverheadMap()`, Duke and SW require the full angle for their more mature automaps.
2022-10-14 18:19:02 +02:00
Mitchell Richters
a4ac9afa2f
- SW: Floatify automap draw code (same math as Duke's, fortunately).
2022-10-14 18:19:02 +02:00
Christoph Oelckers
49b9863e42
- handle parts of CameraView
2022-10-14 18:18:59 +02:00
Christoph Oelckers
bb8c12efb4
- inlined GetSpriteSizeY in the only place where it was used.
2022-10-14 18:13:48 +02:00
Christoph Oelckers
fbfec1f037
- avoid using change.X as a marker value
2022-10-14 17:17:00 +02:00
Christoph Oelckers
785575604b
- no need to use int_delta when all we want is the angle.
2022-10-13 22:54:43 +02:00
Christoph Oelckers
6ce01e24d2
- renamed walltype::delta and walltype::center
2022-10-13 22:54:42 +02:00
Christoph Oelckers
1d28ebec98
- eliminated add_int_z and add_int_y wrappers
2022-10-13 22:54:42 +02:00
Christoph Oelckers
ffba7996b3
- SW: floatified PLAYER::siang
2022-10-13 20:58:12 +02:00
Christoph Oelckers
634db656e7
- SW: floatified PLAYER::si
2022-10-13 20:58:12 +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
Christoph Oelckers
4aa5de689c
- renamed old FAFcansee function for easier searching.
2022-10-10 17:31:29 +02:00
Christoph Oelckers
e089100ab1
- floatified PLAYER::bob_amt
2022-10-09 23:56:15 +02:00
Christoph Oelckers
5e14361dd6
- another set of 2 Utilities prepared for floatification.
2022-10-09 14:53:11 +02:00
Christoph Oelckers
abf9d764c4
- fix some z scaling mishap (again...)
...
- shadow stuff
2022-10-09 14:53:10 +02:00
Christoph Oelckers
ac3f6d73e3
- wrapped all reads to user.loz.
2022-10-09 08:21:54 +02:00
Christoph Oelckers
91acf93c7d
- SW: fixed viewpoint interpolation
2022-10-09 08:21:53 +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
4d02cdcce9
- use explicit types in hitscan calls
2022-10-06 20:50:47 +02:00
Christoph Oelckers
280cd8970e
- floatify all 3 player position variables.
2022-10-06 20:50:47 +02:00
Christoph Oelckers
5db79fecd7
- more int_ppos
2022-10-06 20:50:45 +02:00
Christoph Oelckers
8e966fc575
- int_ppos replacements
2022-10-06 20:50:45 +02:00
Christoph Oelckers
da73d2bba4
- renamed player position variables.
2022-10-06 20:50:45 +02:00
Christoph Oelckers
48cbdeb697
- replaced all possible __int_pmid with access functions.
2022-10-06 20:50:44 +02:00
Christoph Oelckers
819297a409
- SW: renamed SECTOR_OBJECT::pmid
2022-10-06 20:50:44 +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
086c699df0
- use float coords for spawning some SW actors.
2022-10-05 18:01:57 +02:00
Christoph Oelckers
64391c52f9
- large batch of set_int_pos, minus Exhumed
2022-10-05 17:33:01 +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
02dfe2cb62
- Repair interpolation issues following change of sprite angles from integer to DAngle
types.
2022-10-05 00:36:30 +02:00
Mitchell Richters
ad908719ec
- Remaining manual changes to replace player's ang
with DAngle
object.
2022-10-05 00:36:27 +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
782fb08209
- SW: Make better use of some TAngle backend utilities.
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
3242b8fd81
- SW: Remove leftover Polymost draw code prototype.
2022-10-05 00:36:23 +02:00
Mitchell Richters
2f76ca100f
- SW: Replace last uses of binangle
in game's draw code with DAngle
objects.
...
* Easiest done in one hit since we had pointers and things to deal with.
2022-10-05 00:36:23 +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
6bdfa09dd1
- the remaining angle stuff.
2022-10-05 00:36:21 +02:00
Christoph Oelckers
6381015229
- set_int_ang in SW, part 1.
2022-10-04 23:56:44 +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
022f22cd10
-replaced tspritetype::set_int_x/y.
2022-10-04 18:44:16 +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
d1b4bef98d
- don't draw invalid shadow sprites.
2022-10-01 10:01:56 +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
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
dc94dedc6b
- renaming spritetype::pos
2022-08-26 19:53:10 +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
b49aed6620
- SW: more spr.pos write wraps.
2022-08-26 19:53:09 +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
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
Christoph Oelckers
d7c15d7153
- SW: fixed shadow positioning.
2022-05-29 23:04:36 +02: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
3aff12cf4c
- sky management rework.
2022-01-16 12:12:43 +01:00
Christoph Oelckers
ddcee4ecbf
- split up g_visibility into two variables.
...
This is preparation for experimenting with the weapon flashes that can be quite annoying with how they brighten distant parts of the level far more than nearby parts.
2022-01-11 00:12:32 +01:00
Christoph Oelckers
e892de21ec
- preparations for unlimited tsprites.
...
Right now it is a no-op because Polymost cannot deal with this properly.
2022-01-11 00:12:32 +01:00
Christoph Oelckers
70087ebc12
- fixed: The new renderer still called the Polymost screen finish function.
...
This led to a second, redundant postprocessing step with incorrect matrix values.
It now calls screen->Update() directly without the unneeded stuff, but this required a bit of reordering in the game code to ensure that the renderer receives the weapon data to display.
2022-01-08 13:50:47 +01:00
Christoph Oelckers
a3162f6ccf
- renamed testnewrenderer CVAR.
2022-01-07 12:49:41 +01:00
Mitchell Richters
9145895b47
- SW: Replace SECTOR_OBJECT
ymid
with pmid.Y
calls.
2022-01-01 09:33:30 +11:00
Mitchell Richters
5e2bbb12b5
- SW: Replace SECTOR_OBJECT
xmid
with pmid.X
calls.
2022-01-01 09:32:40 +11:00
Christoph Oelckers
84ca96c52c
eliminated STATEp
2021-12-31 16:00:14 +01:00
Christoph Oelckers
d1be430fbf
- eliminated PLAYERp
2021-12-31 15:59:11 +01:00
Christoph Oelckers
12c63d2337
- eliminated a few more typedefs,
2021-12-31 13:37:57 +01:00
Christoph Oelckers
7f62df517d
- moved all interpolate* methods from spritetypebase to DCoreActor.
...
The places where it was used on tsprites were redone to use the actor's base coordinate, which at the point of the operation would always be the same.
2021-12-30 17:32:31 +01:00
Christoph Oelckers
6c381d4392
- removed sector() method from low level sprite type.
2021-12-30 16:58:48 +01:00
Christoph Oelckers
5498699faf
- use DCoreActor::sector() wherever possible.
2021-12-30 16:51:56 +01:00
Christoph Oelckers
f0b7fe4add
- use setsector from DCoreActor.
...
Also did a bit of cleanup
2021-12-30 16:36:04 +01:00
Mitchell Richters
ad0ea3f2f1
- SW: Replace USER
xchange
with change.X
calls.
2021-12-31 00:22:42 +11:00
Mitchell Richters
03da70b3b9
- SW: Replace PLAYERstruct
si*
variables with a vector.
2021-12-31 00:19:33 +11:00
Christoph Oelckers
9158796284
- partial replacement of tspriteptr_t.
2021-12-30 11:48:10 +01:00
Mitchell Richters
9bbb54fe2e
- Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries.
2021-12-30 20:30:21 +11:00
Mitchell Richters
bf7437c827
- SW: Remove ON
pre-processor define and eliminate mytypes.h
.
2021-12-30 09:58:46 +01:00
Mitchell Richters
1439d5f268
- SW: Replace TEST\(([\w\-\>.()\[\]]+),\s?([\w\_\|\s]+)\)
with ($1 & ($2))
.
2021-12-30 09:58:45 +01:00
Mitchell Richters
48b0058d38
- SW: Replace TEST\(([\w\-\>.()]+),\s?(\w+)\)
with ($1 & $2)
.
2021-12-30 09:58:45 +01:00
Mitchell Richters
5316e23737
- SW: Replace !TEST\(([\w\-\>.()\[\]]+),\s?([\w\_\|\s]+)\)
with !($1 & ($2))
2021-12-30 09:58:45 +01:00
Mitchell Richters
8df3966d08
- SW: Replace !TEST\(([\w\-\>.()\[\]]+),\s?(\w+)\)
with !($1 & $2)
.
2021-12-30 09:58:44 +01:00
Christoph Oelckers
c24aafd3d6
- SW: game.h cleanup
...
Turned almost all #defines into enums or inline functions, removed unused declarations and all leftover MONO_PRINT fragments elsewhere.
2021-12-30 09:58:13 +01:00
Christoph Oelckers
61564ab96a
- one third of TEST().
2021-12-30 09:58:13 +01:00
Christoph Oelckers
08fcfb382c
- the remaining RESET() calls.
2021-12-30 09:58:12 +01:00
Christoph Oelckers
e29d0f50cf
- lots of RESET() flags replaced.
2021-12-30 09:58:12 +01:00
Christoph Oelckers
d15c3aeff6
- got rid of the DIV2 macro.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
387d65abb4
- the remaining SET()s.
...
These had to be done manually.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
fe292fce0d
- yet more SET flag replacements
...
90% done.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
92ed3fa728
- replaced more SET() macros.
...
This covers another 30-35%.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
dc3f2473ba
- quick search & replace on ~40% of SET( macros in SW.
2021-12-30 09:58:10 +01:00
Christoph Oelckers
bf3f580d52
- deleted PLAYER::Actor()
...
Also made actor a regular pointer. Unlike the other ones this may not be prematurely nulled ever.
2021-12-30 09:58:06 +01:00
Christoph Oelckers
5f281dfc29
- user() in draw.cpp.
2021-12-30 09:57:54 +01:00
Christoph Oelckers
38224f05b7
- all nu not referring to actorNew->u()
2021-12-30 09:57:52 +01:00
Christoph Oelckers
1ec6743f20
- replaced tu in bunny.cpp and draw.cpp
2021-12-30 09:57:52 +01:00
Christoph Oelckers
297921204f
- rename STD_RANDOM_RANGE
2021-12-30 09:57:50 +01:00
Christoph Oelckers
123e19e355
- the rest of draw.cpp
2021-12-30 09:57:45 +01:00
Christoph Oelckers
9cdf4db648
- the remaining sp-> in draw.cpp
2021-12-30 09:57:45 +01:00
Christoph Oelckers
3b26c634db
- parts of draw.cpp.
2021-12-30 09:57:45 +01:00
Christoph Oelckers
c61e4de409
- WarpCopySprite
2021-12-30 09:57:45 +01:00
Christoph Oelckers
06d33b8276
- partial conversion of SP_TAG3 to actors.
2021-12-30 09:57:35 +01:00
Christoph Oelckers
397d9b0d84
- made SP_TAG2 a function with an actor parameter.
2021-12-30 09:57:34 +01:00
Mitchell Richters
0bb4ec7c33
- SW: Ensure pp
in analyzesprites()
is always initiated as the console player.
2021-12-30 09:57:32 +01:00
Mitchell Richters
c26b5d2303
- SW: Clean up local functions variables to prevent redefinition conflicts.
2021-12-30 09:57:31 +01:00
Christoph Oelckers
c9628e2034
- partial cleanup of SW's macro mess.
...
Renamed some functions to give them better names and converted more macros into functions or constants
2021-12-30 09:57:28 +01:00
Christoph Oelckers
6766a5922a
- pass actors to calcChaseCamPos.
2021-12-30 09:57:18 +01:00
Christoph Oelckers
09634c4993
- use actors instead of sprites in the new renderer's API.
2021-12-30 09:57:15 +01:00
Mitchell Richters
6423684bfb
- SW: Replace PLAYERstruct
oposz
with opos.Z
calls.
2021-12-30 09:57:09 +01:00
Mitchell Richters
a2f2cc489a
- SW: Replace PLAYERstruct
oposy
with opos.Y
calls.
2021-12-30 09:57:08 +01:00
Mitchell Richters
ae50767c70
- SW: Replace PLAYERstruct
oposx
with opos.X
calls.
2021-12-30 09:57:08 +01:00
Mitchell Richters
05a4ad4729
- SW: Replace PLAYERstruct
posz
with pos.Z
calls and eliminate PLAYERstruct
pos
union.
2021-12-30 09:57:08 +01:00
Mitchell Richters
ae3369d2a3
- SW: Replace PLAYERstruct
posy
with pos.Y
calls.
2021-12-30 09:57:08 +01:00
Mitchell Richters
3a0ee322ae
- SW: Replace PLAYERstruct
posx
with pos.X
calls.
2021-12-30 09:57:07 +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
68e2691be7
- Capitalise vec3_t
y
variable.
2021-12-30 09:57:03 +01:00
Mitchell Richters
c549cc5276
- Capitalise vec3_t
x
variable.
2021-12-30 09:57:02 +01:00
Christoph Oelckers
d9d05e90b5
- globally replaced all occurences of '->s().' with '->spr.'
2021-12-30 09:57:00 +01:00
Christoph Oelckers
df0c577cf4
- replaced most of numsectors, too.
2021-12-30 09:56:54 +01:00
Christoph Oelckers
5ff36f491e
- fixed the remaining places where the compiler complained about cstat.
2021-12-30 09:56:51 +01:00
Christoph Oelckers
8e0b9f7ce6
- some automatic, some manual sprite flag replacements
2021-12-30 09:56:49 +01:00
Christoph Oelckers
82fb03e399
- another batch of search&replace, with smaller results.
2021-12-30 09:56:48 +01:00
Christoph Oelckers
c5ae454207
- another big batch of automatic replacements.
2021-12-30 09:56:48 +01:00
Christoph Oelckers
b263c3ac6b
- wall and sprite flags in Duke, just simple cases.
2021-12-30 09:56:46 +01:00
Christoph Oelckers
6e32832428
- made sector ceiling/floor flags type safe.
...
- made sector flags type safe.
2021-12-30 09:56:46 +01:00
Christoph Oelckers
bea394a734
- replace SW specific sector flags with the global ones.
2021-12-30 09:53:55 +01:00
Christoph Oelckers
dddf48fd3e
- cleaned up and renamed buildtypes.h.
...
Content was reordered so that the file can contain the inlines belonging to the map data types that previously had to be stored elsewhere.
Also moved out of the Build folder because virtually everything in here can be traced to content available in Duke Nukem 3D's and Shadow Warrior's source releases.
2021-12-30 09:53:46 +01:00
Mitchell Richters
65a55d3589
- SW: Tidy up function declarations where return type was on its own line.
2021-12-26 23:10:05 +01:00
Christoph Oelckers
8ee5d1b0d7
- activated the garbage collector
...
This finally gets rid of all static storage for actors - so no more indices ever! :)
2021-12-26 23:10:00 +01:00
Christoph Oelckers
6cb260d916
- SW GC preparation commit noise.
2021-12-26 23:10:00 +01:00
Christoph Oelckers
d3b1e34d78
- moved sprite[], spriteext[] and spritesmooth[] into DCoreActor.
...
Also removed the last remaining sprite pointer in saveable data.
2021-12-26 23:09:55 +01:00
Christoph Oelckers
e79cd8d87f
- don't store sprite indices in walltype::portalnum
2021-12-26 23:09:54 +01:00
Christoph Oelckers
f855b1020f
- actor lists refactored.
...
No more shorts, no more static arrays.
This was one of the biggest blockers for unlimiting the engine.
2021-12-26 23:09:54 +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
Mitchell Richters
0c6e55d1b8
- Silence all the -Wuninitialized
and -Wmaybe-uninitialized
warnings relating to HitInfo
objects passed through to functions by reference.
2021-12-26 23:09:50 +01:00
Christoph Oelckers
5dfc79bdbe
- MarkSectorSeen
2021-12-26 23:09:48 +01:00
Christoph Oelckers
321608e5ac
- made cursectnum et. al. real pointers.
2021-12-26 23:09:41 +01:00
Christoph Oelckers
30f36e4871
- use backend's collision struct in SW.
2021-12-26 23:08:58 +01:00
Christoph Oelckers
a5ccd2ccd2
- adapted FAFhitscan to the new backend API.
...
Lots of search & replace to change the names of the HitInfo struct, no manual edits outside of FAFhitscan.
2021-12-26 23:08:57 +01:00