Announcement

Collapse
No announcement yet.

Difference between "config.cfg" and "autoexec.cfg" - And their management

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spirit
    replied
    No developer should ever be so bold to put a autoexec.cfg in the user's id1/ .
    Many mods come with an autoexec.cfg bundled.

    splitterface: Aliases are not saved in the config.cfg. And as I said (not clear enough I guess), it depends on the engine what variables are saved in the config.cfg. The default set does not include all variables that exist in the engine.

    hkBattousai: # is not the comment escape in Quake's .cfg files, // is.

    For your problems:

    maxplayers, see the multiplayer menu and try to make it use more than 4 players
    listen: works for me
    joystick: does not exist in quakespasm
    joybuttons: does not exist in quakespasm
    external_ents: works for me, not sure why you want to re-set its default value
    max_edicts: works for me, not sure why you want to re-set its default value
    viewsize: works for me, not sure why you want to re-set its default value

    I would only use the autoexec.cfg to set important things and not play with things that are already using good default values.

    Leave a comment:


  • Mindf!3ldzX
    replied
    the developer provides options and does not dictate the variables imposed on the user of the client.

    Leave a comment:


  • MadGypsy
    replied
    What you need to understand is that autoexec.cfg is run AFTER config.cfg
    Yeah that's the whole point. I'll use Qung Fu as an example, it comes with an autoexec.cfg that has a few lines in it
    Code:
    chase_active        1
    chase_back          60
    chase_pitchangle    48
    chase_up            30
    If I put that in a config.cfg, people would have to overwrite their entire engine config (or modify it) just to play. All their controls, eye candy, etc wiped out (or needed to be modified) just to make it 3rd person. The alternate scenario is that their autoexec could potentially be set up to eliminate (ex) chase_active (with 0) and the config.cfg with those commands would not be read. Autoexec is for the developer to modify on a per game basis. Doing it this way, you can dump your config into a mod and keep all of your controls, etc, but the developer has a way to add functionality.

    Edit: so yeah, I agree config.cfg should not be touched (especially by the developer) but if a user is using autoexec to config their game, what does the developer use?
    Last edited by MadGypsy; 07-16-2012, 10:03 PM.

    Leave a comment:


  • Mindf!3ldzX
    replied
    I dont unbind squat, I just reassign in-game. This is really the easiest method I think. It's really easy to folly a config file, however the client will rarely folly itself.

    Leave a comment:


  • talisa
    replied
    very much true. autoexec.cfg gets loaded after config.cfg,
    and you should actually rarely ever touch config.cfg.

    the only time ive ever touched my config.cfg was when i wanted to quickly change the key a certain action was bound to, and found it easier to just change it directly instead of first having to unbind the key and then rebind the action to another key through console

    Leave a comment:


  • bluntz
    replied
    Originally posted by Spirit View Post
    Not really.

    autoexec.cfg is always executed and never modified by the engine.
    config.cfg is getting modified by the engine.
    key binds and variables the engine has set as "write to config" will be written into the config.cfg regardless from where they were loaded.

    Consider the config.cfg a file you should never touch nor care about.

    If you want to set things, put them into the autoexec.cfg
    Best answer by Spirit IMHO
    What you need to understand is that autoexec.cfg is run AFTER config.cfg
    So anything you put in autoexec will stomp the config.cfg for better or worse.
    Knowing that ,you should put your control and view settings and alias macros in autoexec.cfg so they are not overwritten by the engine.
    Last edited by bluntz; 07-16-2012, 03:40 PM.

    Leave a comment:


  • talisa
    replied
    @hkBattousai
    to your config.cfg

    if you'd enter them in your console while in quake you'd notice they'd also automatically get added to the config.cfg after you have used them in console

    Leave a comment:


  • hkBattousai
    replied
    OK, I started to understand the difference somewhat.
    If a variable is initialized in config.cfg, I will modify it there; I won't create a copy of initialization in autoexec.cfg.
    If a variable isn't initialized in either of the files, I will initialize it in autoexec.cfg.
    Am I correct? Are there any corrections you want to make up to here?

    What about new key bindings and alias declarations?
    For an example, I want to add the following modifications and features:
    Code:
    alias +fastforward "sv_maxspeed 5000; cl_forwardspeed 5000; +forward"
    alias +fastback    "sv_maxspeed 5000; cl_backspeed    5000; +back"
    alias -fastforward "-forward; sv_maxspeed 320; cl_forwardspeed 320"
    alias -fastback    "-back;    sv_maxspeed 320; cl_backspeed    320"
    alias +longjump    "+fastforward; wait; +jump; wait; -jump; wait; -fastforward"
    
    bind "UPARROW"     "+fastforward"
    bind "DOWNARROW"   "+fastback"
    bind "ALT"	   "+longjump"
    
    bind c noclip
    bind t notarget
    bind g god
    Which file do I add it in?

    Leave a comment:


  • MadGypsy
    replied
    You wanna break some Quake? Go get the darkplaces source and decide that you can awesomely modify in C(whatever) when you actually aren't awesome at all. lol!

    *"you" = me

    Leave a comment:


  • Mindf!3ldzX
    replied
    Originally posted by MadGypsy View Post
    I can see what you're saying, but I humbly disagree. I just spent 3 days poking around in all kinds of innards. Build menus, source code, etc etc etc. Granted not all of this was for the native Quake game, some of it was for Quake related applications (like radiant) and other tools, but I found it very interesting/rewarding. So much so, that I almost have a COMPLETE portable quake mod pipeline with more bells and whistles than a clown. Coding, modeling, texturing, "shading", mapping and quite a bit more, all in a drop and go package. All 100% working, open source and distributable. Not to mention that the entire pipeline is only 170mb, I may be able to get it even smaller while adding more (figure that one out)

    Digging around in innards is fun. Now I just need to spend a month writing the book on how to use it all, build my website and *Voila*...excellence!
    Take note that when I say "poking at its innards" , I am including the very realistic ordeal of Action equates Reaction.

    You know what happens when the average gamer such as myself,or possibly even hkBattousai goes elbows deep into modifing cfg files? Quake breaks. Weighing the two options of

    breaking and fixing quake vs playing quake, I'll take the latter alllll day long

    I'm just glad most engines use their own config files or seperated folders like ProQuake,Qrack, and DirectQ,

    Leave a comment:


  • MadGypsy
    replied
    Quake is more fun playing it than poking at its innards anyway IMO.
    I can see what you're saying, but I humbly disagree. I just spent 3 days poking around in all kinds of innards. Build menus, source code, etc etc etc. Granted not all of this was for the native Quake game, some of it was for Quake related applications (like radiant) and other tools, but I found it very interesting/rewarding. So much so, that I almost have a COMPLETE portable quake mod pipeline with more bells and whistles than a clown. Coding, modeling, texturing, "shading", mapping and quite a bit more, all in a drop and go package. All 100% working, open source and distributable. Not to mention that the entire pipeline is only 170mb, I may be able to get it even smaller while adding more (figure that one out)

    Digging around in innards is fun. Now I just need to spend a month writing the book on how to use it all, build my website and *Voila*...excellence!

    Leave a comment:


  • Mindf!3ldzX
    replied
    You guys are making this fn harder than it needs to be.


    Config.cfg comes pre allocated with shit in it. You can edit it, rip shit out,and stick shit in.

    I recommed you only EDIT the damn thing, simply because that will make your life easier.

    If you want variables being set at startup then stick all of them in autoexec.cfg, this is what mine looks like...

    fov 125
    cl_bob 0
    gl_polyblend 0
    r_novis 1
    r_wateralpha .3
    r_dynamic 0
    show_fps 1
    cl_maxfps 1001
    r_drawviewmodel 1
    autostats
    cl_upspeed 500
    v_kick 0
    if you can adjust the variable via the console, it can be placed into autoexec.cfg

    I think you should toss the idea of having "One config to rule them all" .... config.cfg already does 99.999999999%? of that. Quake is more fun playing it than poking at its innards anyway IMO.

    Leave a comment:


  • hkBattousai
    replied
    Originally posted by splitterface View Post
    config is for controls and standard configuration, autoexec is for console and game variables that you want to be set to a specific value by default
    Originally posted by MadGypsy View Post
    config.cfg configures your engines "default" setup and autoexec.cfg overwrites or adds to them on a per game basis without actually modifying the config.cfg.
    Originally posted by Spirit View Post
    key binds and variables the engine has set as "write to config" will be written into the config.cfg regardless from where they were loaded.
    What I understood from you messages and my tests is that some variable initializations are not supposed to be in autoexec.cfg; they can only be in config.cfg.

    Code:
    crosshair			2		// <1|0>	toggles display of crosshair
    showturtle			1		// <1|0>	turtle never displayed if zero
    showram				1		// <1|0>	low ram never displayed if zero
    host_maxfps			48		//		Maximum frame rate
    showpause			1		// <1|0>	pause box not displayed if zero
    bgmvolume			0.1		// <0.0-1.0>	sets background music volume
    bgm_extmusic			1		//		??
    gamma				0.5		//		sets gamma correction level (screen brightness)
    sensitivity			6		//		sets mouse sensitivity
    volume				0.1		//		sets sound fx music volume
    lookspring			0		// <1|0>	centers view after jump
    lookstrafe			0		// <1|0>	centers view after strafe
    noexit				0		// <1|0>	if one then no one can exit the level
    skill				1		//		sets skill level (0 == easy, 1 == normal, 2 == hard, 3 == nightmare)
    deathmatch			0		// <1|0>	if one, deathmatch mode; if two, old deathmatch mode
    coop				1		// <1|0>	if one, cooperative mode
    pausable			1		// <1|0>	if zero, game cannot be paused
    fraglimit			25		//		when fraglimit is reached in deathmatch, game ends with end screen
    #hostname			"127.0.0.1"	//		name of the server
    maxplayers			20		//		maximum number of players allowed on server
    registered			1		// <1|0>	if registered == 1 then "trigger_registered" triggers function.
    #name				"hkb"		//		name of the player (client)
    listen				1		// <1|0>	if 1, listens for clients wanting to join the game
    joystick			1		// <1|0>	zero means no joystick support
    joybuttons			10		//		number of buttons on joystick
    external_ents			1		//		??
    max_edicts			2048		//		??
    viewsize			100		//		Size of the visible window.  Default 100.
    My aim was to create a configuration file which would contain all of configuration variables in it. But that doesn't look to be possible after all. In my case, when I had removed these red colored lines my problem was solved. Even escaping them with "#" doesn't work, the only way is completely removing them from the autoexec.cfg file.

    So,which entries are allowed to stay in autoexac.cfg, and which ones create problem when put in? Is there a complete list or documentation?

    By the way, I'm using QuakeSpasm 0.85.7 engine.

    Leave a comment:


  • Mindf!3ldzX
    replied
    this had way more effort than needed heh.

    Leave a comment:


  • MadGypsy
    replied
    for all intents and purposes

    config.cfg configures your engines "default" setup and autoexec.cfg overwrites or adds to them on a per game basis without actually modifying the config.cfg.

    Consider the config.cfg a file you should never touch nor care about.
    Hunh? Yeah maybe if you never want to play a mod that isn't specifically quakey. what do you do when the game comes with an autoexec? Overwrite yours? Don't include it? That's silly. Config your engine (base game) with config.cfg and leave autoexec for the developer. If you're using autoexec as your default config, how does the developer break out of your box?
    Last edited by MadGypsy; 07-16-2012, 06:58 AM.

    Leave a comment:

Working...
X