Commit graph

11 commits

Author SHA1 Message Date
hendricks266
1f0693eca4 Implement OGG looping support; musicians rejoice!
Loops are controlled by two tags in the Vorbis Comment, both in PCM samples.

LOOP_START holds the beginning of the loop, the position to which playback returns at the end of the loop.

LOOP_END is optional; it holds the end of the loop, after which the game seeks to LOOP_START. If undefined, the end of the OGG is the end of the loop. The primary purpose of LOOP_END is if you want to give your file a proper ending for listening outside the game.

To preview a looped OGG you have assembled, give it a ".logg" extension and play it using the vgmstream plugin for Winamp or foobar2000.

git-svn-id: https://svn.eduke32.com/eduke32@3218 1a8010ca-5511-0410-912e-c29ae57300e0
2012-11-24 09:12:15 +00:00
terminx
4ba6da5007 Addition of 3 events:
EVENT_SOUND: triggered upon playback of any sound, this allows the "hard coded" sounds to be altered in a context-aware fashion instead of having to resort to clunky hacks like replacing them with a blank sound effect.  RETURN var
iable is set to the sound effect # of the sound to be played, or -1 to cancel playback.

EVENT_CHECKTOUCHDAMAGE: triggered in P_CheckTouchDamage() whenever the player collides with anything.  Value of RET
URN is set to the result provided by clipmove() and so can be decoded in the same way.  Value of RETURN when the event is over can also be manipulated to control some of the hard coded damage effects.

EVENT_CHECKFLOORDAMAGE: triggered in P_CheckFloorDamage(), RETURN is simply the picnum of the floor of the sector t
he player is in.  Can be used to cancel hard coded floor damage effects or to make other tiles exhibit the same eff
ects

Other misc fixes and cleanups, including a possible workaround for Duke Plus SECTOREFFECTOR light issues wherein all SE49 and SE50 that have a statnum of STAT_EFFECTOR are simply changed to STAT_LIGHT during the STAT_EFFECTOR loop
 now.


git-svn-id: https://svn.eduke32.com/eduke32@2652 1a8010ca-5511-0410-912e-c29ae57300e0
2012-05-14 18:12:27 +00:00
helixhorned
fdd84d1870 More beauty tinkering: decorate the 'start' pointer of the mixing functions
and some VoiceNode struct members with a const, commit forgotten vorbis.c
changes.

git-svn-id: https://svn.eduke32.com/eduke32@2100 1a8010ca-5511-0410-912e-c29ae57300e0
2011-11-01 22:02:37 +00:00
plagman
517bb2aa50 Don't use -rdynamic on platforms that don't necessarily support it.
git-svn-id: https://svn.eduke32.com/eduke32@1771 1a8010ca-5511-0410-912e-c29ae57300e0
2011-01-16 07:20:11 +00:00
terminx
9143833fc8 rotatesprite and multivoc have a rape baby
No, seriously.  Adds widescreen aware rotatesprite and works out half a dozen huge problems in the sound system, among other things.


git-svn-id: https://svn.eduke32.com/eduke32@1658 1a8010ca-5511-0410-912e-c29ae57300e0
2010-06-22 21:50:01 +00:00
terminx
1a587a73a5 fix for ogg clicks and segfaults from JF
git-svn-id: https://svn.eduke32.com/eduke32@1523 1a8010ca-5511-0410-912e-c29ae57300e0
2009-10-03 14:34:05 +00:00
terminx
b04b42be23 sound with MSVC works again
git-svn-id: https://svn.eduke32.com/eduke32@1478 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-29 20:26:03 +00:00
terminx
2ffda08128 fixes
git-svn-id: https://svn.eduke32.com/eduke32@1477 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-29 10:33:56 +00:00
terminx
71cc476cb8 bring back MIDI support for linux plus a few bug fixes
git-svn-id: https://svn.eduke32.com/eduke32@1473 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-28 06:32:58 +00:00
terminx
505d3475ce Hack MIDI back in for win32
MSVC still broken


git-svn-id: https://svn.eduke32.com/eduke32@1472 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-27 10:46:42 +00:00
terminx
4f10a9e477 Initial working commit of JonoF's audiolib re-port... I think
git-svn-id: https://svn.eduke32.com/eduke32@1471 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-27 05:47:50 +00:00