Luke Street
648a8e1af5
Merge branch 'new-streams' into dawn
2022-02-22 21:08:53 -05:00
Phillip Stephens
40669f4dc9
Add initial rumble support, use modified SDL branch to support all GC controller rumble modes
2022-02-22 01:12:15 -08:00
Phillip Stephens
15900053fa
Remove athena from Runtime, use raw zlib in bintoc rather than gzip
2022-02-21 22:59:47 -08:00
Luke Street
c33674b9ab
Lots of Windows fixes; add D3D12; more boo decoupling
2022-02-22 00:53:57 -05:00
Luke Street
57d96dbb17
Fully decouple hecl from Metaforce
...
- Added CStringExtras Convert functions
(and UTF-compatible versions)
- GX header copied into Runtime
- SFX headers copied into Runtime/Audio
2022-02-21 08:01:06 -08:00
Luke Street
7b9f893a49
aurora: the boring C++ version
2022-02-16 00:21:24 -05:00
Phillip Stephens
615204f71f
More input and rendering implementations
2022-02-13 13:32:52 -08:00
Phillip Stephens
7ee8f6e01d
Add missing class variable
2022-02-09 01:01:06 -08:00
Phillip Stephens
a6b2d66e1e
Input: Add onControllerAdded/Removed callbacks and also display the controller name in the input viewer
2022-02-09 00:54:53 -08:00
Luke Street
ed4d38073b
Fix controller axes + clamping
2022-02-08 22:14:14 -05:00
Phillip Stephens
acd861754c
TexturedQuad fixes, Better controller input handling (needs custom mapping)
2022-02-08 11:18:12 -08:00
Luke Street
a1482b4743
SDL controller input
2022-02-07 20:48:08 -05:00
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