mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-08 12:31:51 +00:00
update byteutil
This commit is contained in:
parent
5eb739fe24
commit
0af0e8a58d
1 changed files with 14 additions and 0 deletions
|
|
@ -11,6 +11,7 @@ static size_t calc_size(const char* format) {
|
||||||
switch (format[i]) {
|
switch (format[i]) {
|
||||||
case 'b':
|
case 'b':
|
||||||
case 'B':
|
case 'B':
|
||||||
|
case '?':
|
||||||
outSize += 1;
|
outSize += 1;
|
||||||
break;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
|
|
@ -43,8 +44,14 @@ static int pack(lua::State* L, const char* format, bool usetable) {
|
||||||
for (int i = 0; format[i]; i++) {
|
for (int i = 0; format[i]; i++) {
|
||||||
switch (format[i]) {
|
switch (format[i]) {
|
||||||
case 'b':
|
case 'b':
|
||||||
|
builder.put(lua::tointeger(L, index));
|
||||||
|
break;
|
||||||
|
case 'B':
|
||||||
builder.put(lua::tointeger(L, index) & 0xFF);
|
builder.put(lua::tointeger(L, index) & 0xFF);
|
||||||
break;
|
break;
|
||||||
|
case '?':
|
||||||
|
builder.put(lua::toboolean(L, index) ? 1 : 0);
|
||||||
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
builder.putInt16(lua::tointeger(L, index), bigEndian);
|
builder.putInt16(lua::tointeger(L, index), bigEndian);
|
||||||
break;
|
break;
|
||||||
|
|
@ -102,6 +109,7 @@ static int count_elements(const char* format) {
|
||||||
switch (format[i]) {
|
switch (format[i]) {
|
||||||
case 'b':
|
case 'b':
|
||||||
case 'B':
|
case 'B':
|
||||||
|
case '?':
|
||||||
case 'h':
|
case 'h':
|
||||||
case 'H':
|
case 'H':
|
||||||
case 'i':
|
case 'i':
|
||||||
|
|
@ -133,6 +141,12 @@ static int l_unpack(lua::State* L) {
|
||||||
case 'b':
|
case 'b':
|
||||||
lua::pushinteger(L, reader.get());
|
lua::pushinteger(L, reader.get());
|
||||||
break;
|
break;
|
||||||
|
case 'B':
|
||||||
|
lua::pushinteger(L, reader.get() & 0xFF);
|
||||||
|
break;
|
||||||
|
case '?':
|
||||||
|
lua::pushboolean(L, reader.get() != 0);
|
||||||
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
lua::pushinteger(L, reader.getInt16(bigEndian));
|
lua::pushinteger(L, reader.getInt16(bigEndian));
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue