Commit graph

149 commits

Author SHA1 Message Date
marauder2k7 eb33fe04af working vhacd
renamed ThreadPool to TorqueThreadPool to avoid conflics
fixed data transmission between stages of convexDecome and trimesh creation
TODO: re-add our own functions for generating sphere/cylinder/box
2024-05-12 14:43:56 +01:00
marauder2k7 d08583bef1 Merge branch 'SFXResource-fix' into change-to-use-libsndfile 2024-03-24 15:56:01 +00:00
marauder2k7 352afa3f0f SFXResource multi read
SFXResource was always creating a new file for each sound resource. Sometimes this would happen 3 times since the asset was creating a resource, then the profile, then the object that was using it.

Now if the sfxResource exists and we call openStream it returns the sfxFileStream linked to that file instead of just creating a new one.
2024-03-24 15:39:58 +00:00
marauder2k7 6bc4ace2e5 Update sfxSndStream.cpp
fix for stereo files (2d sound files) frames report back as bytesPerSample * channels

which for us is bytesPerSample. This needs to be applied to the return from read so sfx resource knows we have read all the info.
2024-03-24 13:51:04 +00:00
marauder2k7 0342eb6f31 replace other classes
now all sfxFileStreams create a libsndfile stream class.

At the moment we only read as short
2024-03-24 12:06:03 +00:00
marauder2k7 147044796b sfxSndStream
Ogg file from libsndfile now working. we can pull more information from the format and specifics of the file from libsndfile should maybe look at updating all the parameters around mFormat so it feeds openal settings better.

Next step is to remove the other stream classes.
2024-03-24 11:33:42 +00:00
marauder2k7 3652367b36 sfxSndStream
read an ogg file through libsndfile instead of libvorbis.

There are still issues with this part of the file opens but doesn't read the whole file for some reason
2024-03-23 20:17:18 +00:00
marauder2k7 a745fc3757 Initial commit
added libraries:
opus
flac
libsndfile

updated:
libvorbis
libogg
openal

- Everything works as expected for now. Bare in mind libsndfile needed the check for whether or not it could find the xiph libraries removed in order for this to work.
2024-03-21 17:33:47 +00:00
marauder2k7 2b295fb7f0 rest of virtuals removed
virtuals removed and replaced with override where necessary on the rest of the code base, clang-tidy to the rescue.
2024-03-18 18:40:22 +00:00
marauder2k7 efbe5e90f5 virtuals removed
virtuals removed and replaced with override where necessary, clang-tidy to the rescue.
2024-03-18 18:13:00 +00:00
Brian Roberts 25a3c3325f
Merge pull request #1208 from jamesu/datachunker_refactor
Datachunker & FrameAllocator refactor
2024-02-09 20:32:39 -06:00
AzaezelX da9b9ed787 prelim refactor 2024-02-05 14:23:11 -06:00
James Urquhart 3781c7fae5 Add an alternate allocator for DecalManager; Also fix SFX weirdness. 2024-02-04 23:27:31 +00:00
AzaezelX 96f001b0e6 clean up malformed stream conversion
reinterpret_cast was misaligning the pointer. just use the already leveraged dynamic_cast
2024-01-01 20:42:43 -06:00
marauder2k7 852ed8f225
Sfx playlist asset working (#1109)
* GroundWork

-Reverted SFXPlaylist since it is going to be made from an asset now instead.
-Added extra options to soundAssets description.
-SFXPlaylist may need an onAdd function

* Update sfxController.cpp

* SFXPlaylist data

-Added sfxPlaylist init persist fields for the slots to sound asset
-Added logic to fil sfxPlaylist if more than 1 slot is filled

* Update SoundAsset.cpp

to stop git ci complaining, assetImporter........

* Update SoundAsset.h

* sfxPlaylist

-Fix: incomplete type error
-Added onAdd and onRemove to playlist
-SoundAsset getProfile define now returns playlist if the asset is a playlist.

* Update SoundAsset.h

-updated asset array to return playlist or profile depending on what the asset is

* SFXPlaylist working

-SFXPlaylist works
AudioChannelDefault gets its volume set to 0 for some reason and was throwing off making sfxPlaylist inaudible.

Still an exception when closing if using a playlist trips on line 355 of sfxSound

* Update sfxSound.h

* setSoundFile index null fix

* Update SoundAsset.h

* Update SoundAsset.h

* netstream safety in case of a null asset assignment

* Update sfxController.cpp

added safeties around a null playlist trying to play.

* Update with Az's asset err code changes

---------

Co-authored-by: AzaezelX <quillus@hotmail.com>
2023-10-21 17:19:02 -05:00
Lukas Aldershaab 89b0c7f73b Console Refactor 2023-09-13 10:33:20 +02:00
AzaezelX 16bc962c38 debug enclosures for suffixed libs 2023-07-11 09:49:31 -05:00
AzaezelX c61439c2f9 Merge branch 'cmake_adjustments' of https://github.com/Ragora/Torque3D into alpha41/cmake_adjustments
# Conflicts:
#	Engine/lib/assimp/INSTALL
#	Engine/source/console/fileSystemFunctions.cpp
#	Tools/CMake/basics.cmake
#	Tools/CMake/modules/module_testing.cmake
2023-05-27 18:18:17 -05:00
Brian Roberts a6f03897ed
Merge pull request #1016 from Azaezel/alpha41/mangledMath
clean up math varsize complaints
2023-05-08 21:28:49 -05:00
AzaezelX 0d4221fa59 uninitialized and unused value cleanups
(cherry picked from commit 1f08602cf0ad84409cd8b3520510f9c6ce7d5f9c)
2023-05-01 10:40:02 -05:00
AzaezelX 0ce2da3a23 clean up math varsize complaints 2023-04-27 16:10:04 -05:00
AzaezelX c4ae6258cc sound safeties and future notes 2023-02-26 17:26:43 -06:00
AzaezelX 15f7f04bee standardize soundasset preloading for datablocks 2023-02-19 05:19:51 -06:00
AzaezelX 1b33b01eb1 add "docsURL" filter to assignFieldsFrom to prevent it from triggering opening web pages when inheriting values 2023-01-28 16:12:05 -06:00
AzaezelX f5a34308f9 add a docsURL; macro to link a given set of script config vars to git or similar storage urls via clicking on the inspector 2023-01-27 01:13:15 -06:00
AzaezelX 8821f62b0c misc fixes
utilize specialty case soundarray macros.
 slim duplicate entries in vehicle already hand;ed by rigidshape.
create a gamebasedata::onnewdatablock which calls onremove and onadd for the db for those classes like wheeledvehicle that expect mounting logic to occur
2022-12-27 21:10:15 -06:00
AzaezelX ab98909f1e if we have no description, the sounds is never 3d 2022-11-28 00:10:32 -06:00
AzaezelX 4f00c48ff0 sfx bypass doe dediservers. 2022-10-01 01:41:24 -05:00
marauder2k7 fe47048293 Mac OpenAL 1.1
Added compatibility function to return max sources the old way.

If openal 1.2 method returns 0 it will do it the old way.
2022-08-29 20:06:29 +01:00
marauder2k7 5b1e20f28c OpenAL Mac
Cleanup print functions cos mac hates them. All these functions did was print what was capable on openal anyway end user doesn't really get any benefit from this. Will save these for the refactor.
2022-08-29 18:04:55 +01:00
marauder2k7 3eca15cb31 OpenAL Internal name
-Now there is an internal name for openal and a default name for the device to be displayed
2022-08-16 15:55:56 +01:00
marauder2k7 52dc5cf3da Device Name
-OpenAL wraps device name in brackets, if found return only device name.
2022-08-16 11:02:36 +01:00
marauder2k7 4006615723 OpenAL Initialization
-Device capabilities left until a device is actually selected and is loading
-ALDEVICEINFO possibly no longer needed.
-aldlist possibly no longer required as well.
2022-08-16 08:33:26 +01:00
marauder2k7 d02f5da414 OpenAL enumeration fix
Openal enumeration after default device loading.
2022-08-14 10:36:02 +01:00
Robert MacGregor 2a865d387a * BugFix: When loading sound assets, don't resolve the absolute path. 2022-06-16 18:46:25 -04:00
Robert MacGregor d0f4084fcb * BugFix: When searching for OpenAL on Linux, search for both libopenal.so.1 and libopenal.so. 2022-05-31 21:26:56 -04:00
AzaezelX ff0e418132 fix sDefaultAmbience intialization.
we don't want to spool that up before the SFX subsystem has kicked in
2022-05-16 19:22:25 -05:00
JeffR 15ef8b4fbe Cleaned up implementation of #712
Also updates other game classes like the shapebase to utilize the sound asset hooks properly.
2022-01-03 20:57:10 -06:00
Robert MacGregor 4dea3810b9 * [SFXDescription] BugFix: Correct a data corruption issue in converting legacy channel values. 2021-11-24 13:46:18 -05:00
Robert MacGregor 72b31f6f6b * BugFix: Correct a crash caused by sfxProfile due to returning an address to a temporary value in getSoundFileName. 2021-10-26 12:48:28 -04:00
AzaezelX 670b246a2a sound asset conversions - playlist (as a point of significance, that no longer uses mSlots.mTrack[ i ] on the backend. just th equivalent of mTrack[i]. While the former was certainly useful for clustering, it's actively fighting standarization) 2021-10-14 22:33:13 -05:00
AzaezelX 9ab5f61c39 sound asset conversions - ambience 2021-10-14 22:31:00 -05:00
Robert MacGregor 6a94946e5b * BugFix: Fallback to ALC_ENUMERATION_EXT if ALC_ENUMERATE_ALL_EXT is not available. 2021-10-02 22:29:34 -04:00
Robert MacGregor 43630c31c2 * BugFix: Tweaks to the ALC device listing logic to be more consistent with the AL API. 2021-10-02 22:24:11 -04:00
Robert MacGregor 5e88ab2570 * BugFix: Fix AL device listing so that functions like sfxGetAvailableDevices return the actual devices on the system. 2021-10-02 16:31:43 -04:00
Jeff Hutchinson 41bd5ef6b6 remove FMODex from Torque3D
The current version of FMod in Torque3D uses the legacy ex plugin, which hasn't been around for a long time.
2021-09-11 16:29:32 -04:00
Areloch 6487e2eede
Merge pull request #495 from JeffProgrammer/tsneo
TorqueScript Interpreter 2.0
2021-09-09 19:22:15 -05:00
Areloch 0ca66b99db Added fix so if a looping sound is preview-playing in the AB and you edit the properties, it doesn't try to reload the asset while it's playing, causing a crash
Added console method for looking up a soundAsset by filename
Added initial pass of project importer for sound assets content
2021-09-05 03:43:41 -05:00
Jeff Hutchinson 17231ca9fb Merge remote-tracking branch 'devhead/Preview4_0' into tsneo
# Conflicts:
#	Engine/source/platform/types.visualc.h
#	Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript
#	Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrain.tscript
#	Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript
#	Templates/BaseGame/game/tools/gui/scriptEditorDlg.ed.gui
2021-09-01 22:26:23 -04:00
Jeff Hutchinson 633bc040d0 Update thread ids for 64bit support. 2021-08-29 20:34:57 -04:00