Commit Graph

3654 Commits (302fa5e362a791be544b0ba7e1a1dd0e9b5ee207)

Author SHA1 Message Date
Lukas Werling 302fa5e362 Qt Editor: Make main loop calls more efficient 2016-06-20 16:56:20 +02:00
Lukas Werling fc10992ab7 Fix crash when starting a game in fullscreen mode 2016-06-20 16:55:23 +02:00
Lukas Werling b853f99b28 Fix -Wc++11-narrowing error in clang 2016-06-20 16:08:37 +02: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 c6e4bfd585 Aul: Add DirectExec method for executing a complete function definition. 2016-06-20 01:37:04 -04:00
Sven Eberhardt e7be7d6acd Qt Editor: Add viewport context menu 2016-06-19 22:45:12 -04:00
Sven Eberhardt 34289fa18a Qt Editor: Add EditorActions.
Replacing the old EditCursorCommands (which nobody knew). Objects now publish their commands directly on the property viewer.
2016-06-19 00:08:09 -04:00
Sven Eberhardt 08b7980d69 Qt Editor: Fix shape relative default 2016-06-18 10:43:00 -04:00
Sven Eberhardt a598dee4e1 Qt Editor: Fix shape delegate parent object when delegate is provided by an effect 2016-06-18 10:41:15 -04:00
Sven Eberhardt 0162b4b21f Qt Editor: Make Relative=true the default for shape delegates.
It should be by far the more common setting.
2016-06-18 10:40:24 -04:00
Sven Eberhardt a7bd20a927 Fix server and utility build
Adding missing C4DefList::SortByPriority() stub
2016-06-18 10:35:54 -04:00
Sven Eberhardt 1b785da271 Fix non-Qt build 2016-06-18 10:33:08 -04:00
Sven Eberhardt 25fa57cabf Qt Editor: Add "Static Flat" landscape mode 2016-06-17 18:44:59 -04:00
Sven Eberhardt ec6998e530 Qt Editor: Fix some crashes and errors when switching between object and definition selection 2016-06-17 01:26:38 -04:00
Sven Eberhardt 2e412d1668 Qt Editor: Fix log output position 2016-06-17 00:56:23 -04:00
Sven Eberhardt b70882d7fa Editor: Object scaling+rotation 2016-06-17 00:07:49 -04:00
Sven Eberhardt f913b4d012 Qt Editor: Highlight objects hovered in object selection delegate in viewport 2016-06-16 16:15:15 -04:00
Sven Eberhardt 2f22a3a8fe Qt Editor: Add property delegate type "object" 2016-06-16 14:59:04 -04:00
Sven Eberhardt 9e4f036fe2 Qt Editor: Focus across columns in property editor 2016-06-16 13:19:35 -04:00
Sven Eberhardt a52857d073 qt editor: Add string delegate 2016-06-16 00:40:25 -04:00
Sven Eberhardt 2df6fdb52b qt editor: Improve grouped enum tree navigation 2016-06-16 00:09:53 -04:00
Sven Eberhardt e5837dc478 Qt Editor: Use definition grouping on "def" property delegate enum 2016-06-15 21:57:59 -04:00
Sven Eberhardt ad863836b3 Qt Editor: Add groups to enum 2016-06-15 00:15:47 -04:00
Lukas Werling 6b958fe88e Fix viewports on high-DPI screens 2016-06-11 22:36:48 +02:00
Lukas Werling 60671474a8 Use Qt's event loop instead of polling for events
This fixes slow input event handling execution on Linux. Additionally,
it seems to fix some crashes with the menu bar.
2016-06-11 21:52:50 +02:00
Sven Eberhardt 0767fd2616 Qt Editor: Auto-add PlayerStart object to scenarios created via "New..." option. 2016-06-08 22:27:32 -04:00
Sven Eberhardt 0bb910814d Qt Editor: Fix display and control of enum delegate parameters 2016-06-08 00:37:48 -04:00
Sven Eberhardt 5e4e6c9f7c Remove a debug log 2016-06-07 19:08:15 -04:00
Sven Eberhardt 397dbd867a Add DefinitionPriority property to control call order of Definition()-callbacks. 2016-06-07 18:22:43 -04:00
Sven Eberhardt f44cb9fa62 Qt Editor: Fix script errors on empty selection 2016-06-06 23:26:20 -04:00
Sven Eberhardt 16e31098b4 Qt Editor: Improve proplist and array display/editing
* Add/Remove element buttons
* Display customization of user delegates
2016-06-06 01:54:05 -04:00
Sven Eberhardt 4d04135cda Fix GetPropertyBool default value when descending into prototype [Guenther] 2016-06-03 20:17:20 -04:00
Sven Eberhardt b10da0629d Qt Editor: More EditorProps types (string, array) and attributes (EditOnSelection, DefaultEditorProp) 2016-06-03 01:20:43 -04:00
Sven Eberhardt af2a74b6ec Qt Editor: Array editing 2016-05-28 09:30:54 -04:00
Sven Eberhardt d304b17028 Qt Editor: Editing of child proplists 2016-05-24 23:06:00 -04:00
Sven Eberhardt 8a5dbdc73f Qt Editor: More shape prop storage options 2016-05-23 19:22:49 -04:00
Sven Eberhardt 747077b71b Qt Editor: Fix effect properties 2016-05-23 19:22:05 -04:00
Sven Eberhardt 881534bee0 Qt Editor: Shape properties 2016-04-25 16:17:10 -04:00
Sven Eberhardt f594737d7e Fix Definition() call order to prevent possible sync loss. 2016-04-16 23:00:31 -04:00
Sven Eberhardt 901399f5c2 MSVC compile warning fix 2016-04-16 22:05:37 -04:00
Sven Eberhardt c0228be4e7 Qt Editor: More editor property types and functionality 2016-04-16 22:05:35 -04:00
Armin Burgmeier 0580132d81 Fix the build on Linux
With NULL, the function call was ambiguous. Use nullptr to choose the overload
taking a pointer and not the one taking an integer.
2016-04-10 13:27:16 -07:00
Armin Burgmeier d04c4a16ae Fix comparing strings of different lengths
Strings should not compare equal if they only share a common prefix.
2016-04-10 13:22:56 -07:00
Armin Burgmeier 208cb12b2e Fix crash on shutdown
a) make sure the context is deselected on destruction, so that
   CStdGL::Clear() destructor doesn't try to deselect a non-existing context.
b) Calling Clear() in CStdGLCtx::~CStdGLCtx() does only call
   CStdGLCtx::Clear(), even though Clear() is virtual. The reason is that by
   the time the CStdGLCtx destructor is executed, the CStdGLCtxQt part of the
   object has already been destructed. Therefore, make CStdGLCtx::Clear() safe
   to be run without the context ever having been initialized, and explicitly
   call CStdGLCtxQt::Clear() in CStdGLCtxQt::~CStdGLCtxQt(). This is certainly
   not the most elegant way to handle this, but it should do the job for now.
2016-04-10 12:06:57 -07:00
Armin Burgmeier cf708a7cb1 Some cleanup in CStdGLCtxQt 2016-04-10 12:06:57 -07:00
Sven Eberhardt 2a2fc68e3f Qt Editor: Add user properties 2016-04-09 14:29:02 -04:00
Lukas Werling de98bbef46 Fix compile errors on Linux/SDL 2016-04-06 19:17:52 +02:00
Sven Eberhardt 879d501592 Merge remote-tracking branch 'remotes/origin/qteditor' into qteditor
Conflicts:
	src/editor/C4ConsoleQtPropListViewer.cpp
	src/editor/C4ConsoleQtPropListViewer.h
	src/script/C4ValueArray.cpp
2016-04-04 19:34:02 -04:00
Sven Eberhardt 98c36e5955 Qt Editor: Implement setting of properties 2016-04-03 23:46:58 -04:00
Sven Eberhardt e8f48fd53e Qt Editor: Win32 build fixes 2016-04-03 23:46:20 -04:00