3dfxdev / EDGE

EDGE Source Code
http://edge2.sf.net
74 stars 10 forks source link

Possible Future Feature: INI Parsing for Engine Configuration (replacing edge2.cfg) #66

Closed Corbachu closed 5 years ago

Corbachu commented 6 years ago

I would like to take some time and weigh in options about using the INI format as a replacement to our own CFG file that EDGE creates. I would like to move to something more robust as far as the configuration file is concerned. Using something more modern like INI over our engine-created CFG file could yield benefits, and increase neatness.

Plus, I would like to move the CFG configuration as a whole into an 'autoexe.cfg', much like how QUAKE does it, so modders can set hard limits/switches/cvars/etc in their mods. EDGE would look for 'autoexec.cfg' in the mod folder or EPK root. We don't need to support this for WAD format, only external directories or EPK/PK3/PK7 archives.

I know we have a .preset file, but I feel that was only a temporary solution to what we want to achieve.

This would also give us the advantage when we eventually redo the EDGE IWAD interface as we can have per-engine INI configuration files (Doom, Rise of the Triad, Heretic, etc), or we could keep those contained to EDGE's existing CFG files.

Fellow developers: I would like your suggestions and/or thoughts on this topic (@raa-eruanna @ChillyWillyGuru /etc)

This idea came from the following GIT project: INIH

JNechaevsky commented 6 years ago

It is also small but important addion for Windows users who are using only standard notepad and/or not very friendly with 3rd part software. The benefit is simple - on Windows, .INI files are initially opened with notepad, while .CFG are not. So this way, config file will be editable by one (well, two actually) simple mouse clicks, which is a good way to go. :thumbsup:

Corbachu commented 6 years ago

@JNechaevsky me and @ctd1500 are looking into integrating TOML (skystrife/cpptoml) for the main engine configuration file - trying to settle on a naming convention, which I'm thinking could be:

[username]-edge-config.ini And using INI as the extension as opposed to TOML - only because INI is standard (though we could def change that) ;-)

As I've said before, CFG could be kept for an autoexec.cfg feature (like QUAKE), or we could abandon the format altogether and just use TOML for autoexec mod-specific variables/cvars.

DaZombieKiller commented 6 years ago

I would definitely be in support of TOML, it's essentially a standardized version of INI and is just overall far, far superior.

usernameak commented 5 years ago

I tried to implement this and found a major issue: #69.

Corbachu commented 5 years ago

Implemented and closing.