arookas wrote: 1) change internal S_Sound function to separate the flags and channel parameters, if they aren't already
2) change the internal code for A_PlaySound and all existing mod-side functions for 1), but without changing the parameters to said function (just the values it passes to S_Sound)
3) add a new mod-side function with two separate parameters, flags as one and channel number as another allowing you select more than 8 channels(edited)
keep the flags enum starting at the fourth bit, that doesn't matter
What do you think? Could this work?arookas wrote: looks like right now S_StartSound takes just an int (also bad) for both channel and flags and splits them at the beginning, so 1) would be necessary
just pass in the flags and channel number as separate parameters to S_StartSound, then change all the relevant engine-side code (all the hard-coded sound playing) so the only place that has them both in one value would be A_PlaySound's code
you'd effectively have thein A_PlaySound instead of S_StartSoundCode: Select all
chanflags = channel & ~7; channel &= 7;
then you'd just make a new actor function to play a sound with these two parameters split
the hardest thing would be deciding what to call the new function, but why have standards for those now lol