v0.6.11 - next release - fixed HDMI on Mac, #346, #303; thanks Didier Malenfant patch v0.6.10 - 2023 07 17 - fixed python 3.11 compatibility in setup.py - updated documentation for release, removed now unused tools/autotest - added py39 to TravisCI - fixed W605 DeprecationWarning, invalid escape sequence - simplified running a mix of unittests and other tests, eliminated use of env var cocos_utest v0.6.9 - November 7, 2020 - fix samples/tetrico no sound defect due to pyglet 1.5.8 changes, #338 - fix tiles crash in py39 due to xml removed method, thanks JJ1SLR for bug report - fix custom_clocks compat py2, py34 - euclid bugfixes and two new methods for Vector2: angle_oriented and determinant - eliminated ugly black padding when resizing a window created with autoscale=True - refactor window geometry info in director; also get_window_size now returns real size if autoscale==False - fix custom_clocks broken by pyglet 1.5.3 - removed deprecated features in Director, see compatibility notes in the docs - tmx map can use tilesets with an image per tile (WIP, may need adjustments in layer) - all tmx properties are parsed and loaded with the correct types - fix handling paths in tmx files, covered map to tileset to image - clean termination for test with py38 and pyglet 1.4+. #334 v0.6.8 - January 31, 2020 - removed py 3.4 and 2.7 from testing, added py 3.8 - replaced pyglet_ffmpeg with pyglet_ffmpeg2 (thanks chcarmen) - fixed ColorLayer crash when changing colors, #330, thanks MartinHowarth - unpinned pyglet version, they are releasing fast. accept 1.4 >= 1.4.10, 1.5.x, < 2 v0.6.7 - September 6, 2019 - fixed compatibility with pyglet 1.4.x, needs at least pyglet 1.4.3 v0.6.6 - August 15, 2019 - pip or setuptools will request pyglet >=1.2 and <1.4 - pyglet version checked when importing cocos, terminate if out of range - py 3.3 and py 2.6 support dropped - collision manager honors promises to accept non-known objects, #300 v0.6.5 - August 24, 2017 - First cocos release compatible with pyglet 1.3 (tested against 1.3.0rc1) - Fix cocos.draw compatibility with pyglet master, #288 - Fix Cannot pass keyword args to pyglet.Sprite, #274 - Fix issue HMTLLabel does not show img, #276 - fix bad texture clamping in tiles, crashing sometimes, #272 thanks FluffyInkie v0.6.4 - June 12, 2016 - moved SequenceScene from cocos.utils to cocos.scenes.sequences - clean-up automatic event registration #268, #269 - new interface for easy customize fps stats, #255 - particle systems can have a per-instance custom texture, #264 - fix traceback in test_tmx_hexmap.py with py35, #263 - autocompletion friendly, #261 - fix changes in pyglet.sprite.Sprite properties break cocos Sprites #260 - fix Particle size_var isn't used, #259 - fix RichLabel keyword halign to align, #258 - fix active scene not always the top node in the scenegraph, #254 - fixed ScrollingManager scale makes the image jitter, #253 - * RectMapCollider.collide_map and .do_collision now take dx, dy instead of dy, dx - fixed RectMapCollider stuck sometimes, #238 - * Rect.intersects behavior change: now points on border do not count, only interior ones - support the variants 'csv', 'xml', 'base64(uncompressed)' for .tmx tiles layer data, #243 - fix position for TmxObject when type is 'tile', #245, thanks ottopotto for bug report - fix JumpTiles3D, typo introduced in pep8 refactor bf6dce6d, thanks dossjh - fix tmx tileset num rows - columns with nonzero separation, ( adc7054c7 ) v0.6.3 - April 26, 2015 - support for 'spacing' in .tmx's tilesets - support to load (some) .tmx maps with hexagonal tiles - fixed debug view of tmx object layers v0.6.2 - April 8, 2015 - support collisions between CircleShape and AARectShape in collision_model, #220, thanks Daniel Gillet - support to read .tmx (Tiled Editor) object layers and objects, #215 - deprecated do_not_scale and do_not_scale_window, use autoscale, #214 - fixed access cell properties for HexMap, #237, thanks Ezequiel Pozzo - workaround to some cases of 'unable to share contexts' on Intel gpu, #235 - fixed tmx color problem in py2, thanks Daniel Gillet - fixed InterpreterLayer crash in py3, thanks Gereon Kaiping - PEP8 over the library, thanks Humberto Rocha - PEP8 on some support files, thanks Igor Hatarist - fixed z-order in BatchNode, #213, thanks Nitneroc and MCopperhead - fixed passing a matrix in a uniform to shaders ( 4a7bfb5ca8 ) - fixed Rect.clippedBy ( 0ffd5a37 ) - fixed RandomDelay * n ( 56a5229 ) - fixed * n ( 9b1d950 ) v0.6.0 - March 24, 2014 - removed tiles.ScrollingManager / tiles.ScrollableLayer, they were deprecated compatibility shims of same classes in cocos.layer - added support for gzip compression in .tmx maps, thanks fred@reichbier.de for initial patch, #185 - fix Sprite.get_rect() forgetting about .scale_x and .scale_y - from r1282 cocos needs python 2.6 or 2.7, and the 'six' package =========================================================================== - r1281 is the last revision completely compatible with python 2.4 and 2.5 - EntryMenuItem, callback called before updating the view - documentation subsystem changed to sphinx, #206, ended r1278 - fix particles scaling, #204, thanks hello3171@gmail.com for bugreport - module shaders slightly upgraded, added test_shader_examples.py - fix mouse hit in HexMap, #203 - fix some parts of a HexMap not rendering - #201 , #202 - tilemaps, added persistence of cell color / opacity from / to .xml files - #200 - fix cells in tilemap forgot color / opacity when out of view - #199 - fixes cracks in the render of .tmx maps (thanks 2slow2handle@gmail.com for analysis and patch) - #198 - allow ImageMenuItem to receive a pyglet image as first parameter - #195 - CocosNode, added scale_x , scale_y properties to uneven resize a node - #165 total scale along x axis is _scale_x * _scale total scale along y axis is _scale_y * _scale Don't change scale_x , scale_y from the default 1.0 in ScrollingManager or ScrollableLayer because scrolling and coordinate changes will fail. (thanks Gerardo Marset for discussion and patch) - MapLayer, added tile properties to cell debug view - fix RectMap.get_in_region returns too many cells (thanks Gerardo Marset for bug report, analysis and patch) - #191 - fix Mac crash due to non matching SDL dlls when not using SDL audio (patch by Juan J. Martínez, thanks) #190 v0.5.5 - August 12, 2012 - fix issue 168, now particle textures are propper (this can change visual size for particlers in old code) - fix issue 184, BatchNode now honors the visible flag, patch by corentinglon@gmail.com - particles work even if gl point sprites not available, issue 178 - fix issue 162, grid transitions ending with wrong projection / modelview matrices - fix issue 164, ZoomTransition misbehaves with some hardware - add TMX format tile map loading (generated by the Tiled map editor) - action Blink now leaves the node with the same visible state than on start - removed crashing debug print in action Spawn, issue 173 reported by pascal.lemerrer@gmail.com - fixed issue 76 distorted view for interpreter layer and fps display when using grid transformations - fixed memory leak with ScrollingManager and ScrollableLayer, issue 169 reported by davexunit@gmail.com - TransitionScene now preserves modelview matrix, fixes issue 172 reported by AcidTonic@gmail.com - action operator AccelDeccel calls .update(1.0), fixes issue 171 reported by AcidTonic@gmail.com v0.5.0 - October 26, 2011 - better docs - small upgrade in tiles, see r1156 - collision_manager_model Cshape changed method .touchs_point() -> .touches_point() - emit message in console warning about incompatible change coming in next cocos version ParticleSystem is the target code, see issue 168 - fix trivial compatibility with pyglet repo related to FBOs, issue 170 v0.5rc0 - August 14, 2011 - basic pure python collision support added, see cocos/collision_model.py - fixed __init__ for hexmaps - fixed unpause not working in SDL audio - added test_transitions_with_pop_recipe.py - fixed small bug in TransitionScene when a transition begins amidst another transition - changed implementation detail in code related to scene changes. User code shouldn't notice except if using len(director.scene_stack) - fixed cocos sprites too slow compared to pyglet sprites - issue 159 fixed scene transitions changing some outgoing scene members - issue 160 fixed ZoomTransition traceback when called repeatedly - issue 158 fixed ctrl + x (toggle show_FPS) not hiding the fps display v0.4.0 - September 8, 2010 - fixed compatibility python 2.4 v0.4rc0 - July 7, 2010 - actions subsystem upgraded: now Actions with duration not know in advance are possible, like the ones that terminates on a collision detection condition. Also new Move/BoundedMove/WrappedMove actions for kinematic animation controls - ScrollableLayer and ScrollingManager moved to cocos.layer from cocos.tiles and usable in non-tiled games - cocos.tiles.RectMapCollider provides a skeleton for handling collisions between sprites and rectangular tile maps - recorder: video record your app as a series of .png files, at a desired framerate - axis aligned bounding box (AABB) for sprites - skeleton animation support, also an editor for the animations - optional experimental SDL audio support - more minisamples in the test directories - we begun to do unit tests for some parts ( actions and tilemap basically) - Many bugfixes v0.3.0 - September 5th, 2008 - Added particle systems: Sun, Fire, Fireworks, Meteor, Galaxy, Flower, Exposion, Spiral - Added lerp actions - Applied patch by naveen.michaudagrawal - Applied patch by Kao Cardoso Félix - Applied patch by JeanpierreDA - Fixed Camera "once" locate bug - Many bugfixes - Primitive vector based line drawing. - Tile-map editor v0.3.0rc0 - June 27th, 2008 - Transitions: Added ZoomTransition by Hugo Ruscitti - Fixed Tile Map - Compatible with pyglet 1.1beta2 v0.3.0beta1 - June 2nd, 2008 - Actions: added FadeOutBLTiles, FadeOutUpTiles, FadeOutDownTiles effects - Actions: added SplitCols, SplitRows effects - Actions: renamed FadeOutTiles to FadeOutTRTiles - Actions: added Ripple3D effect - Actions: Waves. parameter horizontal_sin and vertical_sin renamed to hsin and vsin - Actions: renamed ReverseTime to _ReverseTime to prevent massive usage - Actions: camera can be played from current position - CocosNode: on_draw() replaced with draw(). It was conflicting with pyglet's event - CocosNode: renamed push_handlers() / remove_handlers() to push_all_handlers() remove_all_handlers() so that they don't confligt with pyglet.event.Event - CocosNode: added the Camera attribute (removed from Grid object) It is no longer necessary to have an active grid to perform camera actions - Director: default projection is 3D (not glOrtho) - Layer: ColorLayer supports position, height and width - Menu: MultipleMenuItem new API. Toggle and Entry items receives as 2nd argument the callback func (to maintain API coherence) - Sprites: renamed ActionSprite class to Sprite - Transitions: Changed API. There is no need to pass the src scene as a parameter. If omitted, the src scene will be current scene. init( dst, duration=2, src=current_scene) - Transitions: renamed ShrinkAndGrowTransition -> ShrinkGrowTransition - Transitions: renamed ShuffleTilesTransition -> ShuffleTransition - Transitions: renamed CurtainTransition to FadeTRTransition - Transitions: added FadeBLTransition, FadeUpTransition, FadeDownTransition - Transition: added SplitColsTransition, SplitRowsTransition - Transitions: added test for transitions - Samples: added Tetrico, a sample game. Added 'presentation', a sample presentation v0.3.0beta0 - May 5th, 2008 - Actions: actions are defined in the actions/ folder - Actions: Goto renamed to MoveTo and Move renamed to MoveBy Scale renamed to ScaleBy. Added ScaleTo Rotate renamed to RotateBy. Added RotateTo - Actions: Jump renamed to JumpBy. Added JumpTo. Changed the JumpBy/To API. JumpBy( (x,y), height, number_of_jumps, duration) - Actions: Added IntervalAction decorators: Accelerate, AccelDeccel, Speed, ReverseTime - Actions: time can be modified in a whole sequence. eg: Accelerate( sequence ) - Actions: Added a new base class: InstantAction - Actions: every cocosnode support actions. eg: sprites, layers, scenes, etc. - Actions: Added grid (mesh distortion) effects: Liquid, Waves, Shaky3D, ShakyTiles3D, ShuffleTiles, QuadMoveBy, MoveCornerUp, MoveCornerDown, SkewVertical, SkewHorizontal, FlipX, FlipY, Flip, CornerSwap, ShatteredTiles3D, FadeOutTiles, Waves3D, FlipX3D, FlipY3D, Lens3D, JumpTiles3D, WavesTiles3D, Twirl - Actions: Added Waves decorators: AccelAmplitude, DeccelAmplitude, AccelDeccelAmplitude. - Actions: Added camera effects: CameraOrbit - Cocos: Renamed project to cocos2d - Director: Added DefaultHandler: ESCAPE: director.pop MOD_ACCEL + f: Toggles Fullscreen MOD_ACCEL + p: Toggles Pause MOD_ACCEL + w: Toggles wireframe mode MOD_ACCEL + s: Takes a screenshot of the current window MOD_ACCEL + x: Toggles FPS MOD_ACCEL + i: Toggles the python interpreter - Director: alpha blending enabled by default. use director.set_alpha_bleding(True|False) to change. - Documentation: using pyglet's documentation tools - Documentation: started the programming guide in restructured text format (not finished yet) - Documentation: added lots of docstrings to generate API reference guide (not finished yet) - Transitions: Added CurtainTransition, FlipX3DTransition, FlipY3DTransition, FlipAngular3DTransition, TurnOffTilesTransition, RotoZoomTransition, JumpZoomTransition EnvelopeTransition - Layer: (Tiles support): added ScrollableLayer, MapLayer, RectMapLayer, HexMapLayer and more - Layer: splitted in 3 files inside the cocos/layer directory - Layer: added the PythonInterpreterLayer() - Layer: ColorLayer supports changing the opacity & color property in runtime - License: using BSD license now - Install: Added setup.py and setup.cfg contributed by David Eyk - Menu: Added MultipleMenuItem, an item that supports multiple possible values. Contributed by Alejandro Weil (tenuki) - Menu: Added EntryMenuItem, based on patch by David Eyk - Menu: changed API. instead of 'add() and build_items()' use 'create_menu()' - Menu: Added support for actions when an item is selected and/or activated - Samples: added new samples that shows some features of cocos: demo_grid_effects, demo_transitions, demo_sprites, demo_flag3d. - Samples: added hello_world_effects sample - Scenes: Added the cocos/scenes directory. Pause and transitions are there - Sprites: ActionSprite and SpriteGroup added in sprite.py - Tests: added lots of 'unit tests' tests v0.2.0 - March, 21th 2008 - Director: uses the new pyglet 1.1 loop - Director: doesn't have the step() method. Uses on_draw() instead. - Director: enable_alpha_blending() is not called automatically - Scene: does not have the step() method. Uses on_draw() instead. - Layer: step() is called only when it is enabled with Layer.enable_step() - Layer: Removed AnimationLayer. No longer necessary. - Layer: uses Batch.draw() to draw objects. Propagates the message draw() to the objects it contains. - ActionSprite: is a subclass of pyglet.sprite.Sprite - ActionSprite: Move() and Goto() uses (x,y) instead of (x,y,0) - ActionSprite: removed Animate / Animation (part of pyglet.sprite.Sprite ) - ActionSprite: uses pyglet.clock.schedule() to generate a ticker. - ActionSprite: renamed RepeatMode to RestartMode - ActionSprite: Spawn(a,b) + c works as expected - Effect: uses draw() and not step() to draw the layer - Transition: added enable/disable_step(). Uses draw() to draw subscenes and not step() - test/* and samples/* uses the resource.Text and not font.Text - test/* added multiline=True in fonts v0.1.2 - March, 18th 2008 - ActionSprite: Fixed FadeIn - ActionSprite: Spawn(a,b) + c works as expected v0.1.1 - March, 10th 2008 - Moved cocos/path_draw.py and cocos/primitives.py to tools/ (created tools dir) - Added README in tools/ - Added this CHANGELOG file - [fix] added "max(0,..." to IntervalAction since a negative value could occur under certain circumstances - Improved samples/ - Improved Programming Guide - Improved API Reference Guide - Added warning if pyglet version is not v1.0 v0.1.0 - February, 29th 2008 - First public release