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