Sven Eberhardt
6793455119
Add drag_finished parameter to EditCursorMoved callback
2016-11-20 13:14:59 -05:00
Sven Eberhardt
a46ecc7b5b
Editor: Invalidate selection if EditCursorMoved()-callback returned true
...
This allows position-induced shape- or property-changes to be reflected immediately.
2016-11-16 01:11:55 -05:00
Sven Eberhardt
bf9c940aa6
Editor graph delegate: Add edge and vertex properties. Remove graph storage options.
...
The different storage options weren't really needed and would not work with edge and vertex delegates.
2016-11-10 21:43:43 -05:00
Julius Michaelis
7aeec3279c
Fix 75289da
and 55b6713
2016-11-03 13:09:54 +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
Julius Michaelis
75289dabb5
Always Log chat message
2016-11-01 19:26:38 +01:00
Julius Michaelis
376ca5a9df
Prevent using USE_CONSOLE in lib{misc,c4script}
2016-10-22 17:42:23 +02:00
Sven Eberhardt
4b3f8c0fef
Remove EditCursorSelection and EditCursorDeselection callbacks
...
They never worked properly in network mode because all users would see the changes.
EditorProps, EditorActions and shape delegates now provide the functionality to have custom object editing widgets.
This also fixes a bug with the selection callback causing the object list to act up.
2016-10-15 10:06:43 -04:00
Sven Eberhardt
510d91fd00
Editor: Allow movement of HorizontalFix items by holding Shift and on object duplication
2016-10-10 21:46:17 -04:00
Sven Eberhardt
b95d1387a4
Editor: Add "reset to saved scenario" command
2016-09-07 01:53:54 -04:00
Lukas Werling
26a552473c
Add support for two extra mouse buttons (#mantis-is-down-right-now)
...
This also fixes a missing definition for "MiddleDouble". Only
implemented for SDL and Qt, someone else will have to do Windows.
2016-08-18 22:43:42 +02:00
Sven Eberhardt
20f9dbed43
Fix sync loss on InitializePlayers callback
...
It was called too early for remote clients.
2016-08-15 00:51:59 -04:00
Sven Eberhardt
159d0811d6
Fix game coordinates for keyboard controls that request a cursor pos
2016-08-07 11:08:42 -04:00
Sven Eberhardt
e5c6ca990b
Send mouse coordinates directly with control if SendCursorPos is true
2016-08-07 10:48:54 -04:00
Sven Eberhardt
3a6a7aceaa
Qt editor: Fix object selection on EditorAction in network
2016-08-07 01:13:24 -04:00
Sven Eberhardt
5bb204d69b
Qt editor: Fix net menu
...
It didn't work, had the wrong labels and crashed.
2016-08-06 21:12:04 -04:00
Sven Eberhardt
fc24969899
Add EditorPlacementLimit property
...
Limits the number of object instances that can be placed of a given def.
2016-08-06 02:36:53 -04:00
Sven Eberhardt
bce09d272d
Add EditorInitialize callback
2016-08-04 22:12:10 -04:00
Sven Eberhardt
f4ea3359d0
Add InitializePlayers callback after all initial players have joined
2016-07-22 00:13:57 -04:00
Sven Eberhardt
16a770703a
Add IsEditor script function
...
Returns if the host is running in editor (not adjusted in savegames).
2016-07-21 00:24:52 -04:00
Sven Eberhardt
85c5deb099
Qt Editor: Add option to auto-select objects created by an EditorAction
...
To be used by the dialogue so you can press a button on the clonk to add and immediately configure a dialogue.
2016-07-07 01:36:58 -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
44d94d5043
Improve editor duplicate function to duplicate properties and object connections.
...
It serializes objects using a selective SaveScenarioObjects script callback and then just executes the generated script. This automatically saves important properties, connects switches and doors, etc.
This change also solves the problem that duplicating an elevator plus case would create two elevator cases.
If execution fails (e.g. because of script errors or because a non-saveable object was duplicated), the method falls back to the legacy duplication method of creating objects with the same prototypes at the same position.
2016-06-20 01:45:26 -04:00
Sven Eberhardt
25fa57cabf
Qt Editor: Add "Static Flat" landscape mode
2016-06-17 18:44:59 -04:00
Sven Eberhardt
b70882d7fa
Editor: Object scaling+rotation
2016-06-17 00:07:49 -04:00
Sven Eberhardt
747077b71b
Qt Editor: Fix effect properties
2016-05-23 19:22:05 -04:00
Günther Brammer
3e5d982475
Allow modifications to Scenario local vars from /script
2016-05-15 15:17:17 +02:00
Lukas Werling
e33066a4f2
Rename SafeRandom() to UnsyncedRandom()
2016-04-25 17:32:23 +02:00
Lukas Werling
0fefc7abae
Merge branch 'pcg'
2016-04-21 20:47:34 +02:00
Lukas Werling
7005eae55d
Use PCG as random number generator
2016-04-20 22:42:00 +02:00
Sven Eberhardt
f41d3b8869
Fix out-of-bounds memory access in C4Team [sphalerite] #1717
2016-04-19 21:16:47 -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
0537df5f23
C4Object: Move C4Def.h dep out of header
...
C4Def is only ever used as a pointer inside C4Object.h, so we don't need
to include C4Def.h from it.
2016-04-03 13:24:26 +02:00
Nicolas Hake
735f9cc06b
C4Landscape: Pull everything private out of the header
...
Since LTCG is enabled now, we don't have to define every function inside
the headers for ~xXx super speed xXx~, which means we can strip the
headers down to their bare minimum and reduce interdependencies and
therefore recompilation times by a lot.
2016-04-03 13:24:24 +02:00
Sven Eberhardt
ed0647866e
Qt Editor: Add preview for new object placement
2016-03-19 14:40:22 -04:00
Sven Eberhardt
80549ca2cc
Qt Editor: Add object creator
2016-03-06 13:06:29 -05:00
Lukas Werling
8811356141
Make C4GamePadControl manage all controllers
...
The available gamepads are distributed automatically among players.
This also implements controller hot-plugging: It is possible to start a
game without a controller and plug it in later, and to reconnect a
controller after plugging it out.
2016-02-23 17:06:59 +01:00
Lukas Werling
9e0143b998
Remove gamepad ids from key codes
...
We want one gamepad key mapping to work with multiple gamepads, so
including the id there doesn't make sense.
Additionally, the gamepad id may change during the game (controller
hot-plugging).
2016-02-21 18:27:02 +01:00
Lukas Werling
985f1b99e5
Make GetPlayerControlState() query the current controller state
...
To keep compatibility with scripts which expect only binary buttons,
this adds a third parameter to the function which enables the new
functionality.
Bonus /script to test the controller stick x axis:
Schedule(GetCursor(), "Message(\"%d / %d\", GetPlayerControlState(0, CON_Left, true), GetPlayerControlState(0, CON_Right, true))", 10, 100000000)
Note that the values will be inconsistent if multiple analog sticks are
bound to the same control, as values from one stick will overwrite those
from the other one. This can happen even if you move only one stick.
2016-02-21 18:26:44 +01:00
Lukas Werling
8dd1450e94
Implement "gamepad stick moved" events for analog input
...
Analog moved events are only sent once per control frame.
2016-02-21 18:26:18 +01:00
Sven Eberhardt
a4d28c383b
Qt Editor: Implement object list view
2016-02-18 00:11:35 -05:00
Lukas Werling
9c840724f2
Re-enable gamepad controls
2016-02-13 18:42:23 +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
03d11cd596
Merge script branch
2016-01-31 21:51:58 +01:00
Günther Brammer
d3428003a8
Fix navigation in player menus with more than one column/row
2016-01-30 16:03:22 +01:00
Sven Eberhardt
36489145b6
Fix automatic engine detection of melee-like scenarios to allow team selection.
2016-01-24 22:13:21 -05:00
Günther Brammer
68c436576e
Simplify construction of C4AulParSets
2016-01-25 00:00:57 +01:00