Lukas Werling
6847e50e79
Implement setting shader uniforms from script ( #1206 )
...
Uniform variables are read from the "Uniforms" proplist set on Scenario
or on individual objects. Proplist keys are uniform names. Values can
either be an int or an array of one to four ints in C4Script. In GLSL,
the uniforms then need a matching type (int/ivec2/ivec3/ivec4). There is
no error reporting; uniforms are only set if both name and type match.
The implementation walks the "Uniforms" proplists on each Draw call. We
may need to cache the uniform maps if this turns out to be too slow.
2016-11-12 22:09:23 +01:00
Sven Eberhardt
ebda8193ef
Replace NULL by nullptr in C++ sources
...
We don't support pre-C++0x any more, so nullptr should be fine everywhere (except in the plain C source files)
2016-11-02 19:58:02 -04:00
Sven Eberhardt
f17046e1f0
Fix display of rotated meshes with MeshTransformation
...
Rotation used the wrong (untransformed) coordinates for the rotation center
2016-10-31 10:10:29 -04:00
Lukas Werling
13fa0ab7b1
Implement adding/removing shaders from script
...
New script functions: AddFragmentShader, RemoveShader.
There is currently no support for adding vertex shaders.
2016-10-29 21:19:08 +02:00
Julius Michaelis
376ca5a9df
Prevent using USE_CONSOLE in lib{misc,c4script}
2016-10-22 17:42:23 +02:00
Julius Michaelis
8d2f2846b5
Fix mac build
...
Also move some stuff around once again…
2016-10-21 01:25:48 +02:00
Julius Michaelis
34a9a1de8d
Twiddle with header organization: lib{misc,c4script} do no longer include GL/glew.h
...
(Yes, it is just that complicated.)
2016-10-20 18:46:32 +02:00
Sven Eberhardt
c44a776090
Editor: Fix object list update on object removal
2016-10-15 11:43:12 -04:00
Sven Eberhardt
06a438e05e
Editor object list: Remove effects; add Global and Scenario
2016-10-15 10:06:44 -04:00
Sven Eberhardt
15d850e4ec
Editor: Add effects to property viewer
2016-10-14 10:50:17 -04:00
Sven Eberhardt
41dde5e7d0
Add script function GetDefinitionGroupPath
2016-09-05 02:00:01 -04:00
Sven Eberhardt
31ead2507a
Add Unstick() script function
...
Also add a position parameter to Stuck() script function.
2016-09-05 01:59:58 -04:00
Sven Eberhardt
30738c760e
Fix water splashing particles
2016-08-30 18:56:46 -04:00
Sven Eberhardt
64f7a97eb6
Fix hang on startup on negative definition priority
2016-08-27 18:37:56 -04:00
Sven Eberhardt
1d566ec6c5
Add VIS_Editor visibility flag
2016-08-02 01:12:08 -04:00
Sven Eberhardt
534e4cc745
Merge branch 'master' into qteditor
...
Conflicts:
src/script/C4AulParse.cpp
2016-07-24 10:23:57 -04:00
Sven Eberhardt
0206e9a74a
Qt Editor: Add HideInCreator DefCore setting
...
Hides internal definitions, libraries, etc. from the object creator in the editor.
2016-07-10 21:55:56 -04:00
Nicolas Hake
7ff8c4f95a
Remove references to functions defined in unloading defs ( #1776 )
2016-07-06 14:41:22 +02:00
Sven Eberhardt
b34ae09437
Fix utility builds
2016-06-21 21:48:10 -04:00
Sven Eberhardt
a7aa89f168
Merge branch 'master' into qteditor
...
Conflicts:
planet/Objects.ocd/Structures.ocd/StoneDoor.ocd/SpinWheel.ocd/Script.c
src/platform/C4WindowSDL.cpp
src/script/C4AulParse.cpp
src/script/C4Effect.cpp
2016-06-20 22:27:03 -04:00
Sven Eberhardt
b6526d2f65
Qt Editor: Always duplicate contents with objects
...
Even if they are not selected, this is probably what the user expects.
2016-06-20 15:50:35 -04:00
Sven Eberhardt
5e4e6c9f7c
Remove a debug log
2016-06-07 19:08:15 -04:00
Sven Eberhardt
397dbd867a
Add DefinitionPriority property to control call order of Definition()-callbacks.
2016-06-07 18:22:43 -04:00
Maikel de Vries
8291298af1
add script callback on completion change
2016-05-21 13:34:34 +02:00
Maikel de Vries
6794b3b630
remove object component functionality from the engine
2016-05-21 13:34:34 +02:00
Maikel de Vries
accd897b91
rename NoComponentMass to NoMassFromContents
...
This had nothing to with components, and risk of backwards compatibility is minor.
2016-05-21 13:34:33 +02:00
Maikel de Vries
00d5a06ec0
remove option to display components in old style menus
2016-05-21 13:34:33 +02:00
Maikel de Vries
fcd3678748
remove unused function ComponentAll
2016-05-21 13:34:33 +02:00
Maikel de Vries
183ab4c4a0
remove unused function ComposeContents
2016-05-21 13:34:33 +02:00
Maikel de Vries
5841b55f7e
remove unused function GetNeededMatStr
2016-05-21 13:34:33 +02:00
Günther Brammer
c0d32f8f4e
Remove redundant target parameters from effect implementation
2016-05-15 15:17:17 +02:00
Günther Brammer
6aaf7cd2ef
Store a pointer to the effect target in the effect itself
2016-05-15 15:17:17 +02:00
Günther Brammer
99f704fbb8
Script: Prevent writes to constant arrays
2016-05-05 02:10:41 +02:00
Günther Brammer
b00b8554ab
Merge branch script
2016-04-28 03:25:44 +02:00
Günther Brammer
efd4724084
Script: Add Scenario effects
...
These work just like global effects, except that effects from CreateEffect
get the scenario as target parameter in the callbacks.
2016-04-28 02:53:21 +02:00
Sven Eberhardt
881534bee0
Qt Editor: Shape properties
2016-04-25 16:17:10 -04:00
Lukas Werling
c349254d8b
Remove C4Particles.h include from C4Object.h
...
This reduces the number of files indirectly including PCG from ~50 to 7.
2016-04-25 21:24:27 +02:00
Lukas Werling
e33066a4f2
Rename SafeRandom() to UnsyncedRandom()
2016-04-25 17:32:23 +02:00
Günther Brammer
e5cfb1858f
Script: GetName() can return the property a proplist was defined in
...
This means that the ActMaps do not need to repeat their name anymore,
provided that all Scripts use GetName() instead of directly accessing .Name.
2016-04-24 19:40:29 +02:00
Günther Brammer
e8811a7b21
Move global effects from ::Game to ::ScriptEngine
...
This even enables some simplification in the CompileFuncs, since the global
effects were already put in the same section as the other ScriptEngine
parts. The callback for updates due to relinks also fits nicely.
The reset in C4Game::Default was redundant with C4Game::Clear already.
2016-04-24 19:40:28 +02:00
Günther Brammer
e2c6c2a841
Do not use C4Object in C4Effect
...
Instead, the pointer to the effect list is passed to the functions that
previously used the object to determine it.
2016-04-24 19:40:28 +02:00
Nicolas Hake
8ffc1ab8cb
Apply DrawTransform to meshes too
...
This will make lighting look weird again for meshes flipped via FlipDir.
Avoid doing that until we implement FlipDir for meshes via an internal
MeshTransform.
2016-04-17 17:56:56 +02:00
Sven Eberhardt
f594737d7e
Fix Definition() call order to prevent possible sync loss.
2016-04-16 23:00:31 -04:00
Sven Eberhardt
c0228be4e7
Qt Editor: More editor property types and functionality
2016-04-16 22:05:35 -04:00
Sven Eberhardt
2a2fc68e3f
Qt Editor: Add user properties
2016-04-09 14:29:02 -04:00
Nicolas Hake
9dddf289db
Merge branch 'master' into qteditor
2016-04-03 21:06:32 +02:00
Nicolas Hake
eabca223f5
Update all copyright notices for 2016
2016-04-03 20:24:42 +02:00
Nicolas Hake
493c276126
Rewrite header inclusions to #include "path/to/file.h" style
2016-04-03 20:24:42 +02:00
Nicolas Hake
3641509462
Mesh rotation: Keep rendered mesh inside shape
2016-04-03 13:37:04 +02:00
Nicolas Hake
de1d00eb68
Meshes: Enable reload for custom material shaders
2016-04-03 13:37:03 +02:00