Commit Graph

6946 Commits

Author SHA1 Message Date
Lioncash e34db8c0e6 COBBTree: Eliminate sign conversion warnings
Multiplying a u16 results in an int.
2020-04-06 01:00:58 -04:00
Lioncash 2e6bd0f05e CGunWeapon: Eliminate usages of const_cast
Eliminates trivial usages of const_cast by making Draw related functions
non-const. This also allows removing the mutable specifiers from several
shader data members.
2020-04-06 00:52:47 -04:00
Lioncash cabbfcc320 CActor: Make AddToRenderer() non-const
This member function alters instance state in a few implementations, so
it shouldn't be made const.

The state manager parameter also shouldn't be const. Retrieved data
from the post constructed instance is further modified in some
implementations. This removes the constness on this parameter in order
to fix more const_cast usages in a follow-up change.
2020-04-06 00:52:10 -04:00
Lioncash 19cfb92d5d COBBTree: Simplify make_unique call
We can use nullptr here instead of typing out the name of the type.
2020-04-06 00:51:04 -04:00
Luke Street 58adce472a CMappableObject: Fix call to data() 2020-04-06 00:03:34 -04:00
Lioncash fa2f37a14c DNAMP3/PAK: Make use of unique_ptr in getBuffer()
Same motivation as the previous change: seating the allocated memory
into a type that will always do the right thing immediately, rather than
later.
2020-04-05 10:20:59 -04:00
Lioncash 9e503edaf1 PAK: Make use of unique_ptr in getBuffer()
Same behavior, however we seat the allocated memory into a unique_ptr
from the get-go to prevent any possible memory being leaked.
2020-04-05 10:16:09 -04:00
Lioncash 57fa706311 hecl: Allow Time instances to be constexpr
Some constructors accept primitive values. These can be made constexpr.
2020-04-05 09:35:31 -04:00
Lioncash b5a26d5136 VertexBufferPool: Make Token move constructor and move assignment noexcept
Same behavior, but allows the type to be used nicely with containers and
move facilities that rely on std::move_if_noexcept.
2020-04-05 09:28:05 -04:00
Lioncash caca49b3bd UniformBufferPool: Make Token move constructor and move assignment noexcept
Allows the type to be used with containers and facilities that make use
of std::move_if_noexcept, etc.
2020-04-05 09:26:29 -04:00
Lioncash 1a031f54c4 ProjectPath: Remove unused file-scope std::regex instance
Same behavior, minus an unnecessary heap allocation on program start.
2020-04-05 09:22:28 -04:00
Lioncash c48303c2c2 Database: Add missing const qualifier 2020-04-05 09:21:58 -04:00
Lioncash 393e824838 Project: Make checkForLine() a const member function
This only ever queries the existence of a line, so it can be made const.
2020-04-05 09:16:33 -04:00
Lioncash 613b503cd6 FourCC: Remove constexpr from IStreamReader constructor
IStreamReader isn't constexpr, so this will result in a compilation
error if used.
2020-04-05 09:13:29 -04:00
Lioncash ede801b344 Project: Use emplace_back where applicable in lockAndRead()
Same behavior, but allows for in-place construction.
2020-04-05 09:12:27 -04:00
Lioncash 45556184b4 HMDL_RT: Make use of std::make_unique
More straightforward than using raw new within a reset() call.
2020-04-05 09:05:37 -04:00
Lioncash ebb0a161c3 HMDL_RT: Remove unnecessary pointer cast
The MemoryReader class already accepts const qualified data, so there's
no need to cast away const.
2020-04-05 09:03:38 -04:00
Lioncash f77fb2089b General: Pass std::nullopt to CAnimData::Render instead of {}
Prevents some implementations (libstdc++ and libc++) from completely zeroing out the underlying
buffer and instead sets a single byte flag.

Eliminates unnecessary memsets.
2020-04-05 08:24:42 -04:00
Phillip Stephens 786634e181
Merge branch 'master' of ssh+git://git.axiodl.com:6431/AxioDL/urde 2020-04-05 05:13:14 -07:00
Phillip Stephens eab08cbe2d
Merge branch 'lioncash-find' 2020-04-05 05:12:25 -07:00
Phillip Stephens 77bf10f8f1
Merge branch 'lioncash-constexpr5' 2020-04-05 05:12:12 -07:00
Lioncash 0a7ccace44 CCharacterFactory: Eliminate usages of const_cast within CreateCharacter()
We can simply make this member function non-const and eliminate the need
for casts like this.
2020-04-05 08:11:51 -04:00
Phillip Stephens 7feae73855
Merge branch 'lioncash-build' 2020-04-05 05:11:50 -07:00
Phillip Stephens 5fc8f2ccd2
Merge branch 'find' of https://github.com/lioncash/urde into lioncash-find 2020-04-05 05:11:20 -07:00
Phillip Stephens 28853f5ea6
Merge branch 'constexpr5' of https://github.com/lioncash/urde into lioncash-constexpr5 2020-04-05 05:10:42 -07:00
Phillip Stephens 5d803c76c4
Merge branch 'build' of https://github.com/lioncash/urde into lioncash-build 2020-04-05 05:09:51 -07:00
Lioncash 6ba0641b79 CCameraFilter: Make Draw() non-const
Eliminates another usage of const_cast.
2020-04-05 08:05:04 -04:00
Lioncash b99122dae8 CFrontEndUI: Remove use of const_cast in Draw()
These casts are no longer necessary.
2020-04-05 07:12:07 -04:00
Lioncash 4d2e51c0b9 CSamusHud: Make Draw() non-const
Allows eliminating usages of const_cast.
2020-04-05 07:09:13 -04:00
Lioncash 3e9e434d96 CPlayerVisor: Make Draw() non-const
Allows eliminating const_cast usages.
2020-04-05 07:00:40 -04:00
Lioncash be4e7f8ff7 CMFGame: Remove unnecessary const_cast
This is no longer necessary, considering that Draw() isn't const
qualified anymore.
2020-04-05 06:52:19 -04:00
Lioncash a952ff1110 CCollisionEdge: Make constructors constexpr
Makes the default and non-stream iterator constexpr, which allows for
elimination of a runtime initializer.
2020-04-05 06:46:03 -04:00
Lioncash af6e3b21f8 COBBTree: Make use of std::array where applicable 2020-04-05 06:41:22 -04:00
Lioncash 039e43c511 CMapWorldInfo: Actually add the mutable specifiers
Note to self, actually stage changes before pushing.
2020-04-05 06:36:17 -04:00
Lioncash 42c560b9df CMapWorldInfo: Remove use of const_cast
Same behavior, but explicitly marks the member variables as mutable.
This is fine given they act as an underlying cache and don't directly
alter the behavior of the interface.
2020-04-05 06:30:25 -04:00
Lioncash 2755f3f4f8 CMapWorldInfo: Eliminate truncation and sign conversion warnings 2020-04-05 06:29:27 -04:00
Lioncash 755529b67a CMappableObject: Make use of std::array where applicable
Same behavior, but also allows eliminating hardcoded array sizes.
2020-04-05 06:15:18 -04:00
Lioncash 94264f6fe6 CRasterFont: Collapse loop into a std::find_if in InternalGetGlyph()
Same behavior, less code.
2020-04-05 06:01:29 -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 8808a3a324 CFireFlea: Unindent FindSafeRoute()
Makes the function much nicer to follow by using guard clauses to
unindent the code.
2020-04-05 05:36:28 -04:00
Lioncash 99c564cfe4 CFireFlea: Make colors constexpr internal details
Same behavior, but makes the color constants fully internal details.
2020-04-05 05:25:47 -04:00
Lioncash a49d26f800 CParticleElectric: Return std::nullopt in GetBounds()
Same behavior, but avoids zeroing out the internal buffer in some
implementations of std::optional.
2020-04-05 05:12:25 -04:00
Lioncash 852dd5c6bf CParticleGenInfo: Collapse TCastToPtr into conditions
Same behavior, but more compact.
2020-04-05 05:10:28 -04:00
Lioncash 39e8ee9a80 CBodyState: Return 1.0f directly in UpdateLocomotionAnimation()
Same behavior, but less verbose.
2020-04-05 03:24:56 -04:00
Lioncash 71e3fb1817 CBodyState: Eliminate usages of const_cast
This is clearly modifying the command, so we should allow for modifying
of command instances if necessary.
2020-04-05 03:21:33 -04:00
Lioncash 1fb28a03a3 CBodyState: Mark reference parameters as const where applicable
Makes the parameters explicit about whether or not they're modified.
2020-04-05 03:10:35 -04:00
Lioncash 9ddb726155 CBodyState: Make use of const where applicable
Same behavior, but makes read-only intent explicit.
2020-04-05 02:58:22 -04:00
Lioncash 1b01b232e6 CCinematicCamera: Make use of const where applicable
Makes read-only intent explicit.
2020-04-05 01:45:08 -04:00
Lioncash 4e55edf0fe CCameraSpline: Make use of TCastToConstPtr where applicable
Makes the read-only intent explicit.
2020-04-05 01:25:55 -04:00