Big-endian support (#909)
This commit is contained in:
@@ -246,7 +246,7 @@ f32 Audio_AdsrUpdate(AdsrState* adsr) {
|
||||
|
||||
retry:
|
||||
case ADSR_STATE_LOOP:
|
||||
adsr->delay = (s16)BOMSWAP16(adsr->envelope[adsr->envIndex].delay);
|
||||
adsr->delay = (s16)BE16SWAP(adsr->envelope[adsr->envIndex].delay);
|
||||
switch (adsr->delay) {
|
||||
case ADSR_DISABLE:
|
||||
adsr->action.s.state = ADSR_STATE_DISABLED;
|
||||
@@ -255,7 +255,7 @@ f32 Audio_AdsrUpdate(AdsrState* adsr) {
|
||||
adsr->action.s.state = ADSR_STATE_HANG;
|
||||
break;
|
||||
case ADSR_GOTO:
|
||||
adsr->envIndex = (s16)BOMSWAP16(adsr->envelope[adsr->envIndex].arg);
|
||||
adsr->envIndex = (s16)BE16SWAP(adsr->envelope[adsr->envIndex].arg);
|
||||
goto retry;
|
||||
case ADSR_RESTART:
|
||||
adsr->action.s.state = ADSR_STATE_INITIAL;
|
||||
@@ -266,7 +266,7 @@ f32 Audio_AdsrUpdate(AdsrState* adsr) {
|
||||
if (adsr->delay == 0) {
|
||||
adsr->delay = 1;
|
||||
}
|
||||
adsr->target = (s16)BOMSWAP16(adsr->envelope[adsr->envIndex].arg) / 32767.0f;
|
||||
adsr->target = (s16)BE16SWAP(adsr->envelope[adsr->envIndex].arg) / 32767.0f;
|
||||
adsr->target = adsr->target * adsr->target;
|
||||
adsr->velocity = (adsr->target - adsr->current) / adsr->delay;
|
||||
adsr->action.s.state = ADSR_STATE_FADE;
|
||||
|
||||
Reference in New Issue
Block a user