HL2:Substance mod needs the help of a real coder to...

xdiesp

Spy
Joined
Nov 23, 2004
Messages
724
Reaction score
1
1.customize the output of a single changelevel entity,to have it load another map instead of the original one (from the console,being in developer mode)

2.link the "bullet time command" to aux power

any suggestion is welcome,but actual work is even better! and heavily credited!
 
and...
3.how can I limit the max number of sounds being heard? Substance has performance issues due to too many sounds heard at the same time. Maybe snd_mixahead "0.7"?
 
yeah, that would be me.

1 and 2 sound pretty easy, but you will need to elaborate a little more on #1.

in terms of #3, i think that is something engine specific, but we might be able to figure out some kind of a hack to get around that.

Adam
 
fifty7var: have you got already an idea for 1 and 2?
 
Nothing specific, but for #1, build a new changelevel entity extended from the existing one with any new properties you would need. (i don't know exactly what it is you want here, do you want an entity to place in the maps, or a modified console command??)

#2 I'd have to look at the sprint code, and see how the auxilery power works. It would be possible to have the time slow down to a halt, and then come back up to speed rather than a drastic change too.
 
#1 - I can only edit things in cpp files or in-game from the console,I can't pass through Hammer. Having said this,I need to reprogram one of these changelevels to have it send me elsewhere (let's call it "map x") typing something in the console.
 
Well I'm taking on the Bullet time feature first... almost there.

Adam
 
Well, the good news is that it works... the bad news is that i haven't figured out that whole smooth transition into time slowing down just yet, but thats just eye candy anyways. I'll try to look at the zoom code some more and model it after that.
 
make it AUX power hungry,players don't have to abuse of this: say,max 4 secs and the entire gauge is depleted. If the transition is too difficult,don't bother,it's not a priority anyway...the changelevel's output problem is... :\
 
if you tell me the exact perameters you are looking for that would be cool. Right now it is setting:

host_timescale = 0.3
Phys_PushScale = 20
cl_Phys_timescale = 0.1

and 4 seconds it is.

Off to bed for now.
Adam
 
It would be cool if you put the matrix sound, of time and everything slowing down when someone does something cool and the sound of when it speeds up back to normal, into the mod and mabey make the button toggle not hold down!
 
I'm not sure 100%,but I'd say:
host_timescale 0.6
phys_pushscale 10
cl_phys_timescale 0.3

yadalog: it will be surely a toggle,but I don't think there's an option to enhance doppler effect...or is it?
 
Could you make the sound muffled while bullet time was activated? The code is already there, check out the DSP when you go underwater.
 
maybe a temporary switch of the sound enviroment? Or,the shellshock effect of the grenades (ear-ringing)
 
"dsp_player 14" for bton and "dsp_player 0" for btoff
 
the solution for 1. is:
"ent_fire trigger name x"
where x stands for:
<output name> <targetname>,<inputname>,<parameter>,<delay>,<max times to fire (-1 == infinite)>

delay and max times to fire are OK,the target should be the player I think,the imput should be "touch" but I don't know parameter nor output ("map 1" doesn't work)
 
wonderful job everyone! Now it only remains the hub problem.
 
Wilco: you know,since Substance is made of saves instead of maps,the changelevel entity is modified to load saves instead of maps (duh). However,when in the game you have to go back to a previous stage this goes wrong because if it was perfectly ok to return to a previous map,it is not to return to a previous save. I need to tell that one specific changelevel that has you return to map "d1_town_02" to send instead to "d1_town_02xdiesp" (in example). To do that,I can't use Hammer but only the console and editing the cpps.
 
look at what Robin Walker told me on the VERC forums:
The easiest way to think of this output is that it's identical to adding another output on the Outputs tab of your desired entity in Hammer. If you fire up Hammer and go through that process now, you'll probably understand the parameters immediately.

The parameters are:
- Output name: The name of the output to attach this connection to. i.e. "OnBreak" attached to a breakable prop would be fired when the prop breaks.
- Target name: The name of the entity (or entities) that the connection should connect to.
- Input name: The input on the target entities that this connection should connect to.
- Parameter: If specified, this overrides the data passed along with the input.
- Delay: The time delay between when the output is fired, and when the target entities should receive it as an input.
- Max times to fire: The number of times this connection can be fired before it's removed. -1 is infinite.

Here's an example from d2_coast_09:
"OnPhysGunPickup battery_relay_3:Trigger::0:1"
This adds an output to the target entity (in this case a physics prop). It creates a connection from the physics prop's "OnPhysGunPickup" output to the "Trigger" input of a target entity (or entities) named "battery_relay_3". The parameter is left blank, there's a 0 delay, and the connection removes itself after firing once.
 
ent_fire touchentity addoutput "OnTouch fireentity:Trigger::0:1"

Wilco: with this we can have an entity (touchentity) that when is touched,triggers another one to fire its trigger imput (fireentity). Now we have to figure out how to build the latter one,and have it fire the command "load 1". Maybe it's necessary to write it in the cpps
 
That shouldn't be too hard then no? I have off on friday, i'll give it a thorough runthrough then.

Adam
 
thank you,Adam (as always) - meanwhile I'll see if anything more comes out of the Verc forums.
 
uh-oh,the help on the VERC has come to a dead end apparently!
 
the 044 has been released on HL2Files: just 3 more levels and the skins-fix. A bigger update will come next week!
 
come on guys! Substance STILL needs the help of ALL you real coders out there. Remember what I need: being able to override a specific changelevel to another level destination. No coordinates needed,just a different level name (let's call this map "1") and just by editing cpps or typing console commands.
 
Back
Top