PDA

View Full Version : Reject


Jow
January 2nd, 2003, 09:02 AM
What difference is there between windeu's reject and RMB's reject?

Usually windeu's reject keeps enemies standing in the "darkness" and not seeing me.
And I see them, I tried to lower gamma and brightness, but I still see them.

Can I adjust what area is considered dark?
Then there are these dynamic lights. I usually place them in dark areas to lit them, but the reject builder considers these areas dark instead of lit area.

I understand the hex numbers, so A is 10 and F is 15. But I do not understand how this reject table works. Here's a part of windeu's reject.

0100: CBE0 FFFF FFFF 7F5E FD9C FFFF 007F 0000
0110: 0000 0000 0000 0000 0000 0000 0000 0000
0120: 0000 0000 0000 0000 0000 2B40 C000 F1E7
0130: FFC7 35F8 00F1 C431 F8FF 0215 F2F8 FFFF
0140: BFFF 1FD7 FF67 FFFF 001F 0000 0000 0000
0150: 0000 0000 0000 0000 0000 0000 0000 0000
0160: 0000 0000 0000 0670 F000 FC7B 3FF1 4D7E
0170: 403C F11C 7E3F 0085 FCBE FFFF EFFF C7F5
0180: FFD9 FFFD 0007 0000 0000 0000 0000 0000
0190: 0000 0000 0000 0000 0000 0000 0000 0000
01A0: 0000 0000 0000 0000 0000 0000 0000 0000
01B0: 0000 0000 0000 0000 0000 0000 0000 0000
01C0: 0000 0000 0000 0000 0000 0000 0000 0000
01D0: 0000 0000 0000 0000 0000 0000 0000 0000
01E0: 0000 0000 0000 0000 0000 0000 0000 0000
01F0: 0000 0000 0000 0000 0000 8000 0066 DF80

I know that zero is full "visibility" and F is no "visibility" at all. But where are the sectors?

Exl
January 2nd, 2003, 11:19 AM
The 'reject' is simply a table which DooM uses to check if a monster can see the player when he is in a sector. WinDEU and RMB simply generate this table by doing some line-of-sight calculations, to see if a line from the object can reach another sector without any obstacles.
Okay, so I know I'm not good at explaining stuff. You might want to read the Unofficial DooM Specs, it's all in there.

------------------
Proud member of The NewDoom Community project (http://www.newdoom.com/hosted/themegawad/ndcp.shtml)

WhackEd 1.1.81 (http://home.wanadoo.nl/dennis.meuwissen/whacked)

The Undertaker
January 2nd, 2003, 01:28 PM
Yeah, its simply used to speed the game up. It can be done without but can be modified to make special sectors.

Jow
January 2nd, 2003, 01:44 PM
Ok. I downloaded RMB and tried what it can do. First 3 maps were ok. The fourth map is a problem. In that map enemies doens't see me. So that map would be too easy. The fourth map is bigger than the others. Doesn't RMB handle big maps?

If I compare their reject data with XWE, they look the same. F's almost everywhere.

I used this in the command line for all maps:

RMB MAP04.WAD MAP04R.WAD -MAP04 -PREPROCESS 9 -PERFECT

After that I did glnodes with glbsp without clobbering reject.

Pate
January 3rd, 2003, 07:44 AM
The fact that monsters won't attack you won't necessarily mean that reject is incorrect. The line-of-sight things in Doom are a bit complicated.

Anyhow, you should not need to use RMB. Use ZenNode (http://www.mrousseau.org/programs/ZenNode/) as your node builder. It builds the highest quality nodes and creates a working reject for you.

(Using other node builders than ZenNode causes ugly texture holes, at least in Legacy. That's why you should use it.)

------------------
Tired of crappy Doom editors? So was I, that's why I'm coding my own (http://www.hut.fi/~jpakkane/why/).

Aliotroph?
January 3rd, 2003, 03:44 PM
Yeah, REJECT has nothing to do with light and dark sectors though. All just line-of-sight stuff. I think it's all done with no consideration for the 3D-ness of sectors too, which probably means that it's not as good as it could be.

------------------
"Once in a while a programmer really writes something he's proud of, a slick, elegant, blazingly fast routine that stands as a benchmark against which other code will be judged by. However, this is not the case with TED's fill routine. This slow, stupid algorithm will casually fill one plane of data in a painfully creeping manner. Press ESC when it gets confused." - John Romero on TED (Tile EDitor)

Aliotroph?.postCount++;

Jow
January 3rd, 2003, 06:06 PM
Thank you for your help. Now I know a little better what the reject is.

Aliotroph?
January 4th, 2003, 12:15 AM
If you want a detailed description you can find a pretty good one in the ZenNode docs.

------------------
"Once in a while a programmer really writes something he's proud of, a slick, elegant, blazingly fast routine that stands as a benchmark against which other code will be judged by. However, this is not the case with TED's fill routine. This slow, stupid algorithm will casually fill one plane of data in a painfully creeping manner. Press ESC when it gets confused." - John Romero on TED (Tile EDitor)

Aliotroph?.postCount++;