Commit graph

5548 commits

Author SHA1 Message Date
marauder2k7
1d516f3dd9 Update CMakeLists.txt
this is just the cmakelists changes from the compile pr, this includes a precompiled header with some defaults in there, could test adding more as required.
2026-06-08 00:52:32 +01:00
Brian Roberts
bac9ed99b3
Merge pull request #1760 from marauder2k9-torque/ShaderGen-produce-shaderdata
Shader Gen to produce ShaderData
2026-06-07 18:23:21 -05:00
marauder2k7
d4e9275240 replace specific names for a universal getRegistrations 2026-06-07 22:37:20 +01:00
marauder2k7
3aac9af35e same change but for gbitmap
make sure to use the namespace TSShape
2026-06-07 22:30:56 +01:00
marauder2k7
e83bab90d7 fix for shape registration
The automatic global static was hitting a destructor on xcode, this seemed like it was being pedantic about name at first but then between runs the same issue would come back. With this change it is wrapped in a function to get the vector instead.
2026-06-07 22:10:52 +01:00
marauder2k7
663fc9b83e Update gfxGLShader.cpp
opengl cached programs
2026-06-05 15:55:50 +01:00
marauder2k7
dacc4db708 dx caching result 2026-06-05 14:52:30 +01:00
marauder2k7
4cf780e7b8 Shader Gen to produce ShaderData
Shader gen now produces a shaderdata class - this should reduce full recompilation of shaders when a macro switch happens.

FileStream can now also be setup to be async write, so it will write out the file on a separate thread hopefully freeing up the main thread to continue working.
2026-06-05 11:29:18 +01:00
JeffR
eade131ad2 Adjusts the logic for collision and physics setup functions in TSStatic because we utilize/allow for the fallback shape and so need to contend for if we have a shapeInstance but our shapeAsset ptr is invalid. 2026-06-05 01:56:09 -05:00
marauder2k7
13fa178cf6 update bullet so it actually works
Moved the addSourceDirectory for physics/Bullet into the Engine/Source/CMakeLists.txt file that way it can actually appear where we expect it to in the solution explorer.
2026-06-03 15:08:51 +01:00
AzaezelX
6485d48e38 fix optional skin param for ShapeBase::setImage
using the %obj.mountImage(image,slot,loaded,skin)  skin option was not always properly applying.

reported by steve_yorksire, fixed by sir_skurpsalot: https://discord.com/channels/358091480004558848/580242040730943509/1510795740199260252
2026-06-02 13:46:25 -05:00
Brian Roberts
c58f6825dc
Merge pull request #1754 from Areloch/ShapeAssetCleanupRefactor
Some checks failed
Linux Build / Ubuntu Latest GCC (push) Has been cancelled
MacOSX Build / MacOSX Latest Clang (push) Has been cancelled
Windows Build / Windows Latest MSVC (push) Has been cancelled
ShapeAsset Cleanup and Standardization refactor
2026-05-31 16:29:21 -05:00
JeffR
d53892fb80 Corrected handling for invalid shapes using fallback shape on TSStatics 2026-05-31 16:22:12 -05:00
JeffR
b338510921 Minor fixes and corrections 2026-05-31 11:53:41 -05:00
JeffR
de26f519f9 Adds logic to correctly write out a shape's materials as fields to the asset taml file so they can register as dependencies with the assetdatabase 2026-05-31 11:14:54 -05:00
JeffR
b44158cb89 Cleans up ShapeAsset of some unnecessary/redundant elements like extra material and animations tracking
Removed the old SHAPE_ASSET macros
Implements AssetRef struct that acts as a universal wrapper for an templated AssetPtr and AssetId pair
Adds Type handling for AssetRef for ShapeAsset to unify handling in classes that utilize a shapeAsset, so assigning an assetPtr or an assetId will keep a record of the assignment in the event the assetPtr is invalid.
Update all classes that utilized the old SHAPE_ASSET macros to utilize the AssetRef struct and updated the class code to utilize it to provide much more clean and concise code that isn't blocked behind macro definitions
Added a new example class: shapeDatablockExample which allows render of a simple shape object utilizing a simple example datablock.
2026-05-31 01:19:26 -05:00
marauder2k7
721b84950d Update compiledEval.cpp 2026-05-30 10:45:16 +01:00
marauder2k7
7d9497ec75 fix 2026-05-27 20:20:07 +01:00
marauder2k7
52037b3e82 remove requirement of element count in array
If we define an array field have every other field inside that array declared inherit its element count. Can be override with a .elements(N) if N is > 1.
2026-05-27 20:01:31 +01:00
marauder2k7
e97e7521f3 Convert sound asset
Convert sound asset to use the new field constructors
Also add a simple example of the visibility control.
2026-05-27 20:01:31 +01:00
marauder2k7
e635344fba Adds a new FieldDescriptor struct
Use the field descriptor struct to add fields instead of the overloads
Adds a visibility function to control whether a field is visible in the inspector

EG:
ADD_FIELD("soundFile", TypeAssetLooseFilePath, Offset(mSoundFile, SoundAsset))
            .doc("Path to the sound file.")
            .elements(SFXPlayList::SFXPlaylistSettings::NUM_SLOTS)
            .onSet(&_setSoundFile);

the grammar can change to make these easier to work with, review changes carefully
2026-05-27 20:00:42 +01:00
marauder2k7
d6c32f3e35 only dsq should call import sequence 2026-05-26 11:33:06 +01:00
marauder2k7
4f32fec320 Update tsShapeOldRead.cpp 2026-05-25 00:28:03 +01:00
marauder2k7
ec2a55c535 few fixes
Only export DSQ if we have a realmesh to pair with it.
When looking for the companion shape use the last '_' to strip instead of the first
2026-05-25 00:28:03 +01:00
marauder2k7
2895e98cbb TSShape loader refactor
final setup for assimp

Added assimp importers and exporters, removed defaulting to all
Added compression to tshape
added dts version to tshape and cmake

Update assimpShapeLoader.cpp

quick fix

fix previewing dsq ground work

automatically export dsq files for animations

Groundwork

Adds the same sort of model for registering loaders and exporters as is set out on gbitmap
Added a bit more safety around the assimp matrix fix to convert incoming models to torques coordinate system.
2026-05-25 00:28:03 +01:00
marauder2k7
fdecae153d Merge remote-tracking branch 'upstream/development' into development 2026-05-24 20:42:46 +01:00
marauder2k7
e4ff55b52c Update sfxEmitter.cpp 2026-05-24 20:03:44 +01:00
marauder2k7
f607c24498 Update sfxEmitter.cpp 2026-05-24 19:51:18 +01:00
marauder2k7
2c1294d528 Merge remote-tracking branch 'upstream/development' into development 2026-05-24 17:42:07 +01:00
Brian Roberts
dae2a7714f
Merge pull request #1730 from marauder2k9-torque/SFXSystem-Refactor
Sfx system refactor
2026-05-24 11:40:50 -05:00
Sir-Skurpsalot
66a6c3dc87
Update player.cpp 2026-05-23 15:48:23 -06:00
Sir-Skurpsalot
40f22dc792
Update player.cpp
Fixed validators for damage collision box fields to prevent console whinging
2026-05-23 14:18:03 -06:00
Brian Roberts
3661499b33
Merge pull request #1747 from Azaezel/alpha41/reverseLoop
Some checks failed
Linux Build / Ubuntu Latest GCC (push) Has been cancelled
MacOSX Build / MacOSX Latest Clang (push) Has been cancelled
Windows Build / Windows Latest MSVC (push) Has been cancelled
properly handle looping shapes moving backwards
2026-05-20 18:38:46 -05:00
AzaezelX
5994aae4f2 properly handle looping shapes moving backwards
cameras too
2026-05-18 18:28:29 -05:00
JeffR
0c75b7ece5 Has the PathShapeData constructor proper initialize the mUseEase var which prevents the datablock CRC cache from failing to match. 2026-05-18 00:24:54 -05:00
marauder2k7
bc7596e1e3 Merge remote-tracking branch 'upstream/development' into development 2026-05-13 09:16:56 +01:00
Sir-Skurpsalot
c6d35cc461
Update player.h 2026-05-11 16:24:09 -06:00
Sir-Skurpsalot
eab6f07d78
Update player.cpp 2026-05-11 16:22:53 -06:00
marauder2k7
823054ed86 very small sound asset changes
Adds the resolved track stuff from the soundAsset refactor
also uses the refresh asset so changes do not cause a sound to stop working
2026-05-11 22:22:48 +01:00
marauder2k7
bcde183786 hrtf working example
working example of hrtf set the pref usehrtf to true to test
For now any mhr file that is in the game directory can be used, just run once to get the index of that mhr and pass that index in to $pref::SFX::hrtfProfile
2026-05-11 22:22:47 +01:00
marauder2k7
345ce3f1d3 fix a few issues and add more info
more info for the device is printed out, along with hrtf detection
fix levelinfo sending the distance model
2026-05-11 22:22:47 +01:00
marauder2k7
be872a26b4 Update CMakeLists.txt 2026-05-11 22:22:47 +01:00
marauder2k7
acda0354d6 Add reverb
Adds reverb functionality to sound system

TODO: Make a proper sfxMixer api that will route voices to channels that have the effects slots added to them. this is just a place holder for a more complete implementation
2026-05-11 22:22:47 +01:00
marauder2k7
15a7b8cce0 extra fixes for options menu and setting up from device name 2026-05-11 22:22:46 +01:00
marauder2k7
d56bf257c7 SFX API Changes
DSound has since been deprecated and xaudio2 would require us to write our own 3d spatialization and mixer
Load devices the same way we load in the gfx end
setup sfx provider
run sfx devices on startup
various fixes around sfx null device
added the bitrate and samplerate globals
added the hrtf global code is in to use this but not setup yet
Adds speed of sound to the sound system
SFXAmbience now has a property for speed of sound for different mediums, can also be set directly
2026-05-11 22:22:46 +01:00
Brian Roberts
54b6c3ec47
Merge pull request #1722 from Azaezel/alpha41/stopSpamming2nd
followup to #1497
2026-05-11 16:17:00 -05:00
Brian Roberts
5bfaaeb5d6
Merge pull request #1723 from Azaezel/alpha41/ribbonRemoval
adress https://github.com/TorqueGameEngines/Torque3D/issues/97
2026-05-11 16:16:40 -05:00
Brian Roberts
631e25d0d4
Merge pull request #1729 from marauder2k9-torque/SFX-LoadingSounds-Fixes
SFX System fixes for loading sounds and buffers
2026-05-11 16:16:10 -05:00
Brian Roberts
ebefc62955
Merge pull request #1725 from Areloch/AssetReimportFixes
Various fixes for Asset Reimporting functionality
2026-05-11 16:15:54 -05:00
Brian Roberts
dbfd4d322c
Merge pull request #1728 from Azaezel/alpha41/easyNow
adds a pathshape useEase value.-on by default.
2026-05-11 16:13:53 -05:00