props_skyportal - HOM problem


(Irrelevant) #1

In an attempt to make this work, I’ve narrowed it down to the simplest possible arrangement.

I have a 512x512x256 room. All but the top side are common/white, and the top is skies/sd_batterysky. It contains one info_player_deathmatch, placed at 0, 0, 0. It is centered at 0, 0, 0.

I have another room, this time 128x128x128. All sides are common/white. It is centered at 1024, 1024, 1024. There is a light halfway between its center and one of the top corners, strength 512. There is a props_skyportal centered in the box.

When I compile this map, I get HOM where the sky should be. Why?


(Drakir) #2

common/white? Never seen such a shader


(Irrelevant) #3

OK, now I have a little more time, I can elaborate a bit.

Forget common/white, I’ve replaced it with battery/sand_disturb, which you should have.

Just tried rebuilding the map from scratch. Everything as above, all brushes are structural.

entity info:

worldspawn:
mapcoordsmins -384 384
mapcoordsmaxs 384 -384

light:
light 512
origin 1056 1056 1056

props_skyportal:
origin 1024 1024 1024

info_player_deathmatch:
origin 0 0 0

All spawnflags are 0.

Now, the whole damn thing is one giant HOM. :banghead:
Everything except for the walls surrounding the props_skyprotal, anyway. Which doesn’t help much, as it’s appearing in its normal place, not as a skyportal.


(MrLego) #4

Does the HOM effect still show if you remove the light from the portal box?

I think technically that light would be outside of the map - in the void.


(Irrelevant) #5

Well, I don’t get a leak error when compiling, but anyway…

tries it

No, still HOM everywhere.

I’ve uploaded the XML file. Could someone please save this as a .xmap file and try compiling it? I have a feeling it may be my computer at fault.


(joop sloop) #6

I remember reading something about skyportals, that they should be to the right and above your level…
meaning that you don’t have any overlap on the xy, zx and zy planes…


(Irrelevant) #7

If you’d looked at the map file there, you’d have seen that that is already the case. In fact, you could have worked it out from the information I have provided in this thread with little difficulty, too.

This is an infuriating problem. :angry:


(chavo_one) #8

ok, I took a look at your map, and indeed it was a puzzling problem. I got it to work, and it looks like you’ve found a bug in q3map2, so you may want to let ydnar know.

All I did to fix this was move the skybox off of the 1024 1024 1024 origin. My solution required three unique values for the origin. Same goes for the proper level (non-skybox). I moved it’s origin off of 0 0 0. Once I changed the origins, all worked fine.

Here’s the map that compiled correctly for me. It’s a .map file because they are smaller than .xmap files. (What is the benefit of using xmap files anyway?)


// entity 0
{
"mapcoordsmins" "-384 384"
"mapcoordsmaxs" "384 -384"
"classname" "worldspawn"
"ambient" "5"
"_color" "1 1 1"
// brush 0
{
( -192 256 -128 ) ( -192 -128 -128 ) ( -192 -128 -192 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 256 256 -128 ) ( -192 256 -128 ) ( -192 256 -192 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 -128 -128 ) ( 320 256 -128 ) ( 320 256 -192 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -192 -256 -128 ) ( 256 -256 -128 ) ( 256 -256 -192 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -192 -128 -128 ) ( -192 256 -128 ) ( 256 256 -128 ) battery/sand_disturb -128 0 0 0.500000 0.500000 0 0 0
( 256 256 -192 ) ( -192 256 -192 ) ( -192 -128 -192 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 1
{
( -192 256 -128 ) ( -256 256 -128 ) ( -256 -256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -256 -256 128 ) ( -256 256 128 ) ( -192 256 128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -256 -256 128 ) ( -192 -256 128 ) ( -192 -256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -192 -256 128 ) ( -192 256 128 ) ( -192 256 -128 ) battery/sand_disturb 0 0 0 0.500000 0.500000 0 0 0
( -192 256 128 ) ( -256 256 128 ) ( -256 256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -256 256 128 ) ( -256 -256 128 ) ( -256 -256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 2
{
( -192 -256 128 ) ( -192 -320 128 ) ( -192 -320 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 -256 128 ) ( -192 -256 128 ) ( -192 -256 -128 ) battery/sand_disturb -128 0 0 0.500000 0.500000 0 0 0
( 320 -320 128 ) ( 320 -256 128 ) ( 320 -256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -192 -320 128 ) ( 320 -320 128 ) ( 320 -320 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -192 -320 128 ) ( -192 -256 128 ) ( 320 -256 128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 -256 -128 ) ( -192 -256 -128 ) ( -192 -320 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 3
{
( 384 256 -128 ) ( 320 256 -128 ) ( 320 -256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 -256 128 ) ( 320 256 128 ) ( 384 256 128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 -256 128 ) ( 384 -256 128 ) ( 384 -256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 384 -256 128 ) ( 384 256 128 ) ( 384 256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 384 256 128 ) ( 320 256 128 ) ( 320 256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 64 128 ) ( 320 -448 128 ) ( 320 -448 -128 ) battery/sand_disturb 0 0 0 0.500000 0.500000 0 0 0
}
// brush 4
{
( -192 320 128 ) ( -192 256 128 ) ( -192 256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 320 128 ) ( -192 320 128 ) ( -192 320 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 256 128 ) ( 320 320 128 ) ( 320 320 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -192 256 128 ) ( 320 256 128 ) ( 320 256 -128 ) battery/sand_disturb -128 0 0 0.500000 0.500000 0 0 0
( -192 256 128 ) ( -192 320 128 ) ( 320 320 128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 320 -128 ) ( -192 320 -128 ) ( -192 256 -128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 5
{
( 320 256 128 ) ( -192 256 128 ) ( -192 -256 128 ) skies/sd_batterysky -128 0 0 0.500000 0.500000 0 0 0
( -192 -256 192 ) ( -192 256 192 ) ( 320 256 192 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -192 -256 192 ) ( 320 -256 192 ) ( 320 -256 128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 -256 192 ) ( 320 256 192 ) ( 320 256 128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 320 256 192 ) ( -192 256 192 ) ( -192 256 128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -192 256 192 ) ( -192 -256 192 ) ( -192 -256 128 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 6
{
( 1088 1024 960 ) ( 960 1024 960 ) ( 960 896 960 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 896 1024 ) ( 960 1024 1024 ) ( 1088 1024 1024 ) battery/sand_disturb 0 -128 0 0.500000 0.500000 0 0 0
( 960 896 1024 ) ( 1088 896 1024 ) ( 1088 896 960 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 896 1024 ) ( 1088 1024 1024 ) ( 1088 1024 960 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 1024 1024 ) ( 960 1024 1024 ) ( 960 1024 960 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 1024 1024 ) ( 960 896 1024 ) ( 960 896 960 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 7
{
( 1088 1024 1152 ) ( 960 1024 1152 ) ( 960 896 1152 ) battery/sand_disturb 0 -128 0 0.500000 0.500000 0 0 0
( 960 896 1216 ) ( 960 1024 1216 ) ( 1088 1024 1216 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 896 1216 ) ( 1088 896 1216 ) ( 1088 896 1152 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 896 1216 ) ( 1088 1024 1216 ) ( 1088 1024 1152 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 1024 1216 ) ( 960 1024 1216 ) ( 960 1024 1152 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 1024 1216 ) ( 960 896 1216 ) ( 960 896 1152 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 8
{
( 960 1024 1024 ) ( 896 1024 1024 ) ( 896 896 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 896 896 1152 ) ( 896 1024 1152 ) ( 960 1024 1152 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 896 896 1152 ) ( 960 896 1152 ) ( 960 896 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 896 1152 ) ( 960 1024 1152 ) ( 960 1024 1024 ) battery/sand_disturb 128 128 0 0.500000 0.500000 0 0 0
( 960 1024 1152 ) ( 896 1024 1152 ) ( 896 1024 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 896 1024 1152 ) ( 896 896 1152 ) ( 896 896 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 9
{
( 1088 896 1024 ) ( 960 896 1024 ) ( 960 832 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 832 1152 ) ( 960 896 1152 ) ( 1088 896 1152 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 832 1152 ) ( 1088 832 1152 ) ( 1088 832 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 832 1152 ) ( 1088 896 1152 ) ( 1088 896 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 896 1152 ) ( 960 896 1152 ) ( 960 896 1024 ) battery/sand_disturb 0 128 0 0.500000 0.500000 0 0 0
( 960 896 1152 ) ( 960 832 1152 ) ( 960 832 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 10
{
( 1152 1024 1024 ) ( 1088 1024 1024 ) ( 1088 896 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 896 1152 ) ( 1088 1024 1152 ) ( 1152 1024 1152 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 896 1152 ) ( 1152 896 1152 ) ( 1152 896 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1152 896 1152 ) ( 1152 1024 1152 ) ( 1152 1024 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1152 1024 1152 ) ( 1088 1024 1152 ) ( 1088 1024 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 1024 1152 ) ( 1088 896 1152 ) ( 1088 896 1024 ) battery/sand_disturb 128 128 0 0.500000 0.500000 0 0 0
}
// brush 11
{
( 1088 1088 1024 ) ( 960 1088 1024 ) ( 960 1024 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 1024 1152 ) ( 960 1088 1152 ) ( 1088 1088 1152 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 1024 1152 ) ( 1088 1024 1152 ) ( 1088 1024 1024 ) battery/sand_disturb 0 128 0 0.500000 0.500000 0 0 0
( 1088 1024 1152 ) ( 1088 1088 1152 ) ( 1088 1088 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 1088 1088 1152 ) ( 960 1088 1152 ) ( 960 1088 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 960 1088 1152 ) ( 960 1024 1152 ) ( 960 1024 1024 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
}
// entity 1
{
"origin" "64 0 0"
"classname" "info_player_deathmatch"
}
// entity 2
{
"classname" "props_skyportal"
"origin" "1024 960 1024"
}
// entity 3
{
"classname" "light"
"origin" "1056 992 1056"
"light" "512"
}


(Irrelevant) #9

w00! Thankee!
:notworthy:

.map is readable text? Opps.
I’m used to working in Blender, where the basic file type is effectively a memory dump. :confused:

Thanks again. I’ll notify ydnar.

Argh. Now working on a diff. map, and this doesn’t work any more. I’ll try a completely fresh map, just on the off-chance that it works.


(MrLego) #10

I played with this also.

If I use a standard six-sided skybox like those found on Socks website I could make it work and then not work.

I even made one using six seperate images from ET in the portal box and each one showed up in-game as sky. Once again it worked and then did not work.

When I increased the size of the map then it worked correctly. Once I started adding a few brushes inside the box it stopped working again.

I compiled Chavo’s sample map and loaded it in the game.

It looks fine from inside the box but if you turn off the player clipping and increase your elevation above the side walls the HOM is still there.

It may have something to do with the small size of the test map.

I also think that you need to do a full vis compile - not a “vis -fast” compile.

I am currently using a skyportal on my current project with out any problems at all. That “box” is currently 8192 x 8192 units.

Here is a birdseye view of some early structural brushwork in the skybox.

EDIT: Screenshot moved.


(Irrelevant) #11

Tweaked it a bit. Now it works.

I’ll just fiddle with their position until they work, now I know that that does work. I hate working by Voodoo Programming, but it seems to be the only option here.


(ydnar) #12

Doesn’t look like a bug in Q3Map2. It doesn’t know or care about the RTCW/ET portal sky entity.

However, I did tweak the portal sky code in ET to render faster, making certain assumptions about how it’s set up.

I haven’t looked at the maps in this thread as I just got home, but I’d suggest making sure the portal sky area is away from the rest of the map, and not on the origin.

y


(Irrelevant) #13

Thanks for taking a look.

The map goes from (-384, -384) to (384, 384), by mapcoordsm**s. The skyportal brushes go from (896, 896) to (1152, 1152).

'nuff space? :stuck_out_tongue:


(neotic) #14

I don’t get it, I have a HOM too. My props_skybox has a unique origin as does the original sky. The props_skybox is above and to the right of the rest of the level. There are no holes, etc… whats wrong? what info do you need? Never had this problem with Q3’s portal sky = /


(thore) #15

argh! my whole 12-paged essay got doomed by this nifty quick reply box…

anyways i’m still begging on my knees for help, as a don’t know what else to to to get my skyportal to work.
google, forum search… neither turned out to solve my problem (although the HOM or fog thingy was described
here and there)…

could anyone please re-do a short lineup of important things to pay attention to when using a skyportal?
obviously i’m not the first one experiencing this HOM issue… still wondering why i didn’t find a solution yet :confused:

pleeeeeeeese help :notworthy:


(MrLego) #16

I created this post that may help - http://www.splashdamage.com/index.php?name=pnPHPbb2&file=viewtopic&t=7714


(thore) #17

thank you! i’ll give this _blocksize thingy a try.