mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-23 12:21:07 +00:00
Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-base
This commit is contained in:
commit
6160a34699
5 changed files with 45 additions and 8 deletions
|
@ -3389,14 +3389,14 @@ thingtypes
|
||||||
}
|
}
|
||||||
118
|
118
|
||||||
{
|
{
|
||||||
title = "CastleBot FaceStabber";
|
title = "Lance-a-Bot";
|
||||||
sprite = "CBFSA1";
|
sprite = "CBFSA1";
|
||||||
width = 32;
|
width = 32;
|
||||||
height = 72;
|
height = 72;
|
||||||
}
|
}
|
||||||
1113
|
1113
|
||||||
{
|
{
|
||||||
title = "Suspicious FaceStabber Statue";
|
title = "Suspicious Lance-a-Bot Statue";
|
||||||
sprite = "CBBSA1";
|
sprite = "CBBSA1";
|
||||||
width = 32;
|
width = 32;
|
||||||
height = 72;
|
height = 72;
|
||||||
|
@ -5006,7 +5006,7 @@ thingtypes
|
||||||
{
|
{
|
||||||
arrow = 1;
|
arrow = 1;
|
||||||
blocking = 2;
|
blocking = 2;
|
||||||
title = "FaceStabber Statue";
|
title = "Lance-a-Bot Statue";
|
||||||
sprite = "CBBSA1";
|
sprite = "CBBSA1";
|
||||||
width = 32;
|
width = 32;
|
||||||
height = 72;
|
height = 72;
|
||||||
|
|
|
@ -1301,6 +1301,8 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime)
|
||||||
|
|
||||||
M_Memcpy(netbuffer->u.serverinfo.mapmd5, mapmd5, 16);
|
M_Memcpy(netbuffer->u.serverinfo.mapmd5, mapmd5, 16);
|
||||||
|
|
||||||
|
memset(netbuffer->u.serverinfo.maptitle, 0, sizeof netbuffer->u.serverinfo.maptitle);
|
||||||
|
|
||||||
if (mapheaderinfo[gamemap-1] && *mapheaderinfo[gamemap-1]->lvlttl)
|
if (mapheaderinfo[gamemap-1] && *mapheaderinfo[gamemap-1]->lvlttl)
|
||||||
{
|
{
|
||||||
char *read = mapheaderinfo[gamemap-1]->lvlttl, *writ = netbuffer->u.serverinfo.maptitle;
|
char *read = mapheaderinfo[gamemap-1]->lvlttl, *writ = netbuffer->u.serverinfo.maptitle;
|
||||||
|
@ -1319,8 +1321,6 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime)
|
||||||
else
|
else
|
||||||
strncpy(netbuffer->u.serverinfo.maptitle, "UNKNOWN", 32);
|
strncpy(netbuffer->u.serverinfo.maptitle, "UNKNOWN", 32);
|
||||||
|
|
||||||
netbuffer->u.serverinfo.maptitle[32] = '\0';
|
|
||||||
|
|
||||||
if (mapheaderinfo[gamemap-1] && !(mapheaderinfo[gamemap-1]->levelflags & LF_NOZONE))
|
if (mapheaderinfo[gamemap-1] && !(mapheaderinfo[gamemap-1]->levelflags & LF_NOZONE))
|
||||||
netbuffer->u.serverinfo.iszone = 1;
|
netbuffer->u.serverinfo.iszone = 1;
|
||||||
else
|
else
|
||||||
|
|
|
@ -242,6 +242,7 @@ INT32 flags; Bits = 3232 MF_SOLID|MF_SHOOTABLE|MF_DROPOFF|M
|
||||||
INT32 raisestate; Respawn frame = 32 S_NULL // raisestate
|
INT32 raisestate; Respawn frame = 32 S_NULL // raisestate
|
||||||
}, */
|
}, */
|
||||||
|
|
||||||
|
#ifdef HWRENDER
|
||||||
static INT32 searchvalue(const char *s)
|
static INT32 searchvalue(const char *s)
|
||||||
{
|
{
|
||||||
while (s[0] != '=' && s[0])
|
while (s[0] != '=' && s[0])
|
||||||
|
@ -255,7 +256,6 @@ static INT32 searchvalue(const char *s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HWRENDER
|
|
||||||
static float searchfvalue(const char *s)
|
static float searchfvalue(const char *s)
|
||||||
{
|
{
|
||||||
while (s[0] != '=' && s[0])
|
while (s[0] != '=' && s[0])
|
||||||
|
@ -886,7 +886,9 @@ static void readspriteinfo(MYFILE *f, INT32 num, boolean sprite2)
|
||||||
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
||||||
char *word, *word2;
|
char *word, *word2;
|
||||||
char *tmp;
|
char *tmp;
|
||||||
|
#ifdef HWRENDER
|
||||||
INT32 value;
|
INT32 value;
|
||||||
|
#endif
|
||||||
char *lastline;
|
char *lastline;
|
||||||
INT32 skinnumbers[MAXSKINS];
|
INT32 skinnumbers[MAXSKINS];
|
||||||
INT32 foundskins = 0;
|
INT32 foundskins = 0;
|
||||||
|
@ -947,9 +949,9 @@ static void readspriteinfo(MYFILE *f, INT32 num, boolean sprite2)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
strupr(word);
|
strupr(word);
|
||||||
|
#ifdef HWRENDER
|
||||||
value = atoi(word2); // used for numerical settings
|
value = atoi(word2); // used for numerical settings
|
||||||
|
|
||||||
#ifdef HWRENDER
|
|
||||||
if (fastcmp(word, "LIGHTTYPE"))
|
if (fastcmp(word, "LIGHTTYPE"))
|
||||||
{
|
{
|
||||||
if (sprite2)
|
if (sprite2)
|
||||||
|
|
|
@ -729,6 +729,41 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch,
|
||||||
cur++; image++; blendimage++;
|
cur++; image++; blendimage++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (skinnum == TC_DASHMODE)
|
||||||
|
{
|
||||||
|
while (size--)
|
||||||
|
{
|
||||||
|
if (image->s.alpha == 0 && blendimage->s.alpha == 0)
|
||||||
|
{
|
||||||
|
// Don't bother with blending the pixel if the alpha of the blend pixel is 0
|
||||||
|
cur->rgba = image->rgba;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UINT8 ialpha = 255 - blendimage->s.alpha, balpha = blendimage->s.alpha;
|
||||||
|
RGBA_t icolor = *image, bcolor;
|
||||||
|
|
||||||
|
memset(&bcolor, 0x00, sizeof(RGBA_t));
|
||||||
|
|
||||||
|
if (blendimage->s.alpha)
|
||||||
|
{
|
||||||
|
bcolor.s.blue = 0;
|
||||||
|
bcolor.s.red = 255;
|
||||||
|
bcolor.s.green = (blendimage->s.red + blendimage->s.green + blendimage->s.blue) / 3;
|
||||||
|
}
|
||||||
|
if (image->s.alpha && image->s.red > image->s.green << 1) // this is pretty arbitrary, but it works well for Metal Sonic
|
||||||
|
{
|
||||||
|
icolor.s.red = image->s.blue;
|
||||||
|
icolor.s.blue = image->s.red;
|
||||||
|
}
|
||||||
|
cur->s.red = (ialpha * icolor.s.red + balpha * bcolor.s.red)/255;
|
||||||
|
cur->s.green = (ialpha * icolor.s.green + balpha * bcolor.s.green)/255;
|
||||||
|
cur->s.blue = (ialpha * icolor.s.blue + balpha * bcolor.s.blue)/255;
|
||||||
|
cur->s.alpha = image->s.alpha;
|
||||||
|
}
|
||||||
|
cur++; image++; blendimage++;
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
while (size--)
|
while (size--)
|
||||||
|
|
|
@ -639,7 +639,7 @@ INT32 P_AddLevelFlat(const char *flatname, levelflat_t *levelflat)
|
||||||
//
|
//
|
||||||
INT32 P_AddLevelFlatRuntime(const char *flatname)
|
INT32 P_AddLevelFlatRuntime(const char *flatname)
|
||||||
{
|
{
|
||||||
return Ploadflat(0, flatname);
|
return Ploadflat(levelflats, flatname);
|
||||||
}
|
}
|
||||||
|
|
||||||
// help function for $$$.sav checking
|
// help function for $$$.sav checking
|
||||||
|
|
Loading…
Reference in a new issue