Commit Graph

124 Commits

Author SHA1 Message Date
Phillip Stephens ad272f7468
More refactoring, decouple tweaks from hecl 2022-02-21 08:01:05 -08:00
Phillip Stephens 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
Luke Street 7b9f893a49 aurora: the boring C++ version 2022-02-16 00:21:24 -05:00
Phillip Stephens a9bcb7a9ce
Reformat pass 2021-06-07 12:29:18 -07:00
Phillip Stephens 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
Luke Street 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
Luke S 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
Phillip Stephens 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
Jack Andersen 31ccb48246 Buffer overrun bug fixes 2017-11-27 16:48:24 -10:00
Jack Andersen f60097b7e3 Implement CScriptSound and bug fixes 2017-11-26 19:06:53 -10:00