mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-10 23:31:50 +00:00
[2.1.15] Restore backwards compatibility for tan()
DO NOT MERGE THIS INTO THE INTERNAL REPO. This is a temporary 2.1.15 only fix. This commit allows an optional boolean for tan(), which when true will automatically shift angles by ANGLE_90.
This commit is contained in:
parent
604ae7d072
commit
5e50a51386
1 changed files with 9 additions and 3 deletions
|
@ -81,9 +81,15 @@ static int lib_finecosine(lua_State *L)
|
||||||
|
|
||||||
static int lib_finetangent(lua_State *L)
|
static int lib_finetangent(lua_State *L)
|
||||||
{
|
{
|
||||||
// HACK: add ANGLE_90 to make tan() in Lua start at 0 like it should
|
// 2.1.15 ONLY HACK: optional boolean argument, only add ANGLE_90 if true
|
||||||
// use & 4095 instead of & FINEMASK (8191), so it doesn't go out of the array's bounds
|
boolean newtan = lua_optboolean(L, 2);
|
||||||
lua_pushfixed(L, FINETANGENT(((luaL_checkangle(L, 1)+ANGLE_90)>>ANGLETOFINESHIFT) & 4095));
|
|
||||||
|
if (newtan)
|
||||||
|
// HACK: add ANGLE_90 to make tan() in Lua start at 0 like it should
|
||||||
|
// use & 4095 instead of & FINEMASK (8191), so it doesn't go out of the array's bounds
|
||||||
|
lua_pushfixed(L, FINETANGENT(((luaL_checkangle(L, 1)+ANGLE_90)>>ANGLETOFINESHIFT) & 4095));
|
||||||
|
else
|
||||||
|
lua_pushfixed(L, FINETANGENT((luaL_checkangle(L, 1)>>ANGLETOFINESHIFT) & 4095));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue