Commit Graph

356 Commits

Author SHA1 Message Date
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