Commit graph

427 commits

Author SHA1 Message Date
f1ec2cf18c Optimizer - Gather variable/resource uses
First step to build the UD chains.
2017-12-03 23:15:44 +01:00
b6f9d06be0 Optimizer - Control flow graph construction 2017-12-03 18:35:56 +01:00
c7e4ccf67e Builder tool - Various, pre-constant propagation
+ Prepared flags for constant propagation
+ UI instructions removal in compiler
+ Various changes to test "demo"
2017-12-03 14:59:39 +01:00
c4ce6e90d7 Builder tool - Logging
Added logging using F_OPLogger wherever there were traces.
2017-12-03 13:05:54 +01:00
da0d419fab Env - Fixed vim test command 2017-12-03 12:33:22 +01:00
764048e423 Added silly curves to test "demo" 2017-12-03 10:29:23 +01:00
64629560cc Moved test "demo" to separate directory 2017-12-03 10:23:37 +01:00
dcd149eee5 Builder tool - Load curves and configure optimizer 2017-12-03 10:22:36 +01:00
68ca08ceba Curves - Loader/writer separated from manager
The goal being to re-use the loader in the builder tool.
2017-12-03 10:06:49 +01:00
d77943f953 Demo building - Build configurations 2017-12-02 18:38:34 +01:00
10361fec4f Builder tool - Command line arguments 2017-12-02 14:59:20 +01:00
3986bd5386 Builder tool - Logging 2017-12-02 12:18:31 +01:00
ffcf2917d5 Optimizer - Replace curve-less inputs with single default 2017-12-02 10:40:47 +01:00
f1b51f564d Optimizer - Errors when folding bad operations
Errors will be added to an array if the optimizer finds invalid
operations involving constants (e.g. (inv 0))
2017-12-02 10:07:14 +01:00
e5a7d2e722 Corelib updated 2017-12-02 09:17:41 +01:00
3de17b918d Optimizer - Replace constant inputs with constants 2017-12-01 23:08:05 +01:00
8f21177058 Optimizer - Partial constant folding
Handles:
* size vars in fixed size mode,
* unary operators with constant argument,
* binary operators with constant arguments.

Doesn't handle as of yet:
* constant inputs,
* folding chained, compatible binary operators, e.g. (X-2)+(3-Y)
2017-12-01 22:10:36 +01:00
0175bed077 Optimizer - Began working on constant folding 2017-12-01 07:30:03 +01:00
59b23de5ed Parser - Fixed problem with unused functions 2017-11-30 17:56:37 +01:00
3aeac7980e TODO list update 2017-11-30 17:31:24 +01:00
daf885cd20 Sequencer - Fixed point deletion button 2017-11-30 14:09:40 +01:00
99d9e5c7eb Removed "forced" sequencer window 2017-11-30 13:58:54 +01:00
0faade7a8d Removed test curves 2017-11-30 13:58:33 +01:00
3939a9e560 Sequencer - Fixed a crash on override track clearing 2017-11-30 13:52:50 +01:00
7f6db48a61 Sequencer - Improved point d'n'd 2017-11-30 12:36:22 +01:00
99f6862138 Sequencer - Unified drag'n'drop handling
Until now the various types of drag'n'drop were handled separately and
could very possibly interfere with each other. This fixes the problem by
using a single variable for the current type (if any) of drag'n'drop
2017-11-30 12:10:59 +01:00
eb7bd8bcbe Sequencer - Full titles for overrides 2017-11-30 11:25:20 +01:00
6348cbb18f TODO list updated 2017-11-30 11:09:41 +01:00
49acb73e26 Sequencer - Buttons to switch info windows
If a segment is selected, one can switch between the track and segment
info windows.
If a point is selected, one can switch between track, segment and point
info windows.
2017-11-30 10:23:53 +01:00
b30e361fd3 Sequencer - Auto-select tracks button 2017-11-30 10:13:37 +01:00
06b7a0949f Sequencer - Button to clear selected tracks 2017-11-30 09:41:27 +01:00
be4bbe4095 Sequencer - Remember open track selection tab 2017-11-30 09:35:47 +01:00
2c7fd87c48 Sequencer - Minor changes to toolbar 2017-11-30 09:31:55 +01:00
b284c2ecc2 UI utilities - Toolbar buttons can be used as toggles 2017-11-30 09:28:20 +01:00
382138e5d2 Sequencer - Track labels 2017-11-30 09:18:13 +01:00
048cc1c966 Sequencer - Different colors when tracks are hovered 2017-11-30 07:12:58 +01:00
6bae9ca7a4 Sequencer - Fixed zoom to beginning
Caused a crash due to startPos being negative
2017-11-30 06:59:36 +01:00
551bd56982 Sequencer - Override data copy/paste 2017-11-29 16:36:18 +01:00
14899a530d Sequencer - Almost working support for overrides! 2017-11-29 16:07:20 +01:00
88333850b1 Overrides - Preparing support for sequencer 2017-11-29 14:08:25 +01:00
78d15dd350 Sequencer - Moving points (overrides support) 2017-11-29 12:44:36 +01:00
0106529e96 Sequencer - Point insertion/deletion
Also selecting a point no longer explodes.
2017-11-29 11:37:47 +01:00
82100cecc4 Sequencer - Segment management for overrides 2017-11-29 10:23:24 +01:00
9a15267749 Sequencer - Fixed track selection
Overrides / single inputs were not preventing each other from being
added anymore.
2017-11-29 07:23:36 +01:00
57c5b6569c Sequencer - "Append segment" / "Clear" for overrides 2017-11-29 07:20:22 +01:00
05c9580e71 Sequencer - Work in progress on override support 2017-11-28 22:10:10 +01:00
9f44f119dd Sequencer - Selected input/overrides in same structure 2017-11-28 18:57:27 +01:00
d32d5e7365 Sequencer - Preparing for overrides support
Added a TrackID structure and used it where appropriate.
2017-11-28 16:47:35 +01:00
6557d369eb Sequencer - Selecting inconsistent overrides
If an inconsistent override (i.e. an override that has segments of
different lengths or durations) is selected, it will be modified in
order to make it consistent. Also, if some (but not all) of the inputs
are missing segments or points, they will be added.
2017-11-28 15:17:34 +01:00
5080866cbe Sequencer - Identify overrides where inputs would cause trouble 2017-11-28 10:42:04 +01:00