Commit Graph

122 Commits

Author SHA1 Message Date
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
Iliyas Jorio 6d31883a4d QD3D: Add/Subtract Q3Point2D/3D 2021-06-19 01:00:45 +02:00
Iliyas Jorio 1495c647fd Dump 'snd ' resources to AIFF-C 2021-06-06 18:49:50 +02:00
Iliyas Jorio b4516298a3 BigEndianOStream 2021-06-06 18:49:45 +02:00
Iliyas Jorio 935674437f 3DMF: support vertex attribute kQ3AttributeTypeSurfaceUV
Required for thorn submeshes in Bugdom's
game over throne room (WinLose.3dmf)
2021-06-06 18:49:45 +02:00
Iliyas Jorio 375d14e266 QD3D: Normals & UVs are now optional in TQ3TriMeshData constructor 2021-06-06 18:49:45 +02:00
Iliyas Jorio fd0b31c915 QD3D: Set hasVertexColors flag in TQ3TriMeshData 2021-06-06 18:49:45 +02:00
Iliyas Jorio cf21b9a7a8 Fix GCC/clang unused parameter warnings on memory no-ops 2021-04-23 07:57:12 +02:00
Iliyas Jorio 717092660c Filesystem: GCC 8 compat 2021-04-22 22:03:25 +02:00
Iliyas Jorio 867c6af8f9 HostVolume: C++17 compat 2021-04-17 20:00:17 +02:00
Iliyas Jorio 1b5625e28e Rewrite FourCCString 2021-04-17 12:35:29 +02:00
Iliyas Jorio 5eb35908ae README.md: Mention Mighty Mike 2021-04-11 21:40:38 +02:00
Iliyas Jorio de0725ae16 Sound: implement reInitCmd (initNoInterp only for now) 2021-03-21 11:54:09 +01:00
Iliyas Jorio b3393c89f6 CMakeLists.txt: fixes for Visual Studio's built-in CMake 2021-03-21 11:54:09 +01:00
Iliyas Jorio 498b27e895 Fix NewHandleSysClear implementation 2021-03-15 23:46:23 +01:00