Commit graph

130 commits

Author SHA1 Message Date
Areloch 908be4818f Merge pull request #1519 from Azaezel/deferredShading
Deferred shading
2016-02-27 15:08:20 -06:00
Anis A. Hireche b3662d801a Merge remote-tracking branch 'refs/remotes/origin/development' into pr/1334
# Conflicts resolved:
#	Engine/source/console/consoleFunctions.cpp
2016-02-26 21:58:01 +01:00
Anis 794f1b9536 Merge pull request #1532 from GarageGames/pr/1143
[CLONE] More consolefunctions #1143
2016-02-26 18:57:49 +01:00
Anis A. Hireche 10cb6ab9c4 Merge remote-tracking branch 'refs/remotes/origin/development' into pr/1153 2016-02-26 14:39:38 +01:00
Azaezel 7a60056365 Merge branch 'ColorPickerAdvanced' of https://github.com/Azaezel/Torque3D into ColorPickerAdvanced 2016-02-21 16:07:51 -06:00
Anis 4c0d3bbc34 removed tabs 2016-02-21 22:41:35 +01:00
Azaezel ca2ffea6cd Merge branch 'development' of https://github.com/GarageGames/Torque3D into ColorPickerAdvanced 2016-02-21 15:30:54 -06:00
Azaezel 8c5810adad The final step (barring any overlooked missing bits, requested refactors, and of course, rolling in dependencies already submitted as PRs) consists of:
renderPrePassMgr.cpp related:
A) shifting .addFeature( MFT_XYZ); calls from ProcessedShaderMaterial::_determineFeatures to ProcessedPrePassMaterial::_determineFeatures
B) mimicking the "// set the XXX if different" entries from RenderMeshMgr::render in RenderPrePassMgr::render
C) fleshing out ProcessedPrePassMaterial::getNumStages() so that it shares a 1:1 correlation with ProcessedShaderMaterial::getNumStages()
D) causing inline void Swizzle<T, mapLength>::ToBuffer( void *destination, const void *source, const dsize_t size )  to silently fail rather than fatally assert if a source or destination buffer is not yet ready to be filled. (support for #customTarget scripted render targets)

Reflections:
A) removing reflectRenderState.disableAdvancedLightingBins(true); entries. this would otherwise early out from prepass and provide no color data whatsoever.
B) removing the fd.features.addFeature( MFT_ForwardShading ); entry forcing all materials to be forward lit when reflected.
C) 2 things best described bluntly as working hacks:
C1) when reflected, a scattersky is rotated PI along it's z then x axis in order to draw properly.
C2) along similar lines, in terraincellmaterial, we shut off culling if it's a prepass material.

Skies: scattersky is given a pair of rotations for reflection purposes, all sky objects are given a z value for depth testing.
2016-02-16 02:50:49 -06:00
Azaezel d25b03cd52 vsprintf replacement with engine vairant
resolves first issue in
https://github.com/GarageGames/Torque3D/issues/1515#issuecomment-184446719
2016-02-15 18:12:56 -06:00
Areloch 6235f63deb Merge pull request #1395 from Azaezel/AssertDivNULL
credit to @MusicMonkey5555 for spotting. asserts for Div/NULLs
2016-01-16 17:53:00 -06:00
Areloch 7a3b40a86d Initial Implementation of the Taml, Asset and Modules systems.
Only has example and shape assets currently.
2015-10-13 15:19:36 -05:00
Azaezel 7df625ea14 Adds data to vector out of bounds reports
Like say, if it's crashing out due to being passed a -1, or adding past the end.
2015-08-12 16:17:08 -05:00
Azaezel 4d3db61e94 credit to @MusicMonkey5555 for spotting. asserts for Div/NULLs with mutli-element classes
Also includes his magnitude and normalize safe alts
2015-08-12 03:41:49 -05:00
Areloch 527c3790d6 Issue found with PVS-Studio:
Many instances where we would create a object via a new call, and then check that it was non-null.

This is redundant, as if we ever were in a situation where new failed, we'd be crashing left and right already, so the additional check is wasted processing.
2015-07-21 23:22:21 -05: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
Daniel Buckmaster a49c9abf41 Merge pull request #1258 from bpay/fix-bad-assert
Remove badly behaved assert
2015-07-12 16:11:48 +10:00
Raul Ferriz 5ef130d581 Fixed some random Worder warnings 2015-07-03 15:52:38 +02:00
Raul Ferriz a5d34271f2 Fixed some minor compiler warnings on Linux 2015-06-28 22:29:23 +02:00
Lopuska 03109c9d6d Color Picker 2015-06-24 20:36:30 -05:00
RichardRanft 6c9cff4c68 Update str.cpp
Fixed copy/paste error - now actually checks the parameter passed in....
2015-05-31 20:42:05 -07:00
RichardRanft 38413be513 Update str.cpp
Effectively copied dStrIsEmtpy() into String::isEmpty().
2015-05-24 22:43:27 -07:00
RichardRanft 3ddd9b8a4c Add static String::isEmpty(const char*) method and use it to verify path for Forest::saveDataFile() is not empty. 2015-05-06 15:39:02 -07:00
Azaezel 6201e48501 crash out on net stream leaks.
causes a fatal assertion when bitstream is passed an int value it cannot transmit given the provided bit length, and reports what the value and count were, respectively
2015-04-26 20:25:40 -05:00
Ben Payne fbcc79dcd0 Don't call strlen on data that might not be null-terminated 2015-03-17 11:31:18 -04:00
Ben Payne 608a43ba2a Don't define String operator bool when compiling w/ clang on windows
Fixes compile errors building with clang-cl, which doesn't define __GNUC__
in MS compatibility mode.
2015-03-04 19:25:12 -05:00
Daniel Buckmaster 84e8cbb4ee Revert recent style cleanup changes. 2015-03-04 11:58:36 +11:00
Daniel Buckmaster 33fcc59543 Merge remote-tracking branch 'origin/style-cleanup' into development
Conflicts:
	Engine/source/T3D/tsStatic.cpp
	Engine/source/console/compiledEval.cpp
	Engine/source/ts/tsMesh.cpp
	Engine/source/ts/tsShape.cpp
2015-03-01 22:30:22 +11:00
Ben Payne f67a0353d0 Review fixes 2015-02-23 14:57:37 -05:00
Ben Payne 55ac3dca70 Fix assignment operator 2015-02-20 18:42:30 -05:00
Ben Payne 591253d5b5 Fix missing va_end's 2015-02-20 18:42:29 -05:00
Ben Payne 0ffd7f5620 Fix member vars left uninitialized in constructors 2015-02-20 18:41:51 -05:00
Nathan Bowhay 2e7018bf68 Added type conversions to fix compile errors
Added two type conversions that were missing in order to fix some
compile errors.
2015-02-11 10:55:30 -08:00
Nathan Bowhay 02f859c150 Fixed spacing to fit GG standards.
Fixed tabs to 3 spaces.
2015-02-11 10:53:34 -08:00
Ben Payne c19a70814c Tidy up and fix the various Assert macros
Rephrase the macros so that they can be used in expressions, and
properly require semicolons. And add the semicolons where missing.
2015-02-02 18:37:48 -05:00
Nathan Bowhay c98e95e6ff Forgot supporting method
Added string manipulation functions upload, requires these changes to
compile.
2015-01-29 15:09:41 -08:00
Ben Payne 47950382f7 ...and update the profiler strings 2015-01-26 16:52:07 -05:00
Ben Payne fcf52fb5e0 Rename the memory allocating versions to make prev error less likely
The behavior is different enough that these shouldn't be overloaded
with the non-allocating verions. Also makes it more obvious what is
going on to the caller.
2015-01-26 16:52:06 -05:00
Ben Payne 6e45643b28 Add descriptions 2015-01-26 16:52:04 -05:00
Ben Payne 2cc4801974 Remove a dead function 2015-01-26 16:52:03 -05:00
Ben Payne 7613fa0375 Remove unnecessary null termination
UTF16Cache::copyToBuffer() is already adding a null terminator
2015-01-26 16:52:02 -05:00
Ben Payne e3bbc42925 Provide a safer version of convertUTF16toUTF8 2015-01-26 16:52:01 -05:00
Ben Payne a88339c219 Fix buffer overflows due to incorrect use of sizeof
A snippet of example code:

UTF16 pszFilter[1024];
...
convertUTF8toUTF16((UTF8 *)mData.mFilters, pszFilter, sizeof(pszFilter));

Since the conversion function is expecting the third parameter to be the
length in 16-bit characters, *not* bytes, this results in the function
writing outside the bounds of the output array.

To make this less likely to happen in the future (I hope), I've provided a
template function that infers the correct size of a static array, so it's
no longer necessary to pass the size in most cases. The sized function has
been renamed with an "N" suffix to hopefully encourage this use.

This bug was caught due to a warning from MSVC about stack corruption
occurring in codeBlock::exec(), after opening a file open dialog twice in
succession. After some hunting, I found that this was due to
FileDialog::Execute() passing incorrect buffer sizes to the conversion
function, which resulted in the function writing a null terminator into
some memory that happened to be in the stack frame of codeBlock::exec()!
2015-01-26 16:52:01 -05:00
Luis Anton Rebollo 6492028bb2 Merge pull request #1035 from bpay/memfixes
Memfixes
2015-01-25 13:42:32 +01:00
Luis Anton Rebollo 79df1a1b3a Merge pull request #1089 from eightyeight/profile-stringtable
Add profiler regions for StringTable functions
2015-01-25 10:56:20 +01:00
LuisAntonRebollo 4e9034854d Linux implementation. Include changes for gcc x64. 2015-01-24 22:08:26 +01:00
LuisAntonRebollo 3336bffad2 Changes for Linux. 2015-01-19 01:44:36 +01:00
Daniel Buckmaster 40b871e652 Add profiling to StringTable. 2014-12-29 20:20:00 +11:00
Daniel Buckmaster ae284a89ec Merge branch 'development' into defineconsolemethod
Conflicts:
	Engine/source/materials/materialDefinition.cpp
2014-12-26 13:22:16 +11:00
Daniel Buckmaster 3ab048c5b0 Fixes after feedback from Luis.
* Made use of dStrIsEmpty in more locations (and fixed it :P)
 * Removed commented-out code
 * Corrected default params
 * Fixed some console warning formats
 * Removed tabs
 * Corrected setExtent API
2014-12-23 18:48:02 +11:00
Daniel Buckmaster 03f71a78c0 Added dStrIsEmpty and replaced some incorrect string comparisons. 2014-12-21 21:25:19 +11:00