|
Yes
#4551 posted by Preach on 2005/12/08 05:51:06
Just rewrite the code for the custom lightstyles so that style 1 is simply "m", rather than whatever it was originally - some kind of candle flicker I think. Then just make sure every light in your map has lightstyle 1, the only thing that won't be affected is minlight and sunlight as you say. You could then make an entity to do the flashing, but the best place to do it would be in StartFrame(). Just have a global for the time to the next flash. If time > that global + 0.1, reset style 0 and generate the time for the next flash. Else if time > that global, change style 0 to a bright light and wait. Otherwise do nothing.
Afterthought
#4552 posted by Preach on 2005/12/08 05:56:54
Of course, that sketch of the code doesn't include a thunderclap, which is a dreadful omission. Now, at first it may look a little difficult to include a sound, if you play it when you brighten the lights, then it might start playng several times, as most people have a high enough fps these days to have multiple frames in 0.1 seconds. Instead, make the sound play when you reset the light style to "m", that way it will only play once. This may sound like a compromise, but if you think about it, it makes more sense, as you see the lightning before you hear the thunder : - ).
Lightning
#4553 posted by Ankh on 2005/12/08 08:11:07
So there is no simple way to incorporate lightning and thunder in a quake map? I mean without coding, just using some "Teaching Old Progs.dat New Tricks" method?
Actually...
#4554 posted by necros on 2005/12/08 08:37:29
i think there might be a way, sort of...
but it wouldn't be random, it would only happen when triggered.
you could put in an ambient_thunder, this will precache the thunder sound, even though the entity itself never worked.
then, make a door with the 'noise' key set to the thunder sound, then you trigger the door and flicker the lights (have a relay to switch the lightning lights off again)
anyway, i was just fiddling around with an idea i had to make thunder easier to implement, but i think having to make mappers put all normal lights to a lightstyle other than 0 is probably annoying.
Random Events
#4555 posted by Preach on 2005/12/08 10:28:19
You can have things triggered at random intervals with a lovely little hack. Make a big room with a gib spawner and a trigger_multiple with the hack to make it trigerable by anything that touches it. Set up the trigger so that it will sometimes be hit by the gib, but not every time. Then have it spawn gibs at a suitable frequency. Every time one hits the trigger, you get a burst of lightning.
In addition, wouoldn't it be possible to write a custom light exe(well, hack the existing ones abit) so that minlight and skylight also generate a lightmap for style 32, which is always fullbright wherever it is hit. Combine this with the above and a single switchable light(which should be style 32 itself), and you'd have the whole package without modifying the progs.
Or...
#4556 posted by metlslime on 2005/12/08 12:20:35
It is possible to light a map without minlight or sunlight ... i've done it. The trick is to use regular lights, some of which are up in or near the sky brushes.
Then you can set all lights intended to represent sky light to the same targetname.
Gom
#4557 posted by Lunaran on 2005/12/08 17:18:59
no matter what I do, my map looks almost identical to Sandstorm.
That's why they're only used one and a half times. :)
Try pairing them with some /stroyent textures. stroy_pillar2 and stroy_pillar2_alight are your best friends. Try something new with the lighting too - see if cool colors look any good with the orangy rust.
Necros, Metl & Preach
#4558 posted by Ankh on 2005/12/09 03:59:33
Thanks.
That's what I was thinking about. Some flickering lights triggered by a trigger. The triggers could be placed in some chosen places to get the best effect.
I have a question about setting up the "thunder door". What should be the exact value of the 'noise key'?
The event could be also triggered by an semi-random logical gate.
Different Sounds For Doors
#4559 posted by Mike Woodham on 2005/12/10 01:19:19
Not my own invention but I don't know where it comes from...
"classname"-"func_door"
"angle" "-1"
"target" "extranoise"
"sounds" "0"
"classname" "info_notnull"
"targetname" "extranoise"
"use" "train_wait"
"wait" "-1"
"sounds" "1"
"noise"-"items/armor1.wav"
This gives the door an armour sound when opening.
It doesn't work with thunder because the thunder sound itself is broken: not looped and therefore does not pre-cache. I think...
Uh?
#4560 posted by Mike Woodham on 2005/12/10 01:21:05
Why did it truncate 'door' and 'armor.wav'?
Easier Method
#4561 posted by czg on 2005/12/10 03:01:18
Set "sounds" to "5", and "noise" and "noise2" (IIRC) to the .WAVs you want to play. Must be precahced.
Czg
#4562 posted by Mike Woodham on 2005/12/10 03:43:12
How do you pre-cache sound from the editor i.e. no QC? (I think this is what Ankh wants)
Pre-cache
#4563 posted by Ankh on 2005/12/10 04:50:19
I was thinking that to pre-cache something you have to put it somwhere into the map. So I just have to put the ambient_thunder entity somewhere. I will try that out.
With Hammer it should be easy to set the sounds for the door. It has the required fields implemented with the fgd file already, I think.
#4564 posted by necros on 2005/12/10 09:17:53
yeah, like i said, even though the thunder sound entity is broke, it still precaches the sound.
keep in mind that players will see that warning about non-looped sounds everytime they play your map. :\
Coming From The Progs.dat Thread...
#4565 posted by Spirit on 2005/12/14 04:40:09
What is a "skip texture"?
Skip To My Lou, My Darling...
#4566 posted by Preach on 2005/12/14 05:53:00
Skip in other engines is a very handy texture you can apply to surfaces, and the surface is simply ignored at compile time, it doesn't get rendered or lit or anything. It's usually used for edges of scenes where the player shouldn't be able to reach, but that aren't culled when the map is built. If you try noclipping around some of the HL2 maps, for instance, you can see how the backs of buildings are entirely skipped because the player can't get to a position to see them.
Of course, quake doesn't have skip by default, but tyrann wrote a program that works as a good substitute:
http://www.planetquake.com/tyrann/files/skippy-0.0.zip
If you run this extra tool on your map, any face that has a texture named "skip" will be removed from the visible hull, although it will still clip, block visibility and so on. It's quite a handy addition to the quake toolkit.
Preach
#4567 posted by Jago on 2005/12/14 06:56:36
What does a Q1 mapper gain by using this tool?
Errr....
#4568 posted by JPL on 2005/12/14 07:40:20
Preach, regarding your explanations, either skip textures sounds to be like clip texture, and maybe close to caulking method... or I didn't understand what you said... :P
Humm
#4569 posted by bambuz on 2005/12/14 09:12:26
btw, what happens in q1 if you use clip texture only on one face?
Pretty Much JPL
#4570 posted by Preach on 2005/12/14 09:22:26
It is similar to clip, but there are some distinctions. One is that you can use skip on any face, if you had a brush with some faces clip and some not it doesn't work. Another difference is that skip brushes/faces are in fact solid to projectiles, whereas clip are not. This could be helpful for broken ground, as filling the gaps with skip faces will improve monster navigation over the ground. Of course, it also means you can't fire grenades through the holes in the ground, so it's not an ideal fix.
There are some drawbacks compared to clip as well. One is that a clip face blocks visibility for the vis program, even after it is 'removed'. So if you make a window with skip, even though you can see through it, the contents on the other side won't always be rendered once you run vis on the map. Another is that the whole skip brush is compiled just like a normal brush during the bsp stage, unlike clip which is treated specially. So the edges of a skip brush can clip away other faces, which is often undesirable as you can see through the skip. And the skip brushes will split surfaces, count towards clip nodes, and stuff like that.
A good way round some of the limitations of skip is to not use it on the world, but instead on other brush entities. The previous problems with a skip "window" can be avoided if you use a func_wall for the window, and just make all the surfaces skip. Another illustration of where skip might be useful is a complex shaped platform, or moving decoration or something, that is up against a wall. You can make all the backfaces that are never seen against the wall skip, and cut down the amount of rendering required. Plus some of the tricks in the progs thread use it.
Preach
#4571 posted by JPL on 2005/12/14 12:11:04
OK, thanks for these precisions... I understand better now the subtility.. :P
#4572 posted by Spirit on 2005/12/15 07:18:44
Thanks Preach :)
Jago
#4573 posted by R.P.G. on 2005/12/15 10:06:38
A mapper could gain: lower r_speeds by removing non-visible faces, moving ladders, statues (a la rpgsmse4) a one-unit thick trigger on the floor could be inaccessible until a given event by covering it with a a very thing func_wall skip brush. There's more.
Note:
#4574 posted by metlslime on 2005/12/15 10:14:00
movable ladders can be done with clip brushes, as long as you make sure the func_whatever has visible brushes (hidden in the floor, probably) that extend to the edge of the model's bounding box in all six directions. RPG, you might notice that i fixed the ladder in SM69 this way. P.S. when's SM69 coming out? P.P.S. maybe we should rename it to SM666 or something, if you think we can get it done before the actualy sessions get up to the 600s. Or not.
Re: Note:
#4575 posted by R.P.G. on 2005/12/15 10:20:54
You can make solid, moving invisible walls to slap metlslime with.
SM69 filename remains the same; although I'm thinking about changing the map title.
|
|
You must be logged in to post in this thread.
|
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.
|
|