Announcement

Collapse
No announcement yet.

Qrack bugs and suggestions

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

  • #46
    Hey R00k, I was playing some Single Player today, and found a bug using build 4497 (the newest version I could find in your archives). When I switch the map to E1M8, exit the game, and start a new game - Low Gravity is permanently set. To put it exactly, sv_gravity "100" is added to the config, and is saved upon exiting the game. Not only that, but if I change sv_gravity to "800", it reverts back to "100" when I restart a map or exit the game again.

    Any idea why it's doing this?

    Edit: I also keep getting this error while playing Hipnotic. All I do is run around the start map for a bit, and it crashes with this error:
    Last edited by Lightning_Hunter; 07-06-2014, 08:00 PM.

    Comment


    • #47
      ok so, sv_gravity will get saved to the config.cfg if cfg_savevars is set

      0 = only write cvars if the archive flag its set within the engine.
      1 = write if current value not the default value
      2 = write the cvar to config.cfg always.

      yet, in the original quakeC code for the game there's this....

      Code:
      void() worldspawn =
      {
      	lastspawn = world;
      	InitBodyQue ();
      
      // custom map attributes
      	if (self.model == "maps/e1m8.bsp")
      		cvar_set ("sv_gravity", "100");
      	else
      		cvar_set ("sv_gravity", "800");
      so even if your gravity is saved to the config.cfg original Quake single player should revert it back. Maybe you went from e1m8 to hipnotic gamedir

      the gl_rpart.c assert might be a debugging error i left enabled by mistake...
      www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

      Comment


      • #48
        Originally posted by R00k View Post
        ok so, sv_gravity will get saved to the config.cfg if cfg_savevars is set

        0 = only write cvars if the archive flag its set within the engine.
        1 = write if current value not the default value
        2 = write the cvar to config.cfg always.

        yet, in the original quakeC code for the game there's this....

        Code:
        void() worldspawn =
        {
        	lastspawn = world;
        	InitBodyQue ();
        
        // custom map attributes
        	if (self.model == "maps/e1m8.bsp")
        		cvar_set ("sv_gravity", "100");
        	else
        		cvar_set ("sv_gravity", "800");
        so even if your gravity is saved to the config.cfg original Quake single player should revert it back. Maybe you went from e1m8 to hipnotic gamedir

        the gl_rpart.c assert might be a debugging error i left enabled by mistake...
        I'm not using the Hipnotic Gamedir with this bug. I'm using the default Quake progs.dat. The Hipnotic bug is unrelated (I just happened to notice it). The low gravity bug occurs every time I switch to E1M8 and exit the game, no matter which gamedir I'm using. you are correct that it doesn't happen with cfg_savevars set to "0", but then other settings don't save. For example, I have a volume alias that turns the volume up and down in the game with a key binding, but it reverts back if I load a saved game.

        The Assertion Failed crash is a little more critical at this point, however - since it causes the whole game to fail consistently in the Hipnotic start map (and I assume this crash might also happen at other maps).

        Edit: Actually, forget what I said about the volume. The volume problem happens no matter how cfg_savevars is set. It seems that the volume level is only saved to config.cfg if I exit the game. If I load a saved game or change the map, it reverts back to what it was previously in config.cfg. This seems to be the case no matter what is set with cfg_savevars... This still doesn't change the fact that the gravity bug occurs with cfg_savevars set to "1", however.

        Is there any way to have the volume saved to the config on the fly, without having to exit the game?
        Last edited by Lightning_Hunter; 07-07-2014, 01:00 PM.

        Comment


        • #49
          i just forced sv_gravity to NEVER be written to the config.cfg
          also removed the assert debug error...

          http://www.quakeone.com/qrack/dist/glQrack.exe

          Is there any way to have the volume saved to the config on the fly, without having to exit the game?
          writeconfig autoexec.cfg ?

          there's also the writealias command to write ONLY all your defined in-game alias commands out to a config file ie myaliases.cfg
          Last edited by R00k; 07-07-2014, 01:28 PM.
          www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

          Comment


          • #50
            Man, you work fast! Thanks for that new version. The Assertion Failed appears to be fixed, and so is the low gravity bug.

            As for the Volume, I actually meant if it's possible to have the volume automatically saved without using a cvar or command. Currently, I have this complex alias being used for volume control:

            Code:
            alias volume1 "volume 0.15; alias VolumeUp volume2"
            alias volume2 "volume 0.2; alias VolumeUp volume3"
            alias volume3 "volume 0.25; alias VolumeUp volume4"
            alias volume4 "volume 0.3; alias VolumeUp volume5"
            alias volume5 "volume 0.35; alias VolumeUp volume6"
            alias volume6 "volume 0.4; alias VolumeUp volume7"
            alias volume7 "volume 0.45; alias VolumeUp volume8"
            alias volume8 "volume 0.5; alias VolumeUp volume9"
            alias volume9 "volume 0.6; alias VolumeUp volume10"
            alias volume10 "volume 0.7; alias VolumeUp volume1"
            alias VolumeUp "volume1"
            alias VOLUMEDOWN "volume 0.1; alias VolumeUp volume1"
            I have plus and minus bound to VolumeUp and VolumeDown. Basically, If I press volume up, it increases it in the increments seen, and VolumeDown just reverts it to 0.1. However, these volume levels are NOT saved unless I exit the game. For example, if I hit VolumeUp several times so that it is 0.4, then proceed to load a saved game (or change the map), it reverts back to the default volume (whatever it was when I last exited the game). The volume level changed by these alias commands are only saved to the config when I exit the game. This makes it kind of useless in SinglePlayer, when the game is saved/loaded and the map changed quite often.
            Last edited by Lightning_Hunter; 07-07-2014, 02:24 PM.

            Comment


            • #51
              hmm ya, i wonder if config.cfg is being saved out between map loads or just when the engine shuts down. I also consider it odd for a saved game file to include the cvar "volume". Unless what is happening is after loading a saved game config.cfg is re-read. In that case, I should make sure config.cfg is being written/updated between maploads/saved game files reloading.

              edit: i wonder how much of this is useless legacy crap; I dont even use 'quake.rc' from a user standpoint.
              Code:
              	if (!(COM_FindFile("quake.rc")))
              	{
              		if (COM_FindFile("config.cfg"))
              			Cbuf_AddText ("exec config.cfg\n");
              	
              		if (COM_FindFile("autoexec.cfg"))
              			Cbuf_AddText ("exec autoexec.cfg\n");
              	}
              	else
              		Cbuf_AddText ("exec quake.rc\n");
              and if quake.rc is in pak0.pak by default i dont see how this code will even work.
              Last edited by R00k; 07-07-2014, 02:43 PM.
              www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

              Comment


              • #52
                Originally posted by R00k View Post
                hmm ya, i wonder if config.cfg is being saved out between map loads or just when the engine shuts down. I also consider it odd for a saved game file to include the cvar "volume". Unless what is happening is after loading a saved game config.cfg is re-read. In that case, I should make sure config.cfg is being written/updated between maploads/saved game files reloading.
                I definitely believe it is the latter. The config is being re-read after a map is loaded or changed. I say this, because if I erase volume from config.cfg, then the volume saves at it is supposed to between game saves and map changes. However, once I shut the game down and the volume is written to config.cfg, it goes back to the way it was. Like you said, I think cvars are only being saved upon exiting.

                Comment


                • #53
                  do you have cl_loadmapcfg set ON? if so then it will reload the config.cfg every map change or else it wont, and thus the volume setting should stay current.
                  www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                  Comment


                  • #54
                    Originally posted by R00k View Post
                    do you have cl_loadmapcfg set ON? if so then it will reload the config.cfg every map change or else it wont, and thus the volume setting should stay current.
                    Yes, you are right.

                    I can't remember why I have that set to ON in my autoexec. If cl_loadmapcfg is set to 0, do individual map config files work? I think back in like 2007 you and I worked on this, and I can't remember the reason I had it set to 1.

                    Edit: Indeed, cl_loadmapcfg disables individual map configs from working, and I think I remember the reason. If it were not for disabling configs from being saved, then settings from the individual map configs would transfer to the main config.cfg file. For example, if I had GL_Rain "1" in E1M1.cfg, then the rain would be placed in the main config.cfg file every time I load E1M1. you stopped that from happening by disabling cvars from being saved. I remember this being kind of a nightmare for you to implement, and for me to test!
                    Last edited by Lightning_Hunter; 07-07-2014, 04:09 PM.

                    Comment


                    • #55
                      Just noticed another strange little bug with decals. This only happens in Hipnotic:



                      If I run regular quake, the decals look correct.

                      Edit: Also noticed that Rogue doesn't have any decals on the walls! Strange...

                      Edit #2: While I'm bringing up these bugs, I might as well also mention that the Rogue Lava Nailguns (both of them) don't have muzzle flashes. Also, I'm using an md3 model for the lava spike (lspike.md3), and it doesn't have a particle trail behind it like an .mdl model would.
                      Last edited by Lightning_Hunter; 07-07-2014, 10:03 PM.

                      Comment


                      • #56
                        ya cl_loadmapcfg will reload config.cfg then autoexec.cfg then mapxxx.cfg
                        so if its on its alway sgonna reload the configs even if mapxxx.cfg isnt there.

                        those funny decals(sprites) are actually in the hipnotic mod, the others are engine side, so its not a bug.

                        muzzle flashes are only coded for original weapons, i could add more...

                        that .md3 model doesnt have correct model flags so its a model *bug

                        Phew!
                        www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                        Comment


                        • #57
                          those funny decals(sprites) are actually in the hipnotic mod, the others are engine side, so its not a bug.
                          Strange that I never noticed them before. I guess it shows that people generally don't notice small things like that unless they are searching for them.

                          Comment


                          • #58
                            I know and what makes things worse, when i play other games, i notice bugs and it drives me nuts if i can't tell the developers!
                            www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                            Comment


                            • #59
                              Originally posted by R00k View Post
                              I know and what makes things worse, when i play other games, i notice bugs and it drives me nuts if i can't tell the developers!
                              Haha, yes. My brother and I used to discover bugs all the time when we played games online together, since we both tried things that nobody else thought of. We don't usually bother telling the developers, because some of the bugs nobody else will ever find. I still find bugs by myself nowadays by simply playing something for longer than 10 minutes.

                              Speaking of which, I happened to open the console after loading a saved game in Quake just now, and noticed the message " 'alpha' is not a field " printed like 100 times. Must be a cvar that was not properly implemented or recognized?

                              Comment


                              • #60
                                I like Colored underwear.

                                Comment

                                Working...
                                X