Commit graph

44 commits

Author SHA1 Message Date
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
Areloch da06fc1d96 * Fixes description for a few Scene methods
* Adds method to Scene to delete dynamic objects in the scene
* Add getNodeTransform to ShapeBase
* Add sanity check to AFX ea_update function to avoid divide by zero
* Adds ability to set color mul on GuiBitmapBorderCtrl like bitmapCtrl
* MatrixF utilty functions/operators
* Add ability to ignore an object in the containerBoxEmpty method call
* Adds some better initialization/sanity handling for resetWorldBox and resetRenderWorldBox for SceneObject
2024-02-03 23:42:26 -06:00
AzaezelX 3c7d2b1b6a physics notes
based on https://github.com/TorqueGameEngines/Torque3D/pull/1165 and after further talks with @AtomicWalrus:
use the massbox or bounds box based  mRigid.setObjectInertia method
to reduce recirulating, combine resolvecollision and resolvecontacts
clamp seperation force for contact resolution
gravity normalized to earth standard (9.8,not 20)
take delta-time into account *once* for kinetic energy vs gravity rest checks
and for debug purposes, expose mRigid.atRest to the inspector to see if it's truly at reast or grinding calcs to minimal effect
2023-12-28 21:04:16 -06:00
AzaezelX 4a9f8e0709 get node utility methods by request
courtessy Steve_Yorkshire, tim-mgt
2023-03-12 15:19:44 -05:00
AzaezelX f07c8745b2 inspector cleanups
clustering work for datablocks for both consistent scanning for object parameters, as well as an eye towards orgainizing things to make reviewing what variations of components we'll be needing down the line clearer
2023-01-24 17:12:23 -06:00
JeffR 943cf8351b Adds safety check to SoundAsset's playSound so if we don't have a source, it doesn't crash
Adds logic to SoundAsset's load sound to 'nudge' the SFX system to load the required data for first use
Shifts SimSoundAssetEvent constructor to utilize assetId instead of raw asset so we can safely fail if for whatever reason we end up default constructor'ing blanks
Standardizes the shapeImage playList lookup a bit into a common function and ensures that on packet receive we force an update of the state's sound
2022-06-03 02:04:39 -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
AzaezelX f5600826d7 Merge branch 'Preview4_0' into SoundAssetImplements
# Conflicts:
#	Engine/source/T3D/assets/assetImporter.cpp
#	Engine/source/forest/forestItem.cpp
2021-10-11 20:11:27 -05:00
Robert MacGregor 1b6b803a20 * BugFix: Clear a lot of warnings and correct a few actual programming errors along the way. 2021-10-04 20:04:21 -04:00
AzaezelX 98a079a797 code duplication prune. should aid in stability 2021-10-03 02:56:26 -05:00
marauder2k7 656096e016 Another way of doing shapeBase, this requires fewer changes but will have an empty asset in each stateData until it is filled with an asset.
Both these will need to be tested to see which one is better.
2021-09-29 12:48:37 +01:00
marauder2k7 1c14dc5ec4 The beast is ready for a look over.
Can't have a soundAsset inside a struct. If we could this might work better.
PrevState needs to be kept track of for clearing looping sounds before the next state is loaded in. This might cause issues when switching weapons.
2021-09-29 12:36:02 +01:00
Areloch 5525f8ecdd Converts all game, gui editor, and system classes to utilize assets
Processed core, tools and default modules to utilize assets
Converted all console types that were string based, such as TypeImageFilename to utilize const char*/the string table, which avoids a lot of type swapping shenanigans and avoids string corruption
Removed unneeded MainEditor mockup module
Removed some unused/duplicate image assets from the tools
2021-07-19 01:07:08 -05:00
AzaezelX 516a05301f corrected and implemented a usage of shapeasset macros (and stray membervars touched). todo: shapebaseimage, debris. 2020-12-22 12:34:15 -06:00
Brian Roberts 6441ecd941
Merge pull request #317 from Areloch/ShapeBaseDataAssetify
Implements hook-look-up logic for shape assets to ShapeBaseData including autoimport handling
2020-11-27 18:04:16 -06:00
AzaezelX afb39d398f code review:
1) got rid of evey class having it's own gravity
2) rigidshape inheritance simplifications
3) gravitymod from physicszones taking buoyancy into account natively (we still track raw bouyancy to cancel it out for player)
4) disableMove used throughout
5) items can now also be influenced by the appliedforce from physicszones
2020-10-02 13:53:46 -05:00
Areloch ead26ec18a Implements hook-look-up logic for shape assets to ShapeBaseData including autoimport handling
Also fixes issues with editing/spawning DBs via the asset browser
2020-09-21 20:51:41 -05:00
AzaezelX fabd5864fa uninitialized variables-t3d 2020-05-11 15:30:21 -05:00
Areloch b4a1d18f42 Core implementation of Physical Based Rendering. 2018-09-15 20:19:57 -05:00
Marc Chapman 8aaed004f1 Collision events 2017-07-27 01:41:40 +01:00
Marc Chapman ab88b8f489 anim-clip -- sequence selection by afx effects 2017-07-27 00:31:43 +01:00
Marc Chapman a64a2c9793 remap-txr-tags -- runtime reassignment of texture tag names. (Useful for splitting up tags with the same name in order to map different materials to them.)
bbox-check -- a change that allows disabling of a confusing error message.
2017-07-27 00:15:01 +01:00
Marc Chapman d4c2eeea98 Selection Highlighting 2017-07-26 23:48:29 +01:00
Marc Chapman f9f05f154f datablock-temp-clone -- Implements creation of temporary datablock clones to allow late substitution of datablock fields. 2017-07-26 21:10:43 +01:00
Areloch 25686ed4be Implementation of sRGB image support. Overhauls the linearization setup to utilize the sRGB image types, as well as refactors the use of ColorF and ColorI to be properly internally consistent. ColorIs are used only for front-facing/editing/UI settings, and ColorFs, now renamed to LinearColorF to reduce confusion of purpose, are used for color info in the engine itself. This avoids confusing and expensive conversions back and forth between types and avoids botches with linearity. Majority work done by @rextimmy 2017-06-23 11:36:20 -05:00
Azaezel 5f5466d90d clang: consistent callbacks 2016-10-16 16:54:11 -05:00
James Urquhart ba91478fad Baseline working openvr code 2016-09-11 22:42:42 +01:00
Anis A. Hireche f701228a37 Steve Acaster's Ai Poses 2016-02-26 15:53:20 +01:00
Daniel Buckmaster 4f2f1ca4e1 Merge pull request #1356 from Areloch/PVS_Cleanup_813
Convert un-modified function arguments to const references.
2015-07-20 22:55:22 +10:00
Daniel Buckmaster c2e5dc3345 Merge remote-tracking branch 'bpay/clang-cl-build-fixes' into development
Conflicts:
	Engine/source/T3D/shapeBase.h
2015-07-17 16:55:12 +10:00
Areloch 11398bb04e Issue found with PVS-Studio:
A lot of instances where some function args are not actually modified in any way, meaning that it is better for performance to convert them into const references. This prevents an additional copy, which can help performance.
2015-07-16 22:02:18 -05:00
James Urquhart 3a457749ec Oculus VR DK2 Support
- Updated to work with 0.5.x SDK
- Uses Oculus Rendering rather than PostFX
- Stereo rendering refactored so more rendering info is grabbed from the DisplayDevice
- Implements an Offscreen Canvas for in-game gui with oculus
- Message dialogs and metrics display can now go to the OffScreen Canvas (if oculus demo is setup correctly)
2015-05-06 23:09:51 +01:00
Ben Payne 62fa40380b Fixes for "incomplete type" errors when compiling with clang-cl 2015-03-04 19:10:56 -05:00
Daniel Buckmaster 9622f93d05 Fix weapon image camera shake. 2014-12-07 20:59:17 +11:00
Daniel Buckmaster d08e594316 Merge pull request #682 from Azaezel/extended_onendSequence
Extended onend sequence
2014-09-16 10:25:25 +10:00
Azaezel db089ab45f consistency 2014-09-15 19:10:23 -05:00
Daniel Buckmaster 439dc9c56d Fixed ShapeBase animation networking.
We essentially just need to remember to Update ShapeBase::Thread::position
every time we advance the thread in the shape. With a little bit of
supporting code these changes will be passed to the client's shape.
2014-09-15 10:01:13 +10:00
Daniel Buckmaster 69179cf809 Removed ShapeBase::Thread::sound.
Weird feature that's not script-accessible or actually implemented.
2014-09-05 14:09:35 +10:00
Azaezel 11ac92accc adds the name of the sequence just completed for simple FSMs and the like. example usage:
function shapeBaseData::onEndSequence(%this, %obj, %slot, %name)
{
   %script = "on" @ %name;
   if(%this.isMethod(%script))
      %this.call(%script, %obj);
}

function fooData::onDeploy(%this,%obj)
{
   error("fooData::onDeploy" SPC %this SPC %obj);
}
2014-05-30 22:49:17 -05:00
Azaezel 8d90558279 removes non-functional shield and invincibility functionality. 2014-04-07 16:11:32 -05:00
Daniel Buckmaster ce73a6b11a Exposed blowUp method to console. 2013-08-02 19:00:28 +10:00
DavidWyand-GG 660250cccf Game cam and eye banking, control schemes
- ShapeBaseData has two new properties.  cameraCanBank indicates that
the game object may bank its eye/camera, if supported by the object.
mountedImagesBank indicates that mounted images should bank with the
eye/camera in first person view.  Both default to false.
- Player supports 1st person eye and 3rd person camera banking when
making use of the new ExtendedMove class.
- Camera class supports banking when making use of the new ExtendedMove
class.
- GameConnection now has an idea of a control scheme.  This determines
how game objects should respond to input events.  A control scheme may
be set by either the server or client.  Current control schemes are:
-- Absolute rotation (likely though the ExtendedMove class)
-- Add relative yaw (from mouse or gamepad) to absolute rotation.
-- Add relative pitch (from mouse or gamepad) to absolute rotation.
- Player class supports the new control schemes when using the
ExtendedMove class.
- Camera class supports the new control scheme when using the
ExtendedMove class.
2013-04-09 16:14:19 -04:00
thecelloman 99e8bcb817 Add getMaxDamage() method. This will be needed for the forthcoming HealthTextHud GuiControl. 2012-10-04 15:55:46 -04:00
DavidWyand-GG 7dbfe6994d Engine directory for ticket #1 2012-09-19 11:15:01 -04:00