mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'EOL-12' into EOL
This commit is contained in:
commit
cba6489fd7
13 changed files with 113 additions and 90 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
# GNU Make makefile for SRB2
|
# GNU Make makefile for SRB2
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Copyright (C) 1998-2000 by DooM Legacy Team.
|
# Copyright (C) 1998-2000 by DooM Legacy Team.
|
||||||
|
|
@ -357,7 +358,8 @@ endif
|
||||||
|
|
||||||
ifdef PROFILEMODE
|
ifdef PROFILEMODE
|
||||||
# build with profiling information
|
# build with profiling information
|
||||||
CFLAGS:=-pg $(CFLAGS)
|
CFLAGS+=-pg
|
||||||
|
LDFLAGS+=-pg
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef ZDEBUG
|
ifdef ZDEBUG
|
||||||
|
|
|
||||||
|
|
@ -395,8 +395,7 @@ static void ExtraDataTicker(void)
|
||||||
DEBFILE(va("player %d kicked [gametic=%u] reason as follows:\n", i, gametic));
|
DEBFILE(va("player %d kicked [gametic=%u] reason as follows:\n", i, gametic));
|
||||||
}
|
}
|
||||||
CONS_Alert(CONS_WARNING, M_GetText("Got unknown net command [%s]=%d (max %d)\n"), sizeu1(curpos - bufferstart), *curpos, bufferstart[0]);
|
CONS_Alert(CONS_WARNING, M_GetText("Got unknown net command [%s]=%d (max %d)\n"), sizeu1(curpos - bufferstart), *curpos, bufferstart[0]);
|
||||||
D_FreeTextcmd(gametic);
|
break;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3328,7 +3327,7 @@ void SV_StopServer(void)
|
||||||
localtextcmd[0] = 0;
|
localtextcmd[0] = 0;
|
||||||
localtextcmd2[0] = 0;
|
localtextcmd2[0] = 0;
|
||||||
|
|
||||||
for (i = 0; i < BACKUPTICS; i++)
|
for (i = firstticstosend; i < firstticstosend + BACKUPTICS; i++)
|
||||||
D_Clearticcmd(i);
|
D_Clearticcmd(i);
|
||||||
|
|
||||||
consoleplayer = 0;
|
consoleplayer = 0;
|
||||||
|
|
|
||||||
|
|
@ -1032,15 +1032,6 @@ void D_SRB2Main(void)
|
||||||
|
|
||||||
if (M_CheckParm("-password") && M_IsNextParm())
|
if (M_CheckParm("-password") && M_IsNextParm())
|
||||||
D_SetPassword(M_GetNextParm());
|
D_SetPassword(M_GetNextParm());
|
||||||
else
|
|
||||||
{
|
|
||||||
size_t z;
|
|
||||||
char junkpw[25];
|
|
||||||
for (z = 0; z < 24; z++)
|
|
||||||
junkpw[z] = (char)(rand() & 64)+32;
|
|
||||||
junkpw[24] = '\0';
|
|
||||||
D_SetPassword(junkpw);
|
|
||||||
}
|
|
||||||
|
|
||||||
// add any files specified on the command line with -file wadfile
|
// add any files specified on the command line with -file wadfile
|
||||||
// to the wad list
|
// to the wad list
|
||||||
|
|
|
||||||
|
|
@ -2724,10 +2724,12 @@ static void D_MD5PasswordPass(const UINT8 *buffer, size_t len, const char *salt,
|
||||||
|
|
||||||
#define BASESALT "basepasswordstorage"
|
#define BASESALT "basepasswordstorage"
|
||||||
static UINT8 adminpassmd5[16];
|
static UINT8 adminpassmd5[16];
|
||||||
|
static boolean adminpasswordset = false;
|
||||||
|
|
||||||
void D_SetPassword(const char *pw)
|
void D_SetPassword(const char *pw)
|
||||||
{
|
{
|
||||||
D_MD5PasswordPass((const UINT8 *)pw, strlen(pw), BASESALT, &adminpassmd5);
|
D_MD5PasswordPass((const UINT8 *)pw, strlen(pw), BASESALT, &adminpassmd5);
|
||||||
|
adminpasswordset = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remote Administration
|
// Remote Administration
|
||||||
|
|
@ -2796,6 +2798,12 @@ static void Got_Login(UINT8 **cp, INT32 playernum)
|
||||||
|
|
||||||
READMEM(*cp, sentmd5, 16);
|
READMEM(*cp, sentmd5, 16);
|
||||||
|
|
||||||
|
if (!adminpasswordset)
|
||||||
|
{
|
||||||
|
CONS_Printf(M_GetText("Password from %s failed (no password set).\n"), player_names[playernum]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (client)
|
if (client)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -987,7 +987,6 @@ static const char *credits[] = {
|
||||||
"\1Programming",
|
"\1Programming",
|
||||||
"Alam \"GBC\" Arias",
|
"Alam \"GBC\" Arias",
|
||||||
"Logan \"GBA\" Arias",
|
"Logan \"GBA\" Arias",
|
||||||
"Colette \"fickle\" Bordelon",
|
|
||||||
"Callum Dickinson",
|
"Callum Dickinson",
|
||||||
"Scott \"Graue\" Feeney",
|
"Scott \"Graue\" Feeney",
|
||||||
"Nathan \"Jazz\" Giroux",
|
"Nathan \"Jazz\" Giroux",
|
||||||
|
|
|
||||||
|
|
@ -2115,27 +2115,34 @@ static void HWR_StoreWallRange(double startfrac, double endfrac)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef ESLOPE // P.S. this is better-organized than the old version
|
fixed_t texturevpeg;
|
||||||
fixed_t offs = sides[(newline ? newline : rover->master)->sidenum[0]].rowoffset;
|
|
||||||
grTex = HWR_GetTexture(texnum);
|
|
||||||
|
|
||||||
wallVerts[3].t = (*rover->topheight - h + offs) * grTex->scaleY;
|
|
||||||
wallVerts[2].t = (*rover->topheight - hS + offs) * grTex->scaleY;
|
|
||||||
wallVerts[0].t = (*rover->topheight - l + offs) * grTex->scaleY;
|
|
||||||
wallVerts[1].t = (*rover->topheight - lS + offs) * grTex->scaleY;
|
|
||||||
#else
|
|
||||||
grTex = HWR_GetTexture(texnum);
|
|
||||||
|
|
||||||
|
// Wow, how was this missing from OpenGL for so long?
|
||||||
|
// ...Oh well, anyway, Lower Unpegged now changes pegging of FOFs like in software
|
||||||
|
// -- Monster Iestyn 26/06/18
|
||||||
if (newline)
|
if (newline)
|
||||||
{
|
{
|
||||||
wallVerts[3].t = wallVerts[2].t = (*rover->topheight - h + sides[newline->sidenum[0]].rowoffset) * grTex->scaleY;
|
texturevpeg = sides[newline->sidenum[0]].rowoffset;
|
||||||
wallVerts[0].t = wallVerts[1].t = (h - l + (*rover->topheight - h + sides[newline->sidenum[0]].rowoffset)) * grTex->scaleY;
|
if (newline->flags & ML_DONTPEGBOTTOM)
|
||||||
|
texturevpeg -= *rover->topheight - *rover->bottomheight;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wallVerts[3].t = wallVerts[2].t = (*rover->topheight - h + sides[rover->master->sidenum[0]].rowoffset) * grTex->scaleY;
|
texturevpeg = sides[rover->master->sidenum[0]].rowoffset;
|
||||||
wallVerts[0].t = wallVerts[1].t = (h - l + (*rover->topheight - h + sides[rover->master->sidenum[0]].rowoffset)) * grTex->scaleY;
|
if (gr_linedef->flags & ML_DONTPEGBOTTOM)
|
||||||
|
texturevpeg -= *rover->topheight - *rover->bottomheight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
grTex = HWR_GetTexture(texnum);
|
||||||
|
|
||||||
|
#ifdef ESLOPE
|
||||||
|
wallVerts[3].t = (*rover->topheight - h + texturevpeg) * grTex->scaleY;
|
||||||
|
wallVerts[2].t = (*rover->topheight - hS + texturevpeg) * grTex->scaleY;
|
||||||
|
wallVerts[0].t = (*rover->topheight - l + texturevpeg) * grTex->scaleY;
|
||||||
|
wallVerts[1].t = (*rover->topheight - lS + texturevpeg) * grTex->scaleY;
|
||||||
|
#else
|
||||||
|
wallVerts[3].t = wallVerts[2].t = (*rover->topheight - h + texturevpeg) * grTex->scaleY;
|
||||||
|
wallVerts[0].t = wallVerts[1].t = (*rover->topheight - l + texturevpeg) * grTex->scaleY;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wallVerts[0].s = wallVerts[3].s = cliplow * grTex->scaleX;
|
wallVerts[0].s = wallVerts[3].s = cliplow * grTex->scaleX;
|
||||||
|
|
@ -4072,7 +4079,7 @@ static void HWR_DrawSpriteShadow(gr_vissprite_t *spr, GLPatch_t *gpatch, float t
|
||||||
angle_t shadowdir;
|
angle_t shadowdir;
|
||||||
|
|
||||||
// Set direction
|
// Set direction
|
||||||
if (splitscreen && stplyr != &players[displayplayer])
|
if (splitscreen && stplyr == &players[secondarydisplayplayer])
|
||||||
shadowdir = localangle2 + FixedAngle(cv_cam2_rotate.value);
|
shadowdir = localangle2 + FixedAngle(cv_cam2_rotate.value);
|
||||||
else
|
else
|
||||||
shadowdir = localangle + FixedAngle(cv_cam_rotate.value);
|
shadowdir = localangle + FixedAngle(cv_cam_rotate.value);
|
||||||
|
|
@ -5480,7 +5487,10 @@ static void HWR_ProjectSprite(mobj_t *thing)
|
||||||
}
|
}
|
||||||
|
|
||||||
heightsec = thing->subsector->sector->heightsec;
|
heightsec = thing->subsector->sector->heightsec;
|
||||||
phs = players[displayplayer].mo->subsector->sector->heightsec;
|
if (viewplayer->mo && viewplayer->mo->subsector)
|
||||||
|
phs = viewplayer->mo->subsector->sector->heightsec;
|
||||||
|
else
|
||||||
|
phs = -1;
|
||||||
|
|
||||||
if (heightsec != -1 && phs != -1) // only clip things which are in special sectors
|
if (heightsec != -1 && phs != -1) // only clip things which are in special sectors
|
||||||
{
|
{
|
||||||
|
|
|
||||||
100
src/info.c
100
src/info.c
|
|
@ -3435,7 +3435,7 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_CACO, 2, 5, {A_JetChase}, 0, 0, S_CACO_CHASE_REPEAT}, // S_CACO_CHASE
|
{SPR_CACO, 2, 5, {A_JetChase}, 0, 0, S_CACO_CHASE_REPEAT}, // S_CACO_CHASE
|
||||||
{SPR_CACO, 2, 0, {A_Repeat}, 5, S_CACO_CHASE, S_CACO_RANDOM}, // S_CACO_CHASE_REPEAT
|
{SPR_CACO, 2, 0, {A_Repeat}, 5, S_CACO_CHASE, S_CACO_RANDOM}, // S_CACO_CHASE_REPEAT
|
||||||
{SPR_CACO, 2, 0, {A_RandomState}, S_CACO_PREPARE_SOUND, S_CACO_CHASE, S_CACO_RANDOM}, // S_CACO_RANDOM
|
{SPR_CACO, 2, 0, {A_RandomState}, S_CACO_PREPARE_SOUND, S_CACO_CHASE, S_CACO_RANDOM}, // S_CACO_RANDOM
|
||||||
{SPR_CACO, 2, 8, {A_PlaySound}, sfx_s3k95, 0, S_CACO_PREPARE1}, // S_CACO_PREPARE_SOUND
|
{SPR_CACO, 2, 8, {A_PlaySound}, sfx_s3k95, 1, S_CACO_PREPARE1}, // S_CACO_PREPARE_SOUND
|
||||||
{SPR_CACO, 3, 8, {NULL}, 0, 0, S_CACO_PREPARE2}, // S_CACO_PREPARE1
|
{SPR_CACO, 3, 8, {NULL}, 0, 0, S_CACO_PREPARE2}, // S_CACO_PREPARE1
|
||||||
{SPR_CACO, 4|FF_FULLBRIGHT, 8, {NULL}, 0, 0, S_CACO_PREPARE3}, // S_CACO_PREPARE2
|
{SPR_CACO, 4|FF_FULLBRIGHT, 8, {NULL}, 0, 0, S_CACO_PREPARE3}, // S_CACO_PREPARE2
|
||||||
{SPR_CACO, 5|FF_FULLBRIGHT, 8, {NULL}, 0, 0, S_CACO_SHOOT_SOUND}, // S_CACO_PREPARE3
|
{SPR_CACO, 5|FF_FULLBRIGHT, 8, {NULL}, 0, 0, S_CACO_SHOOT_SOUND}, // S_CACO_PREPARE3
|
||||||
|
|
@ -4049,7 +4049,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CRUSHSTACEAN
|
{ // MT_CRUSHSTACEAN
|
||||||
610, //126, // doomednum
|
126, // doomednum
|
||||||
S_CRUSHSTACEAN_ROAM1, // spawnstate
|
S_CRUSHSTACEAN_ROAM1, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -6825,7 +6825,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_BIGMINE
|
{ // MT_BIGMINE
|
||||||
524, // doomednum
|
1012, // doomednum
|
||||||
S_BIGMINE_IDLE, // spawnstate
|
S_BIGMINE_IDLE, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_BIGMINE_ALERT1, // seestate
|
S_BIGMINE_ALERT1, // seestate
|
||||||
|
|
@ -6852,7 +6852,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_BLASTEXECUTOR
|
{ // MT_BLASTEXECUTOR
|
||||||
1505, // doomednum
|
756, // doomednum
|
||||||
S_INVISIBLE, // spawnstate
|
S_INVISIBLE, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -6879,7 +6879,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CANNONLAUNCHER
|
{ // MT_CANNONLAUNCHER
|
||||||
525, // doomednum
|
1123, // doomednum
|
||||||
S_CANNONLAUNCHER1, // spawnstate
|
S_CANNONLAUNCHER1, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -8634,7 +8634,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CANNONBALLDECOR
|
{ // MT_CANNONBALLDECOR
|
||||||
526, // doomednum
|
1124, // doomednum
|
||||||
S_CANNONBALL1, // spawnstate
|
S_CANNONBALL1, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -8958,7 +8958,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CHECKERTREE
|
{ // MT_CHECKERTREE
|
||||||
810, // doomednum
|
809, // doomednum
|
||||||
S_CHECKERTREE, // spawnstate
|
S_CHECKERTREE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -8985,7 +8985,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CHECKERSUNSETTREE
|
{ // MT_CHECKERSUNSETTREE
|
||||||
811, // doomednum
|
810, // doomednum
|
||||||
S_CHECKERSUNSETTREE, // spawnstate
|
S_CHECKERSUNSETTREE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -9012,7 +9012,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FHZTREE
|
{ // MT_FHZTREE
|
||||||
812, // doomednum
|
2102, // doomednum
|
||||||
S_FHZTREE, // spawnstate
|
S_FHZTREE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -9039,7 +9039,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FHZPINKTREE
|
{ // MT_FHZPINKTREE
|
||||||
813, // doomednum
|
2103, // doomednum
|
||||||
S_FHZPINKTREE, // spawnstate
|
S_FHZPINKTREE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -9066,7 +9066,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_POLYGONTREE
|
{ // MT_POLYGONTREE
|
||||||
814, // doomednum
|
811, // doomednum
|
||||||
S_POLYGONTREE, // spawnstate
|
S_POLYGONTREE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -9093,7 +9093,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_BUSHTREE
|
{ // MT_BUSHTREE
|
||||||
815, // doomednum
|
812, // doomednum
|
||||||
S_BUSHTREE, // spawnstate
|
S_BUSHTREE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -9120,7 +9120,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_BUSHREDTREE
|
{ // MT_BUSHREDTREE
|
||||||
816, // doomednum
|
813, // doomednum
|
||||||
S_BUSHREDTREE, // spawnstate
|
S_BUSHREDTREE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -9633,7 +9633,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_DSZ2STALAGMITE
|
{ // MT_DSZ2STALAGMITE
|
||||||
999, // doomednum
|
1011, // doomednum
|
||||||
S_DSZ2STALAGMITE, // spawnstate
|
S_DSZ2STALAGMITE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -9957,7 +9957,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CUSTOMMACEPOINT
|
{ // MT_CUSTOMMACEPOINT
|
||||||
1111, // doomednum
|
1110, // doomednum
|
||||||
S_INVISIBLE, // spawnstate
|
S_INVISIBLE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10281,7 +10281,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CEZPOLE
|
{ // MT_CEZPOLE
|
||||||
1113, // doomednum
|
1117, // doomednum
|
||||||
S_CEZPOLE, // spawnstate
|
S_CEZPOLE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10335,7 +10335,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_PINETREE
|
{ // MT_PINETREE
|
||||||
1041, // doomednum
|
1114, // doomednum
|
||||||
S_PINETREE, // spawnstate
|
S_PINETREE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10362,7 +10362,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CEZBUSH1
|
{ // MT_CEZBUSH1
|
||||||
1042, // doomednum
|
1115, // doomednum
|
||||||
S_CEZBUSH1, // spawnstate
|
S_CEZBUSH1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10389,7 +10389,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CEZBUSH2
|
{ // MT_CEZBUSH2
|
||||||
1043, // doomednum
|
1116, // doomednum
|
||||||
S_CEZBUSH2, // spawnstate
|
S_CEZBUSH2, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10416,7 +10416,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CANDLE
|
{ // MT_CANDLE
|
||||||
3330, // doomednum
|
1119, // doomednum
|
||||||
S_CANDLE, // spawnstate
|
S_CANDLE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10443,7 +10443,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CANDLEPRICKET
|
{ // MT_CANDLEPRICKET
|
||||||
3332, // doomednum
|
1120, // doomednum
|
||||||
S_CANDLEPRICKET, // spawnstate
|
S_CANDLEPRICKET, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10470,7 +10470,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FLAMEHOLDER
|
{ // MT_FLAMEHOLDER
|
||||||
3335, // doomednum
|
1121, // doomednum
|
||||||
S_FLAMEHOLDER, // spawnstate
|
S_FLAMEHOLDER, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10497,7 +10497,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FIRETORCH
|
{ // MT_FIRETORCH
|
||||||
3336, // doomednum
|
1122, // doomednum
|
||||||
S_FIRETORCH, // spawnstate
|
S_FIRETORCH, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10524,7 +10524,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_WAVINGFLAG
|
{ // MT_WAVINGFLAG
|
||||||
1329, // doomednum
|
1118, // doomednum
|
||||||
S_WAVINGFLAG, // spawnstate
|
S_WAVINGFLAG, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10578,7 +10578,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CRAWLASTATUE
|
{ // MT_CRAWLASTATUE
|
||||||
1120, // doomednum
|
1111, // doomednum
|
||||||
S_CRAWLASTATUE, // spawnstate
|
S_CRAWLASTATUE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10605,7 +10605,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FACESTABBERSTATUE
|
{ // MT_FACESTABBERSTATUE
|
||||||
1331, // doomednum
|
1112, // doomednum
|
||||||
S_FACESTABBERSTATUE, // spawnstate
|
S_FACESTABBERSTATUE, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10632,7 +10632,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_SUSPICIOUSFACESTABBERSTATUE
|
{ // MT_SUSPICIOUSFACESTABBERSTATUE
|
||||||
1332, // doomednum
|
1113, // doomednum
|
||||||
S_SUSPICIOUSFACESTABBERSTATUE_WAIT, // spawnstate
|
S_SUSPICIOUSFACESTABBERSTATUE_WAIT, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_SUSPICIOUSFACESTABBERSTATUE_BURST1, // seestate
|
S_SUSPICIOUSFACESTABBERSTATUE_BURST1, // seestate
|
||||||
|
|
@ -10902,7 +10902,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FJSPINAXISA
|
{ // MT_FJSPINAXISA
|
||||||
3575, // doomednum
|
1302, // doomednum
|
||||||
S_FJSPINAXISA1, // spawnstate
|
S_FJSPINAXISA1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -10929,7 +10929,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FJSPINAXISB
|
{ // MT_FJSPINAXISB
|
||||||
3576, // doomednum
|
1303, // doomednum
|
||||||
S_FJSPINAXISB1, // spawnstate
|
S_FJSPINAXISB1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11658,7 +11658,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FHZICE1
|
{ // MT_FHZICE1
|
||||||
4028, // doomednum
|
2100, // doomednum
|
||||||
S_FHZICE1, // spawnstate
|
S_FHZICE1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11685,7 +11685,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_FHZICE2
|
{ // MT_FHZICE2
|
||||||
4029, // doomednum
|
2101, // doomednum
|
||||||
S_FHZICE2, // spawnstate
|
S_FHZICE2, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11712,7 +11712,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_JACKO1
|
{ // MT_JACKO1
|
||||||
3520, // doomednum
|
2006, // doomednum
|
||||||
S_JACKO1, // spawnstate
|
S_JACKO1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11739,7 +11739,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_JACKO2
|
{ // MT_JACKO2
|
||||||
3521, // doomednum
|
2007, // doomednum
|
||||||
S_JACKO2, // spawnstate
|
S_JACKO2, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11766,7 +11766,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_JACKO3
|
{ // MT_JACKO3
|
||||||
3522, // doomednum
|
2008, // doomednum
|
||||||
S_JACKO3, // spawnstate
|
S_JACKO3, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11793,7 +11793,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HHZTREE_TOP
|
{ // MT_HHZTREE_TOP
|
||||||
3540, // doomednum
|
2010, // doomednum
|
||||||
S_HHZTREE_TOP, // spawnstate
|
S_HHZTREE_TOP, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11847,7 +11847,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HHZSHROOM
|
{ // MT_HHZSHROOM
|
||||||
3530, // doomednum
|
2009, // doomednum
|
||||||
S_HHZSHROOM_1, // spawnstate
|
S_HHZSHROOM_1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11874,7 +11874,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HHZGRASS
|
{ // MT_HHZGRASS
|
||||||
3513, // doomednum
|
2001, // doomednum
|
||||||
S_HHZGRASS, // spawnstate
|
S_HHZGRASS, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11901,7 +11901,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HHZTENTACLE1
|
{ // MT_HHZTENTACLE1
|
||||||
3515, // doomednum
|
2002, // doomednum
|
||||||
S_HHZTENT1, // spawnstate
|
S_HHZTENT1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11928,7 +11928,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HHZTENTACLE2
|
{ // MT_HHZTENTACLE2
|
||||||
3516, // doomednum
|
2003, // doomednum
|
||||||
S_HHZTENT2, // spawnstate
|
S_HHZTENT2, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11955,7 +11955,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HHZSTALAGMITE_TALL
|
{ // MT_HHZSTALAGMITE_TALL
|
||||||
3517, // doomednum
|
2004, // doomednum
|
||||||
S_HHZSTALAGMITE_TALL, // spawnstate
|
S_HHZSTALAGMITE_TALL, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -11982,7 +11982,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HHZSTALAGMITE_SHORT
|
{ // MT_HHZSTALAGMITE_SHORT
|
||||||
3518, // doomednum
|
2005, // doomednum
|
||||||
S_HHZSTALAGMITE_SHORT, // spawnstate
|
S_HHZSTALAGMITE_SHORT, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -14964,7 +14964,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_MACHINEAMBIENCE
|
{ // MT_MACHINEAMBIENCE
|
||||||
3405, // doomednum
|
710, // doomednum
|
||||||
S_INVISIBLE, // spawnstate
|
S_INVISIBLE, // spawnstate
|
||||||
24, // spawnhealth: repeat speed
|
24, // spawnhealth: repeat speed
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -16612,7 +16612,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_PENGUINATOR
|
{ // MT_PENGUINATOR
|
||||||
2017, // doomednum
|
129, // doomednum
|
||||||
S_PENGUINATOR_LOOK, // spawnstate
|
S_PENGUINATOR_LOOK, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_PENGUINATOR_WADDLE1, // seestate
|
S_PENGUINATOR_WADDLE1, // seestate
|
||||||
|
|
@ -16639,7 +16639,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_POPHAT
|
{ // MT_POPHAT
|
||||||
2018, // doomednum -- happy anniversary!
|
130, // doomednum -- happy anniversary!
|
||||||
S_POPHAT_LOOK, // spawnstate
|
S_POPHAT_LOOK, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_POPHAT_SHOOT1, // seestate
|
S_POPHAT_SHOOT1, // seestate
|
||||||
|
|
@ -16693,7 +16693,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HIVEELEMENTAL
|
{ // MT_HIVEELEMENTAL
|
||||||
3190, // doomednum
|
127, // doomednum
|
||||||
S_HIVEELEMENTAL_LOOK, // spawnstate
|
S_HIVEELEMENTAL_LOOK, // spawnstate
|
||||||
2, // spawnhealth
|
2, // spawnhealth
|
||||||
S_HIVEELEMENTAL_PREPARE1, // seestate
|
S_HIVEELEMENTAL_PREPARE1, // seestate
|
||||||
|
|
@ -16720,7 +16720,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_BUMBLEBORE
|
{ // MT_BUMBLEBORE
|
||||||
3191, // doomednum
|
128, // doomednum
|
||||||
S_BUMBLEBORE_SPAWN, // spawnstate
|
S_BUMBLEBORE_SPAWN, // spawnstate
|
||||||
0, // spawnhealth -- this is how you do drones...
|
0, // spawnhealth -- this is how you do drones...
|
||||||
S_BUMBLEBORE_FLY1, // seestate
|
S_BUMBLEBORE_FLY1, // seestate
|
||||||
|
|
@ -16774,7 +16774,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_SMASHINGSPIKEBALL
|
{ // MT_SMASHINGSPIKEBALL
|
||||||
3001, // doomednum
|
2000, // doomednum
|
||||||
S_SMASHSPIKE_FLOAT, // spawnstate
|
S_SMASHSPIKE_FLOAT, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -16801,7 +16801,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_CACOLANTERN
|
{ // MT_CACOLANTERN
|
||||||
3102, // doomednum
|
132, // doomednum
|
||||||
S_CACO_LOOK, // spawnstate
|
S_CACO_LOOK, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_CACO_WAKE1, // seestate
|
S_CACO_WAKE1, // seestate
|
||||||
|
|
@ -16882,7 +16882,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_SPINBOBERT
|
{ // MT_SPINBOBERT
|
||||||
3100, // doomednum
|
131, // doomednum
|
||||||
S_SPINBOBERT_MOVE_FLIPUP, // spawnstate
|
S_SPINBOBERT_MOVE_FLIPUP, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
@ -16963,7 +16963,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_HANGSTER
|
{ // MT_HANGSTER
|
||||||
3195, // doomednum
|
133, // doomednum
|
||||||
S_HANGSTER_LOOK, // spawnstate
|
S_HANGSTER_LOOK, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_HANGSTER_SWOOP1, // seestate
|
S_HANGSTER_SWOOP1, // seestate
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,9 @@ void Got_Luacmd(UINT8 **cp, INT32 playernum)
|
||||||
|
|
||||||
deny:
|
deny:
|
||||||
//must be hacked/buggy client
|
//must be hacked/buggy client
|
||||||
lua_settop(gL, 0); // clear stack
|
if (gL) // check if Lua is actually turned on first, you dummmy -- Monster Iestyn 04/07/18
|
||||||
|
lua_settop(gL, 0); // clear stack
|
||||||
|
|
||||||
CONS_Alert(CONS_WARNING, M_GetText("Illegal lua command received from %s\n"), player_names[playernum]);
|
CONS_Alert(CONS_WARNING, M_GetText("Illegal lua command received from %s\n"), player_names[playernum]);
|
||||||
if (server)
|
if (server)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -8840,7 +8840,7 @@ static void M_HandleSetupMultiPlayer(INT32 choice)
|
||||||
break;
|
break;
|
||||||
S_StartSound(NULL,sfx_menu1); // Tails
|
S_StartSound(NULL,sfx_menu1); // Tails
|
||||||
l = strlen(setupm_name);
|
l = strlen(setupm_name);
|
||||||
if (l < MAXPLAYERNAME-1)
|
if (l < MAXPLAYERNAME)
|
||||||
{
|
{
|
||||||
setupm_name[l] = (char)choice;
|
setupm_name[l] = (char)choice;
|
||||||
setupm_name[l+1] = 0;
|
setupm_name[l+1] = 0;
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,9 @@ typedef off_t off64_t;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (_WIN32)
|
#if defined(__MINGW32__) && ((__GNUC__ > 7) || (__GNUC__ == 6 && __GNUC_MINOR__ >= 3))
|
||||||
|
#define PRIdS "u"
|
||||||
|
#elif defined (_WIN32)
|
||||||
#define PRIdS "Iu"
|
#define PRIdS "Iu"
|
||||||
#elif defined (DJGPP)
|
#elif defined (DJGPP)
|
||||||
#define PRIdS "u"
|
#define PRIdS "u"
|
||||||
|
|
|
||||||
|
|
@ -10884,9 +10884,14 @@ void P_InternalFlickyFly(mobj_t *actor, fixed_t flyspeed, fixed_t targetdist, fi
|
||||||
if (actor->target && abs(chasez - actor->z) > targetdist)
|
if (actor->target && abs(chasez - actor->z) > targetdist)
|
||||||
targetdist = P_AproxDistance(actor->target->x - actor->x, actor->target->y - actor->y);
|
targetdist = P_AproxDistance(actor->target->x - actor->x, actor->target->y - actor->y);
|
||||||
|
|
||||||
vertangle = (R_PointToAngle2(0, actor->z, targetdist, chasez) >> ANGLETOFINESHIFT) & FINEMASK;
|
if (actor->spawnpoint && (actor->spawnpoint->options & MTF_AMBUSH))
|
||||||
P_InstaThrust(actor, actor->angle, FixedMul(FINECOSINE(vertangle), flyspeed));
|
actor->momz = 0;
|
||||||
actor->momz = FixedMul(FINESINE(vertangle), flyspeed);
|
else
|
||||||
|
{
|
||||||
|
vertangle = (R_PointToAngle2(0, actor->z, targetdist, chasez) >> ANGLETOFINESHIFT) & FINEMASK;
|
||||||
|
P_InstaThrust(actor, actor->angle, FixedMul(FINECOSINE(vertangle), flyspeed));
|
||||||
|
actor->momz = FixedMul(FINESINE(vertangle), flyspeed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function: A_FlickyFly
|
// Function: A_FlickyFly
|
||||||
|
|
|
||||||
|
|
@ -388,6 +388,7 @@ typedef struct precipmobj_s
|
||||||
angle_t angle; // orientation
|
angle_t angle; // orientation
|
||||||
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
|
||||||
UINT16 anim_duration; // for FF_ANIMATE states
|
UINT16 anim_duration; // for FF_ANIMATE states
|
||||||
|
|
||||||
struct mprecipsecnode_s *touching_sectorlist; // a linked list of sectors where this object appears
|
struct mprecipsecnode_s *touching_sectorlist; // a linked list of sectors where this object appears
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,7 @@ static boolean midimode;
|
||||||
static Mix_Music *music;
|
static Mix_Music *music;
|
||||||
static UINT8 music_volume, midi_volume, sfx_volume;
|
static UINT8 music_volume, midi_volume, sfx_volume;
|
||||||
static float loop_point;
|
static float loop_point;
|
||||||
|
static boolean songpaused;
|
||||||
|
|
||||||
#ifdef HAVE_LIBGME
|
#ifdef HAVE_LIBGME
|
||||||
static Music_Emu *gme;
|
static Music_Emu *gme;
|
||||||
|
|
@ -102,6 +103,7 @@ void I_StartupSound(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
sound_started = true;
|
sound_started = true;
|
||||||
|
songpaused = false;
|
||||||
Mix_AllocateChannels(256);
|
Mix_AllocateChannels(256);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -450,7 +452,7 @@ static void mix_gme(void *udata, Uint8 *stream, int len)
|
||||||
(void)udata;
|
(void)udata;
|
||||||
|
|
||||||
// no gme? no music.
|
// no gme? no music.
|
||||||
if (!gme || gme_track_ended(gme))
|
if (!gme || gme_track_ended(gme) || songpaused)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// play gme into stream
|
// play gme into stream
|
||||||
|
|
@ -458,7 +460,7 @@ static void mix_gme(void *udata, Uint8 *stream, int len)
|
||||||
|
|
||||||
// apply volume to stream
|
// apply volume to stream
|
||||||
for (i = 0, p = (short *)stream; i < len/2; i++, p++)
|
for (i = 0, p = (short *)stream; i < len/2; i++, p++)
|
||||||
*p = ((INT32)*p) * music_volume / 31;
|
*p = ((INT32)*p) * music_volume*2 / 42;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -476,12 +478,14 @@ void I_PauseSong(INT32 handle)
|
||||||
{
|
{
|
||||||
(void)handle;
|
(void)handle;
|
||||||
Mix_PauseMusic();
|
Mix_PauseMusic();
|
||||||
|
songpaused = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void I_ResumeSong(INT32 handle)
|
void I_ResumeSong(INT32 handle)
|
||||||
{
|
{
|
||||||
(void)handle;
|
(void)handle;
|
||||||
Mix_ResumeMusic();
|
Mix_ResumeMusic();
|
||||||
|
songpaused = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue