2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-05-13 07:11:22 +00:00

126 Commits

Author SHA1 Message Date
137e4c19a3 Remove amuse, and compile fixes 2023-10-22 09:21:20 -07:00
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
ad272f7468
More refactoring, decouple tweaks from hecl 2022-02-21 08:01:05 -08:00
dad7249927
RE COutput/InputStream and friends and migrate over
This branch is probably still horribly broken, but it's a good first step to migrating away from having hecl embedded in the runtime
2022-02-21 08:01:05 -08:00
7b9f893a49 aurora: the boring C++ version 2022-02-16 00:21:24 -05:00
a9bcb7a9ce
Reformat pass 2021-06-07 12:29:18 -07:00
9bae2f943e
Rename everything 2021-04-10 01:42:06 -07:00
Lioncash
cb2fe959a4 CSfxManager: Make use of designated initializers
Same behavior, less duplication of variable names.
2020-07-31 22:46:11 -04:00
Lioncash
fa3e639a9d RuntimeCommon: Make use of bitfield initializers where applicable
Continues and finishes the migration towards initializing all bitfield
members where applicable
2020-04-21 17:16:19 -04:00
Jack Andersen
5b4441ac36 Update fmtlib 2020-04-11 12:51:39 -10:00
8e691d0f73 Runtime/Audio: Replace bitfield unions with constructor initializers 2020-04-10 15:02:55 -04:00
Lioncash
45dca4a25b CStreamAudioManager: Always initialize x74_oneshot
Provides deterministic consistent state when constructing the class.
2020-04-07 12:53:05 -04:00
Lioncash
3865dfbfe5 CSfxManager: Always initialize x1a_reverb and x55_cachedMaxVol
Provides a deterministic initial state.
2020-04-07 12:49:43 -04:00
Lioncash
2ab59eec52 CSfxManager: Make use of std::array where applicable
Same behavior, but with stronger typing.
2020-04-07 12:47:57 -04:00
Lioncash
d677d2ac1d CSfxManager: Always initialize m_isEmitter
Provides a deterministic initial state.

While we're at it, we can remove an unnecessary initializer.
2020-04-07 12:42:03 -04:00
Lioncash
f17042ab77 CStreamAudioManager: Make use of std::array where applicable
Dehardcodes a lot of repeated array sizes.
2020-04-07 06:01:14 -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
985b85d9db CAudioGroupSet: Eliminate undefined behavior within LoadData()
Eliminates aliasing violations.
2020-03-25 01:14:27 -04:00
58a2f6aeb2
Merge pull request #173 from lioncash/c_str
Runtime: Remove unnecessary c_str() calls
2020-02-28 11:16:57 -05:00
Lioncash
f1256faeb7 Runtime: Remove unnecessary c_str() calls
Makes for less noisy code and also gets rid of unnecessary std::strlen
calls in the case things are passed to a std::string_view parameter.
2020-02-28 05:26:41 -05:00
Lioncash
2b4888dcb6 CMidiManager: std::move sequencer within SetAudioSysHandle()
Provides the same behavior but without a redundant reference count
increment and then decrement.
2020-02-26 03:16:11 -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
a1c7692d36
More CRidley imps 2019-11-12 12:25:21 -08: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
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
0d2b2f45a8 CStringExtras: Prevent potential out of bounds reads with CompareCaseInsensitive
The strcasecmp and _stricmp functions expect the passed in strings to
be null-terminated, however we we're also exposing a std::string_view
overload for that function. std::string_view instances aren't required
to be null-terminated, so this makes the interface a little unsafe.

We can use std::lexicographical_compare() to provide the same behavior
and also properly handle the case of non-null-terminated strings.
2019-09-14 16:43:04 -04:00
Lioncash
9312eef905 RuntimeCommon: Use override where applicable
Continues the override modernization by applying it to the main
RuntimeCommon target. Resolves around 1100+ cases where override can be
used.
2019-08-09 17:39:42 -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
636c82a568 New code style refactor 2018-12-07 19:30:43 -10:00
Jack Andersen
7c7da6671a SIMD refactor 2018-12-07 15:49:15 -10:00
Jack Andersen
98c7525176 Initially working CEnvFxManager 2018-11-01 22:16:16 -10:00
Jack Andersen
c91e5df986 Convert to pragma once 2018-10-06 17:42:33 -10:00
Jack Andersen
e46ec80b64 Integrate Amuse into hecl cook/extract for MP1/2 2018-09-02 14:46:16 -10:00
Jack Andersen
5a60a0acfc Amuse API changes 2018-08-27 19:44:16 -10:00
Jack Andersen
67197621a1 Fix fixed position camera hint 2018-07-09 08:08:44 -10:00
Jack Andersen
186acae5d8 Initial CScriptPlatform collision 2018-06-23 16:39:53 -10:00
Jack Andersen
357a7efa9a Various bug fixes 2018-06-01 20:06:40 -10:00
Jack Andersen
56a5cfd115 Fix TSan-reported race conditions 2018-06-01 14:03:31 -10:00
Jack Andersen
70b3404b7c Windows build fixes and warning avoidance 2018-05-24 20:39:38 -10:00
Jack Andersen
13c0361021 Changes to support asynchronous kabufuda API 2018-02-06 12:02:31 -10:00
Jack Andersen
ac8dfde174 Various bug fixes and CActor rendering 2018-02-04 20:56:09 -10:00
Jack Andersen
93fc2d8072 Initial fixNES integration 2018-02-01 13:19:34 -10:00
Jack Andersen
397d3b690c Use boo::ObjToken for referencing voices 2017-12-03 17:21:35 -10:00
Jack Andersen
92767f5147 Fixes for new boo assert 2017-12-02 20:13:04 -10:00
Jack Andersen
7951cb1ee0 Bug fixes 2017-11-28 00:06:40 -10:00