Commit Graph

5040 Commits (2a05f16a736a5036377062273742b287c7cd7d97)
 

Author SHA1 Message Date
Sven Eberhardt 2a05f16a73 Experimental AcidGoldMine landscape rework 2013-02-11 21:01:19 +01:00
Sven Eberhardt ffcd74e70d Check and warn against invalid texture indices in map when creating landscape. 2013-02-11 21:01:19 +01:00
Martin Plicht f9863f2b1b mac: Change type of K_* constants from int to C4KeyCode (int <-> long discrepancy) 2013-02-11 11:39:40 +01:00
Martin Plicht 6217a62c8d mac: cmake: Fix compilation of libmisc 2013-02-11 11:39:24 +01:00
Sven Eberhardt 8974355760 Experimental acid gold mine: Difficulty tweaked. 2013-02-10 19:15:56 +01:00
Sven Eberhardt f1d05785aa Shake free single pixels of diggable material 2013-02-10 18:28:48 +01:00
Sven Eberhardt af0b44a5ab Experimental AcidGoldMine minor stuff 2013-02-10 12:47:38 +01:00
Sven Eberhardt 377d709465 Experimental AcidGoldMine: Made a bit easier. 2013-02-09 16:47:24 +01:00
Sven Eberhardt 5bd634b02a Experimental AcidGoldMine: Gold mine in hostile environment. 2013-02-09 15:31:41 +01:00
Sven Eberhardt 8fde966ee5 LibraryStackable supports infinite stack counts for tutorials, AI enemies, etc.
Also renamed internal Update() function to avoid name collisions with other scripts/libraries.
2013-02-09 13:35:17 +01:00
Sven Eberhardt 31b87ef814 Optimize global func Sign. New version is between 10% and 50% faster! 2013-02-09 01:56:06 +01:00
Sven Eberhardt 7d12dff8dc Experimental: VolcanoEscape. Relatively hard, cooperative race. 2013-02-06 01:18:32 +01:00
Sven Eberhardt fef5605217 Parkour goal: Added function to disable respawn. 2013-02-06 01:11:08 +01:00
Sven Eberhardt f650eb8010 Ashes material is now instable. 2013-02-06 01:10:34 +01:00
Sven Eberhardt 6669e965a2 Fix Loc_Material without texture parameter 2013-02-05 00:35:04 +01:00
Oliver Schneider 3d98775701 Fixed a typo in Tutorial01 2013-02-04 23:50:17 +01:00
Nicolas Hake 365d72fee1 Fix incorrect reloading of animations (#837)
Animation nodes accidentally did not have the correct
animation parent set when they were deserialized.

Closes #837, #872, #916.
2013-02-04 19:06:08 +01:00
Sven Eberhardt 3ee1cbe60b Experimental EvilCastle+HotIce wip 2013-02-03 22:38:46 +01:00
Nicolas Hake e91d4a4278 Update more various references to clonk.exe 2013-02-03 20:54:34 +01:00
Nicolas Hake 1f1333d5bd Update de.po to conform to standard formatting
Apparently some other software has felt like reformatting
our .po file in a different way than prescribed by docs/Makefile.

Reverted the reformat to get a clean patch for the actual
translation changes.
2013-02-03 20:31:07 +01:00
Armin Burgmeier 43a2836279 Implement texture unit blending in material scripts with a shader
This might make the rendering a bit quicker, since the whole texture
environment setup that we do every frame is no longer required --
instead only the shader is bound and a few variables uploaded. However,
this was not the main motivation behind this change.

It also simplifies the code a bit. The texture environment setup is
replaced by GLSL code generation. Another small benefit is that for
texture units in material scripts that do not use an actual texture
image no hardware TIU is being used. This reduces the number of hardware
TIUs required for rendering the Clonk from 3 to 2.

The main benefit of this change, however, is that material specific
and clonk specific color variations can be applied correctly. This mainly
concerns ClrModulation and MOD2 drawing. Before, the ClrModulation was
mixed with the material color, which could lead to incorrect results
depending on what the texture units were doing. Now it is being applied
by the shader after all texture units in the material scripts have been
processed.

Another motivation of this change is to implement support for custom
shaders, which is already foreseen by OGRE material scripts. The
specification has only to be implemented. With this change in place,
both custom shaders and "fixed" processing can share the same code in
the engine, since both end up using a shader for the mesh rendering.

The shader currently works only for directional lights, but should be
easy to extend to also support point lights.
2013-02-03 16:26:01 +01:00
Sven Eberhardt 7f14d6bdef Experimental EvilCastle: Message when you enter the mushroom cave + misc landscape/object stuff 2013-01-31 22:42:15 +01:00
Sven Eberhardt bf8655ab1d Fix Call() in global context (required for ScheduleCall) 2013-01-31 22:38:16 +01:00
Nicolas Hake d20ee02ad6 Abort SimFlight if no more movement can occur (#914)
In no-gravity situations, SimFlight would enter an endless
loop when trying to project an unmoving object, waiting for
a collision that would never happen.

Similarly, in negative gravity, SimFlight would continue
calculating objects that left the top boundary of the land-
scape, only aborting the simulation once the coordinates
underflowed to values below the landscape.
2013-01-30 14:00:08 +01:00
Oliver Schneider 3c3621072c cmake: properly removed gtest from the all target 2013-01-30 13:06:22 +01:00
Günther Brammer 9ece8df04e autotools: Remove autogen.sh, use autoreconf instead
autogen.sh was only ever needed on some broken msys installations where
autoreconf didn't work. Those may still be around, but one can probably use
cmake for them instead.
2013-01-29 01:07:22 +01:00
Oliver Schneider c43a682785 tests: Compile gtest from source, add a few new tests
GTest does not ship precompiled binaries anymore. They are now compiled
using the CMakelists.txt from gtest.

Add basic unit tests for C4Value, DirectExec and C4StringTable.
2013-01-29 01:07:22 +01:00
Oliver Schneider e45a569aa3 cmake: Use libraries to avoid compiling files multiple times 2013-01-29 01:02:05 +01:00
Oliver Schneider 14369b509f cmake: Check for convert at configure step 2013-01-29 01:01:58 +01:00
Sven Eberhardt 320b0f4672 Experimental: HotIce. A short, new arena scenario. 2013-01-28 22:25:40 +01:00
David Dormagen c8e6b84319 it is now easier to hit objects with the club (#905) 2013-01-28 21:10:18 +01:00
Nicolas Hake f897e95071 Rename game binary to "openclonk" (#830)
Since the name of the game is OpenClonk, having the binary named
differently is at least confusing. At worst it conflicts with the
trademark license granted by RedWolf Design.

The Mac build will still have to be fixed because the installer
template .dmg file is not editable on non-Macintosh systems.
2013-01-28 13:57:29 +01:00
Armin Burgmeier 2a1ba0f8fe Split the mesh drawing into C4DrawMeshGL.cpp 2013-01-27 23:52:57 +01:00
Sven Eberhardt 3b73955e6f Experimental EvilCastle Horax moar stronk! 2013-01-27 18:40:45 +01:00
David Dormagen 6395e77e6a added remaining files for Rule_EnergyBarsAboveStructures 2013-01-27 18:24:45 +01:00
Sven Eberhardt 82cf8a0892 Experimental EvilCastle: Mushroom poison improvement. Upside-down shrooms now work as well! 2013-01-27 18:06:23 +01:00
Sven Eberhardt c87a40f28d Placeholder graphics for EnergyBarsAboveStructures
Zapper: Please commit yours! At the moment, the engine spits out tons of errors for every structure.
2013-01-27 17:22:46 +01:00
Sven Eberhardt 0b5e5cd020 AI test scenario 2013-01-27 17:21:30 +01:00
Sven Eberhardt 237e44034b Experimental Enemy AI: Evasion and shield usage. EvilCastle: EnergyBars 2013-01-27 17:17:55 +01:00
Sven Eberhardt b44466729a Experimental EvilCastle: Some more textures for castle materials 2013-01-26 23:39:14 +01:00
Sven Eberhardt 63a34ab9ba Experimental: Lots of small improvements on EvilCastle and EnemyAI.
EnemyAI:
* Try to avoid shooting allies standing between AI and target. Jump to get free path.
* Fix some cases of AI stuck in wall scaling action
* Ranged enemies face their targets when they shoot
* Catapult handling: If catapult is empty, let go and attack with melee weapon
* Change ranged targets if current is unreachable
* Encounter callbacks to game script and ally wakeup

EvilCastle:
* Lock player view (Prohibit mouse scrolling)
* Encounter messages for some enemies
* Enemy aggro ranges tweaked
* Some landscape reworks
* Icon changed
2013-01-26 17:24:48 +01:00
David Dormagen 990b8efc90 tools: added python script to extract functions from the docs for the C4Highlight MediaWiki plugin 2013-01-25 00:19:39 +01:00
Günther Brammer 9d34c4e30d gtk: Make the window fullscreen even when not changing the resolution 2013-01-24 19:36:59 +01:00
Günther Brammer 1e67a6fb24 Fix missing mouse cursor in fullscreen without resolution change
The mouse cursor was about the only thing affected by fZoom, and fZoom
should have been always 1 at the moment anyway.
2013-01-24 19:36:59 +01:00
Günther Brammer db81cf193d gtk: Bump minimum required versions to the oldest versions we test with 2013-01-24 19:36:59 +01:00
Günther Brammer a62e556b63 Script: Reimplement GameCall in C4Script 2013-01-23 21:36:21 +01:00
Günther Brammer f38670abc3 Script: Functions can shadow global variables
Previously, declaring a global variable could break another script that had
a function with the same name.
2013-01-23 21:36:21 +01:00
Günther Brammer 42608c5209 Remove C4DirectExecScript, use an existing scripthost for the eval function
Since the scripthost isn't used to store the bytecode anymore,
Parse_Expression doesn't modify it anymore. So there is no need for a
temporary one.
2013-01-23 21:36:21 +01:00
Günther Brammer 57c01ac537 Rename C4AulParse::a to C4AulParse::Host and add C4AulParse::Engine
C4AulParse::Host is now only used for local variables and named functions.

Global directexec functions have neither, so they won't need a scripthost
at all anymore.
2013-01-23 21:36:21 +01:00
David Dormagen 50fd0ebc39 added Rule_EnergyBarsAboveStructures and adjusted Krakatoa to use that 2013-01-22 18:44:29 +01:00