Skip to content

Commit 3edde01

Browse files
committed
Codacy fixes + enable ASan + few updated FFIs
1 parent 35a0f20 commit 3edde01

38 files changed

Lines changed: 198 additions & 111 deletions

3DRadSpace/3DRadSpace_CSharp/Internal/ScriptManager.cs

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -230,40 +230,43 @@ public static byte CompileScript(IntPtr scriptPath, IntPtr className)
230230
return 0;
231231
}
232232

233-
var result = CsCompiler.CompileFromFile(path);
233+
var result = CsCompiler.CompileFromFile(path);
234234

235-
if (!result.Success)
236-
{
237-
string errors = string.Join("\n", result.Errors);
238-
PrintWarning($"Script compilation failed:\n{errors}");
239-
return 0;
240-
}
235+
if (!result.Success)
236+
{
237+
string errors = string.Join("\n", result.Errors);
238+
PrintWarning($"Script compilation failed:\n{errors}");
239+
result.Unload();
240+
return 0;
241+
}
241242

242-
// Try to create an instance
243-
object? instance;
244-
try
245-
{
246-
instance = result.CreateInstance(classNameStr);
247-
}
248-
catch (Exception ex)
249-
{
250-
PrintWarning($"Failed to create instance: {ex.Message}");
251-
result.Unload();
252-
return 0;
253-
}
243+
// Try to create an instance
244+
object? instance;
245+
try
246+
{
247+
instance = result.CreateInstance(classNameStr);
248+
}
249+
catch (Exception ex)
250+
{
251+
PrintWarning($"Failed to create instance: {ex.Message}");
252+
result.Unload();
253+
return 0;
254+
}
254255

255-
if (instance == null)
256-
{
257-
PrintWarning("Failed to create script instance");
258-
result.Unload();
259-
return 0;
260-
}
261-
}
262-
catch (Exception ex)
263-
{
264-
PrintWarning($"Exception in LoadScript: {ex.Message}");
265-
return 0;
266-
}
256+
if (instance == null)
257+
{
258+
PrintWarning("Failed to create script instance");
259+
result.Unload();
260+
return 0;
261+
}
262+
263+
result.Unload();
264+
}
265+
catch (Exception ex)
266+
{
267+
PrintWarning($"Exception in CompileScript: {ex.Message}");
268+
return 0;
269+
}
267270

268271
return 1;
269272
}

3DRadSpace/3DRadSpace_Editor_WindowsDX11/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ if(MSVC)
2525

2626
#enable address sanitizer if using a debug configuration
2727
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
28-
#target_compile_options(3DRadSpace.Editor PRIVATE "/fsanitize=address")
28+
target_compile_options(3DRadSpace.Editor PRIVATE "/fsanitize=address")
2929
endif()
3030
endif()
3131

3DRadSpace/Engine3DRadSpace/Audio/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ if(MSVC)
2222

2323
#enable address sanitizer if using a debug configuration
2424
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
25-
#target_compile_options(3DRadSpace.Audio PRIVATE "/fsanitize=address")
25+
target_compile_options(3DRadSpace.Audio PRIVATE "/fsanitize=address")
2626
endif()
2727

2828
target_compile_definitions(3DRadSpace.Audio PRIVATE [[E3DRSP_AUDIO_EXPORT=__declspec(dllexport)]])

3DRadSpace/Engine3DRadSpace/Content/Assets/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ if(MSVC)
3333

3434
#enable address sanitizer if using a debug configuration
3535
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
36-
#target_compile_options(3DRadSpace.Content.Assets PRIVATE "/fsanitize=address")
36+
target_compile_options(3DRadSpace.Content.Assets PRIVATE "/fsanitize=address")
3737
endif()
3838

3939
target_compile_definitions(3DRadSpace.Content.Assets PRIVATE [[E3DRSP_CONTENT_ASSETS_EXPORT=__declspec(dllexport)]])

3DRadSpace/Engine3DRadSpace/Content/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ if(MSVC)
2525

2626
#enable address sanitizer if using a debug configuration
2727
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
28-
#target_compile_options(3DRadSpace.Content PRIVATE "/fsanitize=address")
28+
target_compile_options(3DRadSpace.Content PRIVATE "/fsanitize=address")
2929
endif()
3030

3131
target_compile_definitions(3DRadSpace.Content PRIVATE [[E3DRSP_CONTENT_EXPORT=__declspec(dllexport)]])

3DRadSpace/Engine3DRadSpace/Content/ContentManager.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,9 @@ size_t ContentManager::Count() const noexcept
106106
IGraphicsDevice* ContentManager::GetDevice() const noexcept
107107
{
108108
return _owner->GetService<IGraphicsDevice>({});
109+
}
110+
111+
IAsset* ContentManager::At(unsigned id) const
112+
{
113+
return _assets[id].Entry.get();
109114
}

3DRadSpace/Engine3DRadSpace/Content/ContentManager.hpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,14 @@ namespace Engine3DRadSpace::Content
186186
/// <param name="ref">Asset reference ID</param>
187187
/// <returns>Pointer to the asset of type T</returns>
188188
template<AssetType T>
189-
T *operator[](AssetID<T> ref);
189+
T *operator[](AssetID<T> ref) const;
190+
191+
/// <summary>
192+
/// Returns an pointer to the asset associated with the given reference ID.
193+
/// </summary>
194+
/// <param name="ref">Asset reference ID</param>
195+
/// <returns>Pointer to the asset</returns>
196+
IAsset* At(unsigned ref) const;
190197

191198
/// <summary>
192199
/// Returns the path an asset with the specified ID was loaded from.
@@ -284,7 +291,7 @@ namespace Engine3DRadSpace::Content
284291
}
285292

286293
template<AssetType T>
287-
inline T* ContentManager::operator[](AssetID<T> ref)
294+
inline T* ContentManager::operator[](AssetID<T> ref) const
288295
{
289296
return dynamic_cast<T*>(_assets[ref].Entry.get());
290297
}

3DRadSpace/Engine3DRadSpace/Core/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ if(MSVC)
3737

3838
#enable address sanitizer if using a debug configuration
3939
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
40-
#target_compile_options(3DRadSpace.Core PRIVATE "/fsanitize=address")
40+
target_compile_options(3DRadSpace.Core PRIVATE "/fsanitize=address")
4141
endif()
4242

4343
#Define library specific library export macro

3DRadSpace/Engine3DRadSpace/FFI/Audio/AudioEngine.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#pragma once
22
#include "IAudioEngine.h"
3+
#include "AudioError.h"
34

45
#ifdef __cplusplus
56
extern "C"
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#pragma once
2+
3+
enum E3DRSP_AudioError
4+
{
5+
/// <summary>
6+
/// No error.
7+
/// </summary>
8+
E3DRSP_AudioError_None = 0,
9+
/// <summary>
10+
/// Invalid name parameter.
11+
/// </summary>
12+
E3DRSP_AudioError_BadID,
13+
/// <summary>
14+
/// Invalid enum parameter value.
15+
/// </summary>
16+
E3DRSP_AudioError_InvalidEnum,
17+
/// <summary>
18+
/// Invalid value parameter.
19+
/// </summary>
20+
E3DRSP_AudioError_InvalidValue,
21+
/// <summary>
22+
/// The function was called in an invalid context.
23+
/// </summary>
24+
E3DRSP_AudioError_InvalidOperation,
25+
/// <summary>
26+
/// Not enough memory to perform the operation.
27+
/// </summary>
28+
E3DRSP_AudioError_OutOfMemory,
29+
E3DRSP_AudioError_Unspecified = 0x7FFFFFFF,
30+
};

0 commit comments

Comments
 (0)