It uses vertex lighting rather than lightmaps,I just could not get my head around not being able to light a dark area with your torch...shame because lightmaps would look cool =/
There are a few sound types handled by the sound er...type, they are
;Sound Classes
Const cAmbient=1 ;plays all the time
Const cRandom=2 ;plays at random intervals if near the pivot
Const cOneTime=3 ;plays once when near the pivot
Const cEveryTime=4 ;plays everytime the pivot is approached
Const cAutoTrig=5 ;triggered by doors/pits etc
Sounds are created using the function
Create_Sound(name$,class%,x#,y#,z#,radius#,time%)
and an Update_Sound() function called every frame handles all sounds when the game is running.
For example, when a machine opens it sets
Case sClosed
If gLockTrigID%=machine\id%
machine\state%=sOpening
gAutoTrigID%=machine\OpenSound%
EndIf
and in the Update_Sound() function there is
For s.soundtype=Each soundtype
Select s\class%
Case cAutoTrig
If gAutoTrigID%=s\soundindex%
EmitSound (s\soundindex%,s\pivot%)
gAutoTrigID%=0
EndIf
A machine is basically things like doors/pits/walls which can move/vanish etc.
I've just started integrating ParticleCandy and now have a 'magic' type which handles all spells.
Now when a spell hits a teleporter is gets teleported, there is nothing like the fun of hitting yourself in the back of the head with your own fireball! :)