DoryH123 Posted September 21, 2011 Hello all, I'm currently working on a Hexen WAD and I plan to change all of the original Classes, Monsters and some of the Items. I want to change their names within the game so when, let's say, you start a new game, instead of seeing "Fighter, Cleric, Mage" in the menu, you see my own custom class names. Same when you're killed by a monster, picking up an item, etc. I tried both XWE and SLADE and still there's no clue on where those details are stored within the WAD and how to change them. Any help would be appreciated. 0 Share this post Link to post
Vermil Posted September 21, 2011 DoryH123 said:Same when you're killed by a monster Just to point out, this makes it sound like it's a mod for ZDoom; the original HeXen did not display messages when you are killed by a monster. But yes, to change what you wish to, would require a source port of some sort, ZDoom, Doomsday etc. In Doomsday, all text can be edited via Text.ded and Finales.ded. I'm not familiar enough with ZDoom to say where from memory, where the text is stored. 0 Share this post Link to post
DoryH123 Posted September 21, 2011 Yes, I intend the WAD to be played in ZDoom, but how do I use it to change names? 0 Share this post Link to post
Gez Posted September 21, 2011 Look up the languages.txt lump in zdoom.pk3. You can create a LANGUAGE lump in your mod where you just copy-paste the lines you want to change and modify them here. (There is absolutely no need to copy all the lines you don't want to change, such as Doom level names or Chex Quest quit messages...) That said, if you have custom classes, then all you need to do is change the "Player.DisplayName" property in their DECORATE definition. 0 Share this post Link to post
DoryH123 Posted September 21, 2011 Thank you both for your quick reply. :) Look up the languages.txt lump in zdoom.pk3. You can create a LANGUAGE lump in your mod where you just copy-paste the lines you want to change and modify them here. (There is absolutely no need to copy all the lines you don't want to change, such as Doom level names or Chex Quest quit messages...) That said, if you have custom classes, then all you need to do is change the "Player.DisplayName" property in their DECORATE definition. I've taken a look inside the languages.enu and found all the object and weapon names, but unfortunately no class or monster names. Also, I could not find the "Player.DisplayName" property you speak of, and I looked all over the PK3. Where exactly must I look? 0 Share this post Link to post
Gez Posted September 21, 2011 It's a property in the definition of the player class. For example, this is the cleric: // The cleric --------------------------------------------------------------- ACTOR ClericPlayer : PlayerPawn { Health 100 ReactionTime 0 PainChance 255 Radius 16 Height 64 Speed 1 +NOSKIN +NODAMAGETHRUST +NOTHRUSTWHENINVUL PainSound "PlayerClericPain" RadiusDamageFactor 0.25 Player.JumpZ 9 Player.Viewheight 48 Player.SpawnClass "Cleric" Player.DisplayName "Cleric" Player.SoundClass "cleric" Player.ScoreIcon "CLERFACE" Player.InvulnerabilityMode "Ghost" Player.HealRadiusType "Health" Player.Hexenarmor 10, 10, 25, 5, 20 Player.StartItem "CWeapMace" Player.Portrait "P_CWALK1" Player.WeaponSlot 1, CWeapMace Player.WeaponSlot 2, CWeapStaff Player.WeaponSlot 3, CWeapFlame Player.WeaponSlot 4, CWeapWraithverge Player.FlechetteType "ArtiPoisonBag1" Player.ColorRange 146, 163 Player.Colorset 0, "Blue", 146, 163, 161 Player.ColorsetFile 1, "Red", "TRANTBL7", 0xB3 Player.ColorsetFile 2, "Gold", "TRANTBL8", 0x8C Player.ColorsetFile 3, "Dull Green", "TRANTBL9", 0x41 Player.ColorsetFile 4, "Green", "TRANTBLA", 0xC9 Player.ColorsetFile 5, "Gray", "TRANTBLB", 0x30 Player.ColorsetFile 6, "Brown", "TRANTBLC", 0x72 Player.ColorsetFile 7, "Purple", "TRANTBLD", 0xEE States { Spawn: CLER A -1 Stop See: CLER ABCD 4 Loop Pain: CLER H 4 CLER H 4 A_Pain Goto Spawn Missile: Melee: CLER EFG 6 Goto Spawn Death: CLER I 6 CLER J 6 A_PlayerScream CLER KL 6 CLER M 6 A_NoBlocking CLER NOP 6 CLER Q -1 Stop XDeath: CLER R 5 A_PlayerScream CLER S 5 CLER T 5 A_NoBlocking CLER UVWXYZ 5 CLER [ -1 Stop Ice: CLER "" 5 A_FreezeDeath CLER "" 1 A_FreezeDeathChunks Wait Burn: FDTH C 5 BRIGHT A_PlaySound("*burndeath") FDTH D 4 BRIGHT FDTH G 5 BRIGHT FDTH H 4 BRIGHT A_PlayerScream FDTH I 5 BRIGHT FDTH J 4 BRIGHT FDTH K 5 BRIGHT FDTH L 4 BRIGHT FDTH M 5 BRIGHT FDTH N 4 BRIGHT FDTH O 5 BRIGHT FDTH P 4 BRIGHT FDTH Q 5 BRIGHT FDTH R 4 BRIGHT FDTH S 5 BRIGHT A_NoBlocking FDTH T 4 BRIGHT FDTH U 5 BRIGHT FDTH V 4 BRIGHT ACLO E 35 A_CheckPlayerDone Wait ACLO E 8 Stop } } Note these three lines: Player.SpawnClass "Cleric" Player.DisplayName "Cleric" Player.SoundClass "cleric" SpawnClass is what's used to determine which things are spawned in the map (since as you know, Hexen lets you filter things by class as well as by skill level). DisplayName is what you want. SoundClass is for SNDINFO stuff. Presumably, you'll only want to change DisplayName. Also, you won't find monster names directly. You'll find obituaries. 0 Share this post Link to post
DoryH123 Posted September 22, 2011 Thank you, I managed to find the necessary lines and changed them around. I saved the result as zdoom.pk3 and ran ZDoom, but when starting a new game I still saw the standard class names(fighter, cleric, mage) instead of my custom names. What am I doing wrong? 0 Share this post Link to post
Gez Posted September 22, 2011 DoryH123 said:I saved the result as zdoom.pk3 No, don't do that. Don't you have a wad you are working on? Create in that wad a LANGUAGE lump and only paste the modified language.enu lines in it. Don't modify zdoom.pk3; it'll only make your mod incompatible with normal installations of ZDoom -- including future versions with changed stuff in the pk3. DoryH123 said:when starting a new game I still saw the standard class names(fighter, cleric, mage) instead of my custom names. What am I doing wrong? Can you actually show your custom classes? 0 Share this post Link to post
DoryH123 Posted September 22, 2011 I do not know how to create a lump; However, I managed to import the altered language.enu file into the WAD as is, and it worked.(I changed the name of the Porkalator item to Moschopsator) The problem is, when I tried to do the same with clericplayer.txt, fighterplayer.txt and mageplayer.txt, they showed up in SLADE as unknown files rather than TXT files, and the changes to the class names didn't work. 0 Share this post Link to post
Gez Posted September 22, 2011 The engine recognize certain reserved lump names, such as LANGUAGE and DECORATE. A full list can be read here. Names like "clericplayer" aren't in that list. Since actor code can take a lot of space, the code is spread out in several smaller files. You'll notice that zdoom.pk3 contains a decorate.txt file that is nothing but a series of #include for each file in the actors directory. Creating a new lump is simple. In SLADE, you can use the "New empty entry" icon on the toolbar (it's a little file with the letter E on it), or the Archive->New menu. It'll create an empty lump (a marker) which you can just "Edit as Text" and copy paste stuff into. It seems you have not actually modified the class in any way, other than changing their names. So here is what you can do. You can use inheritance to make your life simpler. Create a new lump named DECORATE. Edit it as text and copy paste this:Actor NotACleric : ClericPlayer { Player.DisplayName "Not A Cleric" } Actor NotAFighter : FighterPlayer { Player.DisplayName "Not A Fighter" } Actor NotAMage : MagePlayer { Player.DisplayName "Not A Mage" }Save changes to the lump. Then create another new empty lump. Name it MAPINFO. (Or, if you already have a MAPINFO lump, use that one.) Copy paste this code in your MAPINFO lump:gameinfo { PlayerClasses = "NotACleric", "NotAFighter", "NotAMage" } Save changes, save wad, and try. 0 Share this post Link to post
DoryH123 Posted September 22, 2011 Not working... I did exactly what you said, but the names in the menu are still the original Hexen class names. 0 Share this post Link to post
DoryH123 Posted September 22, 2011 Here's the link: http://www.mediafire.com/?gk89a7vfaztyd4s 0 Share this post Link to post
Gez Posted September 22, 2011 "This file is currently set to private." 0 Share this post Link to post
Gez Posted September 22, 2011 You're making a beginner's mistake; which is to build your mod from an IWAD. This is going to get you accused of warezing the game, so make sure to include only the things that you have actually modified and none of the rest. For example, this works. You'll see how small it is compared to the state of your mod now; because all the Hexen stuff -- which is brought by the Hexen IWAD already and that you'd just load twice otherwise -- has been removed. Anyway, it works for me. If it isn't working for you, download and install a more recent version of ZDoom or GZDoom from here. 0 Share this post Link to post
DoryH123 Posted September 22, 2011 Thank you, I tried it in GZDoom and it works. For some reason it doesn't work on ZDoom although I downloaded the latest version today. also, thanks for the heads-up about the warezing- I'm still fairly new to WAD modding so I'm still prone to beginners' mistakes. One last thing: the monster names, or "obituaries" that you mentioned earlier, where do I find them? 0 Share this post Link to post
Gez Posted September 22, 2011 For the standard actors, they're in language as well. You'll find them all starting from about line 600, with in order suicide, environment, Doom monsters, Heretic monsters, Hexen monsters, Strife monsters, Doom weapons, Heretic weapons, Hexen weapons, Strife weapons, telefrag and friendly fire obituaries. (The Chex Quest obituaries are way below, starting about at line 1700, and the other ZDoom games feature their own obituaries in their own IWADs rather than in zdoom.pk3.) For custom monsters, you can define a LANGUAGE lump identifier as well, or use your string directly. See the wiki. 0 Share this post Link to post
DoryH123 Posted September 22, 2011 Thank you once again; I found everything I needed to change. Thanks for the link on custom monsters, too! It will come in handy. :) For all your help, your name will appear on the credits list when this mod (hopefully) comes out. This thread can be closed now. 0 Share this post Link to post