Commit Graph

136 Commits

Author SHA1 Message Date
Iliyas Jorio
15d3606631 Support snd resources with non-0 sustain loop start frame 2022-09-25 19:06:52 +02:00
Iliyas Jorio
38d2be66b6 MP3: Fix incomplete playback at end of stream 2022-09-24 00:38:48 +02:00
Iliyas Jorio
543b50c1eb Graphics big-endian compatibility 2022-09-19 22:08:42 +02:00
Iliyas Jorio
e567db5327 QD3D/Graphics big-endian compatibility 2022-09-05 18:44:59 +02:00
Iliyas Jorio
a1e1b62681 Sound mixer big-endian compatibility 2022-09-05 18:44:59 +02:00
Iliyas Jorio
191500dec1 Adapt structpack to big-endian targets 2022-09-05 18:44:59 +02:00
Iliyas Jorio
98142aa132 Structpack: require endianness indicator in format string 2022-09-03 01:19:53 +02:00
Iliyas Jorio
1ac775071b Init cmixer with AUDIO_S16SYS 2022-09-03 01:19:52 +02:00
Iliyas Jorio
bf2469b659 Dispose sound channels before shutting down cmixer 2022-09-03 01:19:50 +02:00
Iliyas Jorio
2c22e02554 Tiger compilefix 2022-09-03 01:19:49 +02:00
Iliyas Jorio
704fd04f94 Coexist with bonafide Carbon on PPC targets 2022-09-03 01:19:47 +02:00
Iliyas Jorio
7f16782991 Use __BIG_ENDIAN__ macro 2022-09-02 19:23:28 +02:00
Iliyas Jorio
501ac5dfeb README: Mention Billy Frontier 2022-09-02 19:57:47 +02:00
Iliyas Jorio
3fdd6f80f8 Fix MP3 support for older compilers 2022-08-03 00:54:29 +02:00
Iliyas Jorio
5d3fcb6ec6 MP3 playback support 2022-07-22 08:33:17 +02:00
Iliyas Jorio
2acbe6cc86 README.md: Mention CMR 2022-06-27 21:05:53 +02:00
Iliyas Jorio
88a3e4625b Max channel gain 2022-06-02 18:59:48 +02:00
Iliyas Jorio
caa3414833 SndChannelStatus: paused channels count as busy 2022-05-17 23:01:14 +02:00
Iliyas Jorio
fbdc8fcf5e Fix non-standard C function signature 2022-05-17 22:50:58 +02:00
Iliyas Jorio
db3b81e97f Sound: Add extension commands to pause/resume audio playback
These commands supersede Pomme_PauseAllChannels().
2022-05-15 16:34:19 +02:00
Iliyas Jorio
70acda5ce4 Sound: Allow sending commands to paused channels 2022-05-15 16:34:19 +02:00
Iliyas Jorio
3f8eeba1a3 Sound mixer: Avoid buffer starvation if attempting to play empty source 2022-05-15 16:34:19 +02:00
Iliyas Jorio
801d7e8d1e Preprocess sound resource: Convert big-endian raw PCM to little-endian 2022-05-15 11:53:52 +02:00
Iliyas Jorio
010d57bf8d ExitToShell: noreturn 2022-03-20 09:03:59 +01:00
Iliyas Jorio
0581b24162 Compile with -Wstrict-aliasing=2 2022-02-27 19:49:23 +01:00
Iliyas Jorio
018ab2d404 In extSH snd resources, interpret 8-bit samples as unsigned 2022-02-23 23:49:07 +01:00
Iliyas Jorio
ece6718cbf PICT: Remove redundant opcode check (0x0C00) 2022-02-23 23:21:51 +01:00
Iliyas Jorio
08dd1e61b6 Fix memory leak in SndStartFilePlay 2022-02-23 23:20:47 +01:00
Iliyas Jorio
d8e7457b95 Drop -Wno-unused-parameter 2022-02-20 17:48:56 +01:00
Iliyas Jorio
66edb10132 FSpOpen: return ioErr if stream is bad 2022-02-19 20:05:19 +01:00
Jim Huang
86d35caf94 Rewrite __frsqrte with Arm/NEON counterpart
__frsqrte is the intrinsic for floating reciprocal square root estimate.
In Arm64, we can implement it with NEON intrinsics. Since Armv8.2,
instruction "FRSQRTE" [1] is provided to calculate an approximate square
root for each vector element in the source SIMD and FP register.

With -O3, generated assembly on Apple Silicon M1:

[original]
	fsqrt	s0, s0
	fmov	s1, #1.00000000
	fdiv	s0, s1, s0

[neon]
	dup.4s	v0, v0[0]
	frsqrte.4s	v0, v0

[1] https://developer.arm.com/documentation/100076/0100/a64-instruction-set-reference/a64-simd-scalar-instructions/frsqrte--scalar-
2022-01-31 09:59:08 +01:00
Iliyas Jorio
1b0ea49ded PICT: more accurate 5-5-5 to 8-8-8 RGB conversion 2021-11-28 19:52:29 +01:00
Iliyas Jorio
5ae74f079d Fix #include path 2021-11-28 19:51:16 +01:00
Iliyas Jorio
b9ddab06cd README.md: Mention Otto Matic 2021-08-21 11:34:28 +02:00
Iliyas Jorio
248971450a Fix minor MSVC warnings 2021-08-21 10:54:32 +02:00
Iliyas Jorio
c416627b76 SndStartFilePlay: use InstallSoundInChannel 2021-08-15 13:22:25 +02:00
Iliyas Jorio
104c75ad56 Split SoundFormats/SoundMixer 2021-08-15 12:43:05 +02:00
Iliyas Jorio
6f5592fbc3 Pointer tracking 2021-07-30 00:08:12 +02:00
Iliyas Jorio
77fda7913d Load AIFF-C files as sound resources 2021-07-25 17:38:05 +02:00
Iliyas Jorio
9c223defc2 Remove superfluous SDL dependencies 2021-07-22 12:27:24 +02:00
Iliyas Jorio
46599c1780 Icon resource extractors 2021-07-19 07:42:39 +02:00
Iliyas Jorio
ebea9d03cd Separate sound playback from sound utils 2021-07-19 07:42:39 +02:00
Iliyas Jorio
664c738817 Remove resource dumping functionality - will be moved to a separate tool 2021-07-18 13:24:13 +02:00
Iliyas Jorio
644ade79c3 Implement Count1Types, Get1IndType, Get1IndResource, GetResInfo, DetachResource 2021-07-18 13:16:43 +02:00
Iliyas Jorio
630e8e9b24 Move {Init,Hide,Show}Cursor to SDLInput.cpp 2021-07-18 13:12:30 +02:00
Iliyas Jorio
91f6390055 SndDoImmediate: Fix NaN in volumeCmd pan 2021-07-18 13:02:00 +02:00
Iliyas Jorio
9031c6b869 Allow compiling without support for sound, graphics, input 2021-06-27 20:19:14 +02:00
Iliyas Jorio
dfa2fdb0b9 3DMF: Support 'shdr' chunks 2021-06-24 18:52:37 +02:00
Iliyas Jorio
f1c5bbae35 QD3D: Remove glTextureName from TQ3Pixmap 2021-06-23 22:01:51 +02:00
Iliyas Jorio
3675306be7 QD3D: remove bogus typedefs 2021-06-23 20:55:00 +02:00