Commit Graph

8631 Commits (76f971e9d97d5ecb490b327170fb4c23634c5870)
 

Author SHA1 Message Date
David Dormagen 76f971e9d9 interaction highlight: limit highlight's Plane for objects behind the Clonk
Otherwise, a catapult might appear to shine through the Clonk. This might look odd.
For objects in front the the Clonk, the GUI-Plane is kept.
2016-02-08 12:35:42 +01:00
David Dormagen c6da7d54aa interaction highlight: create selector particle with a slight delay
Only on first selection, though.
http://forum.openclonk.org/topic_show.pl?pid=31112#pid31112
2016-02-08 12:31:54 +01:00
Nicolas Hake 5fe327663f Fix signed int overflow in BltAlpha (#1661)
The red color channel calculation could overflow into the sign bit,
which is undefined behavior. At least one compiler takes advantage of
this and assumes it cannot happen, resulting in incorrect results.

BltAlphaAdd looks similar, but does in fact not have this bug because it
shifts the color channel far enough that multiplication can't overflow.
2016-02-08 02:39:54 +01:00
Nicolas Hake 4fdafbc78a Move StdColors.h ref from C4Surface.h to files that actually need it
C4Surface.h doesn't require anything from StdColors.h, so there's no
reason to reference the latter there.
2016-02-08 02:13:18 +01:00
Sven Eberhardt c9d3cd7417 Add MeltingCastle team melee 2016-02-07 17:21:14 -05:00
Maikel de Vries 1ebdc31182 add tutorial 6
Still intro, outro and some NPCs missing.
2016-02-07 21:29:27 +01:00
Maikel de Vries 2a4fa85583 tutorials: fix some descriptions and control strings 2016-02-07 21:29:27 +01:00
Sven Eberhardt 8273dcdf45 Fix cargo attachment vertex in balloon 2016-02-07 14:49:05 -05:00
Sven Eberhardt 3d3e848aeb Target balloon: Allow deployment of any items. 2016-02-07 14:27:51 -05:00
Sven Eberhardt 35fcc0ff51 Fix scenario saving of array-typed visibility. Fix ItemSpawn saving and spawn def re-setting. 2016-02-07 13:21:01 -05:00
Sven Eberhardt ef032c60fa ItemSpawn: Simplify script, add team-only spawns, add scenario saving and add sound on collection.
The script now just sets visibility per player (VIS_Select) instead of creating one dummy object per player. It also uses the object directly instead of indirecting everything through an effect (the effect couldn't be used on other objects anyway).
2016-02-07 12:21:13 -05:00
Sven Eberhardt 79897ce777 Move ItemSpawn from Aerobatics to main Objects. 2016-02-07 10:43:24 -05:00
David Dormagen 28ffc3d3b1 Library_Constructor: use normal single-use instead of holding-use
..because the library wasn't actually USING the holding callback at all. And it had/has its own CON_Aim hackery anyway. No need for the control-library internal CON_Aim stuff then (I could imagine this might just lead to issues at some point).
2016-02-07 10:47:33 +01:00
David Dormagen d9760cdab6 controls: properly set noholdingcallbacks to false when using ControlUseStart (#1327)
Otherwise the situation could arise where you used a ControlUseStart object (the wallkit) but noholdingcallbacks was still set to true (because e.g. you used a hammer before). Then you would not be able to move the preview.
This is described in a comment to the referenced bug.
2016-02-07 10:47:33 +01:00
David Dormagen 59739b5cf6 script GUIs: do not catch mouse-up without prior mouse-down (#1327)
Otherwise, you could open a menu on mouse-down, which would then block the mouse-up event. The control system (not the script but the engine!) would then never know that the button was released and issue a key event with repeated=1 when you pressed the button the next time.
This could lead to issues.
2016-02-07 10:47:33 +01:00
Maikel de Vries 148b217003 jet stream: do not attempt to move stuck objects 2016-02-07 10:24:36 +01:00
Maikel de Vries a44b759472 snap digging angle to straight lines with 5 degree margin 2016-02-07 10:24:36 +01:00
Maikel de Vries 978b236596 clean up shovel script 2016-02-07 10:24:36 +01:00
Maikel de Vries 145b902f65 correctly handle SetDir for the catapult
Ideally the script is fully changed to correctly use dir.
2016-02-07 10:19:11 +01:00
Maikel de Vries 0a928d4a11 tutorials: various small fixes 2016-02-07 10:19:11 +01:00
Sven Eberhardt 1e5b04e2d1 WallKit preview: Add function to update independent of position. 2016-02-06 23:53:45 -05:00
Sven Eberhardt d213115103 Add function to CTF flag to disable pickup.
To be used by scenarios that use the flag differently.
2016-02-06 22:45:53 -05:00
Sven Eberhardt 775533a8da Catapult and cannon: Add functions to rotate instantly.
Useful for scenario designers.
2016-02-06 22:45:14 -05:00
Sven Eberhardt 439b1f481c Register Objects.c script as global constant to make it accessible from outside 2016-02-06 21:12:22 -05:00
Sven Eberhardt 43451a4242 HotIce: Lower spawn position on explosive mode with small islands 2016-02-06 20:40:44 -05:00
Günther Brammer b129e5f210 gtk: Remove unused variable 2016-02-06 23:48:13 +01:00
Günther Brammer 23d34f75ec Remove some dead graphics code 2016-02-06 23:46:58 +01:00
Günther Brammer 2434b22b20 Improve SDL2 OpenGL context error message 2016-02-06 23:46:58 +01:00
Sven Eberhardt 44121a00eb MAPALGO_Scale: Fix scaling coordinates for common case of blitting scaled surfaces from one surface to another. 2016-02-06 16:10:34 -05:00
Günther Brammer 4b4b8781a0 Make GTK+ and SDL2 work together
If the gamepad code initialized the SDL video subsystem, GTK+ crashed in
libX11. Or something along those lines.

Making the optional subsystems using SDL for gamepads and audio use
SDL_InitSubSystem and only the SDL Application port do the full SDL_Init
is the proper way to do things in any case.
2016-02-06 21:12:56 +01:00
Sven Eberhardt 623f838799 Add sounds: Hits::BucketHit*, Structures::DoorOpen*, Structures::DoorClose* by ala 2016-02-06 14:37:18 -05:00
Günther Brammer 32d8d0db76 Finish the update from SDL_Mixer to SDL2_Mixer 2016-02-06 17:28:15 +01:00
Günther Brammer 408dfff96e Fix indentation of the KeyCodeMap table
It used a mix of tabs and spaces for indentation, and tabs to separate the
columns, which doesn't work with variable tab sizes and variable column
widths. Use tabs for indentation and spaces for column separation.
2016-02-06 16:50:47 +01:00
Günther Brammer 934b519bb4 Update the SDL port to SDL2
SDL2 is a much closer match to the other platform code, and
allows the creation of OpenGL 3 core contexts, which is
now required.
2016-02-06 16:48:21 +01:00
Günther Brammer 1010732ba8 Fix the SDL build 2016-02-06 16:47:56 +01:00
Günther Brammer 59e5a327b2 gtk: Add support for microsoft windows 2016-02-06 16:47:44 +01:00
Günther Brammer 487277b58d WGL: Stop caching the window handle in the GL context 2016-02-06 15:54:47 +01:00
Günther Brammer 263b3bf909 CMake: Remove USE_CONSOLE remnant
The code was from the time where the dedicated server was an alternative
toolkit, not a separate build target.
2016-02-06 15:54:47 +01:00
David Dormagen a13a9036a5 shovel: changed GetModifiedDigSpeed to GetDigSpeed
Half of the callback's work was done outside (fetching the target speed) for no good reason. It's now all done in the callback, making it less weird.
2016-02-05 21:06:30 +01:00
David Dormagen 71fa846016 Zaphive: now C4D_Object + DFA_ATTACH instead of C4D_StaticBack (#1653)
Which means that you can
1) Drag around the tree / nest in editor mode
2) Shoot zapnests that were put into a catapult by a scenario designer
3) Can RemoveObject a tree and the nest will fall down (instead of keep floating)
4) Can put zap nests in earth (just like in CR!)
2016-02-04 20:07:48 +01:00
Maikel de Vries 0ac6093b1a improvements to gem grabbers
- bats as a challenge
- less gem mining on normal
- everrock on insane
- basements for shipyard and inventors lab
2016-02-04 17:53:59 +01:00
Maikel de Vries 456678afbd add new items to worlds knowledge 2016-02-04 17:52:21 +01:00
Maikel de Vries e4095fb77b bat: placement option for tunnel only 2016-02-04 13:31:44 +01:00
Maikel de Vries ca3bf5e5cd only structures should have Exclusive=1
Otherwise these objects would block new constructions
2016-02-04 13:29:38 +01:00
Maikel de Vries 879048c366 show projectile trajectory preview for the grenade launcher 2016-02-03 19:49:23 +01:00
Maikel de Vries 17fae9c77b add GetSpeed counterpart to SetSpeed 2016-02-03 14:49:05 +01:00
Sven Eberhardt 92e03d8fdd Remove unused variable in C4ControlScript::Execute() 2016-02-02 21:51:51 -05:00
Günther Brammer e5f75c5a44 Remove a bunch of dead code, mostly player control related 2016-02-03 03:17:23 +01:00
Günther Brammer 52de8900dd Script: Remove PlayerObjectCommand 2016-02-03 03:17:22 +01:00
Günther Brammer 70d25b0b91 gtk: Fold contents of C4AppGTKImpl.h into C4AppGTK.cpp
C4WindowGTK.cpp no longer needs anything from it.
2016-02-03 03:17:16 +01:00