Restore the Mac sound sample factory's pointer result and scalar flag inputs
Mac 002e8c21 declares a one-byte result and a pointer-valued flag input. Its full native body reads two DWORD stack values, tests/forwards the first as flags, and returns the full allocated sample pointer or NULL in EAX. All three native callers pass scalar DWORDs and store the full result. The paired Windows factory 00515530 already has D2SoundSmpStrc*(uint32_t,uint32_t); retain Mac cdecl and the chosen names. This fixes the root callee contract behind the music caller's CONCAT31(extraout_var,uVar1). Separate #1401 handles the generic list payload, and #1402 the register-based buffer builder. The sample identity is valid, but its independent Mac 96-versus-88-byte type layout still needs maintainer compaction, documented with #1402. Live checks establish applicability; no source/build/runtime validation has been performed.
Changes 1, applied together
Set prototype
mac 0x002e8c21signatureundefined1 CallSounds(int * nSoundFlags, undefined4 dwSampleParam)→D2SoundSmpStrc * CallSounds(uint32_t nSoundFlags, uint32_t dwSampleParam)convention__cdecl