mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 20:41:46 +00:00
Optimise number archiving
This commit is contained in:
parent
9ce73e9790
commit
1f830836ba
1 changed files with 24 additions and 4 deletions
|
|
@ -732,7 +732,9 @@ enum
|
||||||
ARCH_NULL=0,
|
ARCH_NULL=0,
|
||||||
ARCH_TRUE,
|
ARCH_TRUE,
|
||||||
ARCH_FALSE,
|
ARCH_FALSE,
|
||||||
ARCH_SIGNED,
|
ARCH_INT8,
|
||||||
|
ARCH_INT16,
|
||||||
|
ARCH_INT32,
|
||||||
ARCH_SMALLSTRING,
|
ARCH_SMALLSTRING,
|
||||||
ARCH_LARGESTRING,
|
ARCH_LARGESTRING,
|
||||||
ARCH_TABLE,
|
ARCH_TABLE,
|
||||||
|
|
@ -824,8 +826,21 @@ static UINT8 ArchiveValue(int TABLESINDEX, int myindex)
|
||||||
case LUA_TNUMBER:
|
case LUA_TNUMBER:
|
||||||
{
|
{
|
||||||
lua_Integer number = lua_tointeger(gL, myindex);
|
lua_Integer number = lua_tointeger(gL, myindex);
|
||||||
WRITEUINT8(save_p, ARCH_SIGNED);
|
if (number >= INT8_MIN && number <= INT8_MAX)
|
||||||
WRITEFIXED(save_p, number);
|
{
|
||||||
|
WRITEUINT8(save_p, ARCH_INT8);
|
||||||
|
WRITESINT8(save_p, number);
|
||||||
|
}
|
||||||
|
else if (number >= INT16_MIN && number <= INT16_MAX)
|
||||||
|
{
|
||||||
|
WRITEUINT8(save_p, ARCH_INT16);
|
||||||
|
WRITEINT16(save_p, number);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
WRITEUINT8(save_p, ARCH_INT32);
|
||||||
|
WRITEFIXED(save_p, number);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LUA_TSTRING:
|
case LUA_TSTRING:
|
||||||
|
|
@ -1193,8 +1208,13 @@ static UINT8 UnArchiveValue(int TABLESINDEX)
|
||||||
case ARCH_FALSE:
|
case ARCH_FALSE:
|
||||||
lua_pushboolean(gL, false);
|
lua_pushboolean(gL, false);
|
||||||
break;
|
break;
|
||||||
|
case ARCH_INT8:
|
||||||
|
lua_pushinteger(gL, READSINT8(save_p));
|
||||||
break;
|
break;
|
||||||
case ARCH_SIGNED:
|
case ARCH_INT16:
|
||||||
|
lua_pushinteger(gL, READINT16(save_p));
|
||||||
|
break;
|
||||||
|
case ARCH_INT32:
|
||||||
lua_pushinteger(gL, READFIXED(save_p));
|
lua_pushinteger(gL, READFIXED(save_p));
|
||||||
break;
|
break;
|
||||||
case ARCH_SMALLSTRING:
|
case ARCH_SMALLSTRING:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue