diff --git a/docs/rh-log.txt b/docs/rh-log.txt index b64df9b92..4d46b6090 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,9 @@ +May 9, 2006 (Changes by Graf Zahl) +- Fixed: If you want to use a name as the missile parameter for the basic + attack functions the type search in DoAttack must be case insensitive. +- Fixed: APowerup::DoEffect must do more thorough checks before resetting + the fixed colormap. + May 8, 2006 - Fixed: The names in the Depths array in m_options.cpp were never freed. - Fixed: FDoomEdMap needed a destructor. diff --git a/src/g_shared/a_artifacts.cpp b/src/g_shared/a_artifacts.cpp index 3f4721834..9019a49d3 100644 --- a/src/g_shared/a_artifacts.cpp +++ b/src/g_shared/a_artifacts.cpp @@ -98,7 +98,11 @@ void APowerup::Tick () if (BlendColor == INVERSECOLOR) Owner->player->fixedcolormap = INVERSECOLORMAP; else if (BlendColor == GOLDCOLOR) Owner->player->fixedcolormap = GOLDCOLORMAP; } - else Owner->player->fixedcolormap = 0; + else if ((BlendColor == INVERSECOLOR && Owner->player->fixedcolormap == INVERSECOLORMAP) || + (BlendColor == GOLDCOLOR && Owner->player->fixedcolormap == GOLDCOLORMAP)) + { + Owner->player->fixedcolormap = 0; + } if (--EffectTics == 0) { diff --git a/src/r_data.cpp b/src/r_data.cpp index b285ec1a4..60eaf9370 100644 --- a/src/r_data.cpp +++ b/src/r_data.cpp @@ -1158,6 +1158,7 @@ void FPatchTexture::GetDimensions () if (dummy.width <= 0 || dummy.height <= 0 || dummy.width > 2048 || dummy.height > 2048) { + delete lump; lump = Wads.ReopenLumpNum ( Wads.GetNumForName("-BADPATC") ); (*lump) >> dummy.width >> dummy.height; } diff --git a/src/sound/i_music.cpp b/src/sound/i_music.cpp index 42a54320e..66472fcc2 100644 --- a/src/sound/i_music.cpp +++ b/src/sound/i_music.cpp @@ -307,9 +307,7 @@ void *I_RegisterSong (const char *filename, char * musiccache, int offset, int l memcpy(header, musiccache, 0x23); } - if (strncmp (header+4, "-SPC700 Sound File Data", 23) == 0 && - header[0x21] == '\x1a' && - header[0x22] == '\x1a') + if (strncmp (header+4, "-SPC700 Sound File Data", 23) == 0) { info = new SPCSong (file, musiccache, len); } diff --git a/src/thingdef.cpp b/src/thingdef.cpp index 25831cf47..b1057f789 100644 --- a/src/thingdef.cpp +++ b/src/thingdef.cpp @@ -2076,8 +2076,13 @@ void ParseActorProperties (Baggage &bag) const ActorProps *prop; ChkBraceOpn (); - while (!TestBraceCls() && !sc_End) + while (!TestBraceCls()) { + if (sc_End) + { + SC_ScriptError("Unexpected end of file encountered"); + } + SC_GetString (); strlwr (sc_String); diff --git a/src/thingdef_codeptr.cpp b/src/thingdef_codeptr.cpp index 746487297..9ed1084ba 100644 --- a/src/thingdef_codeptr.cpp +++ b/src/thingdef_codeptr.cpp @@ -204,7 +204,7 @@ static void DoAttack (AActor *self, bool domelee, bool domissile) } else if (domissile && MissileName != NAME_None) { - const TypeInfo * ti=TypeInfo::FindType(MissileName); + const TypeInfo * ti=TypeInfo::IFindType(MissileName); if (ti) { // Although there is a P_SpawnMissileZ function its