richiesams
610eb11824
ZVISION: Prevent variable shadowing
2013-08-28 16:44:24 -05:00
richiesams
84c645968c
ZVISION: Remove ZVision::_mousEvents and all associated functions
...
Instead, pass all mouse events to ScriptManager
2013-08-28 16:44:24 -05:00
richiesams
e3b08793dd
ZVISION: Add ScriptManager mouse event handlers
...
This allows the main engine to pass mouse events to Controls
2013-08-28 16:44:23 -05:00
richiesams
a6b2bb7581
ZVISION: Remove ScriptManager::_activeNodes and change all iterators to iterate over _activeControls
...
We also change _activeControls to a List instead of a HashMap because a List should have
slightly better iteration time.
2013-08-28 16:44:23 -05:00
richiesams
b667002124
ZVISION: Update ScriptManager::enableControl()/disableControl() to fit new Control syntax
2013-08-28 16:44:22 -05:00
richiesams
a1d11054b5
ZVISION: Fix signed/unsigned mismatch
2013-08-28 16:44:22 -05:00
richiesams
e32f6f7e38
ZVISION: Remove extraneous semicolon
2013-08-28 16:44:21 -05:00
richiesams
7fb024c7fc
ZVISION: Change PushToggleControl to comply with new Control base class
2013-08-28 16:44:21 -05:00
richiesams
4d344cb5a8
ZVISION: Change LeverControl to comply with the new Control base class
2013-08-28 16:44:20 -05:00
richiesams
3263ab7390
ZVISION: Modify TimerNode to use Control base class
2013-08-28 16:44:20 -05:00
richiesams
93bc3570ea
ZVISION: Create the default implementation for Control::enable()/disable()
2013-08-28 16:44:19 -05:00
richiesams
52af1f7f10
ZVISION: Bake ActionNode and MouseEvent into Control
...
This makes memory management a lot easier as well as removes the need for
multiple lists that point to the same objects. However, there will be quite a few Controls
that don't need all the functionality of ActionNode and MouseEvent, so the default
implementations are No Op.
2013-08-28 16:44:19 -05:00
richiesams
5e1215837a
ZVISION: Fixed signed/unsigned mismatch
2013-08-28 16:44:18 -05:00
richiesams
ff97bb2ead
ZVISION: Move PushToggleControl and LeverControl to their own files
2013-08-24 01:47:12 -05:00
richiesams
9d8243245c
ZVISION: Fix signed/unsigned mismatch
2013-08-24 01:11:25 -05:00
richiesams
5ff032c27d
ZVISION: Cast completeFrame and frameNumber to int so their difference can go negative
2013-08-24 01:11:10 -05:00
richiesams
af762dc417
ZVISION: Fix signed/unsigned mismatch
2013-08-24 00:32:33 -05:00
richiesams
7d48a3e4b1
ZVISION: Partially implement LeverControl
2013-08-24 00:25:55 -05:00
richiesams
a596d1241c
ZVISION: Add console method to dump all .lev files
2013-08-24 00:25:21 -05:00
richiesams
a9db1e1712
ZVISION: Add note about _activeNodes
2013-08-24 00:25:01 -05:00
richiesams
fc5727c522
ZVISION: Fix memory leak
...
We no longer use SharedPtr
2013-08-24 00:24:43 -05:00
richiesams
0ed7df9a36
ZVISION: Add TODO's about the verbosity of the frame decoding overflow warning
2013-08-24 00:23:44 -05:00
richiesams
d2df3eb24e
ZVISION: Check if we can use getNextFrame() or getPreviousFrame() before using getFrameData()
2013-08-24 00:23:43 -05:00
richiesams
c6242e7134
ZVISION: Fix signed/unsigned mismatch
2013-08-24 00:23:43 -05:00
richiesams
6610ca1b82
ZVISION: Fix error: decrementing instead of incrementing
2013-08-24 00:23:42 -05:00
richiesams
aed38867ce
ZVISION: Change variable name to match its purpose
2013-08-24 00:23:42 -05:00
richiesams
0da3d3e5eb
ZVISION: Convert _mouseEvents to pointers since MouseEvent is now abstract
2013-08-24 00:23:41 -05:00
richiesams
3054489a8b
ZVISION: Have PushToggleControl inherit from MouseEvent and handle the methods internally.
...
Rather than creating an instance of MouseEvent and passing argument around.
2013-08-24 00:23:41 -05:00
richiesams
7095e613d5
ZVISION: Keep a member variable ZVision pointer instead of passing it in every process()
2013-08-24 00:23:40 -05:00
richiesams
2431f60c02
ZVISION: Make Control purely virtual
2013-08-24 00:23:32 -05:00
richiesams
adb3bd7b71
ZVISION: Make MouseEvent purely virtual
2013-08-24 00:11:46 -05:00
richiesams
b28d502288
ZVISION: Convert ScriptManager::_activeNodes to normal pointers instead of SharedPtrs
2013-08-24 00:01:42 -05:00
richiesams
f759584d3b
ZVISION: Make ZVision::_workingWindow and ZVision::_pixelFormat public
2013-08-23 23:50:33 -05:00
richiesams
25f95ebdcd
ZVISION: Implement streaming support for RlfAnimations
2013-08-20 23:05:01 -05:00
richiesams
ca5066db52
ZVISION: Remove static Control::parsePushToggleControl
...
The code was moved to the class PushToggleControl
2013-08-20 23:04:16 -05:00
richiesams
fa7fb2e029
ZVISION: Initialize Puzzle::key and Puzzle::flags
...
Some Puzzles don't have flags, which caused it to never be initialized
2013-08-20 21:26:53 -05:00
richiesams
ac7b2251bb
ZVISION: Delete Puzzles from heap before clearing _activePuzzles
2013-08-20 20:55:00 -05:00
richiesams
8e22af36b7
ZVISION: Add TODO to subtitles
2013-08-20 20:51:00 -05:00
richiesams
35622827f8
ZVISION: Store the Puzzles in _activePuzzles and _globalPuzzles on the heap
...
This allows List::push_back() to not cause a data copy
2013-08-20 20:50:14 -05:00
richiesams
ad5756fa31
ZVISION: Add a destructor to Puzzle
2013-08-20 20:48:34 -05:00
richiesams
aba3ba634c
ZVISION: Add TODO's of what is left for the engine to be complete
2013-08-20 20:29:28 -05:00
richiesams
1251da96e2
ZVISION: Add animation.o and rlf_animation.o to module.mk
2013-08-20 20:28:36 -05:00
richiesams
cf8a8df776
ZVISION: Remove superfluous file
2013-08-20 20:28:00 -05:00
richiesams
9af92b8723
ZVISION: Handle rlf frame transitions internally
...
Animations use incremental frame changes. That is, only a few frames
are complete (I-frames), the rest are just the pixels that change between the current
frame and both the previous frame and the next frame (B-frames). See
https://en.wikipedia.org/wiki/Video_compression_picture_types
2013-08-20 15:55:42 -05:00
richiesams
610b563790
ZVISION: Convert abs() to ABS() to ensure portability
2013-08-20 11:55:08 -05:00
richiesams
6f080b3631
ZVISION: Create keypress event to test rlf animation
2013-08-20 11:41:47 -05:00
richiesams
4bd7951840
ZVISION: Normalize comment alignment
2013-08-20 11:41:46 -05:00
richiesams
94a55024ac
ZVISION: Fix seek() whence argument
2013-08-20 11:41:46 -05:00
richiesams
7dcfa9ef4c
ZVISION: Call RenderManager::update() before ScriptManager::update()
...
This ensures the background will be rendered before anything from Puzzles or Controls
2013-08-20 11:41:45 -05:00
richiesams
6c7303995f
ZVISION: Always update the screen to ensure the mouse continues to render
2013-08-20 11:41:45 -05:00