un-ROTSPRITE rollangle and spriteinfo
This commit is contained in:
parent
6a5ea548e6
commit
c6f36fc470
|
@ -611,11 +611,7 @@ static inline void resynch_write_player(resynch_pak *rsp, const size_t i)
|
||||||
|
|
||||||
rsp->health = LONG(players[i].mo->health);
|
rsp->health = LONG(players[i].mo->health);
|
||||||
rsp->angle = (angle_t)LONG(players[i].mo->angle);
|
rsp->angle = (angle_t)LONG(players[i].mo->angle);
|
||||||
#ifdef ROTSPRITE
|
|
||||||
rsp->rollangle = (angle_t)LONG(players[i].mo->rollangle);
|
rsp->rollangle = (angle_t)LONG(players[i].mo->rollangle);
|
||||||
#else
|
|
||||||
rsp->rollangle = 0;
|
|
||||||
#endif
|
|
||||||
rsp->x = LONG(players[i].mo->x);
|
rsp->x = LONG(players[i].mo->x);
|
||||||
rsp->y = LONG(players[i].mo->y);
|
rsp->y = LONG(players[i].mo->y);
|
||||||
rsp->z = LONG(players[i].mo->z);
|
rsp->z = LONG(players[i].mo->z);
|
||||||
|
@ -766,9 +762,7 @@ static void resynch_read_player(resynch_pak *rsp)
|
||||||
//At this point, the player should have a body, whether they were respawned or not.
|
//At this point, the player should have a body, whether they were respawned or not.
|
||||||
P_UnsetThingPosition(players[i].mo);
|
P_UnsetThingPosition(players[i].mo);
|
||||||
players[i].mo->angle = (angle_t)LONG(rsp->angle);
|
players[i].mo->angle = (angle_t)LONG(rsp->angle);
|
||||||
#ifdef ROTSPRITE
|
|
||||||
players[i].mo->rollangle = (angle_t)LONG(rsp->rollangle);
|
players[i].mo->rollangle = (angle_t)LONG(rsp->rollangle);
|
||||||
#endif
|
|
||||||
players[i].mo->eflags = (UINT16)SHORT(rsp->eflags);
|
players[i].mo->eflags = (UINT16)SHORT(rsp->eflags);
|
||||||
players[i].mo->flags = LONG(rsp->flags);
|
players[i].mo->flags = LONG(rsp->flags);
|
||||||
players[i].mo->flags2 = LONG(rsp->flags2);
|
players[i].mo->flags2 = LONG(rsp->flags2);
|
||||||
|
|
|
@ -863,14 +863,12 @@ static void readspriteframe(MYFILE *f, spriteinfo_t *sprinfo, UINT8 frame)
|
||||||
strupr(word);
|
strupr(word);
|
||||||
value = atoi(word2); // used for numerical settings
|
value = atoi(word2); // used for numerical settings
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (fastcmp(word, "XPIVOT"))
|
if (fastcmp(word, "XPIVOT"))
|
||||||
sprinfo->pivot[frame].x = value;
|
sprinfo->pivot[frame].x = value;
|
||||||
else if (fastcmp(word, "YPIVOT"))
|
else if (fastcmp(word, "YPIVOT"))
|
||||||
sprinfo->pivot[frame].y = value;
|
sprinfo->pivot[frame].y = value;
|
||||||
else if (fastcmp(word, "ROTAXIS"))
|
else if (fastcmp(word, "ROTAXIS"))
|
||||||
sprinfo->pivot[frame].rotaxis = value;
|
sprinfo->pivot[frame].rotaxis = value;
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
f->curpos = lastline;
|
f->curpos = lastline;
|
||||||
|
@ -2673,11 +2671,9 @@ static actionpointer_t actionpointers[] =
|
||||||
{{A_SpawnObjectRelative}, "A_SPAWNOBJECTRELATIVE"},
|
{{A_SpawnObjectRelative}, "A_SPAWNOBJECTRELATIVE"},
|
||||||
{{A_ChangeAngleRelative}, "A_CHANGEANGLERELATIVE"},
|
{{A_ChangeAngleRelative}, "A_CHANGEANGLERELATIVE"},
|
||||||
{{A_ChangeAngleAbsolute}, "A_CHANGEANGLEABSOLUTE"},
|
{{A_ChangeAngleAbsolute}, "A_CHANGEANGLEABSOLUTE"},
|
||||||
#ifdef ROTSPRITE
|
|
||||||
{{A_RollAngle}, "A_ROLLANGLE"},
|
{{A_RollAngle}, "A_ROLLANGLE"},
|
||||||
{{A_ChangeRollAngleRelative},"A_CHANGEROLLANGLERELATIVE"},
|
{{A_ChangeRollAngleRelative},"A_CHANGEROLLANGLERELATIVE"},
|
||||||
{{A_ChangeRollAngleAbsolute},"A_CHANGEROLLANGLEABSOLUTE"},
|
{{A_ChangeRollAngleAbsolute},"A_CHANGEROLLANGLEABSOLUTE"},
|
||||||
#endif
|
|
||||||
{{A_PlaySound}, "A_PLAYSOUND"},
|
{{A_PlaySound}, "A_PLAYSOUND"},
|
||||||
{{A_FindTarget}, "A_FINDTARGET"},
|
{{A_FindTarget}, "A_FINDTARGET"},
|
||||||
{{A_FindTracer}, "A_FINDTRACER"},
|
{{A_FindTracer}, "A_FINDTRACER"},
|
||||||
|
@ -9412,12 +9408,10 @@ struct {
|
||||||
{"DI_SOUTHEAST",DI_SOUTHEAST},
|
{"DI_SOUTHEAST",DI_SOUTHEAST},
|
||||||
{"NUMDIRS",NUMDIRS},
|
{"NUMDIRS",NUMDIRS},
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
// Sprite rotation axis (rotaxis_t)
|
// Sprite rotation axis (rotaxis_t)
|
||||||
{"ROTAXIS_X",ROTAXIS_X},
|
{"ROTAXIS_X",ROTAXIS_X},
|
||||||
{"ROTAXIS_Y",ROTAXIS_Y},
|
{"ROTAXIS_Y",ROTAXIS_Y},
|
||||||
{"ROTAXIS_Z",ROTAXIS_Z},
|
{"ROTAXIS_Z",ROTAXIS_Z},
|
||||||
#endif
|
|
||||||
|
|
||||||
// Buttons (ticcmd_t)
|
// Buttons (ticcmd_t)
|
||||||
{"BT_WEAPONMASK",BT_WEAPONMASK}, //our first four bits.
|
{"BT_WEAPONMASK",BT_WEAPONMASK}, //our first four bits.
|
||||||
|
|
|
@ -115,13 +115,11 @@ typedef struct
|
||||||
FLOAT fovxangle, fovyangle;
|
FLOAT fovxangle, fovyangle;
|
||||||
UINT8 splitscreen;
|
UINT8 splitscreen;
|
||||||
boolean flip; // screenflip
|
boolean flip; // screenflip
|
||||||
#ifdef ROTSPRITE
|
|
||||||
boolean roll;
|
boolean roll;
|
||||||
SINT8 rollflip;
|
SINT8 rollflip;
|
||||||
FLOAT rollangle; // done to not override USE_FTRANSFORM_ANGLEZ
|
FLOAT rollangle; // done to not override USE_FTRANSFORM_ANGLEZ
|
||||||
UINT8 rotaxis;
|
UINT8 rotaxis;
|
||||||
FLOAT centerx, centery;
|
FLOAT centerx, centery;
|
||||||
#endif
|
|
||||||
#ifdef USE_FTRANSFORM_MIRROR
|
#ifdef USE_FTRANSFORM_MIRROR
|
||||||
boolean mirror; // SRB2Kart: Encore Mode
|
boolean mirror; // SRB2Kart: Encore Mode
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1148,10 +1148,8 @@ boolean HWR_DrawModel(gr_vissprite_t *spr)
|
||||||
const UINT8 flip = (UINT8)(!(spr->mobj->eflags & MFE_VERTICALFLIP) != !(spr->mobj->frame & FF_VERTICALFLIP));
|
const UINT8 flip = (UINT8)(!(spr->mobj->eflags & MFE_VERTICALFLIP) != !(spr->mobj->frame & FF_VERTICALFLIP));
|
||||||
spritedef_t *sprdef;
|
spritedef_t *sprdef;
|
||||||
spriteframe_t *sprframe;
|
spriteframe_t *sprframe;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
spriteinfo_t *sprinfo;
|
spriteinfo_t *sprinfo;
|
||||||
angle_t ang;
|
angle_t ang;
|
||||||
#endif
|
|
||||||
INT32 mod;
|
INT32 mod;
|
||||||
float finalscale;
|
float finalscale;
|
||||||
|
|
||||||
|
@ -1175,16 +1173,12 @@ boolean HWR_DrawModel(gr_vissprite_t *spr)
|
||||||
{
|
{
|
||||||
md2 = &md2_playermodels[(skin_t*)spr->mobj->skin-skins];
|
md2 = &md2_playermodels[(skin_t*)spr->mobj->skin-skins];
|
||||||
md2->skin = (skin_t*)spr->mobj->skin-skins;
|
md2->skin = (skin_t*)spr->mobj->skin-skins;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
sprinfo = &((skin_t *)spr->mobj->skin)->sprinfo[spr->mobj->sprite2];
|
sprinfo = &((skin_t *)spr->mobj->skin)->sprinfo[spr->mobj->sprite2];
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
md2 = &md2_models[spr->mobj->sprite];
|
md2 = &md2_models[spr->mobj->sprite];
|
||||||
#ifdef ROTSPRITE
|
|
||||||
sprinfo = &spriteinfo[spr->mobj->sprite];
|
sprinfo = &spriteinfo[spr->mobj->sprite];
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (md2->error)
|
if (md2->error)
|
||||||
|
@ -1384,7 +1378,6 @@ boolean HWR_DrawModel(gr_vissprite_t *spr)
|
||||||
p.angley = FIXED_TO_FLOAT(anglef);
|
p.angley = FIXED_TO_FLOAT(anglef);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
p.rollangle = 0.0f;
|
p.rollangle = 0.0f;
|
||||||
p.rollflip = 0;
|
p.rollflip = 0;
|
||||||
p.rotaxis = 0;
|
p.rotaxis = 0;
|
||||||
|
@ -1409,7 +1402,6 @@ boolean HWR_DrawModel(gr_vissprite_t *spr)
|
||||||
else if ((sprframe->rotate & SRF_LEFT) && (ang >= ANGLE_180)) // See from left
|
else if ((sprframe->rotate & SRF_LEFT) && (ang >= ANGLE_180)) // See from left
|
||||||
p.rollflip = -1;
|
p.rollflip = -1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
p.anglex = 0.0f;
|
p.anglex = 0.0f;
|
||||||
|
|
||||||
|
|
|
@ -2076,7 +2076,6 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32
|
||||||
pglRotatef(pos->angley, 0.0f, -1.0f, 0.0f);
|
pglRotatef(pos->angley, 0.0f, -1.0f, 0.0f);
|
||||||
pglRotatef(pos->anglex, 1.0f, 0.0f, 0.0f);
|
pglRotatef(pos->anglex, 1.0f, 0.0f, 0.0f);
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (pos->roll)
|
if (pos->roll)
|
||||||
{
|
{
|
||||||
float roll = (1.0f * pos->rollflip);
|
float roll = (1.0f * pos->rollflip);
|
||||||
|
@ -2089,7 +2088,6 @@ static void DrawModelEx(model_t *model, INT32 frameIndex, INT32 duration, INT32
|
||||||
pglRotatef(pos->rollangle, roll, 0.0f, 0.0f);
|
pglRotatef(pos->rollangle, roll, 0.0f, 0.0f);
|
||||||
pglTranslatef(-pos->centerx, -pos->centery, 0);
|
pglTranslatef(-pos->centerx, -pos->centery, 0);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
pglScalef(scalex, scaley, scalez);
|
pglScalef(scalex, scaley, scalez);
|
||||||
|
|
||||||
|
|
|
@ -155,11 +155,9 @@ void A_SpawnObjectAbsolute();
|
||||||
void A_SpawnObjectRelative();
|
void A_SpawnObjectRelative();
|
||||||
void A_ChangeAngleRelative();
|
void A_ChangeAngleRelative();
|
||||||
void A_ChangeAngleAbsolute();
|
void A_ChangeAngleAbsolute();
|
||||||
#ifdef ROTSPRITE
|
|
||||||
void A_RollAngle();
|
void A_RollAngle();
|
||||||
void A_ChangeRollAngleRelative();
|
void A_ChangeRollAngleRelative();
|
||||||
void A_ChangeRollAngleAbsolute();
|
void A_ChangeRollAngleAbsolute();
|
||||||
#endif
|
|
||||||
void A_PlaySound();
|
void A_PlaySound();
|
||||||
void A_FindTarget();
|
void A_FindTarget();
|
||||||
void A_FindTracer();
|
void A_FindTracer();
|
||||||
|
|
|
@ -144,10 +144,8 @@ static const struct {
|
||||||
{META_MOBJINFO, "mobjinfo_t"},
|
{META_MOBJINFO, "mobjinfo_t"},
|
||||||
{META_SFXINFO, "sfxinfo_t"},
|
{META_SFXINFO, "sfxinfo_t"},
|
||||||
{META_SPRITEINFO, "spriteinfo_t"},
|
{META_SPRITEINFO, "spriteinfo_t"},
|
||||||
#ifdef ROTSPRITE
|
|
||||||
{META_PIVOTLIST, "spriteframepivot_t[]"},
|
{META_PIVOTLIST, "spriteframepivot_t[]"},
|
||||||
{META_FRAMEPIVOT, "spriteframepivot_t"},
|
{META_FRAMEPIVOT, "spriteframepivot_t"},
|
||||||
#endif
|
|
||||||
|
|
||||||
{META_MOBJ, "mobj_t"},
|
{META_MOBJ, "mobj_t"},
|
||||||
{META_MAPTHING, "mapthing_t"},
|
{META_MAPTHING, "mapthing_t"},
|
||||||
|
|
|
@ -266,7 +266,6 @@ static int lib_getSpriteInfo(lua_State *L)
|
||||||
#define FIELDERROR(f, e) luaL_error(L, "bad value for " LUA_QL(f) " in table passed to spriteinfo[] (%s)", e);
|
#define FIELDERROR(f, e) luaL_error(L, "bad value for " LUA_QL(f) " in table passed to spriteinfo[] (%s)", e);
|
||||||
#define TYPEERROR(f, t1, t2) FIELDERROR(f, va("%s expected, got %s", lua_typename(L, t1), lua_typename(L, t2)))
|
#define TYPEERROR(f, t1, t2) FIELDERROR(f, va("%s expected, got %s", lua_typename(L, t1), lua_typename(L, t2)))
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
static int PopPivotSubTable(spriteframepivot_t *pivot, lua_State *L, int stk, int idx)
|
static int PopPivotSubTable(spriteframepivot_t *pivot, lua_State *L, int stk, int idx)
|
||||||
{
|
{
|
||||||
int okcool = 0;
|
int okcool = 0;
|
||||||
|
@ -360,7 +359,6 @@ static int PopPivotTable(spriteinfo_t *info, lua_State *L, int stk)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static int lib_setSpriteInfo(lua_State *L)
|
static int lib_setSpriteInfo(lua_State *L)
|
||||||
{
|
{
|
||||||
|
@ -393,14 +391,11 @@ static int lib_setSpriteInfo(lua_State *L)
|
||||||
if (lua_isnumber(L, 2))
|
if (lua_isnumber(L, 2))
|
||||||
{
|
{
|
||||||
i = lua_tointeger(L, 2);
|
i = lua_tointeger(L, 2);
|
||||||
#ifndef ROTSPRITE
|
|
||||||
i++; // shift index in case of missing rotsprite support
|
i++; // shift index in case of missing rotsprite support
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
str = luaL_checkstring(L, 2);
|
str = luaL_checkstring(L, 2);
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (i == 1 || (str && fastcmp(str, "pivot")))
|
if (i == 1 || (str && fastcmp(str, "pivot")))
|
||||||
{
|
{
|
||||||
// pivot[] is a table
|
// pivot[] is a table
|
||||||
|
@ -409,7 +404,6 @@ static int lib_setSpriteInfo(lua_State *L)
|
||||||
else
|
else
|
||||||
FIELDERROR("pivot", va("%s expected, got %s", lua_typename(L, LUA_TTABLE), luaL_typename(L, -1)))
|
FIELDERROR("pivot", va("%s expected, got %s", lua_typename(L, LUA_TTABLE), luaL_typename(L, -1)))
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
lua_pop(L, 1);
|
lua_pop(L, 1);
|
||||||
}
|
}
|
||||||
|
@ -434,7 +428,6 @@ static int spriteinfo_get(lua_State *L)
|
||||||
|
|
||||||
I_Assert(sprinfo != NULL);
|
I_Assert(sprinfo != NULL);
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
// push spriteframepivot_t userdata
|
// push spriteframepivot_t userdata
|
||||||
if (fastcmp(field, "pivot"))
|
if (fastcmp(field, "pivot"))
|
||||||
{
|
{
|
||||||
|
@ -448,7 +441,6 @@ static int spriteinfo_get(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
return luaL_error(L, LUA_QL("spriteinfo_t") " has no field named " LUA_QS, field);
|
return luaL_error(L, LUA_QL("spriteinfo_t") " has no field named " LUA_QS, field);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -473,6 +465,7 @@ static int spriteinfo_set(lua_State *L)
|
||||||
#ifdef ROTSPRITE
|
#ifdef ROTSPRITE
|
||||||
if (sprites != NULL)
|
if (sprites != NULL)
|
||||||
R_FreeSingleRotSprite(&sprites[sprinfo-spriteinfo]);
|
R_FreeSingleRotSprite(&sprites[sprinfo-spriteinfo]);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (fastcmp(field, "pivot"))
|
if (fastcmp(field, "pivot"))
|
||||||
{
|
{
|
||||||
|
@ -488,7 +481,6 @@ static int spriteinfo_set(lua_State *L)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
return luaL_error(L, va("Field %s does not exist in spriteinfo_t", field));
|
return luaL_error(L, va("Field %s does not exist in spriteinfo_t", field));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -506,7 +498,6 @@ static int spriteinfo_num(lua_State *L)
|
||||||
}
|
}
|
||||||
|
|
||||||
// framepivot_t
|
// framepivot_t
|
||||||
#ifdef ROTSPRITE
|
|
||||||
static int pivotlist_get(lua_State *L)
|
static int pivotlist_get(lua_State *L)
|
||||||
{
|
{
|
||||||
void **userdata;
|
void **userdata;
|
||||||
|
@ -616,7 +607,6 @@ static int framepivot_num(lua_State *L)
|
||||||
lua_pushinteger(L, 2);
|
lua_pushinteger(L, 2);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
////////////////
|
////////////////
|
||||||
// STATE INFO //
|
// STATE INFO //
|
||||||
|
@ -1538,7 +1528,6 @@ int LUA_InfoLib(lua_State *L)
|
||||||
lua_setfield(L, -2, "__len");
|
lua_setfield(L, -2, "__len");
|
||||||
lua_pop(L, 1);
|
lua_pop(L, 1);
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
luaL_newmetatable(L, META_PIVOTLIST);
|
luaL_newmetatable(L, META_PIVOTLIST);
|
||||||
lua_pushcfunction(L, pivotlist_get);
|
lua_pushcfunction(L, pivotlist_get);
|
||||||
lua_setfield(L, -2, "__index");
|
lua_setfield(L, -2, "__index");
|
||||||
|
@ -1560,7 +1549,6 @@ int LUA_InfoLib(lua_State *L)
|
||||||
lua_pushcfunction(L, framepivot_num);
|
lua_pushcfunction(L, framepivot_num);
|
||||||
lua_setfield(L, -2, "__len");
|
lua_setfield(L, -2, "__len");
|
||||||
lua_pop(L, 1);
|
lua_pop(L, 1);
|
||||||
#endif
|
|
||||||
|
|
||||||
lua_newuserdata(L, 0);
|
lua_newuserdata(L, 0);
|
||||||
lua_createtable(L, 0, 2);
|
lua_createtable(L, 0, 2);
|
||||||
|
|
|
@ -23,10 +23,8 @@ extern lua_State *gL;
|
||||||
#define META_MOBJINFO "MOBJINFO_T*"
|
#define META_MOBJINFO "MOBJINFO_T*"
|
||||||
#define META_SFXINFO "SFXINFO_T*"
|
#define META_SFXINFO "SFXINFO_T*"
|
||||||
#define META_SPRITEINFO "SPRITEINFO_T*"
|
#define META_SPRITEINFO "SPRITEINFO_T*"
|
||||||
#ifdef ROTSPRITE
|
|
||||||
#define META_PIVOTLIST "SPRITEFRAMEPIVOT_T[]"
|
#define META_PIVOTLIST "SPRITEFRAMEPIVOT_T[]"
|
||||||
#define META_FRAMEPIVOT "SPRITEFRAMEPIVOT_T*"
|
#define META_FRAMEPIVOT "SPRITEFRAMEPIVOT_T*"
|
||||||
#endif
|
|
||||||
|
|
||||||
#define META_MOBJ "MOBJ_T*"
|
#define META_MOBJ "MOBJ_T*"
|
||||||
#define META_MAPTHING "MAPTHING_T*"
|
#define META_MAPTHING "MAPTHING_T*"
|
||||||
|
|
|
@ -32,9 +32,7 @@ enum mobj_e {
|
||||||
mobj_snext,
|
mobj_snext,
|
||||||
mobj_sprev,
|
mobj_sprev,
|
||||||
mobj_angle,
|
mobj_angle,
|
||||||
#ifdef ROTSPRITE
|
|
||||||
mobj_rollangle,
|
mobj_rollangle,
|
||||||
#endif
|
|
||||||
mobj_sprite,
|
mobj_sprite,
|
||||||
mobj_frame,
|
mobj_frame,
|
||||||
mobj_sprite2,
|
mobj_sprite2,
|
||||||
|
@ -101,9 +99,7 @@ static const char *const mobj_opt[] = {
|
||||||
"snext",
|
"snext",
|
||||||
"sprev",
|
"sprev",
|
||||||
"angle",
|
"angle",
|
||||||
#ifdef ROTSPRITE
|
|
||||||
"rollangle",
|
"rollangle",
|
||||||
#endif
|
|
||||||
"sprite",
|
"sprite",
|
||||||
"frame",
|
"frame",
|
||||||
"sprite2",
|
"sprite2",
|
||||||
|
@ -205,11 +201,9 @@ static int mobj_get(lua_State *L)
|
||||||
case mobj_angle:
|
case mobj_angle:
|
||||||
lua_pushangle(L, mo->angle);
|
lua_pushangle(L, mo->angle);
|
||||||
break;
|
break;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
case mobj_rollangle:
|
case mobj_rollangle:
|
||||||
lua_pushangle(L, mo->rollangle);
|
lua_pushangle(L, mo->rollangle);
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case mobj_sprite:
|
case mobj_sprite:
|
||||||
lua_pushinteger(L, mo->sprite);
|
lua_pushinteger(L, mo->sprite);
|
||||||
break;
|
break;
|
||||||
|
@ -462,11 +456,9 @@ static int mobj_set(lua_State *L)
|
||||||
else if (mo->player == &players[secondarydisplayplayer])
|
else if (mo->player == &players[secondarydisplayplayer])
|
||||||
localangle2 = mo->angle;
|
localangle2 = mo->angle;
|
||||||
break;
|
break;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
case mobj_rollangle:
|
case mobj_rollangle:
|
||||||
mo->rollangle = luaL_checkangle(L, 3);
|
mo->rollangle = luaL_checkangle(L, 3);
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case mobj_sprite:
|
case mobj_sprite:
|
||||||
mo->sprite = luaL_checkinteger(L, 3);
|
mo->sprite = luaL_checkinteger(L, 3);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -181,11 +181,9 @@ void A_SpawnObjectAbsolute(mobj_t *actor);
|
||||||
void A_SpawnObjectRelative(mobj_t *actor);
|
void A_SpawnObjectRelative(mobj_t *actor);
|
||||||
void A_ChangeAngleRelative(mobj_t *actor);
|
void A_ChangeAngleRelative(mobj_t *actor);
|
||||||
void A_ChangeAngleAbsolute(mobj_t *actor);
|
void A_ChangeAngleAbsolute(mobj_t *actor);
|
||||||
#ifdef ROTSPRITE
|
|
||||||
void A_RollAngle(mobj_t *actor);
|
void A_RollAngle(mobj_t *actor);
|
||||||
void A_ChangeRollAngleRelative(mobj_t *actor);
|
void A_ChangeRollAngleRelative(mobj_t *actor);
|
||||||
void A_ChangeRollAngleAbsolute(mobj_t *actor);
|
void A_ChangeRollAngleAbsolute(mobj_t *actor);
|
||||||
#endif // ROTSPRITE
|
|
||||||
void A_PlaySound(mobj_t *actor);
|
void A_PlaySound(mobj_t *actor);
|
||||||
void A_FindTarget(mobj_t *actor);
|
void A_FindTarget(mobj_t *actor);
|
||||||
void A_FindTracer(mobj_t *actor);
|
void A_FindTracer(mobj_t *actor);
|
||||||
|
@ -8627,7 +8625,6 @@ void A_ChangeAngleAbsolute(mobj_t *actor)
|
||||||
actor->angle = FixedAngle(P_RandomRange(amin, amax));
|
actor->angle = FixedAngle(P_RandomRange(amin, amax));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
// Function: A_RollAngle
|
// Function: A_RollAngle
|
||||||
//
|
//
|
||||||
// Description: Changes the roll angle.
|
// Description: Changes the roll angle.
|
||||||
|
@ -8663,16 +8660,10 @@ void A_RollAngle(mobj_t *actor)
|
||||||
//
|
//
|
||||||
void A_ChangeRollAngleRelative(mobj_t *actor)
|
void A_ChangeRollAngleRelative(mobj_t *actor)
|
||||||
{
|
{
|
||||||
// Oh god, the old code /sucked/. Changed this and the absolute version to get a random range using amin and amax instead of
|
|
||||||
// getting a random angle from the _entire_ spectrum and then clipping. While we're at it, do the angle conversion to the result
|
|
||||||
// rather than the ranges, so <0 and >360 work as possible values. -Red
|
|
||||||
INT32 locvar1 = var1;
|
INT32 locvar1 = var1;
|
||||||
INT32 locvar2 = var2;
|
INT32 locvar2 = var2;
|
||||||
//angle_t angle = (P_RandomByte()+1)<<24;
|
|
||||||
const fixed_t amin = locvar1*FRACUNIT;
|
const fixed_t amin = locvar1*FRACUNIT;
|
||||||
const fixed_t amax = locvar2*FRACUNIT;
|
const fixed_t amax = locvar2*FRACUNIT;
|
||||||
//const angle_t amin = FixedAngle(locvar1*FRACUNIT);
|
|
||||||
//const angle_t amax = FixedAngle(locvar2*FRACUNIT);
|
|
||||||
#ifdef HAVE_BLUA
|
#ifdef HAVE_BLUA
|
||||||
if (LUA_CallAction("A_ChangeRollAngleRelative", actor))
|
if (LUA_CallAction("A_ChangeRollAngleRelative", actor))
|
||||||
return;
|
return;
|
||||||
|
@ -8682,11 +8673,6 @@ void A_ChangeRollAngleRelative(mobj_t *actor)
|
||||||
if (amin > amax)
|
if (amin > amax)
|
||||||
I_Error("A_ChangeRollAngleRelative: var1 is greater than var2");
|
I_Error("A_ChangeRollAngleRelative: var1 is greater than var2");
|
||||||
#endif
|
#endif
|
||||||
/*
|
|
||||||
if (angle < amin)
|
|
||||||
angle = amin;
|
|
||||||
if (angle > amax)
|
|
||||||
angle = amax;*/
|
|
||||||
|
|
||||||
actor->rollangle += FixedAngle(P_RandomRange(amin, amax));
|
actor->rollangle += FixedAngle(P_RandomRange(amin, amax));
|
||||||
}
|
}
|
||||||
|
@ -8702,11 +8688,8 @@ void A_ChangeRollAngleAbsolute(mobj_t *actor)
|
||||||
{
|
{
|
||||||
INT32 locvar1 = var1;
|
INT32 locvar1 = var1;
|
||||||
INT32 locvar2 = var2;
|
INT32 locvar2 = var2;
|
||||||
//angle_t angle = (P_RandomByte()+1)<<24;
|
|
||||||
const fixed_t amin = locvar1*FRACUNIT;
|
const fixed_t amin = locvar1*FRACUNIT;
|
||||||
const fixed_t amax = locvar2*FRACUNIT;
|
const fixed_t amax = locvar2*FRACUNIT;
|
||||||
//const angle_t amin = FixedAngle(locvar1*FRACUNIT);
|
|
||||||
//const angle_t amax = FixedAngle(locvar2*FRACUNIT);
|
|
||||||
#ifdef HAVE_BLUA
|
#ifdef HAVE_BLUA
|
||||||
if (LUA_CallAction("A_ChangeRollAngleAbsolute", actor))
|
if (LUA_CallAction("A_ChangeRollAngleAbsolute", actor))
|
||||||
return;
|
return;
|
||||||
|
@ -8716,15 +8699,9 @@ void A_ChangeRollAngleAbsolute(mobj_t *actor)
|
||||||
if (amin > amax)
|
if (amin > amax)
|
||||||
I_Error("A_ChangeRollAngleAbsolute: var1 is greater than var2");
|
I_Error("A_ChangeRollAngleAbsolute: var1 is greater than var2");
|
||||||
#endif
|
#endif
|
||||||
/*
|
|
||||||
if (angle < amin)
|
|
||||||
angle = amin;
|
|
||||||
if (angle > amax)
|
|
||||||
angle = amax;*/
|
|
||||||
|
|
||||||
actor->rollangle = FixedAngle(P_RandomRange(amin, amax));
|
actor->rollangle = FixedAngle(P_RandomRange(amin, amax));
|
||||||
}
|
}
|
||||||
#endif // ROTSPRITE
|
|
||||||
|
|
||||||
// Function: A_PlaySound
|
// Function: A_PlaySound
|
||||||
//
|
//
|
||||||
|
|
|
@ -3005,9 +3005,7 @@ static inline void P_NiGHTSDamage(mobj_t *target, mobj_t *source)
|
||||||
P_SetPlayerMobjState(target, S_PLAY_NIGHTS_STUN);
|
P_SetPlayerMobjState(target, S_PLAY_NIGHTS_STUN);
|
||||||
S_StartSound(target, sfx_nghurt);
|
S_StartSound(target, sfx_nghurt);
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
player->mo->rollangle = 0;
|
player->mo->rollangle = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
if (oldnightstime > 10*TICRATE
|
if (oldnightstime > 10*TICRATE
|
||||||
&& player->nightstime < 10*TICRATE)
|
&& player->nightstime < 10*TICRATE)
|
||||||
|
|
|
@ -9735,14 +9735,12 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MT_MINUS:
|
case MT_MINUS:
|
||||||
#ifdef ROTSPRITE
|
|
||||||
{
|
{
|
||||||
if (P_IsObjectOnGround(mobj))
|
if (P_IsObjectOnGround(mobj))
|
||||||
mobj->rollangle = 0;
|
mobj->rollangle = 0;
|
||||||
else
|
else
|
||||||
mobj->rollangle = R_PointToAngle2(0, 0, mobj->momz, (mobj->scale << 1) - min(abs(mobj->momz), mobj->scale << 1));
|
mobj->rollangle = R_PointToAngle2(0, 0, mobj->momz, (mobj->scale << 1) - min(abs(mobj->momz), mobj->scale << 1));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case MT_SPINFIRE:
|
case MT_SPINFIRE:
|
||||||
if (mobj->flags & MF_NOGRAVITY)
|
if (mobj->flags & MF_NOGRAVITY)
|
||||||
|
|
|
@ -279,9 +279,7 @@ typedef struct mobj_s
|
||||||
|
|
||||||
// More drawing info: to determine current sprite.
|
// More drawing info: to determine current sprite.
|
||||||
angle_t angle; // orientation
|
angle_t angle; // orientation
|
||||||
#ifdef ROTSPRITE
|
|
||||||
angle_t rollangle;
|
angle_t rollangle;
|
||||||
#endif
|
|
||||||
spritenum_t sprite; // used to find patch_t and flip value
|
spritenum_t sprite; // used to find patch_t and flip value
|
||||||
UINT32 frame; // frame number, plus bits see p_pspr.h
|
UINT32 frame; // frame number, plus bits see p_pspr.h
|
||||||
UINT8 sprite2; // player sprites
|
UINT8 sprite2; // player sprites
|
||||||
|
@ -402,9 +400,7 @@ typedef struct precipmobj_s
|
||||||
|
|
||||||
// More drawing info: to determine current sprite.
|
// More drawing info: to determine current sprite.
|
||||||
angle_t angle; // orientation
|
angle_t angle; // orientation
|
||||||
#ifdef ROTSPRITE
|
|
||||||
angle_t rollangle;
|
angle_t rollangle;
|
||||||
#endif
|
|
||||||
spritenum_t sprite; // used to find patch_t and flip value
|
spritenum_t sprite; // used to find patch_t and flip value
|
||||||
UINT32 frame; // frame number, plus bits see p_pspr.h
|
UINT32 frame; // frame number, plus bits see p_pspr.h
|
||||||
UINT8 sprite2; // player sprites
|
UINT8 sprite2; // player sprites
|
||||||
|
|
|
@ -1277,9 +1277,7 @@ typedef enum
|
||||||
MD2_SLOPE = 1<<11,
|
MD2_SLOPE = 1<<11,
|
||||||
#endif
|
#endif
|
||||||
MD2_COLORIZED = 1<<12,
|
MD2_COLORIZED = 1<<12,
|
||||||
#ifdef ROTSPRITE
|
|
||||||
MD2_ROLLANGLE = 1<<13,
|
MD2_ROLLANGLE = 1<<13,
|
||||||
#endif
|
|
||||||
} mobj_diff2_t;
|
} mobj_diff2_t;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
|
@ -1499,10 +1497,8 @@ static void SaveMobjThinker(const thinker_t *th, const UINT8 type)
|
||||||
#endif
|
#endif
|
||||||
if (mobj->colorized)
|
if (mobj->colorized)
|
||||||
diff2 |= MD2_COLORIZED;
|
diff2 |= MD2_COLORIZED;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (mobj->rollangle)
|
if (mobj->rollangle)
|
||||||
diff2 |= MD2_ROLLANGLE;
|
diff2 |= MD2_ROLLANGLE;
|
||||||
#endif
|
|
||||||
if (diff2 != 0)
|
if (diff2 != 0)
|
||||||
diff |= MD_MORE;
|
diff |= MD_MORE;
|
||||||
|
|
||||||
|
@ -1667,10 +1663,8 @@ static void SaveMobjThinker(const thinker_t *th, const UINT8 type)
|
||||||
#endif
|
#endif
|
||||||
if (diff2 & MD2_COLORIZED)
|
if (diff2 & MD2_COLORIZED)
|
||||||
WRITEUINT8(save_p, mobj->colorized);
|
WRITEUINT8(save_p, mobj->colorized);
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (diff2 & MD2_ROLLANGLE)
|
if (diff2 & MD2_ROLLANGLE)
|
||||||
WRITEANGLE(save_p, mobj->rollangle);
|
WRITEANGLE(save_p, mobj->rollangle);
|
||||||
#endif
|
|
||||||
|
|
||||||
WRITEUINT32(save_p, mobj->mobjnum);
|
WRITEUINT32(save_p, mobj->mobjnum);
|
||||||
}
|
}
|
||||||
|
@ -2747,12 +2741,8 @@ static thinker_t* LoadMobjThinker(actionf_p1 thinker)
|
||||||
#endif
|
#endif
|
||||||
if (diff2 & MD2_COLORIZED)
|
if (diff2 & MD2_COLORIZED)
|
||||||
mobj->colorized = READUINT8(save_p);
|
mobj->colorized = READUINT8(save_p);
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (diff2 & MD2_ROLLANGLE)
|
if (diff2 & MD2_ROLLANGLE)
|
||||||
mobj->rollangle = READANGLE(save_p);
|
mobj->rollangle = READANGLE(save_p);
|
||||||
else
|
|
||||||
mobj->rollangle = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (diff & MD_REDFLAG)
|
if (diff & MD_REDFLAG)
|
||||||
{
|
{
|
||||||
|
|
14
src/p_user.c
14
src/p_user.c
|
@ -638,9 +638,7 @@ static void P_DeNightserizePlayer(player_t *player)
|
||||||
player->marebonuslap = 0;
|
player->marebonuslap = 0;
|
||||||
player->flyangle = 0;
|
player->flyangle = 0;
|
||||||
player->anotherflyangle = 0;
|
player->anotherflyangle = 0;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
player->mo->rollangle = 0;
|
player->mo->rollangle = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
P_SetTarget(&player->mo->target, NULL);
|
P_SetTarget(&player->mo->target, NULL);
|
||||||
P_SetTarget(&player->axis1, P_SetTarget(&player->axis2, NULL));
|
P_SetTarget(&player->axis1, P_SetTarget(&player->axis2, NULL));
|
||||||
|
@ -768,9 +766,7 @@ void P_NightserizePlayer(player_t *player, INT32 nighttime)
|
||||||
player->secondjump = 0;
|
player->secondjump = 0;
|
||||||
player->flyangle = 0;
|
player->flyangle = 0;
|
||||||
player->anotherflyangle = 0;
|
player->anotherflyangle = 0;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
player->mo->rollangle = 0;
|
player->mo->rollangle = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
player->powers[pw_shield] = SH_NONE;
|
player->powers[pw_shield] = SH_NONE;
|
||||||
player->powers[pw_super] = 0;
|
player->powers[pw_super] = 0;
|
||||||
|
@ -6824,7 +6820,6 @@ static void P_DoNiGHTSCapsule(player_t *player)
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_ROLL);
|
P_SetPlayerMobjState(player->mo, S_PLAY_ROLL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (!(player->charflags & SF_NONIGHTSROTATION))
|
if (!(player->charflags & SF_NONIGHTSROTATION))
|
||||||
{
|
{
|
||||||
if ((player->mo->state == &states[S_PLAY_NIGHTS_PULL])
|
if ((player->mo->state == &states[S_PLAY_NIGHTS_PULL])
|
||||||
|
@ -6833,7 +6828,6 @@ static void P_DoNiGHTSCapsule(player_t *player)
|
||||||
else
|
else
|
||||||
player->mo->rollangle = 0;
|
player->mo->rollangle = 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if (G_IsSpecialStage(gamemap))
|
if (G_IsSpecialStage(gamemap))
|
||||||
{ // In special stages, share rings. Everyone gives up theirs to the capsule player always, because we can't have any individualism here!
|
{ // In special stages, share rings. Everyone gives up theirs to the capsule player always, because we can't have any individualism here!
|
||||||
|
@ -7096,9 +7090,7 @@ static void P_NiGHTSMovement(player_t *player)
|
||||||
INT32 i;
|
INT32 i;
|
||||||
statenum_t flystate;
|
statenum_t flystate;
|
||||||
UINT16 visangle;
|
UINT16 visangle;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
angle_t rollangle = 0;
|
angle_t rollangle = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
player->pflags &= ~PF_DRILLING;
|
player->pflags &= ~PF_DRILLING;
|
||||||
|
|
||||||
|
@ -7283,9 +7275,7 @@ static void P_NiGHTSMovement(player_t *player)
|
||||||
&& player->mo->state <= &states[S_PLAY_NIGHTS_TRANS6])
|
&& player->mo->state <= &states[S_PLAY_NIGHTS_TRANS6])
|
||||||
{
|
{
|
||||||
player->mo->momx = player->mo->momy = player->mo->momz = 0;
|
player->mo->momx = player->mo->momy = player->mo->momz = 0;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
player->mo->rollangle = 0;
|
player->mo->rollangle = 0;
|
||||||
#endif
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7611,7 +7601,6 @@ static void P_NiGHTSMovement(player_t *player)
|
||||||
flystate += (visangle*2); // S_PLAY_NIGHTS_FLY0-C - the *2 is to skip over drill states
|
flystate += (visangle*2); // S_PLAY_NIGHTS_FLY0-C - the *2 is to skip over drill states
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef ROTSPRITE
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
angle_t a = R_PointToAngle(player->mo->x, player->mo->y) - player->mo->angle;
|
angle_t a = R_PointToAngle(player->mo->x, player->mo->y) - player->mo->angle;
|
||||||
|
@ -7629,18 +7618,15 @@ static void P_NiGHTSMovement(player_t *player)
|
||||||
|
|
||||||
rollangle = FixedAngle(visangle<<FRACBITS);
|
rollangle = FixedAngle(visangle<<FRACBITS);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player->mo->state != &states[flystate])
|
if (player->mo->state != &states[flystate])
|
||||||
P_SetPlayerMobjState(player->mo, flystate);
|
P_SetPlayerMobjState(player->mo, flystate);
|
||||||
|
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (player->charflags & SF_NONIGHTSROTATION)
|
if (player->charflags & SF_NONIGHTSROTATION)
|
||||||
player->mo->rollangle = 0;
|
player->mo->rollangle = 0;
|
||||||
else
|
else
|
||||||
player->mo->rollangle = rollangle;
|
player->mo->rollangle = rollangle;
|
||||||
#endif
|
|
||||||
|
|
||||||
if (player == &players[consoleplayer])
|
if (player == &players[consoleplayer])
|
||||||
localangle = player->mo->angle;
|
localangle = player->mo->angle;
|
||||||
|
|
|
@ -789,11 +789,9 @@ static void R_ParseSpriteInfoFrame(spriteinfo_t *info)
|
||||||
size_t sprinfoTokenLength;
|
size_t sprinfoTokenLength;
|
||||||
char *frameChar = NULL;
|
char *frameChar = NULL;
|
||||||
UINT8 frameFrame = 0xFF;
|
UINT8 frameFrame = 0xFF;
|
||||||
#ifdef ROTSPRITE
|
|
||||||
INT16 frameXPivot = 0;
|
INT16 frameXPivot = 0;
|
||||||
INT16 frameYPivot = 0;
|
INT16 frameYPivot = 0;
|
||||||
rotaxis_t frameRotAxis = 0;
|
rotaxis_t frameRotAxis = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
// Sprite identifier
|
// Sprite identifier
|
||||||
sprinfoToken = M_GetToken(NULL);
|
sprinfoToken = M_GetToken(NULL);
|
||||||
|
@ -828,7 +826,6 @@ static void R_ParseSpriteInfoFrame(spriteinfo_t *info)
|
||||||
}
|
}
|
||||||
while (strcmp(sprinfoToken,"}")!=0)
|
while (strcmp(sprinfoToken,"}")!=0)
|
||||||
{
|
{
|
||||||
#ifdef ROTSPRITE
|
|
||||||
if (stricmp(sprinfoToken, "XPIVOT")==0)
|
if (stricmp(sprinfoToken, "XPIVOT")==0)
|
||||||
{
|
{
|
||||||
Z_Free(sprinfoToken);
|
Z_Free(sprinfoToken);
|
||||||
|
@ -852,7 +849,6 @@ static void R_ParseSpriteInfoFrame(spriteinfo_t *info)
|
||||||
else if ((stricmp(sprinfoToken, "Z")==0) || (stricmp(sprinfoToken, "ZAXIS")==0) || (stricmp(sprinfoToken, "YAW")==0))
|
else if ((stricmp(sprinfoToken, "Z")==0) || (stricmp(sprinfoToken, "ZAXIS")==0) || (stricmp(sprinfoToken, "YAW")==0))
|
||||||
frameRotAxis = ROTAXIS_Z;
|
frameRotAxis = ROTAXIS_Z;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
Z_Free(sprinfoToken);
|
Z_Free(sprinfoToken);
|
||||||
|
|
||||||
sprinfoToken = M_GetToken(NULL);
|
sprinfoToken = M_GetToken(NULL);
|
||||||
|
@ -866,11 +862,9 @@ static void R_ParseSpriteInfoFrame(spriteinfo_t *info)
|
||||||
}
|
}
|
||||||
|
|
||||||
// set fields
|
// set fields
|
||||||
#ifdef ROTSPRITE
|
|
||||||
info->pivot[frameFrame].x = frameXPivot;
|
info->pivot[frameFrame].x = frameXPivot;
|
||||||
info->pivot[frameFrame].y = frameYPivot;
|
info->pivot[frameFrame].y = frameYPivot;
|
||||||
info->pivot[frameFrame].rotaxis = frameRotAxis;
|
info->pivot[frameFrame].rotaxis = frameRotAxis;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include "doomdef.h"
|
#include "doomdef.h"
|
||||||
|
|
||||||
// Structs
|
// Structs
|
||||||
#ifdef ROTSPRITE
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
ROTAXIS_X, // Roll (the default)
|
ROTAXIS_X, // Roll (the default)
|
||||||
|
@ -31,13 +30,10 @@ typedef struct
|
||||||
INT32 x, y;
|
INT32 x, y;
|
||||||
rotaxis_t rotaxis;
|
rotaxis_t rotaxis;
|
||||||
} spriteframepivot_t;
|
} spriteframepivot_t;
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
#ifdef ROTSPRITE
|
|
||||||
spriteframepivot_t pivot[64];
|
spriteframepivot_t pivot[64];
|
||||||
#endif
|
|
||||||
boolean available;
|
boolean available;
|
||||||
} spriteinfo_t;
|
} spriteinfo_t;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue