Commit Graph

91 Commits

Author SHA1 Message Date
Luke Street 9ca1a38171 Use UTF-8 exclusively internally
This removes SystemString, SystemChar, etc.
All filepaths and log strings are assumed to be UTF-8,
with conversions to UTF-16 for Windows APIs as appropriate.

Updates amuse, athena, boo, kabufua and nod
2021-06-30 14:20:45 -04:00
Phillip Stephens a9bcb7a9ce
Reformat pass 2021-06-07 12:29:18 -07:00
Phillip Stephens d9b7229e79
Add input visualization, protect first 7 object slots from deletion
The first 7 slots in the game are related to the player, we don't want to allow anyone to delete them because the game *will* crash
2021-05-30 00:52:20 -07:00
Phillip Stephens 9bae2f943e
Rename everything 2021-04-10 01:42:06 -07:00
Lioncash 002102c530 RumbleFxTable: Make table constexpr
Eliminates any potential runtime initializers.
2020-04-26 01:27:46 -04:00
Lioncash 554893ef85 RuntimeCommonB: Make use of bitfield initializers where applicable
Given that we now target C++20, we can make use of bitfield initializers
where applicable.
2020-04-20 15:57:25 -04:00
Lioncash 1d0151ccbc General: Make use of lock deduction guides 2020-04-20 00:38:10 -04:00
Lioncash 6fc32f44df CRumbleGenerator: Make use of fmt::print instead of printf
Less need to care about formatting specifiers.
2020-04-12 22:41:19 -04:00
Luke Street d23e76db54 Runtime/Input: Replace bitfield unions with constructor initializers 2020-04-10 15:12:46 -04:00
Luke Street f6e2f196ce
Merge pull request #252 from lioncash/resize2
CRumbleVoice: Resize vectors within constructor initializer list
2020-03-18 01:09:09 -04:00
Lioncash 488e377374 CRumbleVoice: Collapse repeated std::max calls in GetIntensity()
We can make use of the std::max overload that takes an initializer list.
2020-03-18 00:34:29 -04:00
Lioncash 71399d0944 CRumbleVoice: Correct bool->s16 conversion
Given the return type of the function is an s16, we can just use 0
directly here.
2020-03-18 00:32:51 -04:00
Lioncash 2701f060ee CRumbleVoice: Resize vectors within constructor initializer list
Same behavior, but constructs in place with the size, rather than
constructing and then resizing.

x20_handleIds cannot be done the same way unfortunately, as
reserved_vector doesn't have a constructor accepting a size argument
like std::vector does.
2020-03-18 00:28:44 -04:00
Lioncash e83d5caea6 CInputGenerator: Make use of std::array where applicable
Allows removing hardcoded array sizes.
2020-03-17 23:29:11 -04:00
Lioncash 221cc5c6b8 RuntimeCommonB: Normalize cpp file includes
Like the prior changes normalizing the inclusions within headers, this
tackles the cpp files of the RuntimeCommonB target, making these source
files consistent with their headers.
2019-12-22 18:12:04 -05:00
Phillip Stephens 77b61b0e68
Fix saves sending you to incorrect rooms, fix triggers 2019-11-05 09:18:14 -08: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 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
Phillip Stephens 9b816d471b
Compile fixes 2019-09-14 10:08:09 -07:00
Lioncash 9983366a53 RumbleFxTable: Use std::array for the lookup table
Strongly enforces the type of the array and also allows size querying,
etc, directly from the type.
2019-09-10 19:13:34 -04:00
Lioncash d7493d5920 CRumbleVoice: Make SAdsrDelta interface constexpr
Makes the API consistent between SAdsrData and SAdsrDelta.
2019-09-10 19:13:34 -04:00
Lioncash 6ca5143b15 CRumbleVoice: Make SAdsrData constructors constexpr
Technically all file-scope instances have runtime-static constructors
otherwise. This allows the compiler to completely elide them from a
language point of view.
2019-09-10 19:02:22 -04:00
Lioncash 5b1e783a90 ControlMapper: Prevent array overrun cases
These should be comparing with >=, not >.

The command table descriptions also weren't kept in sync with the
enumeration.
2019-09-06 11:18:13 -04:00
Lioncash 27a8274e3b Runtime/Input/CFinalInput: Make comparison operators const
While we're at it, we can also provide an inequality operator for
logical symmetry.
2019-08-14 02:11:50 -04:00
Lioncash e9e9de26b2 Runtime/Input/CFinalInput: Correct return value of AKey, ASpecialKey and AMouseButton
The other A-prefixed functions all return a float value, however these
are truncating float values to bool. We can amend this to prevent
potential compilation warnings.
2019-08-14 02:07:02 -04:00
Lioncash 2059535b55 RuntimeCommonB: Use the override specifier where applicable
Applies the override keyword where applicable to indicate visually where
member function overriding is occurring. This only targets
the RuntimeCommonB target as a starting point, which resolves around
900+ cases where the keyword could be used.
2019-08-09 09:13:26 -04:00
Jack Andersen e218b8aeb5 CActorContraption fixes, better CMake dependency handling 2019-06-11 16:05:17 -10:00
Jack Andersen 3a0d2930fa Numerous uninitialized memory fixes 2019-04-06 19:14:48 -10:00
Jack Andersen ad2681f857 Windows fixes 2019-01-28 22:28:35 -10:00
Jack Andersen aeb6a9a147 More mouse events for pause screen 2019-01-21 18:23:51 -10:00
Jack Andersen f3f9924309 Initial mouse events for pause screen 2019-01-20 18:10:34 -10:00
Jack Andersen 47c6b5cba8 Bug fixes and CGuiFrame mouse events 2019-01-19 20:43:11 -10:00
Jack Andersen 636c82a568 New code style refactor 2018-12-07 19:30:43 -10:00
Phillip Stephens ea4848196a Implement CNewIntroBoss 2018-11-16 21:05:57 -08:00
Jack Andersen c91e5df986 Convert to pragma once 2018-10-06 17:42:33 -10:00
Jack Andersen c307e354ca Huge shader refactor 2018-10-06 16:59:17 -10:00
Phillip Stephens c0b8b89a9b Various CScriptSpecialFunction implementation, more debugOverlay CVars 2018-06-08 14:00:18 -07:00
Jack Andersen 70b3404b7c Windows build fixes and warning avoidance 2018-05-24 20:39:38 -10:00
Jack Andersen f60af632b3 Big fixes and big memory leak refactor (linux only for now) 2018-05-19 20:14:57 -10:00
Jack Andersen 97835607d9 More windows build fixes 2018-02-03 20:46:47 -10:00
Jack Andersen 15e5b4bbb8 NESEmulator save fixes 2018-02-02 14:35:19 -10:00
Jack Andersen bb10423267 Various particle bug fixes 2018-01-26 22:34:46 -10:00
Jack Andersen 6f7cd14836 Ensure rumble pre-pulse 2018-01-26 09:46:35 -10:00
Jack Andersen 13a31be23b Implement rumble classes 2018-01-25 23:48:42 -10:00
Jack Andersen ce2ed8cec6 Camera and input fixes 2017-12-15 14:19:15 -10:00
Jack Andersen 7cd3e8f502 Various bug fixes 2017-11-29 15:22:46 -10:00
Phillip Stephens f1329268a6 Fix input being ignored, fix CPauseScreen crash when starting a transition 2017-11-15 08:33:24 -08:00
Jack Andersen 0f68e2ba3f Work on CScriptCameraHint and CCameraManager 2017-10-05 21:29:56 -10:00