News | Forum | People | FAQ | Links | Search | Register | Log in
Coding Help
This is a counterpart to the "Mapping Help" thread. If you need help with QuakeC coding, or questions about how to do some engine modification, this is the place for you! We've got a few coders here on the forum and hopefully someone knows the answer.
First | Previous | Next | Last
About The Above Setup 
any reason why "sound(self, CHAN_BODY, "ambience/f1.wav", 0.33, ATTN_STATIC); " by itself doesn't work and it needs the separate wallfire_sound_Start wallfire_sound thinks?

f1.wav has a loop marker tho 
Playback 
You probably only need the sound in wallfire_sound, you can skip the other two. And potentially you can remove a layer of complexity by cutting out the middle function - just have wallfire_sound run after 1 second delay directly after the spawn function.

The old thought experiment goes: if a tree falls in the forest, and nobody is there to hear it, does it make a sound? Is it possible for this to happen in Quake? Yes, in multiplayer it's obviously possible! You can run a dedicated server, carefully simulating the world, even though nobody connected yet.

If a player connects after 30 seconds, they only start hearing the sounds that are triggered from that point onwards*. Even if a 6 second long sound started playing at 27 seconds, they don't hear the back half of it - they heard nothing.

Are the rules different for single player? Not substantially, single player is run under the multiplayer system, just with both ends of the conversation taking place on the same machine. And the crucial thing is that the player doesn't connect immediately in single player, it's more like after the first second. Before that moment, certain actions are being performed to an empty stage, and it appears like they never took place.

One final thing to watch out for is save games. Loading a save that's 30 seconds into the level is very much like connecting to a server after 30 seconds have past. The 6 second long sound that started playing at time = 27 is not logged as partially complete in the save file.

*Ambient sounds are the exception, these are logged and played back to each player as they connect. 
Got It Thanks 
also can TE_EXPLOSION TE_TAREXPLOSION TE_LAVASPLASH be modified? or hardcoded?

and can particles "particle (self.origin, '0 0 10', 5, 2);" be further changed like: increase lifetime of them, make accelerate, change in size, only use a range of or specific colors...

and what causes MOVETYPE_BOUNCE to fall through the floor? i noticed grenades don't, but my custom MOVETYPE_BOUNCE things sometimes do 
Points 
also can TE_EXPLOSION TE_TAREXPLOSION TE_LAVASPLASH be modified? or hardcoded?

They are hardcoded, look into TE_EXPLOSION2 for the customisable version.

and can particles "particle (self.origin, '0 0 10', 5, 2);" be further changed like: increase lifetime of them, make accelerate, change in size, only use a range of or specific colors

The only one of those things you can control is color, the 5 in your example code is a palette index (in practice the engine distribute the pixels over a range of palette entries which includes the supplied index).

and what causes MOVETYPE_BOUNCE to fall through the floor? i noticed grenades don't, but my custom MOVETYPE_BOUNCE things sometimes do

Only guess I have is entities are getting spawned in stuck positions. The existing code is careful to make sure grenades spawn inside a solid entity which is their owner. The ownership means that the two do not collide with each other, while at the same time the solidness of the owner will generally prevent any other solid objects from invading the same space. 
Particles 
I remember seeming arcane dimensions have different size particles and particles that change size and rotate? 
Projectile Sound 
Is it possible to give rockets ambient sound when they fly like in Quake 3? 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2025 John Fitzgibbons. All posts are copyright their respective authors.