Skip to content
Snippets Groups Projects
Commit e8256e2b authored by Monster Iestyn's avatar Monster Iestyn
Browse files

allow archiving/unarchiving of skin_t userdata in netgames

parent d91d9bf7
No related branches found
No related tags found
No related merge requests found
......@@ -989,6 +989,7 @@ enum
ARCH_MAPHEADER,
ARCH_SKINCOLOR,
ARCH_MOUSE,
ARCH_SKIN,
ARCH_TEND=0xFF,
};
......@@ -1017,6 +1018,7 @@ static const struct {
{META_MAPHEADER, ARCH_MAPHEADER},
{META_SKINCOLOR, ARCH_SKINCOLOR},
{META_MOUSE, ARCH_MOUSE},
{META_SKIN, ARCH_SKIN},
{NULL, ARCH_NULL}
};
......@@ -1338,6 +1340,13 @@ static UINT8 ArchiveValue(int TABLESINDEX, int myindex)
WRITEUINT8(save_p, m == &mouse ? 1 : 2);
break;
}
case ARCH_SKIN:
{
skin_t *skin = *((skin_t **)lua_touserdata(gL, myindex));
WRITEUINT8(save_p, ARCH_SKIN);
WRITEUINT8(save_p, skin - skins); // UINT8 because MAXSKINS is only 32
break;
}
default:
WRITEUINT8(save_p, ARCH_NULL);
return 2;
......@@ -1584,6 +1593,9 @@ static UINT8 UnArchiveValue(int TABLESINDEX)
case ARCH_MOUSE:
LUA_PushUserdata(gL, READUINT16(save_p) == 1 ? &mouse : &mouse2, META_MOUSE);
break;
case ARCH_SKIN:
LUA_PushUserdata(gL, &skins[READUINT8(save_p)], META_SKIN);
break;
case ARCH_TEND:
return 1;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment