Luke Street
232823ae69
Runtime/Graphics: Replace bitfield unions with constructor initializers
2020-04-10 15:03:31 -04:00
Lioncash
124356b4e7
CSimpleShadow: Remove mutable specifier on m_filter
...
This is no longer necessary now that we can remove the const qualifier
on Render().
2020-04-09 21:44:49 -04:00
Lioncash
cd0a3780c0
CRainSplashGenerator: Remove mutable specifier from m_renderer
...
We can just drop the const specifiers on relevant member functions to
get rid of the need for this.
2020-04-09 21:40:48 -04:00
Lioncash
b89069e1b8
CBooRenderer: Remove usages of const_cast
...
We can just remove the const qualifier on model here.
2020-04-09 20:22:50 -04:00
Lioncash
bfd17e4513
CActor: Make Render() a non-const function
...
A few implementations of Render() contain const-casts nested within its
their call hierarchy to get around the fact that this function is marked
const. We can just make the member function non-const to allow removal
of these casts in follow up changes.
2020-04-09 14:32:20 -04:00
Lioncash
fe32cea8fc
CRainSplashGenerator: Always initialize x24_generateInterval
...
Provides a deterministic consistent initial state.
2020-04-07 13:02:02 -04:00
Lioncash
1279be5e56
CGraphics: Mark internal file-scope matrices as constexpr
...
Same behavior, but allows omission of runtime initializers.
2020-04-05 05:48:54 -04:00
Lioncash
95199848d3
CGraphics: Make use of std::array where applicable
2020-04-05 05:46:07 -04:00
Lioncash
da75543c76
CRainSplashGenerator: Dehardcode line vector size in constructor
...
We can query the capacity instead.
2020-04-01 00:27:56 -04:00
Lioncash
254a96313a
CSkinnedModel: Convert typedef into using alias
...
Same behavior, nicer to read.
2020-04-01 00:06:52 -04:00
Lioncash
1415265ef2
Runtime: Default destructors where applicable
...
Same behavior, but allows the destructors to be trivial, etc.
2020-03-31 04:50:26 -04:00
Lioncash
67f6666ea1
Runtime: Add more usages of explicit
...
Prevents error-prone implicit conversions where applicable.
This targets the regular RuntimeCommon target this time around.
2020-03-31 03:53:49 -04:00
Lioncash
6ae935924b
IRenderer/CBooRenderer: Add parameter names to function prototypes
...
Makes the interface more self-documenting and allows IDEs to perform
better parameter introspection
2020-03-30 00:34:38 -04:00
Lioncash
111f0c3d3a
IRenderer: Convert typedef to using alias
...
Same behavior, but nicer to read.
2020-03-30 00:18:38 -04:00
Lioncash
51afa94e8c
Add missing includes where applicable
...
Resolves a few required dependencies
2020-03-26 01:10:55 -04:00
Lioncash
40fc3f9dd8
CModelBoo: Remove usages of const_cast
...
Many functions are modifying internals of CBooModel and const-casting
is performed in order to work around functions being const when they
really shouldn't be.
This amends the function signatures in order to allow these functions to
exist without const_cast, making code much nicer to read.
2020-03-25 02:01:46 -04:00
Luke Street
dcc7affb8f
Merge pull request #243 from lioncash/light
...
CLight: Minor cleanup
2020-03-18 01:03:04 -04:00
Luke Street
18ef68df2a
Merge pull request #239 from lioncash/line
...
CLineRenderer: Minor changes
2020-03-18 00:58:46 -04:00
Lioncash
ec7bca8c20
CLight: Collapse std::max calls into one
...
We can use the overload that takes an initializer list to make it easier
to read.
2020-03-17 20:54:56 -04:00
Lioncash
e821f736de
CLight: Mark caching member variables as mutable
...
Member variables acting as caches is one of the areas where marking
variables as mutable makes sense.
We can do this to allow for the elimination of const_cast in some member
functions.
2020-03-17 20:47:12 -04:00
Lioncash
9483b64c91
CLight: Mark kDefaultPosition and kDefaultDirection as constexpr
...
Same behavior, but allows runtime constructors to be elided.
2020-03-17 20:44:22 -04:00
Lioncash
17a1f90a89
CLight: Prevent implicit double->float truncations
...
We can just mark these literals as floats to keep the arithmetic
operating on floats instead of doubles.
2020-03-17 20:42:39 -04:00
Lioncash
1dd1542106
CLight: Remove unnecessary initializer list initializers
...
These are already initialized within the class definition, so they don't
need to be respecified here.
2020-03-17 20:39:29 -04:00
Lioncash
e5e4a6482c
CLineRenderer: Make use of std::array where applicable
...
Same behavior, but without the potential for unintentional array to
pointer decay.
2020-03-17 19:07:27 -04:00
Lioncash
858162e0c1
CLineRenderer: Remove unnecessary casts to bool
...
These constructs function identically without the need for casting.
2020-03-17 19:04:01 -04:00
Lioncash
b1e5bf72b6
CFogVolumeFilter: Make use of std::array where applicable
...
Makes data strongly typed and also allows for the removal of some
hardcoded array sizes.
2020-03-17 18:52:47 -04:00
Lioncash
bb075d51ed
CPhazonSuitFilter: Convert define into local variable
...
Same behavior, but with a more localized scope.
2020-03-16 15:57:21 -04:00
Phillip Stephens
6567ae8d42
Merge pull request #218 from lioncash/emplace
...
Runtime: Collapse emplace_back() calls where applicable
2020-03-13 15:30:43 -07:00
Lioncash
097d4a4422
Runtime: Collapse emplace_back() calls where applicable
...
Same behavior, but with less code.
2020-03-13 17:14:44 -04:00
Lioncash
c37b3df27b
CLineRenderer: Silence -Wmaybe-uninitialized warning
...
We can just initialize maxTriVerts to zero to prevent warnings from
occurring.
2020-03-12 19:15:51 -04:00
Lioncash
9db07b037a
CElementGen: Make use of std::array where applicable
2020-03-09 12:53:28 -04:00
Lioncash
8d42eb4287
CPVSVisOctree: Initialize in-class member variables where applicable
...
Provides a deterministic initial state for the default constructor.
2020-03-07 05:01:29 -05:00
Lioncash
4034e3b31f
CPVSVisOctree: Make use of std::array where applicable
...
Makes the arrays strongly typed.
2020-03-07 04:50:19 -05:00
Lioncash
969bcdba35
CPVSVisOctree: Use static qualifying name for ReadBoundingBoxBig()
...
It looks very odd using the name of the object being initialized to call
through to a static member function. We can disambiguate this by making
use of the qualifying name directly.
2020-03-07 04:46:19 -05:00
Phillip Stephens
4daa8ac374
CModelBoo: Fix missing cast
2020-03-06 16:27:33 -08:00
Phillip Stephens
24baafb996
Merge pull request #190 from lioncash/render
...
CBooRenderer: Minor cleanup
2020-03-06 16:14:47 -08:00
Phillip Stephens
ae25392d19
Merge pull request #189 from lioncash/model
...
CModelBoo: Make static data constexpr where applicable
2020-03-06 16:14:05 -08:00
Lioncash
b1426867bf
CBooRenderer: Make use of std::array where applicable
...
Makes the data strongly typed and allows eliminating some hardcoded
sizes.
2020-03-06 02:25:40 -05:00
Lioncash
4f7f5cf09a
CBooRenderer: Make Buckets class mostly internal
...
This is only ever functionally used within this translation unit, so we
can hide the class internally.
2020-03-06 01:16:02 -05:00
Lioncash
3c4e25062d
CModelBoo: Make static data constexpr where applicable
...
Gets rid of potential runtime-initializers.
2020-03-06 00:46:30 -05:00
Lioncash
d9664d165f
CModelShaders: Make EExtendedShader an enum class
...
Prevents pollution of the urde namespace with general names like Flat,
etc.
2020-03-06 00:16:31 -05:00
Phillip Stephens
9f5f0abab4
More CThardus imps, add reference CTevPass imps
2020-02-29 17:11:41 -08:00
Luke S
1d9224f55c
Merge pull request #156 from lioncash/moving
...
CSkinnedModel: std::move constructor arguments where applicable
2020-02-24 03:00:59 -05:00
Lioncash
6c6df4d4ee
CSkinnedModel: std::move constructor arguments where applicable
...
Fairly straightforward change. We can move the elements here to make use
of the move constructor over the copy constructor.
2020-02-24 02:36:44 -05:00
Lioncash
35ae2c2981
CGraphics: Silence missing initializer warning
...
Makes the initializer field for the aspect member explicit along with
the rest of the supplied values.
2020-02-24 02:28:27 -05:00
Lioncash
1aa24bd287
CRainSplashGenerator: Amend lower bound constant for speed in SSplashLine::Update()
...
Game code actually uses a constant of 4.0f as the lower bound for speed, not
0.015625f.
2020-01-30 22:20:49 -05:00
Lioncash
1cb289f243
RuntimeCommon: Normalize cpp inclusions
...
Normalizes the headers for the cpp files in the RuntimeCommon target.
Now all headers and source files within the RuntimeCommon/RuntimeCommonB
targets are normalized and consistent with one another.
2020-01-15 09:15:47 -05:00
Phillip Stephens
70747e23d5
Fix font rendering and world teleporter in MPT and PAL
2019-12-11 10:55:19 -08:00
Phillip Stephens
b507799478
Add texture info lookup
2019-12-11 00:37:30 -08:00
Phillip Stephens
1a13f7e4ee
Update submodules, initial CTextureCache
2019-12-10 20:51:33 -08:00