Christoph Oelckers
21fddd6c54
- spriteset management.
2022-02-15 22:34:48 +01:00
Christoph Oelckers
e396798198
- made DCoreActor's properties functional.
...
They cannot be parsed directly into the actor's sprite because that gets used in ways that require a different setup.
This alsp adds a property parser and a setter function for the SpriteSet array. The idea here is to write code that does not need to use actual tile indices so it can later be refactored to real textures.
2022-02-15 22:34:03 +01:00
Christoph Oelckers
e3f1893e02
- avoid conversions for vertex comparisons in CollectLoops and for sectorgeometry.cpp's poscompare values.
2022-02-15 22:34:03 +01:00
Christoph Oelckers
37fda9cf89
- added position getters/setters to DCoreActor.
...
Scripting should not be subjected to that awful mixed fixed point format, but we cannot easily swap out the internals without risking breakage all over the place.
2022-02-15 22:33:49 +01:00
Christoph Oelckers
71943abed0
- changed math utilities to floating point coordinate system.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
8cc8ebf30c
- preparations for more floatification.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
4e2a9f6e59
- use float wall positions in portal code.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
b641456152
- use floats directly for WallStart/End/X/Y.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
73aa84e9f3
- floatified the user map display.
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
b8ea49ee0e
- SW: bumped two hard limits because there's maps out there that exceed them.
2022-02-15 22:18:25 +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
08500ca757
- eliminated coordinate factors from UV generator.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
bd95da423a
- use PlanesAtPointf in most places where PlanesAtPoint was used.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
02d508baef
- renamed floatified wall coordinate to 'pos'.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
7d461fa768
- PlanesAtPointf
2022-02-15 22:18:24 +01:00
Christoph Oelckers
cd55658786
- use floats for vertices.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
cf17cffb26
- missed one place where wall coordinates are set from map loading.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
bc0e8b4a8d
- use a method for setting wall coordinates when loading a map.
2022-02-15 22:18:23 +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
Rachael Alexanderson
0d54237eec
- pull cvar uniform fixes from gzdoom
2022-02-09 07:26:59 -05:00
Rachael Alexanderson
c2b35fee41
- allow floats for uniform cvar defaults
2022-02-06 10:32:55 -05:00
Rachael Alexanderson
9fc6d40dcf
- fix compile on clang - it's a whack-a-mole, we'll get em eventually
2022-02-01 12:49:58 -05:00
Rachael Alexanderson
b7cb878ad8
- fix compiling on Linux/et-al
2022-02-01 12:36:26 -05:00
Rachael Alexanderson
942acc04c1
- pull fix from GZDoom - handle situations where the uniform cvar may already exist
2022-02-01 11:45:29 -05:00
Rachael Alexanderson
cc57914bbf
- fully implement uniform cvars
2022-02-01 11:03:39 -05:00
Christoph Oelckers
dab1f7fcec
- handle walls where a sloped floor intersects with the visible part.
2022-01-30 08:54:11 +01:00
Christoph Oelckers
11b21cce2c
- handle wall sprites on orthogonal walls better.
...
This covers the case that a wall sprite may overlap two walls with a slight deviation in their position - always pick the closest one.
2022-01-30 08:28:52 +01:00
Christoph Oelckers
f98765ce95
- fixed handling of badly placed sprites in map validation code.
2022-01-29 12:33:11 +01:00
Christoph Oelckers
686a648aa1
- fixed inverted logic when checking for dragged sectors.
2022-01-29 09:59:29 +01:00
Christoph Oelckers
cbd8de36a9
- added spawn number parser to .DEF.
...
This is for mapping actor classes to whatever the games use to decide what kind of actor a sprite is.
2022-01-26 23:53:05 +01:00
Christoph Oelckers
5fe5dbd5aa
- added spriteSet property to DukeActor
...
The idea here is to abstract picnum manipulation. Since all this is strongly index based it translates poorly to a system with named textures.
This allows a class to define a set of sprite images it intends to operate on as if it was still a simple indexed resource, even if the underlying storage changes.
2022-01-26 00:36:34 +01:00
Christoph Oelckers
e3103fff02
- fixed sky tiling.
2022-01-25 19:00:52 +01:00
Christoph Oelckers
d19e2e3e40
- version bump.
2022-01-24 10:29:16 +01:00
Christoph Oelckers
2022de845a
- did some reshuffling on Exhumed's menu.
...
To allow adding a "User map" item and prevent accidental reset of ongoing games, both the items for starting the campaign and the training map are now in a submenu.
This allows the game to go through the regular startup procedure common to all games, which in turn allows adding the "User map" item to the episode selection.
2022-01-24 01:00:05 +01:00
Christoph Oelckers
f194fb6c90
- added a name to tilenum function so that we can define picnums by name in scripted actors.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
e206a71448
- added the native property handlers for CoreActor.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
0a6a5fe871
- set a default bitmask for the cstat flags.
...
These need to be combined with the flags from the map, so we need to know which ones are being used by the actor defaults.
2022-01-24 00:24:46 +01:00
Christoph Oelckers
04a380ce14
- added script exports for DCoreActor's member variables.
2022-01-24 00:24:46 +01:00
Christoph Oelckers
531a42e801
- added the flag parsing utilities.
2022-01-23 13:03:39 +01:00
Christoph Oelckers
e035ce00b6
- hooked up the compiler extension and the static actor data setup.
2022-01-23 13:03:39 +01:00
Christoph Oelckers
0398ba4ff0
- added all parts needed to implement the actor property parser.
...
Not hooked up yet with the rest of the code, this just adds the needed files in compilable form.
2022-01-23 13:03:39 +01:00
Christoph Oelckers
747648ce78
- added guards against badly defined skies.
2022-01-22 22:52:45 +01:00
Christoph Oelckers
276597fc36
- normalize line endings.
2022-01-22 14:37:17 +01:00
Rachael Alexanderson
f4c9c5df72
- hook up GLDEFS parser and do some final fixes
2022-01-21 01:16:22 +01:00