Announcement

Collapse

The Infinity Blade Forums Have Moved

We've launched brand new Infinity Blade forums with improved features and revamped layout. We've also included a complete archive of the previous posts. Come check out the new Infinity Blade forums.
See more
See less

Question about Map Fog.

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

  • Question about Map Fog.

    This is bugging me for a while, but I really wanna know how to adjust the map fog.

    Such as making it more visible on certain maps that have lots of it.

    Any help would be great plz!!!

    Also, using the 'Show Fog' Command via Console Doesn't Count.

  • #2
    Two options:
    1. Open the maps in UEd (map editor), save them as a different name (add "_fog" or something to the file name, that way you won't break online compatibility). Then go through and check the various ZoneInfo actors and change the correct fog settings according to the info posted here.

    2. *I think* the zoneinfo fog variables (color, distance, bDistanceFog, bClearToFogColor, etc) are adjustable realtime. Create/code a mutator that uses a 'mutate' type command to allow you to get and set the various fog color and distance variables for the zone that your are in, and then save the Zone/fog settings to an .ini file as a string/struct or something by level name. Use other code in the mutator to "restore" saved settings when the map is played again.

    Comment


    • #3
      Hm...... A mutator? That could be possible, but I need someone who can verify this or had already done so.

      Comment


      • #4
        Simple test to see if this would work. Play a map with fog (the simpler the better) and try adjusting the zone fog through console commands:
        1. "set zoneinfo bDistanceFog 1"
        2. "set zoneinfo DistanceFogStart 0"
        3. "set zoneinfo DistanceFogEnd 500"

        If you see a noticeable change in the fog (or get fog where there was not before), then it means the properties can be changed real-time and you could accomplish this through a mutator.

        [EDIT] Now that I think about it I remember someone already made a fog mutator a long time ago (back in 2003-2005 time). I think it was one of the WoD guys, or maybe Fraghouse...

        Comment


        • #5
          Well....... I guess I'll dig it up and find it, though I doubt its still available for DL, that and the Original guys who made it are probably long gone as well. :/

          Maybe I can make one then? I did some very simple mutators a while back. I think I can give it a go.
          Depends how complex it is however and Im not willing to put too much time figuring it out...

          Comment


          • #6
            The mutator was called Fog Match (for UT2k3), I can't seem to find a link to it. Anyways, just read up on the mutator function 'mutate' (it can be bound to a key with a text parameter), then just use a switch statement to figure out what you want to do.

            If you pursue this, I'd recommend creating a little GUI window that allows you to set the color, distances etc. for the zone your are in. Since zoneinfos are serialized in the level (zoneinfo0, zoneinfo1, zoneinfo2 etc.) saving the data should be fairly straightforward (ie. save a struct entry in config array for the mutator that has the zoneinfo index and the corresponding info).

            Comment


            • #7
              A mutator? That could be possible, but I need someone who can verify this
              YOU can verify it

              Code:
              class MutMyfogger extends Mutator;
              
              function bool CheckReplacement(Actor Other, out byte bSuperRelevant)
              {
                  local PhysicsVolume PV;
                  PV = PhysicsVolume(Other);
              	if ( PV != None )
              	{
              		PV.bDistanceFog=true;
              		PV.DistanceFogColor.R=0;
              		PV.DistanceFogColor.G=16;
              		PV.DistanceFogColor.B=48;
              		PV.DistanceFogColor.A=64;
              		PV.DistanceFogStart=8.0;
              		PV.DistanceFogEnd=2000.0;
              	}
              	return true;
              }
              defaultproperties
              {
                  GroupName="EnvironmentalFX"
                  FriendlyName="NightFog"
                  Description="Adds volume fog to any map"
              }

              Comment


              • #8
                @ melissa_jo: Are you sure that will work on Physics Volumes (you would also need to check ZoneInfos too)? The reason I ask is that if I recall correctly CheckReplacement is only called for those actors that are not already present in the level (or maybe it was bStatic or whatever). Anyways, recommended addition to the code would be to call super.checkreplacement as well to make sure you don't break the mutator checkreplacement call chain.

                Comment


                • #9
                  recommend creating a little GUI window that allows you to set the color, distances etc.
                  agree
                  recommended addition to the code would be to call super.checkreplacement as well
                  agree

                  The code I pasted above is intended as a quick compilable proof-of-concept.
                  It's part of a larger rollup "environmental fx" mutator that I use to tweak level gravity/jumppads/projectiles, level lighting/fog, etc.

                  FWIW, I can't recall ever encountering a map in which the local zoneInfo fog properties have trumped the settings applied by the mutator.

                  Comment

                  Working...
                  X