diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 7bb646608..38db16a17 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,12 @@ +August 21, 2008 (Changes by Graf Zahl) +- Fixed: The UDMF parser wrote class filter bits into SkillFilter. +- Fixed: (SBARINFO patch) DrawInventoryBar has a missing argument in + one of its drawgraphic calls. + +August 20, 2008 (Changes by Graf Zahl) +- Added Gez's patch for Heretic's GIMME cheat. +- Externalized some cheat strings. + August 19, 2008 (Changes by Graf Zahl) - Added Gez's patch for removing MF4_FIRERESIST. diff --git a/src/d_protocol.h b/src/d_protocol.h index eedf353c2..1ddf0e0e8 100644 --- a/src/d_protocol.h +++ b/src/d_protocol.h @@ -194,6 +194,17 @@ enum ECheatCommand CHT_RESSURECT, // [GRB] CHT_CLEARFROZENPROPS, CHT_FREEZE, + CHT_GIMMIEA, + CHT_GIMMIEB, + CHT_GIMMIEC, + CHT_GIMMIED, + CHT_GIMMIEE, + CHT_GIMMIEF, + CHT_GIMMIEG, + CHT_GIMMIEH, + CHT_GIMMIEI, + CHT_GIMMIEJ, + CHT_GIMMIEZ, }; void StartChunk (int id, BYTE **stream); diff --git a/src/g_shared/sbarinfo_display.cpp b/src/g_shared/sbarinfo_display.cpp index 49cb276d2..2ea065994 100644 --- a/src/g_shared/sbarinfo_display.cpp +++ b/src/g_shared/sbarinfo_display.cpp @@ -1545,7 +1545,7 @@ void DSBarInfo::DrawInventoryBar(int type, int num, int x, int y, int xOffset, i DrawGraphic(Images[invBarOffset + imgARTIBOX], x+i*spacing, y, xOffset, yOffset, alpha, fullScreenOffsets); } if(type != GAME_Strife) //Strife draws the cursor before the icons - DrawGraphic(TexMan(item->Icon), x+i*spacing, y, xOffset, yOffset, alpha, false, item->Amount <= 0); + DrawGraphic(TexMan(item->Icon), x+i*spacing, y, xOffset, yOffset, alpha, fullScreenOffsets, false, item->Amount <= 0); if(item == CPlayer->mo->InvSel) { if(type == GAME_Heretic) diff --git a/src/m_cheat.cpp b/src/m_cheat.cpp index 043b85b8c..a235564b7 100644 --- a/src/m_cheat.cpp +++ b/src/m_cheat.cpp @@ -99,9 +99,9 @@ void cht_DoCheat (player_t *player, int cheat) case CHT_NOMOMENTUM: player->cheats ^= CF_NOMOMENTUM; if (player->cheats & CF_NOMOMENTUM) - msg = "LEAD BOOTS ON"; + msg = GStrings("TXT_LEADBOOTSON"); else - msg = "LEAD BOOTS OFF"; + msg = GStrings("TXT_LEADBOOTSOFF"); break; case CHT_FLY: @@ -112,13 +112,13 @@ void cht_DoCheat (player_t *player, int cheat) { player->mo->flags |= MF_NOGRAVITY; player->mo->flags2 |= MF2_FLY; - msg = "You feel lighter"; + msg = GStrings("TXT_LIGHTER"); } else { player->mo->flags &= ~MF_NOGRAVITY; player->mo->flags2 &= ~MF2_FLY; - msg = "Gravity weighs you down"; + msg = GStrings("TXT_GRAVITY"); } } break; @@ -306,6 +306,64 @@ void cht_DoCheat (player_t *player, int cheat) } break; + case CHT_GIMMIEA: + cht_Give (player, "ArtiInvulnerability"); + msg = "Valador's Ring of Invunerability"; + break; + + case CHT_GIMMIEB: + cht_Give (player, "ArtiInvisibility"); + msg = "Shadowsphere"; + break; + + case CHT_GIMMIEC: + cht_Give (player, "ArtiHealth"); + msg = "Quartz Flask"; + break; + + case CHT_GIMMIED: + cht_Give (player, "ArtiSuperHealth"); + msg = "Mystic Urn"; + break; + + case CHT_GIMMIEE: + cht_Give (player, "ArtiTomeOfPower"); + msg = "Tyketto's Tome of Power"; + break; + + case CHT_GIMMIEF: + cht_Give (player, "ArtiTorch"); + msg = "Torch"; + break; + + case CHT_GIMMIEG: + cht_Give (player, "ArtiTimeBomb"); + msg = "Delmintalintar's Time Bomb of the Ancients"; + break; + + case CHT_GIMMIEH: + cht_Give (player, "ArtiEgg"); + msg = "Torpol's Morph Ovum"; + break; + + case CHT_GIMMIEI: + cht_Give (player, "ArtiFly"); + msg = "Inhilicon's Wings of Wrath"; + break; + + case CHT_GIMMIEJ: + cht_Give (player, "ArtiTeleport"); + msg = "Darchala's Chaos Device"; + break; + + case CHT_GIMMIEZ: + for (int i=0;i<16;i++) + { + cht_Give (player, "artifacts"); + } + msg = "All artifacts!"; + break; + case CHT_TAKEWEAPS: if (player->morphTics || player->mo == NULL || player->mo->health <= 0) { @@ -364,7 +422,7 @@ void cht_DoCheat (player_t *player, int cheat) case CHT_DONNYTRUMP: cht_Give (player, "HealthTraining"); - msg = "YOU GOT THE MIDAS TOUCH, BABY"; + msg = GStrings("TXT_MIDASTOUCH"); break; case CHT_LEGO: @@ -391,18 +449,18 @@ void cht_DoCheat (player_t *player, int cheat) cht_Give (player, "MedPatch"); cht_Give (player, "MedicalKit"); cht_Give (player, "SurgeryKit"); - msg = "you got the stuff!"; + msg = GStrings("TXT_GOTSTUFF"); break; case CHT_PUMPUPP: cht_Give (player, "AmmoSatchel"); - msg = "you got the stuff!"; + msg = GStrings("TXT_GOTSTUFF"); break; case CHT_PUMPUPS: cht_Give (player, "UpgradeStamina", 10); cht_Give (player, "UpgradeAccuracy"); - msg = "you got the stuff!"; + msg = GStrings("TXT_GOTSTUFF"); break; case CHT_CLEARFROZENPROPS: @@ -414,11 +472,11 @@ void cht_DoCheat (player_t *player, int cheat) bglobal.changefreeze ^= 1; if (bglobal.freeze ^ bglobal.changefreeze) { - msg = "Freeze mode on"; + msg = GStrings("TXT_FREEZEON"); } else { - msg = "Freeze mode off"; + msg = GStrings("TXT_FREEZEOFF"); } break; } @@ -450,14 +508,14 @@ const char *cht_Morph (player_t *player, const PClass *morphclass, bool quickund { if (!quickundo && oldclass != morphclass && P_MorphPlayer (player, player, morphclass, 0, style)) { - return "You feel even stranger."; + return GStrings("TXT_STRANGER"); } - return "You feel like yourself again."; + return GStrings("TXT_NOTSTRANGE"); } } else if (P_MorphPlayer (player, player, morphclass, 0, style)) { - return "You feel strange..."; + return GStrings("TXT_STRANGE"); } return ""; } diff --git a/src/p_udmf.cpp b/src/p_udmf.cpp index 5ffa75082..61271f3af 100644 --- a/src/p_udmf.cpp +++ b/src/p_udmf.cpp @@ -323,7 +323,7 @@ struct UDMFParser case NAME_Class16: CHECK_N(Hx | Zd | Zdt) if (CheckBool(key)) th->ClassFilter |= (1<<(int(key)-NAME_Class1)); - else th->SkillFilter &= ~(1<<(int(key)-NAME_Class1)); + else th->ClassFilter &= ~(1<<(int(key)-NAME_Class1)); break; case NAME_Ambush: diff --git a/src/st_stuff.cpp b/src/st_stuff.cpp index 655391c96..2e75fe994 100644 --- a/src/st_stuff.cpp +++ b/src/st_stuff.cpp @@ -63,7 +63,21 @@ BYTE CheatPowerup[7][10] = { 'i','d','b','e','h','o','l','d','r', 255 }, { 'i','d','b','e','h','o','l','d','a', 255 }, { 'i','d','b','e','h','o','l','d','l', 255 }, - { 'i','d','b','e','h','o','l','d', 255 } + { 'i','d','b','e','h','o','l','d', 255 }, +}; +BYTE CheatPowerup1[11][7] = +{ + { 'g','i','m','m','e','a',255 }, + { 'g','i','m','m','e','b',255 }, + { 'g','i','m','m','e','c',255 }, + { 'g','i','m','m','e','d',255 }, + { 'g','i','m','m','e','e',255 }, + { 'g','i','m','m','e','f',255 }, + { 'g','i','m','m','e','g',255 }, + { 'g','i','m','m','e','h',255 }, + { 'g','i','m','m','e','i',255 }, + { 'g','i','m','m','e','j',255 }, + { 'g','i','m','m','e','z',255 }, }; BYTE CheatPowerup2[8][10] = { @@ -175,7 +189,18 @@ static cheatseq_t HereticCheats[] = { CheatAmmo, 0, 0, 0, {CHT_TAKEWEAPS,0}, Cht_Generic }, { CheatGod, 0, 0, 0, {CHT_NOWUDIE,0}, Cht_Generic }, { CheatMassacre, 0, 0, 0, {CHT_MASSACRE,0}, Cht_Generic }, - { CheatEngage, 0, 0, 0, {0,0}, Cht_ChangeLevel } + { CheatEngage, 0, 0, 0, {0,0}, Cht_ChangeLevel }, + { CheatPowerup1[0], 0, 0, 0, {CHT_GIMMIEA,0}, Cht_Generic }, + { CheatPowerup1[1], 0, 0, 0, {CHT_GIMMIEB,0}, Cht_Generic }, + { CheatPowerup1[2], 0, 0, 0, {CHT_GIMMIEC,0}, Cht_Generic }, + { CheatPowerup1[3], 0, 0, 0, {CHT_GIMMIED,0}, Cht_Generic }, + { CheatPowerup1[4], 0, 0, 0, {CHT_GIMMIEE,0}, Cht_Generic }, + { CheatPowerup1[5], 0, 0, 0, {CHT_GIMMIEF,0}, Cht_Generic }, + { CheatPowerup1[6], 0, 0, 0, {CHT_GIMMIEG,0}, Cht_Generic }, + { CheatPowerup1[7], 0, 0, 0, {CHT_GIMMIEH,0}, Cht_Generic }, + { CheatPowerup1[8], 0, 0, 0, {CHT_GIMMIEI,0}, Cht_Generic }, + { CheatPowerup1[9], 0, 0, 0, {CHT_GIMMIEJ,0}, Cht_Generic }, + { CheatPowerup1[10], 0, 0, 0, {CHT_GIMMIEZ,0}, Cht_Generic }, }; static cheatseq_t HexenCheats[] = diff --git a/wadsrc/static/language.enu b/wadsrc/static/language.enu index 93f91a8b3..aa0150ea9 100644 --- a/wadsrc/static/language.enu +++ b/wadsrc/static/language.enu @@ -933,6 +933,17 @@ TXT_CHEATIDKFA = "CHEATER - YOU DON'T DESERVE WEAPONS"; TXT_CHEATTICKERON = "TICKER ON"; TXT_CHEATTICKEROFF = "TICKER OFF"; TXT_CHEATARTIFACTS3 = "YOU GOT IT"; +TXT_MIDASTOUCH = "YOU GOT THE MIDAS TOUCH, BABY"; +TXT_GOTSTUFF = "You got the stuff!"; +TXT_FREEZEON = "Freeze mode on"; +TXT_FREEZEOFF = "Freeze mode off"; +TXT_STRANGE = "You feel strange..."; +TXT_STRANGER = "You feel even stranger."; +TXT_NOTSTRANGE = "You feel like yourself again."; +TXT_LEADBOOTSON = "LEAD BOOTS ON"; +TXT_LEADBOOTSOFF = "LEAD BOOTS OFF"; +TXT_LIGHTER = "You feel lighter"; +TXT_GRAVITY = "Gravity weighs you down"; RAVENQUITMSG = "ARE YOU SURE YOU WANT TO QUIT?";