--
[ Picked text/plain from multipart/alternative ]
Maybe if you incorporate mapster protocols in there too it will help? :^D

http://countermap.counter-strike.net/Mapster


Chris Blane wrote:

>Had a feeling I might start seeing this topic crop up on the list Zipster.
>:) Still no luck with that last bug eh?
>
>:Tal-N
>----- Original Message -----
>From: Skyler York <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Tuesday, April 16, 2002 7:56 AM
>Subject: [hlcoders] HLVIS (Warning, technical details and code)
>
>
>>[ Converted text/html to text/plain ]
>>I've been working on a few new features for HLVIS, and I have been making
>>
>good
>
>>progess.  One of the features is a new maximum VIS option.  In addition to
>>being able to compile the map the first time around with this new feature,
>>
>you
>
>>can chose to run a MaxDistVis on an already compiled map.
>>
>>This is my problem.  If you run a MaxDistVis during the initial compile,
>>
>the
>
>>the code flags the correct leafs to be invisible:
>>
>>------------------------------------------------
>>// i = leafnum of first leaf, j = leafnum of second leaf
>>offset_l = i >> 3;
>>bit_l = (1 << (i & 7));
>>offset_tl = j >> 3;
>>bit_tl = (1 << (j & 7));
>>
>>for(k = 0; k < l->numportals; k++)
>>{
>>     for(m = 0; m < tl->numportals; m++)
>>     {
>>          l->portals[k]->mightsee[offset_tl] &= ~bit_tl;
>>          tl->portals[m]->mightsee[offset_l] &= ~bit_l;
>>     }
>> }
>>
>>----------------------------------------------
>>It basically eliminates leafs before they are even fully VISed.
>>
>>However, if you run a MaxDistVis on an already compiled map, for the most
>>part, the leafs rendered in game are correct, except for a few oddball
>>
>leafs
>
>>that aren't "unset" in the code for some unknown reason.  The detection is
>>
>the
>
>>same, but it doesn't unset them.  What I have to do first is decompress
>>
>all
>
>>the vis information:
>>-------------------------------------------------
>>void   DecompressAll(void)
>>{
>>     int i;
>>     byte *dest;
>>     for(i = 0; i < g_portalleafs; i++)
>>     {
>>          dest = g_uncompressed + i * g_bitbytes;
>>          DecompressVis((const unsigned char*)(g_dvisdata +
>>
>(byte)g_dleafs[i +
>
>>1].visofs), dest, g_bitbytes);
>>     }
>>}
>>------------------------------------------------
>>
>>I use this code to "unset" leafs:
>>-----------------------------------------------
>>// i = leafnum of first leaf, j = leafnum of second leaf
>>byte* base_vis_l = g_uncompressed + i * g_bitbytes;
>>byte* base_vis_tl = g_uncompressed + j * g_bitbytes;
>>offset_l = i >> 3;
>>bit_l = (1 << (i & 7));
>>offset_tl = j >> 3;
>>bit_tl = (1 << (j & 7));
>>base_vis_l[offset_tl] &= ~bit_tl;
>>base_vis_tl[offset_l] &= ~bit_l;
>>
>>------------------------------------------------
>>
>>...and this code to recompress the vis info:
>>------------------------------------------------
>>void   CompressAll(void)
>>{
>>     int i, x = 0;
>>     byte *dest;
>>     byte *src;
>>     byte compressed[MAX_MAP_LEAFS / 8];
>>     vismap_p = vismap;
>>
>>     for(i = 0; i < g_portalleafs; i++)
>>    {
>>        memset(&compressed, 0, sizeof(compressed));
>>        src = g_uncompressed + i * g_bitbytes;
>>
>>       // Compress all leafs into global compression buffer
>>       x = CompressVis(src, g_bitbytes, compressed, sizeof(compressed));
>>       dest = vismap_p;
>>       vismap_p += x;
>>       if (vismap_p > vismap_end)
>>      {
>>           Error("Vismap expansion overflow");
>>       }
>>
>>       g_dleafs[i + 1].visofs = dest - vismap;            // leaf 0 is a
>>common solid
>>       memcpy(dest, compressed, x);
>>     }
>>}
>>--------------------------------------------------
>>
>>It works at around a 90% - 95% success rate, but those oddball leafs annoy
>>
>me.
>
>>Before I forget, here are some pics of what I mean.
>>
>>This is the map compiled normally:
>>http://144.132.16.252/zipster/[2]mdv0.jpg
>>
>>This is the map compiled the first time around with a max distance of 128:
>>http://144.132.16.252/zipster/[4]mdv1.jpg
>>
>>And here is a picture of the original map being MaxDistVis'd after a
>>
>regular
>
>>compile (w/ 128 limit):
>>http://144.132.16.252/zipster/[6]mdv2.jpg
>>
>>As you can see, that blasted leaf in the distance is screwing me over!  I
>>don't know how many of you know much about HLVIS procedures, but I hope
>>
>I've
>
>>given you enough information.  I would go into more detail, but there's
>>
>just
>
>>too much if you don't have an idea of what's happening.
>>
>>--------------------------------------------------------------------------
>>
>----
>
>>MSN Photos is the easiest way to share and print your photos: Click
>>
>Here[7]
>
>>===References:===
>>  1. http://144.132.16.252/zipster/mdv0.jpg
>>  2. http://144.132.16.252/zipster/
>>  3. http://144.132.16.252/zipster/mdv1.jpg
>>  4. http://144.132.16.252/zipster/
>>  5. http://144.132.16.252/zipster/mdv2.jpg
>>  6. http://144.132.16.252/zipster/
>>  7. http://g.msn.com/1HM505401/15
>>
>>_______________________________________________
>>To unsubscribe, edit your list preferences, or view the list archives,
>>
>please visit:
>
>>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>
>
>_______________________________________________
>To unsubscribe, edit your list preferences, or view the list archives, please visit:
>http://list.valvesoftware.com/mailman/listinfo/hlcoders
>

--
I think...I think it's in my basement. Let me go upstairs and check. -M.C. Escher


--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to