diff options
| author | lepelog <lepelog@users.noreply.github.com> | 2021-04-01 12:06:29 +0200 |
|---|---|---|
| committer | lepelog <lepelog@users.noreply.github.com> | 2021-04-01 12:06:29 +0200 |
| commit | 53c6aa6c8b50d95e89f64db70d0cc08fb4111a93 (patch) | |
| tree | 20ce5067caef7892c2c9bb043b10918c15dd7868 /libs/SSystem/SStandard/s_basic.cpp | |
| parent | 87bc0e711b4fb2f990f3c37ca681be1fc027d554 (diff) | |
ported over f_pc
Diffstat (limited to 'libs/SSystem/SStandard/s_basic.cpp')
| -rw-r--r-- | libs/SSystem/SStandard/s_basic.cpp | 40 |
1 files changed, 8 insertions, 32 deletions
diff --git a/libs/SSystem/SStandard/s_basic.cpp b/libs/SSystem/SStandard/s_basic.cpp index 788d927dab..e6b9595266 100644 --- a/libs/SSystem/SStandard/s_basic.cpp +++ b/libs/SSystem/SStandard/s_basic.cpp @@ -7,40 +7,16 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Forward References: -// - -static void sBs_FillArea_s(void*, u32, s16); -void sBs_ClearArea(void*, u32); - -extern "C" static void sBs_FillArea_s__FPvUls(); -extern "C" void sBs_ClearArea__FPvUl(); - -// -// External References: -// - -// -// Declarations: -// - /* 80271C8C-80271CAC 0020+00 s=1 e=0 z=0 None .text sBs_FillArea_s__FPvUls */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm static void sBs_FillArea_s(void* param_0, u32 param_1, s16 param_2) { - nofralloc -#include "asm/SSystem/SStandard/s_basic/sBs_FillArea_s__FPvUls.s" +void sBs_FillArea_s(void* pPtr, u32 pNumBytes, s16 pValue) { + s16* castPtr = (s16*)pPtr; + for (int i = 0; i < pNumBytes / 2; i++) { + *castPtr = pValue; + castPtr++; + } } -#pragma pop /* 80271CAC-80271CD0 0024+00 s=0 e=2 z=0 None .text sBs_ClearArea__FPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void sBs_ClearArea(void* param_0, u32 param_1) { - nofralloc -#include "asm/SSystem/SStandard/s_basic/sBs_ClearArea__FPvUl.s" +void sBs_ClearArea(void* pPtr, u32 pNumBytes) { + sBs_FillArea_s(pPtr, pNumBytes, 0); } -#pragma pop |
