Announcement

Collapse
No announcement yet.

Vispatching Guide

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vispatching Guide

    Spooker bugged me to make a vispatching guide and I have nothing better to do so here it is...

    And for those of you that would crap this thread screaming "transparent water is cheating!!", Quake was designed for transparent water (this is suggested by the r_wateralpha and r_novis commands). Also, remember who wrote the original vispatch tool for Quake... John Carmack.


    Background
    "Vispatching" is a term used to describe the process in which maps are fixed to support transparent water. Quake was designed to have transparent water, but the maps were never fixed to support it. This is suggested by commands in GLQuake such as r_wateralpha and r_novis.

    The Process
    First, you need to grab the tools to do the job. Get LordHavoc's hmap2 tool here. The process is fairly simple. Simply move the maps you want to vispatch to the hmap2 folder, and run revis_all.bat. This will automatically vispatch each map. This will be a long process. Some maps will vis in under a minute, but some maps will literally take hours (none of the stock ID maps take ages... I vispatched them in under an hour). If you want to vis the stock ID maps, you'll need to grab a tool like PakScape to move the maps out of the .PAK files, vis them, and put them back in (copy the maps from the .PAK file through PakScape, delete them, save the .PAK, vis the maps you copied, go back to the .PAK file in PakScape and copy them back in and save).

    Stipulations
    *Transparent water only works if the server has vispatched maps. You cannot vispatch your maps, connect to Shmack and see through the water. The water will look transparent, but you won't see any entities under the water (players, ammo boxes, etc).

    *You can connect to a server which runs vispatched maps and not vispatch your own maps and still get transparent water by using r_novis 1 (at the cost of performance... it hits harder on some maps than others).

    *Playing singleplayer counts as running a server. If you start a new game and use r_novis 1 but don't vispatch your maps, you'll get the same effect as connecting to a server that doesn't run vispatched maps. The water will look transparent, but you won't see anything under the surface.
    Last edited by foq; 12-13-2010, 10:15 AM.
    e|------------------------0---------------
    B|---------------0^1----------------1----
    G|---------------2------2------0^2-------
    D|---------------2-------2--2-------------
    A|---------------0------------------------
    E|----------------------------------------

  • #2
    recompiling the maps would be cleaner instead of patching them

    Comment


    • #3
      thanks a lot foqer. perhaps after i read this a few times, i might eventually understand this. i've had this stuff explained to me many times yet can't quite understand all of it.
      there's a few points I think should be added to this and then hopefully baker might maybe consider stickying it? =D

      first, what are the optimal settings for the average player to have, who plays on a mix of servers? make this a lil clearer. 2nd, you explain r_wateralpha pretty clearly but not r_novis so well--what does this command really do? there's also another thing i want someone to explain, but it requires a screenshot which i'll post later when i can get at my quake machine

      Comment


      • #4
        Cheers Foqer
        http://euroquake.webs.com

        Comment


        • #5
          Spooker, in a perfect world r_novis should never be used. It overrides the map visibility information.

          /Yes, I stuck the thread. 3 years ago when this site was started, user contributed submissions of tutorials or displays of works in process (maps, models) or finished works was rare. As this is becoming much more common I have an idea to make this all easier to keep track of. I'll message Sole about it and see what he thinks about restructuring the forums just a little.
          Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

          So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

          Comment


          • #6
            Recommended amount of maps to be vis'd simultaneously? Your experience is golden, how many did you run at the same time,and what CPU was preforming the tasks?



            r_novis changes how much of the map is loaded at once ..

            r_novis 0 = only the sections of map you can see are loaded.
            r_novis 1 = entire map is loaded, regaurdless of whether you can see it or not.

            when set to 1, some gaming rigs frames per sec will come to crawl compared to what people normally get in quake.
            Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

            Comment


            • #7
              I ran as many as I could fit into a fullscreen folder window without scrolling, so that I didn't have to keep going back and adding more maps once others finished. Scrolling will certianly occur when you start making .prt files, but that doesn't matter because you're only working with the .bsp files.

              My CPU was an AMD Sempron-LE 1250 2.2GHz @ 3GHz. Now I have an AMD Athlon64 x2 7750 Black Edition 2.7GHz @ 3GHz, so it would go much faster because of the 2nd core and slightly faster arcitecture.

              Remember that transparent water only works if the SERVER vispatched the maps. r_novis 1 makes it possible for the client to have transparent water, regardless if the client vispatched the maps or not. So, if the server vispatched the maps but the client didn't, the client can run r_novis 1 and the water will be transparent.
              e|------------------------0---------------
              B|---------------0^1----------------1----
              G|---------------2------2------0^2-------
              D|---------------2-------2--2-------------
              A|---------------0------------------------
              E|----------------------------------------

              Comment


              • #8
                This 10 year old guide is a bit more thorough: Quake Info Pool

                Also, I was wondering if someone could explain this effect to me:



                This is on shmack, on E2M3 in the secret room behind the dopefish. Basically, when I'm near the surface of the water, I can see a lot of things that I shouldn't be able to see. In this picture, I can see a yellow armor behind a wall, I can see the moving portion of the wall to the dopefish which is also behind a wall, and I can see the piece that used to be blocking the door to the area I'm in, which is now underneath the floor. I don't know what causes this effect, and I don't have any hacks or pak2s. This effect only happens right near the surface of the water. I use glproquake 3.50 with an ATI radeon x1600 and AMD 64 x2 4200+

                Comment


                • #9
                  It is because r_wateralpha value is below 1, and that actually the map has not been compiled from transparent water. Type r_wateralpha 1 in the console and it should resolve the issue
                  What Does Not Kill You, Makes You Stronger

                  Comment


                  • #10
                    You're crossing a leaf contents boundary and can temporarily see things outside of your standard PVS. Quake actually has two major places where it calculates the PVS - one client-side (which determines what surfaces in the world model and static entities like torches get drawn) and one server-side which determines what entities get sent to the client. Outside of the server-side check, no PVS checks are normally run on these entities. BUT the server side PVS is actually a "fat" PVS, including leafs 8 pixels in either direction from the termination point of the standard PVS. This is done so as to account for bobbing of the client viewpoint. So therefore you get those extra entities showing up. Crossing leaf contents boundaries then causes it to happen like in your screenshot above.
                    IT LIVES! http://directq.blogspot.com/

                    Comment


                    • #11
                      Spook,

                      The maps on Shmack aren't vispatched on the server-side, so you will get some ugliness like that. For example, I was on E1M2 on a server that didn't have vispatched maps, and I could see the underwater hallway for the secret with the 2 health boxes and shell pack. The shootable secret door didn't appear to be there, but of course as soon as I jumped underwater the door appeared.
                      e|------------------------0---------------
                      B|---------------0^1----------------1----
                      G|---------------2------2------0^2-------
                      D|---------------2-------2--2-------------
                      A|---------------0------------------------
                      E|----------------------------------------

                      Comment


                      • #12
                        Originally posted by mhquake View Post
                        You're crossing a leaf contents boundary and can temporarily see things outside of your standard PVS. Quake actually has two major places where it calculates the PVS - one client-side (which determines what surfaces in the world model and static entities like torches get drawn) and one server-side which determines what entities get sent to the client. Outside of the server-side check, no PVS checks are normally run on these entities. BUT the server side PVS is actually a "fat" PVS, including leafs 8 pixels in either direction from the termination point of the standard PVS. This is done so as to account for bobbing of the client viewpoint. So therefore you get those extra entities showing up. Crossing leaf contents boundaries then causes it to happen like in your screenshot above.
                        wow MH, thanks for that amazing explanation. you seem to have a very deep understanding of how quake is coded.

                        the effect doesn't bother me. actually, i use it quite to my advantage. i just worry that it's somewhat unfair, since i'm guessing probably not everyone has this effect

                        Comment


                        • #13
                          Originally posted by spooker View Post
                          wow MH, thanks for that amazing explanation. you seem to have a very deep understanding of how quake is coded.

                          the effect doesn't bother me. actually, i use it quite to my advantage. i just worry that it's somewhat unfair, since i'm guessing probably not everyone has this effect
                          I can't confirm but I'm pretty certain it's a GLQuake-with-multitexturing only (i.e. virtually everyone these days) artefact that occurs owing to the draw order used. In an ideal world texture changes would be free and everything could be drawn front to back (for optimal depth buffering) and with water surfaces in their proper place in the sort order. I'm pretty certain this is the way things are done in software Quake (but without the depth buffer - at least for the world) but GLQuake is a cranky old beast.

                          Thoughts: if the ability to have translucent water is server-side, should the r_wateralpha cvar also be server-side - to ensure that all players have a consistent value for it? Otherwise what's to stop player 1 from setting an extremely low value to get an advantage by being able to see better?
                          IT LIVES! http://directq.blogspot.com/

                          Comment


                          • #14
                            I hate it when the server forces values on you. Shmack disables chase_active, and the CA servers disable r_wateralpha, and FvF rebinds keys and sets your r_wateralpha to .6 at every map change. The former 2 are exceptionally annoying because once you've been to that server, you can't leave and go to another server and use it because it stays disabled. I often find myself closing quake and restarting when I want to hop servers.
                            e|------------------------0---------------
                            B|---------------0^1----------------1----
                            G|---------------2------2------0^2-------
                            D|---------------2-------2--2-------------
                            A|---------------0------------------------
                            E|----------------------------------------

                            Comment


                            • #15
                              I can understand disabling chase_active and r_wateralpha because they can allow you to see parts of the map that you wouldn't otherwise, but rebinding keys is just plain evil.

                              KEYBINDINGS BELONG TO THE PLAYER!
                              IT LIVES! http://directq.blogspot.com/

                              Comment

                              Working...
                              X