Custom IWADS, iwadinfo.txt possibilities?

Moderator: GZDoom Developers

User avatar
Enjay
 
 
Posts: 26574
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Custom IWADS, iwadinfo.txt possibilities?

Post by Enjay »

Before I start, I strongly suspect that this will be considered inappropriate and I'm not necessarily even suggesting it as something that I want/need. I just thought that it was worth asking the question to see whether any aspect of this was worth considering.

A number of recent changes in Zdoom have been of the kind that makes it easier to set up Zdoom as an engine for a totally new custom game. IWAD specific game modes can now be defined, as can the appearance of the startup window colours and the menus (and which entries will appear in them). There has also been changes to the ability to customise other elements such as the finale cast call.

These are all areas that I have modified for my own personal build of the engine. I think that the kind of changes that I have made are mainly the minor cosmetic changes that people tend to want to make when producing a stand-alone game so, I thought that I'd search through my own code to find how many changes were still left. I only found three major types:

default values for cvars
cheat codes
specific strings changed


default values for cvars:
I have made changes to a few of these so that, when run out of the box for the first time, the game sets itself up with what I consider to be the optimum settings for the custom game. Of course, these are only the default settings and they can be changed in the menus but there are some Zdoom defaults that just aren't right for my game so it seemed silly to start with them in the Zdoom default state.

cheat codes:
Probably more contentious because cheat code changing has long been disabled via dehacked in Zdoom. Anyway, to give you an example of my kind of changes, I have taken a number of the cheat codes from other games that I find useful, altered things so that they work on Doom mode by default (rather than enabling allcheats - because that didn't exist when I first did this) and then renamed them to be more consistent with the Doom codes. eg massacre has become idkill in my code.

specific strings changed:
This is probably something that doesn't really need to be looked at but, for the sake of completion, I have changed a few strings that mention stuff inappropriate to my game. For example, if you try and run the game without a valid IWAD, Zdoom asks if you have installed things properly and suggests a list of suitable IWADS (doom.wad, doom2.wad, heretic.wad etc). None of these are appropriate to my game so it only gives a message about the name of the IWAD that should be present for my game.

There are a few other changes but these are all minor changes to things in (g)zdoom.pk3 that can't easily be changed in supplementary DECORATE (etc) code and for historic reasons.

So, what am I asking about?

default values for cvars:
I think that it might be useful for some, (perhaps even all), variables in the game to be exposed so that they could be set on an IWAD by IWAD basis in iwadinfo.txt in zdoom.pk3. Note, for those panicking, this would not be used to change the default settings for existing iwads nor could it mess up your settings. Because it is part of zdoom.pk3 would only be used when you installed and ran a totally new game with a custom version of the game engine as a stand-alone project. As such, it would set any variables appropriately for the new game or when Zdoom used the totally new IWAD. I know that there are other methods for doing some (all?) of this, I just wondered is such a feature might be deemed suitable.

cheat codes:
Probably much less important but I only mention it because it was an element of my code and I thought I may as well bring it up. Again, I would suggest that cheat codes could be added to iwadinfo.txt. A game designer could then list which cheat codes were appropriate to his or her game and then write aliases for them in the appropriate section of iwadinfo.txt. Again, no harm would be done to an end user because it would only apply when the new IWAD was loaded and the allcheats cvar could be used to give access to every cheat from every game (including the newly defined ones) in the way that it can at present.

specific strings changed:
Certainly, with the recent changes there are actually very few of these left in my code. However, I'm really not convinced that it would be easy or appropriate to try and identify them all. I already gave an example of one of my changes (code that mentions doom2.wad but which should mention the game specific IWAD instead) but I think perhaps catching everything that a game designer might want to change would be a tricky task.


Again, really any of these would only ever be intended for use with a new IWAD as part of a stand alone game and would therefore be included in an iwadinfo.txt file inside a customg (g)zdoom.pk3


So, there we are. As I said, I'm not 100% convinced by any of them but I thought I'd open up this discussion to see what was deemed appropriate. However, in recent weeks, as a great deal of my code customisations have been moved out of the exe and into user customisable lumps, it has made maintaining my code easier and the "worry" (not that I was that worried) that the next SVN update would cause a conflict between new code and mine, and that I'd have to dive in and resolve something that I didn't really understand, has become less and less.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Custom IWADS, iwadinfo.txt possibilities?

Post by Graf Zahl »

For god's sake. I just managed to get this stuff out of the EXE!

You'll get your IWAD detection but there's a bit more work needed before.
Anyway, far too many unrelated suggestions in one post so off this goes...
User avatar
Enjay
 
 
Posts: 26574
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Custom IWADS, iwadinfo.txt possibilities?

Post by Enjay »

Well, as I said, it was not a request so much as a suggestion to open up a discussion as to what might be appropriate at some point.

I guess the short version of my suggestions is:

What can and should be moved out of the exe to iwadinfo.txt? Discuss.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Custom IWADS, iwadinfo.txt possibilities?

Post by Graf Zahl »

Then you clearly posted in the wrong forum!

Anyway, IWADINFO is not supposed to get expanded. It only contains the minimally necessary information to identify an IWAD. Everything else should end up in other configuration lumps: MAPINFO for stuff that's not needed before WAD initialization and GAMEINFO for the rest.


Right now the most pressing need is to build something that allows identifying and setting an IWAD, not thinking about what should be made configurable. That can come much, much later.
Gez
 
 
Posts: 17934
Joined: Fri Jul 06, 2007 3:22 pm

Re: Custom IWADS, iwadinfo.txt possibilities?

Post by Gez »

The things I can think of for GAMEINFO are:
- Specify game filter (including allowing to define new filters)
- Specify loading screen type (Doom, Heretic, Hexen or Strife)

Pretty much everything else would be for MAPINFO or other relevant lumps (i.e. LANGUAGE for changing strings).
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Custom IWADS, iwadinfo.txt possibilities?

Post by Graf Zahl »

I wouldn't give the ability to define more gamemodes. One 'generic' would be enough so that an IWAD could define most of this stuff itself. Of course much of what depends on the gamemode are just a handful of defaults for a few settings. There isn't much based on the gamemode anymore that's critical for the operation. The biggest chunk is the intermission statistics screen but I plan to integrate that into the intermission system so it will get resolved automatically then.
Gez
 
 
Posts: 17934
Joined: Fri Jul 06, 2007 3:22 pm

Re: Custom IWADS, iwadinfo.txt possibilities?

Post by Gez »

As far as players and modders are concerned, if all it does is let one give an alias for the "generic" game filter and other unknown filters are considered to be "not this game", it would be enough for any possible purpose I can see.

Return to “Closed Feature Suggestions [GZDoom]”