From 3904e6fb6ed34f3f87df93460bba3b7a21da5d4a Mon Sep 17 00:00:00 2001 From: Axanery <41282531+Axanery@users.noreply.github.com> Date: Mon, 10 Jun 2024 17:05:24 -0500 Subject: [PATCH] Add ATan functionality --- meta/win/lib/msvc/x86/assimp-vc143-mt.lib | Bin 0 -> 398692 bytes source/Engine/Bytecode/ScriptEntity.cpp | 45 +++++++++++++++++++++ source/Engine/Bytecode/ScriptManager.cpp | 1 + source/Engine/Bytecode/StandardLibrary.cpp | 14 ++++++- source/Engine/Math/Math.cpp | 38 ++++++++++++++++- 5 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 meta/win/lib/msvc/x86/assimp-vc143-mt.lib diff --git a/meta/win/lib/msvc/x86/assimp-vc143-mt.lib b/meta/win/lib/msvc/x86/assimp-vc143-mt.lib new file mode 100644 index 0000000000000000000000000000000000000000..6a21fe5d1db7906701ee3dbe148e6779e8213b32 GIT binary patch literal 398692 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 lOYCbN6^mfwmhg9Yr -1 && (size_t)animation < sprite->Animations.size())) { + ScriptManager::Threads[threadID].ThrowRuntimeError(false, "Animation %d is not in bounds of sprite.", animation); + return NULL_VAL; + } + if (!(frame > -1 && (size_t)frame < sprite->Animations[animation].Frames.size())) { + ScriptManager::Threads[threadID].ThrowRuntimeError(false, "Frame %d is not in bounds of animation %d.", frame, animation); + return NULL_VAL; + } + + AnimFrame frameO = sprite->Animations[animation].Frames[frame]; + + if (!(hitbox > -1 && hitbox < frameO.BoxCount)) { + // ScriptManager::Threads[threadID].ThrowRuntimeError(false, "Hitbox %d is not in bounds of frame %d.", hitbox, frame); + return NULL_VAL; + } + + CollisionBox box = frameO.Boxes[hitbox]; + ObjArray* array = NewArray(); + array->Values->push_back(DECIMAL_VAL((float)box.Left)); + array->Values->push_back(DECIMAL_VAL((float)box.Top)); + array->Values->push_back(DECIMAL_VAL((float)box.Right)); + array->Values->push_back(DECIMAL_VAL((float)box.Bottom)); + return OBJECT_VAL(array); +} /*** * \method CollideWithObject diff --git a/source/Engine/Bytecode/ScriptManager.cpp b/source/Engine/Bytecode/ScriptManager.cpp index 4c392176..5d079b16 100644 --- a/source/Engine/Bytecode/ScriptManager.cpp +++ b/source/Engine/Bytecode/ScriptManager.cpp @@ -862,6 +862,7 @@ PUBLIC STATIC void ScriptManager::AddNativeObjectFunctions(ObjClass* klass) { DEF_NATIVE(SetAnimation); DEF_NATIVE(ResetAnimation); DEF_NATIVE(GetHitboxFromSprite); + DEF_NATIVE(ReturnHitboxFromSprite); DEF_NATIVE(AddToRegistry); DEF_NATIVE(RemoveFromRegistry); DEF_NATIVE(CollidedWithObject); diff --git a/source/Engine/Bytecode/StandardLibrary.cpp b/source/Engine/Bytecode/StandardLibrary.cpp index 9d89a44d..184d3e96 100644 --- a/source/Engine/Bytecode/StandardLibrary.cpp +++ b/source/Engine/Bytecode/StandardLibrary.cpp @@ -6860,6 +6860,18 @@ VMValue Math_ACos256(int argCount, VMValue* args, Uint32 threadID) { CHECK_ARGCOUNT(1); return INTEGER_VAL(Math::ACos256(GET_ARG(0, GetInteger))); } +/*** + * RSDK.Math.ATan2 + * \desc Returns the arc tangent of a position. + * \param x (Decimal): X value of the position. + * \param y (Decimal): Y value of the position. + * \return The arc tangent of the position. + * \ns RSDK.Math + */ +VMValue Math_ATan2(int argCount, VMValue* args, Uint32 threadID) { + CHECK_ARGCOUNT(1); + return INTEGER_VAL(Math::ArcTanLookup((int)(GET_ARG(0, GetDecimal) * 65536.0f), (int)(GET_ARG(1, GetDecimal) * 65536.0f))); +} /*** * RSDK.Math.RadianToInteger * \desc Gets the integer conversion of a radian, based on 256. @@ -7962,7 +7974,7 @@ VMValue Number_AsDecimal(int argCount, VMValue* args, Uint32 threadID) { VMValue Object_Loaded(int argCount, VMValue* args, Uint32 threadID) { CHECK_ARGCOUNT(1); - char* objectName = GET_ARG(0, GetString); + char* objectName = GET_ARG(0, GetString); return INTEGER_VAL(!!Scene::ObjectLists->Exists(Scene::ObjectLists->HashFunction(objectName, strlen(objectName)))); } diff --git a/source/Engine/Math/Math.cpp b/source/Engine/Math/Math.cpp index 056232c9..f60499fb 100644 --- a/source/Engine/Math/Math.cpp +++ b/source/Engine/Math/Math.cpp @@ -23,7 +23,7 @@ int Tan256LookupTable[0x100]; int ASin256LookupTable[0x100]; int ACos256LookupTable[0x100]; -int ArcTan256LookupTable[0x100 * 0x100]; +unsigned int ArcTan256LookupTable[0x100 * 0x100]; int randSeed = 0; @@ -130,6 +130,15 @@ PUBLIC STATIC void Math::CalculateTrigAngles() { ASin256LookupTable[i] = (int)((asinf(i / 255.0) * 128.0) / R_PI); ACos256LookupTable[i] = (int)((acosf(i / 255.0) * 128.0) / R_PI); } + + for (int y = 0; y < 0x100; y++) { + unsigned int* arcTan = (unsigned int*)&ArcTan256LookupTable[y]; + + for (int x = 0; x < 0x100; x++) { + *arcTan = (int)(float)((float)atan2((float)y, x) * 40.743664f); + arcTan += 0x100; + } + } } PUBLIC STATIC int Math::Sin1024(int angle) { return Sin1024LookupTable[angle & 0x3FF]; @@ -200,6 +209,33 @@ PUBLIC STATIC int Math::ACos256(int angle) { return -ACos256LookupTable[-angle]; return ACos256LookupTable[angle]; } +PUBLIC STATIC unsigned int Math::ArcTanLookup(int X, int Y) { + int x = abs(X); + int y = abs(Y); + + if (x <= y) { + while (y > 0xFF) { + x >>= 4; + y >>= 4; + } + } + else { + while (x > 0xFF) { + x >>= 4; + y >>= 4; + } + } + if (X <= 0) { + if (Y <= 0) + return ArcTan256LookupTable[(x << 8) + y] + 0x80; + else + return 0x80 - ArcTan256LookupTable[(x << 8) + y]; + } + else if (Y <= 0) + return -ArcTan256LookupTable[(x << 8) + y]; + else + return ArcTan256LookupTable[(x << 8) + y]; +} // help PUBLIC STATIC int Math::CeilPOT(int n) {