Commit Graph

6373 Commits (3e307fc84396d95682235c3b5dced224eb84fd85)
 

Author SHA1 Message Date
Tobias Zwick 3e307fc843 fix previous commit 2015-01-01 17:27:41 +01:00
Tobias Zwick 2a4b268087 fix the same bug as Sven2 10 minutes ago, but also clean up the update function, rename variables, add comments, etc. 2015-01-01 16:08:32 +01:00
Tobias Zwick 196c62fbe8 slightly elevate the lights in z direction from the landscape (making the light throw less shadows on visible materials and objects) 2015-01-01 16:07:24 +01:00
Tobias Zwick 12f127b4bd weaken the effect the material normal map has on the total landscape normal calculation 2015-01-01 16:07:23 +01:00
Sven Eberhardt 9a87240d47 Fix off-by-one error in landscape X bias calculation. 2015-01-01 15:52:15 +01:00
Sven Eberhardt 2b997b994a Add light effect to explosions.
Currently, all players see the light. In the future, we may want limit it to the controller of the explosion.
2014-12-31 13:36:22 +01:00
Armin Burgmeier 61b05f92c3 Remove unused FoW tracking in C4Player
The FoW decay mechanism is not needed anymore, either, because the light
system itself is already slowly fading out when the light changes.
2014-12-29 23:09:31 +01:00
Armin Burgmeier 748b565259 Remove objects from light sources when dead or removed 2014-12-29 23:09:04 +01:00
Armin Burgmeier ae505e3c6b Render FoW only if active for player
This allows to enable or disable FoW individually for each player with
SetFoW().
2014-12-29 23:08:17 +01:00
Armin Burgmeier a508fb38e7 Remove GL shade model changes
This gets rid of GL state changes for questionable gain. It also fixes drawing
of fade sky backgrounds in global viewports (where, for some reason, the shade
model was set to GL_FLAT instead of GL_SMOOTH).
2014-12-29 22:27:49 +01:00
Armin Burgmeier 4c3235bbc9 Ifdef-out unused shader code in ObjectLightShader.glsl 2014-12-29 22:26:18 +01:00
Armin Burgmeier 2f08918393 Add FoWEnabled entry in Scenario.txt [Game] section (#1178) 2014-12-29 12:29:43 +01:00
Armin Burgmeier be92651219 Make the clonk a bit brighter
This compenates for the fact that the ambient and emissive part of
mesh materials are not taken into account anymore.
2014-12-28 17:22:32 +01:00
Armin Burgmeier a3049207c9 Use full ambient lighting in global viewports
This allows to see the whole landscape without any areas covered by FoW
in the global viewport. Basically the ambient lighting is set to 1.0
independent of the ambient light map. In the course of this, a second
shader for the landscape has been introduced.
2014-12-28 15:07:42 +01:00
Armin Burgmeier c687ea4040 C4Viewport: Fix memory leak of C4FoWRegion object 2014-12-28 14:07:50 +01:00
Armin Burgmeier 2ebb15c5db Fix crash on player elimination (#1191) 2014-12-28 12:28:25 +01:00
Armin Burgmeier 3306d9163c Use default lighting for picture mesh graphics
Instead of flat shading.
2014-12-27 20:05:28 +01:00
Armin Burgmeier 8116a96ed4 Fix fragment coordinate transforms (#1192)
There were two problems with the previous transforms:
  1) For inverting the Y axis for the ambient map, the total height of the
     output window is needed, not only the viewport region.
  2) The Y offset to only use the part of the light texture that is being
     rendered to was not applied.

In order to keep the transformations more readable, a new lightweight class
C4FragTransform has been introduced which can only handle translations
and scales in x and y.
2014-12-26 16:16:09 +01:00
Armin Burgmeier 5bb8b48e5d Update documentation for custom shaders 2014-12-22 22:58:09 +01:00
Armin Burgmeier 8686441d45 Make mesh shaders use the C4Shader slice machinery 2014-12-22 22:56:30 +01:00
Armin Burgmeier fdd94a3311 Add named slice positions for vertex shaders 2014-12-22 22:56:30 +01:00
Armin Burgmeier 574149e289 Pick up a shader slice only after a newline
Otherwise a workaround such as "#define slice(x)" would not work for non-OC
shader code.
2014-12-22 22:56:30 +01:00
Armin Burgmeier 5c98fdccec Make C4ShaderCall use a const C4Shader* 2014-12-22 22:56:30 +01:00
Armin Burgmeier d6bdf9a6e0 Add possibility to add vertex slices from the parser 2014-12-22 22:56:30 +01:00
Armin Burgmeier 8c42704181 Rename some shader files and add basic shader for meshes 2014-12-22 22:56:30 +01:00
Armin Burgmeier 7f1cf15274 Change slice syntax such that positions appear in parentheses
This allows to ignore slice declarations using `#define slice(x)`, which
mill be useful for custom mesh material shaders, allowing to write them
such that they can be used standalone in a mesh viewer but also as slices
for OpenClonk, in which case lighting and color modulation will be applied
automatically.
2014-12-22 22:56:30 +01:00
Tobias Zwick 4981182cf8 Merge remote-tracking branch '_origin/master' into lights
Conflicts:
	src/c4group/C4Components.h
2014-12-15 21:16:40 +01:00
Armin Burgmeier e0bfc3211c Fix definition packing order (#1189)
To match the changed loading order from previous commit
2014-12-15 09:07:50 -05:00
Mark 99acc31098 More readable C4Def::Load
The load function now calls several functions for loading specific files, even if these functions may be very short. The behaviour changed slightly: Sounds are now always loaded before the graphics. Enables loading sounds even if the graphics are invalid.

Conflicts:
	src/object/C4Def.cpp
2014-12-14 22:09:55 -05:00
Sven Eberhardt f50e2e9e3a Fix scroll bars in zoomed editor viewports on Windows. 2014-12-14 16:08:56 +01:00
Sven Eberhardt 8df39d06e4 Fix texture preview in editor tools dialogue on Windows. 2014-12-14 15:20:57 +01:00
Sven Eberhardt bd1f59cb2d Fix Win32 MinGW build.
I hope...
2014-12-14 13:43:58 +01:00
Sven Eberhardt 296a1b8f8d Auto-select nVidia GPU on Optimus laptops.
Since we're no longer using DirectX, nVidia's automatic detection no longer works classifies OpenClonk as a game to use the high performance GPU. Note that this flag does not work on some old drivers (version<302 according to specs). To support these old drivers, we would have to link against DirectX despite not using it.
2014-12-14 13:24:16 +01:00
Sven Eberhardt dd9fdbb159 Log information about GPU used by OpenGL on startup. 2014-12-14 12:35:22 +01:00
Sven Eberhardt 9db21442b7 Fix assertion when drawing boxes on non render targets.
This doesn't fix material preview in editor mode yet but at least there's no more assertion. We should probably create a proper render target surface for that.
2014-12-13 15:14:51 +01:00
Nicolas Hake 6c2995fe41 Squelch varargs warnings in System.ocg
The engine (extra)warns whenever you use Par() or ... inside of a
function that is not declared as taking a variable number of arguments.
Change the declaration of all System.ocg varargs functions so it is
immediately obvious.
2014-12-12 23:27:17 +01:00
Maikel de Vries c6802b8776 increase game content version entries to 6.0 2014-12-12 22:58:16 +01:00
Nicolas Hake 9089f6857f Remove Sort field from C4FolderHead
This field apparently was intended to be used in folder maps, but was
already unused in Clonk Rage, and has never been used in OC either.
2014-12-12 22:54:42 +01:00
Tobias Zwick d59b1e5e5b reduce version numbering from x.y.z (x does never changes) to y.z 2014-12-12 21:57:52 +01:00
Kevin Zheng 4fae398672 Fix build on 32-bit architectures 2014-12-10 21:45:41 +01:00
Sven Eberhardt d17226bbc2 Added ambience test version of DeepSeaMining. 2014-12-09 23:51:40 +01:00
Sven Eberhardt b641650443 Do not fade out music on scenario section loading.
Instead, scripters can use SetPlayList() or Music() to fade music by script if desired.
2014-12-09 23:48:19 +01:00
Sven Eberhardt ac41e9a6eb Fix music fading when fading back to the same piece that is currently fading out. 2014-12-09 23:37:39 +01:00
Sven Eberhardt 4bdd470d13 Added GetPXSCount to docs. 2014-12-09 23:37:38 +01:00
Sven Eberhardt 2808a3983b Move FlightlessBird from Objects.ocd to Experimental.ocd.
Moved because it causes annoying errors on startup. It's not even a full definition and the material doesn't seem to be used anywhere.
2014-12-09 23:37:38 +01:00
Sven Eberhardt 35b65cd78c Use COMMENT (not COMMENTS) as the category field to select songs when using SetPlayList. 2014-12-09 23:37:34 +01:00
Armin Burgmeier ab4de05b4f Fix light/ambient drawing offset when upperboard is active 2014-12-07 21:54:12 -05:00
Armin Burgmeier ffed845849 Build fix 2014-12-07 14:59:38 -05:00
Sven Eberhardt bb3203ff63 Added new ambience object to Experimental.ocd.
Controls the music playlist according to the situation the player's clonk is currently in.
2014-12-07 19:54:17 +01:00
Sven Eberhardt 612a05fe40 New script function: GetPXSCount.
Counts number of loose pixels of a material in an area.
2014-12-07 19:52:05 +01:00