Commit Graph

5803 Commits (4f43da9999fe1650a7af24d13c409a6feca40846)
 

Author SHA1 Message Date
Sven Eberhardt 4f43da9999 Fix SolidMasks defined in DefCore.txt for objects with mesh graphics.
There were a few leftover checks from when SolidMasks could only be defined for definitions with bitmap graphics.
2014-05-04 14:16:46 +02:00
Julius Michaelis 1b1fa1643b Fix grenade launcher ammo check 2014-05-03 21:03:19 +02:00
Nicolas Hake 48c1f387f0 Require semicolon after 'do' loop
This makes C4Script consistent with C-based languages, and current usage
on master shows that in the majority of cases, the author expected to have
to place a semicolon after the loop anyway.
2014-05-03 10:07:41 +02:00
Clonkonaut e3bf5110ed Fixed restart rule (#1072). 2014-05-02 02:04:04 +02:00
Clonkonaut d70f8e1de2 Removed 4 lines of useless code. 2014-05-02 00:53:56 +02:00
Clonkonaut c35c352c46 Fixed clonk freezing in mid-run when building loam bridges (#943). 2014-05-02 00:52:20 +02:00
Clonkonaut 5f2c9ca8cb Merge branch 'master' of ssh://git.openclonk.org/openclonk 2014-05-02 00:03:05 +02:00
Clonkonaut 964e1a138a Deathmatch goal ends game when all but one player (or team) leave (#893). 2014-05-02 00:01:21 +02:00
Sven Eberhardt 79edc9917a Fix crash on DugOut callback if an unloaded definition is referenced in material Dig2Object. 2014-05-01 17:15:14 +02:00
Clonkonaut bf0d6b7176 Reactivated EditCursorModeToggle key (formerly Space) now set to no key.
Can be set in KeyConfig.txt as requested by Sven2.
2014-05-01 01:17:58 +02:00
Clonkonaut 3d224c1207 Added new callback: DugOut(object object_by).
Called in a new object that is created from digging out material.
2014-05-01 01:04:41 +02:00
Clonkonaut 4d05a01920 Documentation added for DigOutObject callback. 2014-05-01 00:58:11 +02:00
Clonkonaut e9cd8693bd Repaired ice hit sound.
"CrystalHit?" -> "GlassHit?"
2014-04-29 00:26:30 +02:00
Clonkonaut 0de885a0f7 New feat: Use snow or ice to create loam in the foundry.
Two callbacks added:
IsLiquid - return a string with the material that this object consists of.
GetLiquidAmount - return how many material pixels this object is worth.
2014-04-29 00:25:06 +02:00
Clonkonaut 7d85fa410d Made the elevator sound audible again (#1052). 2014-04-27 16:44:35 +02:00
Sven Eberhardt 45f69abb6e Revert engine-side league localization
The engine cannot know about all future league strings. Instead, localize server-side using language id from http request.
2014-04-27 15:42:47 +02:00
Apfelclonk d1170374d0 Document PathFree2 and CoordinateSpace 2014-04-26 19:22:02 +02:00
Apfelclonk 4ecca08a20 Fix scaffold's solid mask 2014-04-26 19:22:02 +02:00
Martin Plicht 9bcb313f3e C4GameScript: Do not use TRUE literal 2014-04-24 12:40:30 +02:00
Maikel de Vries 653b135919 Move contents ejection on death after Death Call
This allows the scripter to access the contents in OnClonkDeath and similar callbacks preventing solutions using effects or static variables.
2014-04-22 20:15:26 +02:00
Maikel de Vries dfc4976e8c Fixed lightning damage for living objects 2014-04-21 19:39:29 +02:00
Sven Eberhardt cd4b3610da Add script function SetPlayerZoom to set zoom factors directly instead of by view range (#1065) 2014-04-21 19:38:05 +02:00
Sven Eberhardt bfd16c77e4 Treasure Hunt: Description and better goal explanation. Some map fixes. 2014-04-21 18:44:07 +02:00
Maikel de Vries fcf560bad3 Fixed IronPeak player view range
... and some small clean ups
2014-04-21 13:15:06 +02:00
Sven Eberhardt fd3934fd77 TreasureHunt: Goal fix and TopOpen=2. 2014-04-21 02:01:36 +02:00
Sven Eberhardt 1d0ebcd3a3 Added mode TopOpen=2: Pixels above landscape are partly free and partly solid depending on corresponding top row map IFT. Analogous to BottomOpen=2. 2014-04-21 02:01:17 +02:00
Sven Eberhardt bddd6d0a01 Fix assertion in SetLeagueProgressData without player ID set 2014-04-20 20:10:53 +02:00
Sven Eberhardt f960567f42 TreasureHunt: Add missing script file 2014-04-20 20:10:13 +02:00
Sven Eberhardt ea11778388 Treasure Hunt: Messages, league adjustments. 2014-04-20 19:37:36 +02:00
Sven Eberhardt 662cb599c2 fix script errors in docs example 2014-04-20 19:32:35 +02:00
Sven Eberhardt 07ee3ee4e1 Objects levitated by TeleGlove do not hit Clonks while they're being held and 5 frames after release.
Previously, the TeleGlove was just stupidly strong for fighting. You can still fling the object and have it hit the enemy after release, but you cannot just follow the enemy to cause permanent tumbling.
2014-04-20 19:04:17 +02:00
Sven Eberhardt b8cd437fc9 Fix C4ID parameters to engine functions. 2014-04-20 18:43:29 +02:00
Sven Eberhardt 4266b370d6 Added script functions SetLeagueProgressData, GetLeagueProgressData, GetLeagueScore and SetLeaguePerformance. 2014-04-20 15:33:36 +02:00
Sven Eberhardt 59c59dd072 Add missing documentation for LogCallStack(). 2014-04-19 22:34:24 +02:00
Sven Eberhardt 445d759a72 Change == and != to do pointer comparison on arrays and proplists (formerly === and !==). Remove === and !=== and introduce function DeepEqual for contents comparison.
There have been some bugs and crashes related to unwanted deep comparison (e.g. in the maze scenario). Scripters very rarely need deep comparison, so it should not be the default for the most commonly used operator.

This also changes behaviour of GetIndexOf to do pointer comparison.

This change has Guenther's seal of approval.
2014-04-19 22:33:31 +02:00
Günther Brammer 04e1c74c05 Merge Call fix commit 2014-04-19 19:02:27 +02:00
Günther Brammer 9941388526 Use pkg-config to get linker flags for SDL_mixer
This makes CMake use the dynamic library instead of the static library on
my system. The latter doesn't link on today's Debian unstable due to a
missing libmad.a.
2014-04-19 19:02:22 +02:00
Günther Brammer 69f64ea341 Store Prototype directly in PropLists, not as a normal property
This is mostly to prevent crashes when prototypes are deleted.

Also change proplist savegame format to not include the constant flag - all
constant proplists are not stored in savegames anymore, but recreated from
the game data. Store the prototype at that position instead.
2014-04-19 19:02:22 +02:00
Günther Brammer 22016e075f Replace some usages of C4ID with C4Def*
In particular those that made the c4script shell depend on C4Id.cpp.
2014-04-19 19:02:22 +02:00
Günther Brammer 88e5608298 Improve grammar in comment 2014-04-19 19:02:22 +02:00
Günther Brammer f8226e3675 Use === to check whether proplists were already replaced 2014-04-19 19:02:22 +02:00
Günther Brammer 64e258f814 Use the bytecode parameter for operators as result modifier flag
Previously, the parameter stored the operator number, but that was
only used for the purpose of optimizing unnecessary inc/dec away.
2014-04-19 19:02:22 +02:00
Günther Brammer 8b927d142c win32: Use stdint.h instead of windows-only compiler extensions 2014-04-19 19:02:22 +02:00
Günther Brammer 082a85228c Script: Constant expressions can access properties of constant proplists 2014-04-19 19:02:22 +02:00
Günther Brammer 4c9f3777c5 Make the script parser a bit more concise
Factor the common if (TokenType != t) UnexpectedToken() into a function.
Write the end-of-list-or-comma as one if and one Match instead of a long
switch-case-statement.
2014-04-19 19:02:22 +02:00
Günther Brammer a840774965 Move FixedRandom to C4Random.cpp
No need to inline this seldomly-called function, or have RandomHold in the
global namespace.
2014-04-19 19:02:21 +02:00
Günther Brammer 604ced638b linux: Crash-handler prints the address that caused the signal if applicable
To do that, switch from the deprecated signal() to sigaction().

Instead of reinstalling the signal handler, only use SA_RESETHAND for the
signals generated by a bug.

Also stop interfering with the coredump functionality of SIGQUIT, but
handle SIGHUP like SIGTERM and SIGINT.
2014-04-19 19:02:21 +02:00
Günther Brammer eed5836838 X11: Get the randr primary output only once
Not that its remotely likely that it changed in the millisecond between the
two requests, but the code is slightly clearer this way.
2014-04-19 19:02:21 +02:00
Günther Brammer 3c5152d3ba Allow Call to call 10-parameter-functions like GameCall again
CheckParTypes now requires that the parameter array passed in is long
enough, just like Exec does. Luckily, FnCall has a ParSet, which is always
long enough.
2014-04-19 19:01:57 +02:00
Sven Eberhardt e30e1a1028 Minor map and object fixes to TreasureHunt. Adjust GemOfPower picture rect. 2014-04-19 00:06:08 +02:00