-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
119 lines (105 loc) · 8.52 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
2.1.0
New Features
* The engine now uses a new multi-threaded system. Very similar (and partly stolen) from Replica Island. This introduces a lot more flexibility
and some performance boosts (it was never a good idea to have everything in the UI thread, hehe). However you now need to be a bit more
careful about handling your own threading issues. Hopefully I will bring in some helper stuff to simplify and reduce the coding.
* Time now has two timers, one for the game thread, (getLoopTicks) and one for the render thread (getDrawTicks)
* Scene.onAnimationEnd(DrawableObject)
* Scene.onFadeEnd(DrawableObject)
* Scene.onMoveEnd(DimensionalObject)
* DimensionalObject.scaleFromCentre - scales from the centre point, speed (setSpeedX, setSpeedY) also affects this central point
* Scene.onTouchCustom override and return true to implement your own touch handling routines (return true to ignore Rokon internals)
* DrawableObject.stopAnimation()
* Texture.minFilter, magFilter, wrapS, wrapT & envMode - allow modification of parameters when loading textures, change only if you know how
* Scene.getRealX, getRealY - fetch device screen pixel coordinates from game-space positions (with and without Windows)
* Scene.queueUI(delay, Runnable) and queueGame(delay, Runnable) - allows to queue a Runnable with a given delay before executing, in milliseconds
* Texture.getRatio()
* Physics.fromFile and physicsDefToBody() - allows creation and storage of multi-fixture Bodies, whose definitions are loaded from a .json file
Changes
* The MotionEvent stuff has changed, again. An issue arose with using the threading system, and queuing up MotionEvents to be processed.
Now the MotionEvent class is not passed. An extra argument (int action) replaces it. This is required for threading, and should be fine for most uses.
* Sprite.accelerate(acceleration, angle) and setVelocity(velocity, angle) now take degrees, not radians
* RenderQueueManager now has a larger default queue size (400), to avoid 'flashing' noticed in high-sprite-count games
* onTouch(x,y) events are now called before onTouch(Drawable) events. Depending on how you use them, this might cause "unexpected" results,
but this way around allows easy monitoring of whether an object was touched or not.
* disableBack has been removed, and now the back button MUST be handled yourself, and you MUST call finish() to exit
* onKeyDown and onKeyUp are now abstract, and have only 1 parameter; int keyCode
Bug Fixes
* Fixed bug with DrawableObject.fade
* Fixed a problem with Activity lifecycle, onDestroy would be called seconds after finish(). If a new RokonActivity was created quickly, then
the original would wipe everything in garbage collection. This has been remedied - objects are disposed of in finish()
* Looping in RokonMusic is fixed, thanks to malphigian (#135)
* Scene.clear and clearLayer are fixed, thanks to rayjun128 (#134)
* isOnScreen wasn't catching things properly with rotated windows/objects, thanks to [email protected] (#125)
* Bug in animate method, thanks to necroticist (#124)
* Box2D joint bug, thanks to dirk.lueth (#121)
* Multitouch works properly, and backwards compatability is working from 1.5 above, thanks to sresch2009 (#114)
* Engine was spewing out debug info, thanks to Jorenm (#108)
* MathHelper.interects wasn't functioning correctly, thanks to necroticist (#105)
* onTouchReal functions were not giving the correct numbers, thanks to necroticist (#109)
* DynamicTexture, use .refresh() to force the refreshed canvas through
* The UI and Game Runnables weren't being cleared on dispose(), lead to weird bugs if restarting quickly
* queueUI wouldn't work with more than one item in the queue, thanks to lehovecjakub (#155)
* DrawableObject.animate caused problems when using returnToTart, thanks to Joshb86 (#110)
09/07/2010 2.0.3
New Features
* Drawable now has onTouch events within itself
* DrawableObject.getParentLayer() fetches the current Layer
* Scene.toastLong and Scene.toastShort are helpers for showing Toast messages
* Drawable.setZ, Drawable.getZ - for use with new DrawOrder.Z_ORDER
* Drawable.getRotation() fetches rotation, forces override
* MathHelper.pointInShape - determines whether a point is inside a Sprites shape/polygon
* Preferences class, just a helper for SharedPreferences
* Sprite.clearModifiers() clears all current modifiers
* RokonActivity.setGameSize(width, height, force) Can force width/height to remain as given, setGameSize(width, height) now assumes fixed aspect and adjusts
* Scene has a couple of abstract methods that must be overriden, onReady onResume onPause
* Vibrator now has an enable() and disable(), to prevent the phone from being vibrated. The default state, is enabled
* Functionality to load inside a RelativeLayout - to enable a top layer of Views, createEngine(true), then getInterface() for the top RelativeLayout
* Sprite.intersects(Sprite) is a helper to the MathHelper function of the same description
* Automatically disables VBOs on emulator, they are not supported
* Rokon.circle is now a Polygon, but when checked for touch events, will behave as a circle
* DrawableObject.stopFade() stops any current fading animations
* ColourBuffer class and DrawableObject.setColourBuffer - allows colour-by-vertex mode. This isn't stable yet, seems to have some bugs, please don't report them.
Changes
* DrawableObject.isOnScreen() returns FALSE if it is not added to a Layer
* Modifier and some of its methods are now abstract (to force override). The parameters of onStart and onEnd changed
* RokonActivity.getScene() is now static
* RokonMusic is no longer automatically paused/resumed, this must be hanled manually (to allow transition between Activities).
* Scene onTouch methods now pass pointerCount parameter, this is to negate the need for your own wrappers to check if getPointerCount() is available
Bug Fixes
* Drawable is now public, previously was not. This prevented 'onTouch(Drawable' methods from being used
* Point.getY() returned wrong value if it had a parent
* DrawableObjet.setSize did not modify height
* TextSprite was being silly, and was looking for FontTexture intead of TextTexture
* TextSprite NullPointerException fixed when no text given and drawing in PRIORITY_NORMAL
* PhysicalSprite did not take into account current rotaton when creating its Body
* TextureAtlas was overlapping inserted Textures
* Touchables are now checked against their rotated position, previously rotation wasn't considered
* Fixed an issue with the Activity lifecycle, it should now properly reload textures / resume last position in the game when hidden / destroyed
* Now works on the emulator, unsure where the bug was. Somewhere in this update!
* Scene.pausePhysics() and Scene.resumePhysics() now work properly. Previously, it would cause unpredictable stuff in Box2D.
* GameObject.isTouchable() would not take into consideration whether or not the object had been made invisible. Touchables must now be visible to be touched
* Fixed DimensionalObject.move() over-time functions. Would appear to do nothing if only passing X, Y coordinates
* Fixed NullPointerException in TextSprite when added to Scene without calling setText first
* DrawableObject.forceDrawObject wrongly determined VBO support
* Fixed DrawableObject.fade, would not fade from high to low properly
* RokonMusic would not reset properly, causing immediate System.exit()
30/06/10 - 2.0.2
Another quick minor update, sorry for having so many packed together - obviously with the new release came a few unexpected bugs.
The Droid/Milestone bug seems to have been fixed now.
New Features
* Vibrator class, for vibrating the device
* Accelerometer and OnAccelerometerChange classes, for handling accelerometer changes and recognising device shakes
* Scene.setClearColour changes glClearColor to your own values
Changes
* Default glClearColor is now black, instead of blue
Bug Fixes
* Fixed issue with Droid/Milestone. It seems they don't really support VBOs, and hackBrokenDevices wasn't picking that up
* Texture paths would be incorrectly modified if RokonActivity.setGraphicsPath wasn't called
29/06/10 - 2.0.1
A small update, released quickly, it seems the engine wasn't compatable with anything pre-2.2
Should be fixed now, my bad!
Bug Fixes
* Compatability with pre-FroYo, it was a bug with how MotionEvent was used.
29/06/10 - 2.0.0
Initial release of Rokon 2.0.0