Merge branch 'v2dev3' into ACS2
This commit is contained in:
commit
28d8f15bfc
5 changed files with 96 additions and 3 deletions
|
|
@ -3158,7 +3158,7 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform)
|
|||
// https://zdoom.org/wiki/Y-shearing
|
||||
if (shearing)
|
||||
{
|
||||
float fdy = stransform->viewaiming * 2;
|
||||
float fdy = stransform->viewaiming * 2 * ((float)vid.width / vid.height) / ((float)BASEVIDWIDTH / BASEVIDHEIGHT); //screen_width/BASEVIDWIDTH;
|
||||
if (stransform->flip)
|
||||
fdy *= -1.0f;
|
||||
pglTranslatef(0.0f, -fdy/BASEVIDHEIGHT, 0.0f);
|
||||
|
|
|
|||
|
|
@ -560,9 +560,65 @@ static int mobj_set(lua_State *L)
|
|||
break;
|
||||
case mobj_sprite:
|
||||
mo->sprite = luaL_checkinteger(L, 3);
|
||||
if (mo->sprite == SPR_PLAY)
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_STIN, mo->player);
|
||||
break;
|
||||
case mobj_frame:
|
||||
mo->frame = (UINT32)luaL_checkinteger(L, 3);
|
||||
// Check for SPR2
|
||||
if (mo->sprite == SPR_PLAY)
|
||||
{
|
||||
UINT32 frame = (UINT32)luaL_checkinteger(L, 3);
|
||||
switch (frame)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_STIN, mo->player);
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_STIL, mo->player);
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_STIR, mo->player);
|
||||
break;
|
||||
case 6:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_SLWN, mo->player);
|
||||
break;
|
||||
case 7:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_SLWL, mo->player);
|
||||
break;
|
||||
case 8:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_SLWR, mo->player);
|
||||
break;
|
||||
case 9:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_FSTN, mo->player);
|
||||
break;
|
||||
case 10:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_FSTL, mo->player);
|
||||
break;
|
||||
case 11:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_FSTR, mo->player);
|
||||
break;
|
||||
case 12:
|
||||
case 13:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_DRLN, mo->player);
|
||||
break;
|
||||
case 14:
|
||||
case 15:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_DRRN, mo->player);
|
||||
break;
|
||||
case 16:
|
||||
case 17: // squish technically doesnt really exist
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_SPIN, mo->player);
|
||||
break;
|
||||
case 18:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), SPR2_SIGN, mo->player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
mo->frame = (UINT32)luaL_checkinteger(L, 3);
|
||||
break;
|
||||
case mobj_sprite2:
|
||||
mo->sprite2 = P_GetSkinSprite2(((skin_t *)mo->skin), (UINT8)luaL_checkinteger(L, 3), mo->player);
|
||||
|
|
|
|||
|
|
@ -3011,7 +3011,10 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha
|
|||
|
||||
case 423: // Change Sky
|
||||
if ((mo && mo->player && P_IsLocalPlayer(mo->player)) || args[1])
|
||||
P_SetupLevelSky(stringargs[0], args[1]);
|
||||
if (udmf)
|
||||
P_SetupLevelSky(stringargs[0], args[1]);
|
||||
else
|
||||
P_SetupLevelSky(va("SKY%d", args[0]), args[1]);
|
||||
break;
|
||||
|
||||
case 424: // Change Weather
|
||||
|
|
|
|||
|
|
@ -1464,6 +1464,7 @@ ReadMusicDefFields
|
|||
|
||||
def->numtracks = i;
|
||||
def->volume = DEFAULT_MUSICDEF_VOLUME;
|
||||
def->legacy = true;
|
||||
|
||||
def->next = musicdefstart;
|
||||
musicdefstart = def;
|
||||
|
|
@ -1511,11 +1512,13 @@ ReadMusicDefFields
|
|||
{
|
||||
Z_Free(def->title);
|
||||
def->title = Z_StrDup(textline);
|
||||
def->legacy = false;
|
||||
}
|
||||
else if (!stricmp(stoken, "author"))
|
||||
{
|
||||
Z_Free(def->author);
|
||||
def->author = Z_StrDup(textline);
|
||||
def->legacy = false;
|
||||
}
|
||||
else if (!stricmp(stoken, "source"))
|
||||
{
|
||||
|
|
@ -1526,15 +1529,22 @@ ReadMusicDefFields
|
|||
{
|
||||
Z_Free(def->composers);
|
||||
def->composers = Z_StrDup(textline);
|
||||
def->legacy = false;
|
||||
}
|
||||
else if (!stricmp(stoken, "volume"))
|
||||
{
|
||||
def->volume = atoi(textline);
|
||||
def->legacy = false;
|
||||
}
|
||||
else if (!stricmp(stoken, "contentidunsafe"))
|
||||
{
|
||||
textline[0] = toupper(textline[0]);
|
||||
def->contentidunsafe = (textline[0] == 'Y' || textline[0] == 'T' || textline[0] == '1');
|
||||
def->legacy = false;
|
||||
}
|
||||
else if (!stricmp(stoken, "usage"))
|
||||
{
|
||||
// This does absolutely nothing, just a way to ignore this
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1548,6 +1558,16 @@ ReadMusicDefFields
|
|||
return true;
|
||||
}
|
||||
|
||||
static char* replacechar(char* str, char find, char replace)
|
||||
{
|
||||
char *current_pos = strchr(str,find);
|
||||
while (current_pos) {
|
||||
*current_pos = replace;
|
||||
current_pos = strchr(current_pos,find);
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
static void S_LoadMusicDefLump(lumpnum_t lumpnum)
|
||||
{
|
||||
char *lump;
|
||||
|
|
@ -1611,6 +1631,19 @@ static void S_LoadMusicDefLump(lumpnum_t lumpnum)
|
|||
else
|
||||
break;/* EOF */
|
||||
}
|
||||
|
||||
musicdef_t *df;
|
||||
// Replace all _ with spaces on legacy musicdefs
|
||||
for (df = musicdefstart; df; df = df->next)
|
||||
{
|
||||
if (df->legacy && df->source)
|
||||
{
|
||||
df->source = replacechar(df->source, '_', ' ');
|
||||
df->title = Z_StrDup(df->source);
|
||||
memset(df->source, 0, strlen(df->source));
|
||||
df->source = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
free(musdeftext);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -186,6 +186,7 @@ struct musicdef_t
|
|||
char *composers;
|
||||
int volume;
|
||||
boolean contentidunsafe;
|
||||
boolean legacy;
|
||||
musicdef_t *next;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue