diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 8a57ef303..d34caf346 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,4 +1,9 @@ -March 10, 2009 +March 11, 2009 (Changes by Graf Zahl) +- Added a Check for the Vavoom namespace to the UDMF parser. Functionally + it's 100% identical with ZDoom's own but needs to be checked for in + case Vavoom compatible UDMF maps are released. + +March 10, 2009 - Added an SDL output plugin, so FMOD can produce sound using SDL's audio support instead of its own OSS/ALSA/ESD support. This is selectable by setting snd_output to "sdl". @@ -17,6 +22,7 @@ March 7, 2009 forces a write of the zip, even if it's newer than all the files it contains. March 7, 2009 (Changes by Graf Zahl) +- Fixed: P_CompleteWeaponSetup was missing a NULL pointer check for the player. - Adjusted some gravity related thresholds for the fix from Feb 28. Also removed some unnecessary floating point math from this code. diff --git a/src/c_cmds.cpp b/src/c_cmds.cpp index 6e5a32471..15c918d33 100644 --- a/src/c_cmds.cpp +++ b/src/c_cmds.cpp @@ -73,7 +73,7 @@ extern FILE *Logfile; extern bool insave; CVAR (Bool, sv_cheats, false, CVAR_SERVERINFO | CVAR_LATCH) -CVAR (Bool, sv_unlimited_pickup, false, CVAR_ARCHIVE | CVAR_SERVERINFO) +CVAR (Bool, sv_unlimited_pickup, false, CVAR_SERVERINFO) CCMD (toggleconsole) { diff --git a/src/namedef.h b/src/namedef.h index 2506aae25..c37a0778c 100644 --- a/src/namedef.h +++ b/src/namedef.h @@ -375,6 +375,7 @@ xx(Monsterpush) xx(ZDoom) xx(ZDoomTranslated) +xx(Vavoom) xx(Xpanningfloor) xx(Ypanningfloor) diff --git a/src/p_udmf.cpp b/src/p_udmf.cpp index ccb9b4f89..1e5403392 100644 --- a/src/p_udmf.cpp +++ b/src/p_udmf.cpp @@ -104,6 +104,7 @@ enum St=8, Zd=16, Zdt=32, + Va=64, // will be extended later. Unknown namespaces will always be treated like the base // namespace for each game @@ -274,7 +275,7 @@ struct UDMFParser break; case NAME_Special: - CHECK_N(Hx | Zd | Zdt) + CHECK_N(Hx | Zd | Zdt | Va) th->special = CheckInt(key); break; @@ -283,7 +284,7 @@ struct UDMFParser case NAME_Arg2: case NAME_Arg3: case NAME_Arg4: - CHECK_N(Hx | Zd | Zdt) + CHECK_N(Hx | Zd | Zdt | Va) th->args[int(key)-int(NAME_Arg0)] = CheckInt(key); break; @@ -323,7 +324,7 @@ struct UDMFParser case NAME_Class14: case NAME_Class15: case NAME_Class16: - CHECK_N(Hx | Zd | Zdt) + CHECK_N(Hx | Zd | Zdt | Va) if (CheckBool(key)) th->ClassFilter |= (1<<(int(key)-NAME_Class1)); else th->ClassFilter &= ~(1<<(int(key)-NAME_Class1)); break; @@ -333,7 +334,7 @@ struct UDMFParser break; case NAME_Dormant: - CHECK_N(Hx | Zd | Zdt) + CHECK_N(Hx | Zd | Zdt | Va) Flag(th->flags, MTF_DORMANT, key); break; @@ -350,27 +351,27 @@ struct UDMFParser break; case NAME_Translucent: - CHECK_N(St | Zd | Zdt) + CHECK_N(St | Zd | Zdt | Va) Flag(th->flags, MTF_SHADOW, key); break; case NAME_Invisible: - CHECK_N(St | Zd | Zdt) + CHECK_N(St | Zd | Zdt | Va) Flag(th->flags, MTF_ALTSHADOW, key); break; case NAME_Friend: // This maps to Strife's friendly flag - CHECK_N(Dm | Zd | Zdt) + CHECK_N(Dm | Zd | Zdt | Va) Flag(th->flags, MTF_FRIENDLY, key); break; case NAME_Strifeally: - CHECK_N(St | Zd | Zdt) + CHECK_N(St | Zd | Zdt | Va) Flag(th->flags, MTF_FRIENDLY, key); break; case NAME_Standing: - CHECK_N(St | Zd | Zdt) + CHECK_N(St | Zd | Zdt | Va) Flag(th->flags, MTF_STANDSTILL, key); break; @@ -506,22 +507,22 @@ struct UDMFParser break; case NAME_Jumpover: - CHECK_N(St | Zd | Zdt) + CHECK_N(St | Zd | Zdt | Va) Flag(ld->flags, ML_RAILING, key); break; case NAME_Blockfloating: - CHECK_N(St | Zd | Zdt) + CHECK_N(St | Zd | Zdt | Va) Flag(ld->flags, ML_BLOCK_FLOATERS, key); break; case NAME_Transparent: - CHECK_N(St | Zd | Zdt) + CHECK_N(St | Zd | Zdt | Va) strifetrans = CheckBool(key); break; case NAME_Passuse: - CHECK_N(Dm | Zd | Zdt) + CHECK_N(Dm | Zd | Zdt | Va) passuse = CheckBool(key); break; @@ -573,7 +574,7 @@ struct UDMFParser } // This switch contains all keys which are ZDoom specific - if (namespace_bits & (Zd|Zdt)) switch(key) + if (namespace_bits & (Zd|Zdt|Va)) switch(key) { case NAME_Alpha: ld->Alpha = CheckFixed(key); @@ -708,7 +709,7 @@ struct UDMFParser break; } - if (namespace_bits & (Zd|Zdt)) switch(key) + if (namespace_bits & (Zd|Zdt|Va)) switch(key) { case NAME_offsetx_top: sd->SetTextureXOffset(side_t::top, CheckFixed(key)); @@ -848,7 +849,7 @@ struct UDMFParser break; } - if (namespace_bits & (Zd|Zdt)) switch(key) + if (namespace_bits & (Zd|Zdt|Va)) switch(key) { case NAME_Xpanningfloor: sec->SetXOffset(sector_t::floor, CheckFixed(key)); @@ -1121,6 +1122,10 @@ struct UDMFParser case NAME_ZDoomTranslated: namespace_bits = Zdt; break; + case NAME_Vavoom: + namespace_bits = Va; + isTranslated = false; + break; case NAME_Hexen: namespace_bits = Hx; isTranslated = false;