Phillip Stephens
b38ba6b636
Revert static_cast in MkCastTo.py
2019-10-01 07:27:20 -07:00
Phillip Stephens
df9b8bc05d
Merge pull request #90 from lioncash/noexcept
...
RetroTypes: Make functions noexcept where applicable
2019-10-01 06:44:39 -07:00
Phillip Stephens
60ecede3fd
Merge pull request #91 from lioncash/string
...
CAudioSys: Minor cleanup
2019-10-01 06:44:26 -07:00
Phillip Stephens
be2da2f363
Merge pull request #92 from lioncash/fwd
...
ICollisionFilter: Use forward declarations where applicable
2019-10-01 06:44:08 -07:00
Phillip Stephens
7d2ad7b1b2
Merge pull request #93 from lioncash/loop
...
CSlideShow: Use ranged for loops in constructor
2019-10-01 06:43:56 -07:00
Phillip Stephens
6bcdf98eeb
Merge pull request #94 from lioncash/default
...
CIOWin: Default the virtual destructor
2019-10-01 06:43:45 -07:00
Phillip Stephens
4d94923a23
Merge pull request #95 from lioncash/gen
...
MkCastTo: Use '_v' variants of type traits where applicable
2019-10-01 06:43:33 -07:00
Phillip Stephens
d2e9495686
Merge pull request #96 from lioncash/array2
...
CFinalInput, ControlMapper: Use std::array where applicable
2019-10-01 06:43:23 -07:00
Phillip Stephens
d5277b4d91
Remove invalid include
2019-10-01 06:41:55 -07:00
Jack Andersen
e1d46755a3
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
2019-09-30 21:41:42 -10:00
Jack Andersen
16ca0d24c2
Explicit Asset ID refactor
2019-09-30 21:38:03 -10:00
Lioncash
f0186e7ceb
ControlMapper: Use std::array where applicable
2019-10-01 02:11:02 -04:00
Lioncash
dc565969e6
CFinalInput: Use std::array where applicable
...
Allows simplifying copies and gets rid of hardcoded size values.
2019-10-01 01:59:56 -04:00
Lioncash
91bdfa86f6
MkCastTo: Use static_cast instead of reinterpret_cast
...
If the type is convertible to the other one, then a static_cast will be
able to perform the conversion (assuming the type itself is
constructible). If it isn't, then nullptr will just be converted to a
null version of T*.
2019-09-30 22:22:12 -04:00
Lioncash
bf65456a2c
MkCastTo: Use '_v' variants of type traits where applicable
...
Same thing, but less typing, slightly shrinking the file size.
2019-09-30 22:15:53 -04:00
Lioncash
99a7e64a8a
CIOWin: Default the virtual destructor
...
No functional change. Just maintains consistency with the rest of the
codebase.
2019-09-30 18:20:11 -04:00
Lioncash
2eb5e7c446
CSlideShow: Use emplace_back where applicable
...
Same behavior, but constructs in place instead of potentially copying.
2019-09-30 18:07:34 -04:00
Lioncash
b7e0dbd354
CSlideShow: Use ranged for loops in constructor
...
Same behavior, but without hard-coded magic size values.
2019-09-30 18:06:33 -04:00
Lioncash
4442421586
ICollisionFilter: Use forward declarations where applicable
...
With the headers all normalized, we can safely convert the only
ICollisionFilter include into a forward declaration.
2019-09-30 17:20:59 -04:00
Lioncash
9af64d3895
CAudioSys: Convert file-scope std::string into a constexpr string_view.
...
Eliminates a static constructor that needs to run at program start.
2019-09-30 11:03:47 -04:00
Lioncash
dea89e7664
CAudioSys: Remove construction of pairs in emplace calls
...
The purpose of emplace is to construct the pair within the map. While
using make_pair will result in the same behavior, it's a tad more
verbose than it needs to be.
2019-09-30 11:00:49 -04:00
Lioncash
f1d08c4fbf
CAudioSys: Place file-scope locals within an anonymous namespace
...
Prevents any potential violations of the ODR from occuring.
2019-09-30 10:59:31 -04:00
Lioncash
c77153b03c
RetroTypes: Make SObjectTag's operator bool explicit
...
Prevents potentially error-prone implicit conversions to bool.
2019-09-30 09:00:17 -04:00
Lioncash
8176bf75ef
RetroTypes: Make functions noexcept where applicable
...
Given these are used quite frequently, it's better to explicitly mark
these as noexcept so that they may be used within noexcept contexts.
2019-09-30 08:58:34 -04:00
Lioncash
c17b268c57
IVParamObj: Make default constructor of CVParamTransfer constexpr
...
std::shared_ptr's default constructor is constexpr, so we can apply it
to CVParamTransfer to allow using it within constexpr contexts, granting
more flexibility to the type.
2019-09-30 02:56:00 -04:00
Lioncash
cdf6361d6c
IVParamObj: Make rest of interface noexcept where applicable
...
Allows a few of these member functions to be used within noexcept
contexts.
2019-09-30 02:55:39 -04:00
Lioncash
026de44611
IVParamObj: Explicitly supply copy and move constructor/assingnment operators
...
Since the copy constructor is provided, we should explicitly specify the
others to make behavior explicit (and prevent the copy constructor from
being considered over the move constructor in certain scenarios).
2019-09-30 02:55:25 -04:00
Lioncash
541adb02d2
CToken: std::move buildParams within CObjectReference's constructor
...
CVParamTransfer contains a std::shared_ptr, so a copy here performs an
unnecessary reference count increment and decrement. We can std::move
here to avoid this.
2019-09-30 02:34:10 -04:00
Lioncash
2014650d58
CToken: Mark CToken's move constructor noexcept
...
The move constructor doesn't perform any behavior that would result in
an exception being thrown. Marking it as noexcept allows the type to
play nicely with facilities that make use of std::is_move_constructible
to determine whether copies can be avoided or not in certain
circumstances (e.g. the standard library; notably, std::vector).
We can't mark the move assignment operator as noexcept currently,
however, as it calls into interfaces outside of CToken.
2019-09-30 02:32:29 -04:00
Phillip Stephens
79ac5d76df
Update hecl, more CVar imps
2019-09-29 08:17:55 -07:00
Lioncash
6ad5de497f
CSeedling: Make skNeedleLocators an array of std::string_view
...
Makes the strings non-allocating. This also eliminates 12 runtime static
constructors that need to execute on program start.
2019-09-28 20:22:31 -04:00
Lioncash
3f743d5c9f
CSeedling: Use std::array with skNeedleLocators
...
Makes the array strongly-typed and impervious to implicit array to
pointer decay.
2019-09-28 20:21:24 -04:00
Lioncash
2a34b6be68
CSeedling: Move skNeedleLocators into the cpp file
...
This can be entirely hidden from external view, making it an
implementation detail.
2019-09-28 20:15:39 -04:00
Lioncash
08d4addc70
CSeedling: Organize source file includes
...
Tidies it up a little.
2019-09-28 20:08:45 -04:00
Phillip Stephens
00cff89141
Merge pull request #86 from lioncash/header
...
General: Normalize RuntimeCommon include paths
2019-09-28 08:02:35 -07:00
Phillip Stephens
b60ad339d5
Fix CStringExtras::CompareCaseInsensitive, `std::lexicographical_compare` does not have the intended behavior
2019-09-28 08:00:49 -07:00
Lioncash
a633b8e8fd
General: Normalize RuntimeCommon include paths
...
Performs the same normalizing done to the RuntimeCommonB target, now all
of the runtime headers have normalized include paths.
2019-09-28 04:14:29 -04:00
Lioncash
359f505787
CCameraManager: Collapse private static variables into functions
...
Four of the five variables aren't modified, so they can be specified
directly within the functions and just be reused in place of the
variable names. This allows the constants to be elided or put into
read-only memory if necessary. It also makes the mutable value explicit.
2019-09-27 22:46:59 -04:00
Phillip Stephens
3a8d669b68
Merge pull request #84 from lioncash/emplace
...
CBooRenderer: Use emplace_back() where applicable
2019-09-26 06:54:57 -07:00
Phillip Stephens
a914d5499a
Merge pull request #83 from lioncash/driver
...
CMemoryCardDriver: Correct erroneous fallthrough within HandleCardError
2019-09-26 06:54:46 -07:00
Lioncash
178e0e2cbc
CBooRenderer: Use emplace_back() where applicable
...
Given the appended types consist of trivial types, it's more efficient
in this context to construct the data in place over using push_back,
which will cause a redundant copy (move semantics on trivial types are a
copy).
2019-09-24 22:51:38 -04:00
Lioncash
027c10464f
CMemoryCardDriver: Correct erroneous fallthrough within HandleCardError()
...
In the game executable itself, there exists no fallthrough here (which
makes sense, given all IO errors would be reported as character set
errors, otherwise).
2019-09-24 16:36:43 -04:00
Lioncash
36d04456dd
General: Normalize RuntimeCommonB include paths
...
Finishes the normalizing of all of includes within the RuntimeCommonB target's headers.
2019-09-23 17:22:37 -04:00
Lioncash
06789d1860
General: Normalize several headers' include paths
...
Normalizes the include paths and makes them consistent. Also adds any
missing includes relevant to the interface.
2019-09-22 20:36:33 -04:00
Lioncash
8dcffbb67f
CBurstFire: Use std::array where applicable
...
Makes the array type strongly typed and prevents implicit array to
pointer decay.
2019-09-22 09:48:07 -04:00
Lioncash
adf9610138
CBurstFire: Tidy up includes
...
Includes all necessary headers and uses a forward declaration where
applicable. Ensures inclusion changes in other headers don't break the compilation
of these headers and source files.
2019-09-22 09:45:01 -04:00
Phillip Stephens
2e8eec91ea
Missed one
2019-09-21 06:10:54 -07:00
Phillip Stephens
68e2fad74f
Fix TCastTo.hpp inclusions, add comment to warn against modifying include path
2019-09-21 06:07:13 -07:00
Phillip Stephens
a89852fc46
Merge pull request #79 from lioncash/trunc
...
CAuiEnergyBarT01: Prevent truncation within DownloadBarCoordFunc
2019-09-21 05:44:27 -07:00
Phillip Stephens
88e057bf11
Merge pull request #78 from lioncash/const2
...
CGuiWidgetDrawParms: Mark Default instance as const
2019-09-21 05:44:00 -07:00