Commit Graph

113 Commits

Author SHA1 Message Date
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
Iliyas Jorio
6f4a04975d Support "type 2" HyperCard sound resources 2021-03-02 08:32:06 +01:00
Iliyas Jorio
5f088fab3c Sound: honor initNoInterp 2021-02-28 23:43:33 +01:00
Iliyas Jorio
d8f5f4b324 Sound: apply channel params in ProcessSoundCommand 2021-02-28 23:43:33 +01:00
Iliyas Jorio
6399e16cc6 Fix ByteswapX utility functions, add signed versions 2021-02-28 23:43:33 +01:00
Iliyas Jorio
79ee6c1163 Implement SetFPos 2021-02-28 23:43:33 +01:00
Iliyas Jorio
9260f05025 Implement TickCount 2021-02-28 23:43:33 +01:00
Iliyas Jorio
2f57b5245e New file routines: GetVol, FSOpen, OpenResFile, ChangedResource 2021-02-28 23:43:33 +01:00
Iliyas Jorio
3228cf2818 Palette management stubs 2021-02-22 20:19:57 +01:00
Iliyas Jorio
2a4ec3b76c Implement PtrToHand 2021-02-22 01:25:12 +01:00