Christoph Oelckers
91f305125e
- floatified GetWallSpritePosition and redirected get_wallspr_points to use it.
2022-10-05 18:29:04 +02:00
Christoph Oelckers
c712d594e0
- fully floatified GetFlatSpritePosition
2022-10-05 18:29:03 +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
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
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
Mitchell Richters
728edc182d
- Remove last main usage of binangle
outside of the game's input code.
2022-10-05 00:36:26 +02:00
Mitchell Richters
6167448f27
- Blood: Replace all uses of binangle
with DAngle
objects.
2022-10-05 00:36:24 +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
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
a59a771209
- use floats for ceilingz/floorz storage.
2022-08-27 10:49:59 +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
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
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
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
83c0ad55f2
- rewrote nextsectorneighborzptr with a better parameter interface
2022-08-05 18:43:48 +02:00
Christoph Oelckers
dcb4e1e39b
- updatesector* cleanup.
...
got rid of all remaining Build code in here, stripped down the wrapper interface and moved everything into a separate header file.
2022-08-05 17:04:46 +02:00
Christoph Oelckers
b31e6c0bdf
- replaced getclosestpointonwall_internal with a floating point version based on NearestPointLine.
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
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
4e2a9f6e59
- use float wall positions in portal code.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
651c25a7be
- do the 'inside' check with integers.
...
Using floats and multiplications is not robust enough. This is a bit slower, but doesn't run the risk of underflows and other nasties.
Q: How many bits of fractional precision should we use? 16 seems fine
2022-02-15 22:18:26 +01:00
Christoph Oelckers
7374364527
- doFurniture floatified and inside rewritten as a floating point algorithm that works without bit masking.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
6fbecf2348
- RR: cleaned up and floatified the mine cart code
2022-02-15 22:18:25 +01:00
Christoph Oelckers
6e96b1ee81
- floatify SW's sector object rotation.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
a12093af04
- use full precision math for rotating sectors in Blood.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
a781517780
- renamed PlanesAtPointf to PlanesAtPoint
...
The old PlanesAtPoint is not needed anymore.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
f44736a5b6
-use an access function for reading wall positions so that we have a non-modifiable value wherever this is possible.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
89ef81da55
- renamed walltype::pos as preparation for refactoring.
...
no functional changes here
2022-02-15 22:18:22 +01:00
Christoph Oelckers
276597fc36
- normalize line endings.
2022-01-22 14:37:17 +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
91d51d518b
- this hack is needed because dragging vertices around can randomly create wall intersection.
...
In clear English: Geometry in Build maps is always broken by design. :(
2022-01-09 20:38:07 +01:00
Christoph Oelckers
415dc5246d
- fixed sprting of non-translucent sprites.
2022-01-08 21:18:18 +01:00
Christoph Oelckers
1849fe541e
- fixed alignment of sloped sprites.
...
The offset fields are not valid for them so thwy may not be used for offsetting.
2021-12-31 11:55:25 +01:00
Christoph Oelckers
717dd123e5
- fixed slope sprite flag getting cleared by some leftover code.
...
Also merged copyfrom into the one single function that called it.
2021-12-31 10:55:55 +01:00
Christoph Oelckers
4bc32e2777
- use actors in the sloped sprite utilities.
2021-12-30 16:11:14 +01:00
Christoph Oelckers
44d2cc1951
- eliminated usectorptr_t.
2021-12-30 11:45:58 +01:00
Christoph Oelckers
3fee8f3c4e
- replaced dragpoint (both the generic and the Blood variant) with a newly written vertexscan function.
...
This is a template allowing to run any task on a set of walls with equivalent start point.
Code was redesigned from scratch to be more clear than the existing variants.
The idea here is to reuse the base algorithm for other things that need to operate on the equivalent set of a given wall's start point.
2021-12-30 09:58:15 +01:00
Christoph Oelckers
6766a5922a
- pass actors to calcChaseCamPos.
2021-12-30 09:57:18 +01:00
Christoph Oelckers
f602cf3806
- deal with s() in shared code.
...
clip.cpp was left alone, except for the actual call.
2021-12-30 09:57:14 +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
09e00a69fe
- Replace walltype
y
with pos.Y
calls and eliminate walltype
pos
union.
2021-12-30 09:57:04 +01:00
Mitchell Richters
51b647da87
- Replace walltype
x
with pos.X
calls.
2021-12-30 09:57:04 +01:00