- ZDoom now loads zdoom.pk3 instead of zdoom.wad.

- Fixed: StreamSong::SetVolume should check the m_stream pointer. This can
  happen when a TimiditySong doesn't use FMOD and outputs the sound itself.
- Fixed: 'use' sector actions were using the incorrect sector on several 
  occasions.
- Added a wi_noautostartmap CVAR and a noautostartmap intermission option
  that force the user to manually end the 'entering level' page.


SVN r70 (trunk)
This commit is contained in:
Christoph Oelckers 2006-04-29 12:40:09 +00:00
commit eff7c898cf
16 changed files with 198 additions and 162 deletions

View file

@ -1921,14 +1921,14 @@ void D_DoomMain (void)
M_FindResponseFile ();
M_LoadDefaults (); // load before initing other systems
// [RH] Make sure zdoom.wad is always loaded,
// [RH] Make sure zdoom.pk3 is always loaded,
// as it contains magic stuff we need.
wad = BaseFileSearch ("zdoom.wad", NULL, true);
wad = BaseFileSearch ("zdoom.pk3", NULL, true);
if (wad)
D_AddFile (wad);
else
I_FatalError ("Cannot find zdoom.wad");
I_FatalError ("Cannot find zdoom.pk3");
I_SetTitleString (IWADTypeNames[IdentifyVersion ()]);
GameConfig->DoGameSetup (GameNames[gameinfo.gametype]);

View file

@ -11,6 +11,7 @@
#include "p_effect.h"
#include "gi.h"
#include "templates.h"
#include "thingdef.h"
static FRandom pr_punch ("Punch");
static FRandom pr_saw ("Saw");
@ -1337,7 +1338,6 @@ void A_FireBFG (AActor *actor)
player->userinfo.aimdist = storedaimdist;
}
int EvalExpressionI (int id, AActor *self);
//
// A_BFGSpray
// Spawn a BFG explosion on every monster in view

View file

@ -2243,7 +2243,7 @@ bool P_CheckSlopeWalk (AActor *actor, fixed_t &xmove, fixed_t &ymove)
{
// this additional check prevents sliding on sloped dropoffs
if (planezhere>actor->floorz+4*FRACUNIT)
return false;
return false;
}
if (actor->z - planezhere > FRACUNIT)
@ -3186,10 +3186,26 @@ blocked:
(in->d.line->special != 0 && (compatflags & COMPATF_USEBLOCKING)))
{
// [RH] Give sector a chance to intercept the use
sector_t *sec = in->d.line->frontsector;
if ((!sec->SecActTarget ||
!sec->SecActTarget->TriggerAction (usething, SECSPAC_Use|SECSPAC_UseWall))
&& usething->player)
sector_t * sec;
sec = usething->Sector;
if (sec->SecActTarget && sec->SecActTarget->TriggerAction (usething, SECSPAC_Use))
{
return false;
}
sec = P_PointOnLineSide(usething->x, usething->y, in->d.line) == 0?
in->d.line->frontsector : in->d.line->backsector;
if (sec != NULL && sec->SecActTarget &&
sec->SecActTarget->TriggerAction (usething, SECSPAC_UseWall))
{
return false;
}
if (usething->player)
{
S_Sound (usething, CHAN_VOICE, "*usefail", 1, ATTN_IDLE);
}
@ -3202,7 +3218,7 @@ blocked:
if (P_PointOnLineSide (usething->x, usething->y, in->d.line) == 1)
// [RH] continue traversal for two-sided lines
//return in->d.line->backsector != NULL; // don't use back side
goto blocked; // do a proper check for back sides of triggers!
goto blocked; // do a proper check for back sides of triggers
P_ActivateLine (in->d.line, usething, 0, SPAC_USE);

View file

@ -1477,7 +1477,7 @@ void P_LoadLineDefs (int lump)
P_AdjustLine (ld);
P_SaveLineSpecial (ld);
if (level.flags&LEVEL_CLIPMIDTEX) ld.flags|=ML_CLIP_MIDTEX;
if (level.flags&LEVEL_CLIPMIDTEX) ld->flags|=ML_CLIP_MIDTEX;
}
}
@ -1548,7 +1548,7 @@ void P_LoadLineDefs2 (int lump)
P_AdjustLine (ld);
P_SaveLineSpecial (ld);
if (level.flags&LEVEL_CLIPMIDTEX) ld.flags|=ML_CLIP_MIDTEX;
if (level.flags&LEVEL_CLIPMIDTEX) ld->flags|=ML_CLIP_MIDTEX;
}
}

View file

@ -147,7 +147,7 @@ int main (int argc, char **argv)
}
atterm (SDL_Quit);
SDL_WM_SetCaption ("ZDOOM " DOTVERSIONSTR " (" __DATE__ ")", NULL);
SDL_WM_SetCaption (GAMESIG " " DOTVERSIONSTR " (" __DATE__ ")", NULL);
try
{

View file

@ -2,7 +2,7 @@
void StreamSong::SetVolume (float volume)
{
m_Stream->SetVolume (volume);
if (m_Stream!=NULL) m_Stream->SetVolume (volume);
}
void StreamSong::Play (bool looping)

View file

@ -57,6 +57,7 @@ typedef enum
CVAR (Bool, wi_percents, true, CVAR_ARCHIVE)
CVAR (Bool, wi_showtotaltime, true, CVAR_ARCHIVE)
CVAR (Bool, wi_noautostartmap, false, CVAR_ARCHIVE)
void WI_loadData ();
@ -200,6 +201,7 @@ static int cnt_time;
static int cnt_total_time;
static int cnt_par;
static int cnt_pause;
static bool noautostartmap;
//
// GRAPHICS
@ -262,7 +264,9 @@ static const char *WI_Cmd[]={
"Animation",
"Pic",
"NoAutostartMap",
NULL
};
@ -482,6 +486,10 @@ void WI_LoadBackground(bool isenterpic)
SC_MustGetString();
caseval=SC_MustMatchString(WI_Cmd);
case 14: // NoAutostartMap
noautostartmap=true;
break;
default:
switch (caseval)
{
@ -1052,7 +1060,11 @@ void WI_updateNoState ()
{
WI_updateAnimatedBack();
if (!--cnt)
if (!wi_noautostartmap && !noautostartmap) cnt--;
if (acceleratestage) cnt=0;
if (cnt==0)
{
WI_End();
G_WorldDone();
@ -2070,6 +2082,7 @@ void WI_initVariables (wbstartstruct_t *wbstartstruct)
void WI_Start (wbstartstruct_t *wbstartstruct)
{
noautostartmap = false;
V_SetBlend (0,0,0,0);
WI_initVariables (wbstartstruct);
WI_loadData ();

View file

@ -308,7 +308,7 @@ void DoMain (HINSTANCE hInstance)
/* create window */
Window = CreateWindow((LPCTSTR)WinClassName,
(LPCTSTR) "ZDOOM " DOTVERSIONSTR " (" __DATE__ ")",
(LPCTSTR) GAMESIG " " DOTVERSIONSTR " (" __DATE__ ")",
WS_OVERLAPPEDWINDOW,
0/*CW_USEDEFAULT*/, 1/*CW_USEDEFAULT*/, width, height,
(HWND) NULL,