* Added a stateless allocator which uses AZ_OS_MALLOC/AZ_OS_FREE to
allocate memory for objects in static memory.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the Maestro and LyShine Anim Nodes to use the
stateless_allocator for its static containers.
This prevents crashes in static de-init due to the SystemAllocator being
destroyed at that poitn
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the EBus AllocatorType to use the EBusEnvironmentAllocator
Because the EBus Context resides in static memory, the SystemAllocator
lifetime is shorter than the EBus Context.
This results in shutdown crashes in monolithic builds due to all of the
gem modules being linked in as static libraries and the EBus context now
destructing at the point of the executable static de-init, instead of
the module de-init, where the SystemAllocator would still be around.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed an assortment of shutdown issues due to deleting objects after
AZ allocators are no longer available
Fixed the NameDictionary IsReady() function to not assert when the
dictionary when invoked after the environment variable it was stored in
was destroyed.
Updated the NameData destructor to check that the NameDictionary
IsReady() before attempting to remove itself from the dictionary
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed NameDictionary destory workflow, to reset the EnvironmentVariable
instance
Updated the EnvironmentVariable instance to store the NameDictionary as a
value.
Added a rvalue reference `Set` function overload to the
EnvironmentVariable class to support move only types.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Clang 6.0.0 build fixes
The C++17 std::launder feature isn't available in that compiler version
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Upgrade s_AudioLoggingOptions to AZ_CVAR
Removes this legacy CVar and reimplements it as an AZ_CVAR with similar
functionality of setting flags using alpha characters.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Upgrade s_DrawAudioDebug to AZ_CVAR
Removes the legacy CVar and reimplements it as an AZ_CVAR with similar
functionality and options.
Additional updates to the logging options CVar to fix up flag enums.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Upgrade s_FileCacheManagerDebugFilter to AZ_CVAR
Removes the legacy CVar and reimplements it as an AZ_CVAR with similar
functionality.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Removal of legacy IConsole dependencies from Audio
Moves a g_languageAudio cvar from CrySystem to AudioSystem.
Convert all cvar commands to AZ_CONSOLEFREEFUNC's.
Remove IConsole.h includes from source files.
Removes the CSoundCVars class.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Minor update to cvar comments etc.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Final update copyright headers to reference license files at the repo root
Signed-off-by: spham <spham@amazon.com>
* Fix copyright validator unit tests to support the stale O3DE header scenario
Signed-off-by: spham <spham@amazon.com>
* Reinstates an allocator for FileCacheManager
Replaces the allocator that was removed during redcode that is used for
loading banks. Default schema for now to get things working again.
* Update path functions to AZ::IO::Path
Removes old PathUtil functions in favor of AZ::IO::Path apis.
* Update the audio allocator classes
Cleans up the audio allocator classes a bit.
* Addresses PR feedback
Updates some code to handle nullptr a bit better, and improve log
messages.
* Updates to audio CVars and address feedback
Per feedback, converted more of the audio cvars to AZ_CVAR, but not all
of them could be converted at this time. Moved audio allocator
initialization to system component ctor/dtor to give RAII. Updated
location of a PAL file.
* Updates the copyright of the file added in this PR
Merged copyright changes, so need to update new files.